- ✨ Adds
pyodide-buildas a separatebuild-frontend, now the default frontend for Pyodide, with verbosity flags handling. Any other frontend is ignored with a warning on Pyodide. (#2609, #2945) - 🔐 Uses digests instead of tags for pinned container images, strengthening supply-chain security. The human-readable tags remain as comments in
pinned_docker_images.cfg. (#2915) - 🐛 Fixes platform-specific
test-runtimeenvironment variables (e.g.CIBW_TEST_RUNTIME_ANDROID) not being honored (#2941) - 🐛 Fixes quoting of
test-requiresandaudit-requiresso PEP 508 specifiers containing spaces work (#2913) - 🐛 Makes
archsparsing case-insensitive and platform-aware, so e.g.arm64works on Windows (#2920) - 🐛 Uses an absolute path for the
{project}placeholder inconfig-settings(#2934) - 🐛 Validates the
pyodide-versionoption against the build identifier with a clear error (#2925) - 🐛 Fixes PyPy installs on macOS after PyPy switched its downloads from
.tar.bz2to.tar.gz(#2939) - 🐛 Makes a matching
python3-configavailable in the build and test venvs on macOS (#2922) - 🛠 Updates dependencies and container pins (#2917, #2935, #2939)
- 🛠 Updates Android tests to current Python versions and the new test repository URL (#2933)
- 🛠 Drops the
orjsondependency, no longer used by mypy 2+ (#2923) - 📚 Builds the docs with properdocs, a MkDocs fork (#2946)
- 📚 Adds the missing
cp314-pyodide_wasm32entry to the build identifier table (#2947) - 📚 Removes outdated notes about the
pip wheelbuild frontend and ClearLinux (#2926) - 💼 Adds a "CI: PyPy EoL" PR label to run PyPy EoL tests on PRs (#2930)
- 💼 Updates CI action pins and pre-commit hooks (#2914, #2932, #2938, #2940, #2942, #2943)