summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2020-02-19 15:11:20 +0000
committerErik Johnston <erik@matrix.org>2020-02-19 15:11:20 +0000
commit578ad9fc482ccf7387b624078cbb2118c2272762 (patch)
treeae59739368e7ed7ddb7921813eed7a7919eb2f8c
parentMerge remote-tracking branch 'origin/develop' into matrix-org-hotfixes (diff)
parentFreeze allocated objects on startup. (#6953) (diff)
downloadsynapse-578ad9fc482ccf7387b624078cbb2118c2272762.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into matrix-org-hotfixes
-rw-r--r--CHANGES.md72
-rw-r--r--changelog.d/6769.feature1
-rw-r--r--changelog.d/6781.bugfix1
-rw-r--r--changelog.d/6821.misc1
-rw-r--r--changelog.d/6823.misc1
-rw-r--r--changelog.d/6825.bugfix1
-rw-r--r--changelog.d/6827.misc1
-rw-r--r--changelog.d/6833.misc1
-rw-r--r--changelog.d/6834.misc1
-rw-r--r--changelog.d/6836.misc1
-rw-r--r--changelog.d/6837.misc1
-rw-r--r--changelog.d/6840.misc1
-rw-r--r--changelog.d/6844.bugfix1
-rw-r--r--changelog.d/6846.doc1
-rw-r--r--changelog.d/6847.misc1
-rw-r--r--changelog.d/6849.bugfix1
-rw-r--r--changelog.d/6854.misc1
-rw-r--r--changelog.d/6855.misc1
-rw-r--r--changelog.d/6856.misc1
-rw-r--r--changelog.d/6857.misc1
-rw-r--r--changelog.d/6858.misc1
-rw-r--r--changelog.d/6862.misc1
-rw-r--r--changelog.d/6864.misc1
-rw-r--r--changelog.d/6866.feature1
-rw-r--r--changelog.d/6869.misc1
-rw-r--r--changelog.d/6871.misc1
-rw-r--r--changelog.d/6872.misc1
-rw-r--r--changelog.d/6873.feature1
-rw-r--r--changelog.d/6877.removal1
-rw-r--r--changelog.d/6882.misc1
-rw-r--r--changelog.d/6883.misc1
-rw-r--r--changelog.d/6887.misc1
-rw-r--r--changelog.d/6888.feature1
-rw-r--r--changelog.d/6891.doc1
-rw-r--r--changelog.d/6901.misc1
-rw-r--r--changelog.d/6904.removal1
-rw-r--r--changelog.d/6905.doc1
-rw-r--r--changelog.d/6906.doc1
-rw-r--r--changelog.d/6907.doc1
-rw-r--r--changelog.d/6909.doc1
-rw-r--r--changelog.d/6915.misc1
-rw-r--r--changelog.d/6918.docker1
-rw-r--r--changelog.d/6919.misc1
-rw-r--r--changelog.d/6920.misc1
-rw-r--r--changelog.d/6921.docker1
-rw-r--r--changelog.d/6936.misc1
-rw-r--r--changelog.d/6937.misc1
-rw-r--r--changelog.d/6938.doc1
-rw-r--r--changelog.d/6939.feature1
-rw-r--r--changelog.d/6940.doc1
-rw-r--r--changelog.d/6945.bugfix1
-rw-r--r--changelog.d/6947.misc1
-rw-r--r--changelog.d/6948.feature1
-rw-r--r--changelog.d/6949.feature1
-rw-r--r--changelog.d/6950.misc1
-rw-r--r--changelog.d/6951.misc1
-rw-r--r--changelog.d/6952.misc1
-rw-r--r--changelog.d/6953.misc1
-rw-r--r--synapse/__init__.py2
-rw-r--r--synapse/app/_base.py9
-rw-r--r--synapse/state/__init__.py15
-rw-r--r--synapse/state/v2.py2
-rw-r--r--synapse/storage/data_stores/main/event_federation.py28
-rw-r--r--tests/state/test_v2.py6
64 files changed, 122 insertions, 69 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 37b650a848..fabf909fa3 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,75 @@
+Synapse 1.11.0rc1 (2020-02-19)
+==============================
+
+Features
+--------
+
+- Admin API to add or modify threepids of user accounts. ([\#6769](https://github.com/matrix-org/synapse/issues/6769))
+- Limit the number of events that can be requested by the backfill federation API to 100. ([\#6864](https://github.com/matrix-org/synapse/issues/6864))
+- Add ability to run some group APIs on workers. ([\#6866](https://github.com/matrix-org/synapse/issues/6866))
+- Reject device display names over 100 characters in length to prevent abuse. ([\#6882](https://github.com/matrix-org/synapse/issues/6882))
+- Add ability to route federation user device queries to workers. ([\#6873](https://github.com/matrix-org/synapse/issues/6873))
+- The result of a user directory search can now be filtered via the spam checker. ([\#6888](https://github.com/matrix-org/synapse/issues/6888))
+- Implement new `GET /_matrix/client/unstable/org.matrix.msc2432/rooms/{roomId}/aliases` endpoint as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#6939](https://github.com/matrix-org/synapse/issues/6939), [\#6948](https://github.com/matrix-org/synapse/issues/6948), [\#6949](https://github.com/matrix-org/synapse/issues/6949))
+- Stop sending `m.room.alias` events wheng adding / removing aliases. Check `alt_aliases` in the latest `m.room.canonical_alias` event when deleting an alias. ([\#6904](https://github.com/matrix-org/synapse/issues/6904))
+- Change the default power levels of invites, tombstones and server ACLs for new rooms. ([\#6834](https://github.com/matrix-org/synapse/issues/6834))
+
+Bugfixes
+--------
+
+- Fixed third party event rules function `on_create_room`'s return value being ignored. ([\#6781](https://github.com/matrix-org/synapse/issues/6781))
+- Allow URL-encoded User IDs on `/_synapse/admin/v2/users/<user_id>[/admin]` endpoints. Thanks to @NHAS for reporting. ([\#6825](https://github.com/matrix-org/synapse/issues/6825))
+- Fix Synapse refusing to start if `federation_certificate_verification_whitelist` option is blank. ([\#6849](https://github.com/matrix-org/synapse/issues/6849))
+- Fix errors from logging in the purge jobs related to the message retention policies support. ([\#6945](https://github.com/matrix-org/synapse/issues/6945))
+- Return a 404 instead of 200 for querying information of a non-existant user through the admin API. ([\#6901](https://github.com/matrix-org/synapse/issues/6901))
+
+
+Updates to the Docker image
+---------------------------
+
+- The deprecated "generate-config-on-the-fly" mode is no longer supported. ([\#6918](https://github.com/matrix-org/synapse/issues/6918))
+
+
+Improved Documentation
+----------------------
+
+- Add details of PR merge strategy to contributing docs. ([\#6846](https://github.com/matrix-org/synapse/issues/6846))
+- Spell out that the last event sent to a room won't be deleted by a purge. ([\#6891](https://github.com/matrix-org/synapse/issues/6891))
+- Update Synapse's documentation to warn about the deprecation of ACME v1. ([\#6905](https://github.com/matrix-org/synapse/issues/6905), [\#6907](https://github.com/matrix-org/synapse/issues/6907), [\#6909](https://github.com/matrix-org/synapse/issues/6909))
+- Add documentation for the spam checker. ([\#6906](https://github.com/matrix-org/synapse/issues/6906))
+- Fix worker docs to point `/publicised_groups` API correctly. ([\#6938](https://github.com/matrix-org/synapse/issues/6938))
+- Clean up and update docs on setting up federation. ([\#6940](https://github.com/matrix-org/synapse/issues/6940))
+- Add a warning about indentation to generated configuration files. ([\#6920](https://github.com/matrix-org/synapse/issues/6920))
+- Databases created using the compose file in contrib/docker will now always have correct encoding and locale settings. Contributed by Fridtjof Mund. ([\#6921](https://github.com/matrix-org/synapse/issues/6921))
+- Update pip install directions in readme to avoid error when using zsh. ([\#6855](https://github.com/matrix-org/synapse/issues/6855))
+
+
+Deprecations and Removals
+-------------------------
+
+- Remove `m.lazy_load_members` from `unstable_features` since lazy loading is in the stable Client-Server API version r0.5.0. ([\#6877](https://github.com/matrix-org/synapse/issues/6877))
+
+
+Internal Changes
+----------------
+
+- Add type hints to `SyncHandler`. ([\#6821](https://github.com/matrix-org/synapse/issues/6821))
+- Refactoring work in preparation for changing the event redaction algorithm. ([\#6823](https://github.com/matrix-org/synapse/issues/6823), [\#6827](https://github.com/matrix-org/synapse/issues/6827), [\#6854](https://github.com/matrix-org/synapse/issues/6854), [\#6856](https://github.com/matrix-org/synapse/issues/6856), [\#6857](https://github.com/matrix-org/synapse/issues/6857), [\#6858](https://github.com/matrix-org/synapse/issues/6858))
+- Fix stacktraces when using `ObservableDeferred` and async/await. ([\#6836](https://github.com/matrix-org/synapse/issues/6836))
+- Port much of `synapse.handlers.federation` to async/await. ([\#6837](https://github.com/matrix-org/synapse/issues/6837), [\#6840](https://github.com/matrix-org/synapse/issues/6840))
+- Populate `rooms.room_version` database column at startup, rather than in a background update. ([\#6847](https://github.com/matrix-org/synapse/issues/6847))
+- Reduce amount we log at `INFO` level. ([\#6833](https://github.com/matrix-org/synapse/issues/6833), [\#6862](https://github.com/matrix-org/synapse/issues/6862))
+- Remove unused `get_room_stats_state` method. ([\#6869](https://github.com/matrix-org/synapse/issues/6869))
+- Add typing to `synapse.federation.sender` and port to async/await. ([\#6871](https://github.com/matrix-org/synapse/issues/6871))
+- Refactor `_EventInternalMetadata` object to improve type safety. ([\#6872](https://github.com/matrix-org/synapse/issues/6872))
+- Add an additional entry to the SyTest blacklist for worker mode. ([\#6883](https://github.com/matrix-org/synapse/issues/6883))
+- Fix the use of sed in the linting scripts when using BSD sed. ([\#6887](https://github.com/matrix-org/synapse/issues/6887))
+- Add type hints to the spam checker module. ([\#6915](https://github.com/matrix-org/synapse/issues/6915))
+- Convert the directory handler tests to use HomeserverTestCase. ([\#6919](https://github.com/matrix-org/synapse/issues/6919))
+- Increase DB/CPU perf of `_is_server_still_joined` check. ([\#6936](https://github.com/matrix-org/synapse/issues/6936))
+- Tiny optimisation for incoming HTTP request dispatch. ([\#6950](https://github.com/matrix-org/synapse/issues/6950))
+
+
 Synapse 1.10.1 (2020-02-17)
 ===========================
 
diff --git a/changelog.d/6769.feature b/changelog.d/6769.feature
deleted file mode 100644
index 8a60e12907..0000000000
--- a/changelog.d/6769.feature
+++ /dev/null
@@ -1 +0,0 @@
-Admin API to add or modify threepids of user accounts.
\ No newline at end of file
diff --git a/changelog.d/6781.bugfix b/changelog.d/6781.bugfix
deleted file mode 100644
index 47cd671bff..0000000000
--- a/changelog.d/6781.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixed third party event rules function `on_create_room`'s return value being ignored.
diff --git a/changelog.d/6821.misc b/changelog.d/6821.misc
deleted file mode 100644
index 1d5265d5e2..0000000000
--- a/changelog.d/6821.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `SyncHandler`.
diff --git a/changelog.d/6823.misc b/changelog.d/6823.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6823.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6825.bugfix b/changelog.d/6825.bugfix
deleted file mode 100644
index d3cacd6d9a..0000000000
--- a/changelog.d/6825.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Allow URL-encoded User IDs on `/_synapse/admin/v2/users/<user_id>[/admin]` endpoints. Thanks to @NHAS for reporting.
\ No newline at end of file
diff --git a/changelog.d/6827.misc b/changelog.d/6827.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6827.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6833.misc b/changelog.d/6833.misc
deleted file mode 100644
index 8a0605f90b..0000000000
--- a/changelog.d/6833.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reducing log level to DEBUG for synapse.storage.TIME.
diff --git a/changelog.d/6834.misc b/changelog.d/6834.misc
deleted file mode 100644
index 79acebe516..0000000000
--- a/changelog.d/6834.misc
+++ /dev/null
@@ -1 +0,0 @@
-Change the default power levels of invites, tombstones and server ACLs for new rooms.
\ No newline at end of file
diff --git a/changelog.d/6836.misc b/changelog.d/6836.misc
deleted file mode 100644
index 232488e1e5..0000000000
--- a/changelog.d/6836.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix stacktraces when using `ObservableDeferred` and async/await.
diff --git a/changelog.d/6837.misc b/changelog.d/6837.misc
deleted file mode 100644
index 0496f12de8..0000000000
--- a/changelog.d/6837.misc
+++ /dev/null
@@ -1 +0,0 @@
-Port much of `synapse.handlers.federation` to async/await.
diff --git a/changelog.d/6840.misc b/changelog.d/6840.misc
deleted file mode 100644
index 0496f12de8..0000000000
--- a/changelog.d/6840.misc
+++ /dev/null
@@ -1 +0,0 @@
-Port much of `synapse.handlers.federation` to async/await.
diff --git a/changelog.d/6844.bugfix b/changelog.d/6844.bugfix
deleted file mode 100644
index e84aa1029f..0000000000
--- a/changelog.d/6844.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix an issue with cross-signing where device signatures were not sent to remote servers.
diff --git a/changelog.d/6846.doc b/changelog.d/6846.doc
deleted file mode 100644
index ad69d608c0..0000000000
--- a/changelog.d/6846.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add details of PR merge strategy to contributing docs.
\ No newline at end of file
diff --git a/changelog.d/6847.misc b/changelog.d/6847.misc
deleted file mode 100644
index 094e911adb..0000000000
--- a/changelog.d/6847.misc
+++ /dev/null
@@ -1 +0,0 @@
-Populate `rooms.room_version` database column at startup, rather than in a background update.
diff --git a/changelog.d/6849.bugfix b/changelog.d/6849.bugfix
deleted file mode 100644
index d928a26ec6..0000000000
--- a/changelog.d/6849.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix Synapse refusing to start if `federation_certificate_verification_whitelist` option is blank.
diff --git a/changelog.d/6854.misc b/changelog.d/6854.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6854.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6855.misc b/changelog.d/6855.misc
deleted file mode 100644
index 904361ddfb..0000000000
--- a/changelog.d/6855.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update pip install directiosn in readme to avoid error when using zsh.
diff --git a/changelog.d/6856.misc b/changelog.d/6856.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6856.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6857.misc b/changelog.d/6857.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6857.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6858.misc b/changelog.d/6858.misc
deleted file mode 100644
index 08aa80bcd9..0000000000
--- a/changelog.d/6858.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactoring work in preparation for changing the event redaction algorithm.
diff --git a/changelog.d/6862.misc b/changelog.d/6862.misc
deleted file mode 100644
index 83626d2939..0000000000
--- a/changelog.d/6862.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reduce amount we log at `INFO` level.
diff --git a/changelog.d/6864.misc b/changelog.d/6864.misc
deleted file mode 100644
index d24eb68460..0000000000
--- a/changelog.d/6864.misc
+++ /dev/null
@@ -1 +0,0 @@
-Limit the number of events that can be requested by the backfill federation API to 100.
diff --git a/changelog.d/6866.feature b/changelog.d/6866.feature
deleted file mode 100644
index 256feab6ff..0000000000
--- a/changelog.d/6866.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add ability to run some group APIs on workers.
diff --git a/changelog.d/6869.misc b/changelog.d/6869.misc
deleted file mode 100644
index 14f88f9bb7..0000000000
--- a/changelog.d/6869.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove unused `get_room_stats_state` method.
diff --git a/changelog.d/6871.misc b/changelog.d/6871.misc
deleted file mode 100644
index 5161af9983..0000000000
--- a/changelog.d/6871.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add typing to `synapse.federation.sender` and port to async/await.
diff --git a/changelog.d/6872.misc b/changelog.d/6872.misc
deleted file mode 100644
index 215a0c82c3..0000000000
--- a/changelog.d/6872.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor _EventInternalMetadata object to improve type safety.
diff --git a/changelog.d/6873.feature b/changelog.d/6873.feature
deleted file mode 100644
index bbedf8f7f0..0000000000
--- a/changelog.d/6873.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add ability to route federation user device queries to workers.
diff --git a/changelog.d/6877.removal b/changelog.d/6877.removal
deleted file mode 100644
index 9545e31fbe..0000000000
--- a/changelog.d/6877.removal
+++ /dev/null
@@ -1 +0,0 @@
-Remove `m.lazy_load_members` from `unstable_features` since lazy loading is in the stable Client-Server API version r0.5.0.
diff --git a/changelog.d/6882.misc b/changelog.d/6882.misc
deleted file mode 100644
index e8382e36ae..0000000000
--- a/changelog.d/6882.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reject device display names over 100 characters in length.
diff --git a/changelog.d/6883.misc b/changelog.d/6883.misc
deleted file mode 100644
index e0837d7987..0000000000
--- a/changelog.d/6883.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add an additional entry to the SyTest blacklist for worker mode.
diff --git a/changelog.d/6887.misc b/changelog.d/6887.misc
deleted file mode 100644
index b351d47c7b..0000000000
--- a/changelog.d/6887.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix the use of sed in the linting scripts when using BSD sed.
diff --git a/changelog.d/6888.feature b/changelog.d/6888.feature
deleted file mode 100644
index 1b7ac0c823..0000000000
--- a/changelog.d/6888.feature
+++ /dev/null
@@ -1 +0,0 @@
-The result of a user directory search can now be filtered via the spam checker.
diff --git a/changelog.d/6891.doc b/changelog.d/6891.doc
deleted file mode 100644
index 2f46c385b7..0000000000
--- a/changelog.d/6891.doc
+++ /dev/null
@@ -1 +0,0 @@
-Spell out that the last event sent to a room won't be deleted by a purge. 
diff --git a/changelog.d/6901.misc b/changelog.d/6901.misc
deleted file mode 100644
index b2f12bbe86..0000000000
--- a/changelog.d/6901.misc
+++ /dev/null
@@ -1 +0,0 @@
-Return a 404 instead of 200 for querying information of a non-existant user through the admin API.
\ No newline at end of file
diff --git a/changelog.d/6904.removal b/changelog.d/6904.removal
deleted file mode 100644
index a5cc0c3605..0000000000
--- a/changelog.d/6904.removal
+++ /dev/null
@@ -1 +0,0 @@
-Stop sending alias events during adding / removing aliases. Check alt_aliases in the latest canonical aliases event when deleting an alias.
diff --git a/changelog.d/6905.doc b/changelog.d/6905.doc
deleted file mode 100644
index be0e698af8..0000000000
--- a/changelog.d/6905.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update Synapse's documentation to warn about the deprecation of ACME v1.
diff --git a/changelog.d/6906.doc b/changelog.d/6906.doc
deleted file mode 100644
index 053b2436ae..0000000000
--- a/changelog.d/6906.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add documentation for the spam checker.
diff --git a/changelog.d/6907.doc b/changelog.d/6907.doc
deleted file mode 100644
index be0e698af8..0000000000
--- a/changelog.d/6907.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update Synapse's documentation to warn about the deprecation of ACME v1.
diff --git a/changelog.d/6909.doc b/changelog.d/6909.doc
deleted file mode 100644
index be0e698af8..0000000000
--- a/changelog.d/6909.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update Synapse's documentation to warn about the deprecation of ACME v1.
diff --git a/changelog.d/6915.misc b/changelog.d/6915.misc
deleted file mode 100644
index 3a181ef243..0000000000
--- a/changelog.d/6915.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to the spam checker module.
diff --git a/changelog.d/6918.docker b/changelog.d/6918.docker
deleted file mode 100644
index cc2db5e071..0000000000
--- a/changelog.d/6918.docker
+++ /dev/null
@@ -1 +0,0 @@
-The deprecated "generate-config-on-the-fly" mode is no longer supported.
diff --git a/changelog.d/6919.misc b/changelog.d/6919.misc
deleted file mode 100644
index aa2cd89998..0000000000
--- a/changelog.d/6919.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert the directory handler tests to use HomeserverTestCase.
diff --git a/changelog.d/6920.misc b/changelog.d/6920.misc
deleted file mode 100644
index d333add990..0000000000
--- a/changelog.d/6920.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add a warning about indentation to generated configuration files.
diff --git a/changelog.d/6921.docker b/changelog.d/6921.docker
deleted file mode 100644
index 152e723339..0000000000
--- a/changelog.d/6921.docker
+++ /dev/null
@@ -1 +0,0 @@
-Databases created using the compose file in contrib/docker will now always have correct encoding and locale settings. Contributed by Fridtjof Mund.
diff --git a/changelog.d/6936.misc b/changelog.d/6936.misc
deleted file mode 100644
index 9400725017..0000000000
--- a/changelog.d/6936.misc
+++ /dev/null
@@ -1 +0,0 @@
-Increase DB/CPU perf of `_is_server_still_joined` check.
diff --git a/changelog.d/6937.misc b/changelog.d/6937.misc
deleted file mode 100644
index 6d00e58654..0000000000
--- a/changelog.d/6937.misc
+++ /dev/null
@@ -1 +0,0 @@
-Increase perf of `get_auth_chain_ids` used in state res v2.
diff --git a/changelog.d/6938.doc b/changelog.d/6938.doc
deleted file mode 100644
index 117f76f48a..0000000000
--- a/changelog.d/6938.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix worker docs to point `/publicised_groups` API correctly.
diff --git a/changelog.d/6939.feature b/changelog.d/6939.feature
deleted file mode 100644
index 40fe7fc9a9..0000000000
--- a/changelog.d/6939.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement `GET /_matrix/client/r0/rooms/{roomId}/aliases` endpoint as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432).
diff --git a/changelog.d/6940.doc b/changelog.d/6940.doc
deleted file mode 100644
index 8c75f48d3d..0000000000
--- a/changelog.d/6940.doc
+++ /dev/null
@@ -1 +0,0 @@
-Clean up and update docs on setting up federation.
diff --git a/changelog.d/6945.bugfix b/changelog.d/6945.bugfix
deleted file mode 100644
index 8561be16a4..0000000000
--- a/changelog.d/6945.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix errors from logging in the purge jobs related to the message retention policies support.
diff --git a/changelog.d/6947.misc b/changelog.d/6947.misc
deleted file mode 100644
index 6d00e58654..0000000000
--- a/changelog.d/6947.misc
+++ /dev/null
@@ -1 +0,0 @@
-Increase perf of `get_auth_chain_ids` used in state res v2.
diff --git a/changelog.d/6948.feature b/changelog.d/6948.feature
deleted file mode 100644
index 40fe7fc9a9..0000000000
--- a/changelog.d/6948.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement `GET /_matrix/client/r0/rooms/{roomId}/aliases` endpoint as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432).
diff --git a/changelog.d/6949.feature b/changelog.d/6949.feature
deleted file mode 100644
index 40fe7fc9a9..0000000000
--- a/changelog.d/6949.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement `GET /_matrix/client/r0/rooms/{roomId}/aliases` endpoint as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432).
diff --git a/changelog.d/6950.misc b/changelog.d/6950.misc
deleted file mode 100644
index 1c88936b8b..0000000000
--- a/changelog.d/6950.misc
+++ /dev/null
@@ -1 +0,0 @@
-Tiny optimisation for incoming HTTP request dispatch.
diff --git a/changelog.d/6951.misc b/changelog.d/6951.misc
deleted file mode 100644
index 378f52f0a7..0000000000
--- a/changelog.d/6951.misc
+++ /dev/null
@@ -1 +0,0 @@
-Revert #6937.
diff --git a/changelog.d/6952.misc b/changelog.d/6952.misc
new file mode 100644
index 0000000000..e26dc5cab8
--- /dev/null
+++ b/changelog.d/6952.misc
@@ -0,0 +1 @@
+Improve perf of v2 state res for large rooms.
diff --git a/changelog.d/6953.misc b/changelog.d/6953.misc
new file mode 100644
index 0000000000..0ab52041cf
--- /dev/null
+++ b/changelog.d/6953.misc
@@ -0,0 +1 @@
+Reduce time spent doing GC by freezing objects on startup.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 8313f177d2..076a297b87 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -36,7 +36,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.10.1"
+__version__ = "1.11.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
diff --git a/synapse/app/_base.py b/synapse/app/_base.py
index 0e8b467a3e..109b1e2fb5 100644
--- a/synapse/app/_base.py
+++ b/synapse/app/_base.py
@@ -279,6 +279,15 @@ def start(hs, listeners=None):
 
         setup_sentry(hs)
         setup_sdnotify(hs)
+
+        # We now freeze all allocated objects in the hopes that (almost)
+        # everything currently allocated are things that will be used for the
+        # rest of time. Doing so means less work each GC (hopefully).
+        #
+        # This only works on Python 3.7
+        if sys.version_info >= (3, 7):
+            gc.collect()
+            gc.freeze()
     except Exception:
         traceback.print_exc(file=sys.stderr)
         reactor = hs.get_reactor()
diff --git a/synapse/state/__init__.py b/synapse/state/__init__.py
index fdd6bef6b4..df7a4f6a89 100644
--- a/synapse/state/__init__.py
+++ b/synapse/state/__init__.py
@@ -16,7 +16,7 @@
 
 import logging
 from collections import namedtuple
-from typing import Dict, Iterable, List, Optional
+from typing import Dict, Iterable, List, Optional, Set
 
 from six import iteritems, itervalues
 
@@ -662,7 +662,7 @@ class StateResolutionStore(object):
             allow_rejected=allow_rejected,
         )
 
-    def get_auth_chain(self, event_ids):
+    def get_auth_chain(self, event_ids: List[str], ignore_events: Set[str]):
         """Gets the full auth chain for a set of events (including rejected
         events).
 
@@ -674,11 +674,16 @@ class StateResolutionStore(object):
                presence of rejected events
 
         Args:
-            event_ids (list): The event IDs of the events to fetch the auth
-                chain for. Must be state events.
+            event_ids: The event IDs of the events to fetch the auth chain for.
+                Must be state events.
+            ignore_events: Set of events to exclude from the returned auth
+                chain.
+
 
         Returns:
             Deferred[list[str]]: List of event IDs of the auth chain.
         """
 
-        return self.store.get_auth_chain_ids(event_ids, include_given=True)
+        return self.store.get_auth_chain_ids(
+            event_ids, include_given=True, ignore_events=ignore_events,
+        )
diff --git a/synapse/state/v2.py b/synapse/state/v2.py
index 531018c6a5..75fe58305a 100644
--- a/synapse/state/v2.py
+++ b/synapse/state/v2.py
@@ -248,7 +248,7 @@ def _get_auth_chain_difference(state_sets, event_map, state_res_store):
             and eid not in common
         )
 
-        auth_chain = yield state_res_store.get_auth_chain(auth_ids)
+        auth_chain = yield state_res_store.get_auth_chain(auth_ids, common)
         auth_ids.update(auth_chain)
 
         auth_sets.append(auth_ids)
diff --git a/synapse/storage/data_stores/main/event_federation.py b/synapse/storage/data_stores/main/event_federation.py
index 60c67457b4..e16da2577d 100644
--- a/synapse/storage/data_stores/main/event_federation.py
+++ b/synapse/storage/data_stores/main/event_federation.py
@@ -14,6 +14,7 @@
 # limitations under the License.
 import itertools
 import logging
+from typing import List, Optional, Set
 
 from six.moves import range
 from six.moves.queue import Empty, PriorityQueue
@@ -46,21 +47,37 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore, SQLBas
             event_ids, include_given=include_given
         ).addCallback(self.get_events_as_list)
 
-    def get_auth_chain_ids(self, event_ids, include_given=False):
+    def get_auth_chain_ids(
+        self,
+        event_ids: List[str],
+        include_given: bool = False,
+        ignore_events: Optional[Set[str]] = None,
+    ):
         """Get auth events for given event_ids. The events *must* be state events.
 
         Args:
-            event_ids (list): state events
-            include_given (bool): include the given events in result
+            event_ids: state events
+            include_given: include the given events in result
+            ignore_events: Set of events to exclude from the returned auth
+                chain. This is useful if the caller will just discard the
+                given events anyway, and saves us from figuring out their auth
+                chains if not required.
 
         Returns:
             list of event_ids
         """
         return self.db.runInteraction(
-            "get_auth_chain_ids", self._get_auth_chain_ids_txn, event_ids, include_given
+            "get_auth_chain_ids",
+            self._get_auth_chain_ids_txn,
+            event_ids,
+            include_given,
+            ignore_events,
         )
 
-    def _get_auth_chain_ids_txn(self, txn, event_ids, include_given):
+    def _get_auth_chain_ids_txn(self, txn, event_ids, include_given, ignore_events):
+        if ignore_events is None:
+            ignore_events = set()
+
         if include_given:
             results = set(event_ids)
         else:
@@ -80,6 +97,7 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore, SQLBas
                 txn.execute(base_sql + clause, list(args))
                 new_front.update([r[0] for r in txn])
 
+            new_front -= ignore_events
             new_front -= results
 
             front = new_front
diff --git a/tests/state/test_v2.py b/tests/state/test_v2.py
index 5bafad9f19..5059ade850 100644
--- a/tests/state/test_v2.py
+++ b/tests/state/test_v2.py
@@ -603,7 +603,7 @@ class TestStateResolutionStore(object):
 
         return {eid: self.event_map[eid] for eid in event_ids if eid in self.event_map}
 
-    def get_auth_chain(self, event_ids):
+    def get_auth_chain(self, event_ids, ignore_events):
         """Gets the full auth chain for a set of events (including rejected
         events).
 
@@ -617,6 +617,8 @@ class TestStateResolutionStore(object):
         Args:
             event_ids (list): The event IDs of the events to fetch the auth
                 chain for. Must be state events.
+            ignore_events: Set of events to exclude from the returned auth
+                chain.
 
         Returns:
             Deferred[list[str]]: List of event IDs of the auth chain.
@@ -627,7 +629,7 @@ class TestStateResolutionStore(object):
         stack = list(event_ids)
         while stack:
             event_id = stack.pop()
-            if event_id in result:
+            if event_id in result or event_id in ignore_events:
                 continue
 
             result.add(event_id)