Repository navigation
Add Python 3.15 support and drop Python 3.9 - #430
Merged
Merged
Conversation
mxamin
commented
Oct 23, 2026
Collaborator
- Build cp315 wheels: bump cibuildwheel 3.3 -> 4.3.4 (cp315 is built by default since 4.2) and add cp315-* to the build list.
- Bump lxml to 6.1.3, the first release with cp315 wheels.
- Add 3.15 to the manylinux, macOS, sdist, linuxbrew and Travis matrices.
- Drop Python 3.9 (EOL): requires-python >=3.10, classifiers, cibuildwheel build list, CI matrices, and ruff target-version py310 (adds strict=True to the one zip() flagged by B905).
- Leak harness: count surviving young-generation objects with len(gc.get_objects(0)) instead of gc.get_count()[0]. With the GC disabled, CPython 3.15's young-generation counter drifts upward even when no objects survive, which tripped "unreferenced objects detected" in TestCallbacks. The new check still catches retained and unreachable reference cycles.
- Build cp315 wheels: bump cibuildwheel 3.3 -> 4.3.4 (cp315 is built by default since 4.2) and add cp315-* to the build list. - Bump lxml to 6.1.3, the first release with cp315 wheels. - Add 3.15 to the manylinux, macOS, sdist, linuxbrew and Travis matrices. - Drop Python 3.9 (EOL): requires-python >=3.10, classifiers, cibuildwheel build list, CI matrices, and ruff target-version py310 (adds strict=True to the one zip() flagged by B905). - Leak harness: count surviving young-generation objects with len(gc.get_objects(0)) instead of gc.get_count()[0]. With the GC disabled, CPython 3.15's young-generation counter drifts upward even when no objects survive, which tripped "unreferenced objects detected" in TestCallbacks. The new check still catches retained and unreachable reference cycles.
Windows ARM64 wheel builds have failed since the windows-11-arm runner moved to the VS2026 image (MSVC 14.44 -> 14.51) with C1047: the prebuilt iconv_a.lib was compiled with /GL, which only links with the exact same compiler build. - Download Windows libs from win-binaries release 2026.10.23, where libiconv is built without /GL. - Run the AMD64 Windows jobs on windows-2025-vs2026, since the libs are now built with VS2026 and need a linker at least that new. - Windows libs: iconv 1.19-1, libxml2 2.11.9-8, libxslt 1.1.45, openssl 3.5.9, xmlsec 1.3.12, zlib 1.3.2. - Unix libs: libiconv 1.19, openssl 3.6.5, xmlsec1 1.3.12, zlib 1.3.2. libxml2 stays at 2.14.6 to match lxml, and libxslt stays at 1.1.43 because 1.1.44+ requires libxml2 >= 2.15.1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.