NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #441 most downloaded on npm
React is a JavaScript library for building user interfaces.
Last release 2 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
15 years old
2961 releases · first in 2011
Below is a list of all new features, APIs, and bug fixes.
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.3 release post for more information.
<ViewTransition />: Adds <ViewTransition /> and addTransitionType APIs to power View Transition animations in React (@sebmarkbage, @jackpope, @gaearon: #31975, #31987, #31996, #31999, #32001, #32002, #32028, #32029, #32031, #32034, #32038, #32041, #32050, #32090, #32105, #32254, #32379, #32422, #32462, #32540, #32545, #32585, #32599, #32611, #32612, #32617, #32651, #32653, #32656, #32664, #32699, #32723, #32734, #32751, #32752, #32760, #32761, #32764, #32772, #32790, #32819, #32820, #32822, #32833, #32849, #33094, #33191, #33200, #33206, #33293, #33330, #33331, #33332, #33357, #33362, #33433, #33576, #34374, #34450, #34481, #34500, #34502, #34510, #34511, #34539, #35567, #35564, #35485, #35380, #35063, #35060, #34676, #36917, #35337, #35520)<Fragment /> to support composable platform behavior (@jackpope, @sebmarkbage, @eps1lon, @Dhakshin2007, @chirokas, @teamleaderleo, @fallintoplace: #32465, #32613, #32619, #32654, #32660, #32682, #32722, #32813, #32814, #33056, #33058, #33093, #34069, #34103, #34544, #34545, #37062, #37061, #37060, #36047, #36010, #35642, #35641, #35637, #35630, #34935, #37457, #37408, #37326, #37251, #37171, #37169, #37168, #37167, #37166, #37165, #37164, #37163, #37162, #37161, #37160, #37125, #37063)browser(): a new react-dom API that returns a usable which errors during server rendering and resolves in the browser. use(browser()) inside a <Suspense> boundary marks a subtree as browser-only without reporting a recoverable error (@gnoff: #37143, #37241)
use() conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)lazy() (@sophiebits #36965)memo() comparison function take effect (@sophiebits #36964)$$typeof in Performance Tracks (@eps1lon #35679)-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)useSyncExternalStore missing store mutations that happened while an Activity tree was hidden (@sophiebits #36947)<Activity> trees (@ronnakamoto #34983)<Offscreen> component in error messages (@rickhanlonii #35763)use() (@hoxyq, @eps1lon: #37104, #37203, #37491)useDeferredValue getting stuck (@gaearon #36134)useActionState error message to say "action state" instead of "form state" (@rickhanlonii #35790)getNearestMountedFiber (@sebmarkbage #35578).default export of a React.lazy as the canonical value (@sebmarkbage #34906)useEffectEvent reads latest values in forwardRef and memo() components (@eps1lon #34831)source onto the synthetic toggle event (@lazerg #37389)<select> parser (@josepharhar #34804)defaultValue for type="number" inputs to match other input types (@sophiebits #36980)innerHTML when it hasn't changed (@sophiebits #36949)nonce option in ReactDOM.preloadModule() (@UditDewan #36851)fetchPriority for module resources (@TheAlexLichter #36835)credentialless iframe attribute (@vmx906 #36322)credentialless as a recognized boolean attribute for iframes (@vmx906 #36148)finishedTask from calling completeAll multiple times (@gnoff #36287)maskType SVG prop (@sleitor #35921)onFullscreenChange and onFullscreenError events (@chirokas #34621)submitter in submit events (@eps1lon #35590)onReset when automatically resetting forms (@eps1lon #35176)FormData submitter parameter (@jenseng #29028)resize events until the next frame (@eps1lon #35117)nonce to rendered import maps (@mattcosta7 #37339)onBrowserBailout option to observe subtrees that defer to the browser (@gnoff #37193)react-dom/server hanging on Deno (@fraidev #35235)nonce attributes (@MaxwellCohen #37030)onAllReady after the shell errored (@eps1lon #36903)modulepreload tracking (@fallintoplace #36564)nextSegmentId after the prelude flush (@gaojude #36779)referrerPolicy in image preload headers (@ulises-jeremias #36803)use() of a rejected Flight chunk (@lubieowoce #36544)use() to the owner stack and debug task (@eps1lon #35226)useId tracking on replay (@gnoff #35518)createSuspenseBoundary path (@sebmarkbage #35087)react-dom/server (@RiskyMH #34193)RangeError from exponential debug info growth (@unstubbable #37481)pending_weak to the Flight thenable protocol (@acdlite #37154).then with Object.defineProperty (@eps1lon #37109)Promise statics in debug info (@gaearon #36969)toJSON (Node Buffer) (@unstubbable #36873)JSON.stringify for faster serialization (@mhart #36795)FormData entries in decodeReplyFromBusboy (@unstubbable #36468)AggregateError.errors (@eps1lon #36156)Blob deserialization is not a Blob (@eps1lon #36055)Error.cause (@eps1lon #35810)transferNote truncated.
One column per quarter.
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
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
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
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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →