unstale

npm / @embedpdf/plugin-render

@embedpdf/plugin-render

What changed in @embedpdf/plugin-render 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-06.

25 breaking1 security33 new APIs and options5 behavior and defaults2 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@embedpdf/plugin-render 366 changes

Breaking changes 25

  • Replaces the tile setting name bleed and makes its units explicit.

    3.0.0release notes

  • Checks render access; unauthorized page and tile renders are rejected locally with PermissionDenied.

    3.0.0release notes

  • Now takes a PageRef.

    3.0.0release notes

  • Replaces tilesFor and returns a ViewDemand with pure reads and explicit demand, paint, release, and disposal operations.

    3.0.0release notes

  • Replaces the tile setting name engageAt and makes its units explicit.

    3.0.0release notes

  • Form imports now emit a forms.created or forms.valueSet event per field, following removal of forms.imported.

    3.0.0release notes

  • Removed; form imports now fire per-field forms.created or forms.valueSet events.

    3.0.0release notes

  • Names the full-page settings type, replacing the previous Options type.

    3.0.0release notes

  • Removed; a widget's picture version is provided by the form plugin.

    3.0.0release notes

  • Replaces paintSettings and returns reference-stable paint settings.

    3.0.0release notes

  • Replaces renderEpoch, accepts a page ref or index and optional layer options, and returns 0 for a page not in the document.

    3.0.0release notes

  • Replaces renderPolicy as the public render-policy accessor.

    3.0.0release notes

  • Replaces renderSourceKey in the host capability and can request a thumbnail.

    3.0.0release notes

  • Reports confirmed pixel changes, including remote changes, with the engine origin fields.

    3.0.0release notes

  • Render refusals use PluginErrors with permission-denied, not-found, operation-cancelled, or operation-failed codes.

    3.0.0release notes

  • Provides a reference-stable tile handle bound to a view identity for planning, paint reporting, and release.

    3.0.0release notes

  • Now represents DeepPartial<RenderSettings>.

    3.0.0release notes

  • Removed in favor of renderAppearances; a widget's picture version is provided by the form plugin.

    3.0.0release notes

  • Names the conforming viewer door, replacing the host capability's renderPage method; it can request a thumbnail.

    3.0.0release notes

  • Renders a page thumbnail at 512 pixels on its long side and requires only doc.render.thumbnail; maxWidth is no longer supported.

    3.0.0release notes

  • Render requests reject with operation-cancelled as soon as their signal fires.

    3.0.0release notes

  • Removed along with toEngineRect; the kernel page space converts tile regions to PDF space.

    3.0.0release notes

  • Removed; new tiles appear as soon as they are ready, without a fade.

    3.0.0release notes

  • Names the tile settings type, replacing the previous Options type.

    3.0.0release notes

  • Removed along with tileEngineRect; the kernel page space converts tile regions to PDF space.

    3.0.0release notes

Security 1

  • Unauthorized page and tile render requests are refused locally rather than repeatedly sent to the engine.

    3.0.0release notes

New APIs and options 33

  • Reports whether the session may render thumbnails.

    3.0.0release notes

  • Checks for doc.render and doc.content.copy permissions required for snapshots.

    3.0.0release notes

  • Clears the current snapshot.

    3.0.0release notes

  • Publishes a bundle-safe entry for the render token, paint-plan vocabulary, settings, and capability types without raster or plugin wiring.

    3.0.0release notes

  • Reports which parts of a page the user may read.

    3.0.0release notes

  • Reports which painter currently holds the page pictures.

    3.0.0release notes

  • Reports whether a page picture is loading, ready, forbidden, errored, or idle in a view, and whether loading has been slow.

    3.0.0release notes

  • Reads live render settings for every open document.

    3.0.0release notes

  • Reads the current snapshot.

    3.0.0release notes

  • Reads the snapshot box for a page on the host lens.

    3.0.0release notes

  • Controls whether page pictures include form fields; asking for content the user may not read is refused.

    3.0.0release notes

  • Accepts a fields scope; invalidation pages use page refs or indexes, and pages not in the document are skipped.

    3.0.0release notes

  • Returns an item's last appearance pictures after it has left its page.

    3.0.0release notes

  • Fires whenever picture state changes.

    3.0.0release notes

  • Signals changes to live render settings.

    3.0.0release notes

  • Signals snapshot changes.

    3.0.0release notes

  • Adds includeFormFields alongside includeAnnotations.

    3.0.0release notes

  • Replaces page-number arguments for rendering and tile methods; renderPage, renderThumbnail, renderPages, getRenderEpoch, and invalidate also accept a page index.

    3.0.0release notes

  • Adds a configurable strategy for exact and lattice-backed deployments, with separate full-page and tile-plane budgets and format conformance.

    3.0.0release notes

  • Hands page-picture painting to another plugin; only one plugin can paint at a time, and the handover can be returned or lasts until document close.

    3.0.0release notes

  • Fetches appearance pictures for annotation or form-widget items and shares matching requests.

    3.0.0release notes

  • Renders a page region in page space, clipped at the page edge; a region missing the page is invalid-input.

    3.0.0release notes

  • Turns the rendered picture; region or rotation renders are caller-specific and outside the layers' cache.

    3.0.0release notes

  • Renders multiple pages with optional concurrency and reports results in input order.

    3.0.0release notes

  • Lets the layers report a page picture to the host lens.

    3.0.0release notes

  • Resets live render settings.

    3.0.0release notes

  • Compares two tile demands by value.

    3.0.0release notes

  • Sets when a page waiting to render is considered slow; defaults to 400.

    3.0.0release notes

  • Adds an interaction-plugin tool that captures a selected page box or whole page as an image and updates it for changes made before capture.

    3.0.0release notes

  • Configures the snapshot box fill color; omitted colors follow the accent again when the box setting changes.

    3.0.0release notes

  • Configures the snapshot box stroke color.

    3.0.0release notes

  • Sets snapshot image scale in pixels per point and defaults to 2.

    3.0.0release notes

  • Updates live render settings; new budgets, tile sizes, or formats apply immediately and trigger replanning and redraw.

    3.0.0release notes

Behavior and default changes 5

  • Uses bounded fetch backpressure and raster residency, generation retention, bled overlap, and stronger raster identities to limit memory and avoid stale reuse, seams, and zoom or pan quality regressions.

    3.0.0release notes

  • Reads null while the engine chooses; setting it to null gives the choice back.

    3.0.0release notes

  • Pictures are cached and redrawn according to the content they draw; annotation changes redraw pictures that include annotations.

    3.0.0release notes

  • Reads null while the engine chooses, allowing the choice to be returned by setting it to null.

    3.0.0release notes

  • Renders at the requested size without snapping, shares the raster cache with view layers, and can render a page region with optional rotation.

    3.0.0release notes

Fixes and other changes 2

  • A fonts.changed write repaints only what its events require; registering local-engine fonts after drawing repaints every page.

    3.0.0release notes

  • A page that disappears before it reaches the engine rejects not-found; pages that arrive later are drawn once available.

    3.0.0release notes