Annotation of embedaddon/iperf/RELEASE_NOTES, revision 1.1.1.1

1.1       misho       1: == iperf 3.1.3 2016-06-08 ==
                      2: 
                      3: The release notes for iperf 3.1.3 describe changes, including bug
                      4: fixes and new functionality, made since iperf 3.1.2.
                      5: 
                      6: * Security
                      7: 
                      8:   * Fixed a buffer overflow / heap corruption issue that could occur
                      9:     if a malformed JSON string was passed on the control channel.  In
                     10:     theory, this vulnerability could be leveraged to create a heap
                     11:     exploit.  This issue, present in the cJSON library, was already
                     12:     fixed upstream, so was addressed in iperf3 by importing a newer
                     13:     version of cJSON (plus local ESnet modifications).  Discovered and
                     14:     reported by Dave McDaniel, Cisco Talos.  Cross-references:
                     15:     TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303.
                     16: 
                     17: * User-visible changes
                     18: 
                     19:   * On supported platforms (recent Linux), iperf3 can use
                     20:     fair-queueing-based per-socket pacing instead of its own
                     21:     application-level pacing for the --bandwidth option.
                     22:     Application-level pacing can be forced with the
                     23:     -no-fq-socket-pacing flag.
                     24: 
                     25:   * A bug that could show negative loss counters with --udp and --omit
                     26:     has been fixed (issue #412, pull request #414).
                     27: 
                     28:   * Error handling has been made slightly more robust.  Also, the
                     29:     iperf3 server will no longer exit after five consecutive errors,
                     30:     but will only exit for certain types of errors that prevent it
                     31:     from participating in any tests at all.
                     32: 
                     33: * Developer-visible changes
                     34: 
                     35:   * Fixed the build on FreeBSD 11-CURRENT (issue #413).
                     36: 
                     37:   * Fixed various coding errors (issue #423, issue #425).
                     38: 
                     39: == iperf 3.1.2 2016-02-01 ==
                     40: 
                     41: The release notes for iperf 3.1.2 describe changes, including bug
                     42: fixes and new functionality, made since iperf 3.1.1.
                     43: 
                     44: * User-visible changes
                     45: 
                     46:   * Fixed a bug that caused nan values to be emitted (incorrectly)
                     47:     into JSON, particularly at the end of UDP tests (issue #278).
                     48: 
                     49:   * Fixed a bug that caused the wrong value to be printed for
                     50:     out-of-order UDP packets (issue #329).
                     51: 
                     52:   * Added a contrib/ directory containing a few submitted graphing
                     53:     scripts.
                     54: 
                     55: * Developer-visible changes
                     56: 
                     57: == iperf 3.1.1 2015-11-19 ==
                     58: 
                     59: The release notes for iperf 3.1.1 describe changes and new
                     60: functionality in iperf 3.1.1, but not present in 3.1.
                     61: 
                     62: * User-visible changes
                     63: 
                     64:   * Some markup fixes have been made in the manpages for Debian
                     65:     compatibility (issue #291).
                     66: 
                     67:   * A bug where the -T title option was not being output correctly
                     68:     in JSON output has been fixed (issue #292).
                     69: 
                     70:   * Argument handling for some command-line options has been improved
                     71:     (issue #316).
                     72: 
                     73: * Developer-visible changes
                     74: 
                     75:   * A regression with C++ compatibility in one of the iperf header
                     76:     files has been fixed (issue #323).
                     77: 
                     78: == iperf 3.1 2015-10-16 ==
                     79: 
                     80: The release notes for iperf 3.1 describe changes and new
                     81: functionality in iperf 3.1, but not present in 3.0.11 or any earlier
                     82: 3.0.x release.
                     83: 
                     84: * Selected user-visible changes
                     85: 
                     86:   * SCTP support has been added (with the --sctp flag), on Linux,
                     87:     FreeBSD, and Solaris (issue #131).
                     88: 
                     89:   * Setting CPU affinity now works on FreeBSD.
                     90: 
                     91:   * Selection of TCP congestion now works on FreeBSD, and is now
                     92:     called --congestion (the old --linux-congestion option works
                     93:     but is now deprecated).
                     94: 
                     95:   * A new -I option for the server causes it to write a PID file,
                     96:     mostly useful for daemon mode (issue #120).
                     97: 
                     98:   * A --logfile argument can now force all output to go to a file,
                     99:     rather than to a file.  This is especially useful when running an
                    100:     iperf3 server in daemon mode (issue #119).
                    101: 
                    102:   * Various compatibility fixes for Android (issue #184, issue #185),
                    103:     iOS (issue #288), NetBSD (issue #248), Solaris (issue #175, issue
                    104:     #178, issue #180, issue #211), vxWorks (issue #268).
                    105: 
                    106:   * A --udp-counters-64bit flag has been added to support very
                    107:     long-running UDP tests, which could cause a counter to overflow
                    108:     (issue #191).
                    109: 
                    110:   * A --cport option to specify the client-side port has been added
                    111:     (issue #207, issue #209, issue #239).
                    112: 
                    113:   * Some calculation errors with the -O feature have been fixed (issue
                    114:     #236).
                    115: 
                    116:   * A potential crash in the iperf3 server has been fixed (issue #257,
                    117:     issue #258).
                    118: 
                    119:   * Many miscellaneous bug fixes.
                    120: 
                    121: * Selected developer-visible changes
                    122: 
                    123:   * Consumers of libiperf can now get the JSON output for a
                    124:     just-completed test (issue #147).
                    125: 
                    126:   * Detection of various optional features has been improved to check
                    127:     for the presence or absence of platform functionality, not the name
                    128:     of platforms.
                    129: 
                    130:   * Out-of-tree builds now work (issue #265).
                    131: 
                    132: == iperf 3.0.11 2015-01-09 ==
                    133: 
                    134: * User-visible changes
                    135: 
                    136:   * Added -1 / --one-off flag, which causes the iperf3 server to
                    137:     process one client connection and then exit.  Intended primarily
                    138:     for bwctl integration (issue #230).
                    139: 
                    140:   * Added various minor bug fixes (issues #231, #232, #233).
                    141: 
                    142:   * Added 30-second timeout for UDP tests if unable to establish UDP
                    143:     connectivity between sender and receiver (issue #222).
                    144: 
                    145: == iperf 3.0.10 2014-12-16 ==
                    146: 
                    147: * User-visible changes
                    148: 
                    149:   * Fixed the build on MacOS X Yosemite (issue #213).
                    150: 
                    151:   * UDP tests now honor the -w option for setting the socket buffer
                    152:     sizes (issue #219).
                    153: 
                    154: * Developer-visible changes
                    155: 
                    156:   * Added an RPM spec file plus functionality to fill in the version
                    157:     number.
                    158: 
                    159:   * Fixed potential filename collision with a system header (issue
                    160:     #203).
                    161: 
                    162: == iperf 3.0.9 2014-10-14 ==
                    163: 
                    164: * User-visible changes
                    165: 
                    166:   * Fixed a series of problems that came from attempting a UDP test
                    167:     with a pathologically large block size.  This put the server into
                    168:     an odd state where it could not accept new client connections.
                    169:     This in turn caused subsequent client connections to crash when
                    170:     interrupted (issue #212).
                    171: 
                    172: * Developer-visible changes
                    173: 
                    174:   * None.
                    175: 
                    176: == iperf 3.0.8 2014-09-30 ==
                    177: 
                    178: * User-visible changes
                    179: 
                    180:   * Updated license and copyright verbage to confirm to LBNL Tech
                    181:     Transfer requirements.  No substantive changes; license remains
                    182:     the 3-clause BSD license.
                    183: 
                    184: * Developer-visible changes
                    185: 
                    186:   * None.
                    187: 
                    188: == iperf 3.0.7 2014-08-28 ==
                    189: 
                    190: * User-visible changes
                    191: 
                    192:   * A server bug where new connections from clients could disrupt
                    193:     running tests has been fixed (issue #202).
                    194: 
                    195:   * Rates now consistently use 1000-based prefixes (K, M, G), where
                    196:     sizes of objects now consistently use 1024-based prefixes (issue #173).
                    197: 
                    198:   * UDP tests with unlimited bandwidth are now supported (issue #170).
                    199: 
                    200:   * An interaction between the -w and -B options, which kept them from
                    201:     working when used together, has been fixed (issue #193).
                    202: 
                    203: * Developer-visible changes
                    204: 
                    205: == iperf 3.0.6 2014-07-28 ==
                    206: 
                    207: * User-visible changes
                    208: 
                    209:   * Several bugs that kept the -B option from working in various
                    210:     circumstances have been fixed (issue #193).
                    211: 
                    212:   * Various compatibility fixes for OpenBSD (issue #196) and
                    213:     Solaris (issue #177).
                    214: 
                    215: * Developer-visible changes
                    216: 
                    217:   * The {get,set}_test_bind_address API calls have been added to
                    218:     expose the -B functionality to API consumers (issue #197).
                    219: 
                    220: == iperf 3.0.5 2014-06-16 ==
                    221: 
                    222: * User-visible changes
                    223: 
                    224:   * Erroneous output when doing --json output has been fixed (this
                    225:     problem was caused by an attempt to fix issue #158).
                    226: 
                    227:   * The maximum test running time has been increased from one hour to
                    228:     one day (issue #166).
                    229: 
                    230:   * Project documentation has been moved to GitHub Pages at this URL:
                    231:     http://software.es.net/iperf/.
                    232: 
                    233:   * A bug that caused CPU time to be computed incorrectly on FreeBSD
                    234:     has been fixed.
                    235: 
                    236:   * A timing issue which caused measurement intervals to be wrong
                    237:     with TCP tests on lossy networks has been fixed (issue #125).
                    238: 
                    239:   * Newer versions of autoconf / automake / libtool are now used by
                    240:     default (issue #161).
                    241: 
                    242:   * JSON output now indicates whether the test was run in --reverse
                    243:     mode (issue #167).
                    244: 
                    245:   * It is now possible to get (most of) the server-side output at
                    246:     the client by using the --get-server-output flag (issue #160).
                    247: 
                    248: * Developer-visible changes
                    249: 
                    250:   * automake/autoconf/libtool have been updated to more recent
                    251:     versions.  AM_MAINTAINER_MODE is now used to avoid requiring these
                    252:     tools at build-time.
                    253: 
                    254: == iperf 3.0.4 was not released ==
                    255: 
                    256: == iperf 3.0.3 2014-03-26 ==
                    257: 
                    258: * User-visible changes
                    259: 
                    260:   * Due to several oversights, the source code archive for iperf 3.0.2
                    261:     was distributed as an uncompressed tarball, despite having an
                    262:     extension (".tar.gz") that indicated it was compressed.  The
                    263:     release generation procedure has been changed to avoid this
                    264:     problem going forward.
                    265: 
                    266:   * Summary structures in the JSON output are now included, even if
                    267:     there is only one stream.  This change makes consuming the JSON
                    268:     output easier and more consistent (issue #151).
                    269: 
                    270:   * A possible buffer overflow in iperf_error.c has been fixed (issue
                    271:     #155).
                    272: 
                    273: * Developer-visible changes
                    274: 
                    275:   * Example programs now build correctly, after having been broken in
                    276:     the 3.0.2 release (issue #152).
                    277: 
                    278: == iperf 3.0.2 2014-03-10 ==
                    279: 
                    280: * User-visible changes
                    281: 
                    282:   * The iperf3 project has been moved to GitHub, and various URLs in
                    283:     documentation files have been changed to point there.
                    284: 
                    285:   * iperf3 now builds on Linux systems that do not support
                    286:     TCP_CONGESTION.  Most notably this allows iperf3 to work on CentOS
                    287:     5.
                    288: 
                    289:   * An abort on MacOS 10.9 has been fixed (issue #135).
                    290: 
                    291:   * Added -I flag for the server to write a PID file, mostly useful for
                    292:     daemon mode (issue #120).
                    293: 
                    294:   * A bug that could break some TCP tests on FreeBSD has been fixed.
                    295: 
                    296:   * TCP snd_cwnd output is now printed by default on Linux (issue #99).
                    297: 
                    298:   * In JSON output, the --title string no longer has a colon and two
                    299:     spaces appended (issue #139).
                    300: 
                    301:   * A buffer for holding formatted numeric values is now
                    302:     properly-sized so that output is not truncated (issue #142).
                    303: 
                    304: * Developer-visible changes
                    305: 
                    306:   * Some memory leaks have been fixed.
                    307: 
                    308:   * A -d flag enables debugging output.
                    309: 
                    310:   * A .gitignore file has been added.
                    311: 
                    312:   * libtoolize is now invoked correctly from the bootstrap.sh script.
                    313: 
                    314:   * The test unit format can now be set from the API (issue #144).
                    315: 
                    316:   * libiperf is now built as both shared and static libraries.
                    317: 
                    318:   * In the JSON output, the "connection" structures are now stored as
                    319:     an array in the "start" block, instead of overwriting each other.
                    320:     While technically an incompatible API change, the former behavior
                    321:     generated unusable JSON.
                    322: 
                    323: == iperf 3.0.1 2014-01-10 ==
                    324:   * Added the following new flags
                    325:      -D, --daemon             run server as a daemon
                    326:      -L, --flowlabel           set IPv6 flow label (Linux only)
                    327:      -C, --linux-congestion    set congestion control algorithm (Linux only)
                    328:      -k, --blockcount #[KMG]   number of blocks (packets) to transmit
                    329:                               (instead of -t or -n)
                    330:   * Bug fixes
                    331: 
                    332: == iperf 3.0-RC5 2013-11-15 ==
                    333:   * Added the following new flags
                    334:      -F, --file name           xmit/recv the specified file
                    335:      -A, --affinity n/n,m      set CPU affinity (Linux only)
                    336:      -J, --json                output in JSON format
                    337:      -Z, --zerocopy            use a 'zero copy' method of sending data
                    338:      -O, --omit N              omit the first n seconds
                    339:      -T, --title str           prefix every output line with this string
                    340:   * more useful information in 'verbose' mode
                    341:   * Many bug fixes
                    342: 
                    343: 
                    344: == iperf 3.0b4 2010-08-02 ==
                    345: 
                    346:   * Added support for binding to a specific interface (-B)
                    347:   * Added support for IPv6 mode (-6)
                    348:   * Setting TCP window size (-w) is now supported
                    349:   * Updates to iperf_error
                    350:       * Added new errors
                    351:       * Should generate more relavent messages
                    352:   * Stream list now managed by queue.h macros
                    353:   * Test structures are now kept intact after a test is run (for API users)
                    354:   * Improved interval timer granularity
                    355:       * Support for decimal values
                    356:   * Many bug fixes
                    357: 
                    358: == iperf 3.0b3 2010-07-23 ==
                    359: 
                    360:   * Better error handling
                    361:       * All errors now handled with iperf_error()
                    362:       * All functions that can return errors return NULL or -1 on error and set i_errno appropriately
                    363:   * Iperf API intruduced
                    364:       * Support for adding new protocols
                    365:       * Added support for callback functions
                    366:           * on_connect - executes after a connection is made to the server
                    367:           * on_new_stream - executes after a new stream is created
                    368:           * on_test_start - executes right before the test begins
                    369:           * on_test_finish - executes after the test is finished
                    370:   * Added early support for verbose mode (-V)
                    371: 
                    372: == iperf 3.0b2 2010-07-15 ==
                    373: 
                    374:   * UDP mode now supported
                    375:       * Support for setting bandwidth (-b)
                    376:       * Parallel UDP stream support
                    377:       * Reverse mode UDP support
                    378:   * Support for setting TCP_NODELAY (-N), disabling Nagle's Algorithm
                    379:   * Support for setting TCP MSS (-M)
                    380:       * Note: This feature is still in development. It is still very buggy.
                    381: 
                    382: == iperf 3.0b1 2010-07-08 ==
                    383: 
                    384:   * TCP control socket now manages messages between client and server
                    385:   * Dynamic server (gets test parameters from client)
                    386:       * Server can now set test options dynamically without having to restart.
                    387:           * Currently supported options: -l, -t, -n, -P, -R
                    388:           * Future options: -u, -b, -w, -M, -N, -I, -T, -Z, -6
                    389:   * Results exchange
                    390:       * Client can now see server results (and vice versa)
                    391:   * Reverse mode (-R)
                    392:       * Server sends, client receives

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