diff --git a/CHANGES.md b/CHANGES.md
index 0176c6e45d..e591deff67 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,55 @@
+# Synapse 1.128.0rc1 (2025-04-01)
+
+### Features
+
+- Add an access token introspection cache to make Matrix Authentication Service integration ([MSC3861](https://github.com/matrix-org/matrix-doc/pull/3861)) more efficient. ([\#18231](https://github.com/element-hq/synapse/issues/18231))
+- Add background job to clear unreferenced state groups. ([\#18254](https://github.com/element-hq/synapse/issues/18254))
+- Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash. ([\#18277](https://github.com/element-hq/synapse/issues/18277), [\#18302](https://github.com/element-hq/synapse/issues/18302))
+
+### Bugfixes
+
+- Add index to sliding sync ([MSC4186](https://github.com/matrix-org/matrix-doc/pull/4186)) membership snapshot table, to fix a performance issue. ([\#18074](https://github.com/element-hq/synapse/issues/18074))
+
+### Updates to the Docker image
+
+- Specify the architecture of installed packages via an APT config option, which is more reliable than appending package names with `:{arch}`. ([\#18271](https://github.com/element-hq/synapse/issues/18271))
+- Always specify base image debian versions with a build argument. ([\#18272](https://github.com/element-hq/synapse/issues/18272))
+- Allow passing arguments to `start_for_complement.sh (to be sent to `configure_workers_and_start.py`). ([\#18273](https://github.com/element-hq/synapse/issues/18273))
+- Make some improvements to the `prefix-log` script in the workers image. ([\#18274](https://github.com/element-hq/synapse/issues/18274))
+- Use `uv pip` to install `supervisor` in the worker image. ([\#18275](https://github.com/element-hq/synapse/issues/18275))
+- Avoid needing to download & use `rsync` in a build layer. ([\#18287](https://github.com/element-hq/synapse/issues/18287))
+
+### Improved Documentation
+
+- Fix how to obtain access token and change naming from riot to element ([\#18225](https://github.com/element-hq/synapse/issues/18225))
+- Correct a small typo in the SSO mapping providers documentation. ([\#18276](https://github.com/element-hq/synapse/issues/18276))
+- Add docs for how to clear out the Poetry wheel cache. ([\#18283](https://github.com/element-hq/synapse/issues/18283))
+- Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash. ([\#18296](https://github.com/element-hq/synapse/issues/18296))
+
+### Internal Changes
+
+- Add a column `participant` to `room_memberships` table. ([\#18068](https://github.com/element-hq/synapse/issues/18068))
+- Update Poetry to 2.1.1, including updating the lock file version. ([\#18251](https://github.com/element-hq/synapse/issues/18251))
+- Pin GitHub Actions dependencies by commit hash. ([\#18255](https://github.com/element-hq/synapse/issues/18255))
+- Add DB delta to remove the old state group deletion job. ([\#18284](https://github.com/element-hq/synapse/issues/18284))
+
+
+
+### Updates to locked dependencies
+
+* Bump actions/add-to-project from f5473ace9aeee8b97717b281e26980aa5097023f to 280af8ae1f83a494cfad2cb10f02f6d13529caa9. ([\#18303](https://github.com/element-hq/synapse/issues/18303))
+* Bump actions/cache from 4.2.2 to 4.2.3. ([\#18266](https://github.com/element-hq/synapse/issues/18266))
+* Bump actions/download-artifact from 4.2.0 to 4.2.1. ([\#18268](https://github.com/element-hq/synapse/issues/18268))
+* Bump actions/setup-python from 5.4.0 to 5.5.0. ([\#18298](https://github.com/element-hq/synapse/issues/18298))
+* Bump actions/upload-artifact from 4.6.1 to 4.6.2. ([\#18304](https://github.com/element-hq/synapse/issues/18304))
+* Bump authlib from 1.4.1 to 1.5.1. ([\#18306](https://github.com/element-hq/synapse/issues/18306))
+* Bump dawidd6/action-download-artifact from 8 to 9. ([\#18204](https://github.com/element-hq/synapse/issues/18204))
+* Bump jinja2 from 3.1.5 to 3.1.6. ([\#18223](https://github.com/element-hq/synapse/issues/18223))
+* Bump log from 0.4.26 to 0.4.27. ([\#18267](https://github.com/element-hq/synapse/issues/18267))
+* Bump phonenumbers from 8.13.50 to 9.0.2. ([\#18299](https://github.com/element-hq/synapse/issues/18299))
+* Bump pygithub from 2.5.0 to 2.6.1. ([\#18243](https://github.com/element-hq/synapse/issues/18243))
+* Bump pyo3-log from 0.12.1 to 0.12.2. ([\#18269](https://github.com/element-hq/synapse/issues/18269))
+
# Synapse 1.127.1 (2025-03-26)
## Security
diff --git a/changelog.d/18068.misc b/changelog.d/18068.misc
deleted file mode 100644
index af6f78f549..0000000000
--- a/changelog.d/18068.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add a column `participant` to `room_memberships` table.
\ No newline at end of file
diff --git a/changelog.d/18074.bugfix b/changelog.d/18074.bugfix
deleted file mode 100644
index 03e0b95988..0000000000
--- a/changelog.d/18074.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Add index to sliding sync membership snapshot table, to fix a performance issue.
\ No newline at end of file
diff --git a/changelog.d/18225.doc b/changelog.d/18225.doc
deleted file mode 100644
index 854e275120..0000000000
--- a/changelog.d/18225.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix how to obtain access token and change naming from riot to element
diff --git a/changelog.d/18231.feature b/changelog.d/18231.feature
deleted file mode 100644
index 7fa65e4fa6..0000000000
--- a/changelog.d/18231.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add an access token introspection cache to make Matrix Authentication Service integration (MSC3861) more efficient.
\ No newline at end of file
diff --git a/changelog.d/18251.misc b/changelog.d/18251.misc
deleted file mode 100644
index 3b557a06c4..0000000000
--- a/changelog.d/18251.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update Poetry to 2.1.1, including updating the lock file version.
\ No newline at end of file
diff --git a/changelog.d/18254.feature b/changelog.d/18254.feature
deleted file mode 100644
index 62e1b79a15..0000000000
--- a/changelog.d/18254.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add background job to clear unreferenced state groups.
diff --git a/changelog.d/18255.misc b/changelog.d/18255.misc
deleted file mode 100644
index 49a5b0e7b6..0000000000
--- a/changelog.d/18255.misc
+++ /dev/null
@@ -1 +0,0 @@
-Pin GitHub Actions dependencies by commit hash.
\ No newline at end of file
diff --git a/changelog.d/18271.docker b/changelog.d/18271.docker
deleted file mode 100644
index fcb2ac1e00..0000000000
--- a/changelog.d/18271.docker
+++ /dev/null
@@ -1 +0,0 @@
-Specify the architecture of installed packages via an APT config option, which is more reliable than appending package names with ":{arch}".
diff --git a/changelog.d/18272.docker b/changelog.d/18272.docker
deleted file mode 100644
index ceec619b6c..0000000000
--- a/changelog.d/18272.docker
+++ /dev/null
@@ -1 +0,0 @@
-Always specify base image debian versions with a build argument.
diff --git a/changelog.d/18273.docker b/changelog.d/18273.docker
deleted file mode 100644
index 1da0c3efb1..0000000000
--- a/changelog.d/18273.docker
+++ /dev/null
@@ -1 +0,0 @@
-Allow passing arguments to start_for_complement.sh (to be sent to configure_workers_and_start.py).
diff --git a/changelog.d/18274.docker b/changelog.d/18274.docker
deleted file mode 100644
index 57b81d8f4e..0000000000
--- a/changelog.d/18274.docker
+++ /dev/null
@@ -1 +0,0 @@
-Make some improvements to the prefix-log script in the workers image.
diff --git a/changelog.d/18275.docker b/changelog.d/18275.docker
deleted file mode 100644
index 154226e5f6..0000000000
--- a/changelog.d/18275.docker
+++ /dev/null
@@ -1 +0,0 @@
-Use uv pip to install supervisor in the worker image.
diff --git a/changelog.d/18276.doc b/changelog.d/18276.doc
deleted file mode 100644
index cacf6daf76..0000000000
--- a/changelog.d/18276.doc
+++ /dev/null
@@ -1 +0,0 @@
-Correct a small typo in the SSO mapping providers documentation.
\ No newline at end of file
diff --git a/changelog.d/18277.feature b/changelog.d/18277.feature
deleted file mode 100644
index 3604e732d5..0000000000
--- a/changelog.d/18277.feature
+++ /dev/null
@@ -1 +0,0 @@
-Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash.
\ No newline at end of file
diff --git a/changelog.d/18283.doc b/changelog.d/18283.doc
deleted file mode 100644
index 77fa08fa6b..0000000000
--- a/changelog.d/18283.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add docs for how to clear out the Poetry wheel cache.
diff --git a/changelog.d/18284.misc b/changelog.d/18284.misc
deleted file mode 100644
index 69610adc65..0000000000
--- a/changelog.d/18284.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add DB delta to remove the old state group deletion job.
diff --git a/changelog.d/18287.docker b/changelog.d/18287.docker
deleted file mode 100644
index ef45ad72ba..0000000000
--- a/changelog.d/18287.docker
+++ /dev/null
@@ -1 +0,0 @@
-Avoid needing to download & use rsync in a build layer.
diff --git a/changelog.d/18296.doc b/changelog.d/18296.doc
deleted file mode 100644
index 3604e732d5..0000000000
--- a/changelog.d/18296.doc
+++ /dev/null
@@ -1 +0,0 @@
-Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash.
\ No newline at end of file
diff --git a/changelog.d/18302.feature b/changelog.d/18302.feature
deleted file mode 100644
index 3604e732d5..0000000000
--- a/changelog.d/18302.feature
+++ /dev/null
@@ -1 +0,0 @@
-Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash.
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index 645001ca52..6e338ecd74 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
-matrix-synapse-py3 (1.128.0~rc1+nmu1) UNRELEASED; urgency=medium
+matrix-synapse-py3 (1.128.0~rc1) stable; urgency=medium
* Update Poetry to 2.1.1.
+ * New synapse release 1.128.0rc1.
- -- Synapse Packaging team <packages@matrix.org> Wed, 19 Mar 2025 17:38:49 +0000
+ -- Synapse Packaging team <packages@matrix.org> Tue, 01 Apr 2025 14:35:33 +0000
matrix-synapse-py3 (1.127.1) stable; urgency=medium
diff --git a/pyproject.toml b/pyproject.toml
index e91a75445c..da469aab2c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,7 +97,7 @@ module-name = "synapse.synapse_rust"
[tool.poetry]
name = "matrix-synapse"
-version = "1.127.1"
+version = "1.128.0rc1"
description = "Homeserver for the Matrix decentralised comms protocol"
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
license = "AGPL-3.0-or-later"
|