Skip to content

SuniPDF 0.93.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 00:30
· 13 commits to main since this release
Immutable release. Only release title and notes can be modified.

SuniPDF 0.93.0

By Emanuel de Almeida.

A robustness release: SuniPDF now fails cleanly, instead of crashing or saving an unreadable file, when it meets damaged, hostile or very large PDFs. There is no new screen or setting.

What changes for you

  • optimize reopens its result before publishing it. A copy that no longer opens, or changes the page count, is refused and leaves no output file.
  • protect, sanitize, set-metadata, strip-metadata and sign use the same check and no longer publish copies that cannot be reopened.
  • stamp, page-numbers, headers-footers and image-watermark no longer crash on a page whose content cannot be read back; they report a clear error.

Validation added

  • A generated corpus of 26 hostile and large PDFs, and 56 PDF-writing commands run on it (1,315 runs).
  • Fuzzing targets for PDF structure and signature parsing, plus a mutation smoke test in the test suite. No fuzzing campaign result is claimed yet.

Limits

  • protect, set-metadata and strip-metadata refuse PDFs whose MediaBox uses exponent notation.
  • Windows packages are unsigned. Windows ARM64 is cross-built without native hardware execution. The macOS app is ad hoc signed, not notarized.

Refs #97, Refs #98. Details: release notes and changelog. Each package has a .sha256 file.