Skip to content

chore: release packages - #3493

Merged
diegomura merged 1 commit into
masterfrom
changeset-release/master
Aug 23, 2026
Merged

chore: release packages#3493
diegomura merged 1 commit into
masterfrom
changeset-release/master

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.

Releases

@react-pdf/layout@5.0.0

Major Changes

  • #3500 572cedc23493e4a3085e259bf129ceec458418bd Thanks @diegomura! - Move render-prop element conversion from layout to the renderer

    Render props are now wrapped at the reconciler boundary: by the time layout
    calls them they return internal instances, not React elements. Layout's
    createInstances is deleted and resolvePagination consumes instances
    directly.

    Breaking (layout): anyone calling @react-pdf/layout directly with
    trees whose render props return React elements must convert the result
    before handing it to layout — the contract is now instance arrays. Users of
    @react-pdf/renderer are unaffected: the renderer performs the conversion.

Minor Changes

  • #3505 ae9a9983e8bd8b63c3873000531a8307e22c7bae Thanks @diegomura! - Experimental pagination engine, opt-in per page

    A new pagination engine ships alongside the current one: content is
    measured once and packed into pages instead of relayouting on every split,
    making long documents paginate orders of magnitude faster (a 300-page
    document drops from ~40s to ~200ms).

    Opt in with <Page experimentalPagination> — any page opting in switches
    the whole document. The default behavior is unchanged.

    Under the new engine:

    • <Page layout={Layout}> renders per-page chrome (headers, footers,
      sidebars) around the content. The layout component receives
      { pageNumber, totalPages, subPageNumber, subPageTotalPages } and the
      page content as children, and runs once per output page. Using layout
      implies experimentalPagination.
    • One fixed semantic: in-flow fixed elements repeat at the top of every
      page they span; footers are the layout's job.
    • minPresenceAhead is supported, with one refinement: a trailing element
      with nothing after it stays in place instead of moving to its own page.

    The current engine remains the default until the next major, when the new
    engine takes over.

Patch Changes

@react-pdf/paginate@1.0.0

Major Changes

  • #3501 cf1348df7bfbc8091ff495320a3ae798569ccc4e Thanks @diegomura! - Box-model public API: FlowNode in, PlacedNode out

    createPaginator(nodes: FlowNode[]) now takes a tree of boxes — tops,
    heights, margins, edges — and derives gaps, edge spacers, and row offsets
    internally. The item stream (leaf/spacer/column/row/penalty/lazy) becomes an
    implementation detail; paginate and the Item types are no longer exported.
    Output is PlacedNode[]: placed fragments in the caller's vocabulary, with
    spacers and synthetic wrappers dissolved into positions.

    Also: columns whose children overlap vertically (flex-wrap) are now demoted
    to unsplittable leaves by the engine itself.

Minor Changes

  • #3497 482d7cd600ffa28c60b5db46e7eb1466398feb7b Thanks @diegomura! - Add repeat flag — items re-emit at the head of every continuation of their parent column (repeating table headers), composing with lazy items to re-materialize per page. Add createPaginator for stepwise pagination with a different height per page.

@react-pdf/primitives@4.4.0

Minor Changes

  • #3505 ae9a9983e8bd8b63c3873000531a8307e22c7bae Thanks @diegomura! - Experimental pagination engine, opt-in per page

    A new pagination engine ships alongside the current one: content is
    measured once and packed into pages instead of relayouting on every split,
    making long documents paginate orders of magnitude faster (a 300-page
    document drops from ~40s to ~200ms).

    Opt in with <Page experimentalPagination> — any page opting in switches
    the whole document. The default behavior is unchanged.

    Under the new engine:

    • <Page layout={Layout}> renders per-page chrome (headers, footers,
      sidebars) around the content. The layout component receives
      { pageNumber, totalPages, subPageNumber, subPageTotalPages } and the
      page content as children, and runs once per output page. Using layout
      implies experimentalPagination.
    • One fixed semantic: in-flow fixed elements repeat at the top of every
      page they span; footers are the layout's job.
    • minPresenceAhead is supported, with one refinement: a trailing element
      with nothing after it stays in place instead of moving to its own page.

    The current engine remains the default until the next major, when the new
    engine takes over.

@react-pdf/renderer@4.7.0

Minor Changes

  • #3505 ae9a9983e8bd8b63c3873000531a8307e22c7bae Thanks @diegomura! - Experimental pagination engine, opt-in per page

    A new pagination engine ships alongside the current one: content is
    measured once and packed into pages instead of relayouting on every split,
    making long documents paginate orders of magnitude faster (a 300-page
    document drops from ~40s to ~200ms).

    Opt in with <Page experimentalPagination> — any page opting in switches
    the whole document. The default behavior is unchanged.

    Under the new engine:

    • <Page layout={Layout}> renders per-page chrome (headers, footers,
      sidebars) around the content. The layout component receives
      { pageNumber, totalPages, subPageNumber, subPageTotalPages } and the
      page content as children, and runs once per output page. Using layout
      implies experimentalPagination.
    • One fixed semantic: in-flow fixed elements repeat at the top of every
      page they span; footers are the layout's job.
    • minPresenceAhead is supported, with one refinement: a trailing element
      with nothing after it stays in place instead of moving to its own page.

    The current engine remains the default until the next major, when the new
    engine takes over.

  • #3500 572cedc23493e4a3085e259bf129ceec458418bd Thanks @diegomura! - Move render-prop element conversion from layout to the renderer

    Render props are now wrapped at the reconciler boundary: by the time layout
    calls them they return internal instances, not React elements. Layout's
    createInstances is deleted and resolvePagination consumes instances
    directly.

    Breaking (layout): anyone calling @react-pdf/layout directly with
    trees whose render props return React elements must convert the result
    before handing it to layout — the contract is now instance arrays. Users of
    @react-pdf/renderer are unaffected: the renderer performs the conversion.

Patch Changes

@react-pdf/types@2.12.0

Minor Changes

  • #3505 ae9a9983e8bd8b63c3873000531a8307e22c7bae Thanks @diegomura! - Experimental pagination engine, opt-in per page

    A new pagination engine ships alongside the current one: content is
    measured once and packed into pages instead of relayouting on every split,
    making long documents paginate orders of magnitude faster (a 300-page
    document drops from ~40s to ~200ms).

    Opt in with <Page experimentalPagination> — any page opting in switches
    the whole document. The default behavior is unchanged.

    Under the new engine:

    • <Page layout={Layout}> renders per-page chrome (headers, footers,
      sidebars) around the content. The layout component receives
      { pageNumber, totalPages, subPageNumber, subPageTotalPages } and the
      page content as children, and runs once per output page. Using layout
      implies experimentalPagination.
    • One fixed semantic: in-flow fixed elements repeat at the top of every
      page they span; footers are the layout's job.
    • minPresenceAhead is supported, with one refinement: a trailing element
      with nothing after it stays in place instead of moving to its own page.

    The current engine remains the default until the next major, when the new
    engine takes over.

Patch Changes

@react-pdf/font@4.0.11

Patch Changes

@react-pdf/image@3.1.2

Patch Changes

  • Updated dependencies []:
    • @react-pdf/svg@1.1.1

@react-pdf/math@4.0.0

Patch Changes

@react-pdf/mermaid@4.0.0

Patch Changes

@react-pdf/render@4.6.2

Patch Changes

@react-pdf/stylesheet@6.2.4

Patch Changes

@react-pdf/svg@1.1.1

Patch Changes

@react-pdf/textkit@6.4.2

Patch Changes

next-14@0.1.25

Patch Changes

next-15@0.1.25

Patch Changes

@react-pdf/vite-example@3.5.4

Patch Changes

@github-actions
github-actions Bot force-pushed the changeset-release/master branch 9 times, most recently from d1fa727 to 25a2c1a Compare August 23, 2026 01:39
@github-actions
github-actions Bot force-pushed the changeset-release/master branch from 25a2c1a to f0f7366 Compare August 23, 2026 02:33
@diegomura
diegomura merged commit d5adf3d into master Aug 23, 2026
@diegomura
diegomura deleted the changeset-release/master branch August 23, 2026 02:35
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