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