diff --git a/CHANGELOG b/CHANGELOG
index afa49472da87088108682979f109b6c2d7bd351f..18fccc4c718511c0e0f60ba6808031e78d50d302 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,6 +10,71 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.
 
 .. towncrier
 
+0.20.1 (2019-10-28)
+-------------------
+
+Upgrade instructions are available at
+https://docs.funkwhale.audio/index.html
+
+
+Denormalized audio permission logic in a separate table to enhance performance
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+With this release, we're introducing a performance enhancement that should reduce the load on the database and API
+servers (cf https://dev.funkwhale.audio/funkwhale/funkwhale/merge_requests/939).
+
+Under the hood, we now maintain a separate table to link users to the tracks they are allowed to see. This change is **disabled**
+by default, but should be enabled by default starting in Funkwhale 0.21.
+
+If you want to try it now, add
+``MUSIC_USE_DENORMALIZATION=True`` to your ``.env`` file, restart Funkwhale, and run the following command::
+
+    python manage.py rebuild_music_permissions
+
+This shouldn't cause any regression, but we'd appreciate if you could test this before the 0.21 release and report any unusual
+behaviour regarding tracks, albums and artists visibility.
+
+
+Enhancements:
+
+- Added a retry option for failed uploads (#942)
+- Added feedback via loading spinner when searching a remote library
+- Denormalized audio permission logic in a separate table to enhance performance
+- Placeholders will now be shown if no content is available across the application (#750)
+- Reduce the number of simultaneous DB connections under some deployment scenario
+- Support byYear filtering in Subsonic API (#936)
+
+
+Bugfixes:
+
+- Ensure password input doesn't overflow outside of container (#933)
+- Fix audio serving issues under S3/nginx when signatures are enabled
+- Fix import crash when importing M4A file with no embedded cover (#946)
+- Fix tag exclusion in custom radios (#950)
+- Fixed an issue with embed player CSS being purged during build (#935)
+- Fixed escaped pod name displayed on home/about page (#945)
+- Fixed pagination in subsonic getSongsByGenre endpoint (#954)
+- Fixed style glitches in dropdowns
+
+
+Documentation:
+
+- Documented how to create DB extension by hand in case of permission error during migrations (#934)
+
+
+Contributors to this release (translation, development, documentation, reviews, design):
+
+- Ciarán Ainsworth
+- Dag Stenstad
+- Daniele Lira Mereb
+- Eliot Berriot
+- Esteban
+- Johannes H.
+- knuxify
+- Mateus Mattei Garcia
+- Quentin PAGÈS
+
+
 0.20 (2019-10-04)
 -----------------
 
diff --git a/api/funkwhale_api/__init__.py b/api/funkwhale_api/__init__.py
index 8f0e0937d865cdbf43e6793aea4a82351d5be062..601359964b11575601959cd830e4edc399a290ff 100644
--- a/api/funkwhale_api/__init__.py
+++ b/api/funkwhale_api/__init__.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-__version__ = "0.20.0"
+__version__ = "0.20.1"
 __version_info__ = tuple(
     [
         int(num) if num.isdigit() else num
diff --git a/changes/changelog.d/750.enhancement b/changes/changelog.d/750.enhancement
deleted file mode 100644
index 5c66ad1627dac6f7864b3212b160f99e91ef8dc7..0000000000000000000000000000000000000000
--- a/changes/changelog.d/750.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Placeholders will now be shown if no content is available across the application (#750)
\ No newline at end of file
diff --git a/changes/changelog.d/933.bugfix b/changes/changelog.d/933.bugfix
deleted file mode 100644
index ff8712be21d498316605bd7b961093d757071764..0000000000000000000000000000000000000000
--- a/changes/changelog.d/933.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Ensure password input doesn't overflow outside of container (#933)
diff --git a/changes/changelog.d/934.doc b/changes/changelog.d/934.doc
deleted file mode 100644
index 4b319c92214cbc20e4fedaed7be5f8b4b3f9325e..0000000000000000000000000000000000000000
--- a/changes/changelog.d/934.doc
+++ /dev/null
@@ -1 +0,0 @@
-Documented how to create DB extension by hand in case of permission error during migrations (#934)
diff --git a/changes/changelog.d/935.bugfix b/changes/changelog.d/935.bugfix
deleted file mode 100644
index a7fa51db482a04ded5541eb805363eb2b8b5dafd..0000000000000000000000000000000000000000
--- a/changes/changelog.d/935.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixed an issue with embed player CSS being purged during build (#935)
\ No newline at end of file
diff --git a/changes/changelog.d/936.enhancement b/changes/changelog.d/936.enhancement
deleted file mode 100644
index 2c16ffe542f9b83a35da18f429d66bc04a9f8937..0000000000000000000000000000000000000000
--- a/changes/changelog.d/936.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Support byYear filtering in Subsonic API (#936)
diff --git a/changes/changelog.d/942.enhancement b/changes/changelog.d/942.enhancement
deleted file mode 100644
index 66a1bfff3ff99b1b6c25fab20f6a7cefece74ba5..0000000000000000000000000000000000000000
--- a/changes/changelog.d/942.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Added a retry option for failed uploads (#942)
diff --git a/changes/changelog.d/945.bugfix b/changes/changelog.d/945.bugfix
deleted file mode 100644
index ef46473d16e2af74e3924c321e12f7bd0f100186..0000000000000000000000000000000000000000
--- a/changes/changelog.d/945.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixed escaped pod name displayed on home/about page (#945)
diff --git a/changes/changelog.d/946.bugfix b/changes/changelog.d/946.bugfix
deleted file mode 100644
index 9f69983065628371c9e895321b824a238f95fa51..0000000000000000000000000000000000000000
--- a/changes/changelog.d/946.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix import crash when importing M4A file with no embedded cover (#946)
diff --git a/changes/changelog.d/950.bugfix b/changes/changelog.d/950.bugfix
deleted file mode 100644
index c1195739e41c8e147972184022722c66ed400dd3..0000000000000000000000000000000000000000
--- a/changes/changelog.d/950.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix tag exclusion in custom radios (#950)
diff --git a/changes/changelog.d/954.bugfix b/changes/changelog.d/954.bugfix
deleted file mode 100644
index eacb9603af97dc5cc913b26124c97286c4da4d46..0000000000000000000000000000000000000000
--- a/changes/changelog.d/954.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixed pagination in subsonic getSongsByGenre endpoint (#954)
diff --git a/changes/changelog.d/css-dropdown.bugfix b/changes/changelog.d/css-dropdown.bugfix
deleted file mode 100644
index 259731bdd30d9433adcb40a2a17e69909c25c59a..0000000000000000000000000000000000000000
--- a/changes/changelog.d/css-dropdown.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fixed style glitches in dropdowns
diff --git a/changes/changelog.d/db.enhancement b/changes/changelog.d/db.enhancement
deleted file mode 100644
index da25ea858b650aa03228435a25962782ab2c6ce5..0000000000000000000000000000000000000000
--- a/changes/changelog.d/db.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Reduce the number of simultaneous DB connections under some deployment scenario
diff --git a/changes/changelog.d/denormalization.enhancement b/changes/changelog.d/denormalization.enhancement
deleted file mode 100644
index 57b750a4fdfb86e4d739eeff8a788d0437e357f5..0000000000000000000000000000000000000000
--- a/changes/changelog.d/denormalization.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Denormalized audio permission logic in a separate table to enhance performance
diff --git a/changes/changelog.d/s3-proxy.bugfix b/changes/changelog.d/s3-proxy.bugfix
deleted file mode 100644
index 0afe65caf140593f4fab33f26cdad73f8b48fc63..0000000000000000000000000000000000000000
--- a/changes/changelog.d/s3-proxy.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix audio serving issues under S3/nginx when signatures are enabled
diff --git a/changes/changelog.d/search-remote.enhancement b/changes/changelog.d/search-remote.enhancement
deleted file mode 100644
index 0ddde5f3ca42886ec8154da30d4b7af8cfb4596a..0000000000000000000000000000000000000000
--- a/changes/changelog.d/search-remote.enhancement
+++ /dev/null
@@ -1 +0,0 @@
-Added feedback via loading spinner when searching a remote library
diff --git a/changes/notes.rst b/changes/notes.rst
index 6a37478e29cf6ed04e4555644f8b11138cee0c7d..96ac3d7651f92166072a2fb200c0dd57606851e3 100644
--- a/changes/notes.rst
+++ b/changes/notes.rst
@@ -5,20 +5,3 @@ Next release notes
 
     Those release notes refer to the current development branch and are reset
     after each release.
-
-Denormalized audio permission logic in a separate table to enhance performance
-------------------------------------------------------------------------------
-
-With this release, we're introducing a performance enhancement that should drastically reduce the load on the database and API
-servers (cf https://dev.funkwhale.audio/funkwhale/funkwhale/merge_requests/939).
-
-Under the hood, we now maintain a separate table to link users to the tracks they are allowed to see. This change is **disabled**
-by default, but will be enabled by default starting in Funkwhale 0.21.
-
-If you want to try it now, add
-``MUSIC_USE_DENORMALIZATION=True`` to your ``.env`` file, restart Funkwhale, and run the following command::
-
-    python manage.py rebuild_music_permissions
-
-This shouldn't cause any regression, but we'd appreciate if you could test this before the 0.21 release and report any unusual
-behaviour regarding tracks, albums and artists visibility.