Skip to content

fix(deps): update dependencies - #23

Merged
tannevaled merged 1 commit into
mainfrom
renovate/deps
Aug 31, 2026
Merged

fix(deps): update dependencies#23
tannevaled merged 1 commit into
mainfrom
renovate/deps

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-gfx/gfx v0.16.0v0.19.0 age confidence
github.com/go-pdfkit/forms v0.2.2v0.3.0 age confidence

Release Notes

go-gfx/gfx (github.com/go-gfx/gfx)

v0.19.0

Compare Source

v0.18.0

Compare Source

v0.17.0: — a TIFF that is not eighteen times too big

Compare Source

tiff.Encode was passed nil options, which reads like "no options" and means "no compression". On a page-sized picture that is 7 755 458 bytes against 415 493 with Deflate — eighteen times.

It was found downstream. go-pdfkit/app added a format chooser for handing a drawn page over and measured what each costs over 40 real documents: GIF 105 kB, JPEG 129 kB, PNG 209 kB — against BMP 4.9 MB and TIFF 6.6 MB. The ratio between those two is exactly four bytes a pixel against three, the alpha channel TIFF carries: both were the raw raster.

Deflate is compression 8, which every reader written this century takes. LZW would be the other candidate and this library cannot write it — tiff.Encode refuses it.

BMP stays large, and now says so. BMP has no compression to ask for; the documentation says it rather than leaving somebody to find out on a document of two hundred pages, and a test asserts it, so a BMP encoder that one day learns to compress makes what is written here fail rather than merely become untrue.

The compressed file is read back and compared pixel for pixel. A smaller file nothing opens is worse than a large one.

100% statement coverage, go vet and -race clean, nine cross-compile targets, CGO-free.

go-pdfkit/forms (github.com/go-pdfkit/forms)

v0.3.0: — when the XML is the whole form

Compare Source

XFA came in two kinds and this package treated them as one.

Measured over 2 240 real government forms: 1 499 carry a form, 560 carry an XFA package, and 546 of those are static — a second, proprietary description of a form that is already there, on which everything here already works.

The other fourteen are dynamic: their pages hold a panel reading "Please wait… your PDF viewer may not be able to display this type of document", and the form is laid out from the XML by Adobe's reader and nothing else, the format having been removed from PDF 2.0. A caller meeting one has a document that looks blank and is not.

Form.Dynamic says which kind. Form.Packets hands back the parts of the package, so the values a form was filled with can be read — they live in the datasets part, as ordinary XML.

What measuring found. The library first answered "none dynamic" where the corpus said fourteen: Read refuses a form with no fields, and a dynamic XFA form usually has no AcroForm fields. The documents most needing to be reported were exactly the ones being refused. An empty field list with no XFA is still no form — 561 of 118 833 figure-corpus files carry one a producer left behind — but an empty one with a package is a form whose fields live elsewhere.

The library's count now matches the corpus exactly: 560 packages, 14 dynamic.

100% statement coverage, go vet and -race clean, nine cross-compile targets, CGO-free.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@tannevaled
tannevaled merged commit 2a24268 into main Aug 31, 2026
1 check passed
@tannevaled
tannevaled deleted the renovate/deps branch August 31, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant