Skip to content

Commit d39cf41

Browse files
authored
Release engineering changes for iperf-3.21 (#2020)
* relnotes: First draft of iperf-3.21 release notes (not completed yet). * relnotes: Add a note for the iperf3.service file change in PR #1855. * releng: Update release number and manpage dates for iperf-3.21. * Regen. * relnotes: Set release date
1 parent 8701e52 commit d39cf41

8 files changed

Lines changed: 1567 additions & 1323 deletions

File tree

RELNOTES.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,57 @@
11
iperf3 Release Notes
22
====================
33

4+
iperf-3.21 2026-04-09
5+
---------------------
6+
7+
* Notable user-visible changes
8+
9+
* Support has been added for Global Segmentation Offload (GSO) and
10+
Global Receive Offload (GRO) under Linux (PR #1926, PR #2007,
11+
also note that a number of other pull requests were submitted
12+
towards this functionality).
13+
14+
* The `--bind-dev` option is now supported on macOS (PR #1945).
15+
16+
* Support has been added on macOS for the equivalent of the
17+
`tcp_info` structure (#1411, PR #2008). This change results in
18+
TCP window information being printed in human-readable output
19+
and a number of TCP statistics being added to the JSON output.
20+
21+
* The iperf3 server provides more information about various error
22+
conditions to the client (PR #1914, PR #1931, PR #1950).
23+
24+
* The maximum value for the `--set-mss` option is now 32K (PR
25+
#1816). Note that this option still does not work reliably in
26+
all cases.
27+
28+
* The cancellation type of child threads was changed from
29+
`PTHREAD_CANCEL_ASYNCHRONOUS` to `PTHREAD_CANCEL_DEFERRED`
30+
(#1991, #2003, PR #2004). This change fixes some hangs that
31+
could occur at the end of a test.
32+
33+
* A race condition leading to a crash when closing sockets at the
34+
end of a test has been fixed (PR #1990).
35+
36+
* iperf3 no longer erroneously prints that zero UDP packets were
37+
lost during a lossy UDP test (#1984, PR #1988).
38+
39+
* A division by zero error has been avoided (PR #2002).
40+
41+
* The security posture of the `iperf3.service` file has been
42+
improved considerably by updating a number of settings (PR
43+
#1855). Note that this file is neither installed nor activated
44+
by default.
45+
46+
* Notable developer-visible changes
47+
48+
* iperf3 finally performs `ldconfig` as a part of `make install`
49+
on platforms that require it (#1995, PR #2005).
50+
51+
* Various bug fixes (PR #1960, PR #1981, PR #2001).
52+
53+
* Various documentation fixes (PR #1972, PR #1974, PR #1993).
54+
455
iperf-3.20 2025-11-14
556
---------------------
657

aclocal.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
1515
m4_ifndef([AC_AUTOCONF_VERSION],
1616
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17-
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
18-
[m4_warning([this file was generated for autoconf 2.72.
17+
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.73],,
18+
[m4_warning([this file was generated for autoconf 2.73.
1919
You have another version of autoconf. It may work, but is not guaranteed to.
2020
If you have problems, you may need to regenerate the build system entirely.
2121
To do so, use the procedure documented by the package, typically 'autoreconf'.])])

config/config.guess

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#! /bin/sh
22
# Attempt to guess a canonical system name.
3-
# Copyright 1992-2024 Free Software Foundation, Inc.
3+
# Copyright 1992-2025 Free Software Foundation, Inc.
44

55
# shellcheck disable=SC2006,SC2268 # see below for rationale
66

7-
timestamp='2024-07-27'
7+
timestamp='2025-07-10'
88

99
# This file is free software; you can redistribute it and/or modify it
1010
# under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@ version="\
6060
GNU config.guess ($timestamp)
6161
6262
Originally written by Per Bothner.
63-
Copyright 1992-2024 Free Software Foundation, Inc.
63+
Copyright 1992-2025 Free Software Foundation, Inc.
6464
6565
This is free software; see the source for copying conditions. There is NO
6666
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -1597,8 +1597,11 @@ EOF
15971597
*:Unleashed:*:*)
15981598
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
15991599
;;
1600-
*:Ironclad:*:*)
1601-
GUESS=$UNAME_MACHINE-unknown-ironclad
1600+
x86_64:[Ii]ronclad:*:*|i?86:[Ii]ronclad:*:*)
1601+
GUESS=$UNAME_MACHINE-pc-ironclad-mlibc
1602+
;;
1603+
*:[Ii]ronclad:*:*)
1604+
GUESS=$UNAME_MACHINE-unknown-ironclad-mlibc
16021605
;;
16031606
esac
16041607

@@ -1808,8 +1811,8 @@ fi
18081811
exit 1
18091812

18101813
# Local variables:
1811-
# eval: (add-hook 'before-save-hook 'time-stamp)
1814+
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
18121815
# time-stamp-start: "timestamp='"
1813-
# time-stamp-format: "%:y-%02m-%02d"
1816+
# time-stamp-format: "%Y-%02m-%02d"
18141817
# time-stamp-end: "'"
18151818
# End:

config/config.sub

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#! /bin/sh
22
# Configuration validation subroutine script.
3-
# Copyright 1992-2024 Free Software Foundation, Inc.
3+
# Copyright 1992-2025 Free Software Foundation, Inc.
44

55
# shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
66

7-
timestamp='2024-05-27'
7+
timestamp='2025-07-10'
88

99
# This file is free software; you can redistribute it and/or modify it
1010
# under the terms of the GNU General Public License as published by
@@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>."
7676
version="\
7777
GNU config.sub ($timestamp)
7878
79-
Copyright 1992-2024 Free Software Foundation, Inc.
79+
Copyright 1992-2025 Free Software Foundation, Inc.
8080
8181
This is free software; see the source for copying conditions. There is NO
8282
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,6 +145,7 @@ case $1 in
145145
| kfreebsd*-gnu* \
146146
| knetbsd*-gnu* \
147147
| kopensolaris*-gnu* \
148+
| ironclad-* \
148149
| linux-* \
149150
| managarm-* \
150151
| netbsd*-eabi* \
@@ -242,7 +243,6 @@ case $1 in
242243
| rombug \
243244
| semi \
244245
| sequent* \
245-
| siemens \
246246
| sgi* \
247247
| siemens \
248248
| sim \
@@ -261,7 +261,7 @@ case $1 in
261261
basic_machine=$field1-$field2
262262
basic_os=
263263
;;
264-
zephyr*)
264+
tock* | zephyr*)
265265
basic_machine=$field1-unknown
266266
basic_os=$field2
267267
;;
@@ -1194,7 +1194,7 @@ case $cpu-$vendor in
11941194
xscale-* | xscalee[bl]-*)
11951195
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
11961196
;;
1197-
arm64-* | aarch64le-*)
1197+
arm64-* | aarch64le-* | arm64_32-*)
11981198
cpu=aarch64
11991199
;;
12001200

@@ -1321,6 +1321,7 @@ case $cpu-$vendor in
13211321
| i960 \
13221322
| ia16 \
13231323
| ia64 \
1324+
| intelgt \
13241325
| ip2k \
13251326
| iq2000 \
13261327
| javascript \
@@ -1522,6 +1523,10 @@ EOF
15221523
kernel=nto
15231524
os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
15241525
;;
1526+
ironclad*)
1527+
kernel=ironclad
1528+
os=`echo "$basic_os" | sed -e 's|ironclad|mlibc|'`
1529+
;;
15251530
linux*)
15261531
kernel=linux
15271532
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
@@ -1976,6 +1981,7 @@ case $os in
19761981
| atheos* \
19771982
| auroraux* \
19781983
| aux* \
1984+
| banan_os* \
19791985
| beos* \
19801986
| bitrig* \
19811987
| bme* \
@@ -2022,7 +2028,6 @@ case $os in
20222028
| ios* \
20232029
| iris* \
20242030
| irix* \
2025-
| ironclad* \
20262031
| isc* \
20272032
| its* \
20282033
| l4re* \
@@ -2118,6 +2123,7 @@ case $os in
21182123
| sysv* \
21192124
| tenex* \
21202125
| tirtos* \
2126+
| tock* \
21212127
| toppers* \
21222128
| tops10* \
21232129
| tops20* \
@@ -2214,6 +2220,8 @@ case $kernel-$os-$obj in
22142220
;;
22152221
uclinux-uclibc*- | uclinux-gnu*- )
22162222
;;
2223+
ironclad-mlibc*-)
2224+
;;
22172225
managarm-mlibc*- | managarm-kernel*- )
22182226
;;
22192227
windows*-msvc*-)
@@ -2249,6 +2257,8 @@ case $kernel-$os-$obj in
22492257
;;
22502258
*-eabi*- | *-gnueabi*-)
22512259
;;
2260+
ios*-simulator- | tvos*-simulator- | watchos*-simulator- )
2261+
;;
22522262
none--*)
22532263
# None (no kernel, i.e. freestanding / bare metal),
22542264
# can be paired with an machine code file format
@@ -2347,8 +2357,8 @@ echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
23472357
exit
23482358

23492359
# Local variables:
2350-
# eval: (add-hook 'before-save-hook 'time-stamp)
2360+
# eval: (add-hook 'before-save-hook 'time-stamp nil t)
23512361
# time-stamp-start: "timestamp='"
2352-
# time-stamp-format: "%:y-%02m-%02d"
2362+
# time-stamp-format: "%Y-%02m-%02d"
23532363
# time-stamp-end: "'"
23542364
# End:

0 commit comments

Comments
 (0)