Skip to content

v0.10.2

Choose a tag to compare

@danmolitor danmolitor released this 21 May 21:10
· 514 commits to main since this release

Forme 0.10.2

Two engine layout bug fixes. No API changes —
upgrade is drop-in.


Fixed

Flex row percentage widths resolve against
the parent

Children of a flexDirection: 'row' container
with explicit percentage widths were being
double-resolved — width: '30%' was computed
as 30% of the child's already-distributed width
(~9% of the row) instead of 30% of the row itself.

<View style={{ flexDirection: 'row' }}>
  <View style={{ width: '30%' }}><Text>30%</Text></View>
  <View style={{ width: '70%' }}><Text>70%</Text></View>
</View>
// Before: 30% child was ~44pt wide on a 487pt row
// After:  30% child is 146pt, 70% child is 341pt

Grid page-break keeps columns aligned

Grid containers that didn't fit on the current
page were scattering each column onto its own
page. An off-by-one guard in the first row's
page-break check suppressed the break, causing
each cell's content to individually overflow
and trigger its own new page. The entire row
now moves to the next page together, keeping
columns at the same y position.


Upgrade

npm install @formepdf/core@0.10.2 @formepdf/react@0.10.2
# plus any of: cli renderer hono next mcp resend sdk tailwind templates

Other consumers:

  • Rust: cargo add forme-pdf@0.10.2
  • Python: pip install formepdf==0.10.2
  • Go: go get github.com/formepdf/forme-go@v0.10.2
  • Docker: docker pull formepdf/forme:0.10.2

Full changelog: engine/CHANGELOG.md