Skip to content

earonesty/boxpdf](https:

v1.2.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 20d Build & Package
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

cloudflare-workers flexbox layout pdf pdf-lib typescript

Summary

AI summary

Updates Behavior, New, and Other across a mixed release.

Full changelog

CSS-style flex-shrink on hstack / vstack. When intrinsic children exceed the container, items with shrink > 0 give up shares of the overflow proportional to shrink × baseSize — and text re-wraps to fit.

New

  • shrink: number on text(), vstack(), hstack(), spacer(). link() forwards its child's weight.
  • breakWords: boolean on text() — CSS overflow-wrap: break-word; allows char-level wrap below the longest-word floor.
  • maxLines (existing) now also lowers the shrink floor so the engine can ellipsize cleanly into a narrower slot.

Behavior

  • Multi-word text floors at its widest whitespace-separated word — never breaks mid-word.
  • Single-token strings (URLs, hashes, identifiers) overflow visibly by default. Opt in to truncation (maxLines: 1) or char-break (breakWords: true).
  • Iterative weight redistribution when an item hits its floor — CSS flexbox semantics.
  • Vertical shrink fires when a vstack has a fixed height smaller than the sum of its children.
  • resolveMainAxis exported for layout consumers.

Other

  • Debug overlay strokes now sit fully outside the content box, so glyphs at the box edge never visually overlap the stroke.

Tests

89/89 passing (24 new for flex-shrink). Verified end-to-end on Cloudflare Workers.

See examples/flex-shrink.ts for a runnable showcase.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track earonesty/boxpdf](https:

Get notified when new releases ship.

Sign up free

About earonesty/boxpdf](https:

All releases →

Related context

Beta — feedback welcome: [email protected]