summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2020-09-08 14:04:20 +0100
committerRichard van der Hoff <richard@matrix.org>2020-09-08 14:04:20 +0100
commitcca03dbec8abde03aeb9348a4d9a12b2808ffd1e (patch)
tree04043395ce84ef1e78d301b4418a4984a85c88b3
parentDirectly import json from the standard library. (#8259) (diff)
parentfix typo (diff)
downloadsynapse-cca03dbec8abde03aeb9348a4d9a12b2808ffd1e.tar.xz
Merge tag 'v1.20.0rc1' into develop
Synapse 1.20.0rc1 (2020-09-08)
==============================

Removal warning
---------------

Some older clients used a [disallowed character](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-register-email-requesttoken) (`:`) in the `client_secret` parameter of various endpoints. The incorrect behaviour was allowed for backwards compatibility, but is now being removed from Synapse as most users have updated their client. Further context can be found at [\#6766](https://github.com/matrix-org/synapse/issues/6766).

Features
--------

- Add an endpoint to query your shared rooms with another user as an implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666). ([\#7785](https://github.com/matrix-org/synapse/issues/7785))
- Iteratively encode JSON to avoid blocking the reactor. ([\#8013](https://github.com/matrix-org/synapse/issues/8013), [\#8116](https://github.com/matrix-org/synapse/issues/8116))
- Add support for shadow-banning users (ignoring any message send requests). ([\#8034](https://github.com/matrix-org/synapse/issues/8034), [\#8092](https://github.com/matrix-org/synapse/issues/8092), [\#8095](https://github.com/matrix-org/synapse/issues/8095), [\#8142](https://github.com/matrix-org/synapse/issues/8142), [\#8152](https://github.com/matrix-org/synapse/issues/8152), [\#8157](https://github.com/matrix-org/synapse/issues/8157), [\#8158](https://github.com/matrix-org/synapse/issues/8158), [\#8176](https://github.com/matrix-org/synapse/issues/8176))
- Use the default template file when its equivalent is not found in a custom template directory. ([\#8037](https://github.com/matrix-org/synapse/issues/8037), [\#8107](https://github.com/matrix-org/synapse/issues/8107), [\#8252](https://github.com/matrix-org/synapse/issues/8252))
- Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654). ([\#8059](https://github.com/matrix-org/synapse/issues/8059), [\#8254](https://github.com/matrix-org/synapse/issues/8254), [\#8270](https://github.com/matrix-org/synapse/issues/8270), [\#8274](https://github.com/matrix-org/synapse/issues/8274))
- Optimise `/federation/v1/user/devices/` API by only returning devices with encryption keys. ([\#8198](https://github.com/matrix-org/synapse/issues/8198))

Bugfixes
--------

- Fix a memory leak by limiting the length of time that messages will be queued for a remote server that has been unreachable. ([\#7864](https://github.com/matrix-org/synapse/issues/7864))
- Fix `Re-starting finished log context PUT-nnnn` warning when event persistence failed. ([\#8081](https://github.com/matrix-org/synapse/issues/8081))
- Synapse now correctly enforces the valid characters in the `client_secret` parameter used in various endpoints. ([\#8101](https://github.com/matrix-org/synapse/issues/8101))
- Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file. ([\#8104](https://github.com/matrix-org/synapse/issues/8104))
- Fix a long-standing bug where invalid JSON would be accepted by Synapse. ([\#8106](https://github.com/matrix-org/synapse/issues/8106))
- Fix a bug introduced in Synapse v1.12.0 which could cause `/sync` requests to fail with a 404 if you had a very old outstanding room invite. ([\#8110](https://github.com/matrix-org/synapse/issues/8110))
- Return a proper error code when the rooms of an invalid group are requested. ([\#8129](https://github.com/matrix-org/synapse/issues/8129))
- Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize. ([\#8131](https://github.com/matrix-org/synapse/issues/8131))
- Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0. ([\#8135](https://github.com/matrix-org/synapse/issues/8135))
- Fix a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. ([\#8139](https://github.com/matrix-org/synapse/issues/8139))
- Fix logging in via OpenID Connect with a provider that uses integer user IDs. ([\#8190](https://github.com/matrix-org/synapse/issues/8190))
- Fix a longstanding bug where user directory updates could break when unexpected profile data was included in events. ([\#8223](https://github.com/matrix-org/synapse/issues/8223))
- Fix a longstanding bug where stats updates could break when unexpected profile data was included in events. ([\#8226](https://github.com/matrix-org/synapse/issues/8226))
- Fix slow start times for large servers by removing a table scan of the `users` table from startup code. ([\#8271](https://github.com/matrix-org/synapse/issues/8271))

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

- Fix builds of the Docker image on non-x86 platforms. ([\#8144](https://github.com/matrix-org/synapse/issues/8144))
- Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196. ([\#8147](https://github.com/matrix-org/synapse/issues/8147))

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

- Link to matrix-synapse-rest-password-provider in the password provider documentation. ([\#8111](https://github.com/matrix-org/synapse/issues/8111))
- Updated documentation to note that Synapse does not follow `HTTP 308` redirects due to an upstream library not supporting them. Contributed by Ryan Cole. ([\#8120](https://github.com/matrix-org/synapse/issues/8120))
- Explain better what GDPR-erased means when deactivating a user. ([\#8189](https://github.com/matrix-org/synapse/issues/8189))

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

- Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7377](https://github.com/matrix-org/synapse/issues/7377), [\#8163](https://github.com/matrix-org/synapse/issues/8163))
- Reduce run times of some unit tests by advancing the reactor a fewer number of times. ([\#7757](https://github.com/matrix-org/synapse/issues/7757))
- Don't fail `/submit_token` requests on incorrect session ID if `request_token_inhibit_3pid_errors` is turned on. ([\#7991](https://github.com/matrix-org/synapse/issues/7991))
- Convert various parts of the codebase to async/await. ([\#8071](https://github.com/matrix-org/synapse/issues/8071), [\#8072](https://github.com/matrix-org/synapse/issues/8072), [\#8074](https://github.com/matrix-org/synapse/issues/8074), [\#8075](https://github.com/matrix-org/synapse/issues/8075), [\#8076](https://github.com/matrix-org/synapse/issues/8076), [\#8087](https://github.com/matrix-org/synapse/issues/8087), [\#8100](https://github.com/matrix-org/synapse/issues/8100), [\#8119](https://github.com/matrix-org/synapse/issues/8119), [\#8121](https://github.com/matrix-org/synapse/issues/8121), [\#8133](https://github.com/matrix-org/synapse/issues/8133), [\#8156](https://github.com/matrix-org/synapse/issues/8156), [\#8162](https://github.com/matrix-org/synapse/issues/8162), [\#8166](https://github.com/matrix-org/synapse/issues/8166), [\#8168](https://github.com/matrix-org/synapse/issues/8168), [\#8173](https://github.com/matrix-org/synapse/issues/8173), [\#8191](https://github.com/matrix-org/synapse/issues/8191), [\#8192](https://github.com/matrix-org/synapse/issues/8192), [\#8193](https://github.com/matrix-org/synapse/issues/8193), [\#8194](https://github.com/matrix-org/synapse/issues/8194), [\#8195](https://github.com/matrix-org/synapse/issues/8195), [\#8197](https://github.com/matrix-org/synapse/issues/8197), [\#8199](https://github.com/matrix-org/synapse/issues/8199), [\#8200](https://github.com/matrix-org/synapse/issues/8200), [\#8201](https://github.com/matrix-org/synapse/issues/8201), [\#8202](https://github.com/matrix-org/synapse/issues/8202), [\#8207](https://github.com/matrix-org/synapse/issues/8207), [\#8213](https://github.com/matrix-org/synapse/issues/8213), [\#8214](https://github.com/matrix-org/synapse/issues/8214))
- Remove some unused database functions. ([\#8085](https://github.com/matrix-org/synapse/issues/8085))
- Add type hints to various parts of the codebase. ([\#8090](https://github.com/matrix-org/synapse/issues/8090), [\#8127](https://github.com/matrix-org/synapse/issues/8127), [\#8187](https://github.com/matrix-org/synapse/issues/8187), [\#8241](https://github.com/matrix-org/synapse/issues/8241), [\#8140](https://github.com/matrix-org/synapse/issues/8140), [\#8183](https://github.com/matrix-org/synapse/issues/8183), [\#8232](https://github.com/matrix-org/synapse/issues/8232), [\#8235](https://github.com/matrix-org/synapse/issues/8235), [\#8237](https://github.com/matrix-org/synapse/issues/8237), [\#8244](https://github.com/matrix-org/synapse/issues/8244))
- Return the previous stream token if a non-member event is a duplicate. ([\#8093](https://github.com/matrix-org/synapse/issues/8093), [\#8112](https://github.com/matrix-org/synapse/issues/8112))
- Separate `get_current_token` into two since there are two different use cases for it. ([\#8113](https://github.com/matrix-org/synapse/issues/8113))
- Remove `ChainedIdGenerator`. ([\#8123](https://github.com/matrix-org/synapse/issues/8123))
- Reduce the amount of whitespace in JSON stored and sent in responses. ([\#8124](https://github.com/matrix-org/synapse/issues/8124))
- Update the test federation client to handle streaming responses. ([\#8130](https://github.com/matrix-org/synapse/issues/8130))
- Micro-optimisations to `get_auth_chain_ids`. ([\#8132](https://github.com/matrix-org/synapse/issues/8132))
- Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same interface. ([\#8161](https://github.com/matrix-org/synapse/issues/8161))
- Add functions to `MultiWriterIdGen` used by events stream. ([\#8164](https://github.com/matrix-org/synapse/issues/8164), [\#8179](https://github.com/matrix-org/synapse/issues/8179))
- Fix tests that were broken due to the merge of 1.19.1. ([\#8167](https://github.com/matrix-org/synapse/issues/8167))
- Make `SlavedIdTracker.advance` have the same interface as `MultiWriterIDGenerator`. ([\#8171](https://github.com/matrix-org/synapse/issues/8171))
- Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`. ([\#8174](https://github.com/matrix-org/synapse/issues/8174), [\#8181](https://github.com/matrix-org/synapse/issues/8181))
- Standardize the mypy configuration. ([\#8175](https://github.com/matrix-org/synapse/issues/8175))
- Refactor some of `LoginRestServlet`'s helper methods, and move them to `AuthHandler` for easier reuse. ([\#8182](https://github.com/matrix-org/synapse/issues/8182))
- Fix `wait_for_stream_position` to allow multiple waiters on same stream ID. ([\#8196](https://github.com/matrix-org/synapse/issues/8196))
- Make `MultiWriterIDGenerator` work for streams that use negative values. ([\#8203](https://github.com/matrix-org/synapse/issues/8203))
- Refactor queries for device keys and cross-signatures. ([\#8204](https://github.com/matrix-org/synapse/issues/8204), [\#8205](https://github.com/matrix-org/synapse/issues/8205), [\#8222](https://github.com/matrix-org/synapse/issues/8222), [\#8224](https://github.com/matrix-org/synapse/issues/8224), [\#8225](https://github.com/matrix-org/synapse/issues/8225), [\#8231](https://github.com/matrix-org/synapse/issues/8231), [\#8233](https://github.com/matrix-org/synapse/issues/8233), [\#8234](https://github.com/matrix-org/synapse/issues/8234))
- Fix type hints for functions decorated with `@cached`. ([\#8240](https://github.com/matrix-org/synapse/issues/8240))
- Remove obsolete `order` field from federation send queues. ([\#8245](https://github.com/matrix-org/synapse/issues/8245))
- Stop sub-classing from object. ([\#8249](https://github.com/matrix-org/synapse/issues/8249))
- Add more logging to debug slow startup. ([\#8264](https://github.com/matrix-org/synapse/issues/8264))
- Do not attempt to upgrade database schema on worker processes. ([\#8266](https://github.com/matrix-org/synapse/issues/8266), [\#8276](https://github.com/matrix-org/synapse/issues/8276))
-rw-r--r--CHANGES.md87
-rw-r--r--changelog.d/7377.misc1
-rw-r--r--changelog.d/7757.misc1
-rw-r--r--changelog.d/7785.feature1
-rw-r--r--changelog.d/7864.bugfix1
-rw-r--r--changelog.d/7991.misc1
-rw-r--r--changelog.d/8013.feature1
-rw-r--r--changelog.d/8034.feature1
-rw-r--r--changelog.d/8037.feature1
-rw-r--r--changelog.d/8059.feature1
-rw-r--r--changelog.d/8071.misc1
-rw-r--r--changelog.d/8072.misc1
-rw-r--r--changelog.d/8074.misc1
-rw-r--r--changelog.d/8075.misc1
-rw-r--r--changelog.d/8076.misc1
-rw-r--r--changelog.d/8081.bugfix1
-rw-r--r--changelog.d/8085.misc1
-rw-r--r--changelog.d/8087.misc1
-rw-r--r--changelog.d/8090.misc1
-rw-r--r--changelog.d/8092.feature1
-rw-r--r--changelog.d/8093.misc1
-rw-r--r--changelog.d/8095.feature1
-rw-r--r--changelog.d/8100.misc1
-rw-r--r--changelog.d/8101.bugfix1
-rw-r--r--changelog.d/8104.bugfix1
-rw-r--r--changelog.d/8106.bugfix1
-rw-r--r--changelog.d/8107.feature1
-rw-r--r--changelog.d/8110.bugfix1
-rw-r--r--changelog.d/8111.doc1
-rw-r--r--changelog.d/8112.misc1
-rw-r--r--changelog.d/8113.misc1
-rw-r--r--changelog.d/8116.feature1
-rw-r--r--changelog.d/8119.misc1
-rw-r--r--changelog.d/8120.doc1
-rw-r--r--changelog.d/8121.misc1
-rw-r--r--changelog.d/8123.misc1
-rw-r--r--changelog.d/8124.misc1
-rw-r--r--changelog.d/8127.misc1
-rw-r--r--changelog.d/8129.bugfix1
-rw-r--r--changelog.d/8130.misc1
-rw-r--r--changelog.d/8131.bugfix1
-rw-r--r--changelog.d/8132.misc1
-rw-r--r--changelog.d/8133.misc1
-rw-r--r--changelog.d/8135.bugfix1
-rw-r--r--changelog.d/8139.bugfix1
-rw-r--r--changelog.d/8140.misc1
-rw-r--r--changelog.d/8142.feature1
-rw-r--r--changelog.d/8144.docker1
-rw-r--r--changelog.d/8147.docker1
-rw-r--r--changelog.d/8152.feature1
-rw-r--r--changelog.d/8156.misc1
-rw-r--r--changelog.d/8157.feature1
-rw-r--r--changelog.d/8158.feature1
-rw-r--r--changelog.d/8161.misc1
-rw-r--r--changelog.d/8162.misc1
-rw-r--r--changelog.d/8163.misc1
-rw-r--r--changelog.d/8164.misc1
-rw-r--r--changelog.d/8166.misc1
-rw-r--r--changelog.d/8167.misc1
-rw-r--r--changelog.d/8168.misc1
-rw-r--r--changelog.d/8171.misc1
-rw-r--r--changelog.d/8173.misc1
-rw-r--r--changelog.d/8174.misc1
-rw-r--r--changelog.d/8175.misc1
-rw-r--r--changelog.d/8176.feature1
-rw-r--r--changelog.d/8179.misc1
-rw-r--r--changelog.d/8181.misc1
-rw-r--r--changelog.d/8182.misc1
-rw-r--r--changelog.d/8183.misc1
-rw-r--r--changelog.d/8187.misc1
-rw-r--r--changelog.d/8189.doc1
-rw-r--r--changelog.d/8190.bugfix1
-rw-r--r--changelog.d/8191.misc1
-rw-r--r--changelog.d/8192.misc1
-rw-r--r--changelog.d/8193.misc1
-rw-r--r--changelog.d/8194.misc1
-rw-r--r--changelog.d/8195.misc1
-rw-r--r--changelog.d/8196.misc1
-rw-r--r--changelog.d/8197.misc1
-rw-r--r--changelog.d/8198.feature1
-rw-r--r--changelog.d/8199.misc1
-rw-r--r--changelog.d/8200.misc1
-rw-r--r--changelog.d/8201.misc1
-rw-r--r--changelog.d/8202.misc1
-rw-r--r--changelog.d/8203.misc1
-rw-r--r--changelog.d/8204.misc1
-rw-r--r--changelog.d/8205.misc1
-rw-r--r--changelog.d/8207.misc1
-rw-r--r--changelog.d/8213.misc1
-rw-r--r--changelog.d/8214.misc1
-rw-r--r--changelog.d/8222.misc1
-rw-r--r--changelog.d/8223.bugfix1
-rw-r--r--changelog.d/8224.misc1
-rw-r--r--changelog.d/8225.misc1
-rw-r--r--changelog.d/8226.bugfix1
-rw-r--r--changelog.d/8231.misc1
-rw-r--r--changelog.d/8232.misc1
-rw-r--r--changelog.d/8233.misc1
-rw-r--r--changelog.d/8234.misc1
-rw-r--r--changelog.d/8235.misc1
-rw-r--r--changelog.d/8237.misc1
-rw-r--r--changelog.d/8240.misc1
-rw-r--r--changelog.d/8241.misc1
-rw-r--r--changelog.d/8242.feature1
-rw-r--r--changelog.d/8244.misc1
-rw-r--r--changelog.d/8245.misc1
-rw-r--r--changelog.d/8249.misc1
-rw-r--r--changelog.d/8252.feature1
-rw-r--r--changelog.d/8254.feature1
-rw-r--r--changelog.d/8264.misc1
-rw-r--r--changelog.d/8266.misc1
-rw-r--r--changelog.d/8270.feature1
-rw-r--r--changelog.d/8271.bugfix1
-rw-r--r--changelog.d/8274.feature1
-rw-r--r--docs/systemd-with-workers/system/matrix-synapse-worker@.service5
-rw-r--r--synapse/__init__.py2
116 files changed, 85 insertions, 122 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 92e29983b9..81f9a1aa26 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,15 +1,86 @@
-For the next release
-====================
+Synapse 1.20.0rc1 (2020-09-08)
+==============================
 
 Removal warning
 ---------------
 
-Some older clients used a
-[disallowed character](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-register-email-requesttoken)
-(`:`) in the `client_secret` parameter of various endpoints. The incorrect
-behaviour was allowed for backwards compatibility, but is now being removed
-from Synapse as most users have updated their client. Further context can be
-found at [\#6766](https://github.com/matrix-org/synapse/issues/6766).
+Some older clients used a [disallowed character](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-register-email-requesttoken) (`:`) in the `client_secret` parameter of various endpoints. The incorrect behaviour was allowed for backwards compatibility, but is now being removed from Synapse as most users have updated their client. Further context can be found at [\#6766](https://github.com/matrix-org/synapse/issues/6766).
+
+Features
+--------
+
+- Add an endpoint to query your shared rooms with another user as an implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666). ([\#7785](https://github.com/matrix-org/synapse/issues/7785))
+- Iteratively encode JSON to avoid blocking the reactor. ([\#8013](https://github.com/matrix-org/synapse/issues/8013), [\#8116](https://github.com/matrix-org/synapse/issues/8116))
+- Add support for shadow-banning users (ignoring any message send requests). ([\#8034](https://github.com/matrix-org/synapse/issues/8034), [\#8092](https://github.com/matrix-org/synapse/issues/8092), [\#8095](https://github.com/matrix-org/synapse/issues/8095), [\#8142](https://github.com/matrix-org/synapse/issues/8142), [\#8152](https://github.com/matrix-org/synapse/issues/8152), [\#8157](https://github.com/matrix-org/synapse/issues/8157), [\#8158](https://github.com/matrix-org/synapse/issues/8158), [\#8176](https://github.com/matrix-org/synapse/issues/8176))
+- Use the default template file when its equivalent is not found in a custom template directory. ([\#8037](https://github.com/matrix-org/synapse/issues/8037), [\#8107](https://github.com/matrix-org/synapse/issues/8107), [\#8252](https://github.com/matrix-org/synapse/issues/8252))
+- Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654). ([\#8059](https://github.com/matrix-org/synapse/issues/8059), [\#8254](https://github.com/matrix-org/synapse/issues/8254), [\#8270](https://github.com/matrix-org/synapse/issues/8270), [\#8274](https://github.com/matrix-org/synapse/issues/8274))
+- Optimise `/federation/v1/user/devices/` API by only returning devices with encryption keys. ([\#8198](https://github.com/matrix-org/synapse/issues/8198))
+
+
+Bugfixes
+--------
+
+- Fix a memory leak by limiting the length of time that messages will be queued for a remote server that has been unreachable. ([\#7864](https://github.com/matrix-org/synapse/issues/7864))
+- Fix `Re-starting finished log context PUT-nnnn` warning when event persistence failed. ([\#8081](https://github.com/matrix-org/synapse/issues/8081))
+- Synapse now correctly enforces the valid characters in the `client_secret` parameter used in various endpoints. ([\#8101](https://github.com/matrix-org/synapse/issues/8101))
+- Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file. ([\#8104](https://github.com/matrix-org/synapse/issues/8104))
+- Fix a long-standing bug where invalid JSON would be accepted by Synapse. ([\#8106](https://github.com/matrix-org/synapse/issues/8106))
+- Fix a bug introduced in Synapse v1.12.0 which could cause `/sync` requests to fail with a 404 if you had a very old outstanding room invite. ([\#8110](https://github.com/matrix-org/synapse/issues/8110))
+- Return a proper error code when the rooms of an invalid group are requested. ([\#8129](https://github.com/matrix-org/synapse/issues/8129))
+- Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize. ([\#8131](https://github.com/matrix-org/synapse/issues/8131))
+- Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0. ([\#8135](https://github.com/matrix-org/synapse/issues/8135))
+- Fix a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. ([\#8139](https://github.com/matrix-org/synapse/issues/8139))
+- Fix logging in via OpenID Connect with a provider that uses integer user IDs. ([\#8190](https://github.com/matrix-org/synapse/issues/8190))
+- Fix a longstanding bug where user directory updates could break when unexpected profile data was included in events. ([\#8223](https://github.com/matrix-org/synapse/issues/8223))
+- Fix a longstanding bug where stats updates could break when unexpected profile data was included in events. ([\#8226](https://github.com/matrix-org/synapse/issues/8226))
+- Fix slow start times for large servers by removing a table scan of the `users` table from startup code. ([\#8271](https://github.com/matrix-org/synapse/issues/8271))
+
+
+Updates to the Docker image
+---------------------------
+
+- Fix builds of the Docker image on non-x86 platforms. ([\#8144](https://github.com/matrix-org/synapse/issues/8144))
+- Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196. ([\#8147](https://github.com/matrix-org/synapse/issues/8147))
+
+
+Improved Documentation
+----------------------
+
+- Link to matrix-synapse-rest-password-provider in the password provider documentation. ([\#8111](https://github.com/matrix-org/synapse/issues/8111))
+- Updated documentation to note that Synapse does not follow `HTTP 308` redirects due to an upstream library not supporting them. Contributed by Ryan Cole. ([\#8120](https://github.com/matrix-org/synapse/issues/8120))
+- Explain better what GDPR-erased means when deactivating a user. ([\#8189](https://github.com/matrix-org/synapse/issues/8189))
+
+
+Internal Changes
+----------------
+
+- Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH. ([\#7377](https://github.com/matrix-org/synapse/issues/7377), [\#8163](https://github.com/matrix-org/synapse/issues/8163))
+- Reduce run times of some unit tests by advancing the reactor a fewer number of times. ([\#7757](https://github.com/matrix-org/synapse/issues/7757))
+- Don't fail `/submit_token` requests on incorrect session ID if `request_token_inhibit_3pid_errors` is turned on. ([\#7991](https://github.com/matrix-org/synapse/issues/7991))
+- Convert various parts of the codebase to async/await. ([\#8071](https://github.com/matrix-org/synapse/issues/8071), [\#8072](https://github.com/matrix-org/synapse/issues/8072), [\#8074](https://github.com/matrix-org/synapse/issues/8074), [\#8075](https://github.com/matrix-org/synapse/issues/8075), [\#8076](https://github.com/matrix-org/synapse/issues/8076), [\#8087](https://github.com/matrix-org/synapse/issues/8087), [\#8100](https://github.com/matrix-org/synapse/issues/8100), [\#8119](https://github.com/matrix-org/synapse/issues/8119), [\#8121](https://github.com/matrix-org/synapse/issues/8121), [\#8133](https://github.com/matrix-org/synapse/issues/8133), [\#8156](https://github.com/matrix-org/synapse/issues/8156), [\#8162](https://github.com/matrix-org/synapse/issues/8162), [\#8166](https://github.com/matrix-org/synapse/issues/8166), [\#8168](https://github.com/matrix-org/synapse/issues/8168), [\#8173](https://github.com/matrix-org/synapse/issues/8173), [\#8191](https://github.com/matrix-org/synapse/issues/8191), [\#8192](https://github.com/matrix-org/synapse/issues/8192), [\#8193](https://github.com/matrix-org/synapse/issues/8193), [\#8194](https://github.com/matrix-org/synapse/issues/8194), [\#8195](https://github.com/matrix-org/synapse/issues/8195), [\#8197](https://github.com/matrix-org/synapse/issues/8197), [\#8199](https://github.com/matrix-org/synapse/issues/8199), [\#8200](https://github.com/matrix-org/synapse/issues/8200), [\#8201](https://github.com/matrix-org/synapse/issues/8201), [\#8202](https://github.com/matrix-org/synapse/issues/8202), [\#8207](https://github.com/matrix-org/synapse/issues/8207), [\#8213](https://github.com/matrix-org/synapse/issues/8213), [\#8214](https://github.com/matrix-org/synapse/issues/8214))
+- Remove some unused database functions. ([\#8085](https://github.com/matrix-org/synapse/issues/8085))
+- Add type hints to various parts of the codebase. ([\#8090](https://github.com/matrix-org/synapse/issues/8090), [\#8127](https://github.com/matrix-org/synapse/issues/8127), [\#8187](https://github.com/matrix-org/synapse/issues/8187), [\#8241](https://github.com/matrix-org/synapse/issues/8241), [\#8140](https://github.com/matrix-org/synapse/issues/8140), [\#8183](https://github.com/matrix-org/synapse/issues/8183), [\#8232](https://github.com/matrix-org/synapse/issues/8232), [\#8235](https://github.com/matrix-org/synapse/issues/8235), [\#8237](https://github.com/matrix-org/synapse/issues/8237), [\#8244](https://github.com/matrix-org/synapse/issues/8244))
+- Return the previous stream token if a non-member event is a duplicate. ([\#8093](https://github.com/matrix-org/synapse/issues/8093), [\#8112](https://github.com/matrix-org/synapse/issues/8112))
+- Separate `get_current_token` into two since there are two different use cases for it. ([\#8113](https://github.com/matrix-org/synapse/issues/8113))
+- Remove `ChainedIdGenerator`. ([\#8123](https://github.com/matrix-org/synapse/issues/8123))
+- Reduce the amount of whitespace in JSON stored and sent in responses. ([\#8124](https://github.com/matrix-org/synapse/issues/8124))
+- Update the test federation client to handle streaming responses. ([\#8130](https://github.com/matrix-org/synapse/issues/8130))
+- Micro-optimisations to `get_auth_chain_ids`. ([\#8132](https://github.com/matrix-org/synapse/issues/8132))
+- Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same interface. ([\#8161](https://github.com/matrix-org/synapse/issues/8161))
+- Add functions to `MultiWriterIdGen` used by events stream. ([\#8164](https://github.com/matrix-org/synapse/issues/8164), [\#8179](https://github.com/matrix-org/synapse/issues/8179))
+- Fix tests that were broken due to the merge of 1.19.1. ([\#8167](https://github.com/matrix-org/synapse/issues/8167))
+- Make `SlavedIdTracker.advance` have the same interface as `MultiWriterIDGenerator`. ([\#8171](https://github.com/matrix-org/synapse/issues/8171))
+- Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`. ([\#8174](https://github.com/matrix-org/synapse/issues/8174), [\#8181](https://github.com/matrix-org/synapse/issues/8181))
+- Standardize the mypy configuration. ([\#8175](https://github.com/matrix-org/synapse/issues/8175))
+- Refactor some of `LoginRestServlet`'s helper methods, and move them to `AuthHandler` for easier reuse. ([\#8182](https://github.com/matrix-org/synapse/issues/8182))
+- Fix `wait_for_stream_position` to allow multiple waiters on same stream ID. ([\#8196](https://github.com/matrix-org/synapse/issues/8196))
+- Make `MultiWriterIDGenerator` work for streams that use negative values. ([\#8203](https://github.com/matrix-org/synapse/issues/8203))
+- Refactor queries for device keys and cross-signatures. ([\#8204](https://github.com/matrix-org/synapse/issues/8204), [\#8205](https://github.com/matrix-org/synapse/issues/8205), [\#8222](https://github.com/matrix-org/synapse/issues/8222), [\#8224](https://github.com/matrix-org/synapse/issues/8224), [\#8225](https://github.com/matrix-org/synapse/issues/8225), [\#8231](https://github.com/matrix-org/synapse/issues/8231), [\#8233](https://github.com/matrix-org/synapse/issues/8233), [\#8234](https://github.com/matrix-org/synapse/issues/8234))
+- Fix type hints for functions decorated with `@cached`. ([\#8240](https://github.com/matrix-org/synapse/issues/8240))
+- Remove obsolete `order` field from federation send queues. ([\#8245](https://github.com/matrix-org/synapse/issues/8245))
+- Stop sub-classing from object. ([\#8249](https://github.com/matrix-org/synapse/issues/8249))
+- Add more logging to debug slow startup. ([\#8264](https://github.com/matrix-org/synapse/issues/8264))
+- Do not attempt to upgrade database schema on worker processes. ([\#8266](https://github.com/matrix-org/synapse/issues/8266), [\#8276](https://github.com/matrix-org/synapse/issues/8276))
 
 
 Synapse 1.19.1 (2020-08-27)
diff --git a/changelog.d/7377.misc b/changelog.d/7377.misc
deleted file mode 100644
index b3ec08855b..0000000000
--- a/changelog.d/7377.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH.
diff --git a/changelog.d/7757.misc b/changelog.d/7757.misc
deleted file mode 100644
index 091f40382e..0000000000
--- a/changelog.d/7757.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reduce run times of some unit tests by advancing the reactor a fewer number of times.
\ No newline at end of file
diff --git a/changelog.d/7785.feature b/changelog.d/7785.feature
deleted file mode 100644
index c7e51c9320..0000000000
--- a/changelog.d/7785.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add an endpoint to query your shared rooms with another user as an implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666).
diff --git a/changelog.d/7864.bugfix b/changelog.d/7864.bugfix
deleted file mode 100644
index 8623355fe9..0000000000
--- a/changelog.d/7864.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a memory leak by limiting the length of time that messages will be queued for a remote server that has been unreachable.
diff --git a/changelog.d/7991.misc b/changelog.d/7991.misc
deleted file mode 100644
index 1562e3af9e..0000000000
--- a/changelog.d/7991.misc
+++ /dev/null
@@ -1 +0,0 @@
-Don't fail `/submit_token` requests on incorrect session ID if `request_token_inhibit_3pid_errors` is turned on.
diff --git a/changelog.d/8013.feature b/changelog.d/8013.feature
deleted file mode 100644
index b1eaf1e78a..0000000000
--- a/changelog.d/8013.feature
+++ /dev/null
@@ -1 +0,0 @@
-Iteratively encode JSON to avoid blocking the reactor.
diff --git a/changelog.d/8034.feature b/changelog.d/8034.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8034.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8037.feature b/changelog.d/8037.feature
deleted file mode 100644
index 2e5127477d..0000000000
--- a/changelog.d/8037.feature
+++ /dev/null
@@ -1 +0,0 @@
-Use the default template file when its equivalent is not found in a custom template directory.
\ No newline at end of file
diff --git a/changelog.d/8059.feature b/changelog.d/8059.feature
deleted file mode 100644
index feb02be234..0000000000
--- a/changelog.d/8059.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654).
diff --git a/changelog.d/8071.misc b/changelog.d/8071.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8071.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8072.misc b/changelog.d/8072.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8072.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8074.misc b/changelog.d/8074.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8074.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8075.misc b/changelog.d/8075.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8075.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8076.misc b/changelog.d/8076.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8076.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8081.bugfix b/changelog.d/8081.bugfix
deleted file mode 100644
index 9ebcbf5b84..0000000000
--- a/changelog.d/8081.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix `Re-starting finished log context PUT-nnnn` warning when event persistence failed.
diff --git a/changelog.d/8085.misc b/changelog.d/8085.misc
deleted file mode 100644
index c3da1e297c..0000000000
--- a/changelog.d/8085.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove some unused database functions.
diff --git a/changelog.d/8087.misc b/changelog.d/8087.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8087.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8090.misc b/changelog.d/8090.misc
deleted file mode 100644
index 725a03ae88..0000000000
--- a/changelog.d/8090.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.handlers.room`.
diff --git a/changelog.d/8092.feature b/changelog.d/8092.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8092.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8093.misc b/changelog.d/8093.misc
deleted file mode 100644
index 80045dde1a..0000000000
--- a/changelog.d/8093.misc
+++ /dev/null
@@ -1 +0,0 @@
-Return the previous stream token if a non-member event is a duplicate.
diff --git a/changelog.d/8095.feature b/changelog.d/8095.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8095.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8100.misc b/changelog.d/8100.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8100.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8101.bugfix b/changelog.d/8101.bugfix
deleted file mode 100644
index 703bba4234..0000000000
--- a/changelog.d/8101.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Synapse now correctly enforces the valid characters in the `client_secret` parameter used in various endpoints.
diff --git a/changelog.d/8104.bugfix b/changelog.d/8104.bugfix
deleted file mode 100644
index e32e2996c4..0000000000
--- a/changelog.d/8104.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in v1.7.2 impacting message retention policies that would allow federated homeservers to dictate a retention period that's lower than the configured minimum allowed duration in the configuration file.
diff --git a/changelog.d/8106.bugfix b/changelog.d/8106.bugfix
deleted file mode 100644
index c46c60448f..0000000000
--- a/changelog.d/8106.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where invalid JSON would be accepted by Synapse.
diff --git a/changelog.d/8107.feature b/changelog.d/8107.feature
deleted file mode 100644
index 2e5127477d..0000000000
--- a/changelog.d/8107.feature
+++ /dev/null
@@ -1 +0,0 @@
-Use the default template file when its equivalent is not found in a custom template directory.
\ No newline at end of file
diff --git a/changelog.d/8110.bugfix b/changelog.d/8110.bugfix
deleted file mode 100644
index 5269a232e1..0000000000
--- a/changelog.d/8110.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.12.0 which could cause `/sync` requests to fail with a 404 if you had a very old outstanding room invite.
diff --git a/changelog.d/8111.doc b/changelog.d/8111.doc
deleted file mode 100644
index d3f7435452..0000000000
--- a/changelog.d/8111.doc
+++ /dev/null
@@ -1 +0,0 @@
-Link to matrix-synapse-rest-password-provider in the password provider documentation.
diff --git a/changelog.d/8112.misc b/changelog.d/8112.misc
deleted file mode 100644
index 80045dde1a..0000000000
--- a/changelog.d/8112.misc
+++ /dev/null
@@ -1 +0,0 @@
-Return the previous stream token if a non-member event is a duplicate.
diff --git a/changelog.d/8113.misc b/changelog.d/8113.misc
deleted file mode 100644
index 00bec4f8ef..0000000000
--- a/changelog.d/8113.misc
+++ /dev/null
@@ -1 +0,0 @@
-Separate `get_current_token` into two since there are two different use cases for it.
diff --git a/changelog.d/8116.feature b/changelog.d/8116.feature
deleted file mode 100644
index b1eaf1e78a..0000000000
--- a/changelog.d/8116.feature
+++ /dev/null
@@ -1 +0,0 @@
-Iteratively encode JSON to avoid blocking the reactor.
diff --git a/changelog.d/8119.misc b/changelog.d/8119.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8119.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8120.doc b/changelog.d/8120.doc
deleted file mode 100644
index 877ef79fd2..0000000000
--- a/changelog.d/8120.doc
+++ /dev/null
@@ -1 +0,0 @@
-Updated documentation to note that Synapse does not follow `HTTP 308` redirects due to an upstream library not supporting them. Contributed by Ryan Cole.
\ No newline at end of file
diff --git a/changelog.d/8121.misc b/changelog.d/8121.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8121.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8123.misc b/changelog.d/8123.misc
deleted file mode 100644
index 7245122896..0000000000
--- a/changelog.d/8123.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove `ChainedIdGenerator`.
diff --git a/changelog.d/8124.misc b/changelog.d/8124.misc
deleted file mode 100644
index 9fac710205..0000000000
--- a/changelog.d/8124.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reduce the amount of whitespace in JSON stored and sent in responses.
diff --git a/changelog.d/8127.misc b/changelog.d/8127.misc
deleted file mode 100644
index cb557122aa..0000000000
--- a/changelog.d/8127.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.storage.database`.
diff --git a/changelog.d/8129.bugfix b/changelog.d/8129.bugfix
deleted file mode 100644
index 79eae9db6b..0000000000
--- a/changelog.d/8129.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Return a proper error code when the rooms of an invalid group are requested.
diff --git a/changelog.d/8130.misc b/changelog.d/8130.misc
deleted file mode 100644
index 7944c09ade..0000000000
--- a/changelog.d/8130.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update the test federation client to handle streaming responses.
diff --git a/changelog.d/8131.bugfix b/changelog.d/8131.bugfix
deleted file mode 100644
index 5110f235d1..0000000000
--- a/changelog.d/8131.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug which could cause a leaked postgres connection if synapse was set to daemonize.
diff --git a/changelog.d/8132.misc b/changelog.d/8132.misc
deleted file mode 100644
index 7afa267c69..0000000000
--- a/changelog.d/8132.misc
+++ /dev/null
@@ -1 +0,0 @@
-Micro-optimisations to get_auth_chain_ids.
diff --git a/changelog.d/8133.misc b/changelog.d/8133.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8133.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8135.bugfix b/changelog.d/8135.bugfix
deleted file mode 100644
index 9d5c60ea00..0000000000
--- a/changelog.d/8135.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Clarify the error code if a user tries to register with a numeric ID. This bug was introduced in v1.15.0.
diff --git a/changelog.d/8139.bugfix b/changelog.d/8139.bugfix
deleted file mode 100644
index 21f65d87b7..0000000000
--- a/changelog.d/8139.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixes a bug where appservices with ratelimiting disabled would still be ratelimited when joining rooms. This bug was introduced in v1.19.0. 
diff --git a/changelog.d/8140.misc b/changelog.d/8140.misc
deleted file mode 100644
index 78d8834328..0000000000
--- a/changelog.d/8140.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.state`.
diff --git a/changelog.d/8142.feature b/changelog.d/8142.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8142.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8144.docker b/changelog.d/8144.docker
deleted file mode 100644
index 9bb5881fa8..0000000000
--- a/changelog.d/8144.docker
+++ /dev/null
@@ -1 +0,0 @@
-Fix builds of the Docker image on non-x86 platforms.
diff --git a/changelog.d/8147.docker b/changelog.d/8147.docker
deleted file mode 100644
index dcc951d8f5..0000000000
--- a/changelog.d/8147.docker
+++ /dev/null
@@ -1 +0,0 @@
-Added curl for healthcheck support and readme updates for the change. Contributed by @maquis196.
diff --git a/changelog.d/8152.feature b/changelog.d/8152.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8152.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8156.misc b/changelog.d/8156.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8156.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8157.feature b/changelog.d/8157.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8157.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8158.feature b/changelog.d/8158.feature
deleted file mode 100644
index 47c4c39167..0000000000
--- a/changelog.d/8158.feature
+++ /dev/null
@@ -1 +0,0 @@
- Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8161.misc b/changelog.d/8161.misc
deleted file mode 100644
index 89ff274de3..0000000000
--- a/changelog.d/8161.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same interface.
diff --git a/changelog.d/8162.misc b/changelog.d/8162.misc
deleted file mode 100644
index e26764dea1..0000000000
--- a/changelog.d/8162.misc
+++ /dev/null
@@ -1 +0,0 @@
- Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8163.misc b/changelog.d/8163.misc
deleted file mode 100644
index b3ec08855b..0000000000
--- a/changelog.d/8163.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add filter `name` to the `/users` admin API, which filters by user ID or displayname. Contributed by Awesome Technologies Innovationslabor GmbH.
diff --git a/changelog.d/8164.misc b/changelog.d/8164.misc
deleted file mode 100644
index 55bc079cdb..0000000000
--- a/changelog.d/8164.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add functions to `MultiWriterIdGen` used by events stream.
diff --git a/changelog.d/8166.misc b/changelog.d/8166.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8166.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8167.misc b/changelog.d/8167.misc
deleted file mode 100644
index e2ed9be7a4..0000000000
--- a/changelog.d/8167.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix tests that were broken due to the merge of 1.19.1.
diff --git a/changelog.d/8168.misc b/changelog.d/8168.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8168.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8171.misc b/changelog.d/8171.misc
deleted file mode 100644
index cafbf23d83..0000000000
--- a/changelog.d/8171.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make `SlavedIdTracker.advance` have the same interface as `MultiWriterIDGenerator`.
diff --git a/changelog.d/8173.misc b/changelog.d/8173.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8173.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8174.misc b/changelog.d/8174.misc
deleted file mode 100644
index a39e9eab46..0000000000
--- a/changelog.d/8174.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`.
\ No newline at end of file
diff --git a/changelog.d/8175.misc b/changelog.d/8175.misc
deleted file mode 100644
index 28af294dcf..0000000000
--- a/changelog.d/8175.misc
+++ /dev/null
@@ -1 +0,0 @@
-Standardize the mypy configuration.
diff --git a/changelog.d/8176.feature b/changelog.d/8176.feature
deleted file mode 100644
index 813e6d0903..0000000000
--- a/changelog.d/8176.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for shadow-banning users (ignoring any message send requests).
diff --git a/changelog.d/8179.misc b/changelog.d/8179.misc
deleted file mode 100644
index 55bc079cdb..0000000000
--- a/changelog.d/8179.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add functions to `MultiWriterIdGen` used by events stream.
diff --git a/changelog.d/8181.misc b/changelog.d/8181.misc
deleted file mode 100644
index a39e9eab46..0000000000
--- a/changelog.d/8181.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove unused `is_guest` parameter from, and add safeguard to, `MessageHandler.get_room_data`.
\ No newline at end of file
diff --git a/changelog.d/8182.misc b/changelog.d/8182.misc
deleted file mode 100644
index 4fcdf1c452..0000000000
--- a/changelog.d/8182.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor some of `LoginRestServlet`'s helper methods, and move them to `AuthHandler` for easier reuse.
\ No newline at end of file
diff --git a/changelog.d/8183.misc b/changelog.d/8183.misc
deleted file mode 100644
index 78d8834328..0000000000
--- a/changelog.d/8183.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.state`.
diff --git a/changelog.d/8187.misc b/changelog.d/8187.misc
deleted file mode 100644
index cb557122aa..0000000000
--- a/changelog.d/8187.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.storage.database`.
diff --git a/changelog.d/8189.doc b/changelog.d/8189.doc
deleted file mode 100644
index 800ff89dc5..0000000000
--- a/changelog.d/8189.doc
+++ /dev/null
@@ -1 +0,0 @@
-Explain better what GDPR-erased means when deactivating a user.
diff --git a/changelog.d/8190.bugfix b/changelog.d/8190.bugfix
deleted file mode 100644
index bf6717ab28..0000000000
--- a/changelog.d/8190.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix logging in via OpenID Connect with a provider that uses integer user IDs.
diff --git a/changelog.d/8191.misc b/changelog.d/8191.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8191.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8192.misc b/changelog.d/8192.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8192.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8193.misc b/changelog.d/8193.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8193.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8194.misc b/changelog.d/8194.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8194.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8195.misc b/changelog.d/8195.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8195.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8196.misc b/changelog.d/8196.misc
deleted file mode 100644
index c42baf0e56..0000000000
--- a/changelog.d/8196.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix `wait_for_stream_position` to allow multiple waiters on same stream ID.
diff --git a/changelog.d/8197.misc b/changelog.d/8197.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8197.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8198.feature b/changelog.d/8198.feature
deleted file mode 100644
index c4401288bf..0000000000
--- a/changelog.d/8198.feature
+++ /dev/null
@@ -1 +0,0 @@
-Optimise `/federation/v1/user/devices/` API by only returning devices with encryption keys.
diff --git a/changelog.d/8199.misc b/changelog.d/8199.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8199.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8200.misc b/changelog.d/8200.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8200.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8201.misc b/changelog.d/8201.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8201.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8202.misc b/changelog.d/8202.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8202.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8203.misc b/changelog.d/8203.misc
deleted file mode 100644
index 9fe2224aaa..0000000000
--- a/changelog.d/8203.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make `MultiWriterIDGenerator` work for streams that use negative values.
diff --git a/changelog.d/8204.misc b/changelog.d/8204.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8204.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8205.misc b/changelog.d/8205.misc
deleted file mode 100644
index fb8fd83278..0000000000
--- a/changelog.d/8205.misc
+++ /dev/null
@@ -1 +0,0 @@
- Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8207.misc b/changelog.d/8207.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8207.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8213.misc b/changelog.d/8213.misc
deleted file mode 100644
index dfe4c03171..0000000000
--- a/changelog.d/8213.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8214.misc b/changelog.d/8214.misc
deleted file mode 100644
index e26764dea1..0000000000
--- a/changelog.d/8214.misc
+++ /dev/null
@@ -1 +0,0 @@
- Convert various parts of the codebase to async/await.
diff --git a/changelog.d/8222.misc b/changelog.d/8222.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8222.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8223.bugfix b/changelog.d/8223.bugfix
deleted file mode 100644
index 60655ce3e1..0000000000
--- a/changelog.d/8223.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixes a longstanding bug where user directory updates could break when unexpected profile data was included in events.
diff --git a/changelog.d/8224.misc b/changelog.d/8224.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8224.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8225.misc b/changelog.d/8225.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8225.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8226.bugfix b/changelog.d/8226.bugfix
deleted file mode 100644
index 60bdff576d..0000000000
--- a/changelog.d/8226.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a longstanding bug where stats updates could break when unexpected profile data was included in events.
diff --git a/changelog.d/8231.misc b/changelog.d/8231.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8231.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8232.misc b/changelog.d/8232.misc
deleted file mode 100644
index 3a7a352c4f..0000000000
--- a/changelog.d/8232.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `StreamStore`.
diff --git a/changelog.d/8233.misc b/changelog.d/8233.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8233.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8234.misc b/changelog.d/8234.misc
deleted file mode 100644
index 979c8b227b..0000000000
--- a/changelog.d/8234.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor queries for device keys and cross-signatures.
diff --git a/changelog.d/8235.misc b/changelog.d/8235.misc
deleted file mode 100644
index 3a7a352c4f..0000000000
--- a/changelog.d/8235.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `StreamStore`.
diff --git a/changelog.d/8237.misc b/changelog.d/8237.misc
deleted file mode 100644
index 29d946cde6..0000000000
--- a/changelog.d/8237.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix type hints in `SyncHandler`.
diff --git a/changelog.d/8240.misc b/changelog.d/8240.misc
deleted file mode 100644
index acfbd89e24..0000000000
--- a/changelog.d/8240.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix type hints for functions decorated with `@cached`.
diff --git a/changelog.d/8241.misc b/changelog.d/8241.misc
deleted file mode 100644
index cb557122aa..0000000000
--- a/changelog.d/8241.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.storage.database`.
diff --git a/changelog.d/8242.feature b/changelog.d/8242.feature
deleted file mode 100644
index f6891e360d..0000000000
--- a/changelog.d/8242.feature
+++ /dev/null
@@ -1 +0,0 @@
-Back out experimental support for sharding event persister. **PLEASE REMOVE THIS LINE FROM THE FINAL CHANGELOG**
diff --git a/changelog.d/8244.misc b/changelog.d/8244.misc
deleted file mode 100644
index e650072223..0000000000
--- a/changelog.d/8244.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to pagination, initial sync and events handlers.
diff --git a/changelog.d/8245.misc b/changelog.d/8245.misc
deleted file mode 100644
index 545c4c4265..0000000000
--- a/changelog.d/8245.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove obsolete `order` field from federation send queues.
diff --git a/changelog.d/8249.misc b/changelog.d/8249.misc
deleted file mode 100644
index 6a42e8a4e6..0000000000
--- a/changelog.d/8249.misc
+++ /dev/null
@@ -1 +0,0 @@
-Stop sub-classing from object.
diff --git a/changelog.d/8252.feature b/changelog.d/8252.feature
deleted file mode 100644
index 7e69b72429..0000000000
--- a/changelog.d/8252.feature
+++ /dev/null
@@ -1 +0,0 @@
-Use the default template file when its equivalent is not found in a custom template directory.
diff --git a/changelog.d/8254.feature b/changelog.d/8254.feature
deleted file mode 100644
index feb02be234..0000000000
--- a/changelog.d/8254.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654).
diff --git a/changelog.d/8264.misc b/changelog.d/8264.misc
deleted file mode 100644
index 600b175655..0000000000
--- a/changelog.d/8264.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add more logging to debug slow startup.
diff --git a/changelog.d/8266.misc b/changelog.d/8266.misc
deleted file mode 100644
index e7c899bea8..0000000000
--- a/changelog.d/8266.misc
+++ /dev/null
@@ -1 +0,0 @@
-Do not attempt to upgrade upgrade database schema on worker processes.
diff --git a/changelog.d/8270.feature b/changelog.d/8270.feature
deleted file mode 100644
index feb02be234..0000000000
--- a/changelog.d/8270.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654).
diff --git a/changelog.d/8271.bugfix b/changelog.d/8271.bugfix
deleted file mode 100644
index b75f07b03c..0000000000
--- a/changelog.d/8271.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix slow start times for large servers by removing a table scan of the `users` table from startup code.
diff --git a/changelog.d/8274.feature b/changelog.d/8274.feature
deleted file mode 100644
index feb02be234..0000000000
--- a/changelog.d/8274.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add unread messages count to sync responses, as specified in [MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654).
diff --git a/docs/systemd-with-workers/system/matrix-synapse-worker@.service b/docs/systemd-with-workers/system/matrix-synapse-worker@.service
index 39bc5e88e8..cb5ac0ac87 100644
--- a/docs/systemd-with-workers/system/matrix-synapse-worker@.service
+++ b/docs/systemd-with-workers/system/matrix-synapse-worker@.service
@@ -1,9 +1,14 @@
 [Unit]
 Description=Synapse %i
 AssertPathExists=/etc/matrix-synapse/workers/%i.yaml
+
 # This service should be restarted when the synapse target is restarted.
 PartOf=matrix-synapse.target
 
+# if this is started at the same time as the main, let the main process start
+# first, to initialise the database schema.
+After=matrix-synapse.service
+
 [Service]
 Type=notify
 NotifyAccess=main
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 1282d19b3c..f4aca64be8 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -48,7 +48,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.19.1"
+__version__ = "1.20.0rc1"
 
 if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
     # We import here so that we don't have to install a bunch of deps when