diff --git a/CHANGES.md b/CHANGES.md
index 37b9e6bb9613bfde234dead8d0b8fe4e4c3730c8..6a8ce170dc54654798592bf7dd6fd21343acd18c 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,64 @@
+Synapse 1.52.0rc1 (2022-02-01)
+==============================
+
+Features
+--------
+
+- Remove account data (including client config, push rules and ignored users) upon user deactivation. ([\#11621](https://github.com/matrix-org/synapse/issues/11621), [\#11788](https://github.com/matrix-org/synapse/issues/11788), [\#11789](https://github.com/matrix-org/synapse/issues/11789))
+- Add admin API to reset connection timeouts for remote server. ([\#11639](https://github.com/matrix-org/synapse/issues/11639))
+- Add an admin API to get a list of rooms that federate with a given remote homeserver. ([\#11658](https://github.com/matrix-org/synapse/issues/11658))
+- Add a config flag to inhibit M_USER_IN_USE during registration. ([\#11743](https://github.com/matrix-org/synapse/issues/11743))
+- Add a module callback to set username at registration. ([\#11790](https://github.com/matrix-org/synapse/issues/11790))
+- Allow configuring a maximum file size as well as a list of allowed content types for avatars. ([\#11846](https://github.com/matrix-org/synapse/issues/11846))
+
+
+Bugfixes
+--------
+
+- Include the bundled aggregations in the `/sync` response, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675). ([\#11612](https://github.com/matrix-org/synapse/issues/11612))
+- Fix a long-standing bug when previewing Reddit URLs which do not contain an image. ([\#11767](https://github.com/matrix-org/synapse/issues/11767))
+- Fix a long-standing bug that media streams could cause long-lived connections when generating URL previews. ([\#11784](https://github.com/matrix-org/synapse/issues/11784))
+- Include a `prev_content` field in state events sent to Application Services. Contributed by @totallynotvaishnav. ([\#11798](https://github.com/matrix-org/synapse/issues/11798))
+- Fix a bug introduced in Synapse 0.33.3 causing requests to sometimes log strings such as `HTTPStatus.OK` instead of integer status codes. ([\#11827](https://github.com/matrix-org/synapse/issues/11827))
+
+
+Improved Documentation
+----------------------
+
+- Update pypi installation docs to indicate that we now support Python 3.10. ([\#11820](https://github.com/matrix-org/synapse/issues/11820))
+- Add missing steps to the contribution submission process in the documentation.  Contributed by @sequentialread. ([\#11821](https://github.com/matrix-org/synapse/issues/11821))
+- Remove not needed old table of contents in documentation. ([\#11860](https://github.com/matrix-org/synapse/issues/11860))
+- Consolidate the `access_token` information at the top of each relevant page in the Admin API documentation. ([\#11861](https://github.com/matrix-org/synapse/issues/11861))
+
+
+Deprecations and Removals
+-------------------------
+
+- Drop support for Python 3.6, which is EOL. ([\#11683](https://github.com/matrix-org/synapse/issues/11683))
+- Remove the `experimental_msc1849_support_enabled` flag as the features are now stable. ([\#11843](https://github.com/matrix-org/synapse/issues/11843))
+
+
+Internal Changes
+----------------
+
+- Preparation for database schema simplifications: add `state_key` and `rejection_reason` columns to `events` table. ([\#11792](https://github.com/matrix-org/synapse/issues/11792))
+- Add `FrozenEvent.get_state_key` and use it in a couple of places. ([\#11793](https://github.com/matrix-org/synapse/issues/11793))
+- Preparation for database schema simplifications: stop reading from `event_reference_hashes`. ([\#11794](https://github.com/matrix-org/synapse/issues/11794))
+- Drop unused table `public_room_list_stream`. ([\#11795](https://github.com/matrix-org/synapse/issues/11795))
+- Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper. ([\#11799](https://github.com/matrix-org/synapse/issues/11799), [\#11847](https://github.com/matrix-org/synapse/issues/11847))
+- Docker: skip the initial amd64-only build and go straight to multiarch. ([\#11810](https://github.com/matrix-org/synapse/issues/11810))
+- Run Complement on the Github Actions VM and not inside a Docker container. ([\#11811](https://github.com/matrix-org/synapse/issues/11811))
+- Log module names at startup. ([\#11813](https://github.com/matrix-org/synapse/issues/11813))
+- Improve type safety of bundled aggregations code. ([\#11815](https://github.com/matrix-org/synapse/issues/11815))
+- Drop support for Python 3.6, which is EOL. ([\#11816](https://github.com/matrix-org/synapse/issues/11816))
+- Correct a type annotation in the event validation logic. ([\#11817](https://github.com/matrix-org/synapse/issues/11817), [\#11830](https://github.com/matrix-org/synapse/issues/11830))
+- Minor updates and documentation for database schema delta files. ([\#11823](https://github.com/matrix-org/synapse/issues/11823))
+- Workaround a type annotation problem in `prometheus_client` 0.13.0. ([\#11834](https://github.com/matrix-org/synapse/issues/11834))
+- Minor performance improvement in room state lookup. ([\#11836](https://github.com/matrix-org/synapse/issues/11836))
+- Fix some indentation inconsistencies in the sample config. ([\#11838](https://github.com/matrix-org/synapse/issues/11838))
+- Add type hints to `tests/rest/admin`. ([\#11851](https://github.com/matrix-org/synapse/issues/11851))
+
+
 Synapse 1.51.0 (2022-01-25)
 ===========================
 
diff --git a/changelog.d/11612.bugfix b/changelog.d/11612.bugfix
deleted file mode 100644
index 842f6892fda35400ca8ed975a2d0cab1bb811915..0000000000000000000000000000000000000000
--- a/changelog.d/11612.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Include the bundled aggregations in the `/sync` response, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675).
diff --git a/changelog.d/11621.feature b/changelog.d/11621.feature
deleted file mode 100644
index dc426fb658ac068f5880a8628537355340c68017..0000000000000000000000000000000000000000
--- a/changelog.d/11621.feature
+++ /dev/null
@@ -1 +0,0 @@
-Remove account data (including client config, push rules and ignored users) upon user deactivation.
\ No newline at end of file
diff --git a/changelog.d/11639.feature b/changelog.d/11639.feature
deleted file mode 100644
index e9f6704f7a1f6a81f51215d339aae8f98ccd05d7..0000000000000000000000000000000000000000
--- a/changelog.d/11639.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add admin API to reset connection timeouts for remote server.
\ No newline at end of file
diff --git a/changelog.d/11658.feature b/changelog.d/11658.feature
deleted file mode 100644
index 2ec9fb5eecf29b69c91db81a527e0f3c01277dc0..0000000000000000000000000000000000000000
--- a/changelog.d/11658.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add an admin API to get a list of rooms that federate with a given remote homeserver.
\ No newline at end of file
diff --git a/changelog.d/11683.removal b/changelog.d/11683.removal
deleted file mode 100644
index b1f048f7f52d82e632e993839c75ca1b5549b001..0000000000000000000000000000000000000000
--- a/changelog.d/11683.removal
+++ /dev/null
@@ -1 +0,0 @@
-Drop support for Python 3.6, which is EOL.
\ No newline at end of file
diff --git a/changelog.d/11743.feature b/changelog.d/11743.feature
deleted file mode 100644
index 9809f48b9688c0cc157c03e5bee5b88e7f0382e4..0000000000000000000000000000000000000000
--- a/changelog.d/11743.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a config flag to inhibit M_USER_IN_USE during registration.
diff --git a/changelog.d/11767.bugfix b/changelog.d/11767.bugfix
deleted file mode 100644
index 3e344747f4a2af47f27b4585323b06bc17956650..0000000000000000000000000000000000000000
--- a/changelog.d/11767.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug when previewing Reddit URLs which do not contain an image.
diff --git a/changelog.d/11784.bugfix b/changelog.d/11784.bugfix
deleted file mode 100644
index 6569a8c2997a00dd7ad0657adca6cf47f8abb97a..0000000000000000000000000000000000000000
--- a/changelog.d/11784.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug that media streams could cause long-lived connections when generating URL previews.
diff --git a/changelog.d/11788.feature b/changelog.d/11788.feature
deleted file mode 100644
index dc426fb658ac068f5880a8628537355340c68017..0000000000000000000000000000000000000000
--- a/changelog.d/11788.feature
+++ /dev/null
@@ -1 +0,0 @@
-Remove account data (including client config, push rules and ignored users) upon user deactivation.
\ No newline at end of file
diff --git a/changelog.d/11789.feature b/changelog.d/11789.feature
deleted file mode 100644
index dc426fb658ac068f5880a8628537355340c68017..0000000000000000000000000000000000000000
--- a/changelog.d/11789.feature
+++ /dev/null
@@ -1 +0,0 @@
-Remove account data (including client config, push rules and ignored users) upon user deactivation.
\ No newline at end of file
diff --git a/changelog.d/11790.feature b/changelog.d/11790.feature
deleted file mode 100644
index 4a5cc8ec37db1a69bc572d9cd112e8b79f3844b8..0000000000000000000000000000000000000000
--- a/changelog.d/11790.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a module callback to set username at registration.
diff --git a/changelog.d/11792.misc b/changelog.d/11792.misc
deleted file mode 100644
index 6aa1cd61c3544603ca4154866a76074dbd2f8d7d..0000000000000000000000000000000000000000
--- a/changelog.d/11792.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for database schema simplifications: add `state_key` and `rejection_reason` columns to `events` table.
diff --git a/changelog.d/11793.misc b/changelog.d/11793.misc
deleted file mode 100644
index fc0530bf2cb610669a16664149aede8fef243f15..0000000000000000000000000000000000000000
--- a/changelog.d/11793.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add `FrozenEvent.get_state_key` and use it in a couple of places.
diff --git a/changelog.d/11794.misc b/changelog.d/11794.misc
deleted file mode 100644
index 29826bc0e5ab04bd6203ebad32b819a12d25fc5b..0000000000000000000000000000000000000000
--- a/changelog.d/11794.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for database schema simplifications: stop reading from `event_reference_hashes`.
diff --git a/changelog.d/11795.misc b/changelog.d/11795.misc
deleted file mode 100644
index aeba317670e9f2330a9d62576f9311997fddd6df..0000000000000000000000000000000000000000
--- a/changelog.d/11795.misc
+++ /dev/null
@@ -1 +0,0 @@
-Drop unused table `public_room_list_stream`.
diff --git a/changelog.d/11798.bugfix b/changelog.d/11798.bugfix
deleted file mode 100644
index 2651fd11cff03f17ddbdd17dec7fa9bdea047c80..0000000000000000000000000000000000000000
--- a/changelog.d/11798.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Include a `prev_content` field in state events sent to Application Services. Contributed by @totallynotvaishnav.
\ No newline at end of file
diff --git a/changelog.d/11799.misc b/changelog.d/11799.misc
deleted file mode 100644
index 5c3b2bcaf4e5832d3716cfaf7d4f5826eef734f2..0000000000000000000000000000000000000000
--- a/changelog.d/11799.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper.
diff --git a/changelog.d/11810.misc b/changelog.d/11810.misc
deleted file mode 100644
index 5579b85979b119b3e82eea2b239061b4bca8ce13..0000000000000000000000000000000000000000
--- a/changelog.d/11810.misc
+++ /dev/null
@@ -1 +0,0 @@
-Docker: skip the initial amd64-only build and go straight to multiarch.
diff --git a/changelog.d/11811.misc b/changelog.d/11811.misc
deleted file mode 100644
index b911a2d042d2992d2fe37f95b084f51dca9848cf..0000000000000000000000000000000000000000
--- a/changelog.d/11811.misc
+++ /dev/null
@@ -1 +0,0 @@
-Run Complement on the Github Actions VM and not inside a Docker container.
\ No newline at end of file
diff --git a/changelog.d/11813.misc b/changelog.d/11813.misc
deleted file mode 100644
index f90d183b45cb2e224ce0de6828e64983fe5a1d37..0000000000000000000000000000000000000000
--- a/changelog.d/11813.misc
+++ /dev/null
@@ -1 +0,0 @@
-Log module names at startup.
diff --git a/changelog.d/11815.misc b/changelog.d/11815.misc
deleted file mode 100644
index 83aa6d6eb046887305af2fb743d376fdb5312f65..0000000000000000000000000000000000000000
--- a/changelog.d/11815.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type safety of bundled aggregations code.
diff --git a/changelog.d/11816.misc b/changelog.d/11816.misc
deleted file mode 100644
index b1f048f7f52d82e632e993839c75ca1b5549b001..0000000000000000000000000000000000000000
--- a/changelog.d/11816.misc
+++ /dev/null
@@ -1 +0,0 @@
-Drop support for Python 3.6, which is EOL.
\ No newline at end of file
diff --git a/changelog.d/11817.misc b/changelog.d/11817.misc
deleted file mode 100644
index 3d6b2ea4d48532abb307f4c783bef22baa3d48b1..0000000000000000000000000000000000000000
--- a/changelog.d/11817.misc
+++ /dev/null
@@ -1 +0,0 @@
-Correct a type annotation in the event validation logic.
diff --git a/changelog.d/11820.doc b/changelog.d/11820.doc
deleted file mode 100644
index 4f563b9b569b0e57b8c4d971cb63253c8499d877..0000000000000000000000000000000000000000
--- a/changelog.d/11820.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update pypi installation docs to indicate that we now support Python 3.10.
diff --git a/changelog.d/11821.doc b/changelog.d/11821.doc
deleted file mode 100644
index a16a6ef956e2b2f3696f4c42dde0fa63eef5b287..0000000000000000000000000000000000000000
--- a/changelog.d/11821.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing steps to the contribution submission process in the documentation.  Contributed by @sequentialread.
diff --git a/changelog.d/11823.misc b/changelog.d/11823.misc
deleted file mode 100644
index 2d153eae4ade8472f8cc5f4fc59b663cf08902ca..0000000000000000000000000000000000000000
--- a/changelog.d/11823.misc
+++ /dev/null
@@ -1 +0,0 @@
-Minor updates and documentation for database schema delta files.
diff --git a/changelog.d/11827.bugfix b/changelog.d/11827.bugfix
deleted file mode 100644
index 30222dfb62698edd581ef35e98f633fa0f2cdf8a..0000000000000000000000000000000000000000
--- a/changelog.d/11827.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 0.33.3 causing requests to sometimes log strings such as `HTTPStatus.OK` instead of integer status codes.
\ No newline at end of file
diff --git a/changelog.d/11830.misc b/changelog.d/11830.misc
deleted file mode 100644
index fe248d00ab9458c9b38a056b136b8058bd9bf7ae..0000000000000000000000000000000000000000
--- a/changelog.d/11830.misc
+++ /dev/null
@@ -1 +0,0 @@
-Correct a type annotation in the event validation logic.
\ No newline at end of file
diff --git a/changelog.d/11834.misc b/changelog.d/11834.misc
deleted file mode 100644
index 29a5635f7a1ebf76cba87249ccc73afce0543043..0000000000000000000000000000000000000000
--- a/changelog.d/11834.misc
+++ /dev/null
@@ -1 +0,0 @@
-Workaround a type annotation problem in `prometheus_client` 0.13.0.
\ No newline at end of file
diff --git a/changelog.d/11836.misc b/changelog.d/11836.misc
deleted file mode 100644
index be7e331c639c3c2fc9bff9fd24a6d55cad3d34b0..0000000000000000000000000000000000000000
--- a/changelog.d/11836.misc
+++ /dev/null
@@ -1 +0,0 @@
-Minor performance improvement in room state lookup.
diff --git a/changelog.d/11838.misc b/changelog.d/11838.misc
deleted file mode 100644
index 4747bbe88b0d0c95ed08728a231ea5405e114b2a..0000000000000000000000000000000000000000
--- a/changelog.d/11838.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix some indentation inconsistencies in the sample config.
\ No newline at end of file
diff --git a/changelog.d/11843.removal b/changelog.d/11843.removal
deleted file mode 100644
index d6d49b4ad50b0c5dfc141ef5ce7fbef53b769ce4..0000000000000000000000000000000000000000
--- a/changelog.d/11843.removal
+++ /dev/null
@@ -1 +0,0 @@
-Remove the `experimental_msc1849_support_enabled` flag as the features are now stable.
diff --git a/changelog.d/11846.feature b/changelog.d/11846.feature
deleted file mode 100644
index fcf6affdb53d90c71180071a6b9e68d358ad5917..0000000000000000000000000000000000000000
--- a/changelog.d/11846.feature
+++ /dev/null
@@ -1 +0,0 @@
-Allow configuring a maximum file size as well as a list of allowed content types for avatars.
diff --git a/changelog.d/11847.misc b/changelog.d/11847.misc
deleted file mode 100644
index 5c3b2bcaf4e5832d3716cfaf7d4f5826eef734f2..0000000000000000000000000000000000000000
--- a/changelog.d/11847.misc
+++ /dev/null
@@ -1 +0,0 @@
-Preparation for reducing Postgres serialization errors: allow setting transaction isolation level. Contributed by Nick @ Beeper.
diff --git a/changelog.d/11851.misc b/changelog.d/11851.misc
deleted file mode 100644
index ccc3ec3482b1110cb60f015405092bd24d55d88e..0000000000000000000000000000000000000000
--- a/changelog.d/11851.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `tests/rest/admin`.
diff --git a/changelog.d/11860.doc b/changelog.d/11860.doc
deleted file mode 100644
index 04b88c5f2c300b5a8709aa9b8824c140be33a87f..0000000000000000000000000000000000000000
--- a/changelog.d/11860.doc
+++ /dev/null
@@ -1 +0,0 @@
-Remove not needed old table of contents in documentation.
diff --git a/changelog.d/11861.doc b/changelog.d/11861.doc
deleted file mode 100644
index 53c75a088378e934ef19f13ef20d66f28fe4725c..0000000000000000000000000000000000000000
--- a/changelog.d/11861.doc
+++ /dev/null
@@ -1 +0,0 @@
-Consolidate the `access_token` information at the top of each relevant page in the Admin API documentation.
diff --git a/debian/changelog b/debian/changelog
index 3a598c4148c97ce89863656a348c11c1d8e960dd..a458885655543e7c3152f0761c9c8684543aa317 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.52.0~rc1) stable; urgency=medium
+
+  * New synapse release 1.52.0~rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 01 Feb 2022 11:04:09 +0000
+
 matrix-synapse-py3 (1.51.0) stable; urgency=medium
 
   * New synapse release 1.51.0.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 603dbb27e150b1191c47cc312acb08a2fefc463e..5e65033061016d869eaf25d8ea9027920925e10b 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.51.0"
+__version__ = "1.52.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