Skip to content

v0.12.0

Latest

Choose a tag to compare

@hhrutter hhrutter released this 22 Apr 19:13
· 5 commits to master since this release
bce7271

A Release Featuring Command Completion

Starting with this release, pdfcpu now offers shell command completion for CLI users.

Supported shells:

  • bash
  • zsh
  • fish
  • PowerShell

Big thanks to @doronbehar for providing the Cobra integration 🙌

CLI Improvements

This release also refines how command flags work:

  • Clear distinction between short and long flags

    • Example: -f vs --full
  • Short flags can now be chained:

    pdfcpu signatures validate signed.pdf -af

    is equivalent to:

    pdfcpu signatures validate signed.pdf --all --full

Tradeoff

As a result of this cleanup:

  • Arbitrary abbreviation of commands and flags is no longer supported

However, the CLI is now more predictable and easier to use overall.

👉 Learn more:

pdfcpu completion --help

👉 For command help going forward:

pdfcpu <command> --help

🛠️ Stability & Ongoing Work

This release also represents a significant amount of work behind the scenes focused on overall stability and parser robustness. Many edge cases have been addressed to make pdfcpu more reliable when dealing with real-world PDF files.

Work on digital signature creation and validation is actively ongoing. These features will be released once the maintainers are confident they meet the expected standards for quality, correctness, and practical usefulness.


✂️ Removing Signatures (--rmsig)

This flag removes all signatures as part of processing.

Supported commands:

  • merge
  • optimize

There is also a dedicated command:

pdfcpu signatures remove inFile [outFile]

Flags:

  • --rmenc → also remove encryption
  • -h, --help → show help

🔓 Removing Encryption (--rmenc)

The --rmenc flag removes any existing encryption when writing a file.

Supported commands:

  • optimize
  • signatures remove

🔐 Encryption

pdfcpu now supports AES-256 GCM encryption (ISO/TS 32003).

  • The encrypt command defaults to AES-256 GCM
  • Supported consistently across relevant operations

🙏🏻 Thanks 🙏🏻

everybody for testing and feeding back your real world PDFs and bug reports.
Shoutouts 👏🏻 go to @mdmcconnell, @13rac1, @doronbehar and @joeyave for spending their time on submitting PR's.


Changelog