diff --git a/CHANGES.md b/CHANGES.md
index ba45fe0156400b7f485bfcf55c77fb563251c266..1e3b5370fc0bfe3941d43e12f28c662ff94c5d02 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,60 @@
+# Synapse 1.118.0rc1 (2024-10-22)
+
+### Notice of dropping Python 3.8 support in next release
+
+Python 3.8 is now [end-of-life](https://devguide.python.org/versions/). As per our [Deprecation Policy for Platform Dependencies](https://element-hq.github.io/synapse/latest/deprecation_policy.html#policy), Synpase will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.
+
+1.118.x will be the final Synapse release to support Python 3.8. Python upgrade to a more recent Python version if necessary.
+
+### Python 3.13 and PostgreSQL 17 support
+
+On the other end of the spectrum, Synapse 1.118.0 is the first release to support [Python 3.13](https://www.python.org/downloads/release/python-3130/)!
+
+[PostgreSQL 17](https://www.postgresql.org/about/news/postgresql-17-released-2936/) is also supported as of this release.
+
+### Features
+
+- Added the `display_name_claim` option to the JWT configuration. This option allows specifying the claim key that contains the user's display name in the JWT payload. ([\#17708](https://github.com/element-hq/synapse/issues/17708))
+- Implement [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/pull/4210): Remove legacy mentions. Contributed by @tulir @ Beeper. ([\#17783](https://github.com/element-hq/synapse/issues/17783))
+
+### Bugfixes
+
+- Fix saving of PNG thumbnails, when the original image is in the CMYK color space. ([\#17736](https://github.com/element-hq/synapse/issues/17736))
+- Fix bug with sliding sync where the server would not return state that was added to the `required_state` config. ([\#17785](https://github.com/element-hq/synapse/issues/17785), [\#17805](https://github.com/element-hq/synapse/issues/17805))
+- Fix a bug in [MSC4186](https://github.com/matrix-org/matrix-spec-proposals/pull/4186) Sliding Sync that would cause rooms to stay forgotten and hidden even after rejoining. ([\#17835](https://github.com/element-hq/synapse/issues/17835))
+
+### Improved Documentation
+
+- Clarify when the `user_may_invite` and `user_may_send_3pid_invite` module callbacks are called. ([\#17627](https://github.com/element-hq/synapse/issues/17627))
+- Correct documentation to refer to the `--config-path` argument instead of `--config-file`. ([\#17802](https://github.com/element-hq/synapse/issues/17802))
+- Fix typo in `target_cache_memory_usage` docs. ([\#17825](https://github.com/element-hq/synapse/issues/17825))
+
+### Internal Changes
+
+- Slight optimization when fetching state/events for Sliding Sync. ([\#17718](https://github.com/element-hq/synapse/issues/17718))
+- Add Python 3.13 and Postgres 17 to the test matrix. ([\#17752](https://github.com/element-hq/synapse/issues/17752))
+- Test github token before running release script steps. ([\#17803](https://github.com/element-hq/synapse/issues/17803))
+- Build debian packages for new Ubuntu versions, and stop building for no longer supported versions. ([\#17824](https://github.com/element-hq/synapse/issues/17824))
+- Enable the `.org.matrix.msc4028.encrypted_event` push rule by default in accordance with [MSC4028](https://github.com/matrix-org/matrix-spec-proposals/pull/4028). Note that the corresponding experimental feature must still be switched on for this push rule to have any effect. ([\#17826](https://github.com/element-hq/synapse/issues/17826))
+- Fix some typing issues uncovered by upgrading mypy to 1.11.x. ([\#17842](https://github.com/element-hq/synapse/issues/17842))
+
+
+
+### Updates to locked dependencies
+
+* Bump mypy from 1.10.1 to 1.11.2. ([\#17842](https://github.com/element-hq/synapse/issues/17842))
+* Bump mypy-zope from 1.0.5 to 1.0.7. ([\#17827](https://github.com/element-hq/synapse/issues/17827))
+* Bump phonenumbers from 8.13.46 to 8.13.47. ([\#17797](https://github.com/element-hq/synapse/issues/17797))
+* Bump psycopg2 from 2.9.9 to 2.9.10. ([\#17843](https://github.com/element-hq/synapse/issues/17843))
+* Bump ruff from 0.6.8 to 0.6.9. ([\#17794](https://github.com/element-hq/synapse/issues/17794))
+* Bump sentry-sdk from 2.14.0 to 2.15.0. ([\#17795](https://github.com/element-hq/synapse/issues/17795))
+* Bump sentry-sdk from 2.15.0 to 2.16.0. ([\#17829](https://github.com/element-hq/synapse/issues/17829))
+* Bump sentry-sdk from 2.16.0 to 2.17.0. ([\#17844](https://github.com/element-hq/synapse/issues/17844))
+* Bump sigstore/cosign-installer from 3.6.0 to 3.7.0. ([\#17798](https://github.com/element-hq/synapse/issues/17798))
+* Bump tomli from 2.0.1 to 2.0.2. ([\#17796](https://github.com/element-hq/synapse/issues/17796))
+* Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016. ([\#17841](https://github.com/element-hq/synapse/issues/17841))
+* Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014. ([\#17828](https://github.com/element-hq/synapse/issues/17828))
+
 # Synapse 1.117.0 (2024-10-15)
 
 No significant changes since 1.117.0rc1.
diff --git a/changelog.d/17627.doc b/changelog.d/17627.doc
deleted file mode 100644
index 487a0aea0dac80d8f51ed6e736a90645a07aa5eb..0000000000000000000000000000000000000000
--- a/changelog.d/17627.doc
+++ /dev/null
@@ -1 +0,0 @@
-Clarify when the `user_may_invite` and `user_may_send_3pid_invite` module callbacks are called.
\ No newline at end of file
diff --git a/changelog.d/17708.feature b/changelog.d/17708.feature
deleted file mode 100644
index 90ec810f50da890a7ce9de7fe229b2399f4c1db9..0000000000000000000000000000000000000000
--- a/changelog.d/17708.feature
+++ /dev/null
@@ -1 +0,0 @@
-Added the `display_name_claim` option to the JWT configuration. This option allows specifying the claim key that contains the user's display name in the JWT payload.
\ No newline at end of file
diff --git a/changelog.d/17718.misc b/changelog.d/17718.misc
deleted file mode 100644
index ea73a03f537c737b19f3dac6f5f0aa926172897d..0000000000000000000000000000000000000000
--- a/changelog.d/17718.misc
+++ /dev/null
@@ -1 +0,0 @@
-Slight optimization when fetching state/events for Sliding Sync.
diff --git a/changelog.d/17736.bugfix b/changelog.d/17736.bugfix
deleted file mode 100644
index 0d3fd06962ceaddd2d24cc9d4f8c75373332849d..0000000000000000000000000000000000000000
--- a/changelog.d/17736.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix saving of PNG thumbnails, when the original image is in the CMYK color space.
diff --git a/changelog.d/17752.misc b/changelog.d/17752.misc
deleted file mode 100644
index f9f01a424203471644a3997cadcd94eec7998739..0000000000000000000000000000000000000000
--- a/changelog.d/17752.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add Python 3.13 and Postgres 17 to the test matrix.
diff --git a/changelog.d/17783.feature b/changelog.d/17783.feature
deleted file mode 100644
index ce8c2164185ccaa992cc53425d17f952bdf298a6..0000000000000000000000000000000000000000
--- a/changelog.d/17783.feature
+++ /dev/null
@@ -1 +0,0 @@
-Implement [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/pull/4210): Remove legacy mentions. Contributed by @tulir @ Beeper.
diff --git a/changelog.d/17785.bugfix b/changelog.d/17785.bugfix
deleted file mode 100644
index df2898f54e3694d91cc0999b5517da2611532693..0000000000000000000000000000000000000000
--- a/changelog.d/17785.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix bug with sliding sync where the server would not return state that was added to the `required_state` config.
diff --git a/changelog.d/17802.doc b/changelog.d/17802.doc
deleted file mode 100644
index 72e653d3c4a4481fc87d1e32c204e2c4d44804ac..0000000000000000000000000000000000000000
--- a/changelog.d/17802.doc
+++ /dev/null
@@ -1 +0,0 @@
-Correct documentation to refer to the `--config-path` argument instead of `--config-file`.
diff --git a/changelog.d/17803.misc b/changelog.d/17803.misc
deleted file mode 100644
index a267df8b83cdb27f79366ef058ea4744eeae28ca..0000000000000000000000000000000000000000
--- a/changelog.d/17803.misc
+++ /dev/null
@@ -1 +0,0 @@
-Test github token before running release script steps.
diff --git a/changelog.d/17805.bugfix b/changelog.d/17805.bugfix
deleted file mode 100644
index df2898f54e3694d91cc0999b5517da2611532693..0000000000000000000000000000000000000000
--- a/changelog.d/17805.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix bug with sliding sync where the server would not return state that was added to the `required_state` config.
diff --git a/changelog.d/17824.misc b/changelog.d/17824.misc
deleted file mode 100644
index 22574f00ec3928ed7fb27869d0f799da233737cb..0000000000000000000000000000000000000000
--- a/changelog.d/17824.misc
+++ /dev/null
@@ -1 +0,0 @@
-Build debian packages for new Ubuntu versions, and stop building for no longer supported versions.
diff --git a/changelog.d/17825.doc b/changelog.d/17825.doc
deleted file mode 100644
index ee43667417588a6618e62ae01c864d7edcaa9941..0000000000000000000000000000000000000000
--- a/changelog.d/17825.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix typo in `target_cache_memory_usage` docs.
\ No newline at end of file
diff --git a/changelog.d/17826.misc b/changelog.d/17826.misc
deleted file mode 100644
index 9148c96a0d4e5bc55d1e70aa174a236629954907..0000000000000000000000000000000000000000
--- a/changelog.d/17826.misc
+++ /dev/null
@@ -1 +0,0 @@
-Enable the `.org.matrix.msc4028.encrypted_event` push rule by default in accordance with [MSC4028](https://github.com/matrix-org/matrix-spec-proposals/pull/4028). Note that the corresponding experimental feature must still be switched on for this push rule to have any effect.
\ No newline at end of file
diff --git a/changelog.d/17835.bugfix b/changelog.d/17835.bugfix
deleted file mode 100644
index b970598c35467e097655370a5b28355d1be2dc0b..0000000000000000000000000000000000000000
--- a/changelog.d/17835.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug in [MSC4186](https://github.com/matrix-org/matrix-spec-proposals/pull/4186) Sliding Sync that would cause rooms to stay forgotten and hidden even after rejoining.
diff --git a/changelog.d/17842.misc b/changelog.d/17842.misc
deleted file mode 100644
index 78af706c31b50a464c7ea2f765a646d04d97a06f..0000000000000000000000000000000000000000
--- a/changelog.d/17842.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix some typing issues uncovered by upgrading mypy to 1.11.x.
diff --git a/debian/changelog b/debian/changelog
index 1995fbf6f63e11a31124649ac3cd1b191134f062..9fb360c33022cee888568b80963bad2b3710655b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.118.0~rc1) stable; urgency=medium
+
+  * New Synapse release 1.118.0rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 22 Oct 2024 11:48:14 +0100
+
 matrix-synapse-py3 (1.117.0) stable; urgency=medium
 
   * New Synapse release 1.117.0.
diff --git a/pyproject.toml b/pyproject.toml
index 658771a89afd96dda10fb43cf63c829d45f97b9f..6cdd6850b11da9753f4b31953b72f6b5e1968ecf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,7 +97,7 @@ module-name = "synapse.synapse_rust"
 
 [tool.poetry]
 name = "matrix-synapse"
-version = "1.117.0"
+version = "1.118.0rc1"
 description = "Homeserver for the Matrix decentralised comms protocol"
 authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
 license = "AGPL-3.0-or-later"