Releases: element-hq/synapse
Releases · element-hq/synapse
v1.110.0
Synapse 1.110.0 (2024-07-03)
No significant changes since 1.110.0rc3.
Synapse 1.110.0rc3 (2024-07-02)
Bugfixes
- Fix bug where
/sync
requests could get blocked indefinitely after an upgrade from Synapse versions before v1.109.0. (#17386, #17391)
Internal Changes
- Limit size of presence EDUs to 50 entries. (#17371)
- Fix building debian package for debian sid. (#17389)
Synapse 1.110.0rc2 (2024-06-26)
Internal Changes
- Fix uploading packages to PyPi. (#17363)
Synapse 1.110.0rc1 (2024-06-26)
Features
- Add initial implementation of an experimental MSC3575 Sliding Sync
/sync
endpoint. (#17187, #17301)- Native sliding sync support is coming, but is not yet ready for usage outside of initial client development and testing. Expect to see much more on this feature in the next few Synapse releases.
- Add experimental support for MSC3823 - Account suspension. (#17255)
- Improve ratelimiting in Synapse. (#17256)
- Add support for the unstable MSC4151 report room API. (#17270, #17296)
- Filter for public and empty rooms added to Admin-API List Room API. (#17276)
- Add
is_dm
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17277) - Add
is_encrypted
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17281) - Include user membership in events served to clients, per MSC4115. (#17282)
- Do not require user-interactive authentication for uploading cross-signing keys for the first time, per MSC3967. (#17284)
- Add
stream_ordering
sort to experimental MSC3575 Sliding Sync/sync
endpoint. (#17293) register_new_matrix_user
now supports a --password-file flag, which
is useful for scripting. (#17294)register_new_matrix_user
now supports a --exists-ok flag to allow registration of users that already exist in the database.
This is useful for scripts that bootstrap user accounts with initial passwords. (#17304)- Add support for via query parameter from MSC4156. (#17322)
- Add
is_invite
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17335) - Support MSC3916 by adding a federation /download endpoint. (#17350)
Bugfixes
- Fix searching for users with their exact localpart whose ID includes a hyphen. (#17254)
- Fix wrong retention policy being used when filtering events. (#17272)
- Fix bug where OTKs were not always included in
/sync
response when using workers. (#17275) - Fix a long-standing bug where an invalid 'from' parameter to
/notifications
would result in an Internal Server Error. (#17283) - Fix edge case in
/sync
returning the wrong the state when using sharded event persisters. (#17295) - Fix email notification subject when invited to a space. (#17336)
Improved Documentation
- Add missing quotes for example for
exclude_rooms_from_sync
. (#17308) - Update header in the README to visually fix the the auto-generated table of contents. (#17329)
- Fix stale references to the Foundation's Security Disclosure Policy. (#17341)
- Add default values for
rc_invites.per_issuer
to docs. (#17347) - Fix an error in the docs for
search_all_users
parameter underuser_directory
. (#17348)
Internal Changes
- Remove unused
expire_access_token
option in the Synapse Docker config file. Contributed by @AaronDewes. (#17198) - Use fully-qualified
PersistedEventPosition
when returningRoomsForUser
to facilitate proper comparisons andRoomStreamToken
generation. (#17265) - Add debug logging for when room keys are uploaded, including whether they are replacing other room keys. (#17266)
- Handle OTK uploads off master. (#17271)
- Don't try and resync devices for remote users whose servers are marked as down. (#17273)
- Re-organize Pydantic models and types used in handlers. (#17279)
- Expose the worker instance that persisted the event on
event.internal_metadata.instance_name
. (#17300) - Update the README with Element branding, improve headers and fix the #synapse:matrix.org support room link rendering. (#17324)
- Change path of the experimental MSC3575 Sliding Sync implementation to
/org.matrix.simplified_msc3575/sync
since our simplified API is slightly incompatible with what's in the current MSC. (#17331) - Handle device lists notifications for large accounts more efficiently in worker mode. (#17333, #17358)
- Do not block event sending/receiving while calculating large event auth chains. (#17338)
- Tidy up
parse_integer
docs and call sites to reflect the fact that they require non-negative integers by default, and bringparse_integer_from_args
default in alignment. Contributed by Denis Kasak (@dkasak). (#17339)
Updates to locked dependencies
- Bump authlib from 1.3.0 to 1.3.1. (#17343)
- Bump dawidd6/action-download-artifact from 3.1.4 to 5. (#17289)
- Bump dawidd6/action-download-artifact from 5 to 6. (#17313)
- Bump docker/build-push-action from 5 to 6. (#17312)
- Bump jinja2 from 3.1.3 to 3.1.4. (#17287)
- Bump lazy_static from 1.4.0 to 1.5.0. (#17355)
- Bump msgpack from 1.0.7 to 1.0.8. (#17317)
- Bump netaddr from 1.2.1 to 1.3.0. (#17353)
- Bump packaging from 24.0 to 24.1. (#17352)
- Bump phonenumbers from 8.13.37 to 8.13.39. (#17315)
- Bump regex from 1.10.4 to 1.10.5. (#17290)
- Bump requests from 2.31.0 to 2.32.2. (#17345)
- Bump sentry-sdk from 2.1.1 to 2.3.1. (#17263)
- Bump sentry-sdk from 2.3.1 to 2.6.0. (#17351)
- Bump tornado from 6.4 to 6.4.1. (#17344)
- Bump mypy from 1.8.0 to 1.9.0. (#17297)
- Bump types-jsonsc...
v1.110.0rc3
Synapse 1.110.0rc3 (2024-07-02)
Bugfixes
- Fix bug where
/sync
requests could get blocked indefinitely after an upgrade from Synapse versions before v1.109.0. (#17386, [#17391](https://github.com/
/issues/17391))
Internal Changes
v1.110.0rc2
v1.110.0rc1
Synapse 1.110.0rc1 (2024-06-26)
Features
- Add initial implementation of an experimental MSC3575 Sliding Sync
/sync
endpoint. (#17187) - Add experimental support for MSC3823 - Account suspension. (#17255)
- Improve ratelimiting in Synapse. (#17256)
- Add support for the unstable MSC4151 report room API. (#17270, #17296)
- Filter for public and empty rooms added to Admin-API List Room API. (#17276)
- Add
is_dm
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17277) - Add
is_encrypted
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17281) - Include user membership in events served to clients, per MSC4115. (#17282)
- Do not require user-interactive authentication for uploading cross-signing keys for the first time, per MSC3967. (#17284)
- Add
stream_ordering
sort to experimental MSC3575 Sliding Sync/sync
endpoint. (#17293) register_new_matrix_user
now supports a --password-file flag, which
is useful for scripting. (#17294)register_new_matrix_user
now supports a --exists-ok flag to allow registration of users that already exist in the database.
This is useful for scripts that bootstrap user accounts with initial passwords. (#17304)- Add support for via query parameter from MSC4156. (#17322)
- Add
is_invite
filtering to experimental MSC3575 Sliding Sync/sync
endpoint. (#17335) - Support MSC3916 by adding a federation /download endpoint. (#17350)
Bugfixes
- Fix searching for users with their exact localpart whose ID includes a hyphen. (#17254)
- Fix wrong retention policy being used when filtering events. (#17272)
- Fix bug where OTKs were not always included in
/sync
response when using workers. (#17275) - Fix a long-standing bug where an invalid 'from' parameter to
/notifications
would result in an Internal Server Error. (#17283) - Fix edge case in
/sync
returning the wrong the state when using sharded event persisters. (#17295) - Add initial implementation of an experimental MSC3575 Sliding Sync
/sync
endpoint. (#17301) - Fix email notification subject when invited to a space. (#17336)
Improved Documentation
- Add missing quotes for example for
exclude_rooms_from_sync
. (#17308) - Update header in the README to visually fix the the auto-generated table of contents. (#17329)
- Fix stale references to the Foundation's Security Disclosure Policy. (#17341)
- Add default values for
rc_invites.per_issuer
to docs. (#17347) - Fix an error in the docs for
search_all_users
parameter underuser_directory
. (#17348)
Internal Changes
- Remove unused
expire_access_token
option in the Synapse Docker config file. Contributed by @AaronDewes. (#17198) - Use fully-qualified
PersistedEventPosition
when returningRoomsForUser
to facilitate proper comparisons andRoomStreamToken
generation. (#17265) - Add debug logging for when room keys are uploaded, including whether they are replacing other room keys. (#17266)
- Handle OTK uploads off master. (#17271)
- Don't try and resync devices for remote users whose servers are marked as down. (#17273)
- Re-organize Pydantic models and types used in handlers. (#17279)
- Expose the worker instance that persisted the event on
event.internal_metadata.instance_name
. (#17300) - Update the README with Element branding, improve headers and fix the #synapse:matrix.org support room link rendering. (#17324)
- Change path of the experimental MSC3575 Sliding Sync implementation to
/org.matrix.simplified_msc3575/sync
since our simplified API is slightly incompatible with what's in the current MSC. (#17331) - Handle device lists notifications for large accounts more efficiently in worker mode. (#17333, #17358)
- Do not block event sending/receiving while calculating large event auth chains. (#17338)
- Tidy up
parse_integer
docs and call sites to reflect the fact that they require non-negative integers by default, and bringparse_integer_from_args
default in alignment. Contributed by Denis Kasak (@dkasak). (#17339)
Updates to locked dependencies
- Bump authlib from 1.3.0 to 1.3.1. (#17343)
- Bump dawidd6/action-download-artifact from 3.1.4 to 5. (#17289)
- Bump dawidd6/action-download-artifact from 5 to 6. (#17313)
- Bump docker/build-push-action from 5 to 6. (#17312)
- Bump jinja2 from 3.1.3 to 3.1.4. (#17287)
- Bump lazy_static from 1.4.0 to 1.5.0. (#17355)
- Bump msgpack from 1.0.7 to 1.0.8. (#17317)
- Bump netaddr from 1.2.1 to 1.3.0. (#17353)
- Bump packaging from 24.0 to 24.1. (#17352)
- Bump phonenumbers from 8.13.37 to 8.13.39. (#17315)
- Bump regex from 1.10.4 to 1.10.5. (#17290)
- Bump requests from 2.31.0 to 2.32.2. (#17345)
- Bump sentry-sdk from 2.1.1 to 2.3.1. (#17263)
- Bump sentry-sdk from 2.3.1 to 2.6.0. (#17351)
- Bump tornado from 6.4 to 6.4.1. (#17344)
- Bump mypy from 1.8.0 to 1.9.0. (#17297)
- Bump types-jsonschema from 4.21.0.20240311 to 4.22.0.20240610. (#17288)
- Bump types-netaddr from 1.2.0.20240219 to 1.3.0.20240530. (#17314)
- Bump types-pillow from 10.2.0.20240423 to 10.2.0.20240520. (#17285)
- Bump types-pyyaml from 6.0.12.12 to 6.0.12.20240311. (#17316)
- Bump typing-extensions from 4.11.0 to 4.12.2. (#17354)
- Bump urllib3 from 2.0.7 to 2.2.2. (#17346)
v1.109.0
Synapse 1.109.0 (2024-06-18)
Internal Changes
- Fix the building of binary wheels for macOS by switching to macOS 12 CI runners. (#17319)
Synapse 1.109.0rc3 (2024-06-17)
Bugfixes
- When rolling back to a previous Synapse version and then forwards again to this release, don't require server operators to manually run SQL. (#17305, #17309)
Internal Changes
- Use the release branch for sytest in release-branch PRs. (#17306)
Synapse 1.109.0rc2 (2024-06-11)
Bugfixes
- Fix bug where one-time-keys were not always included in
/sync
response when using workers. Introduced in v1.109.0rc1. (#17275) - Fix bug where
/sync
could get stuck due to edge case in device lists handling. Introduced in v1.109.0rc1. (#17292)
Synapse 1.109.0rc1 (2024-06-04)
Features
- Add the ability to auto-accept invites on the behalf of users. See the
auto_accept_invites
config option for details. (#17147) - Add experimental MSC3575 Sliding Sync
/sync/e2ee
endpoint for to-device messages and device encryption info. (#17167) - Support MSC3916 by adding unstable media endpoints to
/_matrix/client
. (#17213) - Add logging to tasks managed by the task scheduler, showing CPU and database usage. (#17219)
Bugfixes
- Fix deduplicating of membership events to not create unused state groups. (#17164)
- Fix bug where duplicate events could be sent down sync when using workers that are overloaded. (#17215)
- Ignore attempts to send to-device messages to bad users, to avoid log spam when we try to connect to the bad server. (#17240)
- Fix handling of duplicate concurrent uploading of device one-time-keys. (#17241)
- Fix reporting of default tags to Sentry, such as worker name. Broke in v1.108.0. (#17251)
- Fix bug where typing updates would not be sent when using workers after a restart. (#17252)
Improved Documentation
- Update the LemonLDAP documentation to say that claims should be explicitly included in the returned
id_token
, as Synapse won't request them. (#17204)
Internal Changes
- Improve DB usage when fetching related events. (#17083)
- Log exceptions when failing to auto-join new user according to the
auto_join_rooms
option. (#17176) - Reduce work of calculating outbound device lists updates. (#17211)
- Improve performance of calculating device lists changes in
/sync
. (#17216) - Move towards using
MultiWriterIdGenerator
everywhere. (#17226) - Replaces all usages of
StreamIdGenerator
withMultiWriterIdGenerator
. (#17229) - Change the
allow_unsafe_locale
config option to also apply when setting up new databases. (#17238) - Fix errors in logs about closing incorrect logging contexts when media gets rejected by a module. (#17239, #17246)
- Clean out invalid destinations from
device_federation_outbox
table. (#17242) - Stop logging errors when receiving invalid User IDs in key querys requests. (#17250)
Updates to locked dependencies
- Bump anyhow from 1.0.83 to 1.0.86. (#17220)
- Bump bcrypt from 4.1.2 to 4.1.3. (#17224)
- Bump lxml from 5.2.1 to 5.2.2. (#17261)
- Bump mypy-zope from 1.0.3 to 1.0.4. (#17262)
- Bump phonenumbers from 8.13.35 to 8.13.37. (#17235)
- Bump prometheus-client from 0.19.0 to 0.20.0. (#17233)
- Bump pyasn1 from 0.5.1 to 0.6.0. (#17223)
- Bump pyicu from 2.13 to 2.13.1. (#17236)
- Bump pyopenssl from 24.0.0 to 24.1.0. (#17234)
- Bump serde from 1.0.201 to 1.0.202. (#17221)
- Bump serde from 1.0.202 to 1.0.203. (#17232)
- Bump twine from 5.0.0 to 5.1.0. (#17225)
- Bump types-psycopg2 from 2.9.21.20240311 to 2.9.21.20240417. (#17222)
- Bump types-pyopenssl from 24.0.0.20240311 to 24.1.0.20240425. (#17260)
v1.109.0rc3
v1.109.0rc2
v1.109.0rc1
Synapse 1.109.0rc1 (2024-06-04)
Features
- Add the ability to auto-accept invites on the behalf of users. See the
auto_accept_invites
config option for details. (#17147) - Add experimental MSC3575 Sliding Sync
/sync/e2ee
endpoint for to-device messages and device encryption info. (#17167) - Support MSC3916 by adding unstable media endpoints to
/_matrix/client
. (#17213) - Add logging to tasks managed by the task scheduler, showing CPU and database usage. (#17219)
Bugfixes
- Fix deduplicating of membership events to not create unused state groups. (#17164)
- Fix bug where duplicate events could be sent down sync when using workers that are overloaded. (#17215)
- Ignore attempts to send to-device messages to bad users, to avoid log spam when we try to connect to the bad server. (#17240)
- Fix handling of duplicate concurrent uploading of device one-time-keys. (#17241)
- Fix reporting of default tags to Sentry, such as worker name. Broke in v1.108.0. (#17251)
- Fix bug where typing updates would not be sent when using workers after a restart. (#17252)
Improved Documentation
- Update the LemonLDAP documentation to say that claims should be explicitly included in the returned
id_token
, as Synapse won't request them. (#17204)
Internal Changes
- Improve DB usage when fetching related events. (#17083)
- Log exceptions when failing to auto-join new user according to the
auto_join_rooms
option. (#17176) - Reduce work of calculating outbound device lists updates. (#17211)
- Improve performance of calculating device lists changes in
/sync
. (#17216) - Move towards using
MultiWriterIdGenerator
everywhere. (#17226) - Replaces all usages of
StreamIdGenerator
withMultiWriterIdGenerator
. (#17229) - Change the
allow_unsafe_locale
config option to also apply when setting up new databases. (#17238) - Fix errors in logs about closing incorrect logging contexts when media gets rejected by a module. (#17239, #17246)
- Clean out invalid destinations from
device_federation_outbox
table. (#17242) - Stop logging errors when receiving invalid User IDs in key querys requests. (#17250)
Updates to locked dependencies
- Bump anyhow from 1.0.83 to 1.0.86. (#17220)
- Bump bcrypt from 4.1.2 to 4.1.3. (#17224)
- Bump lxml from 5.2.1 to 5.2.2. (#17261)
- Bump mypy-zope from 1.0.3 to 1.0.4. (#17262)
- Bump phonenumbers from 8.13.35 to 8.13.37. (#17235)
- Bump prometheus-client from 0.19.0 to 0.20.0. (#17233)
- Bump pyasn1 from 0.5.1 to 0.6.0. (#17223)
- Bump pyicu from 2.13 to 2.13.1. (#17236)
- Bump pyopenssl from 24.0.0 to 24.1.0. (#17234)
- Bump serde from 1.0.201 to 1.0.202. (#17221)
- Bump serde from 1.0.202 to 1.0.203. (#17232)
- Bump twine from 5.0.0 to 5.1.0. (#17225)
- Bump types-psycopg2 from 2.9.21.20240311 to 2.9.21.20240417. (#17222)
- Bump types-pyopenssl from 24.0.0.20240311 to 24.1.0.20240425. (#17260)
v1.108.0
Synapse 1.108.0 (2024-05-28)
No significant changes since 1.108.0rc1.
Synapse 1.108.0rc1 (2024-05-21)
Features
- Add a feature that allows clients to query the configured federation whitelist. Disabled by default. (#16848, #17199)
- Add the ability to allow numeric user IDs with a specific prefix when in the CAS flow. Contributed by Aurélien Grimpard. (#17098)
Bugfixes
- Fix bug where push rules would be empty in
/sync
for some accounts. Introduced in v1.93.0. (#17142) - Add support for optional whitespace around the Federation API's
Authorization
header's parameter commas. (#17145) - Fix bug where disabling room publication prevented public rooms being created on workers. (#17177, #17184)
Improved Documentation
- Document
/v1/make_knock
and/v1/send_knock/
federation endpoints as worker-compatible. (#17058) - Update User Admin API with note about prefixing OIDC external_id providers. (#17139)
- Clarify the state of the created room when using the
autocreate_auto_join_room_preset
config option. (#17150) - Update the Admin FAQ with the current libjemalloc version for latest Debian stable. Additionally update the name of the "push_rules" stream in the Workers documentation. (#17171)
Internal Changes
- Add note to reflect that MSC3886 is closed but will remain supported for some time. (#17151)
- Update dependency PyO3 to 0.21. (#17162)
- Fixes linter errors found in PR #17147. (#17166)
- Bump black from 24.2.0 to 24.4.2. (#17170)
- Cache literal sync filter validation for performance. (#17186)
- Improve performance by fixing a reactor pause. (#17192)
- Route
/make_knock
and/send_knock
federation APIs to the federation reader worker in Complement test runs. (#17195) - Prepare sync handler to be able to return different sync responses (
SyncVersion
). (#17200) - Organize the sync cache key parameter outside of the sync config (separate concerns). (#17201)
- Refactor
SyncResultBuilder
assembly to its own function. (#17202) - Rename to be obvious:
joined_rooms
->joined_room_ids
. (#17203, #17208) - Add a short pause when rate-limiting a request. (#17210)
Updates to locked dependencies
v1.108.0rc1
Synapse 1.108.0rc1 (2024-05-21)
Features
- Add a feature that allows clients to query the configured federation whitelist. Disabled by default. (#16848, #17199)
- Add the ability to allow numeric user IDs with a specific prefix when in the CAS flow. Contributed by Aurélien Grimpard. (#17098)
Bugfixes
- Fix bug where push rules would be empty in
/sync
for some accounts. Introduced in v1.93.0. (#17142) - Add support for optional whitespace around the Federation API's
Authorization
header's parameter commas. (#17145) - Fix bug where disabling room publication prevented public rooms being created on workers. (#17177, #17184)
Improved Documentation
- Document
/v1/make_knock
and/v1/send_knock/
federation endpoints as worker-compatible. (#17058) - Update User Admin API with note about prefixing OIDC external_id providers. (#17139)
- Clarify the state of the created room when using the
autocreate_auto_join_room_preset
config option. (#17150) - Update the Admin FAQ with the current libjemalloc version for latest Debian stable. Additionally update the name of the "push_rules" stream in the Workers documentation. (#17171)
Internal Changes
- Add note to reflect that MSC3886 is closed but will remain supported for some time. (#17151)
- Update dependency PyO3 to 0.21. (#17162)
- Fixes linter errors found in PR #17147. (#17166)
- Bump black from 24.2.0 to 24.4.2. (#17170)
- Cache literal sync filter validation for performance. (#17186)
- Improve performance by fixing a reactor pause. (#17192)
- Route
/make_knock
and/send_knock
federation APIs to the federation reader worker in Complement test runs. (#17195) - Prepare sync handler to be able to return different sync responses (
SyncVersion
). (#17200) - Organize the sync cache key parameter outside of the sync config (separate concerns). (#17201)
- Refactor
SyncResultBuilder
assembly to its own function. (#17202) - Rename to be obvious:
joined_rooms
->joined_room_ids
. (#17203, #17208) - Add a short pause when rate-limiting a request. (#17210)