Synapse 1.114.0 (2024-09-02)
This release enables support for MSC4186 — Simplified Sliding Sync. This allows using the upcoming releases of the Element X mobile apps without having to run a Sliding Sync Proxy.
Features
Synapse 1.114.0rc3 (2024-08-30)
Bugfixes
- Fix regression in v1.114.0rc2 that caused workers to fail to start. (#17626)
Synapse 1.114.0rc2 (2024-08-30)
Features
- Improve cross-signing upload when using MSC3861 to use a custom UIA flow stage, with web fallback support. (#17509)
- Make
hash_password
script accept password input from stdin. (#17608)
Bugfixes
- Fix hierarchy returning 403 when room is accessible through federation. Contributed by Krishan (@kfiven). (#17194)
- Fix content-length on federation
/thumbnail
responses. (#17532) - Fix authenticated media responses using a wrong limit when following redirects over federation. (#17543)
Internal Changes
- MSC3861: load the issuer and account management URLs from OIDC discovery. (#17407)
- Refactor sliding sync class into multiple files. (#17595)
- Store sliding sync per-connection state in the database. (#17599)
- Make the sliding sync
PerConnectionState
class immutable. (#17600) - Add support to
@tag_args
for standalone functions. (#17604) - Speed up incremental syncs in sliding sync by adding some more caching. (#17606)
- Always return the user's own read receipts in sliding sync. (#17617)
- Replace
isort
andblack
withruff
. (#17620) - Refactor sliding sync code to move room list logic out into a separate class. (#17622)
Updates to locked dependencies
- Bump attrs from 23.2.0 to 24.2.0. (#17609)
- Bump cryptography from 42.0.8 to 43.0.0. (#17584)
- Bump phonenumbers from 8.13.43 to 8.13.44. (#17610)
- Bump pygithub from 2.3.0 to 2.4.0. (#17612)
- Bump pyyaml from 6.0.1 to 6.0.2. (#17611)
- Bump sentry-sdk from 2.12.0 to 2.13.0. (#17585)
- Bump serde from 1.0.206 to 1.0.208. (#17581)
- Bump serde from 1.0.208 to 1.0.209. (#17613)
- Bump serde_json from 1.0.124 to 1.0.125. (#17582)
- Bump serde_json from 1.0.125 to 1.0.127. (#17614)
- Bump types-jsonschema from 4.23.0.20240712 to 4.23.0.20240813. (#17583)
- Bump types-setuptools from 71.1.0.20240726 to 71.1.0.20240818. (#17586)
Synapse 1.114.0rc1 (2024-08-20)
Features
- Add a flag to
/versions
,org.matrix.simplified_msc3575
, to indicate whether experimental sliding sync support has been enabled. (#17571) - Handle changes in
timeline_limit
in experimental sliding sync. (#17579) - Correctly track read receipts that should be sent down in experimental sliding sync. (#17575, #17589, #17592)
Bugfixes
- Start handlers for new media endpoints when media resource configured. (#17483)
- Fix timeline ordering (using
stream_ordering
instead of topological ordering) in experimental MSC3575 Sliding Sync/sync
endpoint. (#17510) - Fix experimental sliding sync implementation to remember any updates in rooms that were not sent down immediately. (#17535)
- Better exclude partially stated rooms if we must await full state in experimental MSC3575 Sliding Sync
/sync
endpoint. (#17538) - Handle lower-case http headers in
_Mulitpart_Parser_Protocol
. (#17545) - Fix fetching federation signing keys from servers that omit
old_verify_keys
. Contributed by @tulir @ Beeper. (#17568) - Fix bug where we would respond with an error when a remote server asked for media that had a length of 0, using the new multipart federation media endpoint. (#17570)
Improved Documentation
- Clarify default behaviour of the
auto_accept_invites.worker_to_run_on
option. (#17515) - Improve docstrings for profile methods. (#17559)
Internal Changes
- Add more tracing to experimental MSC3575 Sliding Sync
/sync
endpoint. (#17514) - Fixup comment in sliding sync implementation. (#17531)
- Replace override of deprecated method
HTTPAdapter.get_connection
withget_connection_with_tls_context
. (#17536) - Fix performance of device lists in
/key/changes
and sliding sync. (#17537, #17548) - Bump setuptools from 67.6.0 to 72.1.0. (#17542)
- Add a utility function for generating random event IDs. (#17557)
- Speed up responding to media requests. (#17558, #17561, #17564, #17566, #17567, #17569)
- Test github token before running release script steps. (#17562)
- Reduce log spam of multipart files. (#17563)
- Refactor per-connection state in experimental sliding sync handler. (#17574)
- Add histogram metrics for sliding sync processing time. (#17593)
Updates to locked dependencies
- Bump bytes from 1.6.1 to 1.7.1. (#17526)
- Bump lxml from 5.2.2 to 5.3.0. (#17550)
- Bump phonenumbers from 8.13.42 to 8.13.43. (#17551)
- Bump regex from 1.10.5 to 1.10.6. (#17527)
- Bump sentry-sdk from 2.10.0 to 2.12.0. (#17553)
- Bump serde from 1.0.204 to 1.0.206. (#17556)
- Bump serde_json from 1.0.122 to 1.0.124. (#17555)
- Bump sigstore/cosign-installer from 3.5.0 to 3.6.0. (#17549)
- Bump types-pyyaml from 6.0.12.20240311 to 6.0.12.20240808. (#17552)
- Bump types-requests from 2.31.0.20240406 to 2.32.0.20240712. (#17524)