Changelog History
Page 1
-
v1.73.0.rc2 Changes
December 01, 2022๐ 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.0.rc1 Changes
November 29, 2022๐ 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) - โ Add 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).
Synapse 1.72.0 (2022-11-22)
๐ Please note that Synapse now only supports PostgreSQL 11+, because PostgreSQL 10 has reached end-of-life, c.f. our Deprecation Policy.
๐ Bugfixes
- โก๏ธ Update forgotten references to legacy metrics in the included Grafana dashboard. (#14477)
- Speed-up
-
v1.72.0.rc1 Changes
November 16, 2022๐ Features
- โ Add experimental support for MSC3912: Relation-based redactions. (#14260)
- ๐ Build Debian packages for Ubuntu 22.10 (Kinetic Kudu). (#14396)
- โ Add an Admin API endpoint for user lookup based on third-party ID (3PID). Contributed by @ashfame. (#14405)
- Faster joins: include heroes' membership events in the partial join response, for rooms without a name or canonical alias. (#14442)
๐ Bugfixes
- Faster joins: do not block creation of or queries for room aliases during the resync. (#14292)
- ๐ Fix a bug introduced in Synapse 1.64.0rc1 which could cause log spam when fetching events from other homeservers. (#14347)
- ๐ Fix a bug introduced in 1.66 which would not send certain pushrules to clients. Contributed by Nico. (#14356)
- ๐ Fix a bug introduced in v1.71.0rc1 where the power level event was incorrectly created during initial room creation. (#14361)
- ๐ Fix the refresh token endpoint to be under /r0 and /v3 instead of /v1. Contributed by Tulir @ Beeper. (#14364)
- ๐ Fix a long-standing bug where Synapse would raise an error when encountering an unrecognised field in a
/sync
filter, instead of ignoring it for forward compatibility. (#14369) - ๐ Fix a background database update, introduced in Synapse 1.64.0, which could cause poor database performance. (#14374)
- ๐ Fix PostgreSQL sometimes using table scans for queries against the
event_search
table, taking a long time and a large amount of IO. (#14409) - ๐ Fix rendering of some HTML templates (including emails). Introduced in v1.71.0. (#14448)
- ๐ Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. (#14453)
โก๏ธ Updates to the Docker image
- ๐ท Add all Stream Writer worker types to
configure_workers_and_start.py
. (#14197) - โ Remove references to legacy worker types in the multi-worker Dockerfile. (#14294)
๐ Improved Documentation
- ๐ Upload documentation PRs to Netlify. (#12947, #14370)
- โ Add addtional TURN server configuration example based on eturnal and adjust general TURN server doc structure. (#14293)
- โ Add example on how to load balance /sync requests. Contributed by aceArt. (#14297)
- ๐ง Edit sample Nginx reverse proxy configuration to use HTTP/1.1. Contributed by Brad Jones. (#14414)
๐ Deprecations and Removals
Internal Changes
- โ Run unit tests against Python 3.11. (#13812)
- โ Add TLS support for generic worker endpoints. (#14128, #14455)
- Switch to a maintained action for installing Rust in CI. (#14313)
- โ Add override ability to
complement.sh
command line script to request certain types of workers. (#14324) - โ
Enabling testing of MSC3874 (filtering of
/messages
by relation type) in complement. (#14339) - ๐ฒ Concisely log a failure to resolve state due to missing
prev_events
. (#14346) - ๐ Use a maintained Github action to install Rust. (#14351)
- ๐ท Cleanup old worker datastore classes. Contributed by Nick @ Beeper (@fizzadar). (#14375)
- โ Test against PostgreSQL 15 in CI. (#14394)
- โ Remove unreachable code. (#14410)
- Clean-up event persistence code. (#14411)
- Update docstring to clarify that
get_partial_state_events_batch
does not just give you completely arbitrary partial-state events. (#14417) - ๐ Fix mypy errors introduced by bumping the locked version of
attrs
andgitpython
. (#14433) - ๐ Make Dependabot only bump Rust deps in the lock file. (#14434)
- ๐ Fix an incorrect stub return type for
PushRuleEvaluator.run
. (#14451) - ๐ Improve performance of
/context
in large rooms. (#14461)
Synapse 1.71.0 (2022-11-08)
๐ Please note that, as announced in the release notes for Synapse 1.69.0, legacy Prometheus metric names are now disabled by default. ๐ They will be removed altogether in Synapse 1.73.0. โก๏ธ If not already done, server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names. โฌ๏ธ See the upgrade notes for more details.
Note: in line with our deprecation policy for platform dependencies, this will be the last release to support PostgreSQL 10, which reaches upstream end-of-life on November 10th, 2022. Future releases of Synapse will require PostgreSQL 11+.
No significant changes since 1.71.0rc2.
-
v1.71.0.rc2 Changes
November 04, 2022๐ Improved Documentation
- ๐ Document the changes to monthly active user metrics due to deprecation of legacy Prometheus metric names. (#14358, #14360)
๐ Deprecations and Removals
- ๐ Disable legacy Prometheus metric names by default. They can still be re-enabled for now, but they will be removed altogether in Synapse 1.73.0. (#14353)
Internal Changes
- โ Run unit tests against Python 3.11. (#13812)
-
v1.71.0.rc1 Changes
November 01, 2022๐ Features
- ๐ Support back-channel logouts from OpenID Connect providers. (#11414)
- ๐ Allow use of Postgres and SQLlite full-text search operators in search queries. (#11635, #14310, #14311)
- Implement MSC3664, Pushrules for relations. Contributed by Nico. (#11804)
- ๐ Improve aesthetics of HTML templates. Note that these changes do not retroactively apply to templates which have been customised by server admins. (#13652)
- ๐ฒ Enable write-ahead logging for SQLite installations. Contributed by @asymmetric. (#13897)
- Show erasure status when listing users in the Admin API. (#14205)
- ๐ Provide a specific error code when a
/sync
request provides a filter which doesn't represent a JSON object. (#14262)
๐ Bugfixes
- Fix a long-standing bug where the
update_synapse_database
script could not be run with multiple databases. Contributed by @thefinn93 @ Beeper. (#13422) - Fix a bug which prevented setting an avatar on homeservers which have an explicit port in their
server_name
and havemax_avatar_size
and/orallowed_avatar_mimetypes
configuration. Contributed by @ashfame. (#13927) - Check appservice user interest against the local users instead of all users in the room to align with MSC3905. (#13958)
- Fix a long-standing bug where Synapse would accidentally include extra information in the response to
PUT /_matrix/federation/v2/invite/{roomId}/{eventId}
. (#14064) - ๐ Fix a bug introduced in Synapse 1.64.0 where presence updates could be missing from
/sync
responses. (#14243) - ๐ Fix a bug introduced in Synapse 1.60.0 which caused an error to be logged when Synapse received a SIGHUP signal if debug logging was enabled. (#14258)
- Prevent history insertion (MSC2716) during an partial join (MSC3706). (#14291)
- Fix a bug introduced in Synapse 1.34.0 where device names would be returned via a federation user key query request when
allow_device_name_lookup_over_federation
was set tofalse
. (#14304) - ๐ Fix a bug introduced in Synapse 0.34.0 where logs could include error spam when background processes are measured as taking a negative amount of time. (#14323)
- ๐ Fix a bug introduced in Synapse 1.70.0 where clients were unable to PUT new dehydrated devices. (#14336)
๐ Improved Documentation
- Explain how to disable the use of
trusted_key_servers
. (#13999) - โ Add workers settings to configuration manual. (#14086)
- Correct the name of the config option
encryption_enabled_by_default_for_room_type
. (#14110) - โก๏ธ Update docstrings of
SynapseError
andFederationError
to bettter describe what they are used for and the effects of using them are. (#14191)
Internal Changes
- โ Remove unused
@lru_cache
decorator. (#13595) - ๐พ Save login tokens in database and prevent login token reuse. (#13844)
- ๐จ Refactor OIDC tests to better mimic an actual OIDC provider. (#13910)
- ๐ Fix type annotation causing import time error in the Complement forking launcher. (#14084)
- Refactor MSC3030
/timestamp_to_event
endpoint to loop over federation destinations with standard pattern and error handling. (#14096) - โ Add initial power level event to batch of bulk persisted events when creating a new room. (#14228)
- ๐จ Refactor
/key/
endpoints to useRestServlet
classes. (#14229) - Switch to using the
matrix-org/backend-meta
version oftriage-incoming
for new issues in CI. (#14230) - ๐ Build wheels on macos 11, not 10.15. (#14249)
- โ Add debugging to help diagnose lost device list updates. (#14268)
- โ Add Rust cache to CI for
trial
runs. (#14287) - ๐ Improve type hinting of
RawHeaders
. (#14303) - ๐ท Use Poetry 1.2.0 in the Twisted Trunk CI job. (#14305)
โก๏ธ Dependency updates
โ Runtime:
- โฌ๏ธ Bump anyhow from 1.0.65 to 1.0.66. (#14278)
- โฌ๏ธ Bump jinja2 from 3.0.3 to 3.1.2. (#14271)
- โฌ๏ธ Bump prometheus-client from 0.14.0 to 0.15.0. (#14274)
- โฌ๏ธ Bump psycopg2 from 2.9.4 to 2.9.5. (#14331)
- โฌ๏ธ Bump pysaml2 from 7.1.2 to 7.2.1. (#14270)
- โฌ๏ธ Bump sentry-sdk from 1.5.11 to 1.10.1. (#14330)
- โฌ๏ธ Bump serde from 1.0.145 to 1.0.147. (#14277)
- โฌ๏ธ Bump serde_json from 1.0.86 to 1.0.87. (#14279)
Tooling and CI:
- โฌ๏ธ Bump black from 22.3.0 to 22.10.0. (#14328)
- โฌ๏ธ Bump flake8-bugbear from 21.3.2 to 22.9.23. (#14042)
- โฌ๏ธ Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0. (#14276)
- โฌ๏ธ Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0. (#14275)
- โฌ๏ธ Bump setuptools-rust from 1.5.1 to 1.5.2. (#14273)
- โฌ๏ธ Bump twine from 3.8.0 to 4.0.1. (#14332)
- โฌ๏ธ Bump types-opentracing from 2.4.7 to 2.4.10. (#14133)
- โฌ๏ธ Bump types-requests from 2.28.11 to 2.28.11.2. (#14272)
Synapse 1.70.1 (2022-10-28)
๐ This release fixes some regressions that were discovered in 1.70.0.
#14300 was previously reported to be a regression in 1.70.0 as well. However, we have since concluded that it was limited to the reporter and thus have not needed to include any fix for it in 1.70.1.
๐ Bugfixes
- ๐ Fix a bug introduced in Synapse 1.70.0rc1 where the access tokens sent to application services as headers were malformed. Application services which were obtaining access tokens from query parameters were not affected. (#14301)
- ๐ Fix room creation being rate limited too aggressively since Synapse v1.69.0. (#14314)
Synapse 1.70.0 (2022-10-26)
No significant changes since 1.70.0rc2.
-
v1.70.0.rc2 Changes
October 25, 2022๐ Bugfixes
- ๐ Fix a bug introduced in Synapse 1.70.0rc1 where the information returned from the
/threads
API could be stale when threaded events are redacted. (#14248) - ๐ Fix a bug introduced in Synapse 1.70.0rc1 leading to broken outbound federation when using Python 3.7. (#14280)
- ๐ Fix a bug introduced in Synapse 1.70.0rc1 where edits to non-message events were aggregated by the homeserver. (#14283)
Internal Changes
- ๐ Fix a bug introduced in Synapse 1.70.0rc1 where the information returned from the
-
v1.70.0.rc1 Changes
October 19, 2022๐ Features
- ๐ Support for MSC3856: threads list API. (#13394, #14171, #14175)
- ๐ Support for thread-specific notifications & receipts (MSC3771 and MSC3773). (#13776, #13824, #13877, #13878, #14050, #14140, #14159, #14163, #14174, #14222)
- Stop fetching missing
prev_events
after we already know their signature is invalid. (#13816) - Send application service access tokens as a header (and query parameter). Implements MSC2832. (#13996)
- Ignore server ACL changes when generating pushes. Implements MSC3786. (#13997)
- ๐ Experimental support for redirecting to an implementation of a MSC3886 HTTP rendezvous service. (#14018)
- ๐ท The
/relations
endpoint can now be used on workers. (#14028) - ๐ Advertise support for Matrix 1.3 and 1.4 on
/_matrix/client/versions
. (#14032, #14184) - ๐ Improve validation of request bodies for the Device Management and MSC2697 Device Dehyrdation client-server API endpoints. (#14054)
- ๐ Experimental support for MSC3874: Filtering threads from the
/messages
endpoint. (#14148) - Improve the validation of the following PUT endpoints:
/directory/room/{roomAlias}
,/directory/list/room/{roomId}
and/directory/list/appservice/{networkId}/{roomId}
. (#14179) - ๐ Build and publish binary wheels for
aarch64
platforms. (#14212)
๐ Bugfixes
- Prevent device names from appearing in device list updates in some situations when
allow_device_name_lookup_over_federation
isfalse
. (This is not comprehensive: see #13114.) (#10015) - ๐ Fix a long-standing bug where redactions were not being sent over federation if we did not have the original event. (#13813)
- ๐ Fix a long-standing bug where edits of non-
m.room.message
events would not be correctly bundled or have their new content applied. (#14034) - Fix a bug introduced in Synapse 1.53.0 when querying
/publicRooms
with both aroom_type
filter and athird_party_instance_id
. (#14053) - ๐ Fix a bug introduced in Synapse 1.35.0 where errors parsing a
/send_join
or/state
response would produce excessive, low-quality Sentry events. (#14065) - Fix a long-standing bug where Synapse would error on the optional 'invite_room_state' field not being provided to
PUT /_matrix/federation/v2/invite/{roomId}/{eventId}
. (#14083) - ๐ Fix a bug where invalid oEmbed fields would cause the entire response to be discarded. Introduced in Synapse 1.18.0. (#14089)
- ๐ Fix a bug introduced in Synapse 1.37.0 in which an incorrect key name was used for sending and receiving room metadata when knocking on a room. (#14102)
- ๐ Fix a bug introduced in v1.69.0rc1 where the joined hosts for a given event were not being properly cached. (#14125)
- ๐ Fix a bug introduced in Synapse 1.30.0 where purging and rejoining a room without restarting in-between would result in a broken room. (#14161, #14164)
- Fix MSC3030
/timestamp_to_event
endpoint returning potentially inaccurate closest events withoutliers
present. (#14215)
โก๏ธ Updates to the Docker image
- โก๏ธ Update the version of frozendict in Docker images and Debian packages from 2.3.3 to 2.3.4, which may fix memory leak problems. (#13955)
- ๐ Use the
minimal
Rust profile when building Synapse. (#14141) - ๐ณ Prevent a class of database sharding errors when using
Dockerfile-workers
to spawn multiple instances of the same worker. Contributed by Jason Little. (#14165) - ๐ณ Set
LD_PRELOAD
to use jemalloc memory allocator in Dockerfile-workers. (#14182) - ๐ Fix pre-startup logging being lost when using the
Dockerfile-workers
image. (#14195)
๐ Improved Documentation
- โ Add sample worker files for
pusher
andfederation_sender
. (#14077) - ๐ Improve the listener example on the metrics documentation. (#14078)
- Expand Google OpenID Connect example config to map email attribute. Contributed by @ptman. (#14081)
- The changelog entry ending in a full stop or exclamation mark is not optional. (#14087)
- ๐ Fix links to jemalloc documentation, which were broken in #13491. (#14093)
- โ Remove not needed
replication
listener in docker compose example. (#14107) - Fix name of
alias_creation_rules
option in the config manual documentation. (#14124) - Clarify comment on event contexts. (#14145)
- Fix dead link to the Admin Registration API. (#14189)
๐ Deprecations and Removals
- โ Remove the experimental implementation of MSC3772. (#14094)
- โ Remove the unstable identifier for MSC3715. (#14106, #14146)
Internal Changes
- ๐ Optimise queries used to get a users rooms during sync. Contributed by Nick @ Beeper (@fizzadar). (#13991)
- โก๏ธ Update authlib from 0.15.5 to 1.1.0. (#14006)
- Make
parse_server_name
consistent in handling invalid server names. (#14007) - Don't repeatedly wake up the same users for batched events. (#14033)
- โ Complement test image: capture logs from nginx. (#14063)
- Don't create noisy Sentry events when a requester drops connection to the metrics server mid-request. (#14072)
- โ Run the integration test suites with the asyncio reactor enabled in CI. (#14092)
- โ Add debug logs to figure out why an event was filtered out of the client response. (#14095)
- ๐ Indicate what endpoint came back with a JSON response we were unable to parse. (#14097)
- Break up calls to fetch rooms for many users. Contributed by Nick @ Beeper (@fizzadar). (#14109)
- Faster joins: prioritise the server we joined by when restarting a partial join resync. (#14126)
- ๐ Cache Rust build cache when building docker images. (#14130)
- Enable dependabot for Rust dependencies. (#14132)
- โฌ๏ธ Bump typing-extensions from 4.1.1 to 4.4.0. (#14134)
- ๐ Use the
minimal
Rust profile when building Synapse. (#14141) - โ Remove unused configuration code. (#14142)
- ๐ Prepare for the
gotestfmt
repository move. (#14144) - ๐ Invalidate rooms for user caches on replicated event, fix sync cache race in synapse workers. Contributed by Nick @ Beeper (@fizzadar). (#14155)
- โ Enable url previews when testing with complement. (#14198)
- When authenticating batched events, check for auth events in batch as well as DB. (#14214)
- โก๏ธ Update CI config to avoid GitHub Actions deprecation warnings. (#14216, #14224)
- โก๏ธ Update dependency requirements to allow building with poetry-core 1.3.2. (#14217)
- ๐ Rename the
cache_memory
extra tocache-memory
, for compatability with poetry-core 1.3.0 and PEP 685. From-source installations using this extra will need to install using the new name. (#14221) - ๐ Specify dev-dependencies using lower bounds, to reduce the likelihood of a dependabot merge conflict. The lockfile continues to pin to specific versions. (#14227)
Synapse 1.69.0 (2022-10-17)
๐ Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0. โก๏ธ Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names. โฌ๏ธ See the upgrade notes for more details.
No significant changes since 1.69.0rc4.
-
v1.69.0.rc4 Changes
October 14, 2022 -
v1.69.0.rc3 Changes
October 12, 2022๐ Bugfixes
- ๐ Fix an issue with Docker images causing the Rust dependencies to not be pinned correctly. Introduced in v1.68.0 (#14129)
- ๐ Fix a bug introduced in Synapse 1.69.0rc1 which would cause registration replication requests to fail if the worker sending the request is not running Synapse 1.69. (#14135)
- ๐ Fix error in background update when rotating existing notifications. Introduced in v1.69.0rc2. (#14138)
Internal Changes
-
v1.69.0.rc2 Changes
October 06, 2022๐ Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0. โก๏ธ Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names. โฌ๏ธ See the upgrade notes for more details.
๐ Deprecations and Removals
- Deprecate the
generate_short_term_login_token
method in favor of an asynccreate_login_token
method in the Module API. (#13842)
Internal Changes
- Ensure Synapse v1.69 works with upcoming database changes in v1.70. (#14045)
- ๐ Fix a bug introduced in Synapse v1.68.0 where messages could not be sent in rooms with non-integer
notifications
power level. (#14073) - ๐ Temporarily pin build-system requirements to workaround an incompatibility with poetry-core 1.3.0. This will be reverted before the v1.69.0 release proper, see #14079. (#14080)
- Deprecate the