github agude/wayback-machine-archiver v4.0.0
v4.0.0: Python 3.10+, Exit Codes & CI Modernization

5 days ago

Release Notes:

Breaking changes: drops Python 3.8/3.9 support and returns a non-zero exit code when captures fail. Raises the minimum rate limit to comply with the SPN2 API's documented 7 captures/minute limit. Modernizes CI and packaging.

What's New

  • Non-zero exit code on failuremain() now calls sys.exit(1) when any captures fail. Cron jobs, CI wrappers, and scripts can detect failures.
  • Minimum rate limit raised from 5s to 9s — the previous minimum allowed 12 submissions/minute, exceeding the API's 7/minute limit for authenticated users.
  • Python 3.8 and 3.9 dropped — both are EOL. Minimum is now Python 3.10.
  • Python 3.13 and 3.14 added to the test matrix.
  • SPDX license metadatalicense = "MIT" with license-files per PEP 639, replacing the deprecated license = { file = "..." } pattern.
  • Ruff linter and formatter enforced in CI. All f-string logging converted to lazy %-style.
  • Reusable CI workflow — typecheck and test jobs extracted into ci.yml, consumed by both tests.yml and release.yml, preventing matrix drift.
  • GitHub Actions updated — checkout v4→v7, setup-python v4→v6, setup-uv v6→v8.0.0.
  • Python version classifiers added for 3.10–3.14.

Don't miss a new wayback-machine-archiver release

NewReleases is sending notifications on new releases.