Annotation of embedaddon/iperf/RELNOTES.md, revision 1.1

1.1     ! misho       1: iperf3 Release Notes
        !             2: ====================
        !             3: 
        !             4: iperf 3.9 2020-08-17
        !             5: --------------------
        !             6: 
        !             7: * Notable user-visible changes
        !             8: 
        !             9:   * A --timestamps flag has been added, which prepends a timestamp to
        !            10:     each output line.  An optional argument to this flag, which is a
        !            11:     format specification to strftime(3), allows for custom timestamp
        !            12:     formats (#909, #1028).
        !            13: 
        !            14:   * A --server-bitrate-limit flag has been added as a server-side
        !            15:     command-line argument.  It allows a server to enforce a maximum
        !            16:     throughput rate; client connections that specify a higher bitrate
        !            17:     or exceed this bitrate during a test will be terminated.  The
        !            18:     bitrate is expressed in bits per second, with an optional trailing
        !            19:     slash and integer count that specifies an averaging interval over
        !            20:     which to enforce the limit (#999).
        !            21: 
        !            22:   * A bug that caused increased CPU usage with the --bidir option has
        !            23:     been fixed (#1011).
        !            24: 
        !            25: * Notable developer-visible changes
        !            26: 
        !            27:   * Fixed various minor memory leaks (#1023).
        !            28: 
        !            29: iperf 3.8.1 2020-06-10
        !            30: ----------------------
        !            31: 
        !            32: * Notable user-visible changes
        !            33: 
        !            34:   * A regression with "make install", where the libiperf shared
        !            35:     library files were not getting installed, has been fixed (#1013 /
        !            36:     #1014).
        !            37: 
        !            38: iperf 3.8 2020-06-08
        !            39: --------------------
        !            40: 
        !            41: * Notable user-visible changes
        !            42: 
        !            43:   * Profiled libraries and binaries are no longer built by default
        !            44:     (#950).
        !            45: 
        !            46:   * A minimal Dockerfile has been added (#824).
        !            47: 
        !            48:   * A bug with burst mode and unlimited rate has been fixed (#898).
        !            49: 
        !            50:   * Configuring with the --enable-static-bin flag will now cause
        !            51:     a statically-linked iperf3 binary to be built (#989).
        !            52: 
        !            53:   * Configuring with the --without-sctp flag will now prevent SCTP
        !            54:     from being auto-detected (#1008).  This flag allows building a
        !            55:     static binary (see above item) on a CentOS system with SCTP
        !            56:     installed, because no static SCTP libraries are available.
        !            57: 
        !            58:   * Clock skew between the iperf3 client and server will no longer
        !            59:     skew the computation of jitter during UDP tests (#842 / #990).
        !            60: 
        !            61:   * A possible buffer overflow in the authentication feature has been
        !            62:     fixed.  This was only relevant when configuration authentication
        !            63:     using the libiperf3 API, and did not affect command-line usage.
        !            64:     Various other improvements and fixes in this area were also made
        !            65:     (#996).
        !            66: 
        !            67: * Notable developer-visible changes
        !            68: 
        !            69:   * The embedded version of cJSON has been updated to 1.7.13 (#978).
        !            70: 
        !            71:   * Some server authentication functions have been added to the API
        !            72:     (#911).
        !            73: 
        !            74:   * API access has been added to the connection timeout parameter
        !            75:     (#1001).
        !            76: 
        !            77:   * Tests for some authentication functions have been added.
        !            78: 
        !            79:   * Various compiler errors and warnings have been fixed.
        !            80: 
        !            81: iperf 3.7 2019-06-21
        !            82: --------------------
        !            83: 
        !            84: * Notable user-visible changes
        !            85: 
        !            86:   * Support for simultaneous bidirectional tests with the --bidir flag
        !            87:     (#201/#780).
        !            88: 
        !            89:   * Use POSIX standard clock_gettime(3) interface for timekeeping where
        !            90:     available (#253/#738).
        !            91: 
        !            92:   * Passwords for authentication can be provided via environment
        !            93:     variable (#815).
        !            94: 
        !            95:   * Specifying --repeating-payload and --reverse now works (#867).
        !            96: 
        !            97:   * Failed authentication doesn't count for --one-off (#864/#877).
        !            98: 
        !            99:   * Several memory leaks related to authenticated use were fixed
        !           100:     (#881/#888).
        !           101: 
        !           102:   * The delay for tearing down the control connection for the default
        !           103:     timed tests has been increased, to more gracefully handle
        !           104:     high-delay paths (#751/#859).
        !           105: 
        !           106: * Notable developer-visible changes
        !           107: 
        !           108:   * Various improvements to the libiperf APIs (#767, #775, #869, #870,
        !           109:     #871)
        !           110: 
        !           111:   * Fixed build behavior when OpenSSL is absent (#854).
        !           112: 
        !           113:   * Portability fixes (#821/#874).
        !           114: 
        !           115: iperf 3.6 2018-06-25
        !           116: --------------------
        !           117: 
        !           118: * Notable user-visible changes
        !           119: 
        !           120:   * A new --extra-data option can be used to fill in a user-defined
        !           121:     string field that appears in JSON output.  (#600 / #729)
        !           122: 
        !           123:   * A new --repeating-payload option makes iperf3 use a payload pattern
        !           124:     similar to that used by iperf2, which could help in recreating
        !           125:     results that might be affected by payload entropy (for example,
        !           126:     compression).  (#726)
        !           127: 
        !           128:   * -B now works properly with SCTP tests.  (#678 / #715)
        !           129: 
        !           130:   * A compile fix for Solaris 10 was added.  (#711)
        !           131: 
        !           132:   * Some minor bug fixes for JSON output.  In particular, warnings for
        !           133:     debug and/or verbose modes with --json output (#737) and a fix for
        !           134:     JSON output on CentOS 6 (#727 / #744).
        !           135: 
        !           136:   * software.es.net and downloads.es.net now support HTTPS, so URLs in
        !           137:     documentation that refer to those two hosts now use https://
        !           138:     instead of http:// URLs. (#759)
        !           139: 
        !           140: * Notable developer-visible changes
        !           141: 
        !           142:   * Functions related to authenticated iperf3 connections have been
        !           143:     exposed via libiperf.  (#712 / #713)
        !           144: 
        !           145:   * The ToS byte is now exposed in the libiperf API. (#719)
        !           146: 
        !           147: iperf 3.5 2018-03-02
        !           148: --------------------
        !           149: 
        !           150: * Notable user-visible changes
        !           151: 
        !           152:   * iperf3 no longer counts data received after the end of a test in
        !           153:     the bytecounts.  This fixes a bug that could, under some
        !           154:     conditions, artificially inflate the transfer size and measured
        !           155:     bitrate.  This bug was most noticeable on reverse direction
        !           156:     transfers on short tests over high-latency or buffer-bloated
        !           157:     paths.  Many thanks to @FuzzyStatic for providing access to a test
        !           158:     environment for diagnosing this issue (#692).
        !           159: 
        !           160: iperf 3.4 2018-02-14
        !           161: --------------------
        !           162: 
        !           163: * Notable user-visible changes
        !           164: 
        !           165:   * The -A (set processor affinity) command-line flag is now supported
        !           166:     on Windows (#665).
        !           167: 
        !           168:   * iperf3 now builds on systems lacking a daemon(3) library call
        !           169:     (#369).
        !           170: 
        !           171:   * A bug in time skew checking under authentication was fixed (#674).
        !           172: 
        !           173:   * IPv6 flow labels now work correctly with multiple parallel streams
        !           174:     (#694).
        !           175: 
        !           176:   * The client no longer closes its control connection before sending
        !           177:     end-of-test statistics to the server (#677). This fixes a
        !           178:     regression introduced in iperf-3.2.
        !           179: 
        !           180:   * Sending output to stdout now makes errors go to stderr, as per
        !           181:     UNIX convention (#695).
        !           182: 
        !           183:   * A server side crash in verbose output with a client running
        !           184:     multiple parallel connections has been fixed (#686).
        !           185: 
        !           186:   * The --cport option can now be specified without the --bind option.
        !           187:     Using the --cport option on Linux can eliminate a problem with
        !           188:     ephemeral port number allocation that can make multi-stream iperf3
        !           189:     tests perform very poorly on LAGG links.  Also, the --cport option
        !           190:     now works on SCTP tests (#697).
        !           191: 
        !           192: * Notable developer-visible changes
        !           193: 
        !           194:   * iperf3 now builds on (some) macOS systems older than 10.7 (#607).
        !           195: 
        !           196:   * Some unused code and header inclusions were eliminated (#667,
        !           197:     #668).  Also some code was cleaned up to eliminate (or at least
        !           198:     reduce) compiler warnings (#664, #671).
        !           199: 
        !           200: iperf 3.3 2017-10-31
        !           201: --------------------
        !           202: 
        !           203: * Notable user-visible changes
        !           204: 
        !           205:   * iperf3 can now be built --without-openssl on systems where OpenSSL
        !           206:     is present (#624, #633).
        !           207: 
        !           208:   * A bug with printing very large numbers has been fixed (#642).
        !           209: 
        !           210:   * A bug where the server would, under certain circumstances, halt a
        !           211:     test after exactly fifteen seconds has been fixed (#645).
        !           212: 
        !           213:   * The --tos parameter is no longer "sticky" between tests when doing
        !           214:     --reverse tests (#639).
        !           215: 
        !           216:   * The authentication token on the server is properly reset between
        !           217:     tests (#650).
        !           218: 
        !           219:   * A bug that could cause iperf3 to overwrite the PID file of an
        !           220:     already-existing iperf3 process has been fixed (#623).
        !           221: 
        !           222:   * iperf3 will now ignore nonsensical TCP MSS values (from the TCP
        !           223:     control connection) when trying to determine a reasonable block
        !           224:     size for UDP tests.  This condition primarily affected users on
        !           225:     Windows, but potentially improves robustness for all
        !           226:     platforms. (#659)
        !           227: 
        !           228: * Notable developer-visible changes
        !           229: 
        !           230: iperf 3.2 2017-06-26
        !           231: --------------------
        !           232: 
        !           233: * User-visible changes
        !           234: 
        !           235:   * Authentication via a username/password mechanism, coupled with a
        !           236:     public-key pair, is now an optional way of limiting access to an
        !           237:     iperf3 server (#517).
        !           238: 
        !           239:   * Ending statistics are less ambiguous for UDP and also now use
        !           240:     correct test durations for all protocols (#560, #238).  Many fixes
        !           241:     have been made in statistics printing code, generally for
        !           242:     human-readable output (#562, #575, #252, #443, #236).
        !           243: 
        !           244:   * Several problems with the -F/--file options have been fixed.
        !           245:     Documentation has been improved to note some ways in which this
        !           246:     feature might not behave as expected (#588).
        !           247: 
        !           248:   * iperf3 now uses the correct "bitrate" phraseology rather than
        !           249:     "bandwidth" when describing measurement results.  The --bandwidth
        !           250:     option has been renamed --bitrate, although --bandwidth is still
        !           251:     accepted for backwards compatibility (#583).
        !           252: 
        !           253:   * Application-level bandwidth pacing (--bitrate option) is now
        !           254:     checked every millisecond by default, instead of of every tenth of
        !           255:     a second, to provide smoother traffic behavior when using
        !           256:     application pacing (#460).  The pacing can be tuned via the use of
        !           257:     the --pacing-timer option (#563).
        !           258: 
        !           259:   * A new --dscp option allows specifying the DSCP value to be used
        !           260:     for outgoing packets (#508).  The TOS byte value is now printed in
        !           261:     the JSON output (#226).
        !           262: 
        !           263:   * Congestion window data on FreeBSD is now computed correctly (#465,
        !           264:     #475, #338).
        !           265: 
        !           266:   * The T/t suffixes for terabytes/terabits are now accepted for
        !           267:     quantities where suffixes are supported, such as --bandwidth
        !           268:     (#402).
        !           269: 
        !           270:   * Sanity checks for UDP send sizes have been added (#390), and
        !           271:     existing checks on the --window option have been improved (#557).
        !           272: 
        !           273:   * The TCP rttvar value is now available in the JSON output (#534), as are
        !           274:     the socket buffer sizes (#558).
        !           275: 
        !           276:   * Error handling and documentation have been improved for the
        !           277:     -f/--format options (#568).
        !           278: 
        !           279:   * A new --connect-timeout option on the client allows specifying a
        !           280:     length of time that the client will attempt to connect to the
        !           281:     server, in milliseconds (#216).
        !           282: 
        !           283:   * The hostname and current timestamp are no longer used in the
        !           284:     cookie used to associate the client and server.  Instead, random
        !           285:     data is used.  Note that iperf3 now requires the /dev/urandom
        !           286:     device (#582).
        !           287: 
        !           288:   * Prior versions of iperf3 doing UDP tests used to overcount packet
        !           289:     losses in the presence of packet reordering.  This has been
        !           290:     (partially) fixed by try to not count the sequence number gaps
        !           291:     resulting from out-of-order packets as actual losses (#457).
        !           292: 
        !           293:   * iperf3 no longer prints results from very small intervals (10% of
        !           294:     the statistics reporting interval) at the end of the test run if
        !           295:     they contain no data.  This can happen due to timing difference or
        !           296:     network queueing on the path between the client and server.  This
        !           297:     is primarily a cosmetic change to prevent these fairly meaningless
        !           298:     intervals from showing up in the output (#278).
        !           299: 
        !           300:   * Compatiblity note: Users running iperf3 3.2 or newer from the
        !           301:     bwctl utility will need to obtain version 1.6.3 or newer of bwctl.
        !           302:     Note that bwctl, a component of the perfSONAR toolkit, has been
        !           303:     deprecated in favor of pScheduler since the release of perfSONAR
        !           304:     4.0.
        !           305: 
        !           306: * Developer-visible changes
        !           307: 
        !           308:   * Various warnings and build fixes (#551, #564, #518, #597).
        !           309: 
        !           310:   * Some improvements have been made for increased compatibility on
        !           311:     IRIX (#368) and with C++ (#587).
        !           312: 
        !           313:   * cJSON has been updated to 1.5.2 (#573), bringing in a number of
        !           314:     bugfixes.
        !           315: 
        !           316:   * Some dead code has been removed.
        !           317: 
        !           318: iperf 3.1.7 2017-03-06
        !           319: ----------------------
        !           320: 
        !           321: iperf 3.1.7 is functionally identical to iperf 3.1.6.  Its only
        !           322: changes consist of updated documentation files and text in the RPM
        !           323: spec file.
        !           324: 
        !           325: iperf 3.1.6 2017-02-02
        !           326: ----------------------
        !           327: 
        !           328: The release notes for iperf 3.1.6 describe changes, including bug
        !           329: fixes and new functionality, made since iperf 3.1.5.
        !           330: 
        !           331: * User-visible changes
        !           332: 
        !           333:   * Specifying --fq-rate or --no-fq-socket-pacing on a system where
        !           334:     these options are not supported now generate an error instead of a
        !           335:     warning.  This change makes diagnosing issues related to pacing
        !           336:     more apparent.
        !           337: 
        !           338:   * Fixed a bug where two recently-added diagnostic messages spammed
        !           339:     the JSON output on UDP tests.
        !           340: 
        !           341: iperf 3.1.5 2017-01-12
        !           342: ----------------------
        !           343: 
        !           344: The release notes for iperf 3.1.5 describe changes, including bug
        !           345: fixes and new functionality, made since iperf 3.1.4.
        !           346: 
        !           347: Compatibility note: Fair-queueing is now specified differently in
        !           348: iperf 3.1.5 than in prior versions (which include 3.1.3 and 3.1.4).
        !           349: 
        !           350: Compatibility note: UDP tests may yield different results from all
        !           351: prior versions of iperf3 (through 3.1.4) due to the new default UDP
        !           352: sending size.
        !           353: 
        !           354: * User-visible changes
        !           355: 
        !           356:   * The fair-queueing per-socket based pacing available on recent
        !           357:     Linux systems has been reimplemented with a different user
        !           358:     interface (#325, #467, #488).  The --bandwidth command-line flag
        !           359:     now controls only the application-level pacing, as was the case in
        !           360:     iperf 3.1.2 and all earlier versions.  Fair-queueing per-socket
        !           361:     based pacing is now controlled via a new --fq-rate command-line
        !           362:     flag.  Note that TCP and UDP tests may use --bandwidth, --fq-rate,
        !           363:     both flags, or neither flag.  SCTP tests currently support
        !           364:     --bandwidth only.  The --no-fq-socket-pacing flag, which was
        !           365:     introduced in iperf 3.1.3, has now been deprecated, and is
        !           366:     equivalent to --fq-rate=0.  iperf3 now reacts more gracefully if
        !           367:     --no-fq-socket-pacing or --fq-rate are specified on platforms that
        !           368:     don't support these options.
        !           369: 
        !           370:     For UDP tests, note that the default --bandwidth is 1 Mbps.  Using
        !           371:     the fair-queueing-based pacing will probably require explicitly
        !           372:     setting both --bandwidth and --fq-rate, preferably to the same
        !           373:     value.  (While setting different values for --bandwidth and
        !           374:     --fq-rate can certainly be done, the results can range from
        !           375:     entertaining to perplexing.)
        !           376: 
        !           377:   * iperf3 now chooses a more sane default UDP send size (#496, #498).
        !           378:     The former default (8KB) caused IP packet fragmentation on paths
        !           379:     having smaller MTUs (including any Ethernet network not configured
        !           380:     for jumbo frames).  This could have effects ranging from increased
        !           381:     burstiness, to packet loss, to complete failure of the test.
        !           382:     iperf3 now attempts to use the MSS of the control connection to
        !           383:     determine a default UDP send size if no sending length was
        !           384:     explicitly specified with --length.
        !           385: 
        !           386:   * Several checks are now made when setting the socket buffer sizes
        !           387:     with the -w option, to verify that the settings have been applied
        !           388:     correctly.  The results of these checks can been seen when the
        !           389:     --debug flag is specified.  (#356)
        !           390: 
        !           391:   * A --forceflush flag has been added to flush the output stream
        !           392:     after every statistics reporting interval.
        !           393: 
        !           394: * Developer-visible changes
        !           395: 
        !           396:   * A systemd service file has been added (#340, #430).
        !           397: 
        !           398: iperf 3.1.4 2016-10-31
        !           399: ----------------------
        !           400: 
        !           401: The release notes for iperf 3.1.4 describe changes, including bug
        !           402: fixes and new functionality, made since iperf 3.1.3.
        !           403: 
        !           404: * User-visible changes
        !           405: 
        !           406:   * On systems that support setting the congestion control algorithm,
        !           407:     iperf3 now keeps track of the congestion control algorithm and
        !           408:     print it in the JSON output in the members sender_tcp_congestion
        !           409:     and receiver_tcp_congestion (issue #461).  A few bugs (probably
        !           410:     not user-visible) with setting the congestion control algorithm
        !           411:     were also fixed.
        !           412: 
        !           413: * Developer-visible changes
        !           414: 
        !           415:   * Fixed a buffer overflow in the cJSON library (issue #466).  It is
        !           416:     not believed that this bug created any security vulnerabilities in
        !           417:     the context of iperf3.
        !           418: 
        !           419:   * Travis CI builds are now enabled on this codeline (pull request #424).
        !           420: 
        !           421:   * Various bug fixes (issue #459, pull request #429, issue #388).
        !           422: 
        !           423: iperf 3.1.3 2016-06-08
        !           424: ----------------------
        !           425: 
        !           426: The release notes for iperf 3.1.3 describe changes, including bug
        !           427: fixes and new functionality, made since iperf 3.1.2.
        !           428: 
        !           429: * Security
        !           430: 
        !           431:   * Fixed a buffer overflow / heap corruption issue that could occur
        !           432:     if a malformed JSON string was passed on the control channel.  In
        !           433:     theory, this vulnerability could be leveraged to create a heap
        !           434:     exploit.  This issue, present in the cJSON library, was already
        !           435:     fixed upstream, so was addressed in iperf3 by importing a newer
        !           436:     version of cJSON (plus local ESnet modifications).  Discovered and
        !           437:     reported by Dave McDaniel, Cisco Talos.  Cross-references:
        !           438:     TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303.
        !           439: 
        !           440: * User-visible changes
        !           441: 
        !           442:   * On supported platforms (recent Linux), iperf3 can use
        !           443:     fair-queueing-based per-socket pacing instead of its own
        !           444:     application-level pacing for the --bandwidth option.
        !           445:     Application-level pacing can be forced with the
        !           446:     -no-fq-socket-pacing flag.
        !           447: 
        !           448:   * A bug that could show negative loss counters with --udp and --omit
        !           449:     has been fixed (issue #412, pull request #414).
        !           450: 
        !           451:   * Error handling has been made slightly more robust.  Also, the
        !           452:     iperf3 server will no longer exit after five consecutive errors,
        !           453:     but will only exit for certain types of errors that prevent it
        !           454:     from participating in any tests at all.
        !           455: 
        !           456: * Developer-visible changes
        !           457: 
        !           458:   * Fixed the build on FreeBSD 11-CURRENT (issue #413).
        !           459: 
        !           460:   * Fixed various coding errors (issue #423, issue #425).
        !           461: 
        !           462: iperf 3.1.2 2016-02-01
        !           463: ----------------------
        !           464: 
        !           465: The release notes for iperf 3.1.2 describe changes, including bug
        !           466: fixes and new functionality, made since iperf 3.1.1.
        !           467: 
        !           468: * User-visible changes
        !           469: 
        !           470:   * Fixed a bug that caused nan values to be emitted (incorrectly)
        !           471:     into JSON, particularly at the end of UDP tests (issue #278).
        !           472: 
        !           473:   * Fixed a bug that caused the wrong value to be printed for
        !           474:     out-of-order UDP packets (issue #329).
        !           475: 
        !           476:   * Added a contrib/ directory containing a few submitted graphing
        !           477:     scripts.
        !           478: 
        !           479: * Developer-visible changes
        !           480: 
        !           481: iperf 3.1.1 2015-11-19
        !           482: ----------------------
        !           483: 
        !           484: The release notes for iperf 3.1.1 describe changes and new
        !           485: functionality in iperf 3.1.1, but not present in 3.1.
        !           486: 
        !           487: * User-visible changes
        !           488: 
        !           489:   * Some markup fixes have been made in the manpages for Debian
        !           490:     compatibility (issue #291).
        !           491: 
        !           492:   * A bug where the -T title option was not being output correctly
        !           493:     in JSON output has been fixed (issue #292).
        !           494: 
        !           495:   * Argument handling for some command-line options has been improved
        !           496:     (issue #316).
        !           497: 
        !           498: * Developer-visible changes
        !           499: 
        !           500:   * A regression with C++ compatibility in one of the iperf header
        !           501:     files has been fixed (issue #323).
        !           502: 
        !           503: iperf 3.1 2015-10-16
        !           504: --------------------
        !           505: 
        !           506: The release notes for iperf 3.1 describe changes and new
        !           507: functionality in iperf 3.1, but not present in 3.0.11 or any earlier
        !           508: 3.0.x release.
        !           509: 
        !           510: * Selected user-visible changes
        !           511: 
        !           512:   * SCTP support has been added (with the --sctp flag), on Linux,
        !           513:     FreeBSD, and Solaris (issue #131).
        !           514: 
        !           515:   * Setting CPU affinity now works on FreeBSD.
        !           516: 
        !           517:   * Selection of TCP congestion now works on FreeBSD, and is now
        !           518:     called --congestion (the old --linux-congestion option works
        !           519:     but is now deprecated).
        !           520: 
        !           521:   * A new -I option for the server causes it to write a PID file,
        !           522:     mostly useful for daemon mode (issue #120).
        !           523: 
        !           524:   * A --logfile argument can now force all output to go to a file,
        !           525:     rather than to a file.  This is especially useful when running an
        !           526:     iperf3 server in daemon mode (issue #119).
        !           527: 
        !           528:   * Various compatibility fixes for Android (issue #184, issue #185),
        !           529:     iOS (issue #288), NetBSD (issue #248), Solaris (issue #175, issue
        !           530:     #178, issue #180, issue #211), vxWorks (issue #268).
        !           531: 
        !           532:   * A --udp-counters-64bit flag has been added to support very
        !           533:     long-running UDP tests, which could cause a counter to overflow
        !           534:     (issue #191).
        !           535: 
        !           536:   * A --cport option to specify the client-side port has been added
        !           537:     (issue #207, issue #209, issue #239).
        !           538: 
        !           539:   * Some calculation errors with the -O feature have been fixed (issue
        !           540:     #236).
        !           541: 
        !           542:   * A potential crash in the iperf3 server has been fixed (issue #257,
        !           543:     issue #258).
        !           544: 
        !           545:   * Many miscellaneous bug fixes.
        !           546: 
        !           547: * Selected developer-visible changes
        !           548: 
        !           549:   * Consumers of libiperf can now get the JSON output for a
        !           550:     just-completed test (issue #147).
        !           551: 
        !           552:   * Detection of various optional features has been improved to check
        !           553:     for the presence or absence of platform functionality, not the name
        !           554:     of platforms.
        !           555: 
        !           556:   * Out-of-tree builds now work (issue #265).
        !           557: 
        !           558: iperf 3.0.11 2015-01-09
        !           559: -----------------------
        !           560: 
        !           561: * User-visible changes
        !           562: 
        !           563:   * Added -1 / --one-off flag, which causes the iperf3 server to
        !           564:     process one client connection and then exit.  Intended primarily
        !           565:     for bwctl integration (issue #230).
        !           566: 
        !           567:   * Added various minor bug fixes (issues #231, #232, #233).
        !           568: 
        !           569:   * Added 30-second timeout for UDP tests if unable to establish UDP
        !           570:     connectivity between sender and receiver (issue #222).
        !           571: 
        !           572: iperf 3.0.10 2014-12-16
        !           573: -----------------------
        !           574: 
        !           575: * User-visible changes
        !           576: 
        !           577:   * Fixed the build on MacOS X Yosemite (issue #213).
        !           578: 
        !           579:   * UDP tests now honor the -w option for setting the socket buffer
        !           580:     sizes (issue #219).
        !           581: 
        !           582: * Developer-visible changes
        !           583: 
        !           584:   * Added an RPM spec file plus functionality to fill in the version
        !           585:     number.
        !           586: 
        !           587:   * Fixed potential filename collision with a system header (issue
        !           588:     #203).
        !           589: 
        !           590: iperf 3.0.9 2014-10-14
        !           591: ----------------------
        !           592: 
        !           593: * User-visible changes
        !           594: 
        !           595:   * Fixed a series of problems that came from attempting a UDP test
        !           596:     with a pathologically large block size.  This put the server into
        !           597:     an odd state where it could not accept new client connections.
        !           598:     This in turn caused subsequent client connections to crash when
        !           599:     interrupted (issue #212).
        !           600: 
        !           601: * Developer-visible changes
        !           602: 
        !           603:   * None.
        !           604: 
        !           605: iperf 3.0.8 2014-09-30
        !           606: ----------------------
        !           607: 
        !           608: * User-visible changes
        !           609: 
        !           610:   * Updated license and copyright verbage to confirm to LBNL Tech
        !           611:     Transfer requirements.  No substantive changes; license remains
        !           612:     the 3-clause BSD license.
        !           613: 
        !           614: * Developer-visible changes
        !           615: 
        !           616:   * None.
        !           617: 
        !           618: iperf 3.0.7 2014-08-28
        !           619: ----------------------
        !           620: 
        !           621: * User-visible changes
        !           622: 
        !           623:   * A server bug where new connections from clients could disrupt
        !           624:     running tests has been fixed (issue #202).
        !           625: 
        !           626:   * Rates now consistently use 1000-based prefixes (K, M, G), where
        !           627:     sizes of objects now consistently use 1024-based prefixes (issue #173).
        !           628: 
        !           629:   * UDP tests with unlimited bandwidth are now supported (issue #170).
        !           630: 
        !           631:   * An interaction between the -w and -B options, which kept them from
        !           632:     working when used together, has been fixed (issue #193).
        !           633: 
        !           634: * Developer-visible changes
        !           635: 
        !           636: iperf 3.0.6 2014-07-28
        !           637: ----------------------
        !           638: 
        !           639: * User-visible changes
        !           640: 
        !           641:   * Several bugs that kept the -B option from working in various
        !           642:     circumstances have been fixed (issue #193).
        !           643: 
        !           644:   * Various compatibility fixes for OpenBSD (issue #196) and
        !           645:     Solaris (issue #177).
        !           646: 
        !           647: * Developer-visible changes
        !           648: 
        !           649:   * The {get,set}_test_bind_address API calls have been added to
        !           650:     expose the -B functionality to API consumers (issue #197).
        !           651: 
        !           652: iperf 3.0.5 2014-06-16
        !           653: ----------------------
        !           654: 
        !           655: * User-visible changes
        !           656: 
        !           657:   * Erroneous output when doing --json output has been fixed (this
        !           658:     problem was caused by an attempt to fix issue #158).
        !           659: 
        !           660:   * The maximum test running time has been increased from one hour to
        !           661:     one day (issue #166).
        !           662: 
        !           663:   * Project documentation has been moved to GitHub Pages at this URL:
        !           664:     http://software.es.net/iperf/.
        !           665: 
        !           666:   * A bug that caused CPU time to be computed incorrectly on FreeBSD
        !           667:     has been fixed.
        !           668: 
        !           669:   * A timing issue which caused measurement intervals to be wrong
        !           670:     with TCP tests on lossy networks has been fixed (issue #125).
        !           671: 
        !           672:   * Newer versions of autoconf / automake / libtool are now used by
        !           673:     default (issue #161).
        !           674: 
        !           675:   * JSON output now indicates whether the test was run in --reverse
        !           676:     mode (issue #167).
        !           677: 
        !           678:   * It is now possible to get (most of) the server-side output at
        !           679:     the client by using the --get-server-output flag (issue #160).
        !           680: 
        !           681: * Developer-visible changes
        !           682: 
        !           683:   * automake/autoconf/libtool have been updated to more recent
        !           684:     versions.  AM_MAINTAINER_MODE is now used to avoid requiring these
        !           685:     tools at build-time.
        !           686: 
        !           687: iperf 3.0.4 was not released
        !           688: ----------------------------
        !           689: 
        !           690: iperf 3.0.3 2014-03-26
        !           691: ----------------------
        !           692: 
        !           693: * User-visible changes
        !           694: 
        !           695:   * Due to several oversights, the source code archive for iperf 3.0.2
        !           696:     was distributed as an uncompressed tarball, despite having an
        !           697:     extension (".tar.gz") that indicated it was compressed.  The
        !           698:     release generation procedure has been changed to avoid this
        !           699:     problem going forward.
        !           700: 
        !           701:   * Summary structures in the JSON output are now included, even if
        !           702:     there is only one stream.  This change makes consuming the JSON
        !           703:     output easier and more consistent (issue #151).
        !           704: 
        !           705:   * A possible buffer overflow in iperf_error.c has been fixed (issue
        !           706:     #155).
        !           707: 
        !           708: * Developer-visible changes
        !           709: 
        !           710:   * Example programs now build correctly, after having been broken in
        !           711:     the 3.0.2 release (issue #152).
        !           712: 
        !           713: iperf 3.0.2 2014-03-10
        !           714: ----------------------
        !           715: 
        !           716: * User-visible changes
        !           717: 
        !           718:   * The iperf3 project has been moved to GitHub, and various URLs in
        !           719:     documentation files have been changed to point there.
        !           720: 
        !           721:   * iperf3 now builds on Linux systems that do not support
        !           722:     TCP_CONGESTION.  Most notably this allows iperf3 to work on CentOS
        !           723:     5.
        !           724: 
        !           725:   * An abort on MacOS 10.9 has been fixed (issue #135).
        !           726: 
        !           727:   * Added -I flag for the server to write a PID file, mostly useful for
        !           728:     daemon mode (issue #120).
        !           729: 
        !           730:   * A bug that could break some TCP tests on FreeBSD has been fixed.
        !           731: 
        !           732:   * TCP snd_cwnd output is now printed by default on Linux (issue #99).
        !           733: 
        !           734:   * In JSON output, the --title string no longer has a colon and two
        !           735:     spaces appended (issue #139).
        !           736: 
        !           737:   * A buffer for holding formatted numeric values is now
        !           738:     properly-sized so that output is not truncated (issue #142).
        !           739: 
        !           740: * Developer-visible changes
        !           741: 
        !           742:   * Some memory leaks have been fixed.
        !           743: 
        !           744:   * A -d flag enables debugging output.
        !           745: 
        !           746:   * A .gitignore file has been added.
        !           747: 
        !           748:   * libtoolize is now invoked correctly from the bootstrap.sh script.
        !           749: 
        !           750:   * The test unit format can now be set from the API (issue #144).
        !           751: 
        !           752:   * libiperf is now built as both shared and static libraries.
        !           753: 
        !           754:   * In the JSON output, the "connection" structures are now stored as
        !           755:     an array in the "start" block, instead of overwriting each other.
        !           756:     While technically an incompatible API change, the former behavior
        !           757:     generated unusable JSON.
        !           758: 
        !           759: iperf 3.0.1 2014-01-10
        !           760: ----------------------
        !           761: 
        !           762:   * Added the following new flags
        !           763:      -D, --daemon             run server as a daemon
        !           764:      -L, --flowlabel           set IPv6 flow label (Linux only)
        !           765:      -C, --linux-congestion    set congestion control algorithm (Linux only)
        !           766:      -k, --blockcount #[KMG]   number of blocks (packets) to transmit
        !           767:                               (instead of -t or -n)
        !           768:   * Bug fixes
        !           769: 
        !           770: iperf 3.0-RC5 2013-11-15
        !           771: ------------------------
        !           772: 
        !           773:   * Added the following new flags
        !           774:      -F, --file name           xmit/recv the specified file
        !           775:      -A, --affinity n/n,m      set CPU affinity (Linux only)
        !           776:      -J, --json                output in JSON format
        !           777:      -Z, --zerocopy            use a 'zero copy' method of sending data
        !           778:      -O, --omit N              omit the first n seconds
        !           779:      -T, --title str           prefix every output line with this string
        !           780:   * more useful information in 'verbose' mode
        !           781:   * Many bug fixes
        !           782: 
        !           783: 
        !           784: iperf 3.0b4 2010-08-02
        !           785: ----------------------
        !           786: 
        !           787:   * Added support for binding to a specific interface (-B)
        !           788:   * Added support for IPv6 mode (-6)
        !           789:   * Setting TCP window size (-w) is now supported
        !           790:   * Updates to iperf_error
        !           791:       * Added new errors
        !           792:       * Should generate more relavent messages
        !           793:   * Stream list now managed by queue.h macros
        !           794:   * Test structures are now kept intact after a test is run (for API users)
        !           795:   * Improved interval timer granularity
        !           796:       * Support for decimal values
        !           797:   * Many bug fixes
        !           798: 
        !           799: iperf 3.0b3 2010-07-23
        !           800: ----------------------
        !           801: 
        !           802:   * Better error handling
        !           803:       * All errors now handled with iperf_error()
        !           804:       * All functions that can return errors return NULL or -1 on error and set i_errno appropriately
        !           805:   * Iperf API intruduced
        !           806:       * Support for adding new protocols
        !           807:       * Added support for callback functions
        !           808:           * on_connect - executes after a connection is made to the server
        !           809:           * on_new_stream - executes after a new stream is created
        !           810:           * on_test_start - executes right before the test begins
        !           811:           * on_test_finish - executes after the test is finished
        !           812:   * Added early support for verbose mode (-V)
        !           813: 
        !           814: iperf 3.0b2 2010-07-15
        !           815: ----------------------
        !           816: 
        !           817:   * UDP mode now supported
        !           818:       * Support for setting bandwidth (-b)
        !           819:       * Parallel UDP stream support
        !           820:       * Reverse mode UDP support
        !           821:   * Support for setting TCP_NODELAY (-N), disabling Nagle's Algorithm
        !           822:   * Support for setting TCP MSS (-M)
        !           823:       * Note: This feature is still in development. It is still very buggy.
        !           824: 
        !           825: iperf 3.0b1 2010-07-08
        !           826: ----------------------
        !           827: 
        !           828:   * TCP control socket now manages messages between client and server
        !           829:   * Dynamic server (gets test parameters from client)
        !           830:       * Server can now set test options dynamically without having to restart.
        !           831:           * Currently supported options: -l, -t, -n, -P, -R
        !           832:           * Future options: -u, -b, -w, -M, -N, -I, -T, -Z, -6
        !           833:   * Results exchange
        !           834:       * Client can now see server results (and vice versa)
        !           835:   * Reverse mode (-R)
        !           836:       * Server sends, client receives

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>