PDFFence 1.26.0
PDFFence 1.26.0 makes the privacy-safe batch workflow practical for large, same-layout handoffs.
- New
pdffence batch-init BEFORE_ROOT AFTER_ROOT MANIFESTrecursively generates a private manifest with deterministic opaque IDs. - It pairs only identical relative PDF paths. Unmatched paths stay explicit additions/removals; it never guesses a rename.
- The generator requires an explicit output path, writes atomically, and never prints the private manifest. It rejects symbolic links, non-regular PDF-named entries, invalid paths, cycles, oversized scans, and manifests beyond normal limits.
The release passed 273 automated tests and a generated-manifest run over all 161 PDFCAB pairs. Every generator-routed public report exactly matched its standalone pdffence diff result. Fixed-timestamp wheel and source builds were byte-identical and passed Twine checks; fresh Python 3.12/3.13 installs passed the 161-document workflow. A clean dependency audit found no known vulnerabilities.
Install the wheel directly:
python -m pip install https://github.com/SybilGambleyyu/pdffence/releases/download/v1.26.0/pdffence-1.26.0-py3-none-any.whl