diff --git a/CHANGES.md b/CHANGES.md
index 13239e3504f5b095dc06b0283d59444c5db93fbd..13d3654095b261ae8e2657e05687f261849bc047 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,18 @@
+Synapse 1.39.0rc2 (2021-07-22)
+==============================
+
+Bugfixes
+--------
+
+- Always include `device_one_time_keys_count` key in `/sync` response to work around a bug in Element Android that broke encryption for new devices. ([\#10457](https://github.com/matrix-org/synapse/issues/10457))
+
+
+Internal Changes
+----------------
+
+- Move docker image build to Github Actions. ([\#10416](https://github.com/matrix-org/synapse/issues/10416))
+
+
 Synapse 1.38.1 (2021-07-22)
 ===========================
 
diff --git a/changelog.d/10416.misc b/changelog.d/10416.misc
deleted file mode 100644
index fa648372f53eb7daf7f876aa8e33b4300aa9346a..0000000000000000000000000000000000000000
--- a/changelog.d/10416.misc
+++ /dev/null
@@ -1 +0,0 @@
-Move docker image build to Github Actions.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 46902adab5880422552b8011d4b447505a3cdfef..01d6bf17f000e6deed4befb3fe763e9a9ae2d13a 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.39.0rc1"
+__version__ = "1.39.0rc2"
 
 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