Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 3, 2025

This PR contains the following updates:

Package Change Age Confidence
next (source) 16.0.2 -> 16.0.7 age confidence
next (source) ^15.3.1 -> ^16.0.0 age confidence
next (source) ^14.2.28 -> ^16.0.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

GitHub Vulnerability Alerts

CVE-2025-48068

Summary

A low-severity vulnerability in Next.js has been fixed in version 15.2.2. This issue may have allowed limited source code exposure when the dev server was running with the App Router enabled. The vulnerability only affects local development environments and requires the user to visit a malicious webpage while npm run dev is active.

Because the mitigation is potentially a breaking change for some development setups, to opt-in to the fix, you must configure allowedDevOrigins in your next config after upgrading to a patched version. Learn more.

Learn more: https://vercel.com/changelog/cve-2025-48068

Credit

Thanks to sapphi-red and Radman Siddiki for responsibly disclosing this issue.

CVE-2025-49005

Summary

A cache poisoning issue in Next.js App Router >=15.3.0 and < 15.3.3 may have allowed RSC payloads to be cached and served in place of HTML, under specific conditions involving middleware and redirects. This issue has been fixed in Next.js 15.3.3.

Users on affected versions should upgrade immediately and redeploy to ensure proper caching behavior.

More details: CVE-2025-49005

CVE-2025-55173

A vulnerability in Next.js Image Optimization has been fixed in v15.4.5 and v14.2.31. The issue allowed attacker-controlled external image sources to trigger file downloads with arbitrary content and filenames under specific configurations. This behavior could be abused for phishing or malicious file delivery.

All users relying on images.domains or images.remotePatterns are encouraged to upgrade and verify that external image sources are strictly validated.

More details at Vercel Changelog

CVE-2025-57752

A vulnerability in Next.js Image Optimization has been fixed in v15.4.5 and v14.2.31. When images returned from API routes vary based on request headers (such as Cookie or Authorization), these responses could be incorrectly cached and served to unauthorized users due to a cache key confusion bug.

All users are encouraged to upgrade if they use API routes to serve images that depend on request headers and have image optimization enabled.

More details at Vercel Changelog

CVE-2025-57822

A vulnerability in Next.js Middleware has been fixed in v14.2.32 and v15.4.7. The issue occurred when request headers were directly passed into NextResponse.next(). In self-hosted applications, this could allow Server-Side Request Forgery (SSRF) if certain sensitive headers from the incoming request were reflected back into the response.

All users implementing custom middleware logic in self-hosted environments are strongly encouraged to upgrade and verify correct usage of the next() function.

More details at Vercel Changelog

CVE-2025-66478

A vulnerability affects certain React packages1 for versions 19.0.0, 19.1.0, 19.1.1, and 19.2.0 and frameworks that use the affected packages, including Next.js 15.x and 16.x using the App Router. The issue is tracked upstream as CVE-2025-55182.

Fixed in:
React: 19.0.1, 19.1.2, 19.2.1
Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

The vulnerability also affects experimental canary releases starting with 14.3.0-canary.77. Users on any of the 14.3 canary builds should either downgrade to a 14.x stable release or 14.3.0-canary.76.

All users of stable 15.x or 16.x Next.js versions should upgrade to a patched, stable version immediately.

1 The affected React packages are:

  • react-server-dom-parcel
  • react-server-dom-turbopack
  • react-server-dom-webpack

Release Notes

vercel/next.js (next)

v16.0.7

Compare Source

v16.0.6

Compare Source

v16.0.5

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix(nodejs-middleware): await for body cloning to be properly finalized (#​85418)
Credits

Huge thanks to @​lucasadrianof for helping!

v16.0.4

Compare Source

v16.0.3

Compare Source

Core Changes
  • fix: Rspack throw error when using ForceCompleteRuntimePlugin: #​85221
  • fix: build CLI output not displaying Proxy (Middleware) when nodejs runtime: #​85403
  • fix: staleTimes.static should consistently enforce a 30s minimum: #​85479
  • [turbopack] fix build of empty entries of pages: #​84873
  • Cache the head separately from the route tree: #​84724
  • Allow inspecting dev server on default port with next dev --inspect: #​85037
  • Avoid proxying React modules through workUnitStore: #​85486
  • fix: redirect should always return updated router state: #​85533
  • Upgrade React from b4455a6e-20251027 to 4f931700-20251029: #​85518
  • [turbopack] Move generation of cacheLife types out of the webpack plugin and into the dev bundler directly: #​85539
  • Ensure user-space stack frame for 'use cache' in page/layout component: #​85519
  • Update parallel routes in build-complete: #​85546
  • fully remove clientSegmentCache flag: #​85541
  • [turbopack] Support relative paths in turbopack source maps.: #​85146
  • Release unnecessary memory on hydration finish: #​84967
  • Preserve interception markers in parameter types: #​85526
  • move segment cache entries to top level segment-cache dir: #​85542
  • Upgrade React from 4f931700-20251029 to 561ee24d-20251101: #​85670
  • [devtools] Remove title from preferences: #​85698
  • Update font data: #​85708
  • Don't invalidate hot reloader excessively during dev server boot: #​85732
  • [codemod] fix: next-lint-to-eslint-cli did not handle 'next' plugin: #​85749
  • Upgrade React from 561ee24d-20251101 to 67f7d47a-20251103: #​85762
  • Tracing: Fix memory leak in span map: #​85529
  • Fix documentation typo in refresh function: #​85696
  • fix: eslint-config-next types was exporting to dist/src: #​85768
  • Upgrade React from 67f7d47a-20251103 to f646e8ff-20251104: #​85772
  • remove unused RSC payload property: #​85746
  • [runtime prefetching]: fix runtime prefetching when deployed: #​85595
  • Turbopack: next build --analyze: #​85197
  • Build: Log amount of workers during static generation: #​85706
  • Upgrade React from f646e8ff-20251104 to dd048c3b-20251105: #​85819
  • Sync devFallbackParams when generateStaticParams change: #​85741
  • chore: upgrade rspack 1.6.0: #​84210
  • [mcp] get_routes mcp tool: #​85773
  • Split each path param into a separate cache key : #​85758
  • [turbopack] change server source maps in production to use relative paths: #​85576
  • fix: skip collecting metadata for app-error in webpack: #​85892
  • fix: support root span attributes with a custom server: #​85521
  • fix isDynamicRSC condition when deployed: #​85919
  • [turbopack] Make it possible to synchronously access native bindings: #​85787
  • Upgrade React from dd048c3b-20251105 to fa50caf5-20251107: #​85906
  • Fix telemetry event loss on build failures and server shutdown: #​85867
  • Remove one stack frame from 'use cache' call stacks: #​85966
  • Upgrade React from fa50caf5-20251107 to 52684925-20251110: #​85980
  • Deployment adapter: fix metadata for "/" route: #​85820
  • Enable React's default Transition indicator behind a flag: #​86000
  • update routes-manifest to include whether app has pages routes: #​86051
Misc Changes
  • chore: Add opt-level = s for not frequently used crates: #​85426
  • [test] Deflake cache-components-allow-otel-spans: #​85466
  • [test] Move remaining experimental.cacheLife: #​85467
  • Turbopack: chore: Remove mopa dependency in turbo-tasks (2nd attempt): #​85286
  • Update Proxy docs: #​85439
  • [CNA] Do not prompt for Turbopack: #​85404
  • Clean up new release process: #​85458
  • Update E2E tests workflow: #​85485
  • Update E2E deploy tests manifest: #​85483
  • docs: example are incorrect async function exports only: #​85453
  • [test] Handle CLI assertions where no "Compiling..." log is present: #​85499
  • [test] Speed up refresh test: #​85505
  • [test] Add test cases for dynamic caches without suspense boundaries: #​85500
  • docs: Routes are wrapped w/ Activity in Cache Components: #​85309
  • docs: GET handler behavior under cache components: #​85389
  • [test] Avoid needless start/stop from using createSandbox: #​85507
  • [test] Use --debug-build-paths instead of NEXT_PRIVATE_APP_PATHS: #​85504
  • docs: revalidateTag requires second argument: #​85284
  • Refactor GTM implementation to support google tag gateway: #​81011
  • Update Rspack production test manifest: #​85494
  • Update Rspack development test manifest: #​85495
  • [docs] Fix a typo: #​85492
  • [test] Regenerate tsconfig.json files: #​85515
  • [Turbopack] clean up completion.rs a bit: #​84863
  • [test] Remove maxRetries and hardError parameters: #​85536
  • Turbopack: remove the .into() alias to .cell(): #​85516
  • [test] Consolidate identical snapshots across different bundlers: #​85532
  • [turbopack] Change where cells are created in resolve_raw to make cell allocation order deterministic.: #​85525
  • Turbopack: Make tasks deterministic: #​85524
  • [test] Separate act and assertions: #​85508
  • [test] assert* -> waitFor* when the util is not instant: #​85450
  • Turbopack: move whole_app_module_graphs to top level: #​84897
  • [test] Bail on sending requests to Next.js instance if it's no longer available: #​85557
  • [test] Deflake tests comparing two random numbers: #​85571
  • [test] Disallow custom RegExp-like implementations in check: #​85537
  • [test] Deflake prerender suite: #​85563
  • Turbopack: chore: Remove some dead MagicAny serialization code from turbo_tasks::value: #​85577
  • [test]: fix broken scroll restoration test: #​85599
  • [test] Deflake nested after() tests: #​85566
  • [test] Stop installing unused dependencies: #​85569
  • [test] Consider test/integration/ in flake detection tests: #​85590
  • Turbopack: more checks on verify_serialization: #​84952
  • Turbopack: add track_caller to improve panics: #​85565
  • Turbopack: add verify_determinism feature to check if tasks are deterministic: #​85559
  • docs: cache life rework: #​85224
  • Turbopack: fix hanging dev server and builds with fs cache: #​85606
  • Turbopack: Fix compound assignment expression evaluation (#​85478): #​85593
  • Turbopack: fix Scope holding Arc too long: #​85611
  • [ci] Improve change detection logic in run-for-change script: #​85619
  • [test] Ignore in deploy tests if a child process isn't available: #​85636
  • Turbopack: add size_hint and len for Chunk iterator: #​85622
  • [test]: move resume-data-cache to e2e test: #​85647
  • Update Rspack development test manifest: #​85662
  • Update Rspack production test manifest: #​85661
  • Update Rspack production test manifest: #​85688
  • Update Rspack development test manifest: #​85689
  • [test] Deflake root-optional-revalidate: #​85584
  • docs: fix generateImageMetadata example to use normal params object: #​85658
  • Turbopack: Upgrade image crate: #​85084
  • docs: update multi sitemap argumenmt type: #​85701
  • [test] Move all files to .ts (6/6): #​85641
  • Turbopack: add a batch add method to the storage: #​84270
  • docs: recommend reverse-proxy when self-hosting: #​85650
  • [test] Deflake prefetching.stale-times: #​85733
  • [test] Deflake custom cache handler test: #​85610
  • [test] Allow CLI integration test to be retryable: #​85586
  • docs: update docs to mention ESLint as default: #​85740
  • docs(next.config): this docs should remove ".mts" is not supported.: #​85716
  • Turbopack: cleanup StyleSheetLike: #​85718
  • Turbopack: disable tree shaking for tracing: #​85722
  • [test] Move all files to .ts (3/6): #​85638
  • [test] Move all files to .ts (2/6): #​85637
  • [test] Move all files to .ts (1/6): #​85634
  • docs: generateSitemap passes id as promise: #​85767
  • [test] Move all files to .ts (4/6): #​85639
  • docs: disclosure on path-to-regexp: #​85629
  • chore: update rspack binding to 1.6.0: #​85717
  • Turbopack: trace worker_threads worker entry: #​85734
  • Update Rspack development test manifest: #​85761
  • Turbopack: chore: Remove extern crate and macro_use syntax: #​85778
  • [turbopack] Drop duration and allocation tracking from CaptureFuture: #​85534
  • Turbopack: chore: Remove dead RouteMatcher stuff: #​85784
  • docs: fresh up getting started 00: #​85736
  • Turbopack: chore: Remove the serde_regex dependency, which wasn't very heavily used: #​85578
  • Turbopack: use batch add in connect children: #​85623
  • [test] Move all files to .ts (5/6): #​85640
  • [test] Deflake legacy-link-behavior: #​85805
  • Resolve request ID confusion: #​85809
  • Turbopack: use batch add to add initial followers: #​85624
  • Turbopack: chore: Remove dead experimental.ppr struct field: #​85792
  • Turbopack: chore: Avoid string clones in Glob::parse by using RcStr: #​85579
  • Update Rspack production test manifest: #​85795
  • docs: getting started updates 01: #​85750
  • chore: Update patricia_tree dependency, remove manual serde impls: #​85785
  • docs: keywords in system reqs and add browserslist: #​85838
  • Honour NEXT_TEST_PREFER_OFFLINE in install-native.mjs: #​85850
  • Turbopack: chore: Update anyhow, remove old backtrace feature: #​85844
  • Turbopack: Remove some dead (or useless) code from next-core/src/next_client_reference/visit_client_reference.rs: #​85843
  • sort dependencies for smaller diffs: #​82291
  • Update Rspack development test manifest: #​85846
  • Turbopack: Remove non_operation_vc_strongly_consistent feature usage from next-api: #​85874
  • Turbopack: remove the streaming hack for improved stability: #​85858
  • test: Port clean-distdir integration test to the modern e2e test framework: #​85828
  • Update font data: #​85920
  • Update deploy manifest: #​85924
  • Turbopack: chore: Merge turbo-tasks-macros-shared crate into turbo-tasks-macros: #​85917
  • Turbopack: Fix IO concurrency for MacOS: #​85861
  • Add Appwrite Sites to supported adapters: #​85830
  • [turbopack] Remove LocalTaskType::Native, it is dead: #​85480
  • [test] Increase response timeout in next.browserWithResponse(): #​85911
  • Hoist inner 'use cache' functions to reduce function allocations: #​85904
  • docs: eslint config update: #​85969
  • Fix Turbopack local font font-family declaration: #​85913
  • switch to slice in createRuntimePrefetchTransformStream: #​85822
  • Update authentication.mdx: Fix Auth0 Link: #​85953
  • Turbopack: remove unused function: #​85974
  • docs: cacheHandlers: #​85311
  • docs: Feedback item on proxy default: #​86004
  • [test] Add missing test fixtures for cacheLife & cacheTag in client: #​85872
  • Fix false-positive build error for cacheLife & cacheTag: #​85875
  • [cna] For pnpm ignore postinstall from sharp and unrs-resolver: #​83168
  • Turbopack: refactor evaluate to take module_graph: #​85971
  • Turbopack: remove duplicate traversal implementations: #​85853
  • Omit unused encryptActionBoundArgs/decryptActionBoundArgs imports: #​86015
  • Turbopack: cleanup db log and add verbose option: #​85965
  • [ci]: fix retry_deploy_test workflow: #​85981
  • Fix typo in documentation: #​86054
Credits

Huge thanks to @​kdy1, @​eps1lon, @​SyMind, @​bgw, @​swarnava, @​devjiwonchoi, @​ztanner, @​ijjk, @​huozhi, @​icyJoseph, @​acdlite, @​unstubbable, @​gnoff, @​gusfune, @​vercel-release-bot, @​lukesandberg, @​sokra, @​hayes, @​shuding, @​wyattjoh, @​marjan-ahmed, @​timneutkens, @​ajstrongdev, @​zigang93, @​mischnic, @​Nayeem-XTREME, @​hamirmahal, @​eli0shin, @​tessamero, @​gaojude, @​jamesdaniels, @​georgesfarah, and @​timeyoutakeit for helping!


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated Next.js to version 16.0.0 across example projects and integrations to align with the latest framework release.

✏️ Tip: You can customize this high-level summary in your review settings.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 3, 2025
@changeset-bot
Copy link

changeset-bot bot commented Dec 3, 2025

⚠️ No Changeset found

Latest commit: 28340c3

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 3, 2025

Walkthrough

Bumped Next.js dependency to ^16.0.0 across multiple integration and example package.json files; no other fields or code changes in the diff.

Changes

Cohort / File(s) Summary
Integrations
integrations/react-next-14/package.json, integrations/react-next-15/package.json
Updated next dependency from ^14.2.28 / ^15.3.1 to ^16.0.0.
Examples (bulk)
examples/react/auto-refetching/package.json, examples/react/infinite-query-with-max-pages/package.json, examples/react/load-more-infinite-scroll/package.json, examples/react/nextjs-app-prefetching/package.json, examples/react/nextjs/package.json, examples/react/optimistic-updates-cache/package.json, examples/react/optimistic-updates-ui/package.json, examples/react/pagination/package.json, examples/react/prefetching/package.json
Updated next dependency from ^15.3.1 to ^16.0.0 in each file. No other changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Focus review on compatibility concerns and any Next.js 16 migration notes for:
    • integrations/react-next-14/package.json
    • integrations/react-next-15/package.json
    • Representative example apps (build/start locally for at least one or two examples).

Possibly related PRs

Suggested reviewers

  • TkDodo
  • dagamo

Poem

🐰 I hopped through package.json with cheer,
Pushed Next to sixteen, the path now clear,
No code was changed, just version delight,
Build and run — may all compile right! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is comprehensive with detailed security vulnerability information, but deviates from the template structure (missing checklist items and Release Impact section). Add the required checklist items and Release Impact section as specified in the repository's description template to ensure consistency.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating Next.js dependency with security fixes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch renovate/npm-next-vulnerability

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link

nx-cloud bot commented Dec 3, 2025

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit 28340c3

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ❌ Failed 2m 23s View ↗
nx run-many --target=build --exclude=examples/*... ❌ Failed 1m 16s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-03 20:56:48 UTC

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
integrations/react-next-14/package.json (1)

2-2: Update package name to reflect Next.js 15 dependency.

The package is named "react-next-14" but now depends on Next.js ^15.0.0. Consider renaming it to "react-next-15" or a more generic name to avoid confusion about the supported framework version.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7e99b88 and afbe8a5.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • integrations/react-next-14/package.json (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-02T17:57:33.184Z
Learnt from: TkDodo
Repo: TanStack/query PR: 9612
File: packages/query-async-storage-persister/src/asyncThrottle.ts:0-0
Timestamp: 2025-09-02T17:57:33.184Z
Learning: When importing from tanstack/query-core in other TanStack Query packages like query-async-storage-persister, a workspace dependency "tanstack/query-core": "workspace:*" needs to be added to the package.json.

Applied to files:

  • integrations/react-next-14/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test
  • GitHub Check: Preview
🔇 Additional comments (1)
integrations/react-next-14/package.json (1)

10-10: Verify if integration code requires updates for Next.js 15 breaking changes.

Next.js 15 introduces several breaking changes, most notably:

  • cookies(), headers(), params, searchParams, and draftMode are now async
  • GET Route Handlers are no longer cached by default (opt-in with export dynamic = 'force-static')
  • Client Router Cache defaults to staleTime = 0

If this integration or its consumers use any of these APIs, code updates will be required. Search the codebase for usages of these APIs and confirm compatibility.

@renovate renovate bot force-pushed the renovate/npm-next-vulnerability branch from afbe8a5 to 28340c3 Compare December 3, 2025 20:53
@renovate renovate bot changed the title chore(deps): update dependency next [security] chore(deps): update dependency next to v16.0.7 [security] Dec 3, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (1)
examples/react/optimistic-updates-cache/package.json (1)

13-15: React 18 is incompatible with Next.js 16; requires React 19.

🧹 Nitpick comments (1)
integrations/react-next-15/package.json (1)

2-2: Package name mismatch: "react-next-15" now targets Next.js 16.0.0.

The integration directory and package name reference "next-15" but the Next.js dependency is now ^16.0.0. This is a naming/documentation consistency issue that will confuse maintainers and users looking for a Next.js 15 example.

Consider renaming the package and directory to react-next-16 to reflect the actual Next.js version in use, aligning naming with the Next.js release it targets. (This would require renaming the directory from integrations/react-next-15/ to integrations/react-next-16/.)

Also applies to: 12-12

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between afbe8a5 and 28340c3.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (11)
  • examples/react/auto-refetching/package.json (1 hunks)
  • examples/react/infinite-query-with-max-pages/package.json (1 hunks)
  • examples/react/load-more-infinite-scroll/package.json (1 hunks)
  • examples/react/nextjs-app-prefetching/package.json (1 hunks)
  • examples/react/nextjs/package.json (1 hunks)
  • examples/react/optimistic-updates-cache/package.json (1 hunks)
  • examples/react/optimistic-updates-ui/package.json (1 hunks)
  • examples/react/pagination/package.json (1 hunks)
  • examples/react/prefetching/package.json (1 hunks)
  • integrations/react-next-14/package.json (1 hunks)
  • integrations/react-next-15/package.json (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-02T17:57:33.184Z
Learnt from: TkDodo
Repo: TanStack/query PR: 9612
File: packages/query-async-storage-persister/src/asyncThrottle.ts:0-0
Timestamp: 2025-09-02T17:57:33.184Z
Learning: When importing from tanstack/query-core in other TanStack Query packages like query-async-storage-persister, a workspace dependency "tanstack/query-core": "workspace:*" needs to be added to the package.json.

Applied to files:

  • examples/react/optimistic-updates-ui/package.json
  • examples/react/auto-refetching/package.json
  • examples/react/optimistic-updates-cache/package.json
  • examples/react/prefetching/package.json
  • examples/react/nextjs-app-prefetching/package.json
  • integrations/react-next-15/package.json
  • examples/react/load-more-infinite-scroll/package.json
  • examples/react/infinite-query-with-max-pages/package.json
  • examples/react/pagination/package.json
  • integrations/react-next-14/package.json
  • examples/react/nextjs/package.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Preview
  • GitHub Check: Test
🔇 Additional comments (6)
examples/react/auto-refetching/package.json (1)

13-13: [DUPLICATE_CONCERN] See pagination/package.json review for React 18 + Next.js 16 compatibility issue.

examples/react/infinite-query-with-max-pages/package.json (1)

13-13: [DUPLICATE_CONCERN] See pagination/package.json review for React 18 + Next.js 16 compatibility issue.

examples/react/prefetching/package.json (1)

13-13: [DUPLICATE_CONCERN] See pagination/package.json review for React 18 + Next.js 16 compatibility issue.

examples/react/optimistic-updates-ui/package.json (1)

13-13: [DUPLICATE_CONCERN] See pagination/package.json review for React 18 + Next.js 16 compatibility issue.

examples/react/nextjs-app-prefetching/package.json (1)

13-15: Correctly configured with React 19 + Next.js 16.0.0.

This example properly aligns React 19 with Next.js 16.0.0. In contrast, the other 6 example files still use React 18.2.0 with Next.js 16.0.0, which is likely incompatible. Use this file as the correct template for updating the other examples.

Once the React 18 → 19 upgrade is confirmed as necessary across all affected files, this becomes the pattern to follow.

examples/react/load-more-infinite-scroll/package.json (1)

13-15: React 18 is incompatible with Next.js 16; requires React 19.

Next.js 16 is built for and requires React 19 according to the official upgrade guide and release notes. The current package.json specifies react@^18.2.0 and react-dom@^18.2.0, which will cause build and runtime failures in the App Router.

The DevDependencies also lock to React 18 types (@types/react@^18.2.79), which should be updated to align with React 19.

Update to fix the incompatibility:

  "dependencies": {
    "@tanstack/react-query": "^5.90.11",
    "@tanstack/react-query-devtools": "^5.91.1",
    "next": "^16.0.0",
-   "react": "^18.2.0",
-   "react-dom": "^18.2.0",
+   "react": "^19.0.0",
+   "react-dom": "^19.0.0",
    "react-intersection-observer": "^9.16.0"
  },
  "devDependencies": {
-   "@types/react": "^18.2.79",
-   "@types/react-dom": "^18.2.25",
+   "@types/react": "^19.0.0",
+   "@types/react-dom": "^19.0.0",
    "typescript": "5.8.3"
  }

Likely an incorrect or invalid review comment.

"@tanstack/react-query": "^5.90.11",
"@tanstack/react-query-devtools": "^5.91.1",
"next": "^15.3.1",
"next": "^16.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Next.js 16.0.0 React version requirements compatibility

💡 Result:

Short answer: Next.js 16 supports React 18 and React 19 (Next.js docs recommend installing the latest React). Use matching react + react-dom versions (e.g. 18.x or 19.x). Note: some third‑party packages may still have peerDependency ranges that block React 19 and will need updates or overrides. [1][2][3][4]

Sources:

  • Next.js upgrade guide (v16) — recommends installing react@latest / react-dom@latest. [1]
  • Next.js 16 release post / blog. [2]
  • Next.js support policy (v16 release date / LTS). [3]
  • Third‑party issues showing peerDependency mismatches with React 19 (example). [4]

Critical: Major version discrepancy between PR objectives and actual code.

The PR objectives state a security update to Next.js 15.4.7 with CVE fixes in the v15.4.x series, but this file bumps to ^16.0.0 — a major version jump. This is a significant scope change that needs clarification.

React 18.2.0 (line 14) is compatible with Next.js 16.0.0, so no compatibility issue there.

🤖 Prompt for AI Agents
In examples/react/nextjs/package.json around line 13, the dependency was bumped
to "next": "^16.0.0" which contradicts the PR objective of updating to Next.js
15.4.7; change the version back to the intended 15.4.7 (or ^15.4.x per policy),
update the lockfile (run npm install / pnpm install) so
package-lock.json/yarn.lock reflects the rollback, run the test suite and
security audit (npm audit or similar) to confirm CVE fixes remain, and commit
the updated package.json and lockfile with a note clarifying the PR targets
15.4.7 (not a major-version upgrade).

Comment on lines +13 to 15
"next": "^16.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Next.js 16.0.0 React version requirements compatibility

💡 Result:

Short answer: Next.js 16 expects you to use the latest React (install react@latest / react-dom@latest). It adds stable support for the React Compiler and explicit support for React 19 features while remaining compatible with recent React releases — the official upgrade docs instruct installing react@latest. (nextjs.org)

If you want a precise version to install now: run npm info react version or npm install react@latest to pick the React release the Next.js 16 docs target. (nextjs.org)

Citations:


🌐 Web query:

React 19 latest version release date 2024 2025

💡 Result:

React 19 (stable) — December 5, 2024. [1]

Notable follow-up release: React 19.1.0 — March 28, 2025. [2]

Sources: React blog post announcing v19 (Dec 5, 2024) [1]; official GitHub releases (19.1.0, Mar 28, 2025) [2].


Update React version for Next.js 16 compatibility.

Next.js 16 requires React 19 (released December 2024). The example pins React to ^18.2.0, which is incompatible. Update to react@^19.0.0 and react-dom@^19.0.0 to align with Next.js 16's official upgrade guidance.

🤖 Prompt for AI Agents
In examples/react/pagination/package.json around lines 13 to 15, the project
pins "react" and "react-dom" to ^18.2.0 which is incompatible with Next.js 16;
update the package.json entries for "react" and "react-dom" to ^19.0.0 (or
^19.x) to match Next.js 16 requirements, then run npm/yarn install and verify
the example builds and runs (fix any peer dependency/resolution issues if they
appear).

Comment on lines +10 to 12
"next": "^16.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Check for PR context, renovate config, and app router code
git log --oneline -20 --all

Repository: TanStack/query

Length of output: 1449


🏁 Script executed:

# Look for Renovate configuration
fd -t f 'renovate\.json|\.renovaterc' -o 'renovate.json5'

Repository: TanStack/query

Length of output: 205


🏁 Script executed:

# Check the app directory structure
fd -t f '\.(tsx?|jsx?)$' integrations/react-next-14/app --max-depth 2

Repository: TanStack/query

Length of output: 236


🏁 Script executed:

# Read the referenced app/client-component.tsx file
cat -n integrations/react-next-14/app/client-component.tsx 2>/dev/null || echo "File not found"

Repository: TanStack/query

Length of output: 688


🏁 Script executed:

# Check package.json for full dependency context
cat -n integrations/react-next-14/package.json

Repository: TanStack/query

Length of output: 569


🌐 Web query:

Next.js 16 React version requirements compatibility matrix

💡 Result:

Here’s a concise compatibility matrix for Next.js 16 and React versions:

  • Next.js 16 — React 19.x: Supported / required (Next.js 16 ships with first‑class React 19/React Compiler support). [1][2]
  • Next.js 16 — React 18.x: Incompatible / not supported (Next.js 16 expects React 19 features; upgrade React when migrating). [1][2]
  • Next.js 16 — React 17.x and earlier: Incompatible / not supported. [1][2]
  • Notes: App Router uses React canary builds internally during dev; install react@19 and react-dom@19 for production apps. Next.js 16 also requires a modern Node.js (see docs). [3][2]

Sources: Next.js 16 announcement & blog / upgrade docs; Next.js installation docs / support policy. [1][2][3]

References
[1] Next.js 16 (blog/announcement).
[2] Next.js — Upgrading to version 16 (migration/upgrade guide).
[3] Next.js installation / getting started (notes about React canary / install react@latest).


🏁 Script executed:

# Check git history for this specific file to see the version change
git log --oneline -- integrations/react-next-14/package.json | head -10

Repository: TanStack/query

Length of output: 124


🏁 Script executed:

# Get more details on the security commit
git show 28340c31 --stat

Repository: TanStack/query

Length of output: 50371


React 18 is incompatible with Next.js 16; upgrade React and React DOM to ^19.0.0.

Next.js 16 requires React 19, but this package declares react@^18.2.0 and react-dom@^18.2.0, which will cause runtime failures in App Router code (confirmed in app/client-component.tsx).

Apply this fix:

  "dependencies": {
    "@tanstack/react-query": "workspace:*",
    "@tanstack/react-query-devtools": "workspace:*",
    "next": "^16.0.0",
-   "react": "^18.2.0",
-   "react-dom": "^18.2.0"
+   "react": "^19.0.0",
+   "react-dom": "^19.0.0"

Also update TypeScript types in devDependencies to match React 19:

  "devDependencies": {
-   "@types/react": "^18.2.79",
-   "@types/react-dom": "^18.2.25"
+   "@types/react": "^19.0.0",
+   "@types/react-dom": "^19.0.0"

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
integrations/react-next-14/package.json lines 10-12: the project lists react and
react-dom as ^18.2.0 which is incompatible with Next.js 16; update the
dependencies to "react" and "react-dom" to ^19.0.0, and also bump the
devDependencies for TypeScript React types (e.g. @types/react and
@types/react-dom) to versions that match React 19 (e.g. ^19.0.0) to avoid type
mismatches; after editing package.json run your package manager to
reinstall/update the lockfile and verify the app/client-component.tsx and any
JSX typings compile cleanly.

@TkDodo TkDodo closed this Dec 4, 2025
@renovate
Copy link
Contributor Author

renovate bot commented Dec 7, 2025

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 16.x releases. But if you manually upgrade to 16.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/npm-next-vulnerability branch December 7, 2025 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants