diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index bcb21414..d18ee425 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -1,3 +1,24 @@
+Version 2.3.4
+----
+* Enhancement
+ * When a play session starts, Shairport Sync opens three UDP ports to communicate with the source. Until now, those ports could be any high numbered port. Now, they are located within a range of 100 port locations starting at port 6001. The starting port and the port range are settable by two new general settings in `/etc/shairport-sync.conf` -- `udp_port_base` (default 6001) and `udp_port_range` (default 100). To retain the previous behaviour, set the `udp_port_base` to `0`.
+* Bugfixes
+ * Fix an out-of-stack-space error that can occur in certain cases (thanks to https://github.com/joerg-krause).
+ * Fix a couple of compiler warnings (thanks to https://github.com/joerg-krause).
+
+Version 2.3.3.2
+----
+* Bugfix -- fixed an error in the sample configuration file.
+
+Version 2.3.3.1
+----
+* Enhancement
+ * Metadata format has changed slightly -- the format of each item is now `- ..
...... `, where the `..` part is present if the length is non-zero. The change is that everything is now enclosed in an `- ..
` pair.
+
+Version 2.3.2 and 2.3.3
+----
+These releases were faulty and have been deleted.
+
Version 2.3.1
-----
Some big changes "under the hood" have been made, leading to limited support for unsynchronised output to `stdout` or to a named pipe and continuation of defacto support for unsynchronised PulseAudio. Also, support for a configuration file in preference to command line options, an option to ignore volume control and other improvements are provided.
diff --git a/configure.ac b/configure.ac
index 635ff6d9..d2f4771c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.50])
-AC_INIT([shairport-sync], [2.3.3], [mikebrady@eircom.net])
+AC_INIT([shairport-sync], [2.3.4], [mikebrady@eircom.net])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([shairport.c])
AC_CONFIG_HEADERS([config.h])
diff --git a/shairport.c b/shairport.c
index 2c5fcbdd..0eabc68f 100644
--- a/shairport.c
+++ b/shairport.c
@@ -372,7 +372,7 @@ int parse_options(int argc, char **argv) {
/* Get the udp port base setting. */
if (config_lookup_int(config.cfg, "general.udp_port_base", &value)) {
if ((value < 0) || (value > 65535))
- die("Invalid port number \"%sd\". It should be between 0 and 65535, default is 7000",
+ die("Invalid port number \"%sd\". It should be between 0 and 65535, default is 6001",
value);
else
config.udp_port_base = value;
@@ -624,7 +624,7 @@ int main(int argc, char **argv) {
set_requested_connection_state_to_output(
1); // we expect to be able to connect to the output device
config.audio_backend_buffer_desired_length = 6615; // 0.15 seconds.
- config.udp_port_base = 7000;
+ config.udp_port_base = 6001;
config.udp_port_range = 100;
// this is a bit weird, but apparently necessary