diff --git a/README.md b/README.md index f0f21427..d74991b5 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ jobs: - uses: actions/setup-python@v3 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.10.2 + run: python -m pip install cibuildwheel==2.11.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -209,6 +209,19 @@ Changelog +### v2.11.0 + +_13 October 2022_ + +- 🌟 Adds support for cross-compiling Windows ARM64 wheels. To use this feature, add `ARM64` to the [CIBW_ARCHS](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) option on a Windows Intel runner. (#1144) +- ✨ Adds support for building Linux aarch64 wheels on Circle CI. (#1307) +- ✨ Adds support for building Windows wheels on Gitlab CI. (#1295) +- ✨ Adds support for building Linux aarch64 wheels under emulation on Gitlab CI. (#1295) +- ✨ Adds the ability to test `cp38-macosx_arm64` wheels on a native arm64 runner. To do this, you'll need to preinstall the (experimental) [universal2 version of CPython 3.8](https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg) on your arm64 runner before invoking cibuildwheel. Note: it is not recommended to build x86_64 wheels with this setup, your wheels will have limited compatibility wrt macOS versions. (#1283) +- 🛠 Improved error messages when using custom Docker images and Python cannot be found at the correct path. (#1298) +- 📚 Sample configs for Azure Pipelines and Travis CI updated (#1296) +- 📚 Other docs improvements - including more information about using Homebrew for build dependencies (#1290) + ### v2.10.2 _25 September 2022_ @@ -244,15 +257,6 @@ _11 August 2022_ - ✨ Improved error messages when misspelling TOML options, suggesting close matches (#1205) - 🛠 When running on Apple Silicon (so far, an unsupported mode of operation), cibuildwheel no longer builds universal2 wheels by default - just arm64. See [#1204](https://github.com/pypa/cibuildwheel/issues/1204) for discussion. We hope to release official support for native builds on Apple Silicon soon! (#1217) -### v2.8.1 - -_18 July 2022_ - -- 🐛 Fix a bug when building CPython 3.8 wheels on an Apple Silicon machine where testing would always fail. cibuildwheel will no longer attempt to test the arm64 part of CPython 3.8 wheels because we use the x86_64 installer of CPython 3.8 due to its macOS system version backward-compatibility. See [#1169](https://github.com/pypa/cibuildwheel/pull/1169) for more details. (#1171) -- 🛠 Update the prerelease CPython 3.11 to 3.11.0b4. (#1180) -- 🛠 The GitHub Action will ensure a compatible version of Python is installed on the runner (#1114) -- 📚 A few docs improvements - --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index cc406c56..ebf31e5a 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1,3 +1,3 @@ from __future__ import annotations -__version__ = "2.10.2" +__version__ = "2.11.0" diff --git a/docs/changelog.md b/docs/changelog.md index 8ed60e82..af4d5813 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,6 +4,19 @@ title: Changelog # Changelog +### v2.11.0 + +_13 October 2022_ + +- 🌟 Adds support for cross-compiling Windows ARM64 wheels. To use this feature, add `ARM64` to the [CIBW_ARCHS](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) option on a Windows Intel runner. (#1144) +- ✨ Adds support for building Linux aarch64 wheels on Circle CI. (#1307) +- ✨ Adds support for building Windows wheels on Gitlab CI. (#1295) +- ✨ Adds support for building Linux aarch64 wheels under emulation on Gitlab CI. (#1295) +- ✨ Adds the ability to test `cp38-macosx_arm64` wheels on a native arm64 runner. To do this, you'll need to preinstall the (experimental) [universal2 version of CPython 3.8](https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg) on your arm64 runner before invoking cibuildwheel. Note: it is not recommended to build x86_64 wheels with this setup, your wheels will have limited compatibility wrt macOS versions. (#1283) +- 🛠 Improved error messages when using custom Docker images and Python cannot be found at the correct path. (#1298) +- 📚 Sample configs for Azure Pipelines and Travis CI updated (#1296) +- 📚 Other docs improvements - including more information about using Homebrew for build dependencies (#1290) + ### v2.10.2 _25 September 2022_ diff --git a/docs/faq.md b/docs/faq.md index 7571cf56..ae10ad40 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -143,7 +143,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead If you use GitHub Actions for builds, you can use cibuildwheel as an action: ```yaml -uses: pypa/cibuildwheel@v2.10.2 +uses: pypa/cibuildwheel@v2.11.0 ``` This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal. @@ -165,7 +165,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.10.2 +cibuildwheel==2.11.0 ``` Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this: @@ -309,7 +309,7 @@ Solutions to this vary, but the simplest is to use pipx: # most runners have pipx preinstalled, but in case you don't python3 -m pip install pipx -pipx run cibuildwheel==2.10.2 --output-dir wheelhouse +pipx run cibuildwheel==2.11.0 --output-dir wheelhouse pipx run twine upload wheelhouse/*.whl ``` diff --git a/docs/setup.md b/docs/setup.md index ddf6322e..7b306e5f 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -184,7 +184,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v3 - name: Build wheels - run: pipx run cibuildwheel==2.10.2 + run: pipx run cibuildwheel==2.11.0 - uses: actions/upload-artifact@v3 with: @@ -219,7 +219,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v3 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.10.2 + run: python -m pip install cibuildwheel==2.11.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 2542c20d..793e6ffc 100644 --- a/examples/appveyor-minimal.yml +++ b/examples/appveyor-minimal.yml @@ -12,7 +12,7 @@ stack: python 3.7 init: - cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH% -install: python -m pip install cibuildwheel==2.10.2 +install: python -m pip install cibuildwheel==2.11.0 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 303c39e6..fa5017d6 100644 --- a/examples/azure-pipelines-minimal.yml +++ b/examples/azure-pipelines-minimal.yml @@ -6,7 +6,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - pip3 install cibuildwheel==2.10.2 + pip3 install cibuildwheel==2.11.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -20,7 +20,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - python3 -m pip install cibuildwheel==2.10.2 + python3 -m pip install cibuildwheel==2.11.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -34,7 +34,7 @@ jobs: - bash: | set -o errexit python -m pip install --upgrade pip - pip install cibuildwheel==2.10.2 + pip install cibuildwheel==2.11.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 796daa27..d08a16a8 100644 --- a/examples/circleci-minimal.yml +++ b/examples/circleci-minimal.yml @@ -11,7 +11,7 @@ jobs: - run: name: Build the Linux wheels. command: | - pip3 install --user cibuildwheel==2.10.2 + pip3 install --user cibuildwheel==2.11.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -28,7 +28,7 @@ jobs: - run: name: Build the Linux aarch64 wheels. command: | - python3 -m pip install --user cibuildwheel==2.10.2 + python3 -m pip install --user cibuildwheel==2.11.0 python3 -m cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -42,7 +42,7 @@ jobs: - run: name: Build the OS X wheels. command: | - pip3 install cibuildwheel==2.10.2 + pip3 install cibuildwheel==2.11.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/cirrus-ci-intel-mac.yml b/examples/cirrus-ci-intel-mac.yml index 27f5ab2b..6001d4d8 100644 --- a/examples/cirrus-ci-intel-mac.yml +++ b/examples/cirrus-ci-intel-mac.yml @@ -1,6 +1,6 @@ build_and_store_wheels: &BUILD_AND_STORE_WHEELS install_cibuildwheel_script: - - python -m pip install cibuildwheel==2.10.2 + - python -m pip install cibuildwheel==2.11.0 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/cirrus-ci-minimal.yml b/examples/cirrus-ci-minimal.yml index 9f63f81f..c5d09b55 100644 --- a/examples/cirrus-ci-minimal.yml +++ b/examples/cirrus-ci-minimal.yml @@ -1,6 +1,6 @@ build_and_store_wheels: &BUILD_AND_STORE_WHEELS install_cibuildwheel_script: - - python -m pip install cibuildwheel==2.10.2 + - python -m pip install cibuildwheel==2.11.0 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index a059e420..c2f02601 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.10.2 + uses: pypa/cibuildwheel@v2.11.0 env: CIBW_ARCHS_MACOS: x86_64 arm64 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index d104cba3..adc048c7 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.10.2 + uses: pypa/cibuildwheel@v2.11.0 - uses: actions/upload-artifact@v3 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 3d7932aa..dfa9f8cd 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v3 - name: Build wheels - uses: pypa/cibuildwheel@v2.10.2 + uses: pypa/cibuildwheel@v2.11.0 # env: # CIBW_SOME_OPTION: value # ... diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 65db7c74..339046fd 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -20,7 +20,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.10.2 + uses: pypa/cibuildwheel@v2.11.0 env: # configure cibuildwheel to build native archs ('auto'), and some # emulated ones diff --git a/examples/gitlab-minimal.yml b/examples/gitlab-minimal.yml index f5883f61..d0feb240 100644 --- a/examples/gitlab-minimal.yml +++ b/examples/gitlab-minimal.yml @@ -12,7 +12,7 @@ linux: DOCKER_TLS_CERTDIR: "" script: - curl -sSL https://get.docker.com/ | sh - - python -m pip install cibuildwheel==2.10.2 + - python -m pip install cibuildwheel==2.11.0 - cibuildwheel --output-dir wheelhouse artifacts: paths: @@ -23,7 +23,7 @@ windows: before_script: - choco install python -y --version 3.8.6 - choco install git.install -y - - py -m pip install cibuildwheel==2.10.2 + - py -m pip install cibuildwheel==2.11.0 script: - py -m cibuildwheel --output-dir wheelhouse --platform windows artifacts: diff --git a/examples/gitlab-with-qemu.yml b/examples/gitlab-with-qemu.yml index 1f5b11b4..f7e9c69e 100644 --- a/examples/gitlab-with-qemu.yml +++ b/examples/gitlab-with-qemu.yml @@ -14,7 +14,7 @@ linux: - curl -sSL https://get.docker.com/ | sh # Warning: This is extremely slow, be careful with how many wheels you build - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - python -m pip install cibuildwheel==2.10.2 + - python -m pip install cibuildwheel==2.11.0 # Assuming your CI runner's default architecture is x86_64... - cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64 artifacts: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index de57e9da..832e9ddd 100644 --- a/examples/travis-ci-deploy.yml +++ b/examples/travis-ci-deploy.yml @@ -20,7 +20,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.10.2 + - python3 -m pip install cibuildwheel==2.11.0 script: # build the wheels, put them into './dist' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index b78fb2e2..875de1c8 100644 --- a/examples/travis-ci-minimal.yml +++ b/examples/travis-ci-minimal.yml @@ -26,7 +26,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.10.2 + - python3 -m pip install cibuildwheel==2.11.0 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-test-and-deploy.yml b/examples/travis-ci-test-and-deploy.yml index c7594bb4..22571bc4 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -54,7 +54,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.10.2 twine + install: python3 -m pip install cibuildwheel==2.11.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl # Deploy on windows @@ -62,7 +62,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.10.2 twine + install: python3 -m pip install cibuildwheel==2.11.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl diff --git a/setup.cfg b/setup.cfg index fb4c57ba..1a48e2fc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.10.2 +version = 2.11.0 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown