NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4821 most downloaded on npm
A render engine for Node and the browser
Last release 1 months ago
27 Aug 2026
Release timing varies
gaps range from 8 days to 7 months
Most releases are documented
notes for 40 of 59 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
68 releases · first in 2020
One column per quarter.
Updated dependencies [ 10d8365e2eb8fc3987cf94d4d61a7559f4ba1dfb ]:
b768f01e862cd56987f046c117919191ef810646 Thanks @diegomura! - Reintroduce @react-pdf/svgkit: a pdfkit-shaped drawing context that renders documents to SVG strings. @react-pdf/render gains an optional ctx.glyphs capability seam so non-PDF backends receive raw glyphs; pdf output is unchanged.10d8365e2eb8fc3987cf94d4d61a7559f4ba1dfb]:
Updated dependencies [ df39d4cf2f18ee234b4f6c7674d94bdfc4742489 , 6dc0901c26354dc5a38ed302ef76d371d74d8d61 , a291d4fb45b6260861868b973b24e9a49915f6a0
df39d4cf2f18ee234b4f6c7674d94bdfc4742489, 6dc0901c26354dc5a38ed302ef76d371d74d8d61, a291d4fb45b6260861868b973b24e9a49915f6a0]:
Nothing published for this version
Nothing published for this version
Updated dependencies [`6f94a82ea4306b0fd9c7c161f9c44609be7f6f39`]:
#3481 563d74e0364c80d8e6094777aa66879803786e44 Thanks @diegomura! - Sync pdfkit acroform mixin with upstream. Form field dictionaries no longer leak internal options like fontSize into the PDF.
Updated dependencies [6f94a82ea4306b0fd9c7c161f9c44609be7f6f39]:
71fc26e8f18a8f3d3edd64b0a1b38c138deb593c, dee75f98e51198766a37addc9d0bdaa4dd5dbb3b, ded9cdcf0d120911c0339c91519b41204acbd7d3, 105bdd20e8865bf92e0275e66001a1dbd06d5bf6, 1da12f2b2fc018ce6af5c5f6e04fda3016a8d39e, 563d74e0364c80d8e6094777aa66879803786e44]:
Updated dependencies [`62c97745`, `78ca6aa8`, `6098e648`, `627acbe0`, `db681b16`, `59aa9aea`, `4c4e7a1a`, `d41a8207`, `2dcdb262`, `87911560`, `b2acd72
Updated dependencies \[`f30cf001`, `7fa9c06e`, `7b37bc8c`, `b28b61cf`]:
Nothing published for this version
Updated dependencies \[`e585e352`]:
#3351 e585e352 Thanks @diegomura! - fix(render): border rendering + tests
Updated dependencies [e585e352]:
#3152 beaffd3d Thanks @Namchee! - chore: replace emoji-regex with emoji-regex-xs
#3190 a99d10fb Thanks @carlobeltrame! - Fix yoga error Invalid array length at Array.push(<anonymous>)
Fix infinite loop while wrapping pages
#3203 ec063bec Thanks @100Gyeon! - fix: prevent unhandled promise rejections when loading emoji images
Updated dependencies []:
#2605 f7505ed Thanks @wojtekmaj! - fix: fix CJS compatibility
Updated dependencies [f7505ed]:
Updated dependencies \[`f89f75c1`]:
f89f75c1 Thanks @diegomura! - feat: add xLinkHref, gradientTransform and gradientUnits supportf89f75c1]:
8350154 Thanks @diegomura! - feat: bidi support8350154]:
Updated dependencies \[`c40bfdec`, `5b6a6a4a`, `143317f2`, `01e1fbbe`, `e27cdb48`, `39886cd7`, `7d05a6d9`]:
#3329 143317f2 Thanks @diegomura! - fix(render): text decoration color opacity
#3324 01e1fbbe Thanks @diegomura! - feat: rotate explicit origin support
Updated dependencies [16cf5bd7, c40bfdec, 5b6a6a4a, 2ca8ae83]:
Updated dependencies \[`f034491b`, `2eba70bd`, `fafbcb12`, `cc1aff24`]:
f034491b]:
### Patch Changes - Updated dependencies \[]: - @react-pdf/types@2.9.1
e257f7ee Thanks @diegomura! - fix: font store types
Updated dependencies []:
`01b4ff5c` Thanks @diegomura! - fix: debug prop
f89f75c1 Thanks @diegomura! - feat: add xLinkHref, gradientTransform and gradientUnits support01b4ff5c Thanks @diegomura! - fix: debug prop
Updated dependencies [01b4ff5c, f89f75c1, 106699e8]:
#3100 a9ef6416 Thanks @diegomura! - feat: support percentage gap
#3102 24690f52 Thanks @diegomura! - feat: handle standard fonts in fonts package
#3092 481b536f Thanks @diegomura! - refactor: convert layout package to TS
#3103 b06d3a0f Thanks @diegomura! - refactor: unify font substitution engines
#3104 ddfa3675 Thanks @diegomura! - feat(textkit): expect font array
#3098 bfb51ec0 Thanks @diegomura! - refactor: convert render package to TS
#3101 fce45ea5 Thanks @diegomura! - fix: layout package types
Updated dependencies [2a4f1bfc, 7cd66e4f, ddfa3675, 3fb01a90, c7b74963, bfb51ec0, 24690f52, 481b536f, b06d3a0f]:
b6a14fd Thanks @wojtekmaj! - Add support for native ESMb6a14fd]:
### Patch Changes - Updated dependencies \[]: - @react-pdf/types@2.8.2
Updated dependencies \[`7cd66e4f`, `ddfa3675`, `c7b74963`, `bfb51ec0`, `24690f52`, `481b536f`, `b06d3a0f`]:
#3098 bfb51ec0 Thanks @diegomura! - refactor: convert render package to TS
#3102 24690f52 Thanks @diegomura! - feat: handle standard fonts in fonts package
7cd71714 Thanks @diegomura! - feat: added Form Annotation support#3014 685890bd Thanks @islam-kamel! - fix: PDFDownloadLinkProps Type Error
Updated dependencies [7cd71714, fabecc56, 01944231, 6d875056, 49daae8f, 5cc47319, aa0f6725]:
18834efa Thanks @nikischin! - Changed unit behavior according to PDF spec. Please note that all unitless values are considered as user unit which is a 72dpi equality of the value. This is according to PDF spec and ensures a consistent layout independent of the dpi setting.18834efa]:
b6a14fd Thanks @wojtekmaj! - Add support for native ESM#2498 6bfe7e8 Thanks @diegomura! - fix: color parse error
Updated dependencies [b6a14fd]:
2db67a3 Thanks @KODIKAS-NL! - added base support for verticalAlign "super" and "sub"eff1ff0]:
Updated dependencies \[`96c2464d`, `24fe4bf8`, `700535c5`, `442ce355`, `3007d34a`]:
#2955 425f1183 Thanks @diegomura! - feat: support rem units
#2952 2c3c887e Thanks @diegomura! - feat: support multiple line-height units
Updated dependencies [425f1183, 2c3c887e]:
### Patch Changes - #3067 `96c2464d` Thanks @diegomura! - refactor: convert primitives package to TS
96c2464d Thanks @diegomura! - refactor: convert primitives package to TSd36ace66]:
#2947 ed562b9b Thanks @diegomura! - feat: remove cross-fetch
Updated dependencies [ed562b9b, 77e480cd]:
82192b3a]:
#3527 6dc0901c26354dc5a38ed302ef76d371d74d8d61 Thanks @diegomura! - perf: drop the omit('font') preprocessing pass, skip attachment purging when no attachment is set, reduce allocations in the Knuth-Plass main loop, and cache standard font AFM glyph-name lookups
Updated dependencies []:
Caution: If you have been using a custom hyphenation callback - which hasn't been working properly since at least version 2.0.21 - then you will need
#3188 f034491b Thanks @carlobeltrame! - Fix and rework the hyphenation algorithm, and allow custom word hyphenation algorithms to specify whether a hyphen should be inserted in case the word is wrapped.
Caution: If you have been using a custom hyphenation callback - which hasn't been working properly since at least version 2.0.21 - then you will need to change your implementation to leave a soft hyphen character ('\u00AD') at the end of syllables where you want react-pdf to insert a hyphen when wrapping lines. Syllables without a final soft hyphen character will still be able to break, but will not produce a hyphen character at the end of the line.
This allows you to break correctly on normal hyphens or other special characters in your text. For example, to use the default english-language syllable breaking built into react-pdf, but also break after hyphens naturally occurring in your text (such as is often present in hyperlinks), you could use the following hyphenation callback:
import { Font } from "@react-pdf/renderer";
Font.registerHyphenationCallback((word, originalHyphenationCallback) => {
return originalHyphenationCallback(word).flatMap((w) => w.split(/(?<=-)/));
});
(flatMap requires at least ES2019)
7cd71714 Thanks @diegomura! - feat: added Form Annotation support#3062 5cc47319 Thanks @diegomura! - refactor: unify pdfkit image mixin
Updated dependencies [7cd71714, 01944231]:
52b2f253 Thanks @diegomura! - feat: add React 19 support52b2f253]:
Updated dependencies \[`f89f75c1`, `106699e8`]:
226467e3 Thanks @diegomura! - refactor: partially unify pdfkit00bfdc1e]:
#2936 7add014c Thanks @diegomura! - feat: pre-bundle + bump react-reconciler
Updated dependencies [b242e59a, 7add014c]:
`e257f7ee` Thanks @diegomura! - fix: font store types
e257f7ee Thanks @diegomura! - fix: font store types
Updated dependencies []:
#3061 6d875056 Thanks @diegomura! - feat: pdfkit upstream changes
#3060 49daae8f Thanks @diegomura! - feat: enable pdfkit markings mixin
#3062 5cc47319 Thanks @diegomura! - refactor: unify pdfkit image mixin
#3059 aa0f6725 Thanks @diegomura! - feat: add pdfkit subsets mixin
#2948 03322a75 Thanks @diegomura! - fix: stroke dash array computation
#2945 b5c0fe64 Thanks @diegomura! - fix: skew transformation
58f9a047]:
58f9a047 Thanks @jmezzacappa! - Prevent Yoga init from running more than onceUpdated dependencies \[`7cd66e4f`]:
24690f52 Thanks @diegomura! - feat: handle standard fonts in fonts package#3087 7cd66e4f Thanks @diegomura! - fix: font exported types
#3093 a2de2685 Thanks @diegomura! - refactor: font strict type checking
#3092 481b536f Thanks @diegomura! - refactor: convert layout package to TS
Updated dependencies [7cd66e4f]:
70f29a04 Thanks @diegomura! - feat!: drop cjs supportafe4bcfe Thanks @diegomura! - feat: add gap percentage support70f29a04 Thanks @diegomura! - feat!: drop cjs support#2877 fdcef566 Thanks @Friendseeker! - chore: bump jay-peg
Updated dependencies [70f29a04]:
#2711 42570321 Thanks @wojtekmaj! - Update Yoga to 3.0
#2871 70f29a04 Thanks @diegomura! - feat!: drop cjs support
#2876 afe4bcfe Thanks @diegomura! - feat: add gap percentage support
#2875 46c3047d Thanks @diegomura! - feat: add position: static support
#2874 55973278 Thanks @diegomura! - feat: add align-content: space-evenly support
Updated dependencies \[`8e6a832`, `4bafab8`]:
8e6a832 Thanks @nikischin! - fix: fix dpi53bf803 Thanks @obi-awyss! - [fix] "TypeError: renderFn is not a function"
It may also address issue #26448e6a832, 4bafab8]:
2db67a3 Thanks @KODIKAS-NL! - added base support for verticalAlign "super" and "sub"Updated dependencies \[`22a34a9`]:
22a34a9]:
Updated dependencies \[`67c265a`, `713690c`]:
#2605 f7505ed Thanks @wojtekmaj! - fix: fix CJS compatibility
Updated dependencies [f7505ed]:
Updated dependencies \[`e2d21a4`]:
e2d21a4]:
Updated dependencies \[`68bfc57`]:
68bfc57]:
b5380a1 Thanks @satelllte! - fix: creationDate and modificationDate typesUpdated dependencies \[`da10a9b`, `087ee22`]:
fab09cc Thanks @SethThoburn! - Pass _INTERNAL__LAYOUT__DATA_ to onRenderCallback in toBufferfb5273d Thanks @diegomura! - feat: add creation and modification dates#2538 cfd050c Thanks @wojtekmaj! - Fix strokeDasharray crash
Updated dependencies [fb5273d]:
Updated dependencies \[`fb5273d`, `cfd050c`]:
Updated dependencies \[`36c6ba3`, `a35b1ba`]:
#2529 a35b1ba Thanks @diegomura! - fix: jpeg exif orientation rendering
Updated dependencies [36c6ba3, a35b1ba]:
42bbbda]:
Updated dependencies \[`9e5842b`, `0f5c43f`]:
0f5c43f Thanks @diegomura! - feat: wasm yoga#2515 64f7bba Thanks @wojtekmaj! - Allow <G style={…} /> in TypeScript
#2522 e817223 Thanks @wojtekmaj! - Make options in usePDF optional in TypeScript
#2519 cf73180 Thanks @wojtekmaj! - Fix props unnecessarily required in LinearGradient and RadialGradient in TypeScript
#2516 66a40b2 Thanks @wojtekmaj! - Allow <Link href={…} /> in TypeScript
Updated dependencies [9e5842b, 0f5c43f]:
b6a14fd Thanks @wojtekmaj! - Add support for native ESM#2498 6bfe7e8 Thanks @diegomura! - fix: color parse error
Updated dependencies [b6a14fd]:
Updated dependencies \[`4a55c1b`]:
4a55c1b]:
Updated dependencies \[`1e1fbdc`, `8636812`]:
#2320 5385a43 Thanks @wojtekmaj! - Fixed empty strings replaced with defaults in creator and producer props
Updated dependencies [1e1fbdc, 8636812]:
Updated dependencies \[`a25dbcb`]:
#2311 2e724df Thanks @wojtekmaj! - Fixed crash on transform="translate(1)"
#2314 d6018d5 Thanks @wojtekmaj! - Make cx and cy optional in Circle and Ellipse
Updated dependencies [a25dbcb]:
Updated dependencies \[`47e91cb`]:
47e91cb]:
Updated dependencies \[`2db67a3`, `eff1ff0`]:
Nothing published for this version
Updated dependencies \[`42bbbda`]:
42bbbda]:
### Minor Changes - #2771 `8e6a832` Thanks @nikischin! - fix: fix dpi
8e6a832 Thanks @nikischin! - fix: fix dpiUpdated dependencies \[`96c2464d`, `24fe4bf8`, `700535c5`]:
b6a14fd Thanks @wojtekmaj! - Add support for native ESMb6a14fd Thanks @wojtekmaj! - Add support for native ESMb6a14fd]:
Updated dependencies [`627acbe0`]:
#3464 8c723cca Thanks @diegomura! - Declare @react-pdf/primitives dependency.
Updated dependencies [627acbe0]:
70f29a04 Thanks @diegomura! - feat!: drop cjs support70f29a04 Thanks @diegomura! - feat!: drop cjs support#2877 fdcef566 Thanks @Friendseeker! - chore: bump jay-peg
Updated dependencies [70f29a04]:
### Minor Changes - #2409 `b6a14fd` Thanks @wojtekmaj! - Add support for native ESM
b6a14fd Thanks @wojtekmaj! - Add support for native ESMNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Major Changes - #3224 `fafbcb12` Thanks @ZandercraftGames! - feat: add React 19.2.X support ### Patch Changes - #3261 `2eba70bd` Thanks @Nukem154!
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →