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>