You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠️ Renovate's pin functionality does not currently wire in the release age for a package, so the Minimum Release Age checks can apply. You will need to manually validate the Minimum Release Age for these package(s).
Add the preset :preserveSemverRanges to your config if you don't want to pin your dependencies.
Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.
Add deprecated no-op component-hook-factories rule for backwards compatibility. (@mofeiZ in #36307)
This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.
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)
Added an onBrowserBailout option to the react-dom/server APIs to observe when a subtree defers to the browser (@gnoff#37193)
Transitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (@acdlite#37290)
Added a DEV-only warning when a component appears to have been unblocked by calling use() conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)
All Changes
React
Fast Refresh Fixes
Fix Fast Refresh to find and remount edits to components wrapped behind lazy() (@sophiebits#36965)
Fix Fast Refresh so edits to a memo() comparison function take effect (@sophiebits#36964)
Fix Fast Refresh crash when an edit changes the kind of a component's type (@sophiebits#36963)
renovateBot
changed the title
chore(deps): update dependency eslint-plugin-react-hooks to v7.1.0
chore(deps): update dependency eslint-plugin-react-hooks to v7.1.1
Apr 17, 2026
renovateBot
changed the title
chore(deps): update dependency eslint-plugin-react-hooks to v7.1.1
chore(deps): pin dependency @types/react to 19.2.14
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^19.2.14→19.2.14^7.0.1→^7.0.1^19.2.5→^19.3.1^19.2.5→^19.3.1Add the preset
:preserveSemverRangesto your config if you don't want to pin your dependencies.Release Notes
facebook/react (eslint-plugin-react-hooks)
v7.1.1Compare Source
Note: 7.1.0 accidentally removed the
component-hook-factoriesrule, causing errors for users who referenced it in their ESLint config. This is now fixed.component-hook-factoriesrule for backwards compatibility. (@mofeiZ in #36307)v7.1.0Compare Source
This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better
set-state-in-effectdetection, improved ref validation, and more helpful error reporting.useEffectEventchecks in component syntax. (@jbrown215 in #35041)set-state-in-effectvalidation with fewer false negatives. (@jorge-cab in #35134, @josephsavona in #35147, @jackpope in #35214, @chesnokov-tony in #35419, @jsleitor in #36107)react/react (react)
v19.3.1: 19.3.1 (October 14th, 2026)Compare Source
React Server Components
v19.3.0Compare Source
New React Features
<ViewTransition />: Adds<ViewTransition />andaddTransitionTypeAPIs 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)New React DOM Features
browser(): a newreact-domAPI 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)onBrowserBailoutoption to thereact-dom/serverAPIs to observe when a subtree defers to the browser (@gnoff #37193)Notable changes
use()conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)All Changes
React
lazy()(@sophiebits #36965)memo()comparison function take effect (@sophiebits #36964)$$typeofin Performance Tracks (@eps1lon #35679)-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)useSyncExternalStoremissing 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)useDeferredValuegetting stuck (@gaearon #36134)useActionStateerror message to say "action state" instead of "form state" (@rickhanlonii #35790)getNearestMountedFiber(@sebmarkbage #35578).defaultexport of aReact.lazyas the canonical value (@sebmarkbage #34906)useEffectEventreads latest values inforwardRefandmemo()components (@eps1lon #34831)React DOM
sourceonto the synthetictoggleevent (@lazerg #37389)<select>parser (@josepharhar #34804)defaultValuefortype="number"inputs to match other input types (@sophiebits #36980)innerHTMLwhen it hasn't changed (@sophiebits #36949)nonceoption inReactDOM.preloadModule()(@UditDewan #36851)fetchPriorityfor module resources (@TheAlexLichter #36835)credentiallessiframe attribute (@vmx906 #36322)credentiallessas a recognized boolean attribute for iframes (@vmx906 #36148)finishedTaskfrom callingcompleteAllmultiple times (@gnoff #36287)maskTypeSVG prop (@sleitor #35921)onFullscreenChangeandonFullscreenErrorevents (@chirokas #34621)submitterinsubmitevents (@eps1lon #35590)onResetwhen automatically resetting forms (@eps1lon #35176)FormDatasubmitterparameter (@jenseng #29028)resizeevents until the next frame (@eps1lon #35117)React Server
nonceto rendered import maps (@mattcosta7 #37339)onBrowserBailoutoption to observe subtrees that defer to the browser (@gnoff #37193)react-dom/serverhanging on Deno (@fraidev #35235)nonceattributes (@MaxwellCohen #37030)onAllReadyafter the shell errored (@eps1lon #36903)modulepreloadtracking (@fallintoplace #36564)nextSegmentIdafter the prelude flush (@gaojude #36779)referrerPolicyin image preload headers (@ulises-jeremias #36803)use()of a rejected Flight chunk (@lubieowoce #36544)use()to the owner stack and debug task (@eps1lon #35226)useIdtracking on replay (@gnoff #35518)createSuspenseBoundarypath (@sebmarkbage #35087)react-dom/server(@RiskyMH #34193)React Server Components
RangeErrorfrom exponential debug info growth (@unstubbable #37481)pending_weakto the Flight thenable protocol (@acdlite #37154).thenwithObject.defineProperty(@eps1lon #37109)Promisestatics in debug info (@gaearon #36969)toJSON(NodeBuffer) (@unstubbable #36873)JSON.stringifyfor faster serialization (@mhart #36795)FormDataentries indecodeReplyFromBusboy(@unstubbable #36468)AggregateError.errors(@eps1lon #36156)Blobdeserialization is not aBlob(@eps1lon #36055)Error.cause(@eps1lon #35810)transferReferencedDebugInfoduring debug info resolution (@unstubbable #35795)unstable_allowPartialStreamoption to Flight Client (@unstubbable #35731)encodeReplyfor JSX with temporary references (@unstubbable #35730)renderToPipeableStream(@feedthejim #35724)visitAsyncNodewith deep async chains (@unstubbable #35612)request.timeOriginviaoptions.startTime(@lubieowoce #35598)evalis disabled in the dev environment (@eps1lon #35661)unsafe-eval(@eps1lon #35650)react-markuptypes for server references (@eps1lon #35634)toStringon Server Functions (@sebmarkbage #35345)react-server-dom-webpack/*.unbundledto privatereact-server-dom-unbundled(@eps1lon #35290)thenfunctions in Flight replies (@sebmarkbage #35289)hasReadableflag in Node.js clients' debug channel (@unstubbable #35039)startTimeas an option (@sebmarkbage #34912)ArrayBuffererror when streaming typed arrays (@unstubbable #34849)displayNameof Promise instances on the server (@sebmarkbage #34825)asattribute for stylesheets (@unstubbable #34760)toJSONin debug path and omit wide arrays (@sebmarkbage #34759)<Activity>(@eps1lon #34697)v19.2.9: 19.2.9 (October 14th, 2026)Compare Source
React Server Components
v19.2.8: 19.2.8 (July 21st, 2026)Compare Source
React Server Components
(#37087 by @eps1lon)
v19.2.7Compare Source
React Server Components
FormDataentries in Server Actions which regressed in 19.2.6 (@unstubbable #36566)v19.2.6Compare Source
React Server Components
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.