Skip to content

Release 2.0.7: Python 3.13 migration + beta/stable CI pipeline - #88

Merged
overwrite00 merged 4 commits into
mainfrom
develop
Jul 14, 2026
Merged

Release 2.0.7: Python 3.13 migration + beta/stable CI pipeline#88
overwrite00 merged 4 commits into
mainfrom
develop

Conversation

@overwrite00

@overwrite00 overwrite00 commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Migrate to Python 3.13 (PyMuPDF 1.28.0 abi3 wheels are forward-compatible); bump version to 2.0.7; update requirements.txt, docs (README, DEVELOPMENT, ARCHITECTURE, CONTRIBUTING, TROUBLESHOOTING, USER_GUIDE, GUIDA_UTENTE), setup_env.py, CHANGELOG.md
  • CI: beta build filenames now include the beta suffix (e.g. NullifyPDF_v2.0.7-beta.3_Windows.exe); the stable promote workflow strips that suffix before republishing, so stable naming is unchanged

Test plan

  • Push a v2.0.7-beta.N tag from develop, confirm beta prerelease assets are named with the beta suffix
  • Push v2.0.7 tag from main, confirm the promoted stable release has clean filenames (no beta suffix)
  • Confirm CI (test_build.yml) is green on Python 3.13

…without rebuild

- new beta-release.yml builds on v*-beta.* tags and publishes a prerelease
- release.yml no longer rebuilds: it downloads the latest beta's tested
  artifacts and republishes them as the stable release
- fix mypy step using 'head' under pwsh on windows-latest (was silently
  no-op due to || true)
- add concurrency groups and fail-fast: false to the build matrices
Bump the required Python runtime from 3.12 to 3.13. PyMuPDF 1.28.0
publishes abi3 wheels (cp310-abi3) that are forward-compatible with
Python 3.13, removing the previous compatibility constraint.

- Update requirements.txt comments to reflect Python 3.13 support
- Update CI/CD workflows (test_build.yml, beta-release.yml) to build with Python 3.13
- Update all documentation (README, DEVELOPMENT, ARCHITECTURE, CONTRIBUTING,
  TROUBLESHOOTING, USER_GUIDE, GUIDA_UTENTE) and setup_env.py
- Version bumped to 2.0.7 in NullifyPDF.py
- Release notes added to CHANGELOG.md

Verified in an isolated environment (separate worktree/venv, Python 3.13.13):
- pip install -r requirements.txt: no dependency conflicts
- pytest tests/: 11/11 passed
- mypy: 16 pre-existing warnings, no regressions
- Full PyInstaller build: NullifyPDF_v2.0.7_Windows.exe generated successfully
- presidio-analyzer PII detection pipeline: functional
- build_local.py appends the beta suffix (from NULLIFYPDF_BETA_SUFFIX)
  to output artifact filenames, keeping package metadata (RPM/DEB
  Version) on the base version
- beta-release.yml derives the suffix from the beta tag (e.g.
  v2.0.7-beta.3 -> beta.3) before building
- release.yml strips the beta suffix from downloaded filenames before
  republishing as stable, so stable naming stays unchanged
@overwrite00 overwrite00 self-assigned this Jul 14, 2026
@overwrite00
overwrite00 merged commit bbcfdb8 into main Jul 14, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant