* Update dependencies * fix: older pip for graalpy on Windows The dependency update regenerated the constraints and dropped the pip hold-back for GraalPy on Windows, where newer pip breaks. Restore the marker-based pin. Assisted-by: ClaudeCode:claude-opus-4.8 * ci: keep graalpy pip workaround across dependency bumps update_constraints now re-applies the GraalPy Windows pip hold-back after uv pip compile, so the bot no longer wipes it each run. Target only the Python versions that ship a GraalPy config (3.12), derived from build-platforms.toml; drop the stale pin from the 3.11 constraints. Assisted-by: ClaudeCode:claude-opus-4.8 * fix(macos): accept .tar.gz PyPy archives PyPy switched its macOS downloads from .tar.bz2 to .tar.gz, which tripped the hard-coded extension assert in install_pypy. Accept both. Assisted-by: ClaudeCode:claude-opus-4.8 * ci: hold filelock back for graalpy filelock >=3.30 imports errno.ENOTSUP, which GraalPy lacks, so virtualenv fails on GraalPy. Hold it at 3.29.4 for GraalPy until the upstream fix ships (~2026-08), reusing the update_constraints workaround mechanism. Assisted-by: ClaudeCode:claude-opus-4.8 * ci: bump filelock for graalpy * revert android cp315 update see https://github.com/pypa/cibuildwheel/pull/2933#issuecomment-4821042715 --------- Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> Co-authored-by: Henry Schreiner <henryfs@princeton.edu> Co-authored-by: mayeut <mayeut@users.noreply.github.com>