Skip to content

deps(rust): bump printpdf from 0.10.0 to 0.10.1#82

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/printpdf-0.10.1
Open

deps(rust): bump printpdf from 0.10.0 to 0.10.1#82
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/printpdf-0.10.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps printpdf from 0.10.0 to 0.10.1.

Changelog

Sourced from printpdf's changelog.

0.10.0 shipped with every embedded font empty (#277), and the trap bit azul twice more on the way out. It is now a CI failure for a [patch] section to exist at all.

That required releasing the dependencies for real: azul-css 0.0.9, azul-core 0.0.9, azul-layout 0.0.10 and allsorts-azul 0.17.1. The published azul-layout 0.0.9 SIGSEGVs on any hosted OS - it carried 48 ungated core::ptr::write_volatile(0x400EC as *mut u32, …) calls (web-lift diagnostic markers writing to a hardcoded absolute address, unmapped on native targets). 0.0.10 routes them through a no-op unless the web_lift feature is on, so the HTML/layout path works again.

Breaking

  • LineDashPattern is now { offset: f32, pattern: SmallVec<[f32; 8]> } - an arbitrary-length array of reals - rather than three fixed Option<i64> dash/gap pairs. The PDF spec always allowed this (#262, PR #263 by @​tower120). Build one with LineDashPattern::new(offset, &[dash, gap, …]) or LineDashPattern::solid(); you do not need a smallvec dependency of your own.
  • printpdf::ParsedFont is a printpdf type (a newtype over azul_layout::ParsedFont, with Deref), which guarantees the source bytes stay attached. Field access and method calls are unchanged; into_inner() / as_azul() reach the azul face.
  • Without text_layout, FontParseWarning is a struct rather than a String alias, so ParsedFont::from_bytes has the same signature with and without the feature (#260).
  • lopdf 0.39 → 0.44, and allsorts-azul 0.16 → 0.17. Both appear in printpdf's public API, so pinning either yourself means bumping in step.

Fixed

  • RUSTSEC-2026-0187 (unbounded-recursion DoS) - lopdf is on 0.44 (#272, PR #275 by @​Zynora-fr).
  • The HTML renderer could take the process down. allsorts::subset() builds the subset's cmap from the original font's cmap restricted to the kept glyphs, and panics
    • not errors - when that comes out empty (mappings.iter().next().unwrap(), under a "safe as mappings is non-empty" comment). Shaping emits glyph ids directly, and ligatures have no character of their own, so a page whose glyphs were all unreachable from the cmap aborted. printpdf now declines to subset in that case and embeds the full font.
  • External fonts did nothing without text_layout (#258). The fallback ParsedFont::from_bytes never parsed the cmap, so every glyph resolved to .notdef and pages came out blank - while the font embedded perfectly, which is why it looked so baffling. And PdfDocument::parse's Type0 branch was feature-gated, so it could not read an external font back either. The fallback now parses cmap/hmtx/head/hhea/OS-2 with allsorts, which is a non-optional dependency and was there all along.
  • FontDescriptor /ItalicAngle, /Flags and /StemV were hardcoded to 0 / 32 / 80 for every font - "upright, non-symbolic, medium weight", whatever you embedded. Readers use these to synthesise or substitute a face. They are derived from the hhea caret slope and OS/2 usWeightClass now (#271, residual).
  • wasm builds broke on the lopdf bump: getrandom must have wasm_js enabled per major version, and lopdf pulls 0.4 alongside the 0.3 other deps use.

Changed

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [printpdf](https://github.com/fschutt/printpdf) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/fschutt/printpdf/releases)
- [Changelog](https://github.com/fschutt/printpdf/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fschutt/printpdf/commits/v0.10.1)

---
updated-dependencies:
- dependency-name: printpdf
  dependency-version: 0.10.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot
dependabot Bot requested a review from NeuroKoder3 as a code owner July 20, 2026 10: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.

0 participants