v1.32.0
Synapse 1.32.0 (2021-04-20)
WARNING: We've identified a load issue with Prometheus metrics in this release; we encourage you to wait for 1.32.1 which should be published tomorrow (April 21st).
Note: This release requires Python 3.6+ and Postgres 9.6+ or SQLite 3.22+.
This release removes the deprecated GET /_synapse/admin/v1/users/<user_id>
admin API. Please use the v2 API instead, which has improved capabilities.
This release requires Application Services to use type m.login.application_service
when registering users via the /_matrix/client/r0/register
endpoint to comply with the spec. Please ensure your Application Services are up to date.
If you are using the packages.matrix.org
Debian repository for Synapse packages, note that we have recently updated the expiry date on the gpg signing key. If you see an error similar to The following signatures were invalid: EXPKEYSIG F473DD4473365DE1
, you will need to get a fresh copy of the keys. You can do so with:
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Bugfixes
- Fix the log lines of nested logging contexts. Broke in 1.32.0rc1. (#9829)
Synapse 1.32.0rc1 (2021-04-13)
Features
- Add a Synapse module for routing presence updates between users. (#9491)
- Add an admin API to manage ratelimit for a specific user. (#9648)
- Include request information in structured logging output. (#9654)
- Add
order_by
to the admin APIGET /_synapse/admin/v2/users
. Contributed by @dklimpel. (#9691) - Replace the
room_invite_state_types
configuration setting withroom_prejoin_state
. (#9700) - Add experimental support for MSC3083: restricting room access via group membership. (#9717, #9735)
- Update experimental support for Spaces: include
m.room.create
in the room state sent with room-invites. (#9710) - Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. (#9766)
Bugfixes
- Prevent
synapse_forward_extremities
andsynapse_excess_extremity_events
Prometheus metrics from initially reporting zero-values after startup. (#8926) - Fix recently added ratelimits to correctly honour the application service
rate_limited
flag. (#9711) - Fix longstanding bug which caused
duplicate key value violates unique constraint "remote_media_cache_thumbnails_media_origin_media_id_thumbna_key"
errors. (#9725) - Fix bug where sharded federation senders could get stuck repeatedly querying the DB in a loop, using lots of CPU. (#9770)
- Fix duplicate logging of exceptions thrown during federation transaction processing. (#9780)
Updates to the Docker image
- Move opencontainers labels to the final Docker image such that users can inspect them. (#9765)
Improved Documentation
- Make the
allowed_local_3pids
regex example in the sample config stricter. (#9719)
Deprecations and Removals
- Remove old admin API
GET /_synapse/admin/v1/users/<user_id>
. (#9401) - Make
/_matrix/client/r0/register
expect a type ofm.login.application_service
when an Application Service registers a user, to align with the relevant spec. (#9548)
Internal Changes
- Replace deprecated
imp
module with successorimportlib
. Contributed by Cristina Muñoz. (#9718) - Experiment with GitHub Actions for CI. (#9661)
- Introduce flake8-bugbear to the test suite and fix some of its lint violations. (#9682)
- Update
scripts-dev/complement.sh
to use a local checkout of Complement, allow running a subset of tests and have it use Synapse's Complement test blacklist. (#9685) - Improve Jaeger tracing for
to_device
messages. (#9686) - Add release helper script for automating part of the Synapse release process. (#9713)
- Add type hints to expiring cache. (#9730)
- Convert various testcases to
HomeserverTestCase
. (#9736) - Start linting mypy with
no_implicit_optional
. (#9742) - Add missing type hints to federation handler and server. (#9743)
- Check that a
ConfigError
is raised, rather than simplyException
, when appropriate in homeserver config file generation tests. (#9753) - Fix incompatibility with
tox
2.5. (#9769) - Enable Complement tests for MSC2946: Spaces Summary API. (#9771)
- Use mock from the standard library instead of a separate package. (#9772)
- Update Black configuration to target Python 3.6. (#9781)
- Add option to skip unit tests when building Debian packages. (#9793)