Breaking changes
-
The musl distributions are now dynamically linked
Previously, the musl distributions were fully statically linked, which prevented them from being used with extension modules. Now, the musl distributions have a shared
libpython
and dynamically link musl libc. Similar to the GNU libc distributions, this means that musl libc will need to be installed to use these distributions. These distributions are intended for use on musl Linux distributions, such as Alpine. The minimum required musl version is 1.2.2. The statically linked musl distributions are still available and are tagged with the+static
build option, e.g.,cpython-3.10.16+20250311-x86_64-unknown-linux-musl-debug+static-full.tar.zst
. See #541 for implementation details. -
Windows artifacts with the
-shared
suffix will no longer be published: this variant became the default in 20240415 and duplicate archives have been published under the-shared
suffix for backwards compatibility. Use the equivalent archives without the suffix.
Upgrades
-
LLVM 19.1.6 -> 20.1.0
This upgrade also includes a pair of cherry-picked pull requests (llvm/llvm-project#114990 and llvm/llvm-project#120267) that improve handling of computed gotos; fixing a performance regression in LLVM 19 and enabling BOLT optimizations to work on computed gotos.
Distribution changes
- Allow the experimental JIT to be enabled at runtime on Python 3.13 and 3.14 on Linux: for details, see #538 and #543; for macOS support, see #544
Build system changes
- Populate
CXX
during builds to avoid calling the system toolchain
Full Changelog: 2025021...2025031