File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / iperf / RELEASE_NOTES
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 18 13:28:17 2016 UTC (7 years, 7 months ago) by misho
Branches: iperf, MAIN
CVS tags: v3_1_3p0, v3_1_3, HEAD
iperf3 3.1.3

    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>