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