Aquí hi ha 7 versions d’iPerf3, des de 13 de maig del 2024 fins a l’actual, 3.22. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
7 versions en 2 anys · unes 2,9 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 3.22Darrera versió | 29 de setembre del 2026 | — | 64 bits ZIP Notes de la versióSecurity notes
- Thanks to Claude and Ada Logics for finding and reporting two potential security vulnerabilities. One is a remote use-after-free in iperf_server_api.c (ANT-2026-E5BA80X9 / CVE-2026-101283) and the other is a heap buffer overflow in iperf_auth.c (ANT-2026-FXH14FHV / CVE-2026-101276).
- Thanks to Justin Stitt for reporting and fixing a heap-buffer overflow was fixed in iperf_auth.c (PR #2027).
- Thanks to Ravindu Lakmina Munaweera (Github: @Ravi-lk) for reporting and fixing a DOS infinite-loop (CVE-2026-102253).
- Thanks to Dirk Müller for finding and reporting an issue with test parameters (PR #2039, CVE-2026-71217).
- The iperf-3.18 release notes were updated to reflect that a code change in that version addresses CVE-2026-71218.
Notable user-visible changes
- Attempting to set zero parallel streams is no longer allowed (PR #2048).
- Zerocopy and rx-copy are now allowed in the case of reverse direction tests and the server (sending side) supports these features but the client (receiving side) does not (#2045, PR #2044).
- The limit on GSO_MAX_DG_IN_BF was fixed to limit the number of segments to the maximum allowed (#2032 / PR #2033). This change unbreaks GSO for small message sizes.
Notable developer-visible changes
- In iperf_auth.c, in addition to fixing the heap buffer overflow, the return value of several functions is checked (PR #2046, PR #2040).
- Several file descriptor leaks have been fixed (PR #2034).
- In iperf_tcp, connections now timeout to prevent a race condition in accepting new connections to avoid a deadlock (#2029, PR #2030).
- Periodic timers are now cancelled at the end of a test (#2018, PR #2021).
- DSCP/TOS is now correctly set in the first UDP/TCP stream packet (#510, #830, PR #2047). |
| 3.21 | 9 d’abril del 2026 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- Support has been added for Global Segmentation Offload (GSO) and Global Receive Offload (GRO) under Linux (PR #1925, PR #2007, also note that a number of other pull requests were submitted towards this functionality).
- The --bind-dev option is now supported on macOS (PR #1945).
- Support has been added on macOS for the equivalent of the tcp_info structure (#1411, PR #2008). This change results in TCP window information being printed in human-readable output and a number of TCP statistics being added to the JSON output.
- The iperf3 server provides more information about various error conditions to the client (PR #1914, PR #1931, PR #1950).
- The maximum value for the --set-mss option is now 32K (PR #1816). Note that this option still does not work reliably in all cases.
- The cancellation type of child threads was changed from PTHREAD_CANCEL_ASYNCHRONOUS to PTHREAD_CANCEL_DEFERRED (#1991, #2003, PR #2004). This change fixes some hangs that could occur at the end of a test.
- A race condition leading to a crash when closing sockets at the end of a test has been fixed (PR #1990).
- iperf3 no longer erroneously prints that zero UDP packets were lost during a lossy UDP test (#1984, PR #1988).
- A division by zero error has been avoided (PR #2002).
- The security posture of the iperf3.service file has been improved considerably by updating a number of settings (PR #1855). Note that this file is neither installed nor activated by default.
Notable developer-visible changes
- iperf3 finally performs ldconfig as a part of make install on platforms that require it (#1995, PR #2005).
- Various bug fixes (PR #1960, PR #1981, PR #2001).
- Various documentation fixes (PR #1972, PR #1974, PR #1993). |
| 3.20 | 14 de novembre del 2025 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- Millisecond-resolution representations have been added to JSON timestamps. (PR #1846)
- The reorder_seen metric, where available, is now available in the JSON output. (PR #1278)
- A division by zero error has been fixed. (PR #1906)
- Some command-line options were not properly restricted to the client or server; this problem has been fixed. (#1892 / PR #1894)
- The combination of --udp and --file is now explicitly disallowed. (PR #1909)
- It is now possible to get both the full JSON result object as well as streaming intermediate JSON result objects. This functionality is enabled by using the new --json-stream-full command-line flag, in addition to the existing --json-stream flag (PR #1903)
- Sends with --zerocopy are now properly seeded with data instead of being all-zeroes. (PR #1949)
- The --server-max-duration flag is now allowed on the iperf3 server to impose a maximum duration on timed tests. (PR #1684)
- The --rcv-timeout flag is now ignored for --bidir tests. This change prevents premature termination of bidirectional tests. (#1766 / PR #1946)
- Several errors in the authentication code were uncovered when building with OpenSSL 3.5.3 and later versions. These were fixed. (#1951 / PR #1956)
- Various issues in the iperf3 manual page were fixed up. (PR #1887, PR #1927, PR #1936, PR #1941, #1891 / PR #1952)
Notable developer-visible changes
- A build failure with uClibc has been fixed. (#1888 / PR #1890)
- It is now possible to use the API to load RSA keys from a file. (PR #1889)
- Some calls to sprintf() were replaced with calls to snprintf(). There were no hazards in the code as written, but this change might help silence some compiler warnings and potentially prevent future vulnerabilities. (PR #1929)
- Proper error handling has been added to the unit_atoX() functions. (PR #1394)
- Some memory handling errors in t_auth were fixed. (PR #1953)
- Minor enhancements and fixes to GitHub Actions workflows (PR #1919, PR #1928, PR #1942). |
| 3.19.1 | 25 de juliol del 2025 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- SECURITY NOTE: Thanks to Han Lee with Apple Information Security for finding and reporting several memory errors including a buffer overflow within the --skip-rx-copy option, and two memory errors within authentication, including a heap overflow in the plaintext password and an assert.
- An off-by-one heap overflow has been fixed in authentication. (CVE-2025-54349, ESNET-SECADV-2025-0003)
- An assert in authentication has been removed. (CVE-2025-54350, ESNET-SECADV-2025-0002)
- A buffer overflow in the --skip-rx-copy option for zerocopy has been fixed. (CVE-2025-54351, ESNET-SECADV-2025-0001) |
| 3.19 | 16 de maig del 2025 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- iperf3 now supports the use of Multi-Path TCP (MPTCPv1) on Linux with the use of the --multipath flag. (PR #1661)
- iperf3 now supports a --cntl-ka option to enable TCP keepalives on the control connection. (#812, #835, PR #1423)
- iperf3 now supports the MSG_TRUNC receive option, specified by the --skip-rx-copy. This theoretically improves the rated throughput of tests at high bitrates by not delivering network payload data to userspace. (#1678, PR #1717)
- A bug that caused the bitrate setting to be ignored when bursts are set, has been fixed. (#1773, #1820, PR #1821, PR #1848)
- The congestion control protocol setting, if used, is now properly reset between tests. (PR #1812)
- iperf3 now exits with a non-error 0 exit code if exiting via a SIGTERM, SIGHUP, or SIGINT. (#1009, PR #1829)
- The current behavior of iperf3 with respect to the -n and -k options is now documented as correct. (#1768, #1775, #596, PR #1800)
Notable developer-visible changes
- iperf3 now supports a callback function to get the JSON output strings. (#1711, PR #1798)
- iperf3 now builds correctly with gcc-15 (#1838, PR #1805)
- Various memory leaks were fixed (#1881, PR #1823, #1814, PR #1822)
- A potential segfault crash was fixed (#1807)
- Improved warning messages when reading malformed JSON messages (PR #1817)
- The Github CI configuration was changed to use a more up-to-date set of runners (PR #1864) |
| 3.18 | 13 de desembre del 2024 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- SECURITY NOTE: Thanks to Leonid Krolle Bi.Zone for discovering a JSON type security vulnerability that caused a segmentation fault in the server. (CVE-2024-53580) This has now been fixed. (PR#1810)
- UDP packets per second now reports the correct number of packets, by reporting NET_SOFTERROR if there's a EAGAIN/EINTR errno if no data was sent (#1367/PR#1379).
- Several segmentation faults related to threading were fixed. One where pthread_cancel was called on an improperly initialized thread (#1801), another where threads were being recycled (#1760/PR#1761), and another where threads were improperly handling signals (#1750/PR#1752).
- A segmentation fault from calling freeaddrinfo with NULL was fixed (PR#1755).
- Some JSON options were fixed, including checking the size for json_read (PR#1709), but the size limit was removed for received server output (PR#1779).
- A rcv-timeout error has been fixed. The Nread timeout was hardcoded and timed out before the --rcv-timeout option (PR#1744).
- There is no longer a limit on the omit time period (#1770/PR#1774).
- Fixed an output crash under 32-bit big-endian systems (PR#1713).
- An issue was fixed where CPU utilization was unexpectedly high during limited baud rate tests. The --pacing-timer option was removed, but it is still available in the library (#1741/PR#1743).
- Add SCTP information to --json output and fixed compile error when SCTP is not supported (#1731).
- --fq-rate was changed from a uint to a uint64 to allow pacing above 32G. Not yet tested on big-endian systems (PR#1728).
Notable developer-visible changes
- Clang compilation failure on Android were fixed (PR#1687).
- iperf_time_add() was optimizated to improve performance (PR#1742).
- Debug messages were added when the state changes (PR#1734).
- To increase performance, the old UDP prot_listener is cleared and removed after each test (PR#1708).
- A file descriptor leak was closed (PR#1619). |
| 3.17.1 | 13 de maig del 2024 | — | 64 bits ZIP Notes de la versióNotable user-visible changes
- Version number has been corrected. (#1699)
Notable developer-visible changes
- No longer signing tags |