Skip to content

Releases: astral-sh/python-build-standalone

20220227

27 Feb 18:35
Compare
Choose a tag to compare
  • SQLite upgraded from 3.37.2.0 to 3.38.0.0.
  • setuptools upgraded from 60.8.2 to 60.9.3.
  • The _tkinter extension module now links against the QuartzCore framework on macOS. The extension module likely worked before but the missing link annotation could result in problems if the build artifacts were relinked.
  • Windows distributions now properly annotate their dependence on pathcch and shlwapi.
  • The release machinery has been overhauled.
    • Install only archives are now created at release time instead of in CI.
    • install_only.tar.gz archives are now published for every released target architecture.
    • The full .tar.zst archives now have a -full suffix to denote them as such.
    • The release artifact filename now has the form cpython-<version>+<tag>-<triple>-<build>-<archive variant> instead of cpython-<version>-<triple>-<build>-<archive variant>-<timestamp>.
    • There are *.sha256 files published for each release archive containing the SHA-256 of that archive.
    • There is a SHA256SUMS file published containing the SHA-256 of every file in the release.

20220222

26 Feb 18:29
Compare
Choose a tag to compare
  • Python extension suffix in PYTHON.json files are now correct when cross-compiling.
  • CPython distributions upgraded from 3.9.7 to 3.9.10 and 3.10.0 to 3.10.2.
  • setuptools upgraded from 58.1.0 to 60.8.2.
  • pip upgraded from 21.2.4 to 22.0.3.
  • Windows Python 3.8 distributions now work on Windows 7.
  • shlwapi links annotation removed from Windows CPython 3.9 distributions.
  • Windows distributions now all use libffi 3.4.2. This is different from official CPython distributions, which only use libffi 3.4.2 on Python 3.11+.
  • tcl/tk upgraded from 8.6.10 to 8.6.12.
  • Tix has been removed from macOS due to compilation errors.
  • SQLite upgraded from 3.36.0 to 3.37.2.
  • OpenSSL upgraded from 1.1.1l to 1.1.1m.
  • ncurses upgraded from 6.2 to 6.3.
  • readline upgraded from 8.1 to 8.1.2.
  • binutils upgraded from 2.37 to 2.38.
  • clang upgraded from 13.0.0 to 13.0.1.
  • Added target triples x86_64_v2-unknown-linux-gnu, x86_64_v3-unknown-linux-gnu, x86_64_v4-unknown-linux-gnu, x86_64_v2-unknown-linux-musl, x86_64_v3-unknown-linux-musl, and x86_64_v4-unknown-linux-musl. These targets contain more x86-64 instructions for more modern CPUs and result in faster performance of the Python interpreter. The trade-off is that these binaries won't run on ~every x86-64 CPU manufactured. Most x86-64 CPUs in use today support v2 and CPUs manufactured since the Intel Haswell era support v3. v4 requires AVX-512 instructions and requires a CPU manufactured in the past few years.

20211017

17 Oct 21:34
Compare
Choose a tag to compare
  • x86_64-apple-darwin distributions are now compiled against macOS SDK 11.1 (downgraded from 11.3). This restores build compatibility with Xcode present in many macOS 10.15 environments.
  • LLVM/Clang upgraded from 12.0.1 to 13.0.0.
  • PYTHON.json files now properly annotate system library and framework linking requirements for the Python core. Previously, only extensions had their link requirements annotated. This missing annotations meant that it was possible for some libraries to not be linked explicitly and for there to be missing libraries/symbols at link time.
  • xcb-proto upgraded from 1.13 to 1.14.1.
  • Linux binaries no longer use pthread_yield(), ensuring they re-link with glibc 2.34, which deprecated this symbol. (Due to glibc symbol visibility, older distributions will run on glibc 2.34+: they just couldn't be re-linked against 2.34+.)

This release was made a few days after 20211012 and is more tested than that release. It's release notes may be worth reading.

20211012

13 Oct 01:06
Compare
Choose a tag to compare
  • Initial release with CPython 3.10 final (3.10.0)
  • CPython 3.9.6 upgraded to 3.9.7.
  • CPython 3.8.11 upgraded to 3.8.12.
  • pip upgraded from 21.1.3 to 21.2.4.
  • setuptools upgraded from 57.4.0 to 58.1.0.
  • OpenSSL upgraded from 1.1.1k to 1.1.1l.
  • libedit upgraded from 20210714-3.1 to 20210910-3.1.
  • gdbm upgraded from 1.18.1 to 1.21.
  • macOS builds are all now produced on macOS 11 against the 11.3 SDK. x86_64 builds still target macOS 10.9+.
  • Cross-compiled Linux distributions should now have a functional pip install.
  • Windows distributions no longer have pip.exe executables since they didn't work.
  • CPython 3.10 builds use libedit instead of readline as the backend for the readline extension. This effectively removes a GPL dependency.
  • CPython 3.10 no longer contains the _gdbm extension.
  • CPython 3.10 builds no longer link against any GPL licensed components and should no longer be subject to copyleft licensing.

This was a significant release. But it was superseded a few days later by 20211017. This release wasn't as well tested and it is encouraged to use the 20211017 release instead.

20210724

25 Jul 00:03
Compare
Choose a tag to compare
  • CPython 3.8 upgraded from 3.8.10 to 3.8.11.
  • CPython 3.9 upgraded from 3.9.5 to 3.9.6.
  • LLVM/Clang upgraded from 12.0.0 to 12.0.1.
  • libedit upgraded from 20210216-3.1 to 20210714-3.1.
  • LibreSSL upgraded from 3.2.5 to 3.3.3.
  • pip upgraded from 21.1.1 to 21.1.3.
  • setuptools upgraded from 56.1.0 to 57.4.0.
  • SQLite upgraded from 3.35.5 to 3.36.0.
  • Shebangs in scripts have been rewritten so they should now pick up the Python distribution in the archive. This means pip3 and other Python scripts should now work correctly.
  • CoreFoundation is properly listed as a tkinter dependency in macOS distributions.
  • ELF binaries in Linux distributions have a / in DT_NEEDED to force relative path loading.
  • macOS distributions now reference /private/etc/ssl as the OpenSSL directory.
  • macOS distributions no longer build libedit and ncurses and instead use the system installed libraries.
  • There are now various *-install_only-*.tar.gz release artifacts containing a gzipped tar archive of just the Python installation. These artifacts can be more readily consumed by tools just wanting to run a Python interpreter.

20210506

06 May 20:21
Compare
Choose a tag to compare
  • CPython upgraded from 3.8.9 to 3.8.10 and 3.9.4 to 3.9.5
  • LLVM/Clang upgraded from 11.1.0 to 12.0.0
  • SQLite upgraded from 3.35.4 to 3.35.5
  • pip upgraded from 20.0.1 to 21.1.1
  • setuptools upgraded from 56.0.0 to 56.1.0
  • reallocarray() is now disabled in musl Linux distributions to provide linking compatibility with older versions of musl libc lacking this symbol

20210415

15 Apr 14:55
Compare
Choose a tag to compare
  • CPython 3.9.3 upgraded to 3.9.4.
  • Setuptools upgraded from 54.2.0 to 56.0.0.

20210414

14 Apr 18:27
Compare
Choose a tag to compare
  • CPython upgraded to 3.9.3 and 3.8.9.
  • ctypes extension is now usable on more architectures (see #76).
  • SQLite upgraded to 3.35.4.
  • GCC upgraded to 10.3.0.
  • Various tweaks to the build system to make dependency detection more robust.
  • The Rust distribution verifier can now optionally run Python interpreter tests to validate distribution behavior.

20210327

27 Mar 19:23
Compare
Choose a tag to compare
  • Setuptools upgraded to 54.2.0
  • The libedit variant of the readline extension on Linux no longer references an undefined rl_callback_sigcleanup symbol.

20210325

26 Mar 00:14
Compare
Choose a tag to compare
  • nis extension is no longer built on Linux. This extension was adding a dependency on libnsl, which isn't part of the Linux Standard Base. Modern Linux distributions are dropping libnsl from the base install, leading to missing libraries at run-time. See discussion in #51 for more.
  • macOS Python 3.8 is now built against the 10.15 SDK instead of 11.x.
  • PYTHON.json version incremented to 7 to add Apple SDK metadata.
  • musl libc upgraded to 1.2.2.
  • setuptools upgraded to 54.1.1.
  • LibreSSL upgraded to 3.2.5.
  • OpenSSL upgraded to 1.1.1k.
  • SQLite upgraded to 3.35.2.