-
Notifications
You must be signed in to change notification settings - Fork 1
Upgrade React from 6b70072c-20250909 to 1eca9a27-20250922
#5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade React from 6b70072c-20250909 to 1eca9a27-20250922
#5
Conversation
This auto-generated PR updates the development integration test manifest used when testing Rspack.
This auto-generated PR updates the production integration test manifest used when testing Rspack.
### What? Use associated types to avoid Box and Any. * avoids any casting * avoid extra vec collecting * avoid cloning lists for parallelization
Skip these effects when in a tracing-only asset context, since we never codegen these modules and these effects cannot add any references (which is the only thing we are interested in this case): - `Effect::FreeVar`, `Effect::TypeOf`, `Effect::ImportMeta`, `Effect::Unreachable`, `Effect::Member`
### What? Fixes persistent caching with next build. Need to investigate how this regression passes the test cases...
## What? As far as I can tell there's no usage of this variable. No TS errors and all tests pass.
The server-reference-manifest.json contains the chunk item id of the action loader. The loader itself doesn't "register" itself in any way. So no need to execute it eagerly.
### What? Background tasks will only run when idle, but persisting should also happen when active.
Caches with staleness/expiration below certain thresholds are not
included in static prerenders and are treated as dynamic. However, the
logic for propagating life/tags did not factor this in, meaning that a
prerender could get `cacheLife("seconds")`, making it expire (both on
the server and in the client router cache) much earlier than necessary.
This PR fixes that.
Closes NAR-271
### Implementation notes
The solution relies on the fact that in a Cache Components prerender,
we'll first fill the caches in the prospective render, and then read
them again in the final prerender. Previously, we'd propagate cache
life/tags in the prospective render, when the cache was filled, but this
didn't factor in the fact that the final render might decide to omit the
cache, leading to the problem described earlier. After this change,
we'll be relying on the fact that the entry will be read in the final
prerender, at which point we decide if it should be included or not, and
then propagate cache life/tags if it is.
Additionally, we filter the omitted cache entries from the resume data
cache (RDC). Otherwise they would be available during the resume, which
they should not be.
To be honest, this feels a bit brittle, and perhaps we should take a
look at how we're handling this and make it cleaner, but it should work
for now.
---------
Co-authored-by: Hendrik Liebau <[email protected]>
Added `unoptimized` and `decoding` props to the props table (the table at the top of the doc page). I was looking for the `unoptimized` prop and thought it wasn't in this page because I could not find it at the props table. I think it's better included there since it's not deprecated. The same goes for `decoding`. Added them with the same syntax as the rest values in the table. Thanks. Co-authored-by: Joseph <[email protected]>
…3166) <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> Updates the middleware version history marking node as stable as [announced in version 15.5](https://nextjs.org/blog/next-15-5#nodejs-middleware-stable) Co-authored-by: Joseph <[email protected]>
A few more improvements to typed routes and friends - showing usage of router methods from `next/navigation` - using Route in other data structures
Adding tsconfig.json to e2e test required `.gitignore` with `!tsconfig.json`. It also lost the test utils aliases like `e2e-utils`. This PR allows adding `tsconfig.test.json` to be used on test, so it doesn't affect the root tsconfig.json nor manual testing.
## What? Switch to matching webpack behavior where module in the loader_tree are initialized later.
### What? Adds proxy configuration support for e2e deployment tests, allowing test traffic to be routed through a specified proxy server. ### Why? Some testing environments require network traffic to be routed through specific proxy servers or load balancers. This change enables the e2e deployment test infrastructure to support such configurations by: - Allowing specification of a proxy IP address via the `NEXT_TEST_PROXY_ADDRESS` environment variable - Automatically managing `/etc/hosts` entries to route deployment domains through the proxy - Providing proper cleanup when tests complete
Split tests into ESM and CJS to ensure it works on both environments.
The changes are mostly:
1. Split tests into two
2. Add `-esm` and `-cjs` for each
3. Add `packageJson: { type: 'module' }` to `-esm` test
4. Renamed `tsconfig.json` -> `tsconfig.test.json`
Added more fixtures to test `import-from-node-modules`.
x-ref: https://github.com/vercel/next.js/pull/83134/files#diff-1a4138af8d7d9ec956653ae76ede7eaa8b1f701931dc302f039fa4e770ef61afR3
In #8290 i forgot to update our typescript plugin, so exporting `unstable_prefetch` caused it to error. This is fixed now: <img width="871" height="145" alt="Screenshot 2025-08-28 at 17 19 18" src="https://github.com/user-attachments/assets/ca295029-5a93-483b-8f2b-2f821c452397" /> <img width="841" height="176" alt="Screenshot 2025-08-28 at 17 19 29" src="https://github.com/user-attachments/assets/414b18f8-c3c0-46fd-acd0-25b04a85fbd2" /> I've also added some type safety to the `options` objects that we specify there to make sure they're in sync with the values they describe.
These files might change or move
This auto-generated PR updates the development integration test manifest used when testing Rspack.
…tence of files rather than directories (#83189) This fixes an annoying devex issue when switching branches
GitHub Actions requires at least one job in the jobs section. Added disabled placeholder job until OpenNext.js compatibility testing strategy is finalized. Fixes validation error: 'Unexpected value' at jobs section.
…lution issues The deploy tests require published Next.js packages (e.g., next@production) which are not available in the forked repository. Deployment testing would require either publishing packages to npm or modifying tests to use local builds. Workflow remains intact for potential future re-enablement once package publishing is configured.
Next.js now requires Node.js >=20.9.0. Updated workflow to only test with Node.js 20 and marked test_e2e_deploy_release as disabled in docs.
The test_examples workflow was failing because Jest couldn't find test files in the examples directory. When NEXT_TEST_MODE=start (used for example tests), Jest now includes the examples directory in its search roots.
…e tests" This reverts commit e9a30c5.
…le tests" This reverts commit 46b8e5d.
…ng example tests"" This reverts commit f35f3ec.
…figs Example tests now execute from their respective example directories using their own jest.config.js files instead of the root configuration. This resolves path resolution issues and mock conflicts that occurred when running example tests from the repository root.
…Jest configs" This reverts commit e65c670.
Examples currently depend on 'next': 'latest' from npm which doesn't include the fork's changes. The workflow should be re-enabled after updating examples to use @openuiai/next and publishing the package.
- Changed repository owner from 'vercel' to 'openuiai' - Updated base branch from 'canary' to 'main' - Replaced nextjs-bot with openuiai-ci-bot - Updated bot email to [email protected]
- Changed bot name from nextjs-bot to openuiai-ci-bot - Added repository owner check to only run on openuiai - Updated description to use latest stable as default instead of canary
- Changed repository owner from vercel to openuiai - Updated base branch from canary to main - Fixed help text to reference correct repository - Removed Vercel team members from reviewers list - Changed default channel from canary to latest for stability
…eduling - Fixed base branch from 'main' to 'production' in both scripts to align with established branch structure (production/staging/development) - Disabled automatic React updates scheduling for fork - manual triggers only
…ormat - Changed defaultLatestChannel from 'latest' to 'canary' to fetch React nightly builds - Workflow now properly fetches canary versions like 19.0.0-canary-abc123-20241201
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||
CI Feedback 🧐A test triggered by this PR failed. Here is an AI-generated analysis of the failure:
|
058c213 to
80edaa6
Compare
6f95a68 to
9dd5506
Compare
User description
diff facebook/[email protected]
React upstream changes
__DEV__type facebook/react#34551renderDebugModelfacebook/react#34536getDebugInfotest util function tointernal-test-utilsfacebook/react#34523Bufferfacebook/react#34512@tanstack/react-virtualto known incompatible libraries facebook/react#34493download_devtools_regression_build.json a clean repo facebook/react#34456titlefor buttons/icons facebook/react#34379PR Type
Enhancement
Description
• Upgraded React from version
6b70072c-20250909to1eca9a27-20250922• Stabilized Activity API by moving from
unstable_ActivitytoActivityexport• Enhanced React DOM with improved debug capabilities including
getCurrentDebugTask()function• Added comprehensive view transition handling with better error handling and animation lifecycle management
• Implemented image loading optimization with bandwidth estimation and resource loading features
• Enhanced Suspense component with improved state management and timeout handling
• Added async module support in React Server Components with better stream state tracking
• Improved error handling across React DOM client and server components
• Updated all React package versions to maintain compatibility
• Enhanced profiling capabilities with better commit phase logging and performance monitoring
Diagram Walkthrough
File Walkthrough
11 files
react-dom-profiling.profiling.js
React DOM profiling enhancements with view transitions and suspenseimprovementspackages/next/src/compiled/react-dom-experimental/cjs/react-dom-profiling.profiling.js
• Added new utility functions
includesSyncLaneandincludesBlockingLanefor lane checking• Enhanced view transition
handling with improved error handling and animation lifecycle
management
• Added comprehensive logging functions for commit phases
and animation phases
• Improved suspense handling with image loading
support and bandwidth estimation
• Updated function names from
throwOnInvalidObjectTypetothrowOnInvalidObjectTypeImplreact-dom-profiling.profiling.js
React DOM profiling updates with resource loading optimizationspackages/next/src/compiled/react-dom/cjs/react-dom-profiling.profiling.js
• Added bandwidth estimation functionality for resource loading
optimization
• Enhanced suspense state management with image loading
support
• Updated function names from
throwOnInvalidObjectTypetothrowOnInvalidObjectTypeImpl• Improved commit timing and resource
handling
react.production.js
React core updates with Activity type and version bumppackages/next/src/compiled/react/cjs/react.production.js
• Added new
REACT_ACTIVITY_TYPEsymbol for activity components•
Refactored
Childrenobject extraction and addedActivityexport•
Updated React version to
19.2.0-canary-1eca9a27-20250922react-dom-client.development.js
Enhanced React DOM debug capabilities and Suspense handlingpackages/next/src/compiled/react-dom/cjs/react-dom-client.development.js
• Added
getCurrentDebugTask()function to retrieve current debug taskfrom debug info
• Refactored error handling functions to use debug
tasks for better error reporting
• Updated Suspense component
rendering with new variable names and improved debug handling
•
Enhanced commit phase with better suspended state management and
timeout handling
• Added bandwidth estimation and resource loading
optimization features
• Updated React version from
6b70072c-20250909to
1eca9a27-20250922react-dom-profiling.development.js
Enhanced React DOM profiling with debug improvementspackages/next/src/compiled/react-dom/cjs/react-dom-profiling.development.js
• Added
getCurrentDebugTask()function for debug task retrieval•
Refactored error handling functions to support debug task execution
•
Updated Suspense component with improved variable naming and debug
handling
• Enhanced commit phase with better suspended state and
timeout management
• Added bandwidth estimation and resource loading
optimization
• Updated React version from
6b70072c-20250909to1eca9a27-20250922react-server-dom-turbopack-client.browser.development.js
Enhanced React Server Components with async modules and debug trackingpackages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.browser.development.js
• Added async module support with new parameter in
resolveClientReference()• Enhanced stream state management with debug
information tracking
• Improved chunk processing with debug info
resolution and bandwidth estimation
• Added performance monitoring for
stream chunks and resource loading
• Updated React version from
6b70072c-20250909to1eca9a27-20250922react.development.js
Stabilized Activity API and improved code structurepackages/next/src/compiled/react-experimental/cjs/react.development.js
• Refactored deprecated APIs object structure for better code
organization
• Added
Activityexport to public API (moved fromunstable_Activity)• Removed
unstable_Activityexport as it's nowstable
• Updated React version from
6b70072c-20250909to1eca9a27-20250922react-dom-client.production.js
React DOM client production build upgrade with transition timing andimage optimizationpackages/next/src/compiled/react-dom-experimental/cjs/react-dom-client.production.js
• Added
globalMostRecentTransitionTimetracking and initialization•
Renamed
throwOnInvalidObjectTypetothrowOnInvalidObjectTypeImplacross multiple locations
• Updated view transition functions to use
fiberparameter instead offiber.child• Enhanced suspense commit
handling with image loading and bandwidth estimation features
• Added
new image loading optimization functions like
estimateImageBytesandwaitForImageToLoadreact-dom-unstable_testing.production.js
React DOM testing build upgrade with transition timing and imageoptimizationpackages/next/src/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js
• Added
globalMostRecentTransitionTimetracking and initialization•
Renamed
throwOnInvalidObjectTypetothrowOnInvalidObjectTypeImplacross multiple locations
• Updated view transition functions to use
fiberparameter instead offiber.child• Enhanced suspense commit handling with image loading and
bandwidth estimation features
• Added new image loading optimization
functions like
estimateImageBytesandwaitForImageToLoadreact-server-dom-turbopack-client.edge.development.js
React Server DOM Turbopack client with async modules and streamoptimizationpackages/next/src/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-client.edge.development.js
• Added async module support with optional 4th parameter in module
resolution
• Enhanced lazy type handling with additional null checks
and object type validation
• Added stream state tracking with debug
information and performance monitoring
• Improved error handling with
owner task support and better debug info transfer
• Added image
loading optimization with bandwidth estimation and timeout handling
react-server-dom-webpack-client.browser.production.js
React Server DOM Webpack client with improved lazy loading and errorhandlingpackages/next/src/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-client.browser.production.js
• Enhanced lazy type handling with additional null checks and object
type validation in
fulfillReferenceandgetOutlinedModelfunctions•
Updated variable naming and improved reference handling logic
• Added
better error handling and chunk resolution in stream processing
•
Improved buffer and chunk management in
processFullBinaryRowfunction4 files
react-dom-server.browser.development.js
React DOM server version update for browser environmentpackages/next/src/compiled/react-dom/cjs/react-dom-server.browser.development.js
• Updated React version compatibility check to
19.2.0-canary-1eca9a27-20250922• Updated exports version to match new
React version
react-dom-server-legacy.node.development.js
React DOM experimental server legacy version updatepackages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js
• Updated exports version to
19.2.0-experimental-1eca9a27-20250922react-dom-server.edge.development.js
React version update for server-side renderingpackages/next/src/compiled/react-dom/cjs/react-dom-server.edge.development.js
• Updated React version compatibility check from
6b70072c-20250909to1eca9a27-20250922• Updated exports version string to match new React
version
react-dom-server-legacy.browser.development.js
React version update for legacy server renderingpackages/next/src/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js
• Updated React version string from
6b70072c-20250909to1eca9a27-2025092299 files