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