diff --git a/CHANGES.md b/CHANGES.md
index 3a0fe606f8ca0f65bebb032c2a646bf4e6aba8a3..bd8cf1a11fd4b142c912ba662391c02b3054cc74 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,50 @@
+Synapse 1.17.0rc1 (2020-07-09)
+==============================
+
+Bugfixes
+--------
+
+- Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel. ([\#7021](https://github.com/matrix-org/synapse/issues/7021))
+- Fix "Tried to close a non-active scope!" error messages when opentracing is enabled. ([\#7732](https://github.com/matrix-org/synapse/issues/7732))
+- Fix incorrect error message when database CTYPE was set incorrectly. ([\#7760](https://github.com/matrix-org/synapse/issues/7760))
+- Fix to not ignore `set_tweak` actions in Push Rules that have no `value`, as permitted by the specification. ([\#7766](https://github.com/matrix-org/synapse/issues/7766))
+- Fix synctl to handle empty config files correctly. Contributed by @kotovalexarian. ([\#7779](https://github.com/matrix-org/synapse/issues/7779))
+- Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent. ([\#7797](https://github.com/matrix-org/synapse/issues/7797))
+- Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. ([\#7804](https://github.com/matrix-org/synapse/issues/7804), [\#7809](https://github.com/matrix-org/synapse/issues/7809), [\#7810](https://github.com/matrix-org/synapse/issues/7810))
+
+
+Updates to the Docker image
+---------------------------
+
+- Include libwebp in the Docker file to properly handle webp image uploads. ([\#7791](https://github.com/matrix-org/synapse/issues/7791))
+
+
+Improved Documentation
+----------------------
+
+- Improve the documentation of the non-standard JSON web token login type. ([\#7776](https://github.com/matrix-org/synapse/issues/7776))
+- Update doc links for caddy. Contributed by Nicolai Søborg. ([\#7789](https://github.com/matrix-org/synapse/issues/7789))
+
+
+Internal Changes
+----------------
+
+- Refactor getting replication updates from database. ([\#7740](https://github.com/matrix-org/synapse/issues/7740))
+- Send push notifications with a high or low priority depending upon whether they may generate user-observable effects. ([\#7765](https://github.com/matrix-org/synapse/issues/7765))
+- Use symbolic names for replication stream names. ([\#7768](https://github.com/matrix-org/synapse/issues/7768))
+- Add early returns to `_check_for_soft_fail`. ([\#7769](https://github.com/matrix-org/synapse/issues/7769))
+- Fix up `synapse.handlers.federation` to pass mypy. ([\#7770](https://github.com/matrix-org/synapse/issues/7770))
+- Convert the appserver handler to async/await. ([\#7775](https://github.com/matrix-org/synapse/issues/7775))
+- Allow to use higher versions of prometheus_client <0.9.0 which are expected to introduce no breaking changes. Contributed by Oliver Kurz. ([\#7780](https://github.com/matrix-org/synapse/issues/7780))
+- Update linting scripts and codebase to be compatible with `isort` v5. ([\#7786](https://github.com/matrix-org/synapse/issues/7786))
+- Stop populating unused table `local_invites`. ([\#7793](https://github.com/matrix-org/synapse/issues/7793))
+- Ensure that strings (not bytes) are passed into JSON serialization. ([\#7799](https://github.com/matrix-org/synapse/issues/7799))
+- Switch from simplejson to the standard library json. ([\#7800](https://github.com/matrix-org/synapse/issues/7800))
+- Add `signing_key` property to `HomeServer` to save code duplication. ([\#7805](https://github.com/matrix-org/synapse/issues/7805))
+- Improve stacktraces from exceptions in background processes. ([\#7808](https://github.com/matrix-org/synapse/issues/7808))
+- Fix various spelling errors in comments and log lines. ([\#7811](https://github.com/matrix-org/synapse/issues/7811))
+
+
 Synapse 1.16.0 (2020-07-08)
 ===========================
 
diff --git a/changelog.d/7021.bugfix b/changelog.d/7021.bugfix
deleted file mode 100644
index 140fe37b2d29c57dde8b3c5ede454e856ccbb721..0000000000000000000000000000000000000000
--- a/changelog.d/7021.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel.
diff --git a/changelog.d/7732.bugfix b/changelog.d/7732.bugfix
deleted file mode 100644
index d5e352e141b55934a53b7b856a8d62c397f78fd8..0000000000000000000000000000000000000000
--- a/changelog.d/7732.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix "Tried to close a non-active scope!" error messages when opentracing is enabled.
diff --git a/changelog.d/7740.misc b/changelog.d/7740.misc
deleted file mode 100644
index f93149502e8c1838369c2e4239b7cfde029866e3..0000000000000000000000000000000000000000
--- a/changelog.d/7740.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor getting replication updates from database.
diff --git a/changelog.d/7760.bugfix b/changelog.d/7760.bugfix
deleted file mode 100644
index f6081f3d30be1f6297f69611c2fcf5a89e5b3576..0000000000000000000000000000000000000000
--- a/changelog.d/7760.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix incorrect error message when database CTYPE was set incorrectly.
diff --git a/changelog.d/7765.misc b/changelog.d/7765.misc
deleted file mode 100644
index fa9cfd24cbdc544a715647e0d0eaef239675c313..0000000000000000000000000000000000000000
--- a/changelog.d/7765.misc
+++ /dev/null
@@ -1 +0,0 @@
-Send push notifications with a high or low priority depending upon whether they may generate user-observable effects.
diff --git a/changelog.d/7766.bugfix b/changelog.d/7766.bugfix
deleted file mode 100644
index ec5ecd8055f41126ccecddfe8e98b8f70ac9e9cf..0000000000000000000000000000000000000000
--- a/changelog.d/7766.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix to not ignore `set_tweak` actions in Push Rules that have no `value`, as permitted by the specification.
diff --git a/changelog.d/7768.misc b/changelog.d/7768.misc
deleted file mode 100644
index dfb3d24c7d19a2dcfae50f408889b9879a1a7501..0000000000000000000000000000000000000000
--- a/changelog.d/7768.misc
+++ /dev/null
@@ -1 +0,0 @@
-Use symbolic names for replication stream names.
diff --git a/changelog.d/7769.misc b/changelog.d/7769.misc
deleted file mode 100644
index 2e200286cebc73cd461138937194fbf0f56f2e77..0000000000000000000000000000000000000000
--- a/changelog.d/7769.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add early returns to `_check_for_soft_fail`.
diff --git a/changelog.d/7770.misc b/changelog.d/7770.misc
deleted file mode 100644
index 5b864084bec785d8655ce5d2a2bd3a81a400c6e9..0000000000000000000000000000000000000000
--- a/changelog.d/7770.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix up `synapse.handlers.federation` to pass mypy.
diff --git a/changelog.d/7775.misc b/changelog.d/7775.misc
deleted file mode 100644
index af6fdb782f5fc7c92366f16ee1476af29dc80ed6..0000000000000000000000000000000000000000
--- a/changelog.d/7775.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert the appserver handler to async/await.
diff --git a/changelog.d/7776.doc b/changelog.d/7776.doc
deleted file mode 100644
index e686215688531c7c308d542c2831381a2fed666e..0000000000000000000000000000000000000000
--- a/changelog.d/7776.doc
+++ /dev/null
@@ -1 +0,0 @@
-Improve the documentation of the non-standard JSON web token login type.
diff --git a/changelog.d/7779.bugfix b/changelog.d/7779.bugfix
deleted file mode 100644
index 61de45d570ae20c9cb3686beac2a8f50b2cb2e75..0000000000000000000000000000000000000000
--- a/changelog.d/7779.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix synctl to handle empty config files correctly. Contributed by @kotovalexarian.
diff --git a/changelog.d/7780.misc b/changelog.d/7780.misc
deleted file mode 100644
index a627bea458e7e25f8822852c7548b135d36db1d3..0000000000000000000000000000000000000000
--- a/changelog.d/7780.misc
+++ /dev/null
@@ -1 +0,0 @@
-Allow to use higher versions of prometheus_client <0.9.0 which are expected to introduce no breaking changes. Contributed by Oliver Kurz.
diff --git a/changelog.d/7786.misc b/changelog.d/7786.misc
deleted file mode 100644
index 27af2681dc658b891b07de7f60a38d66a7c4b361..0000000000000000000000000000000000000000
--- a/changelog.d/7786.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update linting scripts and codebase to be compatible with `isort` v5.
diff --git a/changelog.d/7789.doc b/changelog.d/7789.doc
deleted file mode 100644
index 254411c769cb480cefd599f1f14796ce4273a350..0000000000000000000000000000000000000000
--- a/changelog.d/7789.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update doc links for caddy. Contributed by Nicolai Søborg.
diff --git a/changelog.d/7791.docker b/changelog.d/7791.docker
deleted file mode 100644
index a114159d4e17aec599836a091d288f4fc4b9462e..0000000000000000000000000000000000000000
--- a/changelog.d/7791.docker
+++ /dev/null
@@ -1 +0,0 @@
-Include libwebp in the Docker file to properly handle webp image uploads.
diff --git a/changelog.d/7793.misc b/changelog.d/7793.misc
deleted file mode 100644
index 2b6cfbe274b206d93e5ee5280314051d6d5153b9..0000000000000000000000000000000000000000
--- a/changelog.d/7793.misc
+++ /dev/null
@@ -1 +0,0 @@
-Stop populating unused table `local_invites`.
diff --git a/changelog.d/7797.bugfix b/changelog.d/7797.bugfix
deleted file mode 100644
index c1259871da35031943db56645cbdb750325b46e3..0000000000000000000000000000000000000000
--- a/changelog.d/7797.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent.
diff --git a/changelog.d/7799.misc b/changelog.d/7799.misc
deleted file mode 100644
index 448b286df4002ea7e6e8d0b116cfe9bc46320157..0000000000000000000000000000000000000000
--- a/changelog.d/7799.misc
+++ /dev/null
@@ -1 +0,0 @@
-Ensure that strings (not bytes) are passed into JSON serialization.
diff --git a/changelog.d/7800.misc b/changelog.d/7800.misc
deleted file mode 100644
index ce2346b3d4ed6af3f2b04aefe9ef2775350b5c01..0000000000000000000000000000000000000000
--- a/changelog.d/7800.misc
+++ /dev/null
@@ -1 +0,0 @@
-Switch from simplejson to the standard library json.
diff --git a/changelog.d/7804.bugfix b/changelog.d/7804.bugfix
deleted file mode 100644
index 2772eeb0db89644db2408e570030547af1ecaf05..0000000000000000000000000000000000000000
--- a/changelog.d/7804.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation.
diff --git a/changelog.d/7805.misc b/changelog.d/7805.misc
deleted file mode 100644
index cbae08774a6b13812104aba57c6ce31ba779fb61..0000000000000000000000000000000000000000
--- a/changelog.d/7805.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add `signing_key` property to `HomeServer` to save code duplication.
diff --git a/changelog.d/7808.misc b/changelog.d/7808.misc
deleted file mode 100644
index c2acca56ec5c1eca0c95d7c0865edee0df17ba09..0000000000000000000000000000000000000000
--- a/changelog.d/7808.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve stacktraces from exceptions in background processes.
diff --git a/changelog.d/7809.bugfix b/changelog.d/7809.bugfix
deleted file mode 100644
index 2772eeb0db89644db2408e570030547af1ecaf05..0000000000000000000000000000000000000000
--- a/changelog.d/7809.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation.
diff --git a/changelog.d/7810.bugfix b/changelog.d/7810.bugfix
deleted file mode 100644
index 2772eeb0db89644db2408e570030547af1ecaf05..0000000000000000000000000000000000000000
--- a/changelog.d/7810.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation.
diff --git a/changelog.d/7811.misc b/changelog.d/7811.misc
deleted file mode 100644
index d907bba4dff138e8ab643c374309061f1d66e17f..0000000000000000000000000000000000000000
--- a/changelog.d/7811.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix various spelling errors in comments and log lines.
diff --git a/debian/changelog b/debian/changelog
index 1e7d7191ad22df503535ef4760aa7c446cea0da5..f7c146d77710982701e9dff43bc85761c0449f06 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.17.0rc1) stable; urgency=medium
+
+  * New synapse release 1.17.0rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Thu, 09 Jul 2020 16:53:12 +0100
+
 matrix-synapse-py3 (1.16.0) stable; urgency=medium
 
   * New synapse release 1.16.0.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index de65ce6db89fac4381c77d4955fdf9860e88f070..5bb09a37d70297eb7db6cc3181f979cabc38fadd 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -36,7 +36,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.16.0"
+__version__ = "1.17.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