diff --git a/CHANGES b/CHANGES
index f02db0179f981f6b862a7e078cc0b751a6a257be..401a886c62a1ee554248fac2df15b4a0a65bd047 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,72 @@
 ===
 ==============================================================================
 
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 20.1.0 to Asterisk 20.2.0 ------------
+------------------------------------------------------------------------------
+
+app_broadcast
+------------------
+ * A Broadcast application is now available which allows
+   for asynchronous one-to-many and many-to-one channel audio.
+
+app_directory
+------------------
+ * A new option 's' has been added to the Directory() application that
+   will skip calling the extension and instead set the extension as
+   DIRECTORY_EXTEN channel variable.
+
+app_read
+------------------
+ * A new option 'e' has been added to allow Read() to return the
+   terminator as the dialed digits in the case where only the terminator
+   is entered.
+
+app_senddtmf
+------------------
+ * A new option has been added to SendDTMF() which will answer the
+   specified channel if it is not already up. If no channel is specified,
+   the current channel will be answered instead.
+
+app_signal
+------------------
+ * Adds Signal and WaitForSignal applications
+   which can be used for signaling or as a
+   simple message queue in the dialplan.
+
+func_json
+------------------
+ * Additional parsing capabilities have been added to the
+   JSON_DECODE function, including support for arrays
+   and recursive indexing.
+
+res_phoneprov
+------------------
+ * On multihomed Asterisk servers with dynamic SERVER template variables,
+   reloading this module is no longer required when re-provisioning your
+   phone to another interface address (e.g. when moving between VLANs.)
+
+res_pjsip_rfc3326
+------------------
+ * Add ability to set HANGUPCAUSE when SIP causecode received in BYE Reason header (in
+   addition to currently supported Q.850). The first header found will be used to set
+   the HANGUPCAUSE variable.
+
+res_pjsip_session
+------------------
+ * The overlap_context option now allows explicitly
+   specifying a context to use for overlap dialing matches.
+
+res_rtp_asterisk
+------------------
+ * This module has been updated to provide additional
+   quality statistics in the form of an Asterisk
+   Media Experience Score.  The score is available using
+   the same mechanisms you'd use to retrieve jitter, loss,
+   and rtt statistics.  For more information about the
+   score and how to retrieve it, see
+   https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
+
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 20.0.0 to Asterisk 20.1.0 ------------
 ------------------------------------------------------------------------------
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 42fff46bd8bcab70c1af21e24ea3ba974902b1ac..972e4fb17a4a7e69dc55d0b4725ddcc04d46b01c 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -18,6 +18,19 @@
 ===
 ===========================================================
 
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 20.1.0 to Asterisk 20.2.0 ------------
+------------------------------------------------------------------------------
+
+app_playback
+------------------
+ * In Asterisk 11, if a channel was redirected away during Playback(),
+   the PLAYBACKSTATUS variable would be set to SUCCESS. In Asterisk 12
+   (specifically commit 7d9871b3940fa50e85039aef6a8fb9870a7615b9) that
+   behavior was inadvertently changed and the same operation would result
+   in the PLAYBACKSTATUS variable being set to FAILED. The Asterisk 11
+   behavior has been restored.
+
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 20.0.0 to Asterisk 20.1.0 ------------
 ------------------------------------------------------------------------------
diff --git a/doc/CHANGES-staging/app_broadcast.txt b/doc/CHANGES-staging/app_broadcast.txt
deleted file mode 100644
index 03e68483624ee32f343446ea8d3c4f2e57934b2d..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_broadcast.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Subject: app_broadcast
-
-A Broadcast application is now available which allows
-for asynchronous one-to-many and many-to-one channel audio.
diff --git a/doc/CHANGES-staging/app_directory_skip_call.txt b/doc/CHANGES-staging/app_directory_skip_call.txt
deleted file mode 100644
index 83687fe3f9c2d56e036d48980c5b1cc9781d109f..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_directory_skip_call.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: app_directory
-
-A new option 's' has been added to the Directory() application that
-will skip calling the extension and instead set the extension as
-DIRECTORY_EXTEN channel variable.
diff --git a/doc/CHANGES-staging/app_read_return_terminator.txt b/doc/CHANGES-staging/app_read_return_terminator.txt
deleted file mode 100644
index 2987f77ea7ca0ae7f19b18449deac4d6be480507..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_read_return_terminator.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: app_read
-
-A new option 'e' has been added to allow Read() to return the
-terminator as the dialed digits in the case where only the terminator
-is entered.
diff --git a/doc/CHANGES-staging/app_senddtmf_answer.txt b/doc/CHANGES-staging/app_senddtmf_answer.txt
deleted file mode 100644
index 76811e3a7fc6700be528aa6811d7f24535ac836e..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_senddtmf_answer.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: app_senddtmf
-
-A new option has been added to SendDTMF() which will answer the
-specified channel if it is not already up. If no channel is specified,
-the current channel will be answered instead.
diff --git a/doc/CHANGES-staging/app_signal.txt b/doc/CHANGES-staging/app_signal.txt
deleted file mode 100644
index b3b108d82101dfefbe35df119f0f75679394c8ad..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_signal.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: app_signal
-
-Adds Signal and WaitForSignal applications
-which can be used for signaling or as a
-simple message queue in the dialplan.
diff --git a/doc/CHANGES-staging/func_json_additions.txt b/doc/CHANGES-staging/func_json_additions.txt
deleted file mode 100644
index 963f0b18e2517bcabeb15171bd2c29b5afbc97b3..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/func_json_additions.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: func_json
-
-Additional parsing capabilities have been added to the
-JSON_DECODE function, including support for arrays
-and recursive indexing.
diff --git a/doc/CHANGES-staging/res_phoneprov_multihomed_server.txt b/doc/CHANGES-staging/res_phoneprov_multihomed_server.txt
deleted file mode 100644
index ff68014570731ea44d3deec1670641ec27919f71..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/res_phoneprov_multihomed_server.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: res_phoneprov
-
-On multihomed Asterisk servers with dynamic SERVER template variables,
-reloading this module is no longer required when re-provisioning your
-phone to another interface address (e.g. when moving between VLANs.)
diff --git a/doc/CHANGES-staging/res_pjsip_session_overlap.txt b/doc/CHANGES-staging/res_pjsip_session_overlap.txt
deleted file mode 100644
index 5523f3c08666425dbc5a9b0f1ee41405ad1fa7a7..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/res_pjsip_session_overlap.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Subject: res_pjsip_session
-
-The overlap_context option now allows explicitly
-specifying a context to use for overlap dialing matches.
diff --git a/doc/CHANGES-staging/res_rtp_asterisk.txt b/doc/CHANGES-staging/res_rtp_asterisk.txt
deleted file mode 100644
index 9c8e05f0b6da5642583df8153139814667afa65f..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/res_rtp_asterisk.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Subject: res_rtp_asterisk
-
-This module has been updated to provide additional
-quality statistics in the form of an Asterisk
-Media Experience Score.  The score is available using
-the same mechanisms you'd use to retrieve jitter, loss,
-and rtt statistics.  For more information about the
-score and how to retrieve it, see
-https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
diff --git a/doc/CHANGES-staging/res_rtp_rfc3326_sip.txt b/doc/CHANGES-staging/res_rtp_rfc3326_sip.txt
deleted file mode 100644
index 62a73925ca1afeac8aca4c76870e58ac21265856..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/res_rtp_rfc3326_sip.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: res_pjsip_rfc3326
-
-Add ability to set HANGUPCAUSE when SIP causecode received in BYE Reason header (in
-addition to currently supported Q.850). The first header found will be used to set
-the HANGUPCAUSE variable.
diff --git a/doc/UPGRADE-staging/app_playback_playbackstatus.txt b/doc/UPGRADE-staging/app_playback_playbackstatus.txt
deleted file mode 100644
index 49302b79668a3797329f06dc24eb49ab10f3e741..0000000000000000000000000000000000000000
--- a/doc/UPGRADE-staging/app_playback_playbackstatus.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Subject: app_playback
-
-In Asterisk 11, if a channel was redirected away during Playback(),
-the PLAYBACKSTATUS variable would be set to SUCCESS. In Asterisk 12
-(specifically commit 7d9871b3940fa50e85039aef6a8fb9870a7615b9) that
-behavior was inadvertently changed and the same operation would result
-in the PLAYBACKSTATUS variable being set to FAILED. The Asterisk 11
-behavior has been restored.