v0.5.0
Apple Silicon macOS native wheel added.
pip install par-runtimenow works natively on Apple Silicon Macs, no source build or Rosetta required. Intel Mac users still fall back to source distribution (macos-13runner permanently abandoned 2026-06-19 — seeci.ymlL16). ARM64 Linux wheel deferred to v0.5.1+ — GitHub Actions free-tier ARM64 runners are saturated (queue 45min+, never dispatched) and qemu-binfmt on x86_64 host crashes manylinux container on start.
Added
par_runtime-0.5.0-py3-none-macosx_11_0_arm64.whl(6.5 MB) — ARM64 macOS wheel. Built onmacos-15runner,brew install gmp sqlite3,delocate-wheelfor dylib bundling,wheel tags --platform-tag macosx_11_0_arm64to set the platform tag (ctypes .so getspy3-none-anyby default from setuptools).
Changed
pypi-publish.yml: single hardcoded job refactored into a 2-job matrix{linux-x86_64, macos-arm64}.gh-release-uploadandpypi-uploadjobs download both artifacts and publish together.auditwheelfor Linux (existing v0.4.13 path unchanged),delocate-wheel+wheel tagsfor macOS.release-acceptance.yml: split into 2 jobs (accept-linux-x643-container matrix +accept-macos-arm64native runner). Removed the v0.4.13WHEEL_COUNT -ne 1guard (each job downloads its matching wheel by glob pattern, e.g.*-manylinux_2_28_x86_64.whl).
Trade-offs accepted
- No ARM64 Linux wheel in v0.5.0. Attempted
ubuntu-22.04-arm64,ubuntu-24.04-arm64runners — both saturated 45min+ on free tier. Attempted qemu-binfmt onubuntu-22.04host withquay.io/pypa/manylinux_2_28_aarch64:latestcontainer — container crashes on start (Error response from daemon: container is not running). User decision 2026-06-21: skip ARM64 Linux for v0.5.0, defer to v0.5.1+ when GH Actions ARM quota improves OR self-hosted runner is available. - No Intel Mac native wheel.
macos-13(Intel) runner queue 24h+ then max-execution-time on free tier (ci.ymlL16). Trueuniversal2(which needs bothmacos-13+macos-15slices) is NOT achievable without paid minutes. Intel Mac users continue to fall back to source distribution (PyPI 2026 Intel Mac share <5%).
Verification Evidence
- PyPI: https://pypi.org/project/par-runtime/0.5.0/ — 2 wheels:
par_runtime-0.5.0-py3-none-manylinux_2_28_x86_64.whl(11.3 MB) +par_runtime-0.5.0-py3-none-macosx_11_0_arm64.whl(6.5 MB) - GH Release: https://github.com/jcz2020/par/releases/tag/v0.5.0 — 2 wheel assets
- CI iterations: 8 (post1 → post8). Key fixes: (a) drop aarch64 job after ARM runner saturation; (b) rename macos wheel from
py3-none-anytomacosx_11_0_arm64viawheel tags(filename-only rename fails PyPI 400 — internal WHEEL Tag field must match); (c) remove stale aarch64 download steps after matrix shrink.
Install
curl -fsSL https://raw.githubusercontent.com/jcz2020/par/main/install.sh | bashOr upgrade: par update
macOS: binary is unsigned. Run
xattr -cr ""once after install.
Full changelog: https://github.com/jcz2020/par/blob/main/CHANGES.md