summary refs log tree commit diff
diff options
context:
space:
mode:
authorSean Quah <seanq@matrix.org>2022-05-24 15:38:38 +0100
committerSean Quah <seanq@matrix.org>2022-05-24 15:38:38 +0100
commit5d9f886aabfc19fdf85d968cc096883876c127fa (patch)
tree6bcb0441a2fc4d996323d564ca263cd62209f46c
parentExperimental support for MSC3772 (#12740) (diff)
parentUpdate changelog (diff)
downloadsynapse-5d9f886aabfc19fdf85d968cc096883876c127fa.tar.xz
Merge tag 'v1.60.0rc1' into develop
Synapse 1.60.0rc1 (2022-05-24)
==============================

This release of Synapse adds a unique index to the `state_group_edges` table, in
order to prevent accidentally introducing duplicate information (for example,
because a database backup was restored multiple times). If your Synapse database
already has duplicate rows in this table, this could fail with an error and
require manual remediation.

Additionally, the signature of the `check_event_for_spam` module callback has changed.
The previous signature has been deprecated and remains working for now. Module authors
should update their modules to use the new signature where possible.

See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600)
for more details.

Features
--------

- Measure the time taken in spam-checking callbacks and expose those measurements as metrics. ([\#12513](https://github.com/matrix-org/synapse/issues/12513))
- Add a `default_power_level_content_override` config option to set default room power levels per room preset. ([\#12618](https://github.com/matrix-org/synapse/issues/12618))
- Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787). ([\#12623](https://github.com/matrix-org/synapse/issues/12623))
- Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ([\#12672](https://github.com/matrix-org/synapse/issues/12672), [\#12809](https://github.com/matrix-org/synapse/issues/12809))
- Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP) signal. ([\#12673](https://github.com/matrix-org/synapse/issues/12673))
- Add a config options to allow for auto-tuning of caches. ([\#12701](https://github.com/matrix-org/synapse/issues/12701))
- Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered. ([\#12718](https://github.com/matrix-org/synapse/issues/12718))
- Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency. ([\#12744](https://github.com/matrix-org/synapse/issues/12744))
- Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818). ([\#12786](https://github.com/matrix-org/synapse/issues/12786), [\#12792](https://github.com/matrix-org/synapse/issues/12792))
- Update to the `check_event_for_spam` module callback. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). ([\#12808](https://github.com/matrix-org/synapse/issues/12808))

Bugfixes
--------

- Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled. ([\#12611](https://github.com/matrix-org/synapse/issues/12611))
- Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room. ([\#12683](https://github.com/matrix-org/synapse/issues/12683))
- Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ([\#12687](https://github.com/matrix-org/synapse/issues/12687))
- Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room. ([\#12696](https://github.com/matrix-org/synapse/issues/12696))
- Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set. ([\#12713](https://github.com/matrix-org/synapse/issues/12713))
- Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper. ([\#12721](https://github.com/matrix-org/synapse/issues/12721))
- Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers. ([\#12747](https://github.com/matrix-org/synapse/issues/12747))
- Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API. ([\#12770](https://github.com/matrix-org/synapse/issues/12770))
- Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ([\#12779](https://github.com/matrix-org/synapse/issues/12779))
- Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar. ([\#12794](https://github.com/matrix-org/synapse/issues/12794))
- Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers. ([\#12803](https://github.com/matrix-org/synapse/issues/12803))
- Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background. ([\#12823](https://github.com/matrix-org/synapse/issues/12823))

Updates to the Docker image
---------------------------

- Fix the docker file after a dependency update. ([\#12853](https://github.com/matrix-org/synapse/issues/12853))

Improved Documentation
----------------------

- Fix a typo in the Media Admin API documentation. ([\#12715](https://github.com/matrix-org/synapse/issues/12715))
- Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh. ([\#12727](https://github.com/matrix-org/synapse/issues/12727))
- Fix typo in server listener documentation. ([\#12742](https://github.com/matrix-org/synapse/issues/12742))
- Link to the configuration manual from the welcome page of the documentation. ([\#12748](https://github.com/matrix-org/synapse/issues/12748))
- Fix typo in `run_background_tasks_on` option name in configuration manual documentation. ([\#12749](https://github.com/matrix-org/synapse/issues/12749))
- Add information regarding the `rc_invites` ratelimiting option to the configuration docs. ([\#12759](https://github.com/matrix-org/synapse/issues/12759))
- Add documentation for cancellation of request processing. ([\#12761](https://github.com/matrix-org/synapse/issues/12761))
- Recommend using docker to run tests against postgres. ([\#12765](https://github.com/matrix-org/synapse/issues/12765))
- Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari. ([\#12773](https://github.com/matrix-org/synapse/issues/12773))
- Add additional info to documentation of config option `cache_autotuning`. ([\#12776](https://github.com/matrix-org/synapse/issues/12776))
- Update configuration manual documentation to document size-related suffixes. ([\#12777](https://github.com/matrix-org/synapse/issues/12777))
- Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option. ([\#12785](https://github.com/matrix-org/synapse/issues/12785))

Deprecations and Removals
-------------------------

- Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts. ([\#12709](https://github.com/matrix-org/synapse/issues/12709))

Internal Changes
----------------

- Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. ([\#10533](https://github.com/matrix-org/synapse/issues/10533))
- Preparation for faster-room-join work: return subsets of room state which we already have, immediately. ([\#12498](https://github.com/matrix-org/synapse/issues/12498))
- Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect. ([\#12586](https://github.com/matrix-org/synapse/issues/12586), [\#12588](https://github.com/matrix-org/synapse/issues/12588), [\#12630](https://github.com/matrix-org/synapse/issues/12630), [\#12694](https://github.com/matrix-org/synapse/issues/12694), [\#12698](https://github.com/matrix-org/synapse/issues/12698), [\#12699](https://github.com/matrix-org/synapse/issues/12699), [\#12700](https://github.com/matrix-org/synapse/issues/12700), [\#12705](https://github.com/matrix-org/synapse/issues/12705))
- Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests. ([\#12708](https://github.com/matrix-org/synapse/issues/12708))
- Improve documentation of the `synapse.push` module. ([\#12676](https://github.com/matrix-org/synapse/issues/12676))
- Refactor functions to on `PushRuleEvaluatorForEvent`. ([\#12677](https://github.com/matrix-org/synapse/issues/12677))
- Preparation for database schema simplifications: stop writing to `event_reference_hashes`. ([\#12679](https://github.com/matrix-org/synapse/issues/12679))
- Remove code which updates unused database column `application_services_state.last_txn`. ([\#12680](https://github.com/matrix-org/synapse/issues/12680))
- Refactor `EventContext` class. ([\#12689](https://github.com/matrix-org/synapse/issues/12689))
- Remove an unneeded class in the push code. ([\#12691](https://github.com/matrix-org/synapse/issues/12691))
- Consolidate parsing of relation information from events. ([\#12693](https://github.com/matrix-org/synapse/issues/12693))
- Convert namespace class `Codes` into a string enum. ([\#12703](https://github.com/matrix-org/synapse/issues/12703))
- Optimize private read receipt filtering. ([\#12711](https://github.com/matrix-org/synapse/issues/12711))
- Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG. ([\#12720](https://github.com/matrix-org/synapse/issues/12720))
- Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports. ([\#12723](https://github.com/matrix-org/synapse/issues/12723))
- Update configs used by Complement to allow more invites/3PID validations during tests. ([\#12731](https://github.com/matrix-org/synapse/issues/12731))
- Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar. ([\#12762](https://github.com/matrix-org/synapse/issues/12762))
- Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`. ([\#12769](https://github.com/matrix-org/synapse/issues/12769))
- Move methods that call `add_push_rule` to the `PushRuleStore` class. ([\#12772](https://github.com/matrix-org/synapse/issues/12772))
- Make handling of federation Authorization header (more) compliant with RFC7230. ([\#12774](https://github.com/matrix-org/synapse/issues/12774))
- Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ([\#12775](https://github.com/matrix-org/synapse/issues/12775))
- Do not keep going if there are 5 back-to-back background update failures. ([\#12781](https://github.com/matrix-org/synapse/issues/12781))
- Fix federation when using the demo scripts. ([\#12783](https://github.com/matrix-org/synapse/issues/12783))
- The `hash_password` script now fails when it is called without specifying a config file. Contributed by @jae1911. ([\#12789](https://github.com/matrix-org/synapse/issues/12789))
- Improve and fix type hints. ([\#12567](https://github.com/matrix-org/synapse/issues/12567), [\#12477](https://github.com/matrix-org/synapse/issues/12477), [\#12717](https://github.com/matrix-org/synapse/issues/12717), [\#12753](https://github.com/matrix-org/synapse/issues/12753), [\#12695](https://github.com/matrix-org/synapse/issues/12695), [\#12734](https://github.com/matrix-org/synapse/issues/12734), [\#12716](https://github.com/matrix-org/synapse/issues/12716), [\#12726](https://github.com/matrix-org/synapse/issues/12726), [\#12790](https://github.com/matrix-org/synapse/issues/12790), [\#12833](https://github.com/matrix-org/synapse/issues/12833))
- Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible. ([\#12791](https://github.com/matrix-org/synapse/issues/12791))
- Remove Caddy from the Synapse workers image used in Complement. ([\#12818](https://github.com/matrix-org/synapse/issues/12818))
- Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it. ([\#12819](https://github.com/matrix-org/synapse/issues/12819))
- Support registering Application Services when running with workers under Complement. ([\#12826](https://github.com/matrix-org/synapse/issues/12826))
- Disable 'faster room join' Complement tests when testing against Synapse with workers. ([\#12842](https://github.com/matrix-org/synapse/issues/12842))
-rw-r--r--CHANGES.md112
-rw-r--r--changelog.d/10533.misc1
-rw-r--r--changelog.d/12477.misc1
-rw-r--r--changelog.d/12498.misc1
-rw-r--r--changelog.d/12513.feature1
-rw-r--r--changelog.d/12567.misc1
-rw-r--r--changelog.d/12586.misc1
-rw-r--r--changelog.d/12588.misc1
-rw-r--r--changelog.d/12611.bugfix1
-rw-r--r--changelog.d/12618.feature1
-rw-r--r--changelog.d/12623.feature1
-rw-r--r--changelog.d/12630.misc1
-rw-r--r--changelog.d/12672.feature1
-rw-r--r--changelog.d/12673.feature1
-rw-r--r--changelog.d/12676.misc1
-rw-r--r--changelog.d/12677.misc1
-rw-r--r--changelog.d/12679.misc1
-rw-r--r--changelog.d/12680.misc1
-rw-r--r--changelog.d/12683.bugfix1
-rw-r--r--changelog.d/12687.bugfix1
-rw-r--r--changelog.d/12689.misc1
-rw-r--r--changelog.d/12691.misc1
-rw-r--r--changelog.d/12693.misc1
-rw-r--r--changelog.d/12694.misc1
-rw-r--r--changelog.d/12695.misc1
-rw-r--r--changelog.d/12696.bugfix1
-rw-r--r--changelog.d/12698.misc1
-rw-r--r--changelog.d/12699.misc1
-rw-r--r--changelog.d/12700.misc1
-rw-r--r--changelog.d/12701.feature1
-rw-r--r--changelog.d/12703.misc1
-rw-r--r--changelog.d/12705.misc1
-rw-r--r--changelog.d/12708.misc1
-rw-r--r--changelog.d/12709.removal1
-rw-r--r--changelog.d/12711.misc1
-rw-r--r--changelog.d/12713.bugfix1
-rw-r--r--changelog.d/12715.doc1
-rw-r--r--changelog.d/12716.misc1
-rw-r--r--changelog.d/12717.misc1
-rw-r--r--changelog.d/12718.feature1
-rw-r--r--changelog.d/12720.misc1
-rw-r--r--changelog.d/12721.bugfix1
-rw-r--r--changelog.d/12723.misc1
-rw-r--r--changelog.d/12726.misc1
-rw-r--r--changelog.d/12727.doc1
-rw-r--r--changelog.d/12731.misc1
-rw-r--r--changelog.d/12734.misc1
-rw-r--r--changelog.d/12742.doc1
-rw-r--r--changelog.d/12744.feature1
-rw-r--r--changelog.d/12747.bugfix1
-rw-r--r--changelog.d/12748.doc1
-rw-r--r--changelog.d/12749.doc1
-rw-r--r--changelog.d/12753.misc1
-rw-r--r--changelog.d/12759.doc1
-rw-r--r--changelog.d/12761.doc1
-rw-r--r--changelog.d/12762.misc1
-rw-r--r--changelog.d/12765.doc1
-rw-r--r--changelog.d/12769.misc1
-rw-r--r--changelog.d/12770.bugfix1
-rw-r--r--changelog.d/12772.misc1
-rw-r--r--changelog.d/12773.doc1
-rw-r--r--changelog.d/12774.misc1
-rw-r--r--changelog.d/12775.misc1
-rw-r--r--changelog.d/12776.doc2
-rw-r--r--changelog.d/12777.doc2
-rw-r--r--changelog.d/12779.bugfix1
-rw-r--r--changelog.d/12781.misc1
-rw-r--r--changelog.d/12783.misc1
-rw-r--r--changelog.d/12785.doc1
-rw-r--r--changelog.d/12786.feature1
-rw-r--r--changelog.d/12789.misc1
-rw-r--r--changelog.d/12790.misc1
-rw-r--r--changelog.d/12791.misc1
-rw-r--r--changelog.d/12792.feature1
-rw-r--r--changelog.d/12794.bugfix1
-rw-r--r--changelog.d/12803.bugfix1
-rw-r--r--changelog.d/12808.feature1
-rw-r--r--changelog.d/12809.feature1
-rw-r--r--changelog.d/12818.misc1
-rw-r--r--changelog.d/12819.misc1
-rw-r--r--changelog.d/12823.bugfix1
-rw-r--r--changelog.d/12826.misc1
-rw-r--r--changelog.d/12833.misc1
-rw-r--r--changelog.d/12842.misc1
-rw-r--r--changelog.d/12853.docker1
-rw-r--r--debian/changelog6
-rw-r--r--pyproject.toml2
87 files changed, 119 insertions, 87 deletions
diff --git a/CHANGES.md b/CHANGES.md
index e10ac0314a..46ac3fce7a 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,115 @@
+Synapse 1.60.0rc1 (2022-05-24)
+==============================
+
+This release of Synapse adds a unique index to the `state_group_edges` table, in
+order to prevent accidentally introducing duplicate information (for example,
+because a database backup was restored multiple times). If your Synapse database
+already has duplicate rows in this table, this could fail with an error and
+require manual remediation.
+
+Additionally, the signature of the `check_event_for_spam` module callback has changed.
+The previous signature has been deprecated and remains working for now. Module authors
+should update their modules to use the new signature where possible.
+
+See [the upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#upgrading-to-v1600)
+for more details.
+
+Features
+--------
+
+- Measure the time taken in spam-checking callbacks and expose those measurements as metrics. ([\#12513](https://github.com/matrix-org/synapse/issues/12513))
+- Add a `default_power_level_content_override` config option to set default room power levels per room preset. ([\#12618](https://github.com/matrix-org/synapse/issues/12618))
+- Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787). ([\#12623](https://github.com/matrix-org/synapse/issues/12623))
+- Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. ([\#12672](https://github.com/matrix-org/synapse/issues/12672), [\#12809](https://github.com/matrix-org/synapse/issues/12809))
+- Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP) signal. ([\#12673](https://github.com/matrix-org/synapse/issues/12673))
+- Add a config options to allow for auto-tuning of caches. ([\#12701](https://github.com/matrix-org/synapse/issues/12701))
+- Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered. ([\#12718](https://github.com/matrix-org/synapse/issues/12718))
+- Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency. ([\#12744](https://github.com/matrix-org/synapse/issues/12744))
+- Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818). ([\#12786](https://github.com/matrix-org/synapse/issues/12786), [\#12792](https://github.com/matrix-org/synapse/issues/12792))
+- Update to the `check_event_for_spam` module callback. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). ([\#12808](https://github.com/matrix-org/synapse/issues/12808))
+
+
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled. ([\#12611](https://github.com/matrix-org/synapse/issues/12611))
+- Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room. ([\#12683](https://github.com/matrix-org/synapse/issues/12683))
+- Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance. ([\#12687](https://github.com/matrix-org/synapse/issues/12687))
+- Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room. ([\#12696](https://github.com/matrix-org/synapse/issues/12696))
+- Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set. ([\#12713](https://github.com/matrix-org/synapse/issues/12713))
+- Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper. ([\#12721](https://github.com/matrix-org/synapse/issues/12721))
+- Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers. ([\#12747](https://github.com/matrix-org/synapse/issues/12747))
+- Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API. ([\#12770](https://github.com/matrix-org/synapse/issues/12770))
+- Give a meaningful error message when a client tries to create a room with an invalid alias localpart. ([\#12779](https://github.com/matrix-org/synapse/issues/12779))
+- Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar. ([\#12794](https://github.com/matrix-org/synapse/issues/12794))
+- Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers. ([\#12803](https://github.com/matrix-org/synapse/issues/12803))
+- Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background. ([\#12823](https://github.com/matrix-org/synapse/issues/12823))
+
+
+Updates to the Docker image
+---------------------------
+
+- Fix the docker file after a dependency update. ([\#12853](https://github.com/matrix-org/synapse/issues/12853))
+
+
+Improved Documentation
+----------------------
+
+- Fix a typo in the Media Admin API documentation. ([\#12715](https://github.com/matrix-org/synapse/issues/12715))
+- Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh. ([\#12727](https://github.com/matrix-org/synapse/issues/12727))
+- Fix typo in server listener documentation. ([\#12742](https://github.com/matrix-org/synapse/issues/12742))
+- Link to the configuration manual from the welcome page of the documentation. ([\#12748](https://github.com/matrix-org/synapse/issues/12748))
+- Fix typo in `run_background_tasks_on` option name in configuration manual documentation. ([\#12749](https://github.com/matrix-org/synapse/issues/12749))
+- Add information regarding the `rc_invites` ratelimiting option to the configuration docs. ([\#12759](https://github.com/matrix-org/synapse/issues/12759))
+- Add documentation for cancellation of request processing. ([\#12761](https://github.com/matrix-org/synapse/issues/12761))
+- Recommend using docker to run tests against postgres. ([\#12765](https://github.com/matrix-org/synapse/issues/12765))
+- Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari. ([\#12773](https://github.com/matrix-org/synapse/issues/12773))
+- Add additional info to documentation of config option `cache_autotuning`. ([\#12776](https://github.com/matrix-org/synapse/issues/12776))
+- Update configuration manual documentation to document size-related suffixes. ([\#12777](https://github.com/matrix-org/synapse/issues/12777))
+- Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option. ([\#12785](https://github.com/matrix-org/synapse/issues/12785))
+
+
+Deprecations and Removals
+-------------------------
+
+- Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts. ([\#12709](https://github.com/matrix-org/synapse/issues/12709))
+
+
+Internal Changes
+----------------
+
+- Improve event caching mechanism to avoid having multiple copies of an event in memory at a time. ([\#10533](https://github.com/matrix-org/synapse/issues/10533))
+- Preparation for faster-room-join work: return subsets of room state which we already have, immediately. ([\#12498](https://github.com/matrix-org/synapse/issues/12498))
+- Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect. ([\#12586](https://github.com/matrix-org/synapse/issues/12586), [\#12588](https://github.com/matrix-org/synapse/issues/12588), [\#12630](https://github.com/matrix-org/synapse/issues/12630), [\#12694](https://github.com/matrix-org/synapse/issues/12694), [\#12698](https://github.com/matrix-org/synapse/issues/12698), [\#12699](https://github.com/matrix-org/synapse/issues/12699), [\#12700](https://github.com/matrix-org/synapse/issues/12700), [\#12705](https://github.com/matrix-org/synapse/issues/12705))
+- Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests. ([\#12708](https://github.com/matrix-org/synapse/issues/12708))
+- Improve documentation of the `synapse.push` module. ([\#12676](https://github.com/matrix-org/synapse/issues/12676))
+- Refactor functions to on `PushRuleEvaluatorForEvent`. ([\#12677](https://github.com/matrix-org/synapse/issues/12677))
+- Preparation for database schema simplifications: stop writing to `event_reference_hashes`. ([\#12679](https://github.com/matrix-org/synapse/issues/12679))
+- Remove code which updates unused database column `application_services_state.last_txn`. ([\#12680](https://github.com/matrix-org/synapse/issues/12680))
+- Refactor `EventContext` class. ([\#12689](https://github.com/matrix-org/synapse/issues/12689))
+- Remove an unneeded class in the push code. ([\#12691](https://github.com/matrix-org/synapse/issues/12691))
+- Consolidate parsing of relation information from events. ([\#12693](https://github.com/matrix-org/synapse/issues/12693))
+- Convert namespace class `Codes` into a string enum. ([\#12703](https://github.com/matrix-org/synapse/issues/12703))
+- Optimize private read receipt filtering. ([\#12711](https://github.com/matrix-org/synapse/issues/12711))
+- Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG. ([\#12720](https://github.com/matrix-org/synapse/issues/12720))
+- Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports. ([\#12723](https://github.com/matrix-org/synapse/issues/12723))
+- Update configs used by Complement to allow more invites/3PID validations during tests. ([\#12731](https://github.com/matrix-org/synapse/issues/12731))
+- Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar. ([\#12762](https://github.com/matrix-org/synapse/issues/12762))
+- Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`. ([\#12769](https://github.com/matrix-org/synapse/issues/12769))
+- Move methods that call `add_push_rule` to the `PushRuleStore` class. ([\#12772](https://github.com/matrix-org/synapse/issues/12772))
+- Make handling of federation Authorization header (more) compliant with RFC7230. ([\#12774](https://github.com/matrix-org/synapse/issues/12774))
+- Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens. ([\#12775](https://github.com/matrix-org/synapse/issues/12775))
+- Do not keep going if there are 5 back-to-back background update failures. ([\#12781](https://github.com/matrix-org/synapse/issues/12781))
+- Fix federation when using the demo scripts. ([\#12783](https://github.com/matrix-org/synapse/issues/12783))
+- The `hash_password` script now fails when it is called without specifying a config file. Contributed by @jae1911. ([\#12789](https://github.com/matrix-org/synapse/issues/12789))
+- Improve and fix type hints. ([\#12567](https://github.com/matrix-org/synapse/issues/12567), [\#12477](https://github.com/matrix-org/synapse/issues/12477), [\#12717](https://github.com/matrix-org/synapse/issues/12717), [\#12753](https://github.com/matrix-org/synapse/issues/12753), [\#12695](https://github.com/matrix-org/synapse/issues/12695), [\#12734](https://github.com/matrix-org/synapse/issues/12734), [\#12716](https://github.com/matrix-org/synapse/issues/12716), [\#12726](https://github.com/matrix-org/synapse/issues/12726), [\#12790](https://github.com/matrix-org/synapse/issues/12790), [\#12833](https://github.com/matrix-org/synapse/issues/12833))
+- Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible. ([\#12791](https://github.com/matrix-org/synapse/issues/12791))
+- Remove Caddy from the Synapse workers image used in Complement. ([\#12818](https://github.com/matrix-org/synapse/issues/12818))
+- Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it. ([\#12819](https://github.com/matrix-org/synapse/issues/12819))
+- Support registering Application Services when running with workers under Complement. ([\#12826](https://github.com/matrix-org/synapse/issues/12826))
+- Disable 'faster room join' Complement tests when testing against Synapse with workers. ([\#12842](https://github.com/matrix-org/synapse/issues/12842))
+
+
 Synapse 1.59.1 (2022-05-18)
 ===========================
 
diff --git a/changelog.d/10533.misc b/changelog.d/10533.misc
deleted file mode 100644
index f70dc6496f..0000000000
--- a/changelog.d/10533.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve event caching mechanism to avoid having multiple copies of an event in memory at a time.
diff --git a/changelog.d/12477.misc b/changelog.d/12477.misc
deleted file mode 100644
index e793d08e5e..0000000000
--- a/changelog.d/12477.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some type hints to datastore.
\ No newline at end of file
diff --git a/changelog.d/12498.misc b/changelog.d/12498.misc
deleted file mode 100644
index 8a00b94fbe..0000000000
--- a/changelog.d/12498.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for faster-room-join work: return subsets of room state which we already have, immediately.
diff --git a/changelog.d/12513.feature b/changelog.d/12513.feature
deleted file mode 100644
index 01bf1d9d2c..0000000000
--- a/changelog.d/12513.feature
+++ /dev/null
@@ -1 +0,0 @@
-Measure the time taken in spam-checking callbacks and expose those measurements as metrics.
diff --git a/changelog.d/12567.misc b/changelog.d/12567.misc
deleted file mode 100644
index 35f08569ba..0000000000
--- a/changelog.d/12567.misc
+++ /dev/null
@@ -1 +0,0 @@
-Replace string literal instances of stream key types with typed constants.
\ No newline at end of file
diff --git a/changelog.d/12586.misc b/changelog.d/12586.misc
deleted file mode 100644
index d26e332305..0000000000
--- a/changelog.d/12586.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add `@cancellable` decorator, for use on endpoint methods that can be cancelled when clients disconnect.
diff --git a/changelog.d/12588.misc b/changelog.d/12588.misc
deleted file mode 100644
index f62d5c8e21..0000000000
--- a/changelog.d/12588.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add ability to cancel disconnected requests to `SynapseRequest`.
diff --git a/changelog.d/12611.bugfix b/changelog.d/12611.bugfix
deleted file mode 100644
index 093c45a20b..0000000000
--- a/changelog.d/12611.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.7.0 that would prevent events from being sent to clients if there's a retention policy in the room when the support for retention policies is disabled.
diff --git a/changelog.d/12618.feature b/changelog.d/12618.feature
deleted file mode 100644
index 37fa03b3cb..0000000000
--- a/changelog.d/12618.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a `default_power_level_content_override` config option to set default room power levels per room preset.
diff --git a/changelog.d/12623.feature b/changelog.d/12623.feature
deleted file mode 100644
index cdee19fafa..0000000000
--- a/changelog.d/12623.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for [MSC3787: Allowing knocks to restricted rooms](https://github.com/matrix-org/matrix-spec-proposals/pull/3787).
\ No newline at end of file
diff --git a/changelog.d/12630.misc b/changelog.d/12630.misc
deleted file mode 100644
index 43e12603e2..0000000000
--- a/changelog.d/12630.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add a helper class for testing request cancellation.
diff --git a/changelog.d/12672.feature b/changelog.d/12672.feature
deleted file mode 100644
index b989e0d208..0000000000
--- a/changelog.d/12672.feature
+++ /dev/null
@@ -1 +0,0 @@
-Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands.
\ No newline at end of file
diff --git a/changelog.d/12673.feature b/changelog.d/12673.feature
deleted file mode 100644
index f2bddd6e1c..0000000000
--- a/changelog.d/12673.feature
+++ /dev/null
@@ -1 +0,0 @@
-Synapse will now reload [cache config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caching) when it receives a [SIGHUP](https://en.wikipedia.org/wiki/SIGHUP) signal.
diff --git a/changelog.d/12676.misc b/changelog.d/12676.misc
deleted file mode 100644
index 26490af00d..0000000000
--- a/changelog.d/12676.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve documentation of the `synapse.push` module.
diff --git a/changelog.d/12677.misc b/changelog.d/12677.misc
deleted file mode 100644
index eed12e69e9..0000000000
--- a/changelog.d/12677.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor functions to on `PushRuleEvaluatorForEvent`.
diff --git a/changelog.d/12679.misc b/changelog.d/12679.misc
deleted file mode 100644
index 6df1116b49..0000000000
--- a/changelog.d/12679.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for database schema simplifications: stop writing to `event_reference_hashes`.
diff --git a/changelog.d/12680.misc b/changelog.d/12680.misc
deleted file mode 100644
index dfd1f0a6c6..0000000000
--- a/changelog.d/12680.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove code which updates unused database column `application_services_state.last_txn`.
diff --git a/changelog.d/12683.bugfix b/changelog.d/12683.bugfix
deleted file mode 100644
index 2ce84a223a..0000000000
--- a/changelog.d/12683.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.57.0 where `/messages` would throw a 500 error when querying for a non-existent room.
diff --git a/changelog.d/12687.bugfix b/changelog.d/12687.bugfix
deleted file mode 100644
index 196d976670..0000000000
--- a/changelog.d/12687.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Add a unique index to `state_group_edges` to prevent duplicates being accidentally introduced and the consequential impact to performance.
\ No newline at end of file
diff --git a/changelog.d/12689.misc b/changelog.d/12689.misc
deleted file mode 100644
index daa484ea30..0000000000
--- a/changelog.d/12689.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor `EventContext` class.
diff --git a/changelog.d/12691.misc b/changelog.d/12691.misc
deleted file mode 100644
index c635434211..0000000000
--- a/changelog.d/12691.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove an unneeded class in the push code.
diff --git a/changelog.d/12693.misc b/changelog.d/12693.misc
deleted file mode 100644
index 8bd1e1cb0c..0000000000
--- a/changelog.d/12693.misc
+++ /dev/null
@@ -1 +0,0 @@
-Consolidate parsing of relation information from events.
diff --git a/changelog.d/12694.misc b/changelog.d/12694.misc
deleted file mode 100644
index e1e956a513..0000000000
--- a/changelog.d/12694.misc
+++ /dev/null
@@ -1 +0,0 @@
-Capture the `Deferred` for request cancellation in `_AsyncResource`.
diff --git a/changelog.d/12695.misc b/changelog.d/12695.misc
deleted file mode 100644
index 1b39d969a4..0000000000
--- a/changelog.d/12695.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fixes an incorrect type hint for `Filter._check_event_relations`.
diff --git a/changelog.d/12696.bugfix b/changelog.d/12696.bugfix
deleted file mode 100644
index e410184a22..0000000000
--- a/changelog.d/12696.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where an empty room would be created when a user with an insufficient power level tried to upgrade a room.
diff --git a/changelog.d/12698.misc b/changelog.d/12698.misc
deleted file mode 100644
index 5d626352f9..0000000000
--- a/changelog.d/12698.misc
+++ /dev/null
@@ -1 +0,0 @@
-Respect the `@cancellable` flag for `DirectServe{Html,Json}Resource`s.
diff --git a/changelog.d/12699.misc b/changelog.d/12699.misc
deleted file mode 100644
index d278a956c7..0000000000
--- a/changelog.d/12699.misc
+++ /dev/null
@@ -1 +0,0 @@
-Respect the `@cancellable` flag for `RestServlet`s and `BaseFederationServlet`s.
diff --git a/changelog.d/12700.misc b/changelog.d/12700.misc
deleted file mode 100644
index d93eb5dada..0000000000
--- a/changelog.d/12700.misc
+++ /dev/null
@@ -1 +0,0 @@
-Respect the `@cancellable` flag for `ReplicationEndpoint`s.
diff --git a/changelog.d/12701.feature b/changelog.d/12701.feature
deleted file mode 100644
index bb2264602c..0000000000
--- a/changelog.d/12701.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a config options to allow for auto-tuning of caches.
diff --git a/changelog.d/12703.misc b/changelog.d/12703.misc
deleted file mode 100644
index 9aaa1bbaa3..0000000000
--- a/changelog.d/12703.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert namespace class `Codes` into a string enum.
\ No newline at end of file
diff --git a/changelog.d/12705.misc b/changelog.d/12705.misc
deleted file mode 100644
index a913d8bb85..0000000000
--- a/changelog.d/12705.misc
+++ /dev/null
@@ -1 +0,0 @@
-Complain if a federation endpoint has the `@cancellable` flag, since some of the wrapper code may not handle cancellation correctly yet.
diff --git a/changelog.d/12708.misc b/changelog.d/12708.misc
deleted file mode 100644
index aa99e7311b..0000000000
--- a/changelog.d/12708.misc
+++ /dev/null
@@ -1 +0,0 @@
-Enable cancellation of `GET /rooms/$room_id/members`, `GET /rooms/$room_id/state` and `GET /rooms/$room_id/state/$event_type/*` requests.
diff --git a/changelog.d/12709.removal b/changelog.d/12709.removal
deleted file mode 100644
index 6bb03e2894..0000000000
--- a/changelog.d/12709.removal
+++ /dev/null
@@ -1 +0,0 @@
-Require a body in POST requests to `/rooms/{roomId}/receipt/{receiptType}/{eventId}`, as required by the [Matrix specification](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidreceiptreceipttypeeventid). This breaks compatibility with Element Android 1.2.0 and earlier: users of those clients will be unable to send read receipts.
diff --git a/changelog.d/12711.misc b/changelog.d/12711.misc
deleted file mode 100644
index 0831ce0452..0000000000
--- a/changelog.d/12711.misc
+++ /dev/null
@@ -1 +0,0 @@
-Optimize private read receipt filtering.
diff --git a/changelog.d/12713.bugfix b/changelog.d/12713.bugfix
deleted file mode 100644
index 91e70f102c..0000000000
--- a/changelog.d/12713.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.30.0 where empty rooms could be automatically created if a monthly active users limit is set.
diff --git a/changelog.d/12715.doc b/changelog.d/12715.doc
deleted file mode 100644
index 150d78c3f6..0000000000
--- a/changelog.d/12715.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix a typo in the Media Admin API documentation.
diff --git a/changelog.d/12716.misc b/changelog.d/12716.misc
deleted file mode 100644
index b07e1b52ee..0000000000
--- a/changelog.d/12716.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type annotations to increase the number of modules passing `disallow-untyped-defs`.
\ No newline at end of file
diff --git a/changelog.d/12717.misc b/changelog.d/12717.misc
deleted file mode 100644
index e793d08e5e..0000000000
--- a/changelog.d/12717.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some type hints to datastore.
\ No newline at end of file
diff --git a/changelog.d/12718.feature b/changelog.d/12718.feature
deleted file mode 100644
index 1056f519a4..0000000000
--- a/changelog.d/12718.feature
+++ /dev/null
@@ -1 +0,0 @@
-Update [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716) implementation to process marker events from the current state to avoid markers being lost in timeline gaps for federated servers which would cause the imported history to be undiscovered.
diff --git a/changelog.d/12720.misc b/changelog.d/12720.misc
deleted file mode 100644
index 01b427f200..0000000000
--- a/changelog.d/12720.misc
+++ /dev/null
@@ -1 +0,0 @@
-Drop the logging level of status messages for the URL preview cache expiry job from INFO to DEBUG.
\ No newline at end of file
diff --git a/changelog.d/12721.bugfix b/changelog.d/12721.bugfix
deleted file mode 100644
index 6987f7ab15..0000000000
--- a/changelog.d/12721.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix push to dismiss notifications when read on another client. Contributed by @SpiritCroc @ Beeper.
diff --git a/changelog.d/12723.misc b/changelog.d/12723.misc
deleted file mode 100644
index 4f5bffeda6..0000000000
--- a/changelog.d/12723.misc
+++ /dev/null
@@ -1 +0,0 @@
-Downgrade some OIDC errors to warnings in the logs, to reduce the noise of Sentry reports.
diff --git a/changelog.d/12726.misc b/changelog.d/12726.misc
deleted file mode 100644
index b07e1b52ee..0000000000
--- a/changelog.d/12726.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type annotations to increase the number of modules passing `disallow-untyped-defs`.
\ No newline at end of file
diff --git a/changelog.d/12727.doc b/changelog.d/12727.doc
deleted file mode 100644
index c41e50c85b..0000000000
--- a/changelog.d/12727.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update the OpenID Connect example for Keycloak to be compatible with newer versions of Keycloak. Contributed by @nhh.
diff --git a/changelog.d/12731.misc b/changelog.d/12731.misc
deleted file mode 100644
index 962100d516..0000000000
--- a/changelog.d/12731.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update configs used by Complement to allow more invites/3PID validations during tests.
\ No newline at end of file
diff --git a/changelog.d/12734.misc b/changelog.d/12734.misc
deleted file mode 100644
index ffbfb0d632..0000000000
--- a/changelog.d/12734.misc
+++ /dev/null
@@ -1 +0,0 @@
-Tidy up and type-hint the database engine modules.
diff --git a/changelog.d/12742.doc b/changelog.d/12742.doc
deleted file mode 100644
index 0084e27a7d..0000000000
--- a/changelog.d/12742.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix typo in server listener documentation.
\ No newline at end of file
diff --git a/changelog.d/12744.feature b/changelog.d/12744.feature
deleted file mode 100644
index 9836d94f8c..0000000000
--- a/changelog.d/12744.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a `drop_federated_event` callback to `SpamChecker` to disregard inbound federated events before they take up much processing power, in an emergency.
diff --git a/changelog.d/12747.bugfix b/changelog.d/12747.bugfix
deleted file mode 100644
index 0fb0059237..0000000000
--- a/changelog.d/12747.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix poor database performance when reading the cache invalidation stream for large servers with lots of workers.
diff --git a/changelog.d/12748.doc b/changelog.d/12748.doc
deleted file mode 100644
index 996ad3a1b9..0000000000
--- a/changelog.d/12748.doc
+++ /dev/null
@@ -1 +0,0 @@
-Link to the configuration manual from the welcome page of the documentation.
diff --git a/changelog.d/12749.doc b/changelog.d/12749.doc
deleted file mode 100644
index 4560319ee4..0000000000
--- a/changelog.d/12749.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix typo in 'run_background_tasks_on' option name in configuration manual documentation.
diff --git a/changelog.d/12753.misc b/changelog.d/12753.misc
deleted file mode 100644
index e793d08e5e..0000000000
--- a/changelog.d/12753.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some type hints to datastore.
\ No newline at end of file
diff --git a/changelog.d/12759.doc b/changelog.d/12759.doc
deleted file mode 100644
index 45d1c9c0ca..0000000000
--- a/changelog.d/12759.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add information regarding the `rc_invites` ratelimiting option to the configuration docs.
diff --git a/changelog.d/12761.doc b/changelog.d/12761.doc
deleted file mode 100644
index 2eb2c0976f..0000000000
--- a/changelog.d/12761.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add documentation for cancellation of request processing.
diff --git a/changelog.d/12762.misc b/changelog.d/12762.misc
deleted file mode 100644
index 990fb6fe74..0000000000
--- a/changelog.d/12762.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where the user directory background process would fail to make forward progress if a user included a null codepoint in their display name or avatar.
diff --git a/changelog.d/12765.doc b/changelog.d/12765.doc
deleted file mode 100644
index 277b037d6b..0000000000
--- a/changelog.d/12765.doc
+++ /dev/null
@@ -1 +0,0 @@
-Recommend using docker to run tests against postgres.
diff --git a/changelog.d/12769.misc b/changelog.d/12769.misc
deleted file mode 100644
index 27bd53abe3..0000000000
--- a/changelog.d/12769.misc
+++ /dev/null
@@ -1 +0,0 @@
-Tweak the mypy plugin so that `@cached` can accept `on_invalidate=None`.
diff --git a/changelog.d/12770.bugfix b/changelog.d/12770.bugfix
deleted file mode 100644
index a958f9a16b..0000000000
--- a/changelog.d/12770.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Delete events from the `federation_inbound_events_staging` table when a room is purged through the admin API.
diff --git a/changelog.d/12772.misc b/changelog.d/12772.misc
deleted file mode 100644
index da66f376fe..0000000000
--- a/changelog.d/12772.misc
+++ /dev/null
@@ -1 +0,0 @@
-Move methods that call `add_push_rule` to the `PushRuleStore` class.
diff --git a/changelog.d/12773.doc b/changelog.d/12773.doc
deleted file mode 100644
index 6de3716534..0000000000
--- a/changelog.d/12773.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing user directory endpoint from the generic worker documentation. Contributed by @olmari.
\ No newline at end of file
diff --git a/changelog.d/12774.misc b/changelog.d/12774.misc
deleted file mode 100644
index 8651f2e0e0..0000000000
--- a/changelog.d/12774.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make handling of federation Authorization header (more) compliant with RFC7230.
diff --git a/changelog.d/12775.misc b/changelog.d/12775.misc
deleted file mode 100644
index eac326cde3..0000000000
--- a/changelog.d/12775.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor `resolve_state_groups_for_events` to not pull out full state when no state resolution happens.
\ No newline at end of file
diff --git a/changelog.d/12776.doc b/changelog.d/12776.doc
deleted file mode 100644
index c00489a8ce..0000000000
--- a/changelog.d/12776.doc
+++ /dev/null
@@ -1,2 +0,0 @@
-Add additional info to documentation of config option `cache_autotuning`.
-
diff --git a/changelog.d/12777.doc b/changelog.d/12777.doc
deleted file mode 100644
index cc9c07704d..0000000000
--- a/changelog.d/12777.doc
+++ /dev/null
@@ -1,2 +0,0 @@
-Update configuration manual documentation to document size-related suffixes.
-
diff --git a/changelog.d/12779.bugfix b/changelog.d/12779.bugfix
deleted file mode 100644
index 7cf7a1f65f..0000000000
--- a/changelog.d/12779.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Give a meaningful error message when a client tries to create a room with an invalid alias localpart.
\ No newline at end of file
diff --git a/changelog.d/12781.misc b/changelog.d/12781.misc
deleted file mode 100644
index 8a04571617..0000000000
--- a/changelog.d/12781.misc
+++ /dev/null
@@ -1 +0,0 @@
-Do not keep going if there are 5 back-to-back background update failures.
\ No newline at end of file
diff --git a/changelog.d/12783.misc b/changelog.d/12783.misc
deleted file mode 100644
index 97575608bb..0000000000
--- a/changelog.d/12783.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix federation when using the demo scripts.
diff --git a/changelog.d/12785.doc b/changelog.d/12785.doc
deleted file mode 100644
index 5209dfeb05..0000000000
--- a/changelog.d/12785.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix invalid YAML syntax in the example documentation for the `url_preview_accept_language` config option.
diff --git a/changelog.d/12786.feature b/changelog.d/12786.feature
deleted file mode 100644
index c90ddd411e..0000000000
--- a/changelog.d/12786.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818).
diff --git a/changelog.d/12789.misc b/changelog.d/12789.misc
deleted file mode 100644
index 3398d00110..0000000000
--- a/changelog.d/12789.misc
+++ /dev/null
@@ -1 +0,0 @@
-The `hash_password` script now fails when it is called without specifying a config file.
diff --git a/changelog.d/12790.misc b/changelog.d/12790.misc
deleted file mode 100644
index b78156cf4e..0000000000
--- a/changelog.d/12790.misc
+++ /dev/null
@@ -1 +0,0 @@
-Simplify `disallow_untyped_defs` config in `mypy.ini`.
diff --git a/changelog.d/12791.misc b/changelog.d/12791.misc
deleted file mode 100644
index b6e92b7eaf..0000000000
--- a/changelog.d/12791.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update EventContext `get_current_event_ids` and `get_prev_event_ids` to accept state filters and update calls where possible.
diff --git a/changelog.d/12792.feature b/changelog.d/12792.feature
deleted file mode 100644
index 4778b8a394..0000000000
--- a/changelog.d/12792.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818).
\ No newline at end of file
diff --git a/changelog.d/12794.bugfix b/changelog.d/12794.bugfix
deleted file mode 100644
index 2d1a2838e1..0000000000
--- a/changelog.d/12794.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in 1.43.0 where a file (`providers.json`) was never closed. Contributed by @arkamar.
diff --git a/changelog.d/12803.bugfix b/changelog.d/12803.bugfix
deleted file mode 100644
index 6ddd3d24e0..0000000000
--- a/changelog.d/12803.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers.
diff --git a/changelog.d/12808.feature b/changelog.d/12808.feature
deleted file mode 100644
index 561c8b9d34..0000000000
--- a/changelog.d/12808.feature
+++ /dev/null
@@ -1 +0,0 @@
-Update to `check_event_for_spam`. Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes).
\ No newline at end of file
diff --git a/changelog.d/12809.feature b/changelog.d/12809.feature
deleted file mode 100644
index b989e0d208..0000000000
--- a/changelog.d/12809.feature
+++ /dev/null
@@ -1 +0,0 @@
-Send `USER_IP` commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands.
\ No newline at end of file
diff --git a/changelog.d/12818.misc b/changelog.d/12818.misc
deleted file mode 100644
index 2f9dacc21d..0000000000
--- a/changelog.d/12818.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove Caddy from the Synapse workers image used in Complement.
\ No newline at end of file
diff --git a/changelog.d/12819.misc b/changelog.d/12819.misc
deleted file mode 100644
index 7a03102a63..0000000000
--- a/changelog.d/12819.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add Complement's shared registration secret to the Complement worker image. This fixes tests that depend on it.
\ No newline at end of file
diff --git a/changelog.d/12823.bugfix b/changelog.d/12823.bugfix
deleted file mode 100644
index 1a1f5957e7..0000000000
--- a/changelog.d/12823.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug, introduced in Synapse 1.21.0, that led to media thumbnails being unusable before the index has been added in the background.
diff --git a/changelog.d/12826.misc b/changelog.d/12826.misc
deleted file mode 100644
index f5e91f1ed5..0000000000
--- a/changelog.d/12826.misc
+++ /dev/null
@@ -1 +0,0 @@
-Support registering Application Services when running with workers under Complement.
\ No newline at end of file
diff --git a/changelog.d/12833.misc b/changelog.d/12833.misc
deleted file mode 100644
index fad5df1afa..0000000000
--- a/changelog.d/12833.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some type hints to test files.
\ No newline at end of file
diff --git a/changelog.d/12842.misc b/changelog.d/12842.misc
deleted file mode 100644
index cec3f97d86..0000000000
--- a/changelog.d/12842.misc
+++ /dev/null
@@ -1 +0,0 @@
-Disable 'faster room join' Complement tests when testing against Synapse with workers.
\ No newline at end of file
diff --git a/changelog.d/12853.docker b/changelog.d/12853.docker
deleted file mode 100644
index cad10a79cc..0000000000
--- a/changelog.d/12853.docker
+++ /dev/null
@@ -1 +0,0 @@
-Fix the docker file after a dependency update.
diff --git a/debian/changelog b/debian/changelog
index dda342a630..6eba9b3a1b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.60.0~rc1) stable; urgency=medium
+
+  * New Synapse release 1.60.0rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 24 May 2022 12:05:01 +0100
+
 matrix-synapse-py3 (1.59.1) stable; urgency=medium
 
   * New Synapse release 1.59.1.
diff --git a/pyproject.toml b/pyproject.toml
index 5a5a2eaba7..9359d211f7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -54,7 +54,7 @@ skip_gitignore = true
 
 [tool.poetry]
 name = "matrix-synapse"
-version = "1.59.1"
+version = "1.60.0rc1"
 description = "Homeserver for the Matrix decentralised comms protocol"
 authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
 license = "Apache-2.0"