diff --git a/CHANGES.md b/CHANGES.md
index 58b410decb..d83430088c 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,53 @@
+# Synapse 1.125.0rc1 (2025-02-18)
+
+### Features
+
+- Add functionality to be able to use multiple values in SSO feature `attribute_requirements`. ([\#17949](https://github.com/element-hq/synapse/issues/17949))
+- Add experimental config options `admin_token_path` and `client_secret_path` for MSC 3861. ([\#18004](https://github.com/element-hq/synapse/issues/18004))
+- Add `get_current_time_msec()` method to the [module API](https://matrix-org.github.io/synapse/latest/modules/writing_a_module.html) for sound time comparisons with Synapse. ([\#18144](https://github.com/element-hq/synapse/issues/18144))
+
+### Bugfixes
+
+- Fix a bug when updating a user 3pid with invalid returns 500 server error change to 400 with a message. ([\#18125](https://github.com/element-hq/synapse/issues/18125))
+- Fix user directory search when using a legacy module with a `check_username_for_spam` callback. Broke in v1.122.0. ([\#18135](https://github.com/element-hq/synapse/issues/18135))
+- Add rate limit `rc_presence.per_user`. This prevents load from excessive presence updates sent by clients via sync api. Also rate limit `/_matrix/client/v3/presence` as per the spec. Contributed by @rda0. ([\#18145](https://github.com/element-hq/synapse/issues/18145))
+
+### Updates to the Docker image
+
+- Add `SYNAPSE_HTTP_PROXY`/`SYNAPSE_HTTPS_PROXY`/`SYNAPSE_NO_PROXY` environment variables to pass through specifically to the Synapse process (instead of needing to apply [`http_proxy`/`https_proxy`/`no_proxy`](https://element-hq.github.io/synapse/latest/setup/forward_proxy.html) globally). ([\#18158](https://github.com/element-hq/synapse/issues/18158))
+
+### Improved Documentation
+
+- Add Oracle Linux 8 and 9 installation instructions. ([\#17436](https://github.com/element-hq/synapse/issues/17436))
+- Document missing server config options (`daemonize`, `print_pidfile`, `user_agent_suffix`, `use_frozen_dicts`, `manhole`). ([\#18122](https://github.com/element-hq/synapse/issues/18122))
+- Document consequences of replacing secrets. ([\#18138](https://github.com/element-hq/synapse/issues/18138))
+- Make `burst_count` field an integer in `rc_presence` config documentation example. ([\#18159](https://github.com/element-hq/synapse/issues/18159))
+
+### Internal Changes
+
+- Overload DatabasePool.simple_select_one_txn to return non-None when the allow_none parameter is False. ([\#17616](https://github.com/element-hq/synapse/issues/17616))
+- Python 3.8 EOL: compile native extensions with the 3.9 ABI and use typing hints from the standard library. ([\#17967](https://github.com/element-hq/synapse/issues/17967))
+- Add log message when worker lock timeouts get large. ([\#18124](https://github.com/element-hq/synapse/issues/18124))
+- Make it explicit that you can buy an AGPL-alternative commercial license from Element. ([\#18134](https://github.com/element-hq/synapse/issues/18134))
+- Fix the 'Fix linting' GitHub Actions workflow. ([\#18136](https://github.com/element-hq/synapse/issues/18136))
+- Do not log at the exception-level when clients provide empty `since` token to `/sync` API. ([\#18139](https://github.com/element-hq/synapse/issues/18139))
+- Reduce database load of user search when using large search terms. ([\#18172](https://github.com/element-hq/synapse/issues/18172))
+
+
+
+### Updates to locked dependencies
+
+* Bump bcrypt from 4.2.0 to 4.2.1. ([\#18127](https://github.com/element-hq/synapse/issues/18127))
+* Bump bytes from 1.9.0 to 1.10.0. ([\#18149](https://github.com/element-hq/synapse/issues/18149))
+* Bump gitpython from 3.1.43 to 3.1.44. ([\#18128](https://github.com/element-hq/synapse/issues/18128))
+* Bump hiredis from 3.0.0 to 3.1.0. ([\#18169](https://github.com/element-hq/synapse/issues/18169))
+* Bump serde_json from 1.0.137 to 1.0.138. ([\#18129](https://github.com/element-hq/synapse/issues/18129))
+* Bump service-identity from 24.1.0 to 24.2.0. ([\#18171](https://github.com/element-hq/synapse/issues/18171))
+* Bump sigstore/cosign-installer from 3.7.0 to 3.8.0. ([\#18147](https://github.com/element-hq/synapse/issues/18147))
+* Bump twine from 6.0.1 to 6.1.0. ([\#18170](https://github.com/element-hq/synapse/issues/18170))
+* Bump types-pyyaml from 6.0.12.20240917 to 6.0.12.20241230. ([\#18097](https://github.com/element-hq/synapse/issues/18097))
+* Bump ulid from 1.1.4 to 1.2.0. ([\#18148](https://github.com/element-hq/synapse/issues/18148))
+
# Synapse 1.124.0 (2025-02-11)
No significant changes since 1.124.0rc3.
diff --git a/changelog.d/17436.doc b/changelog.d/17436.doc
deleted file mode 100644
index 7846d3a8bf..0000000000
--- a/changelog.d/17436.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add Oracle Linux 8 and 9 installation instructions.
diff --git a/changelog.d/17616.misc b/changelog.d/17616.misc
deleted file mode 100644
index 8250832dcd..0000000000
--- a/changelog.d/17616.misc
+++ /dev/null
@@ -1 +0,0 @@
-Overload DatabasePool.simple_select_one_txn to return non-None when the allow_none parameter is False.
diff --git a/changelog.d/17949.feature b/changelog.d/17949.feature
deleted file mode 100644
index ee9bb51e03..0000000000
--- a/changelog.d/17949.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add functionality to be able to use multiple values in SSO feature `attribute_requirements`.
diff --git a/changelog.d/17967.misc b/changelog.d/17967.misc
deleted file mode 100644
index 60e61a6f7d..0000000000
--- a/changelog.d/17967.misc
+++ /dev/null
@@ -1 +0,0 @@
-Python 3.8 EOL: compile native extensions with the 3.9 ABI and use typing hints from the standard library.
\ No newline at end of file
diff --git a/changelog.d/18004.feature b/changelog.d/18004.feature
deleted file mode 100644
index 8cacd1a0ef..0000000000
--- a/changelog.d/18004.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add experimental config options `admin_token_path` and `client_secret_path` for MSC 3861.
\ No newline at end of file
diff --git a/changelog.d/18122.doc b/changelog.d/18122.doc
deleted file mode 100644
index b7bb7107e2..0000000000
--- a/changelog.d/18122.doc
+++ /dev/null
@@ -1 +0,0 @@
-Document missing server config options (`daemonize`, `print_pidfile`, `user_agent_suffix`, `use_frozen_dicts`, `manhole`).
diff --git a/changelog.d/18124.misc b/changelog.d/18124.misc
deleted file mode 100644
index 8ac6a73a20..0000000000
--- a/changelog.d/18124.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add log message when worker lock timeouts get large.
diff --git a/changelog.d/18125.bugfix b/changelog.d/18125.bugfix
deleted file mode 100644
index 0e6aa704ff..0000000000
--- a/changelog.d/18125.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug when updating a user 3pid with invalid returns 500 server error change to 400 with a message.
\ No newline at end of file
diff --git a/changelog.d/18134.misc b/changelog.d/18134.misc
deleted file mode 100644
index be90691516..0000000000
--- a/changelog.d/18134.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make it explicit that you can buy an AGPL-alternative commercial license from Element.
diff --git a/changelog.d/18135.bugfix b/changelog.d/18135.bugfix
deleted file mode 100644
index 998914a811..0000000000
--- a/changelog.d/18135.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix user directory search when using a legacy module with a `check_username_for_spam` callback. Broke in v1.122.0.
diff --git a/changelog.d/18136.misc b/changelog.d/18136.misc
deleted file mode 100644
index ed88c38acf..0000000000
--- a/changelog.d/18136.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix the 'Fix linting' GitHub Actions workflow.
diff --git a/changelog.d/18138.doc b/changelog.d/18138.doc
deleted file mode 100644
index 5f07cd2763..0000000000
--- a/changelog.d/18138.doc
+++ /dev/null
@@ -1 +0,0 @@
-Document consequences of replacing secrets.
\ No newline at end of file
diff --git a/changelog.d/18139.misc b/changelog.d/18139.misc
deleted file mode 100644
index f753033b8e..0000000000
--- a/changelog.d/18139.misc
+++ /dev/null
@@ -1 +0,0 @@
-Do not log at the exception-level when clients provide empty `since` token to `/sync` API.
diff --git a/changelog.d/18144.feature b/changelog.d/18144.feature
deleted file mode 100644
index 74a28e5a4e..0000000000
--- a/changelog.d/18144.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add `get_current_time_msec()` method to the [module API](https://matrix-org.github.io/synapse/latest/modules/writing_a_module.html) for sound time comparisons with Synapse.
\ No newline at end of file
diff --git a/changelog.d/18145.bugfix b/changelog.d/18145.bugfix
deleted file mode 100644
index ad9d353834..0000000000
--- a/changelog.d/18145.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Add rate limit `rc_presence.per_user`. This prevents load from excessive presence updates sent by clients via sync api. Also rate limit `/_matrix/client/v3/presence` as per the spec. Contributed by @rda0.
\ No newline at end of file
diff --git a/changelog.d/18158.docker b/changelog.d/18158.docker
deleted file mode 100644
index 60469690ff..0000000000
--- a/changelog.d/18158.docker
+++ /dev/null
@@ -1 +0,0 @@
-Add `SYNAPSE_HTTP_PROXY`/`SYNAPSE_HTTPS_PROXY`/`SYNAPSE_NO_PROXY` environment variables to pass through specifically to the Synapse process (instead of needing to apply [`http_proxy`/`https_proxy`/`no_proxy`](https://element-hq.github.io/synapse/latest/setup/forward_proxy.html) globally).
diff --git a/changelog.d/18159.doc b/changelog.d/18159.doc
deleted file mode 100644
index 031f8a149f..0000000000
--- a/changelog.d/18159.doc
+++ /dev/null
@@ -1 +0,0 @@
-Make `burst_count` field an integer in `rc_presence` config documentation example.
\ No newline at end of file
diff --git a/changelog.d/18172.misc b/changelog.d/18172.misc
deleted file mode 100644
index 49b6be263b..0000000000
--- a/changelog.d/18172.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reduce database load of user search when using large search terms.
diff --git a/debian/changelog b/debian/changelog
index 3e20885c86..a0d5a7614f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.125.0~rc1) stable; urgency=medium
+
+ * New synapse release 1.125.0rc1.
+
+ -- Synapse Packaging team <packages@matrix.org> Tue, 18 Feb 2025 13:32:49 +0000
+
matrix-synapse-py3 (1.124.0) stable; urgency=medium
* New Synapse release 1.124.0.
diff --git a/pyproject.toml b/pyproject.toml
index 2d982eae70..a40be93d7b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,7 +97,7 @@ module-name = "synapse.synapse_rust"
[tool.poetry]
name = "matrix-synapse"
-version = "1.124.0"
+version = "1.125.0rc1"
description = "Homeserver for the Matrix decentralised comms protocol"
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
license = "AGPL-3.0-or-later"
|