Skip to content

Releases: indygreg/python-build-standalone

20241016

16 Oct 15:07
78e57bd
Compare
Choose a tag to compare

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

08 Oct 14:51
8c7ac51
Compare
Choose a tag to compare

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 new build_options field of the PYTHON.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

02 Oct 19:42
1baca22
Compare
Choose a tag to compare

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 a build_options field which will eventually replace the optimizations field. The build_options field contains tags in the same format as the optimizations field. In this release, the contents are identical to the optimizations field, but in a future release, it will contain additional build options such as a freethreaded tag. The optimizations field is deprecated and will be removed in a future release. In the meantime, it will exclude any new tags added to the build_options field that are not related to performance optimizations.

Full Changelog: 2024090...2024100

20240909

10 Sep 13:43
ef71d13
Compare
Choose a tag to compare

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

14 Aug 13:36
90d40b4
Compare
Choose a tag to compare

Upgrades

  • CPython 3.12.4 -> 3.12.5

Full Changelog: 2024072...2024081

20240726

25 Jul 23:47
a154d5c
Compare
Choose a tag to compare

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 the install_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. The install_only builds continue to preserve such symbols.

Full Changelog: 2024071...2024072

20240725

25 Jul 13:51
696e8b9
Compare
Choose a tag to compare
20240725 Pre-release
Pre-release

This release was yanked as it lacks the install_only variants.

20240713

14 Jul 01:16
7dcdddd
Compare
Choose a tag to compare

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

15 Apr 16:58
Compare
Choose a tag to compare

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, and x86_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 as cpython-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 and armv7-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

25 Feb 07:02
Compare
Choose a tag to compare

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 in python/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 whatever bin/python3 points to.
  • The file times in tar archives has been updated to UTC midnight on 2024-01-01.