diff --git a/README.md b/README.md
index b3c0964..356784b 100644
--- a/README.md
+++ b/README.md
@@ -124,14 +124,14 @@
 
     -C, --linux-congestion    set congestion control algorithm (Linux only)
                               (-Z in iperf2)
-
+    --bidir                   bidirectional testing mode
+                              (-d in iperf2)
 
 Deprecated options:
 
 Not planning to support these iperf2 flags. If you really miss these
 options, please submit a request in the issue tracker:
 
-    -d, --dualtest           Do a bidirectional test simultaneously
     -r, --tradeoff           Do a bidirectional test individually
     -T, --ttl                time-to-live, for multicast (default 1)
     -x, --reportexclude [CDMSV]   exclude C(connection) D(data) M(multicast) 
diff --git a/RELEASE_NOTES b/RELNOTES.md
similarity index 87%
rename from RELEASE_NOTES
rename to RELNOTES.md
index 6d4b98b..ff02ba9 100644
--- a/RELEASE_NOTES
+++ b/RELNOTES.md
@@ -1,35 +1,74 @@
-== iperf 3.6 2018-06-25 ==
+iperf3 Release Notes
+====================
+
+iperf 3.7 2019-06-21
+--------------------
 
 * Notable user-visible changes
 
- * A new --extra-data option can be used to fill in a user-defined
-   string field that appears in JSON output.  (#600 / #729)
+  * Support for simultaneous bidirectional tests with the --bidir flag
+    (#201/#780).
 
- * A new --repeating-payload option makes iperf3 use a payload pattern
-   similar to that used by iperf2, which could help in recreating
-   results that might be affected by payload entropy (for example,
-   compression).  (#726)
+  * Use POSIX standard clock_gettime(3) interface for timekeeping where
+    available (#253/#738).
 
- * -B now works properly with SCTP tests.  (#678 / #715)
+  * Passwords for authentication can be provided via environment
+    variable (#815).
 
- * A compile fix for Solaris 10 was added.  (#711)
+  * Specifying --repeating-payload and --reverse now works (#867).
 
- * Some minor bug fixes for JSON output.  In particular, warnings for
-   debug and/or verbose modes with --json output (#737) and a fix for
-   JSON output on CentOS 6 (#727 / #744).
+  * Failed authentication doesn't count for --one-off (#864/#877).
 
- * software.es.net and downloads.es.net now support HTTPS, so URLs in
-   documentation that refer to those two hosts now use https://
-   instead of http:// URLs. (#759)
+  * Several memory leaks related to authenticated use were fixed
+    (#881/#888).
+
+  * The delay for tearing down the control connection for the default
+    timed tests has been increased, to more gracefully handle
+    high-delay paths (#751/#859).
 
 * Notable developer-visible changes
 
- * Functions related to authenticated iperf3 connections have been
-   exposed via libiperf.  (#712 / #713)
+  * Various improvements to the libiperf APIs (#767, #775, #869, #870,
+    #871)
 
- * The ToS byte is now exposed in the libiperf API. (#719)
+  * Fixed build behavior when OpenSSL is absent (#854).
 
-== iperf 3.5 2018-03-02 ==
+  * Portability fixes (#821/#874).
+
+iperf 3.6 2018-06-25
+--------------------
+
+* Notable user-visible changes
+
+  * A new --extra-data option can be used to fill in a user-defined
+    string field that appears in JSON output.  (#600 / #729)
+
+  * A new --repeating-payload option makes iperf3 use a payload pattern
+    similar to that used by iperf2, which could help in recreating
+    results that might be affected by payload entropy (for example,
+    compression).  (#726)
+
+  * -B now works properly with SCTP tests.  (#678 / #715)
+
+  * A compile fix for Solaris 10 was added.  (#711)
+
+  * Some minor bug fixes for JSON output.  In particular, warnings for
+    debug and/or verbose modes with --json output (#737) and a fix for
+    JSON output on CentOS 6 (#727 / #744).
+
+  * software.es.net and downloads.es.net now support HTTPS, so URLs in
+    documentation that refer to those two hosts now use https://
+    instead of http:// URLs. (#759)
+
+* Notable developer-visible changes
+
+  * Functions related to authenticated iperf3 connections have been
+    exposed via libiperf.  (#712 / #713)
+
+  * The ToS byte is now exposed in the libiperf API. (#719)
+
+iperf 3.5 2018-03-02
+--------------------
 
 * Notable user-visible changes
 
@@ -41,7 +80,8 @@
     paths.  Many thanks to @FuzzyStatic for providing access to a test
     environment for diagnosing this issue (#692).
 
-== iperf 3.4 2018-02-14 ==
+iperf 3.4 2018-02-14
+--------------------
 
 * Notable user-visible changes
 
@@ -80,7 +120,8 @@
     #668).  Also some code was cleaned up to eliminate (or at least
     reduce) compiler warnings (#664, #671).
 
-== iperf 3.3 2017-10-31 ==
+iperf 3.3 2017-10-31
+--------------------
 
 * Notable user-visible changes
 
@@ -109,7 +150,8 @@
 
 * Notable developer-visible changes
 
-== iperf 3.2 2017-06-26 ==
+iperf 3.2 2017-06-26
+--------------------
 
 * User-visible changes
 
@@ -196,13 +238,15 @@
 
   * Some dead code has been removed.
 
-== iperf 3.1.7 2017-03-06 ==
+iperf 3.1.7 2017-03-06
+----------------------
 
 iperf 3.1.7 is functionally identical to iperf 3.1.6.  Its only
 changes consist of updated documentation files and text in the RPM
 spec file.
 
-== iperf 3.1.6 2017-02-02 ==
+iperf 3.1.6 2017-02-02
+----------------------
 
 The release notes for iperf 3.1.6 describe changes, including bug
 fixes and new functionality, made since iperf 3.1.5.
@@ -217,7 +261,8 @@
   * Fixed a bug where two recently-added diagnostic messages spammed
     the JSON output on UDP tests.
 
-== iperf 3.1.5 2017-01-12 ==
+iperf 3.1.5 2017-01-12
+----------------------
 
 The release notes for iperf 3.1.5 describe changes, including bug
 fixes and new functionality, made since iperf 3.1.4.
@@ -273,7 +318,8 @@
 
   * A systemd service file has been added (#340, #430).
 
-== iperf 3.1.4 2016-10-31 ==
+iperf 3.1.4 2016-10-31
+----------------------
 
 The release notes for iperf 3.1.4 describe changes, including bug
 fixes and new functionality, made since iperf 3.1.3.
@@ -297,7 +343,8 @@
 
   * Various bug fixes (issue #459, pull request #429, issue #388).
 
-== iperf 3.1.3 2016-06-08 ==
+iperf 3.1.3 2016-06-08
+----------------------
 
 The release notes for iperf 3.1.3 describe changes, including bug
 fixes and new functionality, made since iperf 3.1.2.
@@ -335,7 +382,8 @@
 
   * Fixed various coding errors (issue #423, issue #425).
 
-== iperf 3.1.2 2016-02-01 ==
+iperf 3.1.2 2016-02-01
+----------------------
 
 The release notes for iperf 3.1.2 describe changes, including bug
 fixes and new functionality, made since iperf 3.1.1.
@@ -353,7 +401,8 @@
 
 * Developer-visible changes
 
-== iperf 3.1.1 2015-11-19 ==
+iperf 3.1.1 2015-11-19
+----------------------
 
 The release notes for iperf 3.1.1 describe changes and new
 functionality in iperf 3.1.1, but not present in 3.1.
@@ -374,7 +423,8 @@
   * A regression with C++ compatibility in one of the iperf header
     files has been fixed (issue #323).
 
-== iperf 3.1 2015-10-16 ==
+iperf 3.1 2015-10-16
+--------------------
 
 The release notes for iperf 3.1 describe changes and new
 functionality in iperf 3.1, but not present in 3.0.11 or any earlier
@@ -428,7 +478,8 @@
 
   * Out-of-tree builds now work (issue #265).
 
-== iperf 3.0.11 2015-01-09 ==
+iperf 3.0.11 2015-01-09
+-----------------------
 
 * User-visible changes
 
@@ -441,7 +492,8 @@
   * Added 30-second timeout for UDP tests if unable to establish UDP
     connectivity between sender and receiver (issue #222).
 
-== iperf 3.0.10 2014-12-16 ==
+iperf 3.0.10 2014-12-16
+-----------------------
 
 * User-visible changes
 
@@ -458,7 +510,8 @@
   * Fixed potential filename collision with a system header (issue
     #203).
 
-== iperf 3.0.9 2014-10-14 ==
+iperf 3.0.9 2014-10-14
+----------------------
 
 * User-visible changes
 
@@ -472,7 +525,8 @@
 
   * None.
 
-== iperf 3.0.8 2014-09-30 ==
+iperf 3.0.8 2014-09-30
+----------------------
 
 * User-visible changes
 
@@ -484,7 +538,8 @@
 
   * None.
 
-== iperf 3.0.7 2014-08-28 ==
+iperf 3.0.7 2014-08-28
+----------------------
 
 * User-visible changes
 
@@ -501,7 +556,8 @@
 
 * Developer-visible changes
 
-== iperf 3.0.6 2014-07-28 ==
+iperf 3.0.6 2014-07-28
+----------------------
 
 * User-visible changes
 
@@ -516,7 +572,8 @@
   * The {get,set}_test_bind_address API calls have been added to
     expose the -B functionality to API consumers (issue #197).
 
-== iperf 3.0.5 2014-06-16 ==
+iperf 3.0.5 2014-06-16
+----------------------
 
 * User-visible changes
 
@@ -550,9 +607,11 @@
     versions.  AM_MAINTAINER_MODE is now used to avoid requiring these
     tools at build-time.
 
-== iperf 3.0.4 was not released ==
+iperf 3.0.4 was not released
+----------------------------
 
-== iperf 3.0.3 2014-03-26 ==
+iperf 3.0.3 2014-03-26
+----------------------
 
 * User-visible changes
 
@@ -574,7 +633,8 @@
   * Example programs now build correctly, after having been broken in
     the 3.0.2 release (issue #152).
 
-== iperf 3.0.2 2014-03-10 ==
+iperf 3.0.2 2014-03-10
+----------------------
 
 * User-visible changes
 
@@ -619,7 +679,9 @@
     While technically an incompatible API change, the former behavior
     generated unusable JSON.
 
-== iperf 3.0.1 2014-01-10 ==
+iperf 3.0.1 2014-01-10
+----------------------
+
   * Added the following new flags
      -D, --daemon	       run server as a daemon
      -L, --flowlabel           set IPv6 flow label (Linux only)
@@ -628,7 +690,9 @@
      	 	      	       (instead of -t or -n)
   * Bug fixes
 
-== iperf 3.0-RC5 2013-11-15 ==
+iperf 3.0-RC5 2013-11-15
+------------------------
+
   * Added the following new flags
      -F, --file name           xmit/recv the specified file
      -A, --affinity n/n,m      set CPU affinity (Linux only)
@@ -640,7 +704,8 @@
   * Many bug fixes
 
 
-== iperf 3.0b4 2010-08-02 ==
+iperf 3.0b4 2010-08-02
+----------------------
 
   * Added support for binding to a specific interface (-B)
   * Added support for IPv6 mode (-6)
@@ -654,7 +719,8 @@
       * Support for decimal values
   * Many bug fixes
 
-== iperf 3.0b3 2010-07-23 ==
+iperf 3.0b3 2010-07-23
+----------------------
 
   * Better error handling
       * All errors now handled with iperf_error()
@@ -668,7 +734,8 @@
           * on_test_finish - executes after the test is finished
   * Added early support for verbose mode (-V)
 
-== iperf 3.0b2 2010-07-15 ==
+iperf 3.0b2 2010-07-15
+----------------------
 
   * UDP mode now supported
       * Support for setting bandwidth (-b)
@@ -678,7 +745,8 @@
   * Support for setting TCP MSS (-M)
       * Note: This feature is still in development. It is still very buggy.
 
-== iperf 3.0b1 2010-07-08 ==
+iperf 3.0b1 2010-07-08
+----------------------
 
   * TCP control socket now manages messages between client and server
   * Dynamic server (gets test parameters from client)
diff --git a/configure b/configure
index 679da39..c9e1015 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for iperf 3.6+.
+# Generated by GNU Autoconf 2.69 for iperf 3.7.
 #
 # Report bugs to <https://github.com/esnet/iperf>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='iperf'
 PACKAGE_TARNAME='iperf'
-PACKAGE_VERSION='3.6+'
-PACKAGE_STRING='iperf 3.6+'
+PACKAGE_VERSION='3.7'
+PACKAGE_STRING='iperf 3.7'
 PACKAGE_BUGREPORT='https://github.com/esnet/iperf'
 PACKAGE_URL='https://software.es.net/iperf/'
 
@@ -1324,7 +1324,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures iperf 3.6+ to adapt to many kinds of systems.
+\`configure' configures iperf 3.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1394,7 +1394,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of iperf 3.6+:";;
+     short | recursive ) echo "Configuration of iperf 3.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1510,7 +1510,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-iperf configure 3.6+
+iperf configure 3.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1879,7 +1879,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by iperf $as_me 3.6+, which was
+It was created by iperf $as_me 3.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2811,7 +2811,7 @@
 
 # Define the identity of the package.
  PACKAGE='iperf'
- VERSION='3.6+'
+ VERSION='3.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13724,7 +13724,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by iperf $as_me 3.6+, which was
+This file was extended by iperf $as_me 3.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13791,7 +13791,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-iperf config.status 3.6+
+iperf config.status 3.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index cea094a..0ff6549 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@
 # file for complete information.
 
 # Initialize the autoconf system for the specified tool, version and mailing list
-AC_INIT(iperf, 3.6+, https://github.com/esnet/iperf, iperf, https://software.es.net/iperf/)
+AC_INIT(iperf, 3.7, https://github.com/esnet/iperf, iperf, https://software.es.net/iperf/)
 m4_include([config/ax_check_openssl.m4])
 AC_LANG(C)
 
