Skip to content

Releases: indygreg/python-build-standalone

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.

20240107

08 Jan 05:47
Compare
Choose a tag to compare
  • CPython 3.11.6 -> 3.11.7
  • CPython 3.12.0 -> 3.12.1
  • pip 23.2.1 -> 23.3.2
  • setuptools 68.2.2 -> 69.0.3
  • OpenSSL 3.0.11 -> 3.0.12
  • SQLite 3.43.1 -> 3.44.2
  • ncurses 6.3 -> 6.4
  • libX11 1.6.8 -> 1.6.12
  • libXau 1.0.7 -> 1.0.11
  • libcxb 1.13.1 -> 1.14
  • libpthread-stubs 0.1 -> 0.5
  • x11-util-macros 1.19.2 -> 1.20.0
  • xtrans 1.4.0 -> 1.5.0
  • LLVM 17.0.1 -> 17.0.6 (Linux builds only)
  • (Windows) sys.winver is now defined properly on CPython 3.10+ (#199)
  • CPython 3.8, 3.9, and 3.10 Linux distributions no longer link against libcrypt.so.1 outside of the _crypt extension module. This was the intended behavior of recent releases but the intended behavior was only working correctly on CPython 3.11 and 3.12. (#197)
  • tzset() function is now force enabled on Linux builds. Previously, cross-compiled distributions likely had it disabled. This enables the time.tzset() Python function to work. (#196)
  • On Linux and macOS, various distribution configuration files are now normalized post build to remove Clang specific compiler flags and references to build paths. e.g. on Linux, before CFLAGS was reported as -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -fdebug-default-version=4 -fPIC -I/tools/deps/include -I/tools/deps/include/ncursesw -I/tools/deps/libedit/include and afterwards it is -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -fPIC. This change should make distributions more portable. The practical effect of this change is that build systems keying off the build settings embedded in the distribution should now have a higher probability of working if they were broken before. (#194)

20231002

02 Oct 22:57
Compare
Choose a tag to compare
  • CPython 3.12.0 now supported. These distributions should be considered beta quality since it is their initial release and typically there are both upstream bugs and bugs in our packaging in the initial release. So exercise caution before deploying to production.
  • CPython 3.8.17 -> 3.8.18
  • CPython 3.11.5 -> 3.11.6
  • OpenSSL 1.1 -> 3.0 on supported platforms. Linux and macOS now use OpenSSL 3.0.x. Windows uses OpenSSL 3.0.x on CPython 3.11+.
  • OpenSSL 3.0.11
  • OpenSSL 1.1.1v -> 1.1.1w
  • We are no longer publishing i686-unknown-linux-gnu distributions due to lack of downloads. If this inconveniences you, please file an issue and explain how this impacts you.
  • autoconf 2.69 -> 2.71
  • SQLite 3.43.0 -> 3.43.1
  • setuptools 68.1.2 -> 68.2.2
  • LLVM 16.0.3 -> 17.0.1 on Linux (macOS held back for the moment due to compatibility issues)
  • BOLT is now enabled on CPython 3.12 on Linux x86_64 non-musl targets.

20230826

26 Aug 14:58
Compare
Choose a tag to compare
  • CPython 3.11.4 -> 3.11.5
  • CPython 3.10.12 -> 3.10.13
  • CPython 3.9.17 -> 3.9.18
  • CPython 3.8.16 -> 3.8.17
  • setuptools 68.0.0 -> 68.1.2
  • SQLite 3.42 -> 3.43
  • OpenSSL 1.1.1u -> 1.1.1v
  • binutils 2.40 -> 2.41