You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Python wheel jobs broke because `pip install cibuildwheel` is unpinned
and drifted onto 4.x, which removed the `cpython-freethreading` enable group
(now a hard parse error) and dropped the experimental CPython 3.13t
free-threaded builds entirely. Pin `cibuildwheel~=4.1` so the major version
no longer moves under us, drop the now-unbuildable `313t` matrix entries, and
keep `314t` (3.14+ free-threading builds with no flag in 4.x). Verified build
identifier selection against pyproject.toml with cibuildwheel 4.1.
Refresh the rest of the CI toolchains to current best-practice versions,
prioritising anything at or near end-of-life:
- Node 20 -> 24: Node 20 reached EOL in April 2026; 24 (Krypton) is the
active LTS and already used by the publish job. package.json `engines`
floor raised 20 -> 22 (oldest still-maintained LTS).
- .NET 8 -> 10: .NET 10 is the current LTS (Nov 2025). Test project retargeted
net8.0 -> net10.0 and its stale test deps bumped (Test.Sdk 17.3 -> 18.7,
xunit 2.4 -> 2.9, runner 2.4 -> 3.1, coverlet 3.1 -> 10.0); C# LangVersion
10 -> 13. Verified: dotnet build + 41/41 tests pass on net10.
- Go 1.22 -> 1.25: 1.22 is past the two-release support window. Verified
build + module graph on the go 1.26 toolchain.
- Android NDK r26 -> r27c (27.2.12479018): r27 is the current LTS line.
- Emscripten 3.1.47 -> 6.0.2: the 3.1.x line is long superseded. Verified by
running the release WASM build locally; produces valid wasm objects.
- Rust edition 2021 -> 2024: stable since Rust 1.85. Verified with a clean
cargo check.
- Java JUnit 4.13.2 -> JUnit 5 (Jupiter 5.12.2) with useJUnitPlatform();
Spotless 6.25 -> 8.8 (indentWithSpaces was removed, renamed to
leadingTabsToSpaces). Assertions reordered to JUnit 5's message-last
signature. Verified: gradle spotlessCheck + full test suite pass.
- MinGW: unpin the stale 12.2.0 and move to setup-mingw@v3, letting the
action install the runner's current MinGW-w64 default. The existing DLL
architecture check still guards the output.
0 commit comments