fix(deps): update module github.com/pdfcpu/pdfcpu to v0.15.0 - #11
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update module github.com/pdfcpu/pdfcpu to v0.15.0#11renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
Author
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.13.0→v0.15.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
pdfcpu/pdfcpu (github.com/pdfcpu/pdfcpu)
v0.15.0Compare Source
pdfcpu v0.15.0
This release is a focused follow-up to v0.14.0 improving diagnostics and observability for validating large PDF corpora.
It also includes PDF processing hardening, CJK text wrapping for watermarks, and clearer signature-validation
behavior.
v0.15.0 follows v0.14.0 by only one week because post-release corpus testing made an existing operational gap clear:
large wildcard-driven validation runs delayed failure diagnostics until the full input set completed and provided no
quiet-mode indication of the file currently being processed.
The changes are targeted and immediately useful to corpus testers, so holding them for a later feature release would unnecessarily delay feedback. The short interval is intentional and does not establish a weekly release routine.
Corpus validation diagnostics
Multi-file CLI validation now reports each failed input as soon as the failure is detected, continues with the remaining
inputs, and exits nonzero with a compact summary:
The new
--progressflag identifies the active input during quiet validation runs. This is useful when a long-runningcorpus job stalls on a particular file:
pdfcpu validate -q --progress "**/*.pdf"The quotes are intentional. They pass the recursive pattern to pdfcpu for internal expansion instead of asking the shell
to expand thousands of paths into one command line, which may exceed the operating system's argument-size limit.
With
-q --progress, progress and validation failures are written to standard error while standard output remainsclean:
Corpus testing and issue reports
There is a new Corpus Validation guide documenting quick assessment,
progress monitoring, logging, validation modes, result interpretation, and focused issue reporting.
A failed corpus run is diagnostic input, not an issue backlog.
Public reports must isolate one manually verified and independently reproduced problem with the smallest shareable PDF.
Include the relevant error and final summary, and attach large logs as compressed files instead of pasting them into an issue.
AI-generated, bulk-generated, or mechanically reformatted corpus reports will be closed immediately without investigation.
Corpus-wide analysis, failure classification, confidential-file investigation, and scheduled remediation are separate engineering work and may require a paid engagement.
Limited corpus investigation and remediation work may be available by arrangement.
PDF validation and processing hardening
Malformed and inconsistent PDF structures now produce more contextual errors across reading, dereferencing, validation,
optimization, fonts, forms, and XObjects. Integer conversion and encryption handling have been tightened, and additional
guards reduce the risk of panics while processing damaged input.
This work is backed by expanded malformed-input, error-path, and optimization regression coverage.
CJK watermark text wrapping
Text watermarks now support automatic wrapping for CJK text, including long runs without spaces. Oversized text is
wrapped to the configured width instead of forcing unintended font-size reduction. This resolves issue #1427 and
includes expanded CJK wrapping and layout coverage.
Digital signatures
Signature validation output is clearer for legacy and unsupported cases. Evidence handling, PKCS#1 and PKCS#7
processing, and related error classification have also been tightened.
Compatibility notes
The
pkg/apimulti-file validation contract is unchanged: API callers continue to receive joined errors afterprocessing. The CLI now streams individual multi-file validation failures and returns a final summary, so scripts that
compare complete stderr strings should be updated to rely on exit status and stable error classification instead.
Existing non-quiet validation already reports the active input.
--progressextends that visibility to quiet corpus runs without duplicating normal progress output.Changelog
f268655bump versiondcc168dupdate issue reporting guidelinesf5f3edfharden PDF validation and add progress reportingafc357eclarify signature validation output and legacy handlingc9c07d0harden crypto integer conversions1983827upgrade gh workflows4e5f3abharden crypto integer conversionsb57300bclean up for #1427a2c3371add CJK auto-wrap support for text watermarks (#1427)v0.14.0Compare Source
Safer Processing, Clearer Errors
Changes since v0.14.0-rc.1
Shared custom font directories (#1454)
Installed font metrics are now world-readable (0644).
Calling api.InstallFonts(nil) reloads existing fonts without modifying the font directory,
allowing fonts installed by one user to be shared safely with other users that have read-only access.
Error handling
The
github.com/pkg/errorsdependency is gone.Error handling has been migrated throughout the codebase to standard Go patterns.
Errors now retain useful operation and input context, and exported sentinel errors make failures easier to classify with
errors.Isanderrors.As.Public API boundaries now validate nil and invalid arguments instead of risking panics. Multi-input operations return joined
errors where appropriate, while the CLI presents concise errors without exposing stack traces by default.
File operations are safer as well: output is staged before replacement, existing files and permissions are preserved on
failure, filesystem aliases and output collisions are detected, and temporary-file cleanup has been hardened across
platforms.
CLI
CLI users should see clearer and more complete diagnostics, particularly for batch validation, merging, attachments,
encryption, certificates, fonts, and page operations.
Other notable changes include:
OneColumnpage layout.fonts cheatsheet.API
The public API now offers more consistent reader/writer and file-based entry points, along with exported errors that callers
can inspect without parsing error strings.
New and expanded API support includes:
Callers that compare complete error strings should migrate to
errors.Isorerrors.As, as many errors now includeadditional operation and source context.
Security, signatures, and dependencies
Signature, timestamp, PKCS#7, certificate-chain, and revocation processing received substantial hardening. This area remains
under active development, and further work on signature creation, validation, revocation, and interoperability is ongoing.
Remote image fetching for create and form inputs now rejects private and local destinations, including redirects and DNS
results. Access to private revocation endpoints must be explicitly allowed through
allowedRevocationHosts.The external
github.com/hhrutter/lzwandgithub.com/hhrutter/pkcs7dependencies have been replaced by internalimplementations. Remaining dependencies have been updated.
Windows 7
The experimental Windows 7 build is being discontinued because the request for community testing received no response.
It relied on an unofficial patched Go toolchain and could not be tested on Windows 7 in CI.
Official Go releases require Windows 10 or Windows Server 2016 or later.
Additional fixes
This release also includes numerous fixes across parsing, validation, forms, fonts, attachments, merging, page trees,
annotations, images, encryption, and digital signatures, backed by substantially expanded regression and error-path
coverage.
Thanks
Many of the fixes in this release began with reports from you - the pdfcpu users.
Thanks everyone who opened issues, provided reproducible examples, tested fixes, and helped identify difficult PDF edge cases. Your feedback directly improves pdfcpu's reliability.
Changelog
ef9ddadbump version8c3a1f5fix(font): reload existing fonts for empty API input384defdupdate gh templatesb3ddbc8fix: make installed fonts shared-readable1e88df9Update Readme2f43fd6fix Windows test portability5f7bf42bump version029fa54harden recursive action and bead validation5538e8afix #13834b6b06bfix #1448f3c9ed6cleanup error handlinge7973f5harden integer validation and CI permissions4dc0e62fix #14401fa2661fix #14390f5d517fix #1438e413baffix #1437d2488f1fix #14315a24554cleanup error handling997afdahide stack traces from default API and CLI errors29f40fcclarify encryption error classification63bf1f7fix(cli): surface multi-input command errors553aa81fix(cli): return batch validation and merge source errors73c7c23api: add source context to merge errorscd741d7api: harden error and nil argument handlingae3023dfix #1051fd3c42badd regression test for #1059db89772fix #10886d12b95fix #109104d6bbefix #86675ded47fix #110185bb381fix #11238231174fix #1127b897b5ffix #1161c5124d8upgrade dependencies6e318a0fix #4157623a90fix #1265a35e551add regression test for #127163ad8b6fix #127934a4775Harden remote image fetching for create/form inputsee19119fix #12825868dc5fix #1311ca9e9aafix #132585f5d11fix #1326dfb3b49internalize PDF LZW filter implementation6c60ed4fix #1302def15dbfix #134066f98fdfix #1387a496812fix #141930b7bc5fix #1417e711196fix #1403dbf9907fix #1274d79565dadd regression test for invalid destination stream #933887462dfix #1289d5ec9d3Add xref stream regression tests for #399 and #40189d4bc1fix #990d01e391fix #1385b45031cFix tmp file handling & permissionsb17661eAdd missing guards7bde99eFix #1404Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.