Releases: indygreg/python-build-standalone
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
freethreaded
tag but the GIL was not disabled. Now, the freethreaded Windows distributions should be 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+debug
freethreaded+pgo+lto
freethreaded+pgo
freethreaded+lto
freethreaded+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
freethreaded
tag will be present in the newbuild_options
field of thePYTHON.json
metadata. -
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.json
metadata version has been bumped from 7 to 8. The new version includes abuild_options
field which will eventually replace theoptimizations
field. Thebuild_options
field contains tags in the same format as theoptimizations
field. In this release, the contents are identical to theoptimizations
field, but in a future release, it will contain additional build options such as afreethreaded
tag. Theoptimizations
field is deprecated and will be removed in a future release. In the meantime, it will exclude any new tags added to thebuild_options
field 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)
setuptools
is no longer bundled for Python 3.12+deepfreeze.o
is included in distributions
Other
- The
LICENSE
file 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_stripped
variant is now included in the release (#279). These builds are constructed by taking theinstall_only
variant for each platform and stripping any debug symbols. The resulting builds are significantly smaller, especially on Windows and Linux, but omit debugging symbols. Theinstall_only
builds continue to preserve such symbols.
Full Changelog: 2024071...2024072
20240725
This release was yanked as it lacks the install_only
variants.
20240713
Need help choosing which build to use? See documentation at https://gregoryszorc.com/docs/python-build-standalone/20240713/running.html.
Upgrades
- CPython 3.12.3 -> 3.12.4
Full Changelog: 2024041...2024071
20240415
Need help choosing which build to use? See documentation at https://gregoryszorc.com/docs/python-build-standalone/20240415/running.html.
Upgrades
- CPython 3.12.2 -> 3.12.3
- CPython 3.11.8 -> 3.11.9
- CPython 3.10.13 -> 3.10.14
- CPython 3.9.18 -> 3.9.19
- CPython 3.8.18 -> 3.8.19
- musl libc 1.2.4 -> 1.2.5
Breaking
- The LTO-only build are no longer published for targets which have a PGO+LTO build. Consumers of the LTO-only builds are recommended to migrate to the PTO+LTO variants (#223). Affected triples are:
aarch64-apple-darwin
,x86_64-apple-darwin
,x86_64-unknown-linux-gnu
,x86_64_v2-unknown-linux-gnu
, andx86_64_v3-unknown-linux-gnu
. - The static Windows builds have been removed. Consumers of the static Windows builds must switch to the dynamically-linked Windows builds. See #221 for why this was done.
- The dynamically-linked Windows builds are now published without a
-shared-
tag (e.g.,cpython-3.10.14+20240415-i686-pc-windows-msvc-shared-pgo-full.tar.zst
is now available ascpython-3.10.14+20240415-i686-pc-windows-msvc-pgo-full.tar.zst
). The-shared-
aliases will continue to be uploaded for now, though both assets refer to the same built artifact, and consumers are recommended to migrate to the non-shared
variant (#241).
Other
armv7-unknown-linux-gnueabi
andarmv7-unknown-linux-gnueabihf
artifacts are now published.- The build system now supports building CPython from a local source directory (rather than requiring a source tarball distribution). (#236)
Full Changelog: 2024022...2024041
20240224
Need help choosing which build to use? See documentation at https://gregoryszorc.com/docs/python-build-standalone/20240224/running.html.
- CPython 3.12.1 -> 3.12.2
- CPython 3.11.7 -> 3.11.8
- setuptools 69.0.3 -> 69.1.0
- pip 23.3.2 -> 24.0
- OpenSSL 3.0.12 -> 3.0.13
- SQLite 3.44.2 -> 3.45.1
- libffi 3.3 -> 3.4 (except on Linux musl)
- binutils 2.41 -> 2.42
- LLVM 16.0.3 -> 17.0.6 (macOS only)
- macOS LLVM toolchains now use lld to link instead of the system linker.
- The switch to the lld linker fixed a bug where Apple's system linker (
/usr/bin/ld
) didn't preserve weak symbol references during LTO. This could result in LTO'd macOS distributions crashing on older macOS versions due to a missing symbol reference. See #216 for more. - Various GitHub Actions upgraded. Now using the latest macOS runners and macOS SDKs to build. This should not affect macOS version targeting.
- macOS aarch64 distributions are now built on GitHub Actions runners instead of the author's personal M1 Mac Mini. All built artifacts are now built on GitHub Actions.
- Rework of the terminfo database on Linux distributions. ncurses now looks for the terminfo database in
/etc/terminfo
,/lib/terminfo
, and/usr/share/terminfo
by default. This should result in the terminfo database being found on many popular Linux distributions, including Debian and RedHat variants. Read: the Python REPL should respond to key presses like backspace properly. In addition, the distribution archive contains a copy of the terminfo database inpython/install/usr/share/terminfo
. However, this terminfo database won't be used automatically at runtime unless custom code is run to point ncurses at it. See the documentation for more. - Linux and macOS distributions now contain a
bin/python
symlink that points to whateverbin/python3
points to. - The file times in tar archives has been updated to UTC midnight on 2024-01-01.