diff --git a/CHANGES.md b/CHANGES.md
index 458bbaf1180c668c962bc09fe3401e8b755c1e65..66991340a4ff054436341c5ccfdc32f4b15d737c 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,14 @@
+Synapse 0.99.0rc4 (2019-02-01)
+==============================
+
+Internal Changes
+----------------
+
+- Update federation routing logic to check .well-known before SRV ([\#4539](https://github.com/matrix-org/synapse/issues/4539))
+- Improve performance of handling servers with invalid .well-known ([\#4542](https://github.com/matrix-org/synapse/issues/4542))
+- Treat an invalid .well-known file the same as an absent one ([\#4544](https://github.com/matrix-org/synapse/issues/4544))
+
+
 Synapse 0.99.0rc3 (2019-01-31)
 ==============================
 
diff --git a/changelog.d/4539.misc b/changelog.d/4539.misc
deleted file mode 100644
index b222c8d23f755e9a52c27f4087b2c2dd05b36735..0000000000000000000000000000000000000000
--- a/changelog.d/4539.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update federation routing logic to check .well-known before SRV
diff --git a/changelog.d/4542.misc b/changelog.d/4542.misc
deleted file mode 100644
index 74c84e02092e24c3358b55ea3a903d05cdc48756..0000000000000000000000000000000000000000
--- a/changelog.d/4542.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of handling servers with invalid .well-known
diff --git a/changelog.d/4544.misc b/changelog.d/4544.misc
deleted file mode 100644
index b29fc8575c3dfb237efd72ebc0c5e2890e808093..0000000000000000000000000000000000000000
--- a/changelog.d/4544.misc
+++ /dev/null
@@ -1 +0,0 @@
-Treat an invalid .well-known file the same as an absent one
\ No newline at end of file
diff --git a/synapse/__init__.py b/synapse/__init__.py
index e5f680bb311a24a0d6b7374e17de0946686ddcf0..54745af2830130784df74e2c87ed24983e14c082 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -27,4 +27,4 @@ try:
 except ImportError:
     pass
 
-__version__ = "0.99.0rc3"
+__version__ = "0.99.0rc4"