Releases: matrix-org/synapse
v1.98.0
Synapse 1.98.0 (2023-12-12)
Synapse 1.98.0 will be the last Synapse release in 2023; the regular release cadence will resume in January 2024.
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual announcements channels,
but we are striving to make this as seamless as possible.
No significant changes since 1.98.0rc1.
Synapse 1.98.0rc1 (2023-12-05)
Features
- Synapse now declares support for Matrix v1.7, v1.8, and v1.9. (#16707)
- Add
on_user_login
module API callback for when a user logs in. (#15207) - Support MSC4069: Inhibit profile propagation. (#16636)
- Restore tracking of requests and monthly active users when delegating authentication via MSC3861 to an OIDC provider. (#16672)
- Add an autojoin setting for server notices rooms, so users may be joined directly instead of receiving an invite. (#16699)
- Follow redirects when downloading media over federation (per MSC3860). (#16701)
Bugfixes
- Enable refreshable tokens on the admin registration endpoint. (#16642)
- Consistently bypass rate limits when using the server notice admin API. (#16670)
- Fix a bug introduced in Synapse 1.7.2 where rooms whose power levels lacked an
events
field could not be upgraded. (#16725) - Fix
GET /_synapse/admin/v1/federation/destinations
admin API returning null (instead of 0) forretry_last_ts
andretry_interval
. (#16729)
Improved Documentation
- Add schema rollback information to documentation. (#16661)
- Fix poetry version typo in the contributors' guide. (#16695)
- Switch the example UNIX socket paths to
/run
. Add HAProxy example configuration for UNIX sockets. (#16700) - Add documentation for how to validate the configuration file with
synapse.config
script. (#16714)
Internal Changes
- Clean-up unused tables. (#16522)
- Reduce a little database load while processing state auth chains. (#16552)
- Reduce database load of pruning old
user_ips
. (#16667) - Reduce DB load when forget on leave setting is disabled. (#16668)
- Ignore
encryption_enabled_by_default_for_room_type
setting when creating server notices room, since the notices will be send unencrypted anyway. (#16677) - Correctly read the to-device stream ID on startup using SQLite. (#16682)
- Reoranganise test files. (#16684)
- Remove old full schema dumps which are no longer used. (#16697)
- Raise poetry-core upper bound to <=1.8.1. This allows contributors to import Synapse after
poetry install
ing with Poetry 1.6 and above. Contributed by Mo Balaa. (#16702) - Add a workflow to try and automatically fixup linting in a PR. (#16704)
Updates to locked dependencies
- Bump cryptography from 41.0.5 to 41.0.6. (#16703)
- Bump cryptography from 41.0.6 to 41.0.7. (#16721)
- Bump idna from 3.4 to 3.6. (#16720)
- Bump jsonschema from 4.19.1 to 4.20.0. (#16692)
- Bump matrix-org/netlify-pr-preview from 2 to 3. (#16719)
- Bump phonenumbers from 8.13.23 to 8.13.26. (#16722)
- Bump prometheus-client from 0.18.0 to 0.19.0. (#16691)
- Bump pyasn1 from 0.5.0 to 0.5.1. (#16689)
- Bump pydantic from 2.4.2 to 2.5.1. (#16663)
- Bump pyo3 (0.19.2→0.20.0), pythonize (0.19.0→0.20.0) and pyo3-log (0.8.1→0.9.0). (#16673)
- Bump pyopenssl from 23.2.0 to 23.3.0. (#16662)
- Bump ruff from 0.1.4 to 0.1.6. (#16690)
- Bump sentry-sdk from 1.32.0 to 1.35.0. (#16666)
- Bump serde from 1.0.192 to 1.0.193. (#16693)
- Bump sphinx-autodoc2 from 0.4.2 to 0.5.0. (#16723)
- Bump types-jsonschema from 4.19.0.4 to 4.20.0.0. (#16724)
- Bump types-pillow from 10.1.0.0 to 10.1.0.2. (#16664)
- Bump types-psycopg2 from 2.9.21.15 to 2.9.21.16. (#16665)
- Bump types-setuptools from 68.2.0.0 to 68.2.0.2. (#16688)
v1.98.0rc1
Synapse 1.98.0rc1 (2023-12-05)
Synapse 1.98.0 will be the last Synapse release in 2023; the regular release cadence will resume in January 2024.
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual announcements channels,
but we are striving to make this as seamless as possible.
Features
- Synapse now declares support for Matrix v1.7, v1.8, and v1.9. (#16707)
- Add
on_user_login
module API callback allowing to execute custom code after (on) Auth. (#15207) - Support MSC4069: Inhibit profile propagation. (#16636)
- Restore tracking of requests and monthly active users when delegating authentication via MSC3861 to an OIDC provider. (#16672)
- Add an autojoin setting for server notices rooms, so users may be joined directly instead of receiving an invite. (#16699)
- Follow redirects when downloading media over federation (per MSC3860). (#16701)
Bugfixes
- Enable refreshable tokens on the admin registration endpoint. (#16642)
- Consistently bypass rate limits when using the server notice admin API. (#16670)
- Fix a bug introduced in Synapse 1.7.2 where rooms whose power levels lacked an
events
field could not be upgraded. (#16725) - Fix
GET /_synapse/admin/v1/federation/destinations
admin API returning null (instead of 0) forretry_last_ts
andretry_interval
. (#16729)
Improved Documentation
- Add schema rollback information to documentation. (#16661)
- Fix poetry version typo in the contributors' guide. (#16695)
- Switch the example UNIX socket paths to
/run
. Add HAProxy example configuration for UNIX sockets. (#16700) - Add documentation for how to validate the configuration file with
synapse.config
script. (#16714)
Internal Changes
- Clean-up unused tables. (#16522)
- Reduce a little database load while processing state auth chains. (#16552)
- Reduce database load of pruning old
user_ips
. (#16667) - Reduce DB load when forget on leave setting is disabled. (#16668)
- Ignore
encryption_enabled_by_default_for_room_type
setting when creating server notices room, since the notices will be send unencrypted anyway. (#16677) - Correctly read the to-device stream ID on startup using SQLite. (#16682)
- Reoranganise test files. (#16684)
- Remove old full schema dumps which are no longer used. (#16697)
- Raise poetry-core upper bound to <=1.8.1. This allows contributors to import Synapse after
poetry install
ing with Poetry 1.6 and above. Contributed by Mo Balaa. (#16702) - Add a workflow to try and automatically fixup linting in a PR. (#16704)
Updates to locked dependencies
- Bump cryptography from 41.0.5 to 41.0.6. (#16703)
- Bump cryptography from 41.0.6 to 41.0.7. (#16721)
- Bump idna from 3.4 to 3.6. (#16720)
- Bump jsonschema from 4.19.1 to 4.20.0. (#16692)
- Bump matrix-org/netlify-pr-preview from 2 to 3. (#16719)
- Bump phonenumbers from 8.13.23 to 8.13.26. (#16722)
- Bump prometheus-client from 0.18.0 to 0.19.0. (#16691)
- Bump pyasn1 from 0.5.0 to 0.5.1. (#16689)
- Bump pydantic from 2.4.2 to 2.5.1. (#16663)
- Bump pyo3 (0.19.2→0.20.0), pythonize (0.19.0→0.20.0) and pyo3-log (0.8.1→0.9.0). (#16673)
- Bump pyopenssl from 23.2.0 to 23.3.0. (#16662)
- Bump ruff from 0.1.4 to 0.1.6. (#16690)
- Bump sentry-sdk from 1.32.0 to 1.35.0. (#16666)
- Bump serde from 1.0.192 to 1.0.193. (#16693)
- Bump sphinx-autodoc2 from 0.4.2 to 0.5.0. (#16723)
- Bump types-jsonschema from 4.19.0.4 to 4.20.0.0. (#16724)
- Bump types-pillow from 10.1.0.0 to 10.1.0.2. (#16664)
- Bump types-psycopg2 from 2.9.21.15 to 2.9.21.16. (#16665)
- Bump types-setuptools from 68.2.0.0 to 68.2.0.2. (#16688)
v1.97.0
Synapse 1.97.0 (2023-11-28)
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual announcements channels,
but we are striving to make this as seamless as possible.
No significant changes since 1.97.0rc1.
Synapse 1.97.0rc1 (2023-11-21)
Features
- Add support for asynchronous uploads as defined by MSC2246. Contributed by @sumnerevans at @beeper. (#15503)
- Improve the performance of some operations in multi-worker deployments. (#16613, #16616)
Bugfixes
- Fix a long-standing bug where some queries updated the same row twice. Introduced in Synapse 1.57.0. (#16609)
- Fix a long-standing bug where Synapse would not unbind third-party identifiers for Application Service users when deactivated and would not emit a compliant response. (#16617)
- Fix sending out of order
POSITION
over replication, causing additional database load. (#16639)
Improved Documentation
- Note that the option
outbound_federation_restricted_to
was added in Synapse 1.89.0, and fix a nearby formatting error. (#16628) - Update parameter information for the
/timestamp_to_event
admin API. (#16631) - Provide an example for a common encrypted media response from the admin user media API and mention possible null values. (#16654)
Internal Changes
- Remove whole table locks on push rule modifications. Contributed by Nick @ Beeper (@Fizzadar). (#16051)
- Support reactor tick timings on more types of event loops. (#16532)
- Improve type hints. (#16564, #16611, #16612)
- Avoid executing no-op queries. (#16583)
- Simplify persistence code to be per-room. (#16584)
- Use standard SQL helpers in persistence code. (#16585)
- Avoid updating the stream cache unnecessarily. (#16586)
- Improve performance when using opentracing. (#16589)
- Run push rule evaluator setup in parallel. (#16590)
- Improve tests of the SQL generator. (#16596)
- Use more generic database methods. (#16615)
- Use
dbname
instead of the deprecateddatabase
connection parameter for psycopg2. (#16618) - Add an internal Admin API endpoint to temporarily grant the ability to update an existing cross-signing key without UIA. (#16634)
- Improve references to GitHub issues. (#16637, #16638)
- More efficiently handle no-op
POSITION
over replication. (#16640, #16655) - Speed up deleting of device messages when deleting a device. (#16643)
- Speed up persisting large number of outliers. (#16649)
- Reduce max concurrency of background tasks, reducing potential max DB load. (#16656, #16660)
- Speed up purge room by adding an index to
event_push_summary
. (#16657)
Updates to locked dependencies
- Bump prometheus-client from 0.17.1 to 0.18.0. (#16626)
- Bump pyicu from 2.11 to 2.12. (#16603)
- Bump requests-toolbelt from 0.10.1 to 1.0.0. (#16659)
- Bump ruff from 0.0.292 to 0.1.4. (#16600)
- Bump serde from 1.0.190 to 1.0.192. (#16627)
- Bump serde_json from 1.0.107 to 1.0.108. (#16604)
- Bump setuptools-rust from 1.8.0 to 1.8.1. (#16601)
- Bump towncrier from 23.6.0 to 23.11.0. (#16622)
- Bump treq from 22.2.0 to 23.11.0. (#16623)
- Bump twisted from 23.8.0 to 23.10.0. (#16588)
- Bump types-bleach from 6.1.0.0 to 6.1.0.1. (#16624)
- Bump types-jsonschema from 4.19.0.3 to 4.19.0.4. (#16599)
- Bump types-pyopenssl from 23.2.0.2 to 23.3.0.0. (#16625)
- Bump types-pyyaml from 6.0.12.11 to 6.0.12.12. (#16602)
v1.97.0rc1
Synapse 1.97.0rc1 (2023-11-21)
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual announcements channels,
but we are striving to make this as seamless as possible.
Features
- Add support for asynchronous uploads as defined by MSC2246. Contributed by @sumnerevans at @beeper. (#15503)
- Improve the performance of some operations in multi-worker deployments. (#16613, #16616)
Bugfixes
- Fix a long-standing bug where some queries updated the same row twice. Introduced in Synapse 1.57.0. (#16609)
- Fix a long-standing bug where Synapse would not unbind third-party identifiers for Application Service users when deactivated and would not emit a compliant response. (#16617)
- Fix sending out of order
POSITION
over replication, causing additional database load. (#16639)
Improved Documentation
- Note that the option
outbound_federation_restricted_to
was added in Synapse 1.89.0, and fix a nearby formatting error. (#16628) - Update parameter information for the
/timestamp_to_event
admin API. (#16631) - Provide an example for a common encrypted media response from the admin user media API and mention possible null values. (#16654)
Internal Changes
- Remove whole table locks on push rule modifications. Contributed by Nick @ Beeper (@Fizzadar). (#16051)
- Support reactor tick timings on more types of event loops. (#16532)
- Improve type hints. (#16564, #16611, #16612)
- Avoid executing no-op queries. (#16583)
- Simplify persistence code to be per-room. (#16584)
- Use standard SQL helpers in persistence code. (#16585)
- Avoid updating the stream cache unnecessarily. (#16586)
- Improve performance when using opentracing. (#16589)
- Run push rule evaluator setup in parallel. (#16590)
- Improve tests of the SQL generator. (#16596)
- Use more generic database methods. (#16615)
- Use
dbname
instead of the deprecateddatabase
connection parameter for psycopg2. (#16618) - Add an internal Admin API endpoint to temporarily grant the ability to update an existing cross-signing key without UIA. (#16634)
- Improve references to GitHub issues. (#16637, #16638)
- More efficiently handle no-op
POSITION
over replication. (#16640, #16655) - Speed up deleting of device messages when deleting a device. (#16643)
- Speed up persisting large number of outliers. (#16649)
- Reduce max concurrency of background tasks, reducing potential max DB load. (#16656, #16660)
- Speed up purge room by adding an index to
event_push_summary
. (#16657)
Updates to locked dependencies
- Bump prometheus-client from 0.17.1 to 0.18.0. (#16626)
- Bump pyicu from 2.11 to 2.12. (#16603)
- Bump requests-toolbelt from 0.10.1 to 1.0.0. (#16659)
- Bump ruff from 0.0.292 to 0.1.4. (#16600)
- Bump serde from 1.0.190 to 1.0.192. (#16627)
- Bump serde_json from 1.0.107 to 1.0.108. (#16604)
- Bump setuptools-rust from 1.8.0 to 1.8.1. (#16601)
- Bump towncrier from 23.6.0 to 23.11.0. (#16622)
- Bump treq from 22.2.0 to 23.11.0. (#16623)
- Bump twisted from 23.8.0 to 23.10.0. (#16588)
- Bump types-bleach from 6.1.0.0 to 6.1.0.1. (#16624)
- Bump types-jsonschema from 4.19.0.3 to 4.19.0.4. (#16599)
- Bump types-pyopenssl from 23.2.0.2 to 23.3.0.0. (#16625)
- Bump types-pyyaml from 6.0.12.11 to 6.0.12.12. (#16602)
v1.96.1
Synapse 1.96.1 (2023-11-17)
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual
announcements channels, but we are
striving to make this as seamless as possible.
This minor release was needed only because of CI-related trouble on v1.96.0, which was never released.
Internal Changes
- Fix building of wheels in CI. (#16653)
v1.96.0
Synapse 1.96.0 (2023-11-16)
Synapse will soon be getting forked by Element under an AGPLv3.0 licence (with
CLA, for proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
Any changes needed by server administrators will be communicated via our usual
announcements channels, but we are striving to make this as seamless as possible.
Bugfixes
- Fix "'int' object is not iterable" error in
set_device_id_for_pushers
background update introduced in Synapse 1.95.0. (#16594)
Synapse 1.96.0rc1 (2023-10-31)
Features
- Add experimental support to allow multiple workers to write to receipts stream. (#16432)
- Add a new module API for controller presence. (#16544)
- Add a new module API callback that allows adding extra fields to events' unsigned section when sent down to clients. (#16549)
- Improve the performance of claiming encryption keys. (#16565, #16570)
Bugfixes
- Fixed a bug in the example Grafana dashboard that prevents it from finding the correct datasource. Contributed by @MichaelSasser. (#16471)
- Fix a long-standing, exceedingly rare edge case where the first event persisted by a new event persister worker might not be sent down
/sync
. (#16473, #16557, #16561, #16578, #16580) - Fix long-standing bug where
/sync
incorrectly did not mark a room aslimited
in a sync requests when there were missing remote events. (#16485) - Fix a bug introduced in Synapse 1.41 where HTTP(S) forward proxy authorization would fail when using basic HTTP authentication with a long
username:password
string. (#16504) - Force TLS certificate verification in user registration script. (#16530)
- Fix long-standing bug where
/sync
could tightloop after restart when using SQLite. (#16540) - Fix ratelimiting of message sending when using workers, where the ratelimit would only be applied after most of the work has been done. (#16558)
- Fix a long-standing bug where invited/knocking users would not leave during a room purge. (#16559)
Improved Documentation
- Improve documentation of presence router. (#16529)
- Add a sentence to the opentracing docs on how you can have jaeger in a different place than synapse. (#16531)
- Correctly describe the meaning of unspecified rule lists in the
alias_creation_rules
androom_list_publication_rules
config options and improve their descriptions more generally. (#16541) - Pin the recommended poetry version in contributors' guide. (#16550)
- Fix a broken link to the client breakdown in the README. (#16569)
Internal Changes
- Improve performance of delete device messages query, cf issue 16479. (#16492)
- Reduce memory allocations. (#16505)
- Improve replication performance when purging rooms. (#16510)
- Run tests against Python 3.12. (#16511)
- Run trial & integration tests in continuous integration when
.ci
directory is modified. (#16512) - Remove duplicate call to mark remote server 'awake' when using a federation sending worker. (#16515)
- Enable dirty runs on Complement CI, which is significantly faster. (#16520)
- Stop deleting from an unused table. (#16521)
- Improve type hints. (#16526, #16551)
- Fix running unit tests on Twisted trunk. (#16528)
- Reduce some spurious logging in worker mode. (#16555)
- Stop porting a table in port db that we're going to nuke and rebuild anyway. (#16563)
- Deal with warnings from running complement in CI. (#16567)
- Allow building with
setuptools_rust
1.8.0. (#16574)
Updates to locked dependencies
- Bump black from 23.10.0 to 23.10.1. (#16575)
- Bump black from 23.9.1 to 23.10.0. (#16538)
- Bump cryptography from 41.0.4 to 41.0.5. (#16572)
- Bump gitpython from 3.1.37 to 3.1.40. (#16534)
- Bump phonenumbers from 8.13.22 to 8.13.23. (#16576)
- Bump pygithub from 1.59.1 to 2.1.1. (#16535)
- Bump matrix-synapse-ldap3 from 0.2.2 to 0.3.0. (#16539)
- Bump serde from 1.0.189 to 1.0.190. (#16577)
- Bump setuptools-rust from 1.7.0 to 1.8.0. (#16574)
- Bump types-pillow from 10.0.0.3 to 10.1.0.0. (#16536)
- Bump types-psycopg2 from 2.9.21.14 to 2.9.21.15. (#16573)
- Bump types-requests from 2.31.0.2 to 2.31.0.10. (#16537)
- Bump urllib3 from 1.26.17 to 1.26.18. (#16516)
v1.96.0rc1
Synapse 1.96.0rc1 (2023-10-31)
Features
- Add experimental support to allow multiple workers to write to receipts stream. (#16432)
- Add a new module API for controller presence. (#16544)
- Add a new module API callback that allows adding extra fields to events' unsigned section when sent down to clients. (#16549)
- Improve the performance of claiming encryption keys. (#16565, #16570)
Bugfixes
- Fixed a bug in the example Grafana dashboard that prevents it from finding the correct datasource. Contributed by @MichaelSasser. (#16471)
- Fix a long-standing, exceedingly rare edge case where the first event persisted by a new event persister worker might not be sent down
/sync
. (#16473, #16557, #16561, #16578, #16580) - Fix long-standing bug where
/sync
incorrectly did not mark a room aslimited
in a sync requests when there were missing remote events. (#16485) - Fix a bug introduced in Synapse 1.41 where HTTP(S) forward proxy authorization would fail when using basic HTTP authentication with a long
username:password
string. (#16504) - Force TLS certificate verification in user registration script. (#16530)
- Fix long-standing bug where
/sync
could tightloop after restart when using SQLite. (#16540) - Fix ratelimiting of message sending when using workers, where the ratelimit would only be applied after most of the work has been done. (#16558)
- Fix a long-standing bug where invited/knocking users would not leave during a room purge. (#16559)
Improved Documentation
- Improve documentation of presence router. (#16529)
- Add a sentence to the opentracing docs on how you can have jaeger in a different place than synapse. (#16531)
- Correctly describe the meaning of unspecified rule lists in the
alias_creation_rules
androom_list_publication_rules
config options and improve their descriptions more generally. (#16541) - Pin the recommended poetry version in contributors' guide. (#16550)
- Fix a broken link to the client breakdown in the README. (#16569)
Internal Changes
- Improve performance of delete device messages query, cf issue 16479. (#16492)
- Reduce memory allocations. (#16505)
- Improve replication performance when purging rooms. (#16510)
- Run tests against Python 3.12. (#16511)
- Run trial & integration tests in continuous integration when
.ci
directory is modified. (#16512) - Remove duplicate call to mark remote server 'awake' when using a federation sending worker. (#16515)
- Enable dirty runs on Complement CI, which is significantly faster. (#16520)
- Stop deleting from an unused table. (#16521)
- Improve type hints. (#16526, #16551)
- Fix running unit tests on Twisted trunk. (#16528)
- Reduce some spurious logging in worker mode. (#16555)
- Stop porting a table in port db that we're going to nuke and rebuild anyway. (#16563)
- Deal with warnings from running complement in CI. (#16567)
- Allow building with
setuptools_rust
1.8.0. (#16574)
Updates to locked dependencies
- Bump black from 23.10.0 to 23.10.1. (#16575)
- Bump black from 23.9.1 to 23.10.0. (#16538)
- Bump cryptography from 41.0.4 to 41.0.5. (#16572)
- Bump gitpython from 3.1.37 to 3.1.40. (#16534)
- Bump phonenumbers from 8.13.22 to 8.13.23. (#16576)
- Bump pygithub from 1.59.1 to 2.1.1. (#16535)
- Bump matrix-synapse-ldap3 from 0.2.2 to 0.3.0. (#16539)
- Bump serde from 1.0.189 to 1.0.190. (#16577)
- Bump setuptools-rust from 1.7.0 to 1.8.0. (#16574)
- Bump types-pillow from 10.0.0.3 to 10.1.0.0. (#16536)
- Bump types-psycopg2 from 2.9.21.14 to 2.9.21.15. (#16573)
- Bump types-requests from 2.31.0.2 to 2.31.0.10. (#16537)
- Bump urllib3 from 1.26.17 to 1.26.18. (#16516)
v1.95.1
Synapse 1.95.1 (2023-10-31)
Security advisory
The following issue is fixed in 1.95.1.
-
GHSA-mp92-3jfm-3575 / CVE-2023-43796 — Moderate Severity
Cached device information of remote users can be queried from Synapse. This can be used to enumerate the remote users known to a homeserver.
See the advisory for more details. If you have any questions, email security@matrix.org.
v1.95.0
Synapse 1.95.0 (2023-10-24)
Internal Changes
- Build Debian packages for Ubuntu 23.10 Mantic Minotaur. (#16524)
Synapse 1.95.0rc1 (2023-10-17)
Bugfixes
- Remove legacy unspecced
knock_state_events
field returned in some responses. (#16403) - Fix a bug introduced in Synapse 1.81.0 where an
AttributeError
would be raised when_matrix/client/v3/account/whoami
is called over a unix socket. Contributed by @Sir-Photch. (#16404) - Properly return inline media when content types have parameters. (#16440)
- Prevent the purging of large rooms from timing out when Postgres is in use. The timeout which causes this issue was introduced in Synapse 1.88.0. (#16455)
- Improve the performance of purging rooms, particularly encrypted rooms. (#16457)
- Fix a bug introduced in Synapse 1.59.0 where servers could be incorrectly marked as available after an error response was received. (#16506)
Improved Documentation
- Document internal background update mechanism. (#16420)
- Fix a typo in the sql for useful SQL for admins document. (#16477)
Internal Changes
- Bump pyo3 from 0.17.1 to 0.19.2. (#16162)
- Update registration of media repository URLs. (#16419)
- Improve type hints. (#16421, #16468, #16469, #16507)
- Refactor some code to simplify and better type receipts stream adjacent code. (#16426)
- Factor out
MultiWriter
token fromRoomStreamToken
. (#16427) - Improve code comments. (#16428)
- Reduce memory allocations. (#16429, #16431, #16433, #16434, #16438, #16444)
- Remove unused method. (#16435)
- Improve rate limiting logic. (#16441)
- Do not block running of CI behind the check for sign-off on PRs. (#16454)
- Update the release script to remind releaser to check for special release notes. (#16461)
- Update complement.sh to match new public API shape. (#16466)
- Clean up logging on event persister endpoints. (#16488)
- Remove useless async job to delete device messages on sync, since we only deliver (and hence delete) up to 100 device messages at a time. (#16491)
Updates to locked dependencies
- Bump bleach from 6.0.0 to 6.1.0. (#16451)
- Bump jsonschema from 4.19.0 to 4.19.1. (#16500)
- Bump netaddr from 0.8.0 to 0.9.0. (#16453)
- Bump packaging from 23.1 to 23.2. (#16497)
- Bump pillow from 10.0.1 to 10.1.0. (#16498)
- Bump psycopg2 from 2.9.8 to 2.9.9. (#16452)
- Bump pyo3-log from 0.8.3 to 0.8.4. (#16495)
- Bump ruff from 0.0.290 to 0.0.292. (#16449)
- Bump sentry-sdk from 1.31.0 to 1.32.0. (#16496)
- Bump serde from 1.0.188 to 1.0.189. (#16494)
- Bump types-bleach from 6.0.0.4 to 6.1.0.0. (#16450)
- Bump types-jsonschema from 4.17.0.10 to 4.19.0.3. (#16499)
v1.95.0rc1
Synapse 1.95.0rc1 (2023-10-17)
Bugfixes
- Remove legacy unspecced
knock_state_events
field returned in some responses. (#16403) - Fix a bug introduced in Synapse 1.81.0 where an
AttributeError
would be raised when_matrix/client/v3/account/whoami
is called over a unix socket. Contributed by @Sir-Photch. (#16404) - Properly return inline media when content types have parameters. (#16440)
- Prevent the purging of large rooms from timing out when Postgres is in use. The timeout which causes this issue was introduced in Synapse 1.88.0. (#16455)
- Improve the performance of purging rooms, particularly encrypted rooms. (#16457)
- Fix a bug introduced in Synapse 1.59.0 where servers could be incorrectly marked as available after an error response was received. (#16506)
Improved Documentation
- Document internal background update mechanism. (#16420)
- Fix a typo in the sql for useful SQL for admins document. (#16477)
Internal Changes
- Bump pyo3 from 0.17.1 to 0.19.2. (#16162)
- Update registration of media repository URLs. (#16419)
- Improve type hints. (#16421, #16468, #16469, #16507)
- Refactor some code to simplify and better type receipts stream adjacent code. (#16426)
- Factor out
MultiWriter
token fromRoomStreamToken
. (#16427) - Improve code comments. (#16428)
- Reduce memory allocations. (#16429, #16431, #16433, #16434, #16438, #16444)
- Remove unused method. (#16435)
- Improve rate limiting logic. (#16441)
- Do not block running of CI behind the check for sign-off on PRs. (#16454)
- Update the release script to remind releaser to check for special release notes. (#16461)
- Update complement.sh to match new public API shape. (#16466)
- Clean up logging on event persister endpoints. (#16488)
- Remove useless async job to delete device messages on sync, since we only deliver (and hence delete) up to 100 device messages at a time. (#16491)
Updates to locked dependencies
- Bump bleach from 6.0.0 to 6.1.0. (#16451)
- Bump jsonschema from 4.19.0 to 4.19.1. (#16500)
- Bump netaddr from 0.8.0 to 0.9.0. (#16453)
- Bump packaging from 23.1 to 23.2. (#16497)
- Bump pillow from 10.0.1 to 10.1.0. (#16498)
- Bump psycopg2 from 2.9.8 to 2.9.9. (#16452)
- Bump pyo3-log from 0.8.3 to 0.8.4. (#16495)
- Bump ruff from 0.0.290 to 0.0.292. (#16449)
- Bump sentry-sdk from 1.31.0 to 1.32.0. (#16496)
- Bump serde from 1.0.188 to 1.0.189. (#16494)
- Bump types-bleach from 6.0.0.4 to 6.1.0.0. (#16450)
- Bump types-jsonschema from 4.17.0.10 to 4.19.0.3. (#16499)