Releases: astral-sh/python-build-standalone
Releases · astral-sh/python-build-standalone
20220222
- 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
, andx86_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 supportv2
and CPUs manufactured since the Intel Haswell era supportv3
.v4
requires AVX-512 instructions and requires a CPU manufactured in the past few years.
20211017
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
- 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
- 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 atkinter
dependency in macOS distributions.- ELF binaries in Linux distributions have a
/
inDT_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
- 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
20210414
- 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
20210325
nis
extension is no longer built on Linux. This extension was adding a dependency onlibnsl
, which isn't part of the Linux Standard Base. Modern Linux distributions are droppinglibnsl
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 to7
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.
20210303
- LLVM/Clang updated to 11.1.0.
- preadv() and pwritev() are now disabled on x86_64-apple-darwin builds to restore compatibility with macOS < 11.0.
- Windows static distributions now distribute libffi.lib and the _ctypes extension properly has a dependency on its annotated in PYTHON.json. This should fix issues generating a new library from object files when using metadata from PYTHON.json.
- Windows distributions now have pythoncore annotated as linking against
pathcch
. This dependency was introduced in Python 3.9 and its previous lack of annotation in PYTHON.json resulted in missing symbols when linking pythoncore.