Skip to content

PDFFence 1.26.0

Choose a tag to compare

@SybilGambleyyu SybilGambleyyu released this 07 Aug 12:09

PDFFence 1.26.0 makes the privacy-safe batch workflow practical for large, same-layout handoffs.

  • New pdffence batch-init BEFORE_ROOT AFTER_ROOT MANIFEST recursively 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