Annotation of embedaddon/iperf/RELEASE_NOTES, revision 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>