Sourced from react's releases.
19.3.0 (September 9, 2026)
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.3 release post for more information.
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 Refs: Add Refs to
<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)Notable changes
- Enable Trusted Types API integration (
@rickhanlonii#35816)- 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)- Unify hot reload type resolution for Fast Refresh (
@sophiebits#36962)- Fix Fast Refresh to remount correctly when an edit changes the component kind (
@sophiebits#36950)- Double invoke effects in StrictMode after Fast Refresh (
@eps1lon#35962)- Performance Track Fixes
- Prevent crash when accessing
$$typeofin Performance Tracks (@eps1lon#35679)- Handle non-string function names in Performance Tracks (
@eps1lon#35659)- Use minus (
-) instead of en dash for removed props in Performance Tracks (@eps1lon#35649)- Handle arrays with bigints in deep objects in Performance Tracks (
@eps1lon#35648)- Don't enumerate typed array props in Performance Tracks in DEV (
@UditDewan#36913)- Bail out of diffing wide objects and arrays in Performance Tracks (
@eps1lon#34742)- Clear potentially large performance measures in DEV (
@hoxyq#34803)- Fix missing else branch for renders with no props change in Performance Tracks (
@hoxyq#34837)- Activity Fixes
- Fix
useSyncExternalStoremissing store mutations that happened while an Activity tree was hidden (@sophiebits#36947)- Hide portal contents when an Activity is hidden (
@acdlite#35091)- Prevent metadata hoisting in hidden
<Activity>trees (@ronnakamoto#34983)- Prevent errors thrown inside a hidden Activity from escaping to the visible UI (
@acdlite#35074)- Don't unhide a node if a direct parent Offscreen is still hidden (
@sebmarkbage#34821)- Don't show internal
<Offscreen>component in error messages (@rickhanlonii#35763)- Warn in DEV when a component appears to have been unblocked by a conditional
use()(@hoxyq,@eps1lon: #37104, #37203, #37491)- Render transitions independently instead of entangling them into a single render (
@acdlite#37290)
... (truncated)
Sourced from react's changelog.
19.3.0 (September 9, 2026)
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 Refs: Add Refs to
<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)Notable changes
- Enable Trusted Types API integration (
@rickhanlonii#35816)- 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)- Unify hot reload type resolution for Fast Refresh (
@sophiebits#36962)- Fix Fast Refresh to remount correctly when an edit changes the component kind (
@sophiebits#36950)- Double invoke effects in StrictMode after Fast Refresh (
@eps1lon#35962)- Performance Track Fixes
- Prevent crash when accessing
$$typeofin Performance Tracks (@eps1lon#35679)- Handle non-string function names in Performance Tracks (
@eps1lon#35659)- Use minus (
-) instead of en dash for removed props in Performance Tracks (@eps1lon#35649)- Handle arrays with bigints in deep objects in Performance Tracks (
@eps1lon#35648)- Don't enumerate typed array props in Performance Tracks in DEV (
@UditDewan#36913)- Bail out of diffing wide objects and arrays in Performance Tracks (
@eps1lon#34742)- Clear potentially large performance measures in DEV (
@hoxyq#34803)- Fix missing else branch for renders with no props change in Performance Tracks (
@hoxyq#34837)- Activity Fixes
- Fix
useSyncExternalStoremissing store mutations that happened while an Activity tree was hidden (@sophiebits#36947)- Hide portal contents when an Activity is hidden (
@acdlite#35091)- Prevent metadata hoisting in hidden
<Activity>trees (@ronnakamoto#34983)- Prevent errors thrown inside a hidden Activity from escaping to the visible UI (
@acdlite#35074)- Don't unhide a node if a direct parent Offscreen is still hidden (
@sebmarkbage#34821)- Don't show internal
<Offscreen>component in error messages (@rickhanlonii#35763)- Warn in DEV when a component appears to have been unblocked by a conditional
use()(@hoxyq,@eps1lon: #37104, #37203, #37491)- Render transitions independently instead of entangling them into a single render (
@acdlite#37290)- Fix hang when updating a dehydrated boundary inside a hidden tree (
@gaearon#37135)- Don't reacquire Host Singletons during dev effect validation (
@gnoff#37113)- Only remove properties from Host Singletons on release (
@gnoff#37112)
... (truncated)
2dc7da7
[test] Bump Jest to 30.4 (#37382)4f93894
docs: remove stale parentType param from validateChildKeys JSDoc (#36928)dbc3750
Update required references to GitHub repo (#36752)900ae09
[flow] Bump flow to v0.317.0 (#36701)fbb1370
[flow] Bump flow to v0.307.1 (#36199)56922cf
[react-native-renderer] Delete Paper (legacy) renderer (#36285)74568e8
[Flight] Transport AggregateErrors.errors (#36156)e66ef64
[tests] remove withoutStack from assertConsole helpers (#35498)db71391
[Fiber] Instrument the lazy initializer thenable in all cases (#35521)3e1abcc
[tests] Require exact error messages in assertConsole helpers (#35497)Sourced from react-dom's releases.
19.3.0 (September 9, 2026)
Below is a list of all new features, APIs, and bug fixes.
Read the React 19.3 release post for more information.
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 Refs: Add Refs to
<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)Notable changes
- Enable Trusted Types API integration (
@rickhanlonii#35816)- 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)- Unify hot reload type resolution for Fast Refresh (
@sophiebits#36962)- Fix Fast Refresh to remount correctly when an edit changes the component kind (
@sophiebits#36950)- Double invoke effects in StrictMode after Fast Refresh (
@eps1lon#35962)- Performance Track Fixes
- Prevent crash when accessing
$$typeofin Performance Tracks (@eps1lon#35679)- Handle non-string function names in Performance Tracks (
@eps1lon#35659)- Use minus (
-) instead of en dash for removed props in Performance Tracks (@eps1lon#35649)- Handle arrays with bigints in deep objects in Performance Tracks (
@eps1lon#35648)- Don't enumerate typed array props in Performance Tracks in DEV (
@UditDewan#36913)- Bail out of diffing wide objects and arrays in Performance Tracks (
@eps1lon#34742)- Clear potentially large performance measures in DEV (
@hoxyq#34803)- Fix missing else branch for renders with no props change in Performance Tracks (
@hoxyq#34837)- Activity Fixes
- Fix
useSyncExternalStoremissing store mutations that happened while an Activity tree was hidden (@sophiebits#36947)- Hide portal contents when an Activity is hidden (
@acdlite#35091)- Prevent metadata hoisting in hidden
<Activity>trees (@ronnakamoto#34983)- Prevent errors thrown inside a hidden Activity from escaping to the visible UI (
@acdlite#35074)- Don't unhide a node if a direct parent Offscreen is still hidden (
@sebmarkbage#34821)- Don't show internal
<Offscreen>component in error messages (@rickhanlonii#35763)- Warn in DEV when a component appears to have been unblocked by a conditional
use()(@hoxyq,@eps1lon: #37104, #37203, #37491)- Render transitions independently instead of entangling them into a single render (
@acdlite#37290)
... (truncated)
Sourced from react-dom's changelog.
19.3.0 (September 9, 2026)
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 Refs: Add Refs to
<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, =22.12.0" }, "funding": { - "url": "https://github.com/sponsors/Boshen" + "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxc-parser/binding-android-arm-eabi": "0.147.0", - "@oxc-parser/binding-android-arm64": "0.147.0", - "@oxc-parser/binding-darwin-arm64": "0.147.0", - "@oxc-parser/binding-darwin-x64": "0.147.0", - "@oxc-parser/binding-freebsd-x64": "0.147.0", - "@oxc-parser/binding-linux-arm-gnueabihf": "0.147.0", - "@oxc-parser/binding-linux-arm-musleabihf": "0.147.0", - "@oxc-parser/binding-linux-arm64-gnu": "0.147.0", - "@oxc-parser/binding-linux-arm64-musl": "0.147.0", - "@oxc-parser/binding-linux-ppc64-gnu": "0.147.0", - "@oxc-parser/binding-linux-riscv64-gnu": "0.147.0", - "@oxc-parser/binding-linux-riscv64-musl": "0.147.0", - "@oxc-parser/binding-linux-s390x-gnu": "0.147.0", - "@oxc-parser/binding-linux-x64-gnu": "0.147.0", - "@oxc-parser/binding-linux-x64-musl": "0.147.0", - "@oxc-parser/binding-openharmony-arm64": "0.147.0", - "@oxc-parser/binding-win32-arm64-msvc": "0.147.0", - "@oxc-parser/binding-win32-ia32-msvc": "0.147.0", - "@oxc-parser/binding-win32-x64-msvc": "0.147.0" + "@oxc-parser/binding-android-arm-eabi": "0.148.0", + "@oxc-parser/binding-android-arm64": "0.148.0", + "@oxc-parser/binding-darwin-arm64": "0.148.0", + "@oxc-parser/binding-darwin-x64": "0.148.0", + "@oxc-parser/binding-freebsd-x64": "0.148.0", + "@oxc-parser/binding-linux-arm-gnueabihf": "0.148.0", + "@oxc-parser/binding-linux-arm-musleabihf": "0.148.0", + "@oxc-parser/binding-linux-arm64-gnu": "0.148.0", + "@oxc-parser/binding-linux-arm64-musl": "0.148.0", + "@oxc-parser/binding-linux-ppc64-gnu": "0.148.0", + "@oxc-parser/binding-linux-riscv64-gnu": "0.148.0", + "@oxc-parser/binding-linux-riscv64-musl": "0.148.0", + "@oxc-parser/binding-linux-s390x-gnu": "0.148.0", + "@oxc-parser/binding-linux-x64-gnu": "0.148.0", + "@oxc-parser/binding-linux-x64-musl": "0.148.0", + "@oxc-parser/binding-openharmony-arm64": "0.148.0", + "@oxc-parser/binding-win32-arm64-msvc": "0.148.0", + "@oxc-parser/binding-win32-ia32-msvc": "0.148.0", + "@oxc-parser/binding-win32-x64-msvc": "0.148.0" } }, "node_modules/oxc-resolver": { @@ -3283,9 +3283,9 @@ } }, "node_modules/oxfmt": { - "version": "0.67.0", - "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.67.0.tgz", - "integrity": "sha512-vV7sSiPsaO0mSxdoUdayipVDFPzW/UQ+hrezEHa20+Tx1dnMdZLSRHMT0PdS67FFbhd74M1n08asW21aLGeCrA==", + "version": "0.68.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.68.0.tgz", + "integrity": "sha512-Z0XMofcXCGUXbcpBHnWyUiX93BGiw1B+lcHNbQDWEtOhX06ewoFfu4zXkyiLhRrNnMq0twqXRHUcJetf+GsiQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3301,25 +3301,25 @@ "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxfmt/binding-android-arm-eabi": "0.67.0", - "@oxfmt/binding-android-arm64": "0.67.0", - "@oxfmt/binding-darwin-arm64": "0.67.0", - "@oxfmt/binding-darwin-x64": "0.67.0", - "@oxfmt/binding-freebsd-x64": "0.67.0", - "@oxfmt/binding-linux-arm-gnueabihf": "0.67.0", - "@oxfmt/binding-linux-arm-musleabihf": "0.67.0", - "@oxfmt/binding-linux-arm64-gnu": "0.67.0", - "@oxfmt/binding-linux-arm64-musl": "0.67.0", - "@oxfmt/binding-linux-ppc64-gnu": "0.67.0", - "@oxfmt/binding-linux-riscv64-gnu": "0.67.0", - "@oxfmt/binding-linux-riscv64-musl": "0.67.0", - "@oxfmt/binding-linux-s390x-gnu": "0.67.0", - "@oxfmt/binding-linux-x64-gnu": "0.67.0", - "@oxfmt/binding-linux-x64-musl": "0.67.0", - "@oxfmt/binding-openharmony-arm64": "0.67.0", - "@oxfmt/binding-win32-arm64-msvc": "0.67.0", - "@oxfmt/binding-win32-ia32-msvc": "0.67.0", - "@oxfmt/binding-win32-x64-msvc": "0.67.0" + "@oxfmt/binding-android-arm-eabi": "0.68.0", + "@oxfmt/binding-android-arm64": "0.68.0", + "@oxfmt/binding-darwin-arm64": "0.68.0", + "@oxfmt/binding-darwin-x64": "0.68.0", + "@oxfmt/binding-freebsd-x64": "0.68.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.68.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.68.0", + "@oxfmt/binding-linux-arm64-gnu": "0.68.0", + "@oxfmt/binding-linux-arm64-musl": "0.68.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.68.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.68.0", + "@oxfmt/binding-linux-riscv64-musl": "0.68.0", + "@oxfmt/binding-linux-s390x-gnu": "0.68.0", + "@oxfmt/binding-linux-x64-gnu": "0.68.0", + "@oxfmt/binding-linux-x64-musl": "0.68.0", + "@oxfmt/binding-openharmony-arm64": "0.68.0", + "@oxfmt/binding-win32-arm64-msvc": "0.68.0", + "@oxfmt/binding-win32-ia32-msvc": "0.68.0", + "@oxfmt/binding-win32-x64-msvc": "0.68.0" }, "peerDependencies": { "svelte": "^5.0.0", @@ -3335,9 +3335,9 @@ } }, "node_modules/oxlint": { - "version": "1.82.0", - "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.82.0.tgz", - "integrity": "sha512-+iFM1BGw1ntYJt3QngbJmjbrGxPaKMUADOXOijpWGnYcBPq8YZnQftSS1C+pVcDYy9YxqDVJKQqQkTazTQMboQ==", + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.83.0.tgz", + "integrity": "sha512-cyDzSzaw3uzP0TeCeq3lLRPPoaUxkbB4ZOXj+kn+5r+BX9V+4bNVGk9lxer+WrgcpebH4JxLlJ3KQjveVztOLQ==", "dev": true, "license": "MIT", "bin": { @@ -3350,25 +3350,25 @@ "url": "https://github.com/sponsors/oxc-project" }, "optionalDependencies": { - "@oxlint/binding-android-arm-eabi": "1.82.0", - "@oxlint/binding-android-arm64": "1.82.0", - "@oxlint/binding-darwin-arm64": "1.82.0", - "@oxlint/binding-darwin-x64": "1.82.0", - "@oxlint/binding-freebsd-x64": "1.82.0", - "@oxlint/binding-linux-arm-gnueabihf": "1.82.0", - "@oxlint/binding-linux-arm-musleabihf": "1.82.0", - "@oxlint/binding-linux-arm64-gnu": "1.82.0", - "@oxlint/binding-linux-arm64-musl": "1.82.0", - "@oxlint/binding-linux-ppc64-gnu": "1.82.0", - "@oxlint/binding-linux-riscv64-gnu": "1.82.0", - "@oxlint/binding-linux-riscv64-musl": "1.82.0", - "@oxlint/binding-linux-s390x-gnu": "1.82.0", - "@oxlint/binding-linux-x64-gnu": "1.82.0", - "@oxlint/binding-linux-x64-musl": "1.82.0", - "@oxlint/binding-openharmony-arm64": "1.82.0", - "@oxlint/binding-win32-arm64-msvc": "1.82.0", - "@oxlint/binding-win32-ia32-msvc": "1.82.0", - "@oxlint/binding-win32-x64-msvc": "1.82.0" + "@oxlint/binding-android-arm-eabi": "1.83.0", + "@oxlint/binding-android-arm64": "1.83.0", + "@oxlint/binding-darwin-arm64": "1.83.0", + "@oxlint/binding-darwin-x64": "1.83.0", + "@oxlint/binding-freebsd-x64": "1.83.0", + "@oxlint/binding-linux-arm-gnueabihf": "1.83.0", + "@oxlint/binding-linux-arm-musleabihf": "1.83.0", + "@oxlint/binding-linux-arm64-gnu": "1.83.0", + "@oxlint/binding-linux-arm64-musl": "1.83.0", + "@oxlint/binding-linux-ppc64-gnu": "1.83.0", + "@oxlint/binding-linux-riscv64-gnu": "1.83.0", + "@oxlint/binding-linux-riscv64-musl": "1.83.0", + "@oxlint/binding-linux-s390x-gnu": "1.83.0", + "@oxlint/binding-linux-x64-gnu": "1.83.0", + "@oxlint/binding-linux-x64-musl": "1.83.0", + "@oxlint/binding-openharmony-arm64": "1.83.0", + "@oxlint/binding-win32-arm64-msvc": "1.83.0", + "@oxlint/binding-win32-ia32-msvc": "1.83.0", + "@oxlint/binding-win32-x64-msvc": "1.83.0" }, "peerDependencies": { "oxlint-tsgolint": ">=7.0.2001", @@ -3427,9 +3427,9 @@ } }, "node_modules/postcss": { - "version": "8.5.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", - "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", "funding": [ { "type": "opencollective", @@ -3446,7 +3446,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.17", + "nanoid": "^3.3.18", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -3455,24 +3455,24 @@ } }, "node_modules/react": { - "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.3.0.tgz", + "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", - "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.0.tgz", + "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==", "license": "MIT", "dependencies": { - "scheduler": "^0.27.0" + "scheduler": "^0.28.0" }, "peerDependencies": { - "react": "^19.2.8" + "react": "^19.3.0" } }, "node_modules/react-router": { @@ -3524,12 +3524,12 @@ } }, "node_modules/rolldown": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.5.tgz", - "integrity": "sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.8.tgz", + "integrity": "sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.146.0", + "@oxc-project/types": "=0.149.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -3539,36 +3539,36 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.5", - "@rolldown/binding-android-arm64": "1.2.5", - "@rolldown/binding-darwin-arm64": "1.2.5", - "@rolldown/binding-darwin-x64": "1.2.5", - "@rolldown/binding-freebsd-x64": "1.2.5", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.5", - "@rolldown/binding-linux-arm64-gnu": "1.2.5", - "@rolldown/binding-linux-arm64-musl": "1.2.5", - "@rolldown/binding-linux-ppc64-gnu": "1.2.5", - "@rolldown/binding-linux-s390x-gnu": "1.2.5", - "@rolldown/binding-linux-x64-gnu": "1.2.5", - "@rolldown/binding-linux-x64-musl": "1.2.5", - "@rolldown/binding-openharmony-arm64": "1.2.5", - "@rolldown/binding-win32-arm64-msvc": "1.2.5", - "@rolldown/binding-win32-x64-msvc": "1.2.5" + "@rolldown/binding-android-arm-eabi": "1.2.8", + "@rolldown/binding-android-arm64": "1.2.8", + "@rolldown/binding-darwin-arm64": "1.2.8", + "@rolldown/binding-darwin-x64": "1.2.8", + "@rolldown/binding-freebsd-x64": "1.2.8", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.8", + "@rolldown/binding-linux-arm64-gnu": "1.2.8", + "@rolldown/binding-linux-arm64-musl": "1.2.8", + "@rolldown/binding-linux-ppc64-gnu": "1.2.8", + "@rolldown/binding-linux-s390x-gnu": "1.2.8", + "@rolldown/binding-linux-x64-gnu": "1.2.8", + "@rolldown/binding-linux-x64-musl": "1.2.8", + "@rolldown/binding-openharmony-arm64": "1.2.8", + "@rolldown/binding-win32-arm64-msvc": "1.2.8", + "@rolldown/binding-win32-x64-msvc": "1.2.8" } }, "node_modules/rolldown/node_modules/@oxc-project/types": { - "version": "0.146.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.146.0.tgz", - "integrity": "sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==", + "version": "0.149.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.149.0.tgz", + "integrity": "sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==", "license": "MIT", "funding": { - "url": "https://github.com/sponsors/Boshen" + "url": "https://github.com/sponsors/oxc-project" } }, "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", "license": "MIT" }, "node_modules/set-cookie-parser": { @@ -3770,9 +3770,9 @@ } }, "node_modules/unbash": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.10.tgz", - "integrity": "sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.11.tgz", + "integrity": "sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==", "dev": true, "license": "ISC", "engines": { @@ -3787,15 +3787,15 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.2.2.tgz", - "integrity": "sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.0.tgz", + "integrity": "sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==", "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", - "picomatch": "^4.0.5", - "postcss": "^8.5.26", - "rolldown": "~1.2.4", + "picomatch": "^4.0.7", + "postcss": "^8.5.28", + "rolldown": "~1.2.6", "tinyglobby": "^0.2.17" }, "bin": { @@ -3812,7 +3812,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.4.0 || ^0.5.0", + "@vitejs/devtools": "^0.7.1", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", diff --git a/src/frontend/package.json b/src/frontend/package.json index 9fc045fd..734f1fba 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -18,23 +18,23 @@ }, "dependencies": { "@tailwindcss/vite": "^4.3.3", - "react": "^19.2.8", - "react-dom": "^19.2.8", + "react": "^19.3.0", + "react-dom": "^19.3.0", "react-router-dom": "^7.18.3", "socket.io-client": "^4.7.5" }, "devDependencies": { - "@types/node": "^26.5.0", - "@types/react": "^19.2.18", - "@types/react-dom": "^19.2.7", + "@types/node": "^26.5.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", - "knip": "^6.34.0", - "oxfmt": "^0.67.0", - "oxlint": "^1.82.0", + "knip": "^6.35.1", + "oxfmt": "^0.68.0", + "oxlint": "^1.83.0", "oxlint-tsgolint": "^7.0.2001", "tailwindcss": "^4.2.2", "typescript": "^7.0.2", - "vite": "^8.2.2", + "vite": "^8.3.0", "vitest": "^5.0.0" } }