Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 15:18
· 44 commits to main since this release

Apple Silicon macOS native wheel added. pip install par-runtime now works natively on Apple Silicon Macs, no source build or Rosetta required. Intel Mac users still fall back to source distribution (macos-13 runner permanently abandoned 2026-06-19 — see ci.yml L16). 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 on macos-15 runner, brew install gmp sqlite3, delocate-wheel for dylib bundling, wheel tags --platform-tag macosx_11_0_arm64 to set the platform tag (ctypes .so gets py3-none-any by default from setuptools).

Changed

  • pypi-publish.yml: single hardcoded job refactored into a 2-job matrix {linux-x86_64, macos-arm64}. gh-release-upload and pypi-upload jobs download both artifacts and publish together. auditwheel for Linux (existing v0.4.13 path unchanged), delocate-wheel + wheel tags for macOS.
  • release-acceptance.yml: split into 2 jobs (accept-linux-x64 3-container matrix + accept-macos-arm64 native runner). Removed the v0.4.13 WHEEL_COUNT -ne 1 guard (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-arm64 runners — both saturated 45min+ on free tier. Attempted qemu-binfmt on ubuntu-22.04 host with quay.io/pypa/manylinux_2_28_aarch64:latest container — 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.yml L16). True universal2 (which needs both macos-13 + macos-15 slices) 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-any to macosx_11_0_arm64 via wheel 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 | bash

Or upgrade: par update

macOS: binary is unsigned. Run xattr -cr "" once after install.

Full changelog: https://github.com/jcz2020/par/blob/main/CHANGES.md