Compare commits
2 Commits
mv/synapse
...
erikj/repl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11149c89c7 | ||
|
|
40c4cfbfb1 |
@@ -6,7 +6,7 @@
|
||||
set -ex
|
||||
|
||||
apt-get update
|
||||
apt-get install -y python3.5 python3.5-dev python3-pip libxml2-dev libxslt-dev xmlsec1 zlib1g-dev tox
|
||||
apt-get install -y python3.5 python3.5-dev python3-pip libxml2-dev libxslt-dev zlib1g-dev tox
|
||||
|
||||
export LANG="C.UTF-8"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,10 +1,41 @@
|
||||
# This file serves as a blacklist for SyTest tests that we expect will fail in
|
||||
# Synapse when run under worker mode. For more details, see sytest-blacklist.
|
||||
|
||||
Message history can be paginated
|
||||
|
||||
Can re-join room if re-invited
|
||||
|
||||
The only membership state included in an initial sync is for all the senders in the timeline
|
||||
|
||||
Local device key changes get to remote servers
|
||||
|
||||
If remote user leaves room we no longer receive device updates
|
||||
|
||||
Forgotten room messages cannot be paginated
|
||||
|
||||
Inbound federation can get public room list
|
||||
|
||||
Members from the gap are included in gappy incr LL sync
|
||||
|
||||
Leaves are present in non-gapped incremental syncs
|
||||
|
||||
Old leaves are present in gapped incremental syncs
|
||||
|
||||
User sees updates to presence from other users in the incremental sync.
|
||||
|
||||
Gapped incremental syncs include all state changes
|
||||
|
||||
Old members are included in gappy incr LL sync if they start speaking
|
||||
|
||||
# new failures as of https://github.com/matrix-org/sytest/pull/732
|
||||
Device list doesn't change if remote server is down
|
||||
Remote servers cannot set power levels in rooms without existing powerlevels
|
||||
Remote servers should reject attempts by non-creators to set the power levels
|
||||
|
||||
# https://buildkite.com/matrix-dot-org/synapse/builds/6134#6f67bf47-e234-474d-80e8-c6e1868b15c5
|
||||
Server correctly handles incoming m.device_list_update
|
||||
|
||||
# this fails reliably with a torture level of 100 due to https://github.com/matrix-org/synapse/issues/6536
|
||||
Outbound federation requests missing prev_events and then asks for /state_ids and resolves the state
|
||||
|
||||
Can get rooms/{roomId}/members at a given point
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
version: 2.1
|
||||
version: 2
|
||||
jobs:
|
||||
dockerhubuploadrelease:
|
||||
docker:
|
||||
- image: docker:git
|
||||
machine: true
|
||||
steps:
|
||||
- checkout
|
||||
- docker_prepare
|
||||
- run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:${CIRCLE_TAG} .
|
||||
- run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
||||
# for release builds, we want to get the amd64 image out asap, so first
|
||||
# we do an amd64-only build, before following up with a multiarch build.
|
||||
- docker_build:
|
||||
tag: -t matrixdotorg/synapse:${CIRCLE_TAG}
|
||||
platforms: linux/amd64
|
||||
- docker_build:
|
||||
tag: -t matrixdotorg/synapse:${CIRCLE_TAG}
|
||||
platforms: linux/amd64,linux/arm/v7,linux/arm64
|
||||
|
||||
- run: docker push matrixdotorg/synapse:${CIRCLE_TAG}
|
||||
dockerhubuploadlatest:
|
||||
docker:
|
||||
- image: docker:git
|
||||
machine: true
|
||||
steps:
|
||||
- checkout
|
||||
- docker_prepare
|
||||
- run: docker build -f docker/Dockerfile --label gitsha1=${CIRCLE_SHA1} -t matrixdotorg/synapse:latest .
|
||||
- run: docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
|
||||
# for `latest`, we don't want the arm images to disappear, so don't update the tag
|
||||
# until all of the platforms are built.
|
||||
- docker_build:
|
||||
tag: -t matrixdotorg/synapse:latest
|
||||
platforms: linux/amd64,linux/arm/v7,linux/arm64
|
||||
- run: docker push matrixdotorg/synapse:latest
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build:
|
||||
jobs:
|
||||
- dockerhubuploadrelease:
|
||||
@@ -42,37 +29,3 @@ workflows:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
|
||||
commands:
|
||||
docker_prepare:
|
||||
description: Sets up a remote docker server, downloads the buildx cli plugin, and enables multiarch images
|
||||
parameters:
|
||||
buildx_version:
|
||||
type: string
|
||||
default: "v0.4.1"
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
# 19.03.13 was the most recent available on circleci at the time of
|
||||
# writing.
|
||||
version: 19.03.13
|
||||
- run: apk add --no-cache curl
|
||||
- run: mkdir -vp ~/.docker/cli-plugins/ ~/dockercache
|
||||
- run: curl --silent -L "https://github.com/docker/buildx/releases/download/<< parameters.buildx_version >>/buildx-<< parameters.buildx_version >>.linux-amd64" > ~/.docker/cli-plugins/docker-buildx
|
||||
- run: chmod a+x ~/.docker/cli-plugins/docker-buildx
|
||||
# install qemu links in /proc/sys/fs/binfmt_misc on the docker instance running the circleci job
|
||||
- run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# create a context named `builder` for the builds
|
||||
- run: docker context create builder
|
||||
# create a buildx builder using the new context, and set it as the default
|
||||
- run: docker buildx create builder --use
|
||||
|
||||
docker_build:
|
||||
description: Builds and pushed images to dockerhub using buildx
|
||||
parameters:
|
||||
platforms:
|
||||
type: string
|
||||
default: linux/amd64
|
||||
tag:
|
||||
type: string
|
||||
steps:
|
||||
- run: docker buildx build -f docker/Dockerfile --push --platform << parameters.platforms >> --label gitsha1=${CIRCLE_SHA1} << parameters.tag >> --progress=plain .
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -21,7 +21,6 @@ _trial_temp*/
|
||||
/.python-version
|
||||
/*.signing.key
|
||||
/env/
|
||||
/.venv*/
|
||||
/homeserver*.yaml
|
||||
/logs
|
||||
/media_store/
|
||||
|
||||
904
CHANGES.md
904
CHANGES.md
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ locally. You'll need python 3.6 or later, and to install a number of tools:
|
||||
|
||||
```
|
||||
# Install the dependencies
|
||||
pip install -e ".[lint,mypy]"
|
||||
pip install -e ".[lint]"
|
||||
|
||||
# Run the linter script
|
||||
./scripts-dev/lint.sh
|
||||
@@ -63,10 +63,6 @@ run-time:
|
||||
./scripts-dev/lint.sh path/to/file1.py path/to/file2.py path/to/folder
|
||||
```
|
||||
|
||||
You can also provide the `-d` option, which will lint the files that have been
|
||||
changed since the last git commit. This will often be significantly faster than
|
||||
linting the whole codebase.
|
||||
|
||||
Before pushing new changes, ensure they don't produce linting errors. Commit any
|
||||
files that were corrected.
|
||||
|
||||
@@ -156,24 +152,6 @@ directory, you will need both a regular newsfragment *and* an entry in the
|
||||
debian changelog. (Though typically such changes should be submitted as two
|
||||
separate pull requests.)
|
||||
|
||||
## Documentation
|
||||
|
||||
There is a growing amount of documentation located in the [docs](docs)
|
||||
directory. This documentation is intended primarily for sysadmins running their
|
||||
own Synapse instance, as well as developers interacting externally with
|
||||
Synapse. [docs/dev](docs/dev) exists primarily to house documentation for
|
||||
Synapse developers. [docs/admin_api](docs/admin_api) houses documentation
|
||||
regarding Synapse's Admin API, which is used mostly by sysadmins and external
|
||||
service developers.
|
||||
|
||||
New files added to both folders should be written in [Github-Flavoured
|
||||
Markdown](https://guides.github.com/features/mastering-markdown/), and attempts
|
||||
should be made to migrate existing documents to markdown where possible.
|
||||
|
||||
Some documentation also exists in [Synapse's Github
|
||||
Wiki](https://github.com/matrix-org/synapse/wiki), although this is primarily
|
||||
contributed to by community authors.
|
||||
|
||||
## Sign off
|
||||
|
||||
In order to have a concrete record that your contribution is intentional
|
||||
|
||||
11
INSTALL.md
11
INSTALL.md
@@ -57,7 +57,7 @@ light workloads.
|
||||
System requirements:
|
||||
|
||||
- POSIX-compliant system (tested on Linux & OS X)
|
||||
- Python 3.5.2 or later, up to Python 3.9.
|
||||
- Python 3.5.2 or later, up to Python 3.8.
|
||||
- At least 1GB of free RAM if you want to join large public rooms like #matrix:matrix.org
|
||||
|
||||
Synapse is written in Python but some of the libraries it uses are written in
|
||||
@@ -487,7 +487,7 @@ In nginx this would be something like:
|
||||
```
|
||||
location /.well-known/matrix/client {
|
||||
return 200 '{"m.homeserver": {"base_url": "https://<matrix.example.com>"}}';
|
||||
default_type application/json;
|
||||
add_header Content-Type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
}
|
||||
```
|
||||
@@ -557,9 +557,10 @@ This is critical from a security perspective to stop arbitrary Matrix users
|
||||
spidering 'internal' URLs on your network. At the very least we recommend that
|
||||
your loopback and RFC1918 IP addresses are blacklisted.
|
||||
|
||||
This also requires the optional `lxml` python dependency to be installed. This
|
||||
in turn requires the `libxml2` library to be available - on Debian/Ubuntu this
|
||||
means `apt-get install libxml2-dev`, or equivalent for your OS.
|
||||
This also requires the optional `lxml` and `netaddr` python dependencies to be
|
||||
installed. This in turn requires the `libxml2` library to be available - on
|
||||
Debian/Ubuntu this means `apt-get install libxml2-dev`, or equivalent for
|
||||
your OS.
|
||||
|
||||
# Troubleshooting Installation
|
||||
|
||||
|
||||
65
README.rst
65
README.rst
@@ -1,6 +1,10 @@
|
||||
=========================================================
|
||||
Synapse |support| |development| |license| |pypi| |python|
|
||||
=========================================================
|
||||
================
|
||||
Synapse |shield|
|
||||
================
|
||||
|
||||
.. |shield| image:: https://img.shields.io/matrix/synapse:matrix.org?label=support&logo=matrix
|
||||
:alt: (get support on #synapse:matrix.org)
|
||||
:target: https://matrix.to/#/#synapse:matrix.org
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -256,27 +260,23 @@ directory of your choice::
|
||||
Synapse has a number of external dependencies, that are easiest
|
||||
to install using pip and a virtualenv::
|
||||
|
||||
python3 -m venv ./env
|
||||
source ./env/bin/activate
|
||||
pip install -e ".[all,test]"
|
||||
virtualenv -p python3 env
|
||||
source env/bin/activate
|
||||
python -m pip install --no-use-pep517 -e ".[all]"
|
||||
|
||||
This will run a process of downloading and installing all the needed
|
||||
dependencies into a virtual env. If any dependencies fail to install,
|
||||
try installing the failing modules individually::
|
||||
dependencies into a virtual env.
|
||||
|
||||
pip install -e "module-name"
|
||||
|
||||
Once this is done, you may wish to run Synapse's unit tests to
|
||||
check that everything is installed correctly::
|
||||
Once this is done, you may wish to run Synapse's unit tests, to
|
||||
check that everything is installed as it should be::
|
||||
|
||||
python -m twisted.trial tests
|
||||
|
||||
This should end with a 'PASSED' result (note that exact numbers will
|
||||
differ)::
|
||||
This should end with a 'PASSED' result::
|
||||
|
||||
Ran 1337 tests in 716.064s
|
||||
Ran 143 tests in 0.601s
|
||||
|
||||
PASSED (skips=15, successes=1322)
|
||||
PASSED (successes=143)
|
||||
|
||||
Running the Integration Tests
|
||||
=============================
|
||||
@@ -290,6 +290,19 @@ Testing with SyTest is recommended for verifying that changes related to the
|
||||
Client-Server API are functioning correctly. See the `installation instructions
|
||||
<https://github.com/matrix-org/sytest#installing>`_ for details.
|
||||
|
||||
Building Internal API Documentation
|
||||
===================================
|
||||
|
||||
Before building internal API documentation install sphinx and
|
||||
sphinxcontrib-napoleon::
|
||||
|
||||
pip install sphinx
|
||||
pip install sphinxcontrib-napoleon
|
||||
|
||||
Building internal API documentation::
|
||||
|
||||
python setup.py build_sphinx
|
||||
|
||||
Troubleshooting
|
||||
===============
|
||||
|
||||
@@ -374,23 +387,3 @@ something like the following in their logs::
|
||||
|
||||
This is normally caused by a misconfiguration in your reverse-proxy. See
|
||||
`<docs/reverse_proxy.md>`_ and double-check that your settings are correct.
|
||||
|
||||
.. |support| image:: https://img.shields.io/matrix/synapse:matrix.org?label=support&logo=matrix
|
||||
:alt: (get support on #synapse:matrix.org)
|
||||
:target: https://matrix.to/#/#synapse:matrix.org
|
||||
|
||||
.. |development| image:: https://img.shields.io/matrix/synapse-dev:matrix.org?label=development&logo=matrix
|
||||
:alt: (discuss development on #synapse-dev:matrix.org)
|
||||
:target: https://matrix.to/#/#synapse-dev:matrix.org
|
||||
|
||||
.. |license| image:: https://img.shields.io/github/license/matrix-org/synapse
|
||||
:alt: (check license in LICENSE file)
|
||||
:target: LICENSE
|
||||
|
||||
.. |pypi| image:: https://img.shields.io/pypi/v/matrix-synapse
|
||||
:alt: (latest version released on PyPi)
|
||||
:target: https://pypi.org/project/matrix-synapse
|
||||
|
||||
.. |python| image:: https://img.shields.io/pypi/pyversions/matrix-synapse
|
||||
:alt: (supported python versions)
|
||||
:target: https://pypi.org/project/matrix-synapse
|
||||
|
||||
106
UPGRADE.rst
106
UPGRADE.rst
@@ -75,112 +75,6 @@ for example:
|
||||
wget https://packages.matrix.org/debian/pool/main/m/matrix-synapse-py3/matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
||||
dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
||||
|
||||
Upgrading to v1.25.0
|
||||
====================
|
||||
|
||||
Blacklisting IP ranges
|
||||
----------------------
|
||||
|
||||
Synapse v1.25.0 includes new settings, ``ip_range_blacklist`` and
|
||||
``ip_range_whitelist``, for controlling outgoing requests from Synapse for federation,
|
||||
identity servers, push, and for checking key validity for third-party invite events.
|
||||
The previous setting, ``federation_ip_range_blacklist``, is deprecated. The new
|
||||
``ip_range_blacklist`` defaults to private IP ranges if it is not defined.
|
||||
|
||||
If you have never customised ``federation_ip_range_blacklist`` it is recommended
|
||||
that you remove that setting.
|
||||
|
||||
If you have customised ``federation_ip_range_blacklist`` you should update the
|
||||
setting name to ``ip_range_blacklist``.
|
||||
|
||||
If you have a custom push server that is reached via private IP space you may
|
||||
need to customise ``ip_range_blacklist`` or ``ip_range_whitelist``.
|
||||
|
||||
Upgrading to v1.24.0
|
||||
====================
|
||||
|
||||
Custom OpenID Connect mapping provider breaking change
|
||||
------------------------------------------------------
|
||||
|
||||
This release allows the OpenID Connect mapping provider to perform normalisation
|
||||
of the localpart of the Matrix ID. This allows for the mapping provider to
|
||||
specify different algorithms, instead of the [default way](https://matrix.org/docs/spec/appendices#mapping-from-other-character-sets).
|
||||
|
||||
If your Synapse configuration uses a custom mapping provider
|
||||
(`oidc_config.user_mapping_provider.module` is specified and not equal to
|
||||
`synapse.handlers.oidc_handler.JinjaOidcMappingProvider`) then you *must* ensure
|
||||
that `map_user_attributes` of the mapping provider performs some normalisation
|
||||
of the `localpart` returned. To match previous behaviour you can use the
|
||||
`map_username_to_mxid_localpart` function provided by Synapse. An example is
|
||||
shown below:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from synapse.types import map_username_to_mxid_localpart
|
||||
|
||||
class MyMappingProvider:
|
||||
def map_user_attributes(self, userinfo, token):
|
||||
# ... your custom logic ...
|
||||
sso_user_id = ...
|
||||
localpart = map_username_to_mxid_localpart(sso_user_id)
|
||||
|
||||
return {"localpart": localpart}
|
||||
|
||||
Removal historical Synapse Admin API
|
||||
------------------------------------
|
||||
|
||||
Historically, the Synapse Admin API has been accessible under:
|
||||
|
||||
* ``/_matrix/client/api/v1/admin``
|
||||
* ``/_matrix/client/unstable/admin``
|
||||
* ``/_matrix/client/r0/admin``
|
||||
* ``/_synapse/admin/v1``
|
||||
|
||||
The endpoints with ``/_matrix/client/*`` prefixes have been removed as of v1.24.0.
|
||||
The Admin API is now only accessible under:
|
||||
|
||||
* ``/_synapse/admin/v1``
|
||||
|
||||
The only exception is the `/admin/whois` endpoint, which is
|
||||
`also available via the client-server API <https://matrix.org/docs/spec/client_server/r0.6.1#get-matrix-client-r0-admin-whois-userid>`_.
|
||||
|
||||
The deprecation of the old endpoints was announced with Synapse 1.20.0 (released
|
||||
on 2020-09-22) and makes it easier for homeserver admins to lock down external
|
||||
access to the Admin API endpoints.
|
||||
|
||||
Upgrading to v1.23.0
|
||||
====================
|
||||
|
||||
Structured logging configuration breaking changes
|
||||
-------------------------------------------------
|
||||
|
||||
This release deprecates use of the ``structured: true`` logging configuration for
|
||||
structured logging. If your logging configuration contains ``structured: true``
|
||||
then it should be modified based on the `structured logging documentation
|
||||
<https://github.com/matrix-org/synapse/blob/master/docs/structured_logging.md>`_.
|
||||
|
||||
The ``structured`` and ``drains`` logging options are now deprecated and should
|
||||
be replaced by standard logging configuration of ``handlers`` and ``formatters``.
|
||||
|
||||
A future will release of Synapse will make using ``structured: true`` an error.
|
||||
|
||||
Upgrading to v1.22.0
|
||||
====================
|
||||
|
||||
ThirdPartyEventRules breaking changes
|
||||
-------------------------------------
|
||||
|
||||
This release introduces a backwards-incompatible change to modules making use of
|
||||
``ThirdPartyEventRules`` in Synapse. If you make use of a module defined under the
|
||||
``third_party_event_rules`` config option, please make sure it is updated to handle
|
||||
the below change:
|
||||
|
||||
The ``http_client`` argument is no longer passed to modules as they are initialised. Instead,
|
||||
modules are expected to make use of the ``http_client`` property on the ``ModuleApi`` class.
|
||||
Modules are now passed a ``module_api`` argument during initialisation, which is an instance of
|
||||
``ModuleApi``. ``ModuleApi`` instances have a ``http_client`` property which acts the same as
|
||||
the ``http_client`` argument previously passed to ``ThirdPartyEventRules`` modules.
|
||||
|
||||
Upgrading to v1.21.0
|
||||
====================
|
||||
|
||||
|
||||
1
changelog.d/7124.bugfix
Normal file
1
changelog.d/7124.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a bug in the media repository where remote thumbnails with the same size but different crop methods would overwrite each other. Contributed by @deepbluev7.
|
||||
1
changelog.d/7796.bugfix
Normal file
1
changelog.d/7796.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix inconsistent handling of non-existent push rules, and stop tracking the `enabled` state of removed push rules.
|
||||
1
changelog.d/8004.feature
Normal file
1
changelog.d/8004.feature
Normal file
@@ -0,0 +1 @@
|
||||
Require the user to confirm that their password should be reset after clicking the email confirmation link.
|
||||
1
changelog.d/8208.misc
Normal file
1
changelog.d/8208.misc
Normal file
@@ -0,0 +1 @@
|
||||
Fix tests on distros which disable TLSv1.0. Contributed by @danc86.
|
||||
1
changelog.d/8216.misc
Normal file
1
changelog.d/8216.misc
Normal file
@@ -0,0 +1 @@
|
||||
Simplify the distributor code to avoid unnecessary work.
|
||||
1
changelog.d/8217.feature
Normal file
1
changelog.d/8217.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add an admin API `GET /_synapse/admin/v1/event_reports` to read entries of table `event_reports`. Contributed by @dklimpel.
|
||||
1
changelog.d/8227.doc
Normal file
1
changelog.d/8227.doc
Normal file
@@ -0,0 +1 @@
|
||||
Add `/_synapse/client` to the reverse proxy documentation.
|
||||
1
changelog.d/8230.bugfix
Normal file
1
changelog.d/8230.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix messages over federation being lost until an event is sent into the same room.
|
||||
1
changelog.d/8236.bugfix
Normal file
1
changelog.d/8236.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a longstanding bug where files that could not be thumbnailed would result in an Internal Server Error.
|
||||
1
changelog.d/8243.misc
Normal file
1
changelog.d/8243.misc
Normal file
@@ -0,0 +1 @@
|
||||
Remove the 'populate_stats_process_rooms_2' background job and restore functionality to 'populate_stats_process_rooms'.
|
||||
1
changelog.d/8247.bugfix
Normal file
1
changelog.d/8247.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix messages over federation being lost until an event is sent into the same room.
|
||||
1
changelog.d/8248.feature
Normal file
1
changelog.d/8248.feature
Normal file
@@ -0,0 +1 @@
|
||||
Consolidate the SSO error template across all configuration.
|
||||
1
changelog.d/8250.misc
Normal file
1
changelog.d/8250.misc
Normal file
@@ -0,0 +1 @@
|
||||
Clean up type hints for `PaginationConfig`.
|
||||
1
changelog.d/8256.misc
Normal file
1
changelog.d/8256.misc
Normal file
@@ -0,0 +1 @@
|
||||
Track the latest event for every destination and room for catch-up after federation outage.
|
||||
1
changelog.d/8257.misc
Normal file
1
changelog.d/8257.misc
Normal file
@@ -0,0 +1 @@
|
||||
Fix non-user visible bug in implementation of `MultiWriterIdGenerator.get_current_token_for_writer`.
|
||||
1
changelog.d/8258.bugfix
Normal file
1
changelog.d/8258.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix messages over federation being lost until an event is sent into the same room.
|
||||
1
changelog.d/8259.misc
Normal file
1
changelog.d/8259.misc
Normal file
@@ -0,0 +1 @@
|
||||
Switch to the JSON implementation from the standard library.
|
||||
1
changelog.d/8260.misc
Normal file
1
changelog.d/8260.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add type hints to `synapse.util.async_helpers`.
|
||||
1
changelog.d/8261.misc
Normal file
1
changelog.d/8261.misc
Normal file
@@ -0,0 +1 @@
|
||||
Simplify tests that mock asynchronous functions.
|
||||
1
changelog.d/8262.bugfix
Normal file
1
changelog.d/8262.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Upgrade canonicaljson to version 1.4.0 to fix an unicode encoding issue.
|
||||
1
changelog.d/8265.bugfix
Normal file
1
changelog.d/8265.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix logstanding bug which could lead to incomplete database upgrades on SQLite.
|
||||
1
changelog.d/8268.bugfix
Normal file
1
changelog.d/8268.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix stack overflow when stderr is redirected to the logging system, and the logging system encounters an error.
|
||||
1
changelog.d/8272.bugfix
Normal file
1
changelog.d/8272.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix messages over federation being lost until an event is sent into the same room.
|
||||
1
changelog.d/8275.feature
Normal file
1
changelog.d/8275.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add a config option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number.
|
||||
1
changelog.d/8278.bugfix
Normal file
1
changelog.d/8278.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a bug which cause the logging system to report errors, if `DEBUG` was enabled and no `context` filter was applied.
|
||||
1
changelog.d/8279.misc
Normal file
1
changelog.d/8279.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add type hints to `StreamToken` and `RoomStreamToken` classes.
|
||||
1
changelog.d/8281.misc
Normal file
1
changelog.d/8281.misc
Normal file
@@ -0,0 +1 @@
|
||||
Change `StreamToken.room_key` to be a `RoomStreamToken` instance.
|
||||
1
changelog.d/8282.misc
Normal file
1
changelog.d/8282.misc
Normal file
@@ -0,0 +1 @@
|
||||
Clean up type hints for `PaginationConfig`.
|
||||
1
changelog.d/8287.bugfix
Normal file
1
changelog.d/8287.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix edge case where push could get delayed for a user until a later event was pushed.
|
||||
1
changelog.d/8288.misc
Normal file
1
changelog.d/8288.misc
Normal file
@@ -0,0 +1 @@
|
||||
Refactor notifier code to correctly use the max event stream position.
|
||||
1
changelog.d/8294.feature
Normal file
1
changelog.d/8294.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add experimental support for sharding event persister.
|
||||
1
changelog.d/8296.misc
Normal file
1
changelog.d/8296.misc
Normal file
@@ -0,0 +1 @@
|
||||
Use slotted classes where possible.
|
||||
1
changelog.d/8305.feature
Normal file
1
changelog.d/8305.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add the room topic and avatar to the room details admin API.
|
||||
1
changelog.d/8306.feature
Normal file
1
changelog.d/8306.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel.
|
||||
1
changelog.d/8320.feature
Normal file
1
changelog.d/8320.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add `uk.half-shot.msc2778.login.application_service` login type to allow appservices to login.
|
||||
1
changelog.d/8322.bugfix
Normal file
1
changelog.d/8322.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix messages over federation being lost until an event is sent into the same room.
|
||||
1
changelog.d/8324.bugfix
Normal file
1
changelog.d/8324.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix fetching events from remote servers that are malformed.
|
||||
1
changelog.d/8326.misc
Normal file
1
changelog.d/8326.misc
Normal file
@@ -0,0 +1 @@
|
||||
Update outdated usages of `metaclass` to python 3 syntax.
|
||||
1
changelog.d/8329.bugfix
Normal file
1
changelog.d/8329.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix UnboundLocalError from occuring when appservices send malformed register request.
|
||||
1
changelog.d/8330.misc
Normal file
1
changelog.d/8330.misc
Normal file
@@ -0,0 +1 @@
|
||||
Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this.
|
||||
1
changelog.d/8331.misc
Normal file
1
changelog.d/8331.misc
Normal file
@@ -0,0 +1 @@
|
||||
Use the `admin_patterns` helper in additional locations.
|
||||
1
changelog.d/8335.misc
Normal file
1
changelog.d/8335.misc
Normal file
@@ -0,0 +1 @@
|
||||
Fix test logging to allow braces in log output.
|
||||
1
changelog.d/8337.misc
Normal file
1
changelog.d/8337.misc
Normal file
@@ -0,0 +1 @@
|
||||
Remove `__future__` imports related to Python 2 compatibility.
|
||||
1
changelog.d/8344.misc
Normal file
1
changelog.d/8344.misc
Normal file
@@ -0,0 +1 @@
|
||||
Simplify `super()` calls to Python 3 syntax.
|
||||
1
changelog.d/8345.feature
Normal file
1
changelog.d/8345.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add a configuration option that allows existing users to log in with OpenID Connect. Contributed by @BBBSnowball and @OmmyZhang.
|
||||
1
changelog.d/8353.bugfix
Normal file
1
changelog.d/8353.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Don't send push notifications to expired user accounts.
|
||||
1
changelog.d/8354.misc
Normal file
1
changelog.d/8354.misc
Normal file
@@ -0,0 +1 @@
|
||||
Fix bad merge from `release-v1.20.0` branch to `develop`.
|
||||
1
changelog.d/8362.bugfix
Normal file
1
changelog.d/8362.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fixed a regression in v1.19.0 with reactivating users through the admin API.
|
||||
2
changelog.d/8364.bugfix
Normal file
2
changelog.d/8364.bugfix
Normal file
@@ -0,0 +1,2 @@
|
||||
Fix a bug where during device registration the length of the device name wasn't
|
||||
limited.
|
||||
1
changelog.d/8370.misc
Normal file
1
changelog.d/8370.misc
Normal file
@@ -0,0 +1 @@
|
||||
Factor out a `_send_dummy_event_for_room` method.
|
||||
1
changelog.d/8371.misc
Normal file
1
changelog.d/8371.misc
Normal file
@@ -0,0 +1 @@
|
||||
Improve logging of state resolution.
|
||||
1
changelog.d/8372.misc
Normal file
1
changelog.d/8372.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add type annotations to `SimpleHttpClient`.
|
||||
1
changelog.d/8373.bugfix
Normal file
1
changelog.d/8373.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Include `guest_access` in the fields that are checked for null bytes when updating `room_stats_state`. Broke in v1.7.2.
|
||||
1
changelog.d/8374.bugfix
Normal file
1
changelog.d/8374.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix theoretical race condition where events are not sent down `/sync` if the synchrotron worker is restarted without restarting other workers.
|
||||
1
changelog.d/8375.doc
Normal file
1
changelog.d/8375.doc
Normal file
@@ -0,0 +1 @@
|
||||
Add note to the reverse proxy settings documentation about disabling Apache's mod_security2. Contributed by Julian Fietkau (@jfietkau).
|
||||
1
changelog.d/8377.misc
Normal file
1
changelog.d/8377.misc
Normal file
@@ -0,0 +1 @@
|
||||
Move lint-related dependencies to package-extra field, update CONTRIBUTING.md to utilise this.
|
||||
1
changelog.d/8383.misc
Normal file
1
changelog.d/8383.misc
Normal file
@@ -0,0 +1 @@
|
||||
Refactor ID generators to use `async with` syntax.
|
||||
1
changelog.d/8385.bugfix
Normal file
1
changelog.d/8385.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a bug which could cause errors in rooms with malformed membership events, on servers using sqlite.
|
||||
1
changelog.d/8386.bugfix
Normal file
1
changelog.d/8386.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a bug introduced in v1.20.0 which caused the `synapse_port_db` script to fail.
|
||||
1
changelog.d/8387.feature
Normal file
1
changelog.d/8387.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add experimental support for sharding event persister.
|
||||
1
changelog.d/8388.misc
Normal file
1
changelog.d/8388.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add `EventStreamPosition` type.
|
||||
1
changelog.d/8396.feature
Normal file
1
changelog.d/8396.feature
Normal file
@@ -0,0 +1 @@
|
||||
Add experimental support for sharding event persister.
|
||||
1
changelog.d/8398.bugfix
Normal file
1
changelog.d/8398.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix "Re-starting finished log context" warning when receiving an event we already had over federation.
|
||||
1
changelog.d/8401.misc
Normal file
1
changelog.d/8401.misc
Normal file
@@ -0,0 +1 @@
|
||||
A pair of tiny cleanups in the federation request code.
|
||||
1
changelog.d/8405.feature
Normal file
1
changelog.d/8405.feature
Normal file
@@ -0,0 +1 @@
|
||||
Consolidate the SSO error template across all configuration.
|
||||
1
changelog.d/8412.bugfix
Normal file
1
changelog.d/8412.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix retries of HTTP requests between Synapse workers when the requests time out.
|
||||
@@ -1 +0,0 @@
|
||||
Fix the "Event persist rate" section of the included grafana dashboard by adding missing prometheus rules.
|
||||
@@ -1 +0,0 @@
|
||||
Apply an IP range blacklist to push and key revocation requests.
|
||||
@@ -1 +0,0 @@
|
||||
Fix bug where we might not correctly calculate the current state for rooms with multiple extremities.
|
||||
@@ -1 +0,0 @@
|
||||
Deprecate Shutdown Room and Purge Room Admin APIs.
|
||||
@@ -1 +0,0 @@
|
||||
Fix a long standing bug in the register admin endpoint (`/_synapse/admin/v1/register`) when the `mac` field was not provided. The endpoint now properly returns a 400 error. Contributed by @edwargix.
|
||||
@@ -1 +0,0 @@
|
||||
Combine related media admin API docs.
|
||||
@@ -1 +0,0 @@
|
||||
Add optional HTTP authentication to replication endpoints.
|
||||
@@ -1 +0,0 @@
|
||||
Fix a long-standing bug on Synapse instances supporting Single-Sign-On, where users would be prompted to enter their password to confirm certain actions, even though they have not set a password.
|
||||
@@ -1 +0,0 @@
|
||||
Remove some unnecessary stubbing from unit tests.
|
||||
@@ -1 +0,0 @@
|
||||
Fix a longstanding bug where a 500 error would be returned if the `Content-Length` header was not provided to the upload media resource.
|
||||
@@ -1 +0,0 @@
|
||||
Remove unused `FakeResponse` class from unit tests.
|
||||
@@ -1 +0,0 @@
|
||||
Add additional validation to pusher URLs to be compliant with the specification.
|
||||
@@ -1 +0,0 @@
|
||||
Fix the error code that is returned when a user tries to register on a homeserver on which new-user registration has been disabled.
|
||||
@@ -1 +0,0 @@
|
||||
Apply an IP range blacklist to push and key revocation requests.
|
||||
@@ -1 +0,0 @@
|
||||
Fix a bug where `PUT /_synapse/admin/v2/users/<user_id>` failed to create a new user when `avatar_url` is specified. Bug introduced in Synapse v1.9.0.
|
||||
@@ -1 +0,0 @@
|
||||
Fix an error in the documentation for the SAML username mapping provider.
|
||||
@@ -1 +0,0 @@
|
||||
Improve the error messages printed as a result of configuration problems for extension modules.
|
||||
@@ -1 +0,0 @@
|
||||
Pass `room_id` to `get_auth_chain_difference`.
|
||||
@@ -1 +0,0 @@
|
||||
Add type hints to push module.
|
||||
@@ -1 +0,0 @@
|
||||
Simplify logic for handling user-interactive-auth via single-sign-on servers.
|
||||
@@ -1 +0,0 @@
|
||||
Add type hints to push module.
|
||||
@@ -1 +0,0 @@
|
||||
Fix a 500 error when attempting to preview an empty HTML file.
|
||||
@@ -1 +0,0 @@
|
||||
Add number of local devices to Room Details Admin API. Contributed by @dklimpel.
|
||||
@@ -1 +0,0 @@
|
||||
Add `X-Robots-Tag` header to stop web crawlers from indexing media.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user