1.54.0rc1

This commit is contained in:
Olivier Wilkinson (reivilibre) 2022-03-02 10:45:16 +00:00
parent a43a5ea5bf
commit 879e4a7bd7
74 changed files with 103 additions and 72 deletions

View file

@ -1,3 +1,99 @@
Synapse 1.54.0rc1 (2022-03-02)
==============================
Features
--------
- Add support for MSC3202: sending one-time key counts and fallback key usage states to Application Services. ([\#11617](https://github.com/matrix-org/synapse/issues/11617))
- Make a `POST` to `/rooms/<room_id>/receipt/m.read/<event_id>` only trigger a push notification if the count of unread messages is different to the one in the last successfully sent push. ([\#11835](https://github.com/matrix-org/synapse/issues/11835))
- Fetch images when previewing Twitter URLs. Contributed by @AndrewRyanChama. ([\#11985](https://github.com/matrix-org/synapse/issues/11985))
- Track cache invalidations in Prometheus metrics, as already happens for cache eviction based on size or time. ([\#12000](https://github.com/matrix-org/synapse/issues/12000))
- Implement experimental support for [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720) (account status endpoints). ([\#12001](https://github.com/matrix-org/synapse/issues/12001), [\#12067](https://github.com/matrix-org/synapse/issues/12067))
- Enable modules to set a custom display name when registering a user. ([\#12009](https://github.com/matrix-org/synapse/issues/12009))
- Advertise Matrix 1.1 support on `/_matrix/client/versions`. ([\#12020](https://github.com/matrix-org/synapse/issues/12020))
- Support only the stable identifier for [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069)'s `is_guest` on `/_matrix/client/v3/account/whoami`. ([\#12021](https://github.com/matrix-org/synapse/issues/12021))
- Advertise Matrix 1.2 support on `/_matrix/client/versions`. ([\#12022](https://github.com/matrix-org/synapse/issues/12022))
- Use room version 9 as the default room version (per [MSC3589](https://github.com/matrix-org/matrix-doc/pull/3589)). ([\#12058](https://github.com/matrix-org/synapse/issues/12058))
- Add module callbacks to react to user deactivation status changes (i.e. deactivations and reactivations) and profile updates. ([\#12062](https://github.com/matrix-org/synapse/issues/12062))
Bugfixes
--------
- Fix a bug introduced in Synapse v1.48.0 where an edit of the latest event in a thread would not be properly applied to the thread summary. ([\#11992](https://github.com/matrix-org/synapse/issues/11992))
- Fix long standing bug where `get_rooms_for_user` was not correctly invalidated for remote users when the server left a room. ([\#11999](https://github.com/matrix-org/synapse/issues/11999))
- Fix 500 error with Postgres when looking backwards with the [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) `/timestamp_to_event?dir=b` endpoint. ([\#12024](https://github.com/matrix-org/synapse/issues/12024))
- Properly fix a long-standing bug where wrong data could be inserted in the `event_search` table when using sqlite. This could block running `synapse_port_db` with an "argument of type 'int' is not iterable" error. This bug was partially fixed by a change in Synapse 1.44.0. ([\#12037](https://github.com/matrix-org/synapse/issues/12037))
- Fix slow performance of `/logout` in some cases where refresh tokens are in use. The slowness existed since the initial implementation of refresh tokens. ([\#12056](https://github.com/matrix-org/synapse/issues/12056))
- Fix a long-standing bug where Synapse would make additional failing requests over federation for missing data. ([\#12077](https://github.com/matrix-org/synapse/issues/12077))
- Fix occasional 'Unhandled error in Deferred' error message. ([\#12089](https://github.com/matrix-org/synapse/issues/12089))
- Fix a bug introduced in Synapse 1.51.0rc1 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`. ([\#12098](https://github.com/matrix-org/synapse/issues/12098))
- Fix a long-standing bug which could cause push notifications to malfunction if `use_frozen_dicts` was set in the configuration. ([\#12100](https://github.com/matrix-org/synapse/issues/12100))
- Fix an extremely rare, long-standing bug in `ReadWriteLock` that would cause an error when a newly unblocked writer completes instantly. ([\#12105](https://github.com/matrix-org/synapse/issues/12105))
Updates to the Docker image
---------------------------
- The docker image no longer automatically creates a temporary volume at `/data`. This is not expected to affect normal usage. ([\#11997](https://github.com/matrix-org/synapse/issues/11997))
- Use Python 3.9 in Docker images by default. ([\#12112](https://github.com/matrix-org/synapse/issues/12112))
Improved Documentation
----------------------
- Document support for the `to_device`, `account_data`, `receipts`, and `presence` stream writers for workers. ([\#11599](https://github.com/matrix-org/synapse/issues/11599))
- Explain the meaning of spam checker callbacks' return values. ([\#12003](https://github.com/matrix-org/synapse/issues/12003))
- Clarify information about external Identity Provider IDs. ([\#12004](https://github.com/matrix-org/synapse/issues/12004))
Deprecations and Removals
-------------------------
- Deprecate using `synctl` with the config option `synctl_cache_factor` and print a warning if a user still uses this option. ([\#11865](https://github.com/matrix-org/synapse/issues/11865))
- Remove support for the legacy structured logging configuration (please see the the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#legacy-structured-logging-configuration-removal) if you are using `structured: true` in the Synapse configuration). ([\#12008](https://github.com/matrix-org/synapse/issues/12008))
- Drop support for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283) unstable flags now that the stable flags are supported. ([\#12018](https://github.com/matrix-org/synapse/issues/12018))
- Remove the unstable `/spaces` endpoint from [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946). ([\#12073](https://github.com/matrix-org/synapse/issues/12073))
Internal Changes
----------------
- Make method `get_room_version` use cached `get_room_version_id`. ([\#11808](https://github.com/matrix-org/synapse/issues/11808))
- Remove unnecessary condition on knock->leave auth rule check. ([\#11900](https://github.com/matrix-org/synapse/issues/11900))
- Add tests for device list changes between local users. ([\#11972](https://github.com/matrix-org/synapse/issues/11972))
- Optimise calculating device_list changes in `/sync`. ([\#11974](https://github.com/matrix-org/synapse/issues/11974))
- Add missing type hints to storage classes. ([\#11984](https://github.com/matrix-org/synapse/issues/11984))
- Refactor the search code for improved readability. ([\#11991](https://github.com/matrix-org/synapse/issues/11991))
- Move common deduplication code down into `_auth_and_persist_outliers`. ([\#11994](https://github.com/matrix-org/synapse/issues/11994))
- Limit concurrent joins from applications services. ([\#11996](https://github.com/matrix-org/synapse/issues/11996))
- Preparation for faster-room-join work: when parsing the `send_join` response, get the `m.room.create` event from `state`, not `auth_chain`. ([\#12005](https://github.com/matrix-org/synapse/issues/12005), [\#12039](https://github.com/matrix-org/synapse/issues/12039))
- Preparation for faster-room-join work: parse msc3706 fields in send_join response. ([\#12011](https://github.com/matrix-org/synapse/issues/12011))
- Preparation for faster-room-join work: persist information on which events and rooms have partial state to the database. ([\#12012](https://github.com/matrix-org/synapse/issues/12012))
- Preparation for faster-room-join work: Support for calling `/federation/v1/state` on a remote server. ([\#12013](https://github.com/matrix-org/synapse/issues/12013))
- Configure `tox` to use `venv` rather than `virtualenv`. ([\#12015](https://github.com/matrix-org/synapse/issues/12015))
- Fix bug in `StateFilter.return_expanded()` and add some tests. ([\#12016](https://github.com/matrix-org/synapse/issues/12016))
- Use Matrix v1.1 endpoints (`/_matrix/client/v3/auth/...`) in fallback auth HTML forms. ([\#12019](https://github.com/matrix-org/synapse/issues/12019))
- Update the `olddeps` CI job to use an old version of `markupsafe`. ([\#12025](https://github.com/matrix-org/synapse/issues/12025))
- Upgrade mypy to version 0.931. ([\#12030](https://github.com/matrix-org/synapse/issues/12030))
- Remove legacy `HomeServer.get_datastore()`. ([\#12031](https://github.com/matrix-org/synapse/issues/12031), [\#12070](https://github.com/matrix-org/synapse/issues/12070))
- Minor typing fixes. ([\#12034](https://github.com/matrix-org/synapse/issues/12034), [\#12069](https://github.com/matrix-org/synapse/issues/12069))
- After joining a room, create a dedicated logcontext to process the queued events. ([\#12041](https://github.com/matrix-org/synapse/issues/12041))
- Tidy up GitHub Actions config which builds distributions for PyPI. ([\#12051](https://github.com/matrix-org/synapse/issues/12051))
- Move configuration out of `setup.cfg`. ([\#12052](https://github.com/matrix-org/synapse/issues/12052), [\#12059](https://github.com/matrix-org/synapse/issues/12059))
- Fix error message when a worker process fails to talk to another worker process. ([\#12060](https://github.com/matrix-org/synapse/issues/12060))
- Fix using the complement.sh script without specifying a dir or a branch. Contributed by Nico on behalf of Famedly. ([\#12063](https://github.com/matrix-org/synapse/issues/12063))
- Add type hints to `tests/rest/client`. ([\#12066](https://github.com/matrix-org/synapse/issues/12066), [\#12072](https://github.com/matrix-org/synapse/issues/12072), [\#12084](https://github.com/matrix-org/synapse/issues/12084), [\#12094](https://github.com/matrix-org/synapse/issues/12094))
- Add some logging to `/sync` to try and track down #11916. ([\#12068](https://github.com/matrix-org/synapse/issues/12068))
- Inspect application dependencies using `importlib.metadata` or its backport. ([\#12088](https://github.com/matrix-org/synapse/issues/12088))
- User `assertEqual` instead of the deprecated `assertEquals` in test code. ([\#12092](https://github.com/matrix-org/synapse/issues/12092))
- Move experimental support for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) to /versions. ([\#12099](https://github.com/matrix-org/synapse/issues/12099))
- Add `stop_cancellation` utility function to stop `Deferred`s from being cancelled. ([\#12106](https://github.com/matrix-org/synapse/issues/12106))
- Improve exception handling for concurrent execution. ([\#12109](https://github.com/matrix-org/synapse/issues/12109))
- Advertise support for Python 3.10 in packaging files. ([\#12111](https://github.com/matrix-org/synapse/issues/12111))
- Move CI checks out of tox, to facilitate a move to using poetry. ([\#12119](https://github.com/matrix-org/synapse/issues/12119))
Synapse 1.53.0 (2022-02-22)
===========================

View file

@ -1 +0,0 @@
Document support for the `to_device`, `account_data`, `receipts`, and `presence` stream writers for workers.

View file

@ -1 +0,0 @@
Add support for MSC3202: sending one-time key counts and fallback key usage states to Application Services.

View file

@ -1 +0,0 @@
Make method `get_room_version` use cached `get_room_version_id`.

View file

@ -1 +0,0 @@
Make a `POST` to `/rooms/<room_id>/receipt/m.read/<event_id>` only trigger a push notification if the count of unread messages is different to the one in the last successfully sent push.

View file

@ -1 +0,0 @@
Deprecate using `synctl` with the config option `synctl_cache_factor` and print a warning if a user still uses this option.

View file

@ -1 +0,0 @@
Remove unnecessary condition on knock->leave auth rule check.

View file

@ -1 +0,0 @@
Add tests for device list changes between local users.

View file

@ -1 +0,0 @@
Optimise calculating device_list changes in `/sync`.

View file

@ -1 +0,0 @@
Add missing type hints to storage classes.

View file

@ -1 +0,0 @@
Fetch images when previewing Twitter URLs. Contributed by @AndrewRyanChama.

View file

@ -1 +0,0 @@
Refactor the search code for improved readability.

View file

@ -1 +0,0 @@
Fix a bug introduced in Synapse v1.48.0 where an edit of the latest event in a thread would not be properly applied to the thread summary.

View file

@ -1 +0,0 @@
Move common deduplication code down into `_auth_and_persist_outliers`.

View file

@ -1 +0,0 @@
Limit concurrent joins from applications services.

View file

@ -1 +0,0 @@
The docker image no longer automatically creates a temporary volume at `/data`. This is not expected to affect normal usage.

View file

@ -1 +0,0 @@
Fix long standing bug where `get_rooms_for_user` was not correctly invalidated for remote users when the server left a room.

View file

@ -1 +0,0 @@
Track cache invalidations in Prometheus metrics, as already happens for cache eviction based on size or time.

View file

@ -1 +0,0 @@
Implement experimental support for [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720) (account status endpoints).

View file

@ -1 +0,0 @@
Explain the meaning of spam checker callbacks' return values.

View file

@ -1 +0,0 @@
Clarify information about external Identity Provider IDs.

View file

@ -1 +0,0 @@
Preparation for faster-room-join work: when parsing the `send_join` response, get the `m.room.create` event from `state`, not `auth_chain`.

View file

@ -1 +0,0 @@
Remove support for the legacy structured logging configuration (please see the the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#legacy-structured-logging-configuration-removal) if you are using `structured: true` in the Synapse configuration).

View file

@ -1 +0,0 @@
Enable modules to set a custom display name when registering a user.

View file

@ -1 +0,0 @@
Preparation for faster-room-join work: parse msc3706 fields in send_join response.

View file

@ -1 +0,0 @@
Preparation for faster-room-join work: persist information on which events and rooms have partial state to the database.

View file

@ -1 +0,0 @@
Preparation for faster-room-join work: Support for calling `/federation/v1/state` on a remote server.

View file

@ -1 +0,0 @@
Configure `tox` to use `venv` rather than `virtualenv`.

View file

@ -1 +0,0 @@
Fix bug in `StateFilter.return_expanded()` and add some tests.

View file

@ -1 +0,0 @@
Drop support for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283) unstable flags now that the stable flags are supported.

View file

@ -1 +0,0 @@
Use Matrix v1.1 endpoints (`/_matrix/client/v3/auth/...`) in fallback auth HTML forms.

View file

@ -1 +0,0 @@
Advertise Matrix 1.1 support on `/_matrix/client/versions`.

View file

@ -1 +0,0 @@
Support only the stable identifier for [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069)'s `is_guest` on `/_matrix/client/v3/account/whoami`.

View file

@ -1 +0,0 @@
Advertise Matrix 1.2 support on `/_matrix/client/versions`.

View file

@ -1 +0,0 @@
Fix 500 error with Postgres when looking backwards with the [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) `/timestamp_to_event?dir=b` endpoint.

View file

@ -1 +0,0 @@
Update the `olddeps` CI job to use an old version of `markupsafe`.

View file

@ -1 +0,0 @@
Upgrade mypy to version 0.931.

View file

@ -1 +0,0 @@
Remove legacy `HomeServer.get_datastore()`.

View file

@ -1 +0,0 @@
Minor typing fixes.

View file

@ -1 +0,0 @@
Properly fix a long-standing bug where wrong data could be inserted in the `event_search` table when using sqlite. This could block running `synapse_port_db` with an "argument of type 'int' is not iterable" error. This bug was partially fixed by a change in Synapse 1.44.0.

View file

@ -1 +0,0 @@
Preparation for faster-room-join work: when parsing the `send_join` response, get the `m.room.create` event from `state`, not `auth_chain`.

View file

@ -1 +0,0 @@
After joining a room, create a dedicated logcontext to process the queued events.

View file

@ -1 +0,0 @@
Tidy up GitHub Actions config which builds distributions for PyPI.

View file

@ -1 +0,0 @@
Move configuration out of `setup.cfg`.

View file

@ -1 +0,0 @@
Fix slow performance of `/logout` in some cases where refresh tokens are in use. The slowness existed since the initial implementation of refresh tokens.

View file

@ -1 +0,0 @@
Use room version 9 as the default room version (per [MSC3589](https://github.com/matrix-org/matrix-doc/pull/3589)).

View file

@ -1 +0,0 @@
Move configuration out of `setup.cfg`.

View file

@ -1 +0,0 @@
Fix error message when a worker process fails to talk to another worker process.

View file

@ -1 +0,0 @@
Add module callbacks to react to user deactivation status changes (i.e. deactivations and reactivations) and profile updates.

View file

@ -1 +0,0 @@
Fix using the complement.sh script without specifying a dir or a branch. Contributed by Nico on behalf of Famedly.

View file

@ -1 +0,0 @@
Add type hints to `tests/rest/client`.

View file

@ -1 +0,0 @@
Implement experimental support for [MSC3720](https://github.com/matrix-org/matrix-doc/pull/3720) (account status endpoints).

View file

@ -1 +0,0 @@
Add some logging to `/sync` to try and track down #11916.

View file

@ -1 +0,0 @@
Minor typing fixes.

View file

@ -1 +0,0 @@
Remove legacy `HomeServer.get_datastore()`.

View file

@ -1 +0,0 @@
Add type hints to `tests/rest/client`.

View file

@ -1 +0,0 @@
Remove the unstable `/spaces` endpoint from [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946).

View file

@ -1 +0,0 @@
Fix a long-standing bug where Synapse would make additional failing requests over federation for missing data.

View file

@ -1 +0,0 @@
Add type hints to `tests/rest/client`.

View file

@ -1 +0,0 @@
Inspect application dependencies using `importlib.metadata` or its backport.

View file

@ -1 +0,0 @@
Fix occasional 'Unhandled error in Deferred' error message.

View file

@ -1 +0,0 @@
User `assertEqual` instead of the deprecated `assertEquals` in test code.

View file

@ -1 +0,0 @@
Add type hints to `tests/rest/client`.

View file

@ -1 +0,0 @@
Fix a bug introduced in Synapse 1.51.0rc1 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`.

View file

@ -1 +0,0 @@
Move experimental support for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) to /versions.

View file

@ -1 +0,0 @@
Fix a long-standing bug which could cause push notifications to malfunction if `use_frozen_dicts` was set in the configuration.

View file

@ -1 +0,0 @@
Fix an extremely rare, long-standing bug in `ReadWriteLock` that would cause an error when a newly unblocked writer completes instantly.

View file

@ -1 +0,0 @@
Add `stop_cancellation` utility function to stop `Deferred`s from being cancelled.

View file

@ -1 +0,0 @@
Improve exception handling for concurrent execution.

View file

@ -1 +0,0 @@
Advertise support for Python 3.10 in packaging files.

View file

@ -1 +0,0 @@
Use Python 3.9 in Docker images by default.

View file

@ -1 +0,0 @@
Move CI checks out of tox, to facilitate a move to using poetry.

6
debian/changelog vendored
View file

@ -1,3 +1,9 @@
matrix-synapse-py3 (1.54.0~rc1) stable; urgency=medium
* New synapse release 1.54.0~rc1.
-- Synapse Packaging team <packages@matrix.org> Wed, 02 Mar 2022 10:43:22 +0000
matrix-synapse-py3 (1.53.0) stable; urgency=medium
* New synapse release 1.53.0.

View file

@ -47,7 +47,7 @@ try:
except ImportError:
pass
__version__ = "1.53.0"
__version__ = "1.54.0rc1"
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
# We import here so that we don't have to install a bunch of deps when