Annotation of embedaddon/iperf/RELNOTES.md, revision 1.1.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>