PDFFence 1.25.0
PDFFence 1.25.0 adds a privacy-safe manifest batch workflow for serious PDF handoffs and release review.
pdffence batchcompares explicitly paired PDFs from private before/after roots, including renamed, added, and removed documents.- Reports never expose manifest paths or roots. Each result uses a caller-chosen, deliberately public opaque ID; JSON, Markdown, and SARIF are supported.
- New
require_same_document_set(PFP016) is a high-severity, batch-only CI gate and is enabled bypdffence init. - Manifests are strict bounded JSON, reject unsafe paths and symbolic links, and batch execution is all-or-nothing.
The release was tested with 269 automated tests and an opaque-ID batch of all 161 PDFCAB pairs. Every batch entry exactly matched its standalone public diff result. Fixed-timestamp wheel and source builds were byte-identical and passed Twine checks; fresh Python 3.12/3.13 installations passed the corpus run.
Install the wheel directly:
python -m pip install https://github.com/SybilGambleyyu/pdffence/releases/download/v1.25.0/pdffence-1.25.0-py3-none-any.whl