diff --git a/CHANGES.md b/CHANGES.md
index e74544f489508b3795f75ab72acd99db528da5fa..6732326c47e21afb00419f838a15199b524e8d6b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,90 @@
+Synapse 1.47.0rc1 (2021-11-09)
+==============================
+
+Features
+--------
+
+- Advertise support for Client-Server API r0.6.1. ([\#11097](https://github.com/matrix-org/synapse/issues/11097))
+- Add search by room ID and room alias to List Room admin API. ([\#11099](https://github.com/matrix-org/synapse/issues/11099))
+- Add an `on_new_event` third-party rules callback to allow Synapse modules to act after an event has been sent into a room. ([\#11126](https://github.com/matrix-org/synapse/issues/11126))
+- Add a module API method to update a user's membership in a room. ([\#11147](https://github.com/matrix-org/synapse/issues/11147))
+- Add metrics for thread pool usage. ([\#11178](https://github.com/matrix-org/synapse/issues/11178))
+- Support the stable room type field for [MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288). ([\#11187](https://github.com/matrix-org/synapse/issues/11187))
+- Add a module API method to retrieve the current state of a room. ([\#11204](https://github.com/matrix-org/synapse/issues/11204))
+- Calculate a default value for `public_baseurl` based on `server_name`. ([\#11210](https://github.com/matrix-org/synapse/issues/11210))
+- Add support for serving `/.well-known/matrix/server` files, to redirect federation traffic to port 443. ([\#11211](https://github.com/matrix-org/synapse/issues/11211))
+- Add some background update admin APIs. ([\#11263](https://github.com/matrix-org/synapse/issues/11263))
+
+
+Bugfixes
+--------
+
+- Fix a long-standing bug which allowed hidden devices to receive to-device messages, resulting in unnecessary database bloat. ([\#10097](https://github.com/matrix-org/synapse/issues/10097))
+- Fix a long-standing bug where messages in the `device_inbox` table for deleted devices would persist indefinitely. Contributed by @dklimpel and @JohannesKleine. ([\#10969](https://github.com/matrix-org/synapse/issues/10969), [\#11212](https://github.com/matrix-org/synapse/issues/11212))
+- Do not accept events if a third-party rule module API callback raises an exception. ([\#11033](https://github.com/matrix-org/synapse/issues/11033))
+- Fix long-standing bug where verification requests could fail in certain cases if whitelist was in place but did not include your own homeserver. ([\#11129](https://github.com/matrix-org/synapse/issues/11129))
+- Allow an empty list of `state_events_at_start` to be sent when using the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint and the author of the historical messages is already part of the current room state at the given `?prev_event_id`. ([\#11188](https://github.com/matrix-org/synapse/issues/11188))
+- Fix a bug introduced in Synapse 1.45.0 which prevented the `synapse_review_recent_signups` script from running. Contributed by @samuel-p. ([\#11191](https://github.com/matrix-org/synapse/issues/11191))
+- Delete `to_device` messages for hidden devices that will never be read, reducing database size. ([\#11199](https://github.com/matrix-org/synapse/issues/11199))
+- Fix a long-standing bug wherein a missing `Content-Type` header when downloading remote media would cause Synapse to throw an error. ([\#11200](https://github.com/matrix-org/synapse/issues/11200))
+- Fix a long-standing bug which could result in serialization errors and potentially duplicate transaction data when sending ephemeral events to application services. Contributed by @Fizzadar at Beeper. ([\#11207](https://github.com/matrix-org/synapse/issues/11207))
+- Fix a bug introduced in 1.35.0 which made it impossible to join rooms that return a `send_join` response containing floats. ([\#11217](https://github.com/matrix-org/synapse/issues/11217))
+- Fix long-standing bug where cross signing keys were not included in the response to `/r0/keys/query` the first time a remote user was queried. ([\#11234](https://github.com/matrix-org/synapse/issues/11234))
+- Fix a long-standing bug where all requests that read events from the database could get stuck as a result of losing the database connection. ([\#11240](https://github.com/matrix-org/synapse/issues/11240))
+- Fix rolling back Synapse version when using workers. ([\#11255](https://github.com/matrix-org/synapse/issues/11255), [\#11276](https://github.com/matrix-org/synapse/issues/11276))
+- Fix a bug where if a remote event is being processed by a worker when it gets killed then it won't get processed on restart. Introduced in v1.37.1. ([\#11262](https://github.com/matrix-org/synapse/issues/11262))
+
+
+Updates to the Docker image
+---------------------------
+
+- Avoid changing userid when started as a non-root user, and no explicit `UID` is set. ([\#11209](https://github.com/matrix-org/synapse/issues/11209))
+
+
+Improved Documentation
+----------------------
+
+- Improve example HAProxy config in the docs to properly handle host headers with port information. This is required for federation over port 443 to work correctly. ([\#11128](https://github.com/matrix-org/synapse/issues/11128))
+- Add documentation for using Authentik as an OpenID Connect Identity Provider. Contributed by @samip5. ([\#11151](https://github.com/matrix-org/synapse/issues/11151))
+- Clarify lack of support for Windows. ([\#11198](https://github.com/matrix-org/synapse/issues/11198))
+- Improve code formatting and fix a few typos in docs. Contributed by @sumnerevans at Beeper. ([\#11221](https://github.com/matrix-org/synapse/issues/11221))
+- Add documentation for using LemonLDAP as an OpenID Connect Identity Provider. Contributed by @l00ptr. ([\#11257](https://github.com/matrix-org/synapse/issues/11257))
+
+
+Deprecations and Removals
+-------------------------
+
+- The `user_may_create_room_with_invites` module callback is now deprecated. Please refer to the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1470) for more information. ([\#11206](https://github.com/matrix-org/synapse/issues/11206))
+- Remove deprecated admin API to delete rooms (`POST /_synapse/admin/v1/rooms/<room_id>/delete`). ([\#11213](https://github.com/matrix-org/synapse/issues/11213))
+
+
+Internal Changes
+----------------
+
+- Add type annotations for the `log_function` decorator. ([\#10943](https://github.com/matrix-org/synapse/issues/10943))
+- Add type hints to `synapse.events`. ([\#11098](https://github.com/matrix-org/synapse/issues/11098))
+- Remove and document unnecessary `RoomStreamToken` checks in application service ephemeral event code. ([\#11137](https://github.com/matrix-org/synapse/issues/11137))
+- Only allow old Element/Riot Android clients to send read receipts without a request body. All other clients must include a request body as required by the specification. Contributed by @rogersheu. ([\#11157](https://github.com/matrix-org/synapse/issues/11157))
+- Add type hints so that `synapse.http` passes `mypy` checks. ([\#11164](https://github.com/matrix-org/synapse/issues/11164))
+- Update scripts to pass Shellcheck lints. ([\#11166](https://github.com/matrix-org/synapse/issues/11166))
+- Add knock information in admin export. Contributed by Rafael Gonçalves. ([\#11171](https://github.com/matrix-org/synapse/issues/11171))
+- Add tests to check that `ClientIpStore.get_last_client_ip_by_device` and `get_user_ip_and_agents` combine database and in-memory data correctly. ([\#11179](https://github.com/matrix-org/synapse/issues/11179))
+- Refactor `Filter` to check different fields depending on the data type. ([\#11194](https://github.com/matrix-org/synapse/issues/11194))
+- Improve type hints for the relations datastore. ([\#11205](https://github.com/matrix-org/synapse/issues/11205))
+- Replace outdated links in the pull request checklist with links to the rendered documentation. ([\#11225](https://github.com/matrix-org/synapse/issues/11225))
+- Fix a bug in unit test `test_block_room_and_not_purge`. ([\#11226](https://github.com/matrix-org/synapse/issues/11226))
+- `ObservableDeferred`: run registered observers in order. ([\#11229](https://github.com/matrix-org/synapse/issues/11229))
+- Minor speed up to start up times and getting updates for groups by adding missing index to `local_group_updates.stream_id`. ([\#11231](https://github.com/matrix-org/synapse/issues/11231))
+- Add `twine` and `towncrier` as dev dependencies, as they're used by the release script. ([\#11233](https://github.com/matrix-org/synapse/issues/11233))
+- Allow `stream_writers.typing` config to be a list of one worker. ([\#11237](https://github.com/matrix-org/synapse/issues/11237))
+- Remove debugging statement in tests. ([\#11239](https://github.com/matrix-org/synapse/issues/11239))
+- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical messages backfilling in random order on remote homeservers. ([\#11244](https://github.com/matrix-org/synapse/issues/11244))
+- Add an additional test for the `cachedList` method decorator. ([\#11246](https://github.com/matrix-org/synapse/issues/11246))
+- Make minor correction to the type of `auth_checkers` callbacks. ([\#11253](https://github.com/matrix-org/synapse/issues/11253))
+- Clean up trivial aspects of the Debian package build tooling. ([\#11269](https://github.com/matrix-org/synapse/issues/11269), [\#11273](https://github.com/matrix-org/synapse/issues/11273))
+- Blacklist new SyTest that checks that key uploads are valid pending the validation being implemented in Synapse. ([\#11270](https://github.com/matrix-org/synapse/issues/11270))
+
+
 Synapse 1.46.0 (2021-11-02)
 ===========================
 
diff --git a/changelog.d/10097.bugfix b/changelog.d/10097.bugfix
deleted file mode 100644
index 5d3d9587c22d49a0d7bb6cbd77e2a2987ba03724..0000000000000000000000000000000000000000
--- a/changelog.d/10097.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug which allowed hidden devices to receive to-device messages, resulting in unnecessary database bloat.
diff --git a/changelog.d/10943.misc b/changelog.d/10943.misc
deleted file mode 100644
index 3ce28d1a675965c19bef593349d20fb12283bd54..0000000000000000000000000000000000000000
--- a/changelog.d/10943.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type annotations for the `log_function` decorator.
diff --git a/changelog.d/10969.bugfix b/changelog.d/10969.bugfix
deleted file mode 100644
index 89c299b8e8df88981b7496b4d9ae956ea97f7c6b..0000000000000000000000000000000000000000
--- a/changelog.d/10969.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where messages in the `device_inbox` table for deleted devices would persist indefinitely. Contributed by @dklimpel and @JohannesKleine.
diff --git a/changelog.d/11033.bugfix b/changelog.d/11033.bugfix
deleted file mode 100644
index fa99f187b8870cd6a1227262c97d099b83f67a59..0000000000000000000000000000000000000000
--- a/changelog.d/11033.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Do not accept events if a third-party rule module API callback raises an exception.
diff --git a/changelog.d/11097.feature b/changelog.d/11097.feature
deleted file mode 100644
index d7563a406c0956ea99fe77bc4f5ba25dff58632c..0000000000000000000000000000000000000000
--- a/changelog.d/11097.feature
+++ /dev/null
@@ -1 +0,0 @@
-Advertise support for Client-Server API r0.6.1.
\ No newline at end of file
diff --git a/changelog.d/11098.misc b/changelog.d/11098.misc
deleted file mode 100644
index 1e337bee545356955fcd6d83d0d83eeca21acf35..0000000000000000000000000000000000000000
--- a/changelog.d/11098.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.events`.
diff --git a/changelog.d/11099.feature b/changelog.d/11099.feature
deleted file mode 100644
index c9126d4a9d8f8f538917b6dde005bd4ba3ffd018..0000000000000000000000000000000000000000
--- a/changelog.d/11099.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add search by room ID and room alias to List Room admin API.
\ No newline at end of file
diff --git a/changelog.d/11126.feature b/changelog.d/11126.feature
deleted file mode 100644
index c6078fe081e8cd3b468d21045c9a38f4173d3331..0000000000000000000000000000000000000000
--- a/changelog.d/11126.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add an `on_new_event` third-party rules callback to allow Synapse modules to act after an event has been sent into a room.
diff --git a/changelog.d/11128.doc b/changelog.d/11128.doc
deleted file mode 100644
index c0246792187ce9d3cc9c8eb85e22b15d3098d84c..0000000000000000000000000000000000000000
--- a/changelog.d/11128.doc
+++ /dev/null
@@ -1 +0,0 @@
-Improve example HAProxy config in the docs to properly handle host headers with port information. This is required for federation over port 443 to work correctly.
diff --git a/changelog.d/11129.bugfix b/changelog.d/11129.bugfix
deleted file mode 100644
index 5e9aa538ec88b707ee1abb432adc089758d58af2..0000000000000000000000000000000000000000
--- a/changelog.d/11129.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix long-standing bug where verification requests could fail in certain cases if whitelist was in place but did not include your own homeserver.
\ No newline at end of file
diff --git a/changelog.d/11137.misc b/changelog.d/11137.misc
deleted file mode 100644
index f0d6476f484108a218e2f100917c1d4e858dcd60..0000000000000000000000000000000000000000
--- a/changelog.d/11137.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove and document unnecessary `RoomStreamToken` checks in application service ephemeral event code.
\ No newline at end of file
diff --git a/changelog.d/11147.feature b/changelog.d/11147.feature
deleted file mode 100644
index af72d85c2059858658cddf5c8c93728ec6884343..0000000000000000000000000000000000000000
--- a/changelog.d/11147.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a module API method to update a user's membership in a room.
diff --git a/changelog.d/11151.doc b/changelog.d/11151.doc
deleted file mode 100644
index 68cd99471fbcc06c5cab87de1453722865535ad4..0000000000000000000000000000000000000000
--- a/changelog.d/11151.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add documentation for using Authentik as an OpenID Connect Identity Provider. Contributed by @samip5.
\ No newline at end of file
diff --git a/changelog.d/11157.misc b/changelog.d/11157.misc
deleted file mode 100644
index 75444c51d1eefac48b44fd905af389370b3482c9..0000000000000000000000000000000000000000
--- a/changelog.d/11157.misc
+++ /dev/null
@@ -1 +0,0 @@
-Only allow old Element/Riot Android clients to send read receipts without a request body. All other clients must include a request body as required by the specification. Contributed by @rogersheu.
diff --git a/changelog.d/11164.misc b/changelog.d/11164.misc
deleted file mode 100644
index 751da49183052e8cfd8817865f2321236090c56c..0000000000000000000000000000000000000000
--- a/changelog.d/11164.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints so that `synapse.http` passes `mypy` checks.
\ No newline at end of file
diff --git a/changelog.d/11166.misc b/changelog.d/11166.misc
deleted file mode 100644
index 79342e43d91fd9bae2e3ab7886ae64c6aea6edc9..0000000000000000000000000000000000000000
--- a/changelog.d/11166.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update scripts to pass Shellcheck lints.
diff --git a/changelog.d/11171.misc b/changelog.d/11171.misc
deleted file mode 100644
index b6a41a96da7f2bf3d5e5f1c288e901bff55f3787..0000000000000000000000000000000000000000
--- a/changelog.d/11171.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add knock information in admin export. Contributed by Rafael Gonçalves.
diff --git a/changelog.d/11178.feature b/changelog.d/11178.feature
deleted file mode 100644
index 10b1cdffdc3046db4d5795cfcdc18f2e1c88d243..0000000000000000000000000000000000000000
--- a/changelog.d/11178.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add metrics for thread pool usage.
diff --git a/changelog.d/11179.misc b/changelog.d/11179.misc
deleted file mode 100644
index aded2e836778278e6eb10cc03b39f4e2d9d0489e..0000000000000000000000000000000000000000
--- a/changelog.d/11179.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add tests to check that `ClientIpStore.get_last_client_ip_by_device` and `get_user_ip_and_agents` combine database and in-memory data correctly.
diff --git a/changelog.d/11187.feature b/changelog.d/11187.feature
deleted file mode 100644
index dd28109030060e720b0d74c494a71e0d0964c36a..0000000000000000000000000000000000000000
--- a/changelog.d/11187.feature
+++ /dev/null
@@ -1 +0,0 @@
-Support the stable room type field for [MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288).
diff --git a/changelog.d/11188.bugfix b/changelog.d/11188.bugfix
deleted file mode 100644
index 0688743c008b367edf8aa4fd5772466c1107bf61..0000000000000000000000000000000000000000
--- a/changelog.d/11188.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Allow an empty list of `state_events_at_start` to be sent when using the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint and the author of the historical messages is already part of the current room state at the given `?prev_event_id`.
diff --git a/changelog.d/11191.bugfix b/changelog.d/11191.bugfix
deleted file mode 100644
index 9104db7f0ea210e8dc98cc867e6e316c924c99d1..0000000000000000000000000000000000000000
--- a/changelog.d/11191.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.45.0 which prevented the `synapse_review_recent_signups` script from running. Contributed by @samuel-p.
diff --git a/changelog.d/11194.misc b/changelog.d/11194.misc
deleted file mode 100644
index fc1d06ba895253c46c2a0988b376fbea015bc96e..0000000000000000000000000000000000000000
--- a/changelog.d/11194.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor `Filter` to check different fields depending on the data type.
diff --git a/changelog.d/11198.doc b/changelog.d/11198.doc
deleted file mode 100644
index 54ec94acbc3f5374cf0f67236cf657a2c715499a..0000000000000000000000000000000000000000
--- a/changelog.d/11198.doc
+++ /dev/null
@@ -1 +0,0 @@
-Clarify lack of support for Windows.
diff --git a/changelog.d/11199.bugfix b/changelog.d/11199.bugfix
deleted file mode 100644
index dc3ea8d5154285733fa910926d324e207700a0b0..0000000000000000000000000000000000000000
--- a/changelog.d/11199.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Delete `to_device` messages for hidden devices that will never be read, reducing database size.
\ No newline at end of file
diff --git a/changelog.d/11200.bugfix b/changelog.d/11200.bugfix
deleted file mode 100644
index c8550819866747ea4e9bf61264eaf2029f314d7a..0000000000000000000000000000000000000000
--- a/changelog.d/11200.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug wherein a missing `Content-Type` header when downloading remote media would cause Synapse to throw an error.
\ No newline at end of file
diff --git a/changelog.d/11204.feature b/changelog.d/11204.feature
deleted file mode 100644
index f58ed4b3dc8c364ebd9650a3144ac9cd263aaab1..0000000000000000000000000000000000000000
--- a/changelog.d/11204.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add a module API method to retrieve the current state of a room.
diff --git a/changelog.d/11205.misc b/changelog.d/11205.misc
deleted file mode 100644
index 62395c9432124096daa988cda52ac67930772040..0000000000000000000000000000000000000000
--- a/changelog.d/11205.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints for the relations datastore.
diff --git a/changelog.d/11206.removal b/changelog.d/11206.removal
deleted file mode 100644
index cf05b166725cf59e2a68c28c88266b8258bd53c6..0000000000000000000000000000000000000000
--- a/changelog.d/11206.removal
+++ /dev/null
@@ -1 +0,0 @@
-The `user_may_create_room_with_invites` module callback is now deprecated. Please refer to the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1470) for more information.
diff --git a/changelog.d/11207.bugfix b/changelog.d/11207.bugfix
deleted file mode 100644
index 7e98d565a14f8aa5a27ba9cd7db4809d445a744f..0000000000000000000000000000000000000000
--- a/changelog.d/11207.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug which could result in serialization errors and potentially duplicate transaction data when sending ephemeral events to application services. Contributed by @Fizzadar at Beeper.
diff --git a/changelog.d/11209.docker b/changelog.d/11209.docker
deleted file mode 100644
index 838b165ac9def9cdddca9bc28f4679430f5cb378..0000000000000000000000000000000000000000
--- a/changelog.d/11209.docker
+++ /dev/null
@@ -1 +0,0 @@
-Avoid changing userid when started as a non-root user, and no explicit `UID` is set.
diff --git a/changelog.d/11210.feature b/changelog.d/11210.feature
deleted file mode 100644
index 8f8e3864151f355112111ba64a70a418d125ba68..0000000000000000000000000000000000000000
--- a/changelog.d/11210.feature
+++ /dev/null
@@ -1 +0,0 @@
-Calculate a default value for `public_baseurl` based on `server_name`.
diff --git a/changelog.d/11211.feature b/changelog.d/11211.feature
deleted file mode 100644
index feeb0cf089ac06577488828ec8796f3e2886442d..0000000000000000000000000000000000000000
--- a/changelog.d/11211.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add support for serving `/.well-known/matrix/server` files, to redirect federation traffic to port 443.
diff --git a/changelog.d/11212.bugfix b/changelog.d/11212.bugfix
deleted file mode 100644
index ba6efab25b927618d2be61ee92d1432c8c40d293..0000000000000000000000000000000000000000
--- a/changelog.d/11212.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where messages in the `device_inbox` table for deleted devices would persist indefinitely. Contributed by @dklimpel and @JohannesKleine.
\ No newline at end of file
diff --git a/changelog.d/11213.removal b/changelog.d/11213.removal
deleted file mode 100644
index 9e5ec936e33ddf91ee040fc86f5007cdd832bedc..0000000000000000000000000000000000000000
--- a/changelog.d/11213.removal
+++ /dev/null
@@ -1 +0,0 @@
-Remove deprecated admin API to delete rooms (`POST /_synapse/admin/v1/rooms/<room_id>/delete`).
\ No newline at end of file
diff --git a/changelog.d/11217.bugfix b/changelog.d/11217.bugfix
deleted file mode 100644
index 67ebb0d0e3442b6c2b49876605166eedb22ed526..0000000000000000000000000000000000000000
--- a/changelog.d/11217.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in 1.35.0 which made it impossible to join rooms that return a `send_join` response containing floats.
\ No newline at end of file
diff --git a/changelog.d/11221.doc b/changelog.d/11221.doc
deleted file mode 100644
index 17010bac8bc31946daa03f2fe5081149ee2e6ec6..0000000000000000000000000000000000000000
--- a/changelog.d/11221.doc
+++ /dev/null
@@ -1 +0,0 @@
-Improve code formatting and fix a few typos in docs. Contributed by @sumnerevans at Beeper.
diff --git a/changelog.d/11225.misc b/changelog.d/11225.misc
deleted file mode 100644
index f14f65f9d4e35a0038235e9893b49a5b808b803c..0000000000000000000000000000000000000000
--- a/changelog.d/11225.misc
+++ /dev/null
@@ -1 +0,0 @@
-Replace outdated links in the pull request checklist with links to the rendered documentation.
diff --git a/changelog.d/11226.misc b/changelog.d/11226.misc
deleted file mode 100644
index 9ed4760ae00c8de5e36a30fd8a75f5b05253533f..0000000000000000000000000000000000000000
--- a/changelog.d/11226.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug in unit test `test_block_room_and_not_purge`.
diff --git a/changelog.d/11229.misc b/changelog.d/11229.misc
deleted file mode 100644
index 7bb01cf0796e11e988410c0783394562004a7c27..0000000000000000000000000000000000000000
--- a/changelog.d/11229.misc
+++ /dev/null
@@ -1 +0,0 @@
-`ObservableDeferred`: run registered observers in order.
diff --git a/changelog.d/11231.misc b/changelog.d/11231.misc
deleted file mode 100644
index c7fca7071eda252854eebfcf9f70c60d6f772f84..0000000000000000000000000000000000000000
--- a/changelog.d/11231.misc
+++ /dev/null
@@ -1 +0,0 @@
-Minor speed up to start up times and getting updates for groups by adding missing index to `local_group_updates.stream_id`.
diff --git a/changelog.d/11233.misc b/changelog.d/11233.misc
deleted file mode 100644
index fdf9e5642e28362521e04f8da3c4769f1e024fe8..0000000000000000000000000000000000000000
--- a/changelog.d/11233.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add `twine` and `towncrier` as dev dependencies, as they're used by the release script.
diff --git a/changelog.d/11234.bugfix b/changelog.d/11234.bugfix
deleted file mode 100644
index c0c02a58f6e817225ff97e7fcb6b80b627d9b0cd..0000000000000000000000000000000000000000
--- a/changelog.d/11234.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix long-standing bug where cross signing keys were not included in the response to `/r0/keys/query` the first time a remote user was queried.
diff --git a/changelog.d/11237.misc b/changelog.d/11237.misc
deleted file mode 100644
index b90efc653516468473d72408437790f8fbad0d9c..0000000000000000000000000000000000000000
--- a/changelog.d/11237.misc
+++ /dev/null
@@ -1 +0,0 @@
-Allow `stream_writers.typing` config to be a list of one worker.
diff --git a/changelog.d/11239.misc b/changelog.d/11239.misc
deleted file mode 100644
index 48a796bed09b3bac7545588af7560020e29b4cd8..0000000000000000000000000000000000000000
--- a/changelog.d/11239.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove debugging statement in tests.
diff --git a/changelog.d/11240.bugfix b/changelog.d/11240.bugfix
deleted file mode 100644
index 94d73f67e36529cecfc064f08521699cd4ea0336..0000000000000000000000000000000000000000
--- a/changelog.d/11240.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where all requests that read events from the database could get stuck as a result of losing the database connection.
diff --git a/changelog.d/11244.misc b/changelog.d/11244.misc
deleted file mode 100644
index c6e65df97f90dde984f837c9189b1fb9225871ec..0000000000000000000000000000000000000000
--- a/changelog.d/11244.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical messages backfilling in random order on remote homeservers.
diff --git a/changelog.d/11246.misc b/changelog.d/11246.misc
deleted file mode 100644
index e5e912c1b0d6a96a449a415927d4298937be1900..0000000000000000000000000000000000000000
--- a/changelog.d/11246.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add an additional test for the `cachedList` method decorator.
diff --git a/changelog.d/11253.misc b/changelog.d/11253.misc
deleted file mode 100644
index 71c55a2751865c5a69e17823fc00c51129206d15..0000000000000000000000000000000000000000
--- a/changelog.d/11253.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make minor correction to the type of `auth_checkers` callbacks.
diff --git a/changelog.d/11255.bugfix b/changelog.d/11255.bugfix
deleted file mode 100644
index ce725926243957827e3c2a09537516a3d74ba2c5..0000000000000000000000000000000000000000
--- a/changelog.d/11255.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix rolling back Synapse version when using workers.
diff --git a/changelog.d/11257.doc b/changelog.d/11257.doc
deleted file mode 100644
index 1205be2add92654c9ab59bf4a2f07b814d5d95d1..0000000000000000000000000000000000000000
--- a/changelog.d/11257.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add documentation for using LemonLDAP as an OpenID Connect Identity Provider. Contributed by @l00ptr.
diff --git a/changelog.d/11262.bugfix b/changelog.d/11262.bugfix
deleted file mode 100644
index 768fbb897380b547b3c50c006f90c918cf9ffb6d..0000000000000000000000000000000000000000
--- a/changelog.d/11262.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug where if a remote event is being processed by a worker when it gets killed then it won't get processed on restart. Introduced in v1.37.1.
diff --git a/changelog.d/11263.feature b/changelog.d/11263.feature
deleted file mode 100644
index 831e76ec9f6d6a3a8ba1cf8d7e970199a95540b5..0000000000000000000000000000000000000000
--- a/changelog.d/11263.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add some background update admin APIs.
diff --git a/changelog.d/11269.misc b/changelog.d/11269.misc
deleted file mode 100644
index a2149c2d2d6d5398d282bf25d994b2c764fca32a..0000000000000000000000000000000000000000
--- a/changelog.d/11269.misc
+++ /dev/null
@@ -1 +0,0 @@
-Clean up trivial aspects of the Debian package build tooling.
diff --git a/changelog.d/11270.misc b/changelog.d/11270.misc
deleted file mode 100644
index e2181b9b2a7912748c3d45ef04c74051e80b1d8e..0000000000000000000000000000000000000000
--- a/changelog.d/11270.misc
+++ /dev/null
@@ -1 +0,0 @@
-Blacklist new SyTest that checks that key uploads are valid pending the validation being implemented in Synapse.
diff --git a/changelog.d/11273.misc b/changelog.d/11273.misc
deleted file mode 100644
index a2149c2d2d6d5398d282bf25d994b2c764fca32a..0000000000000000000000000000000000000000
--- a/changelog.d/11273.misc
+++ /dev/null
@@ -1 +0,0 @@
-Clean up trivial aspects of the Debian package build tooling.
diff --git a/changelog.d/11276.bugfix b/changelog.d/11276.bugfix
deleted file mode 100644
index ce725926243957827e3c2a09537516a3d74ba2c5..0000000000000000000000000000000000000000
--- a/changelog.d/11276.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix rolling back Synapse version when using workers.
diff --git a/debian/changelog b/debian/changelog
index 74a98f0866e3f72351eba67dc8f7bf624246afd4..c391a22207187a1e6694d274da371070a60f88a3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,13 @@
-matrix-synapse-py3 (1.47.0+nmu1) UNRELEASED; urgency=medium
+matrix-synapse-py3 (1.47.0+nmu1) stable; urgency=medium
 
+  [ Dan Callahan ]
   * Update scripts to pass Shellcheck lints.
   * Remove unused Vagrant scripts from debian/ directory.
   * Allow building Debian packages for any architecture, not just amd64.
   * Preinstall the "wheel" package when building virtualenvs.
   * Do not error if /etc/default/matrix-synapse is missing.
 
- -- Dan Callahan <danc@element.io>  Fri, 22 Oct 2021 22:20:31 +0000
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 09 Nov 2021 12:16:43 +0000
 
 matrix-synapse-py3 (1.46.0) stable; urgency=medium