Repository navigation
Releases
Releases Β· pypa/cibuildwheel
v4.3.5
v4.3.4
- π Warns when a uv build frontend is selected and the host uv is older than 0.13.4, which still trusts the compromised eMudhra CA roots (#3021)
- π Uses cibuildwheel's CA bundle for pip on Python 3.9, where pip uses its bundled certifi, which still trusts the compromised eMudhra roots (#3017)
- π Uses cibuildwheel's CA bundle for pip on GraalPy, where truststore is not supported (#3019)
- π Uses cibuildwheel's CA bundle in Android, iOS, and Pyodide cross venvs, where pip uses the host's OpenSSL CA file (#3020)
- π Seeds build's isolated environment with the pinned pip on macOS and Windows, fixing GraalPy 25.0 builds (#3018)
- πΌ Stops Azure cache growth from
restoreKeys(#3022)
v4.3.3
v4.3.2
- π Updates our dependency pins to certifi==2026.10.19, following the eMudhra Intermediate CA Compromise. Linux builds may still be vulnerable through manylinux images - a patch release will soon follow if so.
v4.3.1
v4.3.0
- β¨ Extends option inheritance to every configuration layer, so global and platform-specific settings can append or prepend to existing values, including cibuildwheel's defaults. Environment variables can also extend earlier settings using
CIBW_INHERIT. (#2928) - β¨ Adds PyPy 3.12 support and updates PyPy 3.11 to v8.0.0, available with the
pypyenableflag (#2998) - β¨ Adds GraalPy 3.13 (v25.3) support on Linux, Windows, and macOS arm64, available with the
graalpyenableflag (#2982) - β¨ Adds
log-fold-modeto override CI log folding, includingCIBW_LOG_FOLD_MODE=disabledto keep build steps expanded (#2972) - β¨ Adds a
python-pathinput to the GitHub Action to choose the Python interpreter used to run cibuildwheel, and falls back to systempython3on runner architectures unsupported bysetup-python, such as native riscv64 (#2990) - π Fixes Windows command execution when paths or arguments contain shell metacharacters, including dependency specifiers containing
<or>(#2978) - π Improves readability of logged commands whose arguments contain quotes (#2993)
- π Updates Pyodide to 0.27.8, 0.29.5, and 314.0.7, and updates its build tooling, including auditwheel-emscripten 0.3.0 (#2996)
- π Updates dependencies and container pins, including CPython 3.15.0rc3 (#2986, #3003)
- π Corrects references to
--archsin CLI help, error messages, and documentation (#2992)
v4.2.1
- π Respects the NuGet package sources configured on the machine when installing CPython on Windows, instead of always falling back to nuget.org (#2966)
- π Fixes a
NameErroron Pyodide when an already-compatible wheel was reused, which made the test step fail (#2968) - π Updates the Android Python versions, and the Android testbed's Gradle version, making it compatible with Java 25 (#2962)
- π Updates dependencies including CPython 3.15.0rc2 (#2965, #2970, #2976, #2981, #2985)
v4.2.0
- π CPython 3.15 wheels are now built by default - without the
"cpython-prerelease"enableset. It's time to build and upload these wheels to PyPI! This release includes CPython 3.15.0rc1, which is guaranteed to be ABI compatible with the final release. (#2944) - β¨ Adds Pyodide 3.15 support with the
cp315-pyodide_wasm32build identifier, using Pyodide 315.0.0a2. These are also stable wrt. the final release. (#2958) - π Retries a failed download six times with exponential backoff, so short network outages no longer stop a build. A
4xxresponse is still reported at once. (#2953) - π Accepts
defaultas abuild-frontendvalue on Pyodide, and acceptspyodide-buildin the top-level table and in overrides (#2951) - π Holds pip back on GraalPy, where newer pip breaks the build (#2955)
- π Updates Pyodide to 314.0.4 (#2949, #2952)
- π Updates dependencies and container pins (#2952, #2960)
- πΌ Updates CI action pins (#2948, #2954)
- π§ͺ Uses pp311 for the abi3 test, and deletes
test_overridden_pip_constraint, which is not necessary since #2583 (#2956, #2957)
v4.1.1
- β¨ 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)
v4.1.0
- β¨ Updates Pyodide to the final 314.0.0 release, so Pyodide 3.14 wheels now build by default without the
pyodide-prereleaseenableflag. (#2906) - π Raises clear errors when a build produces no wheel, instead of failing later with a confusing message (#2909)
- π Speeds up CLI startup through lazy imports on Python 3.15 (#2797)
- π Adds an FAQ section on caching cibuildwheel's downloaded tools with
CIBW_CACHE_PATH(#2842) - π Documentation improvements: clarifies which shell is used for command options, clarifies environment variable precedence, and fixes a dead Pyodide env info link (#2904, #2905, #2911)