diff --git a/CHANGES.md b/CHANGES.md
index e330aea9e35f801f8371c3a188beda39a3387195..5120631fb6fd0dc7dffcb2e885ca0cd0e2e18ea2 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,49 @@
+Synapse 0.99.1rc1 (2019-02-12)
+==============================
+
+Features
+--------
+
+- Include m.room.encryption on invites by default ([\#3902](https://github.com/matrix-org/synapse/issues/3902))
+- Federation OpenID listener resource can now be activated even if federation is disabled ([\#4420](https://github.com/matrix-org/synapse/issues/4420))
+- Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running. ([\#4522](https://github.com/matrix-org/synapse/issues/4522))
+- Add ability to update backup versions ([\#4580](https://github.com/matrix-org/synapse/issues/4580))
+- Allow the "unavailable" presence status for /sync.
+  This change makes Synapse compliant with r0.4.0 of the Client-Server specification. ([\#4592](https://github.com/matrix-org/synapse/issues/4592))
+- There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners ([\#4613](https://github.com/matrix-org/synapse/issues/4613), [\#4615](https://github.com/matrix-org/synapse/issues/4615), [\#4617](https://github.com/matrix-org/synapse/issues/4617))
+- The default configuration no longer requires TLS certificates. ([\#4614](https://github.com/matrix-org/synapse/issues/4614))
+
+
+Bugfixes
+--------
+
+- Copy over room federation ability on room upgrade. ([\#4530](https://github.com/matrix-org/synapse/issues/4530))
+- Fix noisy "twisted.internet.task.TaskStopped" errors in logs ([\#4546](https://github.com/matrix-org/synapse/issues/4546))
+- Synapse is now tolerant of the tls_fingerprints option being None or not specified. ([\#4589](https://github.com/matrix-org/synapse/issues/4589))
+- Fix 'no unique or exclusion constraint' error ([\#4591](https://github.com/matrix-org/synapse/issues/4591))
+- Transfer Server ACLs on room upgrade. ([\#4608](https://github.com/matrix-org/synapse/issues/4608))
+- Fix failure to start when not TLS certificate was given even if TLS was disabled. ([\#4618](https://github.com/matrix-org/synapse/issues/4618))
+- fix self-signed cert notice from generate-config. ([\#4625](https://github.com/matrix-org/synapse/issues/4625))
+- Fix performance of 'user_ips' table deduplication background update ([\#4626](https://github.com/matrix-org/synapse/issues/4626), [\#4627](https://github.com/matrix-org/synapse/issues/4627))
+
+
+Internal Changes
+----------------
+
+- Change the user directory state query to use a filtered call to the db instead of a generic one. ([\#4462](https://github.com/matrix-org/synapse/issues/4462))
+- Reject federation transactions if they include more than 50 PDUs or 100 EDUs. ([\#4513](https://github.com/matrix-org/synapse/issues/4513))
+- Reduce duplication of ``synapse.app`` code. ([\#4567](https://github.com/matrix-org/synapse/issues/4567))
+- Fix docker upload job to push -py2 images. ([\#4576](https://github.com/matrix-org/synapse/issues/4576))
+- Add port configuration information to ACME instructions. ([\#4578](https://github.com/matrix-org/synapse/issues/4578))
+- Update MSC1711 FAQ to calrify .well-known usage ([\#4584](https://github.com/matrix-org/synapse/issues/4584))
+- Clean up default listener configuration ([\#4586](https://github.com/matrix-org/synapse/issues/4586))
+- Clarifications for reverse proxy docs ([\#4607](https://github.com/matrix-org/synapse/issues/4607))
+- Move ClientTLSOptionsFactory init out of refresh_certificates ([\#4611](https://github.com/matrix-org/synapse/issues/4611))
+- Fail cleanly if listener config lacks a 'port' ([\#4616](https://github.com/matrix-org/synapse/issues/4616))
+- Remove redundant entries from docker config ([\#4619](https://github.com/matrix-org/synapse/issues/4619))
+- README updates ([\#4621](https://github.com/matrix-org/synapse/issues/4621))
+
+
 Synapse 0.99.0 (2019-02-05)
 ===========================
 
diff --git a/changelog.d/3902.feature b/changelog.d/3902.feature
deleted file mode 100644
index eb8d9f239370f9fe471ad26c8d0f6bd88709bde2..0000000000000000000000000000000000000000
--- a/changelog.d/3902.feature
+++ /dev/null
@@ -1 +0,0 @@
-Include m.room.encryption on invites by default
diff --git a/changelog.d/4420.feature b/changelog.d/4420.feature
deleted file mode 100644
index 05e777c6245146ac2e5a43cd34521019d7c17c24..0000000000000000000000000000000000000000
--- a/changelog.d/4420.feature
+++ /dev/null
@@ -1 +0,0 @@
-Federation OpenID listener resource can now be activated even if federation is disabled
diff --git a/changelog.d/4462.misc b/changelog.d/4462.misc
deleted file mode 100644
index 03a4d7ae1cbcec180f5ec5edc03d37c249f61751..0000000000000000000000000000000000000000
--- a/changelog.d/4462.misc
+++ /dev/null
@@ -1 +0,0 @@
-Change the user directory state query to use a filtered call to the db instead of a generic one.
\ No newline at end of file
diff --git a/changelog.d/4513.misc b/changelog.d/4513.misc
deleted file mode 100644
index 1f64a96465a221676806104c41155da8ac38b2b8..0000000000000000000000000000000000000000
--- a/changelog.d/4513.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reject federation transactions if they include more than 50 PDUs or 100 EDUs.
\ No newline at end of file
diff --git a/changelog.d/4522.feature b/changelog.d/4522.feature
deleted file mode 100644
index ef18daf60bd4b80e26705f4f4aa4b74b8aee8310..0000000000000000000000000000000000000000
--- a/changelog.d/4522.feature
+++ /dev/null
@@ -1 +0,0 @@
-Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running.
diff --git a/changelog.d/4530.bugfix b/changelog.d/4530.bugfix
deleted file mode 100644
index d010af927e674d18ecebf4d9a1e8057bfa8edee4..0000000000000000000000000000000000000000
--- a/changelog.d/4530.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Copy over room federation ability on room upgrade.
\ No newline at end of file
diff --git a/changelog.d/4546.bugfix b/changelog.d/4546.bugfix
deleted file mode 100644
index 056f2848edb9143c344844f4582cb7574294694d..0000000000000000000000000000000000000000
--- a/changelog.d/4546.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix noisy "twisted.internet.task.TaskStopped" errors in logs
diff --git a/changelog.d/4567.misc b/changelog.d/4567.misc
deleted file mode 100644
index 96a2e0aefc16e8506c5e61c32b67da010c1be994..0000000000000000000000000000000000000000
--- a/changelog.d/4567.misc
+++ /dev/null
@@ -1 +0,0 @@
-Reduce duplication of ``synapse.app`` code.
diff --git a/changelog.d/4576.misc b/changelog.d/4576.misc
deleted file mode 100644
index 94b1ade2e387b53f550cdb4794a9b574dff13e5b..0000000000000000000000000000000000000000
--- a/changelog.d/4576.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix docker upload job to push -py2 images.
diff --git a/changelog.d/4578.misc b/changelog.d/4578.misc
deleted file mode 100644
index d1c006bb6b19e01b2a1f37fc9b3904f8060c1d2d..0000000000000000000000000000000000000000
--- a/changelog.d/4578.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add port configuration information to ACME instructions.
\ No newline at end of file
diff --git a/changelog.d/4580.feature b/changelog.d/4580.feature
deleted file mode 100644
index a2a5a77dbebe8ff1717405110ccbc0b75171a33f..0000000000000000000000000000000000000000
--- a/changelog.d/4580.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add ability to update backup versions
\ No newline at end of file
diff --git a/changelog.d/4584.misc b/changelog.d/4584.misc
deleted file mode 100644
index 4dec2e2b5ccb23d8921302af26201fe2b91fcdc2..0000000000000000000000000000000000000000
--- a/changelog.d/4584.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update MSC1711 FAQ to calrify .well-known usage
diff --git a/changelog.d/4586.misc b/changelog.d/4586.misc
deleted file mode 100644
index 37af371ccfe45dbe498948a372cf42e28793cfe9..0000000000000000000000000000000000000000
--- a/changelog.d/4586.misc
+++ /dev/null
@@ -1 +0,0 @@
-Clean up default listener configuration
diff --git a/changelog.d/4589.bugfix b/changelog.d/4589.bugfix
deleted file mode 100644
index d5783f46e87669bead1df888fb611c8c206d1924..0000000000000000000000000000000000000000
--- a/changelog.d/4589.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Synapse is now tolerant of the tls_fingerprints option being None or not specified.
diff --git a/changelog.d/4591.bugfix b/changelog.d/4591.bugfix
deleted file mode 100644
index 628bbb6d818ffee39ffbe9dbd2eb83021ea340c6..0000000000000000000000000000000000000000
--- a/changelog.d/4591.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix 'no unique or exclusion constraint' error
diff --git a/changelog.d/4592.feature b/changelog.d/4592.feature
deleted file mode 100644
index 112005ded4afdeb0e7e4fb930b9e702486f7d72d..0000000000000000000000000000000000000000
--- a/changelog.d/4592.feature
+++ /dev/null
@@ -1,2 +0,0 @@
-Allow the "unavailable" presence status for /sync.
-This change makes Synapse compliant with r0.4.0 of the Client-Server specification.
diff --git a/changelog.d/4607.misc b/changelog.d/4607.misc
deleted file mode 100644
index 160a8243781428c68efbc08222a85170fbdcf535..0000000000000000000000000000000000000000
--- a/changelog.d/4607.misc
+++ /dev/null
@@ -1 +0,0 @@
-Clarifications for reverse proxy docs
diff --git a/changelog.d/4608.bugfix b/changelog.d/4608.bugfix
deleted file mode 100644
index e331a362c473d8290bf0180d8b22c3ec555704d4..0000000000000000000000000000000000000000
--- a/changelog.d/4608.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Transfer Server ACLs on room upgrade.
\ No newline at end of file
diff --git a/changelog.d/4611.misc b/changelog.d/4611.misc
deleted file mode 100644
index d2e0a05daa39b8ce0887d864ef1a5b9bfb700b44..0000000000000000000000000000000000000000
--- a/changelog.d/4611.misc
+++ /dev/null
@@ -1 +0,0 @@
-Move ClientTLSOptionsFactory init out of refresh_certificates
diff --git a/changelog.d/4613.feature b/changelog.d/4613.feature
deleted file mode 100644
index 098f906af2e8f19e875f2ae3d51145385f70226e..0000000000000000000000000000000000000000
--- a/changelog.d/4613.feature
+++ /dev/null
@@ -1 +0,0 @@
-There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners
diff --git a/changelog.d/4614.feature b/changelog.d/4614.feature
deleted file mode 100644
index 18e16dbc7bd33a82d5fbfc39fc9f6908ef74060a..0000000000000000000000000000000000000000
--- a/changelog.d/4614.feature
+++ /dev/null
@@ -1 +0,0 @@
-The default configuration no longer requires TLS certificates.
diff --git a/changelog.d/4615.feature b/changelog.d/4615.feature
deleted file mode 100644
index 098f906af2e8f19e875f2ae3d51145385f70226e..0000000000000000000000000000000000000000
--- a/changelog.d/4615.feature
+++ /dev/null
@@ -1 +0,0 @@
-There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners
diff --git a/changelog.d/4616.misc b/changelog.d/4616.misc
deleted file mode 100644
index ee79e208e3f226a7ca17cdcd2c2ddea1f100b52a..0000000000000000000000000000000000000000
--- a/changelog.d/4616.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fail cleanly if listener config lacks a 'port'
diff --git a/changelog.d/4617.feature b/changelog.d/4617.feature
deleted file mode 100644
index 098f906af2e8f19e875f2ae3d51145385f70226e..0000000000000000000000000000000000000000
--- a/changelog.d/4617.feature
+++ /dev/null
@@ -1 +0,0 @@
-There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners
diff --git a/changelog.d/4618.bugfix b/changelog.d/4618.bugfix
deleted file mode 100644
index 22115a020e96af758d375299545666ebbfc44372..0000000000000000000000000000000000000000
--- a/changelog.d/4618.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix failure to start when not TLS certificate was given even if TLS was disabled.
diff --git a/changelog.d/4619.misc b/changelog.d/4619.misc
deleted file mode 100644
index 886fedf19801462767ac8e2c009feca82547a52c..0000000000000000000000000000000000000000
--- a/changelog.d/4619.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove redundant entries from docker config
diff --git a/changelog.d/4621.misc b/changelog.d/4621.misc
deleted file mode 100644
index 60e45cb70c297bf1e40f1eee598af9f8a4e9b838..0000000000000000000000000000000000000000
--- a/changelog.d/4621.misc
+++ /dev/null
@@ -1 +0,0 @@
-README updates
diff --git a/changelog.d/4625.bugfix b/changelog.d/4625.bugfix
deleted file mode 100644
index 3dc0ecf24c4af418b431848a08f509f626a3344a..0000000000000000000000000000000000000000
--- a/changelog.d/4625.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-fix self-signed cert notice from generate-config.
diff --git a/changelog.d/4626.bugfix b/changelog.d/4626.bugfix
deleted file mode 100644
index cc71df44cac8c8c2441692d4cda7a4a3c735a8fb..0000000000000000000000000000000000000000
--- a/changelog.d/4626.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix performance of 'user_ips' table deduplication background update
diff --git a/changelog.d/4627.bugfix b/changelog.d/4627.bugfix
deleted file mode 100644
index cc71df44cac8c8c2441692d4cda7a4a3c735a8fb..0000000000000000000000000000000000000000
--- a/changelog.d/4627.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix performance of 'user_ips' table deduplication background update
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 048d6e572fb39930eecb442d0a2c170570e3bbdd..c211cb4e6f472f1cee9f732f9c78165d4f3b7b29 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -27,4 +27,4 @@ try:
 except ImportError:
     pass
 
-__version__ = "0.99.0"
+__version__ = "0.99.1rc1"