Releases: astral-sh/python-build-standalone
20250106
Distribution changes
- Support for Python 3.14.0a3 on macOS and GNU Linux (not yet available on Windows and musl Linux)
- Enable loading hot code into 2MB pages (hugify) with BOLT optimizations
- Use the
cdsplitfunction splitting strategy for BOLT optimizations - Enable PGO on x86-64-v4 GNU Linux (the
ltovariant is replaced bypgo+lto)
Upgrades
- autoconf 2.71 -> 2.72
- LLVM 18 -> 19.1.6
- zlib 1.2.13 -> 1.3.1
Fixes
- Add missing parser files to Python 3.13+ Linux and macOS
- Fix detection of SQLite features for the
sqlite3module, e.g.,Connection.serialize - Configure
pkg-configduring CPython builds: improves detection of various minor features - Add missing
-update-debug-sectionflag to BOLT instrumentation - Skip
test_embedtest cases that segfault when BOLT is enabled - Remove use of deprecated
hfsort+strategy in BOLT
Build system changes
- Skip building
pythonbuildwhen not needed - Separate patches for cross-compiling on older Python versions
- Use Python 3.12 to run builds on Windows
- Show Docker build errors when available
- Bump Docker timeout from 60s to 10m
Full Changelog: 2024121...2025010
20241219
Distribution changes
- Strip versioned Xcode path from build flags (#414)
- Sort keys in
sysconfigdata (#415) - Patch
_tkinter.cto look in base prefix (#421) - Remove
-Werror=unguarded-availability-newfromsysconfigdata (#422) - Convert to UTF-8 prior to setting Tkinter path (#425)
- Pass
-utf8tovswhere(#429) - Remove
pgo-only builds on macOS and Linux;pgo+ltobuilds are available (#444)
Build system changes
- Remove
mips/mipseltargets from CI; these were not published (#413) - Scope
libatomicallowance to MIPS on Python 3.13 (#411) - Build system refactor to prepare for parallel Python version building (#419)
- Ignore clean-up errors for Windows temporary directory (#427)
- Require
mimallocexplicitly on all GNU Python 3.13 builds (#391) - Generate CI matrix at dynamically (#428)
Full Changelog: 2024120...2024121
20241206
This release includes a fix for 20241205, please see that release for other changes.
Fixes
- Create a copy of
python3.13t.exeatpython.exeandpythonw3.13t.exeatpythonw.exefor free-threaded Windows distributions: 20241205 attempted to remove the3.13tsuffixed executables, but it caused a regression with the virtual environment launcher. A later release may consolidate these executables under unsuffixed name for consistency. In the meantime, a copy is a simple, compatible solution.
20241205
This release includes a regression for free-threaded Python 3.13 on Windows. No other distribution versions are affected. The regression is resolved in 20241206 See #405 for details.
Breaking
- Drop support for Python 3.8: The 20241008 release was the last release with Python 3.8 distributions. Support has now been removed from the build process.
- Rename
python3.13t.exetopython.exein Windows free-threaded distributions: This matches the other Windows distributions. See astral-sh/uv#8298 for discussion.
Upgrades
- CPython 3.9.20 -> 3.9.21
- CPython 3.10.15 -> 3.10.16
- CPython 3.11.10 -> 3.11.11
- CPython 3.12.7 -> 3.12.8
- CPython 3.13.0 -> 3.13.1
- binutils 2.42 -> 2.43
- jom-windows-bin 1.1.3 -> 1.1.4
- mpdecimal 2.5.1 -> 4.0.0
- pip 24.1.2 -> 24.3.1
- setuptools 70.3.0 -> 75.6.0
- SQLite 3.46.0 -> 3.47.1
- strawberryperl 5.28.1.1 -> 5.38.2.2
- x11-util-macros 1.20.0 -> 1.20.1
Fixes
- Use relocatable shebang with space-in-path robustness
- Enable support for
dbstatvirtual tables in SQLite viaSQLITE_ENABLE_DBSTAT_VTAB - Ensure that
Hacl_Hash_SHA2does not appear as a library to link to
Other
- Build with Visual Studio 2022 instead of 2019
Full Changelog: 2024101...2024120
20241016
Upgrades
- OpenSSL 3.0.14 -> 3.0.15
- expat 2.5.0 -> 2.6.3
Fixes
- Fix freethreaded builds on Windows: The previous release published Windows distributions with the
freethreadedtag but the GIL was not disabled. Now, the freethreaded Windows distributions are correct.
Full Changelog: 2024100...2024101
20241008
Upgrades
- CPython 3.13.0rc3 -> CPython 3.13.0 (final)
Changes
-
New builds of CPython 3.13 with the experimental freethreading feature are published. Distributions with the following new build options are available:
freethreaded+debugfreethreaded+pgo+ltofreethreaded+pgofreethreaded+ltofreethreaded+noopt
Note that not all build options are available for every platform. Notably excluded are freethreaded builds for musl Linux distributions, which need further development. The
freethreadedtag will be present in the newbuild_optionsfield of thePYTHON.jsonmetadata. -
The CPython 3.8 builds are no longer published. Following the release of CPython 3.13, CPython 3.8 is officially EOL and no more versions will be released upstream.
20241002
Upgrades
- CPython 3.12.6 -> 3.12.7
- CPython 3.13.0rc2 -> 3.13.0rc3
Other
- The
PYTHON.jsonmetadata version has been bumped from 7 to 8. The new version includes abuild_optionsfield which will eventually replace theoptimizationsfield. Thebuild_optionsfield contains tags in the same format as theoptimizationsfield. In this release, the contents are identical to theoptimizationsfield, but in a future release, it will contain additional build options such as afreethreadedtag. Theoptimizationsfield is deprecated and will be removed in a future release. In the meantime, it will exclude any new tags added to thebuild_optionsfield that are not related to performance optimizations.
Full Changelog: 2024090...2024100
20240909
Upgrades
- OpenSSL 0.10.64 -> 0.10.66
- CPython 3.12.5 -> 3.12.6
- CPython 3.11.9 -> 3.11.10
- CPython 3.10.14 -> 3.10.15
- CPython 3.91.19 -> 3.9.20
- CPython 3.8.19 -> 3.8.20
Enhancements
- Added support for Python 3.13 (3.13.0rc2)
setuptoolsis no longer bundled for Python 3.12+deepfreeze.ois included in distributions
Other
- The
LICENSEfile was updated to reflect the correct license for the project (MPL 2.0) - The build system displays a better error when unable to connect to Docker
20240814
20240726
Need help choosing which build to use? See documentation at https://gregoryszorc.com/docs/python-build-standalone/20240725/running.html.
Upgrades
- LLVM 17.0.6 -> 18.0.8
- OpenSSL 3.0.13 -> 3.0.14
- SQLite 3.45.1 -> 3.46.0
- setuptools 69.1.0 -> 70.3.0
- pip 24.0 -> 24.1.2
- ncurses 6.4 -> 6.5
- libffi 3.4.4 -> 3.4.6
Enhancements
- A new
install_only_strippedvariant is now included in the release (#279). These builds are constructed by taking theinstall_onlyvariant for each platform and stripping any debug symbols. The resulting builds are significantly smaller, especially on Windows and Linux, but omit debugging symbols. Theinstall_onlybuilds continue to preserve such symbols.
Full Changelog: 2024071...2024072