diff --git a/CHANGES b/CHANGES
index 178fb8a2beda9329d948c3292e3c653640969b06..460f6f5af12bd00b3ffecfa7494dad25332e6b34 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,59 @@
 ===
 ==============================================================================
 
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 18.2.2 to Asterisk 18.3.0 ------------
+------------------------------------------------------------------------------
+
+app_mixmonitor
+------------------
+ * app_mixmonitor now sends manager events MixMonitorStart, MixMonitorStop and
+   MixMonitorMute when the channel monitoring is started, stopped and muted (or
+   unmuted) respectively.
+
+chan_iax2
+------------------
+ * You can now specify a default "auth" method in the
+   [general] section of iax.conf
+
+chan_pjsip, app_transfer
+------------------
+ * Added TRANSFERSTATUSPROTOCOL variable.  When transfer is performed,
+   transfers can pass a protocol specific error code.
+   Example, in SIP 3xx-6xx represent any SIP specific error received when
+   performing a REFER.
+
+func_odbc
+------------------
+ * Introduce an ARGC variable for func_odbc functions, along with a minargs
+   per-function configuration option.
+
+   minargs enables enforcing of minimum count of arguments to pass to
+   func_odbc, so if you're unconditionally using ARG1 through ARG4 then
+   this should be set to 4.  func_odbc will generate an error in this case,
+   so for example
+
+   [FOO]
+   minargs = 4
+
+   and ODBC_FOO(a,b,c) in dialplan will now error out instead of using a
+   potentially leaked ARG4 from Gosub().
+
+   ARGC is needed if you're using optional argument, to verify whether or
+   not an argument has been passed, else it's possible to use a leaked ARGn
+   from Gosub (app_stack).  So now you can safely do
+   ${IF($[${ARGC}>3]?${ARGV}:default value)} kind of thing.
+
+res_srtp
+------------------
+ * SRTP replay protection has been added to res_srtp and
+   a new configuration option "srtpreplayprotection" has
+   been added to the rtp.conf config file.  For security
+   reasons, the default setting is "yes".  Buggy clients
+   may not handle this correctly which could result in
+   no, or one way, audio and Asterisk error messages like
+   "replay check failed".
+
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 18.1.0 to Asterisk 18.2.0 ------------
 ------------------------------------------------------------------------------
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 68261ae7161533e993157e1cd1506df4115004c7..7db926f1b5cae712bb4a36912f239bac9b1479e6 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -18,6 +18,20 @@
 ===
 ===========================================================
 
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 18.2.2 to Asterisk 18.3.0 ------------
+------------------------------------------------------------------------------
+
+res_srtp
+------------------
+ * SRTP replay protection has been added to res_srtp and
+   a new configuration option "srtpreplayprotection" has
+   been added to the rtp.conf config file.  For security
+   reasons, the default setting is "yes".  Buggy clients
+   may not handle this correctly which could result in
+   no, or one way, audio and Asterisk error messages like
+   "replay check failed".
+
 ------------------------------------------------------------------------------
 --- New functionality introduced in Asterisk 18.0.0 --------------------------
 ------------------------------------------------------------------------------
diff --git a/doc/CHANGES-staging/app_transferprotocol.txt b/doc/CHANGES-staging/app_transferprotocol.txt
deleted file mode 100644
index 5d3521bbd45addbc48ab8d9f40cf640b90c5ebca..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/app_transferprotocol.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Subject: chan_pjsip, app_transfer
-
-Added TRANSFERSTATUSPROTOCOL variable.  When transfer is performed,
-transfers can pass a protocol specific error code.
-Example, in SIP 3xx-6xx represent any SIP specific error received when
-performing a REFER.
diff --git a/doc/CHANGES-staging/chan_iax2.txt b/doc/CHANGES-staging/chan_iax2.txt
deleted file mode 100644
index 4e1d84420436a4ba38d804f0b539e31701ff4993..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/chan_iax2.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Subject: chan_iax2
-
-You can now specify a default "auth" method in the
-[general] section of iax.conf
diff --git a/doc/CHANGES-staging/func_odbc_ARGC_minargs.txt b/doc/CHANGES-staging/func_odbc_ARGC_minargs.txt
deleted file mode 100644
index 0984b5022d1f14667a707d187ade341fdc0a4da1..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/func_odbc_ARGC_minargs.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Subject: func_odbc
-
-Introduce an ARGC variable for func_odbc functions, along with a minargs
-per-function configuration option.
-
-minargs enables enforcing of minimum count of arguments to pass to
-func_odbc, so if you're unconditionally using ARG1 through ARG4 then
-this should be set to 4.  func_odbc will generate an error in this case,
-so for example
-
-[FOO]
-minargs = 4
-
-and ODBC_FOO(a,b,c) in dialplan will now error out instead of using a
-potentially leaked ARG4 from Gosub().
-
-ARGC is needed if you're using optional argument, to verify whether or
-not an argument has been passed, else it's possible to use a leaked ARGn
-from Gosub (app_stack).  So now you can safely do
-${IF($[${ARGC}>3]?${ARGV}:default value)} kind of thing.
diff --git a/doc/CHANGES-staging/mixmonitor_manager_events.txt b/doc/CHANGES-staging/mixmonitor_manager_events.txt
deleted file mode 100644
index 64b63e52e795283df3f9d922cc15b5bab6d51d6b..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/mixmonitor_manager_events.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Subject: app_mixmonitor
-
-app_mixmonitor now sends manager events MixMonitorStart, MixMonitorStop and
-MixMonitorMute when the channel monitoring is started, stopped and muted (or
-unmuted) respectively.
diff --git a/doc/CHANGES-staging/srtp_replay_protection.txt b/doc/CHANGES-staging/srtp_replay_protection.txt
deleted file mode 100644
index 945ddb5704f9284d38212c41910d5704a2f82c4f..0000000000000000000000000000000000000000
--- a/doc/CHANGES-staging/srtp_replay_protection.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Subject: res_srtp
-
-SRTP replay protection has been added to res_srtp and
-a new configuration option "srtpreplayprotection" has
-been added to the rtp.conf config file.  For security
-reasons, the default setting is "yes".  Buggy clients
-may not handle this correctly which could result in
-no, or one way, audio and Asterisk error messages like
-"replay check failed".
diff --git a/doc/UPGRADE-staging/srtp_replay_protection.txt b/doc/UPGRADE-staging/srtp_replay_protection.txt
deleted file mode 100644
index 945ddb5704f9284d38212c41910d5704a2f82c4f..0000000000000000000000000000000000000000
--- a/doc/UPGRADE-staging/srtp_replay_protection.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Subject: res_srtp
-
-SRTP replay protection has been added to res_srtp and
-a new configuration option "srtpreplayprotection" has
-been added to the rtp.conf config file.  For security
-reasons, the default setting is "yes".  Buggy clients
-may not handle this correctly which could result in
-no, or one way, audio and Asterisk error messages like
-"replay check failed".