MSC2409: Proposal to send typing, presence and receipts to appservices by Sorunome · Pull Request #2409 · matrix-org/matrix-spec-proposals (original) (raw)
and others added 5 commits
tulir mentioned this pull request
mscbot added final-comment-period
This MSC has entered a final comment period in interest to approval, postpone, or delete in 5 days.
and removed proposed-final-comment-period
Currently awaiting signoff of a majority of team members in order to enter the final comment period.
labels
turt2live added a commit that referenced this pull request
Initial proposal commit
Add body of proposal
rename file
finish up MSC
address issues
change key names and add unstable prefix
Clarifications; to-device handling
It's not exactly like sync
Move to-device messages
Copy edu_type behaviour
Add full transaction example
Add implementation notes for to-device cleanup
Use type instead of edu_type to match realities of implementations
Add note to say ephemeral can be omitted.
Improve wording on why we use a seperate array.
Co-authored-by: Kevin Cox kevincox@kevincox.ca
push_ephemeral -> receive_ephemeral
Fix some typos and clarify EDU room association
Clarify EDU formatting
Explicitly list all event types
Delete to-device events
to be moved to a new MSC
- Update spec link and fix typo
Co-authored-by: Patrick Cloke clokep@users.noreply.github.com
Add private read receipt rules
Apply suggestions from code review
Co-authored-by: Richard van der Hoff 1389908+richvdh@users.noreply.github.com
Wrap lines
Apply suggestions from code review
Co-authored-by: Andrew Morgan 1342360+anoadragon453@users.noreply.github.com
Explicitly mention to-device events are not here
Mention the possibility of more granular filtering
Co-authored-by: Will Hunt will@half-shot.uk Co-authored-by: Travis Ralston travisr@matrix.org Co-authored-by: Kevin Cox kevincox@kevincox.ca Co-authored-by: Tulir Asokan tulir@maunium.net Co-authored-by: Patrick Cloke clokep@users.noreply.github.com Co-authored-by: Richard van der Hoff 1389908+richvdh@users.noreply.github.com Co-authored-by: Andrew Morgan 1342360+anoadragon453@users.noreply.github.com
tulir added spec-pr-in-review
A proposal which has been PR'd against the spec and is in review
and removed spec-pr-missing
Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec
labels
richvdh changed the title
MSC2409: Proposal to send EDUs to appservices MSC2409: Proposal to send typing, presence and receipts to appservices
A proposal whose PR has merged into the spec!
and removed spec-pr-in-review
A proposal which has been PR'd against the spec and is in review
labels
This was referenced
Dec 12, 2024
msk pushed a commit to msk/pkgsrc that referenced this pull request
Synapse 1.22.0 (2020-10-27)
No significant changes.
Synapse 1.22.0rc2 (2020-10-26)
Bugfixes
- Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. (#8648, #8656)
- Fix
user_daily_visitstable to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. (#8654)
Synapse 1.22.0rc1 (2020-10-22)
Features
- Add a configuration option for always using the "userinfo endpoint" for OpenID Connect. This fixes support for some identity providers, e.g. GitLab. Contributed by Benjamin Koch. (#7658)
- Add ability for
ThirdPartyEventRulesmodules to query and manipulate whether a room is in the public rooms directory. (#8292, #8467) - Add support for olm fallback keys (MSC2732). (#8312, #8501)
- Add support for running background tasks in a separate worker process. (#8369, #8458, #8489, #8513, #8544, #8599)
- Add support for device dehydration (MSC2697). (#8380)
- Add support for MSC2409, which allows sending typing, read receipts, and presence events to appservices. (#8437, #8590)
- Change default room version to "6", per MSC2788. (#8461)
- Add the ability to send non-membership events into a room via the
ModuleApi. (#8479) - Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. (#8502)
- Add support for modifying event content in
ThirdPartyRulesmodules. (#8535, #8564)
Bugfixes
- Fix a longstanding bug where invalid ignored users in account data could break clients. (#8454)
- Fix a bug where backfilling a room with an event that was missing the
redactsfield would break. (#8457) - Don't attempt to respond to some requests if the client has already disconnected. (#8465)
- Fix message duplication if something goes wrong after persisting the event. (#8476)
- Fix incremental sync returning an incorrect
prev_batchtoken in timeline section, which when used to paginate returned events that were included in the incremental sync. Broken since v0.16.0. (#8486) - Expose the
uk.half-shot.msc2778.login.application_serviceto clients from the login API. This feature was added in v1.21.0, but was not exposed as a potential login flow. (#8504) - Fix error code for
/profile/{userId}/displaynameto beM_BAD_JSON. (#8517) - Fix a bug introduced in v1.7.0 that could cause Synapse to insert values from non-state
m.room.retentionevents into theroom_retentiondatabase table. (#8527) - Fix not sending events over federation when using sharded event writers. (#8536)
- Fix a long standing bug where email notifications for encrypted messages were blank. (#8545)
- Fix increase in the number of
There was no active span...errors logged when using OpenTracing. (#8567) - Fix a bug that prevented errors encountered during execution of the
synapse_port_dbfrom being correctly printed. (#8585) - Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. (#8606)
Updates to the Docker image
- Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. (#7921)
- Add support for passing commandline args to the synapse process. Contributed by @samuel-p. (#8390)
Improved Documentation
- Update the directions for using the manhole with coroutines. (#8462)
- Improve readme by adding new shield.io badges. (#8493)
- Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @maquis196. (#8526)
- Document the new behaviour of the
allowed_lifetime_minandallowed_lifetime_maxsettings in the room retention configuration. (#8529)
Deprecations and Removals
- Drop unused
device_max_stream_idtable. (#8589)
Internal Changes
- Check for unreachable code with mypy. (#8432)
- Add unit test for event persister sharding. (#8433)
- Allow events to be sent to clients sooner when using sharded event persisters. (#8439, #8488, #8496, #8499)
- Configure
public_baseurlwhen using demo scripts. (#8443) - Add SQL logging on queries that happen during startup. (#8448)
- Speed up unit tests when using PostgreSQL. (#8450)
- Remove redundant database loads of stream_ordering for events we already have. (#8452)
- Reduce inconsistencies between codepaths for membership and non-membership events. (#8463)
- Combine
SpamCheckerApiwith the more genericModuleApi. (#8464) - Additional testing for
ThirdPartyEventRules. (#8468) - Add
-doption to./scripts-dev/lint.shto lint files that have changed since the last git commit. (#8472) - Unblacklist some sytests. (#8474)
- Include the log level in the phone home stats. (#8477)
- Remove outdated sphinx documentation, scripts and configuration. (#8480)
- Clarify error message when plugin config parsers raise an error. (#8492)
- Remove the deprecated
Handlersobject. (#8494) - Fix a threadsafety bug in unit tests. (#8497)
- Add user agent to user_daily_visits table. (#8503)
- Add type hints to various parts of the code base. (#8407, #8505, #8507, #8547, #8562, #8609)
- Remove unused code from the test framework. (#8514)
- Apply some internal fixes to the
HomeServerclass to make its code more idiomatic and statically-verifiable. (#8515) - Factor out common code between
RoomMemberHandler._locally_reject_inviteandEventCreationHandler.create_event. (#8537) - Improve database performance by executing more queries without starting transactions. (#8542)
- Rename
CachetoDeferredCache, to better reflect its purpose. (#8548) - Move metric registration code down into
LruCache. (#8561, #8591) - Replace
DeferredCachewith the lighter-weightLruCachewhere possible. (#8563) - Add virtualenv-generated folders to
.gitignore. (#8566) - Add
get_immediatemethod toDeferredCache. (#8568) - Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in
handlers/auth.py. (#8569) - Fix
synmarkbenchmark runner. (#8571) - Modify
DeferredCache.get()to returnDeferreds instead ofObservableDeferreds. (#8572) - Adjust a protocol-type definition to fit
sqlite3assertions. (#8577) - Support macOS on the
synmarkbenchmark runner. (#8578) - Update
mypystatic type checker to 0.790. (#8583, #8600) - Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. (#8587)
- Remove extraneous unittest logging decorators from unit tests. (#8592)
- Minor optimisations in caching code. (#8593, #8594)
msk pushed a commit to msk/pkgsrc that referenced this pull request
Synapse 1.53.0 (2022-02-22)
No significant changes.
Synapse 1.53.0rc1 (2022-02-15)
Features
- Add experimental support for sending to-device messages to application services, as specified by MSC2409. (#11215, #11966)
- Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11655)
- Experimental support for MSC3666: including bundled aggregations in server side search results. (#11837)
- Enable cache time-based expiry by default. The
expiry_timeconfig flag has been superseded byexpire_cachesandcache_entry_ttl. (#11849) - Add a callback to allow modules to allow or forbid a 3PID (email address, phone number) from being associated to a local account. (#11854)
- Stabilize support and remove unstable endpoints for MSC3231. Clients must switch to the stable identifier and endpoint. See the upgrade notes for more information. (#11867)
- Allow modules to retrieve the current instance's server name and worker name. (#11868)
- Use a dedicated configurable rate limiter for 3PID invites. (#11892)
- Support the stable API endpoint for MSC3283: new settings in
/capabilitiesendpoint. (#11933, #11989) - Support the
dirparameter on the/relationsendpoint, per MSC3715. (#11941) - Experimental implementation of MSC3706: extensions to
/send_jointo support reduced response size. (#11967)
Bugfixes
- Fix MSC2716 historical messages backfilling in random order on remote homeservers. (#11114)
- Fix a bug introduced in Synapse 1.51.0 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for
synapse.8631_debug. (#11890) - Fix a long-standing bug where some unknown endpoints would return HTML error pages instead of JSON
M_UNRECOGNIZEDerrors. (#11930) - Implement an allow list of content types for which we will attempt to preview a URL. This prevents Synapse from making useless longer-lived connections to streaming media servers. (#11936)
- Fix a long-standing bug where pagination tokens from
/syncand/messagescould not be provided to the/relationsAPI. (#11952) - Require that modules register their callbacks using keyword arguments. (#11975)
- Fix a long-standing bug where
M_WRONG_ROOM_KEYS_VERSIONerrors would not include the speccedcurrent_versionfield. (#11988)
Improved Documentation
- Fix typo in User Admin API: unpind -> unbind. (#11859)
- Document images returned by the User List Media Admin API can include those generated by URL previews. (#11862)
- Remove outdated MSC1711 FAQ document. (#11907)
- Correct the structured logging configuration example. Contributed by Brad Jones. (#11946)
- Add information on the Synapse release cycle. (#11954)
- Fix broken link in the README to the admin API for password reset. (#11955)
Deprecations and Removals
- Drop support for
webclientlisteners and configuringweb_client_locationto a non-HTTP(S) URL. Deprecated configurations are a configuration error. (#11895) - Remove deprecated
user_may_create_room_with_invitesspam checker callback. See the upgrade notes for more information. (#11950) - No longer build
.debpackages for Ubuntu 21.04 Hirsute Hippo, which has now EOLed. (#11961)
Internal Changes
- Enhance user registration test helpers to make them more useful for tests involving application services and devices. (#11615, #11616)
- Improve performance when fetching bundled aggregations for multiple events. (#11660, #11752)
- Fix type errors introduced by new annotations in the Prometheus Client library. (#11832)
- Add missing type hints to replication code. (#11856, #11938)
- Ensure that
opentracingscopes are activated and closed at the right time. (#11869) - Improve opentracing for incoming federation requests. (#11870)
- Improve internal docstrings in
synapse.util.caches. (#11876) - Do not needlessly clear the
get_users_in_roomandget_users_in_room_with_profilescaches when any room state changes. (#11878) - Convert
ApplicationServiceTestCaseto usesimple_async_mock. (#11880) - Remove experimental changes to the default push rules which were introduced in Synapse 1.19.0 but never enabled. (#11884)
- Disable coverage calculation for olddeps build. (#11888)
- Preparation to support sending device list updates to application services. (#11905)
- Add a test that checks users receive their own device list updates down
/sync. (#11909) - Run Complement tests sequentially. (#11910)
- Various refactors to the application service notifier code. (#11911, #11912)
- Tests: replace mocked
Authenticatorwith the real thing. (#11913) - Various refactors to the typing notifications code. (#11914)
- Use the proper type for the
Content-Lengthheader in theUploadResource. (#11927) - Remove an unnecessary ignoring of type hints due to fixes in upstream packages. (#11939)
- Add missing type hints. (#11953)
- Fix an import cycle in
synapse.event_auth. (#11965) - Unpin
frozendictbut exclude the known bad version 2.1.2. (#11969) - Prepare for rename of default Complement branch. (#11971)
- Fetch Synapse's version using a helper from
matrix-common. (#11979)
Synapse 1.52.0 (2022-02-08)
No significant changes since 1.52.0rc1.
Note that Twisted 22.1.0
has recently been released, which fixes a security issue)
within the Twisted library. We do not believe Synapse is affected by this vulnerability,
though we advise server administrators who installed Synapse via pip to upgrade Twisted
with pip install --upgrade Twisted as a matter of good practice. The Docker image
matrixdotorg/synapse and the Debian packages from packages.matrix.org are using the
updated library.
Synapse 1.52.0rc1 (2022-02-01)
Features
- Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11621, #11788, #11789)
- Add an admin API to reset connection timeouts for remote server. (#11639)
- Add an admin API to get a list of rooms that federate with a given remote homeserver. (#11658)
- Add a config flag to inhibit
M_USER_IN_USEduring registration. (#11743) - Add a module callback to set username at registration. (#11790)
- Allow configuring a maximum file size as well as a list of allowed content types for avatars. (#11846)
Bugfixes
- Include the bundled aggregations in the
/syncresponse, per MSC2675. (#11612) - Fix a long-standing bug when previewing Reddit URLs which do not contain an image. (#11767)
- Fix a long-standing bug that media streams could cause long-lived connections when generating URL previews. (#11784)
- Include a
prev_contentfield in state events sent to Application Services. Contributed by @totallynotvaishnav. (#11798) - Fix a bug introduced in Synapse 0.33.3 causing requests to sometimes log strings such as
HTTPStatus.OKinstead of integer status codes. (#11827)
Improved Documentation
- Update pypi installation docs to indicate that we now support Python 3.10. (#11820)
- Add missing steps to the contribution submission process in the documentation. Contributed by @sequentialread. (#11821)
- Remove not needed old table of contents in documentation. (#11860)
- Consolidate the
access_tokeninformation at the top of each relevant page in the Admin API documentation. (#11861)
Deprecations and Removals
- Drop support for Python 3.6, which is EOL. (#11683)
- Remove the
experimental_msc1849_support_enabledflag as the features are now stable. (#11843)
Internal Changes
- Preparation for database schema simplifications: add
state_keyandrejection_reasoncolumns toeventstable. (#11792) - Add
FrozenEvent.get_state_keyand use it in a couple of places. (#11793) - Preparation for database schema simplifications: stop reading from
event_reference_hashes. (#11794) - Drop unused table
public_room_list_stream. (#11795) - Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper. (#11799, #11847)
- Docker: skip the initial amd64-only build and go straight to multiarch. (#11810)
- Run Complement on the Github Actions VM and not inside a Docker container. (#11811)
- Log module names at startup. (#11813)
- Improve type safety of bundled aggregations code. (#11815)
- Correct a type annotation in the event validation logic. (#11817, #11830)
- Minor updates and documentation for database schema delta files. (#11823)
- Workaround a type annotation problem in
prometheus_client0.13.0. (#11834) - Minor performance improvement in room state lookup. (#11836)
- Fix some indentation inconsistencies in the sample config. (#11838)
- Add type hints to
tests/rest/admin. (#11851)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request
Synapse 1.22.0 (2020-10-27)
No significant changes.
Synapse 1.22.0rc2 (2020-10-26)
Bugfixes
- Fix bugs where ephemeral events were not sent to appservices. Broke in v1.22.0rc1. (#8648, #8656)
- Fix
user_daily_visitstable to not have duplicate rows per user/device due to multiple user agents. Broke in v1.22.0rc1. (#8654)
Synapse 1.22.0rc1 (2020-10-22)
Features
- Add a configuration option for always using the "userinfo endpoint" for OpenID Connect. This fixes support for some identity providers, e.g. GitLab. Contributed by Benjamin Koch. (#7658)
- Add ability for
ThirdPartyEventRulesmodules to query and manipulate whether a room is in the public rooms directory. (#8292, #8467) - Add support for olm fallback keys (MSC2732). (#8312, #8501)
- Add support for running background tasks in a separate worker process. (#8369, #8458, #8489, #8513, #8544, #8599)
- Add support for device dehydration (MSC2697). (#8380)
- Add support for MSC2409, which allows sending typing, read receipts, and presence events to appservices. (#8437, #8590)
- Change default room version to "6", per MSC2788. (#8461)
- Add the ability to send non-membership events into a room via the
ModuleApi. (#8479) - Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. (#8502)
- Add support for modifying event content in
ThirdPartyRulesmodules. (#8535, #8564)
Bugfixes
- Fix a longstanding bug where invalid ignored users in account data could break clients. (#8454)
- Fix a bug where backfilling a room with an event that was missing the
redactsfield would break. (#8457) - Don't attempt to respond to some requests if the client has already disconnected. (#8465)
- Fix message duplication if something goes wrong after persisting the event. (#8476)
- Fix incremental sync returning an incorrect
prev_batchtoken in timeline section, which when used to paginate returned events that were included in the incremental sync. Broken since v0.16.0. (#8486) - Expose the
uk.half-shot.msc2778.login.application_serviceto clients from the login API. This feature was added in v1.21.0, but was not exposed as a potential login flow. (#8504) - Fix error code for
/profile/{userId}/displaynameto beM_BAD_JSON. (#8517) - Fix a bug introduced in v1.7.0 that could cause Synapse to insert values from non-state
m.room.retentionevents into theroom_retentiondatabase table. (#8527) - Fix not sending events over federation when using sharded event writers. (#8536)
- Fix a long standing bug where email notifications for encrypted messages were blank. (#8545)
- Fix increase in the number of
There was no active span...errors logged when using OpenTracing. (#8567) - Fix a bug that prevented errors encountered during execution of the
synapse_port_dbfrom being correctly printed. (#8585) - Fix appservice transactions to only include a maximum of 100 persistent and 100 ephemeral events. (#8606)
Updates to the Docker image
- Added multi-arch support (arm64,arm/v7) for the docker images. Contributed by @maquis196. (#7921)
- Add support for passing commandline args to the synapse process. Contributed by @samuel-p. (#8390)
Improved Documentation
- Update the directions for using the manhole with coroutines. (#8462)
- Improve readme by adding new shield.io badges. (#8493)
- Added note about docker in manhole.md regarding which ip address to bind to. Contributed by @maquis196. (#8526)
- Document the new behaviour of the
allowed_lifetime_minandallowed_lifetime_maxsettings in the room retention configuration. (#8529)
Deprecations and Removals
- Drop unused
device_max_stream_idtable. (#8589)
Internal Changes
- Check for unreachable code with mypy. (#8432)
- Add unit test for event persister sharding. (#8433)
- Allow events to be sent to clients sooner when using sharded event persisters. (#8439, #8488, #8496, #8499)
- Configure
public_baseurlwhen using demo scripts. (#8443) - Add SQL logging on queries that happen during startup. (#8448)
- Speed up unit tests when using PostgreSQL. (#8450)
- Remove redundant database loads of stream_ordering for events we already have. (#8452)
- Reduce inconsistencies between codepaths for membership and non-membership events. (#8463)
- Combine
SpamCheckerApiwith the more genericModuleApi. (#8464) - Additional testing for
ThirdPartyEventRules. (#8468) - Add
-doption to./scripts-dev/lint.shto lint files that have changed since the last git commit. (#8472) - Unblacklist some sytests. (#8474)
- Include the log level in the phone home stats. (#8477)
- Remove outdated sphinx documentation, scripts and configuration. (#8480)
- Clarify error message when plugin config parsers raise an error. (#8492)
- Remove the deprecated
Handlersobject. (#8494) - Fix a threadsafety bug in unit tests. (#8497)
- Add user agent to user_daily_visits table. (#8503)
- Add type hints to various parts of the code base. (#8407, #8505, #8507, #8547, #8562, #8609)
- Remove unused code from the test framework. (#8514)
- Apply some internal fixes to the
HomeServerclass to make its code more idiomatic and statically-verifiable. (#8515) - Factor out common code between
RoomMemberHandler._locally_reject_inviteandEventCreationHandler.create_event. (#8537) - Improve database performance by executing more queries without starting transactions. (#8542)
- Rename
CachetoDeferredCache, to better reflect its purpose. (#8548) - Move metric registration code down into
LruCache. (#8561, #8591) - Replace
DeferredCachewith the lighter-weightLruCachewhere possible. (#8563) - Add virtualenv-generated folders to
.gitignore. (#8566) - Add
get_immediatemethod toDeferredCache. (#8568) - Fix mypy not properly checking across the codebase, additionally, fix a typing assertion error in
handlers/auth.py. (#8569) - Fix
synmarkbenchmark runner. (#8571) - Modify
DeferredCache.get()to returnDeferreds instead ofObservableDeferreds. (#8572) - Adjust a protocol-type definition to fit
sqlite3assertions. (#8577) - Support macOS on the
synmarkbenchmark runner. (#8578) - Update
mypystatic type checker to 0.790. (#8583, #8600) - Re-organize the structured logging code to separate the TCP transport handling from the JSON formatting. (#8587)
- Remove extraneous unittest logging decorators from unit tests. (#8592)
- Minor optimisations in caching code. (#8593, #8594)
jperkin pushed a commit to TritonDataCenter/pkgsrc that referenced this pull request
Synapse 1.53.0 (2022-02-22)
No significant changes.
Synapse 1.53.0rc1 (2022-02-15)
Features
- Add experimental support for sending to-device messages to application services, as specified by MSC2409. (#11215, #11966)
- Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11655)
- Experimental support for MSC3666: including bundled aggregations in server side search results. (#11837)
- Enable cache time-based expiry by default. The
expiry_timeconfig flag has been superseded byexpire_cachesandcache_entry_ttl. (#11849) - Add a callback to allow modules to allow or forbid a 3PID (email address, phone number) from being associated to a local account. (#11854)
- Stabilize support and remove unstable endpoints for MSC3231. Clients must switch to the stable identifier and endpoint. See the upgrade notes for more information. (#11867)
- Allow modules to retrieve the current instance's server name and worker name. (#11868)
- Use a dedicated configurable rate limiter for 3PID invites. (#11892)
- Support the stable API endpoint for MSC3283: new settings in
/capabilitiesendpoint. (#11933, #11989) - Support the
dirparameter on the/relationsendpoint, per MSC3715. (#11941) - Experimental implementation of MSC3706: extensions to
/send_jointo support reduced response size. (#11967)
Bugfixes
- Fix MSC2716 historical messages backfilling in random order on remote homeservers. (#11114)
- Fix a bug introduced in Synapse 1.51.0 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for
synapse.8631_debug. (#11890) - Fix a long-standing bug where some unknown endpoints would return HTML error pages instead of JSON
M_UNRECOGNIZEDerrors. (#11930) - Implement an allow list of content types for which we will attempt to preview a URL. This prevents Synapse from making useless longer-lived connections to streaming media servers. (#11936)
- Fix a long-standing bug where pagination tokens from
/syncand/messagescould not be provided to the/relationsAPI. (#11952) - Require that modules register their callbacks using keyword arguments. (#11975)
- Fix a long-standing bug where
M_WRONG_ROOM_KEYS_VERSIONerrors would not include the speccedcurrent_versionfield. (#11988)
Improved Documentation
- Fix typo in User Admin API: unpind -> unbind. (#11859)
- Document images returned by the User List Media Admin API can include those generated by URL previews. (#11862)
- Remove outdated MSC1711 FAQ document. (#11907)
- Correct the structured logging configuration example. Contributed by Brad Jones. (#11946)
- Add information on the Synapse release cycle. (#11954)
- Fix broken link in the README to the admin API for password reset. (#11955)
Deprecations and Removals
- Drop support for
webclientlisteners and configuringweb_client_locationto a non-HTTP(S) URL. Deprecated configurations are a configuration error. (#11895) - Remove deprecated
user_may_create_room_with_invitesspam checker callback. See the upgrade notes for more information. (#11950) - No longer build
.debpackages for Ubuntu 21.04 Hirsute Hippo, which has now EOLed. (#11961)
Internal Changes
- Enhance user registration test helpers to make them more useful for tests involving application services and devices. (#11615, #11616)
- Improve performance when fetching bundled aggregations for multiple events. (#11660, #11752)
- Fix type errors introduced by new annotations in the Prometheus Client library. (#11832)
- Add missing type hints to replication code. (#11856, #11938)
- Ensure that
opentracingscopes are activated and closed at the right time. (#11869) - Improve opentracing for incoming federation requests. (#11870)
- Improve internal docstrings in
synapse.util.caches. (#11876) - Do not needlessly clear the
get_users_in_roomandget_users_in_room_with_profilescaches when any room state changes. (#11878) - Convert
ApplicationServiceTestCaseto usesimple_async_mock. (#11880) - Remove experimental changes to the default push rules which were introduced in Synapse 1.19.0 but never enabled. (#11884)
- Disable coverage calculation for olddeps build. (#11888)
- Preparation to support sending device list updates to application services. (#11905)
- Add a test that checks users receive their own device list updates down
/sync. (#11909) - Run Complement tests sequentially. (#11910)
- Various refactors to the application service notifier code. (#11911, #11912)
- Tests: replace mocked
Authenticatorwith the real thing. (#11913) - Various refactors to the typing notifications code. (#11914)
- Use the proper type for the
Content-Lengthheader in theUploadResource. (#11927) - Remove an unnecessary ignoring of type hints due to fixes in upstream packages. (#11939)
- Add missing type hints. (#11953)
- Fix an import cycle in
synapse.event_auth. (#11965) - Unpin
frozendictbut exclude the known bad version 2.1.2. (#11969) - Prepare for rename of default Complement branch. (#11971)
- Fetch Synapse's version using a helper from
matrix-common. (#11979)
Synapse 1.52.0 (2022-02-08)
No significant changes since 1.52.0rc1.
Note that Twisted 22.1.0
has recently been released, which fixes a security issue)
within the Twisted library. We do not believe Synapse is affected by this vulnerability,
though we advise server administrators who installed Synapse via pip to upgrade Twisted
with pip install --upgrade Twisted as a matter of good practice. The Docker image
matrixdotorg/synapse and the Debian packages from packages.matrix.org are using the
updated library.
Synapse 1.52.0rc1 (2022-02-01)
Features
- Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11621, #11788, #11789)
- Add an admin API to reset connection timeouts for remote server. (#11639)
- Add an admin API to get a list of rooms that federate with a given remote homeserver. (#11658)
- Add a config flag to inhibit
M_USER_IN_USEduring registration. (#11743) - Add a module callback to set username at registration. (#11790)
- Allow configuring a maximum file size as well as a list of allowed content types for avatars. (#11846)
Bugfixes
- Include the bundled aggregations in the
/syncresponse, per MSC2675. (#11612) - Fix a long-standing bug when previewing Reddit URLs which do not contain an image. (#11767)
- Fix a long-standing bug that media streams could cause long-lived connections when generating URL previews. (#11784)
- Include a
prev_contentfield in state events sent to Application Services. Contributed by @totallynotvaishnav. (#11798) - Fix a bug introduced in Synapse 0.33.3 causing requests to sometimes log strings such as
HTTPStatus.OKinstead of integer status codes. (#11827)
Improved Documentation
- Update pypi installation docs to indicate that we now support Python 3.10. (#11820)
- Add missing steps to the contribution submission process in the documentation. Contributed by @sequentialread. (#11821)
- Remove not needed old table of contents in documentation. (#11860)
- Consolidate the
access_tokeninformation at the top of each relevant page in the Admin API documentation. (#11861)
Deprecations and Removals
- Drop support for Python 3.6, which is EOL. (#11683)
- Remove the
experimental_msc1849_support_enabledflag as the features are now stable. (#11843)
Internal Changes
- Preparation for database schema simplifications: add
state_keyandrejection_reasoncolumns toeventstable. (#11792) - Add
FrozenEvent.get_state_keyand use it in a couple of places. (#11793) - Preparation for database schema simplifications: stop reading from
event_reference_hashes. (#11794) - Drop unused table
public_room_list_stream. (#11795) - Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper. (#11799, #11847)
- Docker: skip the initial amd64-only build and go straight to multiarch. (#11810)
- Run Complement on the Github Actions VM and not inside a Docker container. (#11811)
- Log module names at startup. (#11813)
- Improve type safety of bundled aggregations code. (#11815)
- Correct a type annotation in the event validation logic. (#11817, #11830)
- Minor updates and documentation for database schema delta files. (#11823)
- Workaround a type annotation problem in
prometheus_client0.13.0. (#11834) - Minor performance improvement in room state lookup. (#11836)
- Fix some indentation inconsistencies in the sample config. (#11838)
- Add type hints to
tests/rest/admin. (#11851)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})