v0.10.2
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 341ptGrid 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 templatesOther 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