The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.
ℹ️ However, this is a major update that includes breaking changes. Artifacts created with versions v3 and below are not compatible with the v4 actions. Uploads and downloads must use the same major actions versions. There are also key differences from previous versions that may require updates to your workflows.
🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded-support required to opt-in. See the docs for more information. (#1831)
✨ The container-engine is now a build (non-global) option. (#1792)
🛠 The build backend for cibuildwheel is now hatchling. (#1297)
🛠 Significant improvements and modernization to our noxfile. (#1823)
🛠 Use pylint's new GitHub Actions reporter instead of a custom matcher. (#1823)
🛠 Unpin virtualenv updates for Python 3.7+ (#1830)
🐛 Fix running linux tests from Windows or macOS ARM. (#1788)
✨ Adds CPython 3.13 support, under the prerelease flag CIBW_PRERELEASE_PYTHONS. This version of cibuildwheel uses 3.13.0b1. Free-threading mode is not available yet (#1657), waiting on official binaries (planned for beta 2) and pip support.
While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.13 will be available in cibuildwheel without the flag. (#1815)
✨ Musllinux now defaults to musllinux_1_2. You can set the older musllinux_1_1 via config if needed. (#1817)
🛠 No longer pre-seed setuptools/wheel in virtual environments (#1819)
🛠 Respect the constraints file when building with pip, matching build (#1818)
🛠 Use uv to compile our pinned dependencies, 10x faster and doesn't require special setup (#1778)
📚 Speed up our readthedocs builds with uv, 26 seconds -> 6 seconds to install dependencies (#1816)
v2.17.0
🌟 Adds the ability to inherit configuration in TOML overrides. This makes certain configurations much simpler. If you're overriding an option like before-build or environment, and you just want to add an extra command or environment variable, you can just append (or prepend) to the previous config. See the docs for more information. (#1730)
🌟 Adds official support for native arm64 macOS GitHub runners. To use them, just specify macos-14 as an os of your job in your workflow file. You can also keep macos-13 in your build matrix to build x86_64. Check out the new GitHub Actions example config.
✨ You no longer need to specify --platform to run cibuildwheel locally! Instead it will detect your platform automatically. This was a safety feature, no longer necessary. (#1727)
🛠 Removed setuptools and wheel pinned versions. This only affects old-style projects without a pyproject.toml, projects with pyproject.toml are already getting fresh versions of their build-system.requires installed into an isolated environment. (#1725)
🛠 Improve how the GitHub Action passes arguments (#1757)
🛠 Remove a system-wide install of pipx in the GitHub Action (#1745)
🐛 No longer will cibuildwheel override the PIP_CONSTRAINT environment variable when using the build frontend. Instead it will be extended. (#1675)
🐛 Fix a bug where building and testing both x86_86 and arm64 wheels on the same runner caused the wrong architectures in the test environment (#1750)
🐛 Fix a bug that prevented testing a CPython 3.8 wheel targeting macOS 11+ on x86_64 (#1768)
🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded-support required to opt-in. See the docs for more information. (#1831)
✨ The container-engine is now a build (non-global) option. (#1792)
🛠 The build backend for cibuildwheel is now hatchling. (#1297)
🛠 Significant improvements and modernization to our noxfile. (#1823)
🛠 Use pylint's new GitHub Actions reporter instead of a custom matcher. (#1823)
🛠 Unpin virtualenv updates for Python 3.7+ (#1830)
🐛 Fix running linux tests from Windows or macOS ARM. (#1788)
✨ Adds CPython 3.13 support, under the prerelease flag CIBW_PRERELEASE_PYTHONS. This version of cibuildwheel uses 3.13.0b1. Free-threading mode is not available yet (#1657), waiting on official binaries (planned for beta 2) and pip support.
While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.13 will be available in cibuildwheel without the flag. (#1815)
✨ Musllinux now defaults to musllinux_1_2. You can set the older musllinux_1_1 via config if needed. (#1817)
🛠 No longer pre-seed setuptools/wheel in virtual environments (#1819)
🛠 Respect the constraints file when building with pip, matching build (#1818)
🛠 Use uv to compile our pinned dependencies, 10x faster and doesn't require special setup (#1778)
📚 Speed up our readthedocs builds with uv, 26 seconds -> 6 seconds to install dependencies (#1816)
v2.17.0
11 March 2024
🌟 Adds the ability to inherit configuration in TOML overrides. This makes certain configurations much simpler. If you're overriding an option like before-build or environment, and you just want to add an extra command or environment variable, you can just append (or prepend) to the previous config. See the docs for more information. (#1730)
🌟 Adds official support for native arm64 macOS GitHub runners. To use them, just specify macos-14 as an os of your job in your workflow file. You can also keep macos-13 in your build matrix to build x86_64. Check out the new GitHub Actions example config.
✨ You no longer need to specify --platform to run cibuildwheel locally! Instead it will detect your platform automatically. This was a safety feature, no longer necessary. (#1727)
🛠 Removed setuptools and wheel pinned versions. This only affects old-style projects without a pyproject.toml, projects with pyproject.toml are already getting fresh versions of their build-system.requires installed into an isolated environment. (#1725)
🛠 Improve how the GitHub Action passes arguments (#1757)
🛠 Remove a system-wide install of pipx in the GitHub Action (#1745)
🐛 No longer will cibuildwheel override the PIP_CONSTRAINT environment variable when using the build frontend. Instead it will be extended. (#1675)
🐛 Fix a bug where building and testing both x86_86 and arm64 wheels on the same runner caused the wrong architectures in the test environment (#1750)
🐛 Fix a bug that prevented testing a CPython 3.8 wheel targeting macOS 11+ on x86_64 (#1768)
The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.
ℹ️ However, this is a major update that includes breaking changes. Artifacts created with versions v3 and below are not compatible with the v4 actions. Uploads and downloads must use the same major actions versions. There are also key differences from previous versions that may require updates to your workflows.
Fixed a bug in Node16 where if an HTTP download finished too quickly (<1ms, e.g. when it's mocked) we attempt to delete a temp file that has not been created yet actions/toolkit#1278
Nothing changed feature-wise. The only notable update is that the underlying container runtime now uses Python 3.12 and pip has been updated to v24.0 there.
This is should go unnoticed in terms of behavior. It's just a bit of maintenance burden to be done occasionally by @webknjaz💰.
Enjoy!
This action is now able to consume and publish distribution packages with Metadata-Version: 2.3 embedded.
🛠️ Internal Dependencies
@SigureMo💰 sent us a bump of pkginfo version to version 1.10.0 in #219. It's a transitive dependency for us and is not an API-level change but upgrading it has a side effect of letting Twine recognize distribution packages declaring Metadata-Version: 2.3. In particular, it is known to affect distributions built with Maturin >= 1.5.0.
Following that, @webknjaz💰 upgraded other transitive and direct dependency pins, including, among others, the following notable bumps:
@woodruffw💰 replaced the notice annotations with simplified debug messages related to authentication methanism selection via #196. The also improved the error clarity during OIDC exchange on PRs from forks via #203.
📝 What's Documented
@virtuald💰 updated the docs and pointer messages were updated to mention that reusable workflows aren't supported right now in #186 and @xuanzhi33💰 later corrected the markdown syntax there via #216.
In scope of this release, we update node version runtime from node16 to node20 (actions/setup-python#772). Besides, we update dependencies to the latest versions.
v4 of the Codecov Action uses the CLI as the underlying upload. The CLI has helped to power new features including local upload, the global upload token, and new upcoming features.
Breaking Changes
The Codecov Action runs as a node20 action due to node16 deprecation. See this post from GitHub on how to migrate.
Tokenless uploading is unsupported. However, PRs made from forks to the upstream public repos will support tokenless (e.g. contributors to OS projects do not need the upstream repo's Codecov token). This doc shows instructions on how to add the Codecov token.
OS platforms have been added, though some may not be automatically detected. To see a list of platforms, see our CLI download page
Various arguments to the Action have been changed. Please be aware that the arguments match with the CLI's needs
v3 versions and below will not have access to CLI features (e.g. global upload token, ATS).
v4 represents a move from the universal uploader to the Codecov CLI. Although this will unlock new features for our users, the CLI is not yet at feature parity with the universal uploader.
Breaking Changes
No current support for aarch64 and alpine architectures.
Bumps the actions group with 7 updates:
3
4
2.16.2
2.18.1
3
4
1.8.10
1.8.14
3.3.2
4.0.2
4
5
3
4
Updates
actions/upload-artifact
from 3 to 4Release notes
Sourced from actions/upload-artifact's releases.
Commits
6546280
updating package versionc004fb4
Merge branch 'main' into eggyhead/use-artifact-v2.1.690aba49
updating toolkit artifact dependency to 2.1.6b06cde3
Merge pull request #563 from actions/eggyhead/release-4.3.21746f4a
Revert "updating to release 4.3.2"31685d0
updating to release 4.3.218bf333
Merge pull request #562 from actions/eggyhead/update-artifact-v215dac413b
update package lock versionbb3b4a3
updating package version3e3da83
updating artifact and core dependenciesUpdates
pypa/cibuildwheel
from 2.16.2 to 2.18.1Release notes
Sourced from pypa/cibuildwheel's releases.
Changelog
Sourced from pypa/cibuildwheel's changelog.
... (truncated)
Commits
ba8be0d
Bump version: v2.18.190dd476
doc: add documentation for theCIBW_FREE_THREADED_SUPPORT
optionb613249
chore: pass a PythonConfiguration to install_cpython3992d57
feat: add option to opt-in free-threaded builds345467c
feat: add support for free-threaded (no-gil) Python 3.13791e41c
[Bot] Update dependencies (#1832)9d5f5e6
Makecontainer-engine
a build (non-global) option (#1792)1b354cf
chore: move to hatchling (#1297)d1a4c9c
chore: un-pin virtualenv update (#1830)78bca57
fix(tests): linux tests from macOS/Windows arm64 (#1829)Updates
actions/download-artifact
from 3 to 4Release notes
Sourced from actions/download-artifact's releases.
Commits
65a9edc
Merge pull request #325 from bethanyj28/mainfdd1595
licensedc13dba1
update@actions/artifact
dependency0daa75e
Merge pull request #324 from actions/eggyhead/use-artifact-v2.1.69c19ed7
Merge branch 'main' into eggyhead/use-artifact-v2.1.63d3ea87
updating license89af5db
updating artifact package v2.1.6b4aefff
Merge pull request #323 from actions/eggyhead/update-artifact-v2158caf195
package lock updated7a2ec4
updating package versionUpdates
pypa/gh-action-pypi-publish
from 1.8.10 to 1.8.14Release notes
Sourced from pypa/gh-action-pypi-publish's releases.
... (truncated)
Commits
81e9d93
Bumppip
to v24.0 in runtime prerequisites lock91527c4
Regenerate lockfiles with pip-tools v7.4.13a817c6
Bump action runtime to CPython 3.12741947b
Add a config file forpip-tools
d7af439
Mass-bump transitive dependencies of runtimee90ddca
Bumpreadme-renderer
to v43.0dae7fa3
Bump Twine to v5.0.00fe04ae
Bumpid
to v1.3.0444e179
Bump cryptography to v42.0.5820be4e
Normalize pip-tools' header comment @runtime.txt
Updates
actions/cache
from 3.3.2 to 4.0.2Release notes
Sourced from actions/cache's releases.
Changelog
Sourced from actions/cache's changelog.
Commits
0c45773
Merge pull request #1327 from cdce8p/fix-fail-on-cache-miss8a55f83
Add test case for process exit3884cac
Bump versione29dad3
Fix fail-on-cache-miss not workingab5e6d0
Merge pull request #1341 from bethanyj28/main89c7d86
licensed cached2c84da
update@actions/cache
37e7d4e
Merge pull request #1340 from actions/bethanyj28/update-publish-flowa18323f
add release actiona2ed59d
Merge pull request #1305 from actions/yacaovsnc/update_examplesUpdates
actions/setup-python
from 4 to 5Release notes
Sourced from actions/setup-python's releases.
... (truncated)
Commits
82c7e63
Documentation changes for avoiding rate limit issues on GHES (#835)10aa35a
feat: fallback to raw endpoint for manifest when rate limit is reached (#766)9a7ac94
Bump undici from 5.27.2 to 5.28.3 (#817)871daa9
Fix the "Specifying multiple Python/PyPy versions" link (#782)2f07895
Fix broken README.md link (#793)e9d6f99
Replace setup-python@v4 by setup-python@v5 in README (#776)0a5c615
Update action to node20 (#772)0ae5836
Add example of GraalPy to docs (#773)b64ffca
update actions/checkout to v4 (#761)8d28961
Examples now use checkout@v4 (#738)Updates
codecov/codecov-action
from 3 to 4Release notes
Sourced from codecov/codecov-action's releases.
... (truncated)
Changelog
Sourced from codecov/codecov-action's changelog.
... (truncated)
Commits
125fc84
chore(release): 4.4.1 (#1441)c9dbf6a
fix: isPullRequestFromFork returns false for any PR (#1437)59fc46f
build(deps): bump actions/checkout from 4.1.5 to 4.1.6 (#1438)3889fdd
build(deps): bump github/codeql-action from 3.25.4 to 3.25.5 (#1439)