Releases: matrix-org/synapse
v1.76.0rc2
Synapse 1.76.0rc2 (2023-01-27)
The 1.76 release is the first to enable faster joins (MSC3706 and MSC3902) by default. Admins can opt-out: see the upgrade notes for more details.
The upgrade from 1.75 to 1.76 changes the account data replication streams in a backwards-incompatible manner. Server operators running a multi-worker deployment should consult the upgrade notes.
Those who are poetry install
ing from source using our lockfile should ensure their poetry version is 1.3.2 or higher; see upgrade notes.
Bugfixes
- Faster joins: Fix a bug introduced in Synapse 1.69 where device list EDUs could fail to be handled after a restart when a faster join sync is in progress. (#14914)
Internal Changes
- Faster joins: Improve performance of looking up partial-state status of rooms. (#14917)
v1.76.0rc1
Synapse 1.76.0rc1 (2023-01-25)
Features
- Update the default room version to v10 (MSC 3904). Contributed by @FSG-Cat. (#14111)
- Adds a
set_displayname()
method to the module API for setting a user's display name. (#14629) - Add a dedicated listener configuration for
health
endpoint. (#14747) - Implement support for MSC3890: Remotely silence local notifications. (#14775)
- Implement experimental support for MSC3930: Push rules for (MSC3381) Polls. (#14787)
- Per MSC3925, bundle the whole of the replacement with any edited events, and optionally inhibit server-side replacement. (#14811)
- Faster joins: always serve a partial join response to servers that request it with the stable query param. (#14839)
- Faster joins: allow non-lazy-loading ("eager") syncs to complete after a partial join by omitting partial state rooms until they become fully stated. (#14870)
- Faster joins: request partial joins by default. Admins can opt-out of this for the time being---see the upgrade notes. (#14905)
Bugfixes
- Add index to improve performance of the
/timestamp_to_event
endpoint used for jumping to a specific date in the timeline of a room. (#14799) - Fix a long-standing bug where Synapse would exhaust the stack when processing many federation requests where the remote homeserver has disconencted early. (#14812, #14842)
- Fix rare races when using workers. (#14820)
- Fix a bug introduced in Synapse 1.64.0 when using room version 10 with frozen events enabled. (#14864)
- Fix a long-standing bug where the
populate_room_stats
background job could fail on broken rooms. (#14873) - Faster joins: Fix a bug in worker deployments where the room stats and user directory would not get updated when finishing a fast join until another event is sent or received. (#14874)
- Faster joins: Fix incompatibility with joins into restricted rooms where no local users have the ability to invite. (#14882)
- Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite. (#14910)
Updates to the Docker image
- Bump default Python version in the Dockerfile from 3.9 to 3.11. (#14875)
Improved Documentation
- Include
x_forwarded
entry in the HTTP listener example configs and remove the remainingworker_main_http_uri
entries. (#14667) - Remove duplicate commands from the Code Style documentation page; point to the Contributing Guide instead. (#14773)
- Add missing documentation for
tag
tolisteners
section. (#14803) - Updated documentation in configuration manual for
user_directory.search_all_users
. (#14818) - Add
worker_manhole
to configuration manual. (#14824) - Fix the example config missing the
id
field in application service documentation. (#14845) - Minor corrections to the logging configuration documentation. (#14868)
- Document the export user data command. Contributed by @thezaidbintariq. (#14883)
Deprecations and Removals
- Poetry 1.3.2 or higher is now required when
poetry install
ing from source. (#14860)
Internal Changes
- Faster remote room joins (worker mode): do not populate external hosts-in-room cache when sending events as this requires blocking for full state. (#14749)
- Enable Complement tests for Faster Remote Room Joins against worker-mode Synapse. (#14752)
- Add some clarifying comments and refactor a portion of the
Keyring
class for readability. (#14804) - Add local poetry config files (
poetry.toml
) to.gitignore
. (#14807) - Add missing type hints. (#14816, #14885, #14889)
- Refactor push tests. (#14819)
- Re-enable some linting that was disabled when we switched to ruff. (#14821)
- Add
cargo fmt
andcargo clippy
to the lint script. (#14822) - Drop unused table
presence
. (#14825) - Merge the two account data and the two device list replication streams. (#14826, #14833)
- Faster joins: use stable identifiers from MSC3706. (#14832, #14841)
- Add a parameter to control whether the federation client performs a partial state join. (#14843)
- Add check to avoid starting duplicate partial state syncs. (#14844)
- Bump regex from 1.7.0 to 1.7.1. (#14848)
- Add an early return when handling no-op presence updates. (#14855)
- Fix
wait_for_stream_position
to correctly wait for the right instance to advance its token. (#14856, #14872) - Bump peaceiris/actions-gh-pages from 3.9.1 to 3.9.2. (#14861)
- Bump ruff from 0.0.215 to 0.0.224. (#14862)
- Bump types-pillow from 9.4.0.0 to 9.4.0.3. (#14863)
- Always notify replication when a stream advances automatically. (#14877)
- Reduce max time we wait for stream positions. (#14881)
- Bump types-opentracing from 2.4.10 to 2.4.10.1. (#14896)
- Bump ruff from 0.0.224 to 0.0.230. (#14897)
- Bump types-requests from 2.28.11.7 to 2.28.11.8. (#14899)
- Bump types-psycopg2 from 2.9.21.2 to 2.9.21.4. (#14900)
- Bump types-commonmark from 0.9.2 to 0.9.2.1. (#14901)
- Faster joins: allow the resync process more time to fetch
/state
ids. (#14912)
v1.75.0
Synapse 1.75.0 (2023-01-17)
No significant changes since 1.75.0rc2.
Synapse 1.75.0rc2 (2023-01-12)
Bugfixes
- Fix a bug introduced in Synapse 1.75.0rc1 where device lists could be miscalculated with some sync filters. (#14810)
- Fix race where calling
/members
or/state
with anat
parameter could fail for newly created rooms, when using multiple workers. (#14817)
Synapse 1.75.0rc1 (2023-01-10)
Features
- Add a
cached
function tosynapse.module_api
that returns a decorator to cache return values of functions. (#14663) - Add experimental support for MSC3391 (removing account data). (#14714)
- Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on. (#14750)
- Support non-OpenID compliant userinfo claims for subject and picture. (#14753)
- Improve performance of
/sync
when filtering all rooms, message types, or senders. (#14786) - Improve performance of the
/hierarchy
endpoint. (#14263)
Bugfixes
- Fix the MAU Limits section of the Grafana dashboard relying on a specific
job
name for the workers of a Synapse deployment. (#14644) - Fix a bug introduced in Synapse 1.70.0 which could cause spurious
UNIQUE constraint failed
errors in therotate_notifs
background job. (#14669) - Ensure stream IDs are always updated after caches get invalidated with workers. Contributed by Nick @ Beeper (@Fizzadar). (#14723)
- Remove the unspecced
device
field from/pushrules
responses. (#14727) - Fix a bug introduced in Synapse 1.73.0 where the
picture_claim
configured underoidc_providers
was unused (the default value of"picture"
was used instead). (#14751) - Unescape HTML entities in URL preview titles making use of oEmbed responses. (#14781)
- Disable sending confirmation email when 3pid is disabled. (#14725)
Improved Documentation
- Declare support for Python 3.11. (#14673)
- Fix
target_memory_usage
being used in the description for the actualcache_autotune
sub-optiontarget_cache_memory_usage
. (#14674) - Move
email
to Server section in config file documentation. (#14730) - Fix broken links in the Synapse documentation. (#14744)
- Add missing worker settings to shared configuration documentation. (#14748)
- Document using Twitter as a OAuth 2.0 authentication provider. (#14778)
- Fix Synapse 1.74 upgrade notes to correctly explain how to install pyICU when installing Synapse from PyPI. (#14797)
- Update link to towncrier in contribution guide. (#14801)
- Use
htmltest
to check links in the Synapse documentation. (#14743)
Internal Changes
- Faster remote room joins: stream the un-partial-stating of events over replication. (#14545, #14546)
- Use ruff instead of flake8. (#14633, #14741)
- Change
handle_new_client_event
signature so that a 429 does not reach clients onPartialStateConflictError
, and internally retry when needed instead. (#14665) - Remove dependency on jQuery on reCAPTCHA page. (#14672)
- Faster joins: make
compute_state_after_events
consistent with other state-fetching functions that take aStateFilter
. (#14676) - Add missing type hints. (#14680, #14681, #14687)
- Improve type annotations for the helper methods on a
CachedFunction
. (#14685) - Check that the SQLite database file exists before porting to PostgreSQL. (#14692)
- Add
.direnv/
directory to .gitignore to prevent local state generated by the direnv development tool from being committed. (#14707) - Batch up replication requests to request the resyncing of remote users's devices. (#14716)
- If debug logging is enabled, log the
msgid
s of any to-device messages that are returned over/sync
. (#14724) - Change GHA CI job to follow best practices. (#14772)
- Switch to our fork of
dh-virtualenv
to work around an upstream Python 3.11 incompatibility. (#14774) - Skip testing built wheels for PyPy 3.7 on Linux x86_64 as we lack new required dependencies in the build environment. (#14802)
Dependabot updates
- Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2. (#14693)
- Bump anyhow from 1.0.66 to 1.0.68. (#14694)
- Bump blake2 from 0.10.5 to 0.10.6. (#14695)
- Bump serde_json from 1.0.89 to 1.0.91. (#14696)
- Bump serde from 1.0.150 to 1.0.151. (#14697)
- Bump lxml from 4.9.1 to 4.9.2. (#14698)
- Bump types-jsonschema from 4.17.0.1 to 4.17.0.2. (#14700)
- Bump sentry-sdk from 1.11.1 to 1.12.0. (#14701)
- Bump types-setuptools from 65.6.0.1 to 65.6.0.2. (#14702)
- Bump minimum PyYAML to 3.13. (#14720)
- Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1. (#14731)
- Bump towncrier from 22.8.0 to 22.12.0. (#14732)
- Bump isort from 5.10.1 to 5.11.4. (#14733)
- Bump attrs from 22.1.0 to 22.2.0. (#14734)
- Bump black from 22.10.0 to 22.12.0. (#14735)
- Bump sentry-sdk from 1.12.0 to 1.12.1. (#14736)
- Bump setuptools from 65.3.0 to 65.5.1. (#14738)
- Bump serde from 1.0.151 to 1.0.152. (#14758)
- Bump ruff from 0.0.189 to 0.0.206. (#14759)
- Bump pydantic from 1.10.2 to 1.10.4. (#14760)
- Bump gitpython from 3.1.29 to 3.1.30. (#14761)
- Bump pillow from 9.3.0 to 9.4.0. (#14762)
- Bump types-requests from 2.28.11.5 to 2.28.11.7. (#14763)
- Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3. (#14779)
- Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1. (#14791)
- Bump types-pillow from 9.3.0.4 to 9.4.0.0. (#14792)
- Bump pyopenssl from 22.1.0 to 23.0.0. (#14793)
- Bump types-setuptools from 65.6.0.2 to 65.6.0.3. (#14794)
- Bump importlib-metadata from 4.2.0 to 6.0.0. (#14795)
- Bump ruff from 0.0.206 to 0.0.215. (#14796)
v1.75.0rc2
v1.75.0rc1
Synapse 1.75.0rc1 (2023-01-10)
Features
- Add a
cached
function tosynapse.module_api
that returns a decorator to cache return values of functions. (#14663) - Add experimental support for MSC3391 (removing account data). (#14714)
- Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on. (#14750)
- Support non-OpenID compliant userinfo claims for subject and picture. (#14753)
- Improve performance of
/sync
when filtering all rooms, message types, or senders. (#14786) - Improve performance of the
/hierarchy
endpoint. (#14263)
Bugfixes
- Fix the MAU Limits section of the Grafana dashboard relying on a specific
job
name for the workers of a Synapse deployment. (#14644) - Fix a bug introduced in Synapse 1.70.0 which could cause spurious
UNIQUE constraint failed
errors in therotate_notifs
background job. (#14669) - Ensure stream IDs are always updated after caches get invalidated with workers. Contributed by Nick @ Beeper (@Fizzadar). (#14723)
- Remove the unspecced
device
field from/pushrules
responses. (#14727) - Fix a bug introduced in Synapse 1.73.0 where the
picture_claim
configured underoidc_providers
was unused (the default value of"picture"
was used instead). (#14751) - Unescape HTML entities in URL preview titles making use of oEmbed responses. (#14781)
- Disable sending confirmation email when 3pid is disabled. (#14725)
Improved Documentation
- Declare support for Python 3.11. (#14673)
- Fix
target_memory_usage
being used in the description for the actualcache_autotune
sub-optiontarget_cache_memory_usage
. (#14674) - Move
email
to Server section in config file documentation. (#14730) - Fix broken links in the Synapse documentation. (#14744)
- Add missing worker settings to shared configuration documentation. (#14748)
- Document using Twitter as a OAuth 2.0 authentication provider. (#14778)
- Fix Synapse 1.74 upgrade notes to correctly explain how to install pyICU when installing Synapse from PyPI. (#14797)
- Update link to towncrier in contribution guide. (#14801)
- Use
htmltest
to check links in the Synapse documentation. (#14743)
Internal Changes
- Faster remote room joins: stream the un-partial-stating of events over replication. (#14545, #14546)
- Use ruff instead of flake8. (#14633, #14741)
- Change
handle_new_client_event
signature so that a 429 does not reach clients onPartialStateConflictError
, and internally retry when needed instead. (#14665) - Remove dependency on jQuery on reCAPTCHA page. (#14672)
- Faster joins: make
compute_state_after_events
consistent with other state-fetching functions that take aStateFilter
. (#14676) - Add missing type hints. (#14680, #14681, #14687)
- Improve type annotations for the helper methods on a
CachedFunction
. (#14685) - Check that the SQLite database file exists before porting to PostgreSQL. (#14692)
- Add
.direnv/
directory to .gitignore to prevent local state generated by the direnv development tool from being committed. (#14707) - Batch up replication requests to request the resyncing of remote users's devices. (#14716)
- If debug logging is enabled, log the
msgid
s of any to-device messages that are returned over/sync
. (#14724) - Change GHA CI job to follow best practices. (#14772)
- Switch to our fork of
dh-virtualenv
to work around an upstream Python 3.11 incompatibility. (#14774) - Skip testing built wheels for PyPy 3.7 on Linux x86_64 as we lack new required dependencies in the build environment. (#14802)
Dependabot updates
- Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2. (#14693)
- Bump anyhow from 1.0.66 to 1.0.68. (#14694)
- Bump blake2 from 0.10.5 to 0.10.6. (#14695)
- Bump serde_json from 1.0.89 to 1.0.91. (#14696)
- Bump serde from 1.0.150 to 1.0.151. (#14697)
- Bump lxml from 4.9.1 to 4.9.2. (#14698)
- Bump types-jsonschema from 4.17.0.1 to 4.17.0.2. (#14700)
- Bump sentry-sdk from 1.11.1 to 1.12.0. (#14701)
- Bump types-setuptools from 65.6.0.1 to 65.6.0.2. (#14702)
- Bump minimum PyYAML to 3.13. (#14720)
- Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1. (#14731)
- Bump towncrier from 22.8.0 to 22.12.0. (#14732)
- Bump isort from 5.10.1 to 5.11.4. (#14733)
- Bump attrs from 22.1.0 to 22.2.0. (#14734)
- Bump black from 22.10.0 to 22.12.0. (#14735)
- Bump sentry-sdk from 1.12.0 to 1.12.1. (#14736)
- Bump setuptools from 65.3.0 to 65.5.1. (#14738)
- Bump serde from 1.0.151 to 1.0.152. (#14758)
- Bump ruff from 0.0.189 to 0.0.206. (#14759)
- Bump pydantic from 1.10.2 to 1.10.4. (#14760)
- Bump gitpython from 3.1.29 to 3.1.30. (#14761)
- Bump pillow from 9.3.0 to 9.4.0. (#14762)
- Bump types-requests from 2.28.11.5 to 2.28.11.7. (#14763)
- Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3. (#14779)
- Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1. (#14791)
- Bump types-pillow from 9.3.0.4 to 9.4.0.0. (#14792)
- Bump pyopenssl from 22.1.0 to 23.0.0. (#14793)
- Bump types-setuptools from 65.6.0.2 to 65.6.0.3. (#14794)
- Bump importlib-metadata from 4.2.0 to 6.0.0. (#14795)
- Bump ruff from 0.0.206 to 0.0.215. (#14796)
v1.74.0
Synapse 1.74.0 (2022-12-20)
Improved Documentation
- Add release note and update documentation regarding optional ICU support in user search. (#14712)
Synapse 1.74.0rc1 (2022-12-13)
Features
- Improve user search for international display names. (#14464)
- Stop using deprecated
keyIds
parameter when calling/_matrix/key/v2/server
. (#14490, #14525) - Add new
push.enabled
config option to allow opting out of push notification calculation. (#14551, #14619) - Advertise support for Matrix 1.5 on
/_matrix/client/versions
. (#14576) - Improve opentracing and logging for to-device message handling. (#14598)
- Allow selecting "prejoin" events by state keys in addition to event types. (#14642)
Bugfixes
- Fix a long-standing bug where a device list update might not be sent to clients in certain circumstances. (#14435, #14592, #14604)
- Suppress a spurious warning when
POST /rooms/<room_id>/<membership>/
,POST /join/<room_id_or_alias
, or the unspeccedPUT /join/<room_id_or_alias>/<txn_id>
receive an empty HTTP request body. (#14600) - Return spec-compliant JSON errors when unknown endpoints are requested. (#14620, #14621)
- Update html templates to load images over HTTPS. Contributed by @ashfame. (#14625)
- Fix a long-standing bug where the user directory would return 1 more row than requested. (#14631)
- Reject invalid read receipt requests with empty room or event IDs. Contributed by Nick @ Beeper (@Fizzadar). (#14632)
- Fix a bug introduced in Synapse 1.67.0 where not specifying a config file or a server URL would lead to the
register_new_matrix_user
script failing. (#14637) - Fix a long-standing bug where the user directory and room/user stats might be out of sync. (#14639, #14643)
- Fix a bug introduced in Synapse 1.72.0 where the background updates to add non-thread unique indexes on receipts would fail if they were previously interrupted. (#14650)
- Improve validation of field size limits in events. (#14664)
- Fix bugs introduced in Synapse 1.55.0 and 1.69.0 where application services would not be notified of events in the correct rooms, due to stale caches. (#14670)
Improved Documentation
- Update worker settings for
pusher
andfederation_sender
functionality. (#14493) - Add links to third party package repositories, and point to the bug which highlights Ubuntu's out-of-date packages. (#14517)
- Remove old, incorrect minimum postgres version note and replace with a link to the Dependency Deprecation Policy. (#14590)
- Add Single-Sign On setup instructions for Mastodon-based instances. (#14594)
- Change
turn_allow_guests
example value to lowercasetrue
. (#14634)
Internal Changes
- Optimise push badge count calculations. Contributed by Nick @ Beeper (@Fizzadar). (#14255)
- Faster remote room joins: stream the un-partial-stating of rooms over replication. (#14473, #14474)
- Share the
ClientRestResource
for both workers and the main process. (#14528) - Add
--editable
flag tocomplement.sh
which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. (#14548) - Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room. (#14549)
- Modernize unit tests configuration related to workers. (#14568)
- Bump jsonschema from 4.17.0 to 4.17.3. (#14591)
- Fix Rust lint CI. (#14602)
- Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1. (#14607)
- Alter some unit test environment parameters to decrease time spent running tests. (#14610)
- Switch to Go recommended installation method for
gotestfmt
template in CI. (#14611) - Bump phonenumbers from 8.13.0 to 8.13.1. (#14612)
- Bump types-setuptools from 65.5.0.3 to 65.6.0.1. (#14613)
- Bump twine from 4.0.1 to 4.0.2. (#14614)
- Bump types-requests from 2.28.11.2 to 2.28.11.5. (#14615)
- Bump cryptography from 38.0.3 to 38.0.4. (#14616)
- Remove useless cargo install with apt from Dockerfile. (#14636)
- Bump certifi from 2021.10.8 to 2022.12.7. (#14645)
- Bump flake8-bugbear from 22.10.27 to 22.12.6. (#14656)
- Bump packaging from 21.3 to 22.0. (#14657)
- Bump types-pillow from 9.3.0.1 to 9.3.0.4. (#14658)
- Bump serde from 1.0.148 to 1.0.150. (#14659)
- Bump phonenumbers from 8.13.1 to 8.13.2. (#14660)
- Bump authlib from 1.1.0 to 1.2.0. (#14661)
- Move
StateFilter
tosynapse.types
. (#14668) - Improve type hints. (#14597, #14646, #14671)
v1.74.0rc1
Synapse 1.74.0rc1 (2022-12-13)
Features
- Improve user search for international display names. (#14464)
- Stop using deprecated
keyIds
parameter when calling/_matrix/key/v2/server
. (#14490, #14525) - Add new
push.enabled
config option to allow opting out of push notification calculation. (#14551, #14619) - Advertise support for Matrix 1.5 on
/_matrix/client/versions
. (#14576) - Improve opentracing and logging for to-device message handling. (#14598)
- Allow selecting "prejoin" events by state keys in addition to event types. (#14642)
Bugfixes
- Fix a long-standing bug where a device list update might not be sent to clients in certain circumstances. (#14435, #14592, #14604)
- Suppress a spurious warning when
POST /rooms/<room_id>/<membership>/
,POST /join/<room_id_or_alias
, or the unspeccedPUT /join/<room_id_or_alias>/<txn_id>
receive an empty HTTP request body. (#14600) - Return spec-compliant JSON errors when unknown endpoints are requested. (#14620, #14621)
- Update html templates to load images over HTTPS. Contributed by @ashfame. (#14625)
- Fix a long-standing bug where the user directory would return 1 more row than requested. (#14631)
- Reject invalid read receipt requests with empty room or event IDs. Contributed by Nick @ Beeper (@Fizzadar). (#14632)
- Fix a bug introduced in Synapse 1.67.0 where not specifying a config file or a server URL would lead to the
register_new_matrix_user
script failing. (#14637) - Fix a long-standing bug where the user directory and room/user stats might be out of sync. (#14639, #14643)
- Fix a bug introduced in Synapse 1.72.0 where the background updates to add non-thread unique indexes on receipts would fail if they were previously interrupted. (#14650)
- Improve validation of field size limits in events. (#14664)
- Fix bugs introduced in Synapse 1.55.0 and 1.69.0 where application services would not be notified of events in the correct rooms, due to stale caches. (#14670)
Improved Documentation
- Update worker settings for
pusher
andfederation_sender
functionality. (#14493) - Add links to third party package repositories, and point to the bug which highlights Ubuntu's out-of-date packages. (#14517)
- Remove old, incorrect minimum postgres version note and replace with a link to the Dependency Deprecation Policy. (#14590)
- Add Single-Sign On setup instructions for Mastodon-based instances. (#14594)
- Change
turn_allow_guests
example value to lowercasetrue
. (#14634)
Internal Changes
- Optimise push badge count calculations. Contributed by Nick @ Beeper (@Fizzadar). (#14255)
- Faster remote room joins: stream the un-partial-stating of rooms over replication. (#14473, #14474)
- Share the
ClientRestResource
for both workers and the main process. (#14528) - Add
--editable
flag tocomplement.sh
which uses an editable install of Synapse for faster turn-around times whilst developing iteratively. (#14548) - Faster joins: use servers list approximation to send read receipts when in partial state instead of waiting for the full state of the room. (#14549)
- Modernize unit tests configuration related to workers. (#14568)
- Bump jsonschema from 4.17.0 to 4.17.3. (#14591)
- Fix Rust lint CI. (#14602)
- Bump JasonEtco/create-an-issue from 2.5.0 to 2.8.1. (#14607)
- Alter some unit test environment parameters to decrease time spent running tests. (#14610)
- Switch to Go recommended installation method for
gotestfmt
template in CI. (#14611) - Bump phonenumbers from 8.13.0 to 8.13.1. (#14612)
- Bump types-setuptools from 65.5.0.3 to 65.6.0.1. (#14613)
- Bump twine from 4.0.1 to 4.0.2. (#14614)
- Bump types-requests from 2.28.11.2 to 2.28.11.5. (#14615)
- Bump cryptography from 38.0.3 to 38.0.4. (#14616)
- Remove useless cargo install with apt from Dockerfile. (#14636)
- Bump certifi from 2021.10.8 to 2022.12.7. (#14645)
- Bump flake8-bugbear from 22.10.27 to 22.12.6. (#14656)
- Bump packaging from 21.3 to 22.0. (#14657)
- Bump types-pillow from 9.3.0.1 to 9.3.0.4. (#14658)
- Bump serde from 1.0.148 to 1.0.150. (#14659)
- Bump phonenumbers from 8.13.1 to 8.13.2. (#14660)
- Bump authlib from 1.1.0 to 1.2.0. (#14661)
- Move
StateFilter
tosynapse.types
. (#14668) - Improve type hints. (#14597, #14646, #14671)
v1.73.0
Synapse 1.73.0 (2022-12-06)
Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.
No significant changes since 1.73.0rc2.
Synapse 1.73.0rc2 (2022-12-01)
Bugfixes
- Fix a regression in Synapse 1.73.0rc1 where Synapse's main process would stop responding to HTTP requests when a user with a large number of devices logs in. (#14582)
Synapse 1.73.0rc1 (2022-11-29)
Features
- Speed-up
/messages
withfilter_events_for_client
optimizations. (#14527) - Improve DB performance by reducing amount of data that gets read in
device_lists_changes_in_room
. (#14534) - Adds support for handling avatar in SSO OIDC login. Contributed by @ashfame. (#13917)
- Move MSC3030
/timestamp_to_event
endpoints to stablev1
location (/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>
,/_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>
). (#14471) - Reduce database load of Client-Server endpoints which return bundled aggregations. (#14491, #14508, #14510)
- Add unstable support for an Extensible Events room version (
org.matrix.msc1767.10
) via MSC1767, MSC3931, MSC3932, and MSC3933. (#14520, #14521, #14524) - Prune user's old devices on login if they have too many. (#14038, #14580)
Bugfixes
- Fix a long-standing bug where paginating from the start of a room did not work. Contributed by @gnunicorn. (#14149)
- Fix a bug introduced in Synapse 1.58.0 where a user with presence state
org.matrix.msc3026.busy
would mistakenly be set toonline
when calling/sync
or/events
on a worker process. (#14393) - Fix a bug introduced in Synapse 1.70.0 where a receipt's thread ID was not sent over federation. (#14466)
- Fix a long-standing bug where the List media admin API would fail when processing an image with broken thumbnail information. (#14537)
- Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup. (#14574)
- In application service transactions that include the experimental
org.matrix.msc3202.device_one_time_key_counts
key, include a duplicate key oforg.matrix.msc3202.device_one_time_keys_count
to match the name proposed by MSC3202. (#14565) - Fix a bug introduced in Synapse 0.9 where Synapse would fail to fetch server keys whose IDs contain a forward slash. (#14490)
Improved Documentation
- Fixed link to 'Synapse administration endpoints'. (#14499)
Deprecations and Removals
- Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. (#14538)
Internal Changes
- Improve type hinting throughout Synapse. (#14055, #14412, #14529, #14452).
- Remove old stream ID tracking code. Contributed by Nick @beeper (@Fizzadar). (#14376, #14468)
- Remove the
worker_main_http_uri
configuration setting. This is now handled via internal replication. (#14400, #14476) - Refactor
federation_sender
andpusher
configuration loading. (#14496)
(#14509, #14573) - Faster joins: do not wait for full state when creating events to send. (#14403)
- Faster joins: filter out non local events when a room doesn't have its full state. (#14404)
- Faster joins: send events to initial list of servers if we don't have the full state yet. (#14408)
- Faster joins: use servers list approximation received during
send_join
(potentially updated with received membership events) inassert_host_in_room
. (#14515) - Fix type logic in TCP replication code that prevented correctly ignoring blank commands. (#14449)
- Remove option to skip locking of tables when performing emulated upserts, to avoid a class of bugs in future. (#14469)
scripts-dev/federation_client
: Fix routing on servers with.well-known
files. (#14479)- Reduce default third party invite rate limit to 216 invites per day. (#14487)
- Refactor conversion of device list changes in room to outbound pokes to track unconverted rows using a
(stream ID, room ID)
position instead of updating theconverted_to_destinations
flag on every row. (#14516) - Add more prompts to the bug report form. (#14522)
- Extend editorconfig rules on indent and line length to
.pyi
files. (#14526) - Run Rust CI when
Cargo.lock
changes. This is particularly useful for dependabot updates. (#14571) - Fix a possible variable shadow in
create_new_client_event
. (#14575) - Bump various dependencies in the
poetry.lock
file and in CI scripts. (#14557, #14559, #14560, #14500, #14501, #14502, #14503, #14504, #14505).
v1.73.0rc2
Synapse 1.73.0rc2 (2022-12-01)
Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.
Bugfixes
- Fix a regression in Synapse 1.73.0rc1 where Synapse's main process would stop responding to HTTP requests when a user with a large number of devices logs in. (#14582)
v1.73.0rc1
Synapse 1.73.0rc1 (2022-11-29)
NB: This release was found to have a major performance regression. We have not published Debian packages to packages.matrix.org
, not wheels to PyPI for this release; see version 1.73.0rc2 instead.
Please note that legacy Prometheus metric names have been removed in this release; see the upgrade notes for more details.
Features
- Speed-up
/messages
withfilter_events_for_client
optimizations. (#14527) - Improve DB performance by reducing amount of data that gets read in
device_lists_changes_in_room
. (#14534) - Adds support for handling avatar in SSO login. Contributed by @ashfame. (#13917)
- Move MSC3030
/timestamp_to_event
endpoints to stablev1
location (/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>
,/_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>
). (#14471) - Reduce database load of Client-Server endpoints which return bundled aggregations. (#14491, #14508, #14510)
- Add unstable support for an Extensible Events room version (
org.matrix.msc1767.10
) via MSC1767, MSC3931, MSC3932, and MSC3933. (#14520, #14521, #14524) - Prune user's old devices on login if they have too many. (#14038, #14580)
Bugfixes
- Fix a long-standing bug where paginating from the start of a room did not work. Contributed by @gnunicorn. (#14149)
- Fix a bug introduced in Synapse 1.58.0 where a user with presence state
org.matrix.msc3026.busy
would mistakenly be set toonline
when calling/sync
or/events
on a worker process. (#14393) - Fix a bug introduced in Synapse 1.70.0 where a receipt's thread ID was not sent over federation. (#14466)
- Fix a long-standing bug where the List media admin API would fail when processing an image with broken thumbnail information. (#14537)
- Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup. (#14574)
- In application service transactions that include the experimental
org.matrix.msc3202.device_one_time_key_counts
key, include a duplicate key oforg.matrix.msc3202.device_one_time_keys_count
to match the name proposed by MSC3202. (#14565) - Fix a bug introduced in Synapse 0.9 where Synapse would fail to fetch server keys whose IDs contain a forward slash. (#14490)
Improved Documentation
- Fixed link to 'Synapse administration endpoints'. (#14499)
Deprecations and Removals
- Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. (#14538)
Internal Changes
- Improve type hinting throughout Synapse. (#14055, #14412, #14529, #14452).
- Remove old stream ID tracking code. Contributed by Nick @beeper (@Fizzadar). (#14376, #14468)
- Remove the
worker_main_http_uri
configuration setting. This is now handled via internal replication. (#14400, #14476) - Refactor
federation_sender
andpusher
configuration loading. (#14496)
(#14509, #14573) - Faster joins: do not wait for full state when creating events to send. (#14403)
- Faster joins: filter out non local events when a room doesn't have its full state. (#14404)
- Faster joins: send events to initial list of servers if we don't have the full state yet. (#14408)
- Faster joins: use servers list approximation received during
send_join
(potentially updated with received membership events) inassert_host_in_room
. (#14515) - Fix type logic in TCP replication code that prevented correctly ignoring blank commands. (#14449)
- Remove option to skip locking of tables when performing emulated upserts, to avoid a class of bugs in future. (#14469)
scripts-dev/federation_client
: Fix routing on servers with.well-known
files. (#14479)- Reduce default third party invite rate limit to 216 invites per day. (#14487)
- Refactor conversion of device list changes in room to outbound pokes to track unconverted rows using a
(stream ID, room ID)
position instead of updating theconverted_to_destinations
flag on every row. (#14516) - Add more prompts to the bug report form. (#14522)
- Extend editorconfig rules on indent and line length to
.pyi
files. (#14526) - Run Rust CI when
Cargo.lock
changes. This is particularly useful for dependabot updates. (#14571) - Fix a possible variable shadow in
create_new_client_event
. (#14575) - Bump various dependencies in the
poetry.lock
file and in CI scripts. (#14557, #14559, #14560, #14500, #14501, #14502, #14503, #14504, #14505).