This page helps us make educated decisions about how far we can bump our minimum library versions by letting us know what library versions are supported on different operating system versions. Linux is somewhat special here because it tends to be hard to upgrade these libraries without changing entire versions. Although we have more control over libraries on Windows and macOS, we are still often limited by official support for specific OS versions.
Library and tool versions
This sections tracks versions and release dates of various libraries and tools.
Qt
Release dates can be found in Qt-X.Y-release articles at https://wiki.qt.io/Category:Release
The Qt Company officially supports the following platforms and configurations.
The highlighted Wireshark versions below mark the Qt version that is shipped with the macOS and Windows installers. For supported macOS hardware and maximum macOS versions, see also https://en.wikipedia.org/wiki/MacOS#Hardware_compatibility
Qt version | Date | Notes |
---|---|---|
4.6.0 | Dec 2009 | Minimum required version in initial porting effort |
4.7.0 | Sep 2010 | Minimum required version since v1.99.10rc0-296-gcc9de69b |
4.8.0 | Dec 2011 | Minimum required version since v2.3.0rc0-1002-g1cd22559 (Qt Long Term Support (LTS) release) |
5.0.0 | Dec 2012 | Minimum required version on Windows and macOS since v2.3.0rc0-1178-ge8588294 |
5.1.0 | Jul 2013 | |
5.2.0 | Dec 2013 | Minimum required version since v2.9.0rc0-27-g5d8964cd |
5.3.0 | May 2014 | Minimum required version since v3.3.0rc0-111-g14e4759b56 OS X 10.6 Snow Leopard through 10.9 Mavericks, Wireshark 2.6.x. |
5.4.0 | Dec 2014 | Mac OS X 10.7 Lion through 10.10 Yosemite, "limited" support for 10.6 Snow Leopard |
5.5.0 | Jul 2015 | Mac OS X 10.7 Lion through 10.10 Yosemite |
5.6.0 | Mar 2016 | Minimum required version since February 2021 (v3.5.0rc0-1032-gabf9e027fc). Long Term Support (LTS) release, OS X 10.8 Mountain Lion through 10.11 El Capitan |
5.7.0 | Jun 2016 | Requires C++11, OS X Mountain Lion through El Capitan |
5.8.0 | Jan 2017 | OS X Mavericks through Sierra |
5.9.0 | May 2017 | Minimum required version since April 2022 (v3.7.0rc0-1874-g13075b4ff0) Long Term Support (LTS) release, OS X 10.10 Yosemite through 10.12 Sierra, Wireshark 3.0.0rc1 (macOS only) |
5.10.0 | Dec 2017 | Minimum required version since July 2022 (v3.7.2rc0-116-g06cd84a6e9) OS X El Capitan through High Sierra |
5.11.0 | May 2018 | Minimum required version since November 2023 (v4.3.0rc0-524-g520f0d8e26) OS X 10.11 El Capitan through 10.13 High Sierra |
5.12.0 | Dec 2018 | Long Term Support (LTS) release, macOS 10.12 Sierra through 10.14 Mojave, Wireshark 3.0.x, 3.2.x, 3.4.x (3.4.x macOS only) |
5.13.0 | Jun 2019 | macOS Sierra through Mojave |
5.14.0 | Dec 2019 | macOS 10.13 High Sierra through 10.15 Catalina |
5.15.0 | May 2020 | Minimum required version since October 2024 (v4.5.0rc0-722-g018c1ca00d) Long Term Support (LTS) release, macOS 10.13 High Sierra through 10.15 Catalina, Wireshark 3.4.x, 3.6.x, 4.0.x (3.4.x and 4.0.x Windows only) |
6.0.0 | Aug 2020 | No official support for 32-bit Windows or Windows prior to Windows 10, Requires C++17, macOS 10.14 through 11 |
6.1.0 | May 2021 | macOS 10.14 through 12 |
6.2.0 | Sep 2021 | Long Term Support (LTS) release, macOS 10.14 through 12, Wireshark 4.0.x, 4.2.x (macOS only) |
6.3.0 | Mar 2022 | macOS 10.14 through 12 |
6.4.0 | Sep 2022 | macOS 10.14 through 13 |
6.5.0 | Mar 2023 | Long Term Support (LTS) release, macOS 11 through 13, Wireshark 4.2.x, 4.4.x (4.2.x Windows only) |
6.6.0 | Oct 2023 | macOS 11 through 13 |
6.7.0 | Apr 2024 | macOS 11 through 14 |
GLib and GTK+
Note: GTK+ support was completely dropped in Wireshark 3.0 (v2.9.0rc0-33-g36dc5781ba), so we don't bother tracking it anymore (x)
GLIB version | Gtk2 version | Gtk3 version | Date | Notes |
---|---|---|---|---|
2.12 | 2.10 | Jul 2006 | GTK+ 2.12 is min. req. since 11 July 2011 | |
2.14 | Aug 2007 | GLib 2.14 is min. req. since 11 July 2011 (old) | ||
2.22 | 2.18 | Sep 2009 | GLib 2.22 is min. req. since Aug 2016 (v2.3.0rc0-201-gd21295f9) | |
2.28 | 3.0 | Feb 2011 | GTK+ 3.0 is the minimum supported version next to GTK+ 2). | |
2.32 | 3.4 | Feb 2012 | GLib 2.32 is min. req. since Apr 2018 (v2.9.0rc0-34-gb30e3d42) | |
2.36 | 3.8 | Mar 2013 | GLib 2.36 is min. req. since Nov 2020 (v3.5.0rc0-201-g15d315c2ae) | |
2.38 | 3.10 | Oct 2014 | GLib 2.38 is min. req. since Mar 2021 (v3.5.0rc0-1150-g2d7b68aa09) | |
2.50 | 3.22 | Sep 2016 | GLib 2.50 is min. req. since Apr 2022 (v3.7.0rc0-1892-g2dd07bc5b9) | |
2.54 | x | Jan 2018 | GLib 2.54 is min. req. since Nov 2022 (v4.1.0rc0-746-ge449b560c0) | |
2.56 | x | Mar 2018 | RHEL8, Ubuntu Bionic (18.04) | |
2.58 | x | Sep 2018 | Debian Buster | |
2.60 | x | Mar 2019 | ||
2.62 | x | Sep 2019 | ||
2.64 | x | Feb 2020 | Ubuntu Focal (20.04) | |
2.66 | x | Sep 2020 | Debian Bullseye | |
2.68 | x | Mar 2021 | RHEL9 | |
2.70 | x | Sep 2021 | OpenSUSE 15.4 | |
2.72 | x | Mar 2022 |
GnuTLS
Note: GnuTLS has a stable branch, and sometimes a development branch and/or a previous stable branch. These are not always obvious, as the development branch becomes the stable branch when it is deemed ready; e.g. in July 2018 3.5.x was the stable branch (announcement), 3.6.x was the development branch (announcement), 3.3.x was the previous stable branch receiving bug-fixes (announcement), and 3.4.x was unsupported.
Version | Date | Notes |
---|---|---|
1.2.0 | Jan 2005 | Min. req. since at least Jun 2009 (old) |
2.8.0 | May 2009 | |
2.10.0 | Jun 2010 | |
2.12.0 | Mar 2011 | Min. req. since Oct 2015 (v2.1.0rc0-244-gfe1ab42f). Last of the 2.x series. |
3.0.0 | Jul 2011 | License changed from LGPLv2.1+ to LGPLv3 (incompatible license) |
2.12.18 | Mar 2012 | Windows releases from Wireshark 1.4.13+, 1.6.7+, 1.8+ (r330) |
3.1.10 | Mar 2013 | License changed back to LGPLv2.1+ (development version) |
3.2.0 | May 2013 | Min. req. since Nov 2018 (v2.9.0rc0-2678-gbcd32b07) |
3.1.22 | Mar 2014 | Windows releases from Wireshark 1.12+ (r400) |
3.2.15 | May 2014 | Windows releases from Wireshark 1.12.2+, 2.0+ (r409) |
3.3.0 | Apr 2014 | Min. req. since Jan 2021 (v3.5.0rc0-530-gfbd3fb3138) |
3.3.27 | Mar 2017 | SLES 12SP3 (and later) |
3.3.29 | Feb 2018 | RHEL7 |
3.4.0 | Apr 2015 | (gnutls_pubkey_import_privkey is working now for PKCS#11, commit) |
3.4.10 | Mar 2016 | Ubuntu 16.04 |
3.4.11 | Apr 2016 | Windows releases from Wireshark v2.3.0rc0-2384-g0b8a12fd |
3.5.8 | Jan 2016 | Min. req. since Apr 2022 (v3.7.0rc0-1897-gd2064ae188). Replaced 3.4.x as stable release branch (announcement). Debian Stretch |
3.5.18 | Feb 2018 | Ubuntu 18.04 |
3.6.2 | Feb 2018 | New flag: GNUTLS_PKCS11_TOKEN_PROTECTED_AUTHENTICATION_PATH |
3.6.3 | Jul 2018 | Addition of low-level PKCS#11 API: gnutls_pkcs11_token_get_ptr. Windows releases from Wireshark 2.9.1rc0-181-gcfd79b4701 |
3.6.4 | Sep 2018 | Ubuntu 18.10, Fedora 28, 29 |
3.6.5 | Dec 2018 | Replaces 3.5.x as stable releases branch (announcement). |
3.6.7 | Mar 2019 | Debian Buster, SLES15 SP2 / OpenSUSE Leap 15.2 |
3.6.8 | May 2019 | RHEL8 |
3.6.13 | Mar 2020 | Ubuntu 20.04LTS |
3.7.9 | Feb 2023 | Windows releases from v4.1.0rc0-2510-g46dd9c31bb |
Libgcrypt
Version | Date | Notes |
---|---|---|
1.1.92 | Feb 2004 | Min. req. since Jul 2008 (old) |
1.4.0 | Dec 2007 | |
1.4.2 | Sep 2008 | Min. req. since Oct 2015 (v2.1.0rc0-189-g82ec0bb0) |
1.4.6 | Jul 2010 | Windows releases from Wireshark 1.4.13+, 1.6.7+, 1.8+ (r330) |
1.5.0 | Jun 2011 | Min. req. since Jan 2021 (v3.5.0rc0-512-g5c936174c6). Needed for simpler PKCS#1 padding handling in SSL |
1.5.3 | Jul 2013 | RHEL7 |
1.6.0 | Dec 2013 | Windows releases from 1.12+ (r400). Needed for AEAD support in ISAKMP (AESCCM) and TLS (CCM/GCM) |
1.6.1 | Jan 2014 | SLES 12 |
1.6.2 | Aug 2014 | Windows releases from Wireshark 1.12.2, 2.0+ (r409) until 2.6 |
1.6.5 | Feb 2016 | Ubuntu 16.04LTS |
1.7.0 | Apr 2016 | Needed for ChaCha20-Poly1305 support (TLS 1.3 decryption) |
1.7.2 | Jul 2016 | Ubuntu 16.10 |
1.7.6 | Jan 2017 | Debian Stretch, Windows releases from v2.3.0rc0-2384-g0b8a12fd |
1.8.0 | Jul 2017 | Min. req. since April 2022 (v3.7.0rc0-1876-gb80cdaa243) Needed for Blake2s support (WireGuard decryption) |
1.8.1 | Aug 2017 | Ubuntu 18.04LTS |
1.8.2 | Dec 2017 | SLES 15 |
1.8.3 | Jun 2018 | Windows releases from v2.9.0rc0-1361-g4d015678, Debian Buster, RHEL8 |
1.8.5 | Aug 2019 | Ubuntu 20.04LTS |
1.10.2 | Apr 2023 | Windows releases from v4.1.0rc0-2503-g035f9531f3 |
CMake
See also https://gitlab.kitware.com/cmake/community/-/wikis/CMake-Versions-on-Linux-Distros for a longer list of distributions. See also https://github.com/curl/curl/pull/990#issuecomment-245112823 for a history of CMake version + changes.
Version | Date | Notes |
---|---|---|
2.8.3 | Nov 2010 | Minimum required version for non-Windows (before Feb 2016) |
2.8.8 | Apr 2012 | Minimum required version for non-Windows (as of Feb 2016, v2.1.0rc0-2202-g6b54fbf3) |
2.8.11 | May 2013 | Minimum required version for non-Windows (as of Oct 2017, v2.5.0rc0-1352-gf19a2c0b) |
2.8.12 | Nov 2013 | Last 2.8 release |
3.1.3 | Feb 2015 | Minimum required version for Windows (as of Apr 2015, v1.99.6rc0-369-g0d37980a) |
3.5.1 | Mar 2016 | Minimum required version for non-Windows (as of May 2018, v2.9.0rc0-547-g4c1690ac). |
3.7.0 | Jan 2017 | Minimum required version for Windows (as of Jun 2017, v2.5.0rc0-92-g4edc6115). |
3.10.0 | Nov 2017 | Minimum required version for non-Windows (as of Apr 2022, v3.7.0rc0-1889-g3407992cb4). SLES 15 (3.10.2) |
3.11.0 | Mar 2018 | RHEL8 (3.11.4) |
3.13.0 | Nov 2018 | Debian Buster (3.13.4); Minimum required version for Windows (as of Sep 2019, v3.1.1rc0-398-g990e409273) and non-Windows (as of Nov 2022, v4.1.0rc0-848-gd7ae26bf6c) |
3.14.0 | Mar 2019 | Initial VS 2019 generator |
3.16.0 | Nov 2019 | Required for Qt 6. Ubuntu 20.04 (3.16.3); Minimum required version (as of Oct 2024, v4.5.0rc0-572-gc7d99f6951) |
3.17.0 | Mar 2020 | SLES 15SP2 (3.17.0) |
3.18.0 | Jul 2020 | Debian Bullseye (3.18.4), RHEL8.4 (3.18.2) |
3.19.2 | Dec 2020 | Apple Silicon first supported |
3.20.0 | Mar 2021 | RHEL8.5 (3.20.2), SLES 15SP4 (3.20.4) |
3.22.0 | Jul 2021 | Ubuntu 22.04 (Jammy) (3.22.1) |
3.25.0 | Nov 2022 | Debian Bookworm (3.25.1) |
3.26.0 | Mar 2023 | RHEL8.10 (3.26.5) |
3.28.0 | Dec 2023 | SLES 15SP6 (3.28.3) |
Python
Python 3.6 or newer has become required since v3.7.1rc0-315-gdac75fba7f. The test suite requires pytest and pytest-xdist. Pytest must be at least 3.9.0 due to the use of the tmp_path
fixture.
Distro | package version |
---|---|
RHEL/CentOS 8 | python3-pytest 3.4.2 |
On older systems, you can install it via: pip3 install pytest pytest-xdist
Lua
Lua 5.1 and 5.2 have been the only supported versions due to the bitop library (Bug 10881). Lua 5.3 and 5.4 will be the only supported versions in Wireshark 4.4.0 (Lua BitOp has been ported to Lua 5.3 and 5.4, though the newer native Lua bit operation support is also available.)
Almost all current Linux and other UN*X distributions have a Lua 5.3 or 5.4 package, and most have a Lua 5.1, 5.2, or LuaJIT (largely 5.2) package.
Nghttp2
nghttp2 is required for complete HTTP/2 support. It also powers HTTP/2 support in curl, and should be increasingly available. The package name is typically "libnghttp2".
Platform | version |
---|---|
RHEL/CentOS 7 (EPEL) | 1.31.1 |
RHEL/CentOS 8 | 1.33.0 |
Fedora 29 | 1.39.2 |
Debian Stretch | 1.18.1 |
Ubuntu 16.04 | 1.7.1 |
Ubuntu 18.04 | 1.30.0 |
macOS (homebrew) | 1.39.2 |
SLES 12 SP5 | 1.7.1 |
SLES 15 | 1.40.0 |
The minimum version is 1.11.0 as of April 2022 (v3.7.0rc0-1902-g91987dc0ab), to eliminate the need for a deprecated function.
Libssh
libssh (not to be confused with libssh2) is used by several of the extcaps.
Version | Date | Notes |
---|---|---|
0.6.0 | Jan 2014 | Min. req. since Nov 2015 (v2.1.0rc0-635-gd6da95231e) |
0.8.5 | Oct 2018 | Min. req. since Jan 2024 (v4.3.0rc0-1276-g49ada98a88) |
0.8.7 | Feb 2019 | Debian Buster, OpenSUSE 15.2 |
0.9.0 | Jun 2019 | AES-GCM, ECDSA/Ed25519 certs, DH Group Exchange KEX, etc. macOS releases since 3.2.0 |
0.9.2 | Dec 2019 | Better package provided CMake config file |
0.9.3 | Dec 2019 | Ubuntu Focal |
0.9.5 | Sep 2020 | Windows releases since 3.6.0 |
0.9.6 | Aug 2021 | Ubuntu Jammy, RHEL8, OpenSUSE 15.4, macOS releases since 4.0.0 |
0.9.8 | Dec 2023 | Debian Bullseye |
0.10.0 | Aug 2022 | SHA-1 and DSA disabled by default |
0.10.4 | Sep 2022 | RHEL9 |
0.10.5 | May 2023 | Windows and macOS releases since 4.2.0 |
0.10.6 | Dec 2023 | Debian Bookworm |
0.11.0 | June 2024 (est.) | Easier to add back algorithms, better logging |
Linux Distributions
Note: This site allows you to enter a package name and see which Red Hat-based distributions use what version of the package.
https://pkgs.org/ also provided a service to identify the latest versions.
https://distrowatch.com/ is also another good source for seeing package versions in various distributions.
RHEL/CentOS
Latest versions are listed, earlier versions are between parentheses.
Distribution | Initial Release | End of Normal Support | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|---|---|
Red Hat EL/CentOS 7 | 2014/6 | 2024/6 | 2.50.3 (2.40.0, 2.36.3) | 5.9.7 (5.6.2) | (none) |
Red Hat EL/CentOS 8 | 2019/5 | 2029/5 | 2.56.4 | 5.15.2 (5.12.15, 5.11.1) | (none) |
Red Hat EL/CentOS 9 | 2022/5 | 2032/5 | 2.68.4 | 5.15.2 | EPEL:6.6.2 |
Note: EPEL is an optional repository for extra packages.
Fedora
Releases can be found at https://fedoraproject.org/wiki/Releases. Every 6 months a new version is released with 13 months of support.
Distribution | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|
Fedora 28 | 2.56.4 | 5.11.3 | (none) |
Fedora 33 | 2.66.4 | 5.15.2 | (none) |
Fedora 34 | 2.68.1 | 5.15.2 | 6.2.1 |
Fedora 35 | 2.70.2 | 5.15.2 | 6.2.1 |
Fedora 36 | 2.72.0 | 5.15.3 | 6.3.1 |
Fedora 37 | 2.74.1 | 5.15.6 | 6.3.1 |
Fedora 38 | 2.76.1 | 5.15.8 | 6.4.3 |
Fedora 39 | 2.78.0 | 5.15.10 | 6.6.2 (6.5.2) |
Fedora 40 | 2.80.3 | 5.15.14 | 6.7.1 (6.6.2) |
SUSE Linux Enterprise Server
Ten years of General Support for a major version, with a six month window to upgrade to the latest Service Pack after it is released. Version numbering skipped from 12 to 15. As of version 15 openSUSE and SLES closely track each other.
Building with Qt6 on SLES and openSUSE is tricky because the default compiler is gcc-7.5.0, which has incomplete C++17 support (and Qt6 requires C++17). It will error complaining about #include <filesystem>
statements (on gcc 7 these must be #include <experimental/filesystem>
- https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html) unless a different C++ compiler is installed and used.
Distribution | Initial release | End of Normal Support | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|---|---|
SLES 15 | 2018/07 | 2019/12 | 2.54.3 | 5.9.4 | |
SLES 15 SP1 | 2019/06 | 2021/01 | 2.54.3 | 5.9.4 | |
SLES 15 SP2 | 2020/07 | 2022/01 | 2.62.5 | 5.12.7 | |
SLES 15 SP3 | 2021/06 | 2023/01 | 2.62.5 | 5.12.7 | |
SLES 15 SP4 | 2022/06 | 2024/01 | 2.70.4 | 5.15.2 | |
SLES 15 SP5 | 2023/06 | 2025/01 | 2.70.5 | 5.15.8 | 6.4.2 (experimental) |
SLES 15 SP6 | 2024/06 | 2028/07 | 2.70.5 | 5.15.8 | 6.6.3 (experimental) |
openSUSE
Version numbering changed over time: ..., 13.2, Leap 42.1, ..., Leap 42.3, Leap 15.0. From openSUSE Leap: Each major version at least 36 months lifetime, until the next major Leap version is available, with a six month window to upgrade to the latest minor release. Minor releases are expected to be roughly annually, thus giving approximately an 18 months total lifetime. Until openSUSE 13.2: 8 month release cycle, 18 months lifetime, see https://en.opensuse.org/Lifetime
Search for packages in openSUSE here: https://software.opensuse.org/search
Distribution | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|
openSUSE Leap 15.0 | 2.54.3 | 5.9.4 | (none) |
openSUSE Leap 15.2 | 2.62.5 | 5.12.7 | (experimental) |
openSUSE Leap 15.3 | 2.62.6 | 5.12.7 | (experimental) |
openSUSE Leap 15.4 | 2.70.4 | 5.15.2 | (experimental) |
openSUSE Leap 15.5 | 2.70.5 | 5.15.8 | 6.4.2 (experimental) |
openSUSE Leap 15.6 | 2.78.6 | 5.15.12 | 6.6.3 (experimental) |
Debian
Distribution | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|
bullseye | 2.66.8 | 5.15.2 | 6.4.2 (backports) |
bookworm | 2.74.6 | 5.15.8 | 6.4.2 |
trixie (testing) | 2.78.3 | 5.15.10 | 6.4.2 |
Ubuntu
Releases are on a 6 month release cycle, 9 month (regular), 5 years (LTS) lifetime.
Distribution | GLIB version | Qt5 version | Qt6 version |
---|---|---|---|
focal (20.04LTS) | 2.64.2 | 5.12.8 | x |
hirsute (21.04) | 2.66.0 | 5.15.2 | x |
impish (21.10) | 2.68.2 | 5.15.2 | x |
jammy (22.04) | 2.72.1 | 5.15.3 | 6.2.4 |
noble (24.04) | 2.78.0 | 5.15.13 | 6.4.2 |
There are PPAs for focal (and earlier) with Qt 6.2 and Qt 5.15 packages backported from later releases.
macOS
Third party libraries can be installed on macOS using the tools/macos-setup.sh
script in the Wireshark sources (or macosx-setup.sh
in the top-level directory in source releases up to 2.4.x). You can show a list of libraries and their versions by running grep '\\\_VERSION=\\\[0-9\\\]' tools/macos-setup.sh
.
Many developers also install libraries using Homebrew and the tools/macos-setup-brew.sh
script.
Windows
FOSS library packaging and distribution on Windows has historically been a mess, but things are improving. Two notable projects that might fix this are vcpkg and Conan. Neither of them provide packages for all of the libraries that we use, so we maintain repositories of 64-bit packages which are installed using tools/win-setup.ps1
in the Wireshark sources.
Library | vcpkg | Conan | Notes |
---|---|---|---|
Bcg729 | yes | no | |
Brotli | yes | yes | |
c-ares | yes | yes | |
GLib | yes | yes | |
GnuTLS | almost | no | GnuTLS provides Windows builds |
iLBC | yes | no | |
Kerberos (krb5) | no | no | vcpkg requested |
libgcrypt | almost | no | vcpkg port is Linux / macOS only. |
libmaxminddb | yes | no | |
libpcap | yes | yes | |
libsmi | no | no | |
libssh | yes | no | This is not the same as libssh2. |
libxml2 | yes | yes | |
Lua | yes | yes | |
lz4 | yes | yes | |
minizip | yes | yes | |
Nghttp2 | yes | yes | |
opus | yes | yes | |
Qt | yes | no | |
SBC | no | no | |
Snappy | yes | yes | |
WinSparkle | no | no | |
Zlib | yes | yes | |
zstd | yes | yes |
Imported from https://wiki.wireshark.org/Development/Support_library_version_tracking on 2020-08-11 23:13:11 UTC