Skip to content
Synapse 1.32.0rc1 (2021-04-13)
==============================

**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](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/user_admin_api.rst#query-user-account)
instead, which has improved capabilities.

This release requires Application Services to use type
`m.login.application_services` when registering users via the
`/_matrix/client/r0/register` endpoint to comply with the spec. Please
ensure your Application Services are up to date.

Features
--------

- Add a Synapse module for routing presence updates between users.
([\#9491](https://github.com/matrix-org/synapse/issues/9491))
- Add an admin API to manage ratelimit for a specific user.
([\#9648](https://github.com/matrix-org/synapse/issues/9648))
- Include request information in structured logging output.
([\#9654](https://github.com/matrix-org/synapse/issues/9654))
- Add `order_by` to the admin API `GET /_synapse/admin/v2/users`.
Contributed by @dklimpel.
([\#9691](https://github.com/matrix-org/synapse/issues/9691))
- Replace the `room_invite_state_types` configuration setting with
`room_prejoin_state`.
([\#9700](https://github.com/matrix-org/synapse/issues/9700))
- Add experimental support for
[MSC3083](https://github.com/matrix-org/matrix-doc/pull/3083):
restricting room access via group membership.
([\#9717](https://github.com/matrix-org/synapse/issues/9717),
[\#9735](https://github.com/matrix-org/synapse/issues/9735))
- Update experimental support for Spaces: include `m.room.create` in the
room state sent with room-invites.
([\#9710](https://github.com/matrix-org/synapse/issues/9710))
- Synapse now requires Python 3.6 or later. It also requires Postgres
9.6 or later or SQLite 3.22 or later.
([\#9766](https://github.com/matrix-org/synapse/issues/9766))

Bugfixes
--------

- Prevent `synapse_forward_extremities` and
`synapse_excess_extremity_events` Prometheus metrics from initially
reporting zero-values after startup.
([\#8926](https://github.com/matrix-org/synapse/issues/8926))
- Fix recently added ratelimits to correctly honour the application
service `rate_limited` flag.
([\#9711](https://github.com/matrix-org/synapse/issues/9711))
- Fix longstanding bug which caused `duplicate key value violates unique
constraint
"remote_media_cache_thumbnails_media_origin_media_id_thumbna_key"`
errors. ([\#9725](https://github.com/matrix-org/synapse/issues/9725))
- Fix bug where sharded federation senders could get stuck repeatedly
querying the DB in a loop, using lots of CPU.
([\#9770](https://github.com/matrix-org/synapse/issues/9770))
- Fix duplicate logging of exceptions thrown during federation
transaction processing.
([\#9780](https://github.com/matrix-org/synapse/issues/9780))

Updates to the Docker image
---------------------------

- Move opencontainers labels to the final Docker image such that users
can inspect them.
([\#9765](https://github.com/matrix-org/synapse/issues/9765))

Improved Documentation
----------------------

- Make the `allowed_local_3pids` regex example in the sample config
stricter. ([\#9719](https://github.com/matrix-org/synapse/issues/9719))

Deprecations and Removals
-------------------------

- Remove old admin API `GET /_synapse/admin/v1/users/<user_id>`.
([\#9401](https://github.com/matrix-org/synapse/issues/9401))
- Make `/_matrix/client/r0/register` expect a type of
`m.login.application_service` when an Application Service registers a
user, to align with [the relevant
spec](https://spec.matrix.org/unstable/application-service-api/#server-admin-style-permissions).
([\#9548](https://github.com/matrix-org/synapse/issues/9548))

Internal Changes
----------------

- Replace deprecated `imp` module with successor `importlib`.
Contributed by Cristina Muñoz.
([\#9718](https://github.com/matrix-org/synapse/issues/9718))
- Experiment with GitHub Actions for CI.
([\#9661](https://github.com/matrix-org/synapse/issues/9661))
- Introduce flake8-bugbear to the test suite and fix some of its lint
violations.
([\#9682](https://github.com/matrix-org/synapse/issues/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](https://github.com/matrix-org/synapse/issues/9685))
- Improve Jaeger tracing for `to_device` messages.
([\#9686](https://github.com/matrix-org/synapse/issues/9686))
- Add release helper script for automating part of the Synapse release
process. ([\#9713](https://github.com/matrix-org/synapse/issues/9713))
- Add type hints to expiring cache.
([\#9730](https://github.com/matrix-org/synapse/issues/9730))
- Convert various testcases to `HomeserverTestCase`.
([\#9736](https://github.com/matrix-org/synapse/issues/9736))
- Start linting mypy with `no_implicit_optional`.
([\#9742](https://github.com/matrix-org/synapse/issues/9742))
- Add missing type hints to federation handler and server.
([\#9743](https://github.com/matrix-org/synapse/issues/9743))
- Check that a `ConfigError` is raised, rather than simply `Exception`,
when appropriate in homeserver config file generation tests.
([\#9753](https://github.com/matrix-org/synapse/issues/9753))
- Fix incompatibility with `tox` 2.5.
([\#9769](https://github.com/matrix-org/synapse/issues/9769))
- Enable Complement tests for
[MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946): Spaces
Summary API.
([\#9771](https://github.com/matrix-org/synapse/issues/9771))
- Use mock from the standard library instead of a separate package.
([\#9772](https://github.com/matrix-org/synapse/issues/9772))
- Update Black configuration to target Python 3.6.
([\#9781](https://github.com/matrix-org/synapse/issues/9781))
- Add option to skip unit tests when building Debian packages.
([\#9793](https://github.com/matrix-org/synapse/issues/9793))