PackageTrack

npm · #3702

@next/eslint-plugin-next

16.3.3vercel/next.js

ESLint plugin for Next.js.

Release timeline

3137 releases since 2020
202120222023202420252026

Releases

  1. 16.2.1-canary.3210 Apr 2026pre-release
    Release notes

    Core Changes

    • Node.js streams: Add forkpoint for CacheComponents: #92444
    • Resolve compilerOptions.paths in tsconfigs without compilerOptions.baseUrl: #92277
    • Add codemod command to middleware deprecation warning: #92532
    • [partial fallbacks]: enable by default: #92627
    • refactor: write pages router export files directly to server/pages/: #90018

    Misc Changes

    • Fix NextFontIssue IssueStage: CodeGen → Resolve: #92588
    • test: reduce writeToDisk memory test iterations to fix CI timeout: #92586
    • Refactor effects system: dedup/conflict detection, simplified Effect trait: #92300
    • fix(ci): improve Docker image cache streaming throughput and arch-awareness: #92617
    • Turbopack: extract inline base64 decode helper to shared @turbopack/base64 module: #92549
    • docs: add Link transitionTypes version history: #92624
    • CI: Download and run self-contained datadog-ci instead of using pnpm dlx or npx: #92546
    • turbopack: move CSS module composes validation from code generation to resolving: #92582
    • Drop turbo_tasks::function from ValueDebug trait items: #92593
    • Turbopack: fix filesystem watcher config not applying follow_symlinks(false): #92631
    • Bump swc to 63.1.1: #92604
    • chore(turbopack): upgrade qfiler to v0.3.0-alpha.4: #92558
    • Turbopack: cut number of client references in half: #92607
    • fix(ci): improve Docker image caching and native build skip optimization: #92633

    Credits

    Huge thanks to @sokra, @timneutkens, @hamidrezahanafi, @mmastrac, @lukesandberg, @aurorascharff, @bgw, @ztanner, @mischnic, @fireairforce, and @bgub for helping!

    Open source →
  2. 16.2.1-canary.3110 Apr 2026pre-release
    Release notes

    Core Changes

    • Don't swallow strings thrown in Server Components: #92592

    Credits

    Huge thanks to @eps1lon for helping!

    Open source →
  3. 16.2.1-canary.309 Apr 2026pre-release
    Release notes

    Core Changes

    • Add next internal upload-trace: #92191
    • Perf: Add fast path to isAbsoluteUrl: #91389
    • Perf: Don't require watchpack in production: #91387
    • Request logging: Fix generate-params time being included in next.js time: #91386
    • Perf: Use charCodeAt in removeTrailingSlash: #91384
    • Perf: Cache regex in shouldServeStreamingMetadata: #91388
    • fix: scope "Pages Router only" comment to default export in next/error: #92566
    • Turbopack Build: Remove dev fouc from production bundle: #80935
    • fix(hmr): reconnect WebSocket after sleep/wake: #91416
    • Handle target option in React Compiler for Pages + React 18: #91500
    • [turbopack] Rust dependency caching via sccache: #91873
    • trace: detect rage restarts and deleted .next dirs: #92489

    Misc Changes

    • turbo-tasks-backend: prevent duplicate task restores with restoring bits: #92389
    • docs: update details about unstable_retry() behavior: #91827
    • docs: link updateTag from cacheTag reference: #92379
    • [test] Stop using deprecated target: "es5" TypeScript compiler option: #92458
    • Docs: Instant docs updates: #92515
    • Turbopack: Improve unable to resolve next error: #91394
    • [test] Ensure incomplete minimum release age isn't propagated to fixture installs: #92568
    • test: skip .next and other build artifacts in writeFiles filter: #92578
    • Replace wasmer with wasmtime for SWC plugin WASM engine: #91533
    • docs: native db drivers with sync queries: #92572
    • turbopack: fix incremental build when module factories are restored from persistent cache: #92569
    • CI: Another attempt to fix pnpm versions for next-stats-action on canary: #92550
    • [turbopack] fix a debug_assert failure: #92581

    Credits

    Huge thanks to @sokra, @timneutkens, @devjiwonchoi, @aurorascharff, @eps1lon, @lukesandberg, @icyJoseph, @bgw, @mmastrac, and @wbinnssmith for helping!

    Open source →
  4. 16.2.1-canary.298 Apr 2026pre-release
    Release notes

    Core Changes

    • Turbopack: switch from immutable token to path prefix: #92164
    • [build info]: distinguish between PPR and fully static routes in gSP: #92518
    • [build info]: omit symbol from top level gSP route: #92525

    Misc Changes

    • CI: Fix issue with conflicting 'engines.pnpm' field in next-stats-action: #92533
    • Exclude use tests from react18 testing: #92542
    • Fix React18 tests for unstable_io: #92543

    Credits

    Huge thanks to @bgw, @mischnic, @gnoff, and @ztanner for helping!

    Open source →
  5. 16.2.1-canary.288 Apr 2026pre-release

    Nothing published for this version

  6. 16.2.1-canary.278 Apr 2026pre-release
    Release notes

    Core Changes

    • fix: mention params and searchParams in blocking-route error messages: #92360
    • CPU prof: Write profiles to .next-profiles instead of .next/cpu-profiles: #92078
    • feat: generate root params types: #91019
    • fix: resolve function configs in unstable_getResponseFromNextConfig: #92501
    • Bundle skills/ directory into next/dist/skills: #92493
    • Node.js streams: Fork points: #92252
    • fix: replace docs/canary links with stable docs paths in error messages: #92528

    Misc Changes

    • CI: Remove unused dependencies from next-stats-action dockerfile: #92485
    • docs: add note on React canary version to View transitions guide: #92315
    • docs: note PPR default in cacheComponents reference: #92378
    • Upgrade swc_core 57 -> 58, swc_sourcemap 9 -> 10, swc_plugin_runner 24 -> 25: #91532
    • docs: instant-navs draft, samples for build validation: #91850
    • docs: add middleware.mdx deprecation stub for discoverability: #92281
    • docs: improve blocking-route error page for params discoverability: #92359
    • docs: clarify cacheLife() cannot be called at module scope: #92326
    • perf: use whole_app_module_graph for get_compilation_issues MCP tool: #92473
    • Turbopack: Write trace file to .next-profiles: #92189
    • Update Rspack development test manifest: #92502
    • Update Rspack production test manifest: #92503
    • CI: Use pnpm lockfile for next-stats-action: #92488
    • docs: add note on installing server-only in data security guide: #92445
    • CI: Use minimumReleaseAge in pnpm workspace files: #92480

    Credits

    Huge thanks to @bgw, @aurorascharff, @lukesandberg, @icyJoseph, @timneutkens, @sokra, @vercel-release-bot, @abhishekmardiya, @bgub, @TooTallNate, and @gaojude for helping!

    Open source →
  7. 16.2.1-canary.267 Apr 2026pre-release
    Release notes

    Core Changes

    • next-routing: middleware matching and app request URL normalization: #91859
    • docs: clarify serverless runtime behavior for use cache: #92232

    Misc Changes

    • Adding more system info to the 'initialize project' trace: #92427
    • CI: Update and cleanup next-stats-action, force using pnpm 10.33.0: #92475
    • turbo-persistence: Use AtomicBool for is_empty() to avoid lock contention: #92481

    Credits

    Huge thanks to @ijjk, @andrewimm, @bgw, @wwenrr, and @lukesandberg for helping!

    Open source →
  8. 16.2.1-canary.257 Apr 2026pre-release
    Release notes

    Core Changes

    • Include more context in macOS Rosetta 2 warning message: #92436
    • change the process name of builds: #92411
    • Fix styled-jsx race condition: styles lost due to concurrent rendering: #92459
    • turbo-tasks: fix hashed cell mode crash on task error (re-land #91576): #92108
    • Optimize how we track data for persistence: #89370
    • Route Handlers: Fix devRequestTimingInternalsEnd and Turbopack server HMR: #92271

    Misc Changes

    • turbo-persistence: skip BlockCache for uncompressed (mmap-backed) blocks: #92390
    • docs: clarify that proxy/middleware matches static assets by default: #92441
    • turbo-persistence: pin referenced BlockCache entries to prevent eviction: #92361
    • [test] Skip flaky client-cache.parallel-routes in production and deploy: #92195
    • Fix sst inspect tool to respect CURRENT and stale sst files: #92414
    • [turbopack] add family name to many spans: #92415
    • scripts/pr-status: add reply-and-resolve-thread command: #92450
    • [test] Regenerate checked-in tsconfig.json files: #92455

    Credits

    Huge thanks to @sokra, @bgw, @lukesandberg, @icyJoseph, @eps1lon, and @wbinnssmith for helping!

    Open source →
  9. 16.2.1-canary.247 Apr 2026pre-release
    Release notes

    Core Changes

    • chore: Upgrade to pnpm 10.x: #92283
    • fix(server-hmr): metadata routes overwrite page runtime HMR handler: #92273
    • Turbopack: Add a check for node version before allowing workerThreads: #91614

    Misc Changes

    • turbo-persistence: optimize file syncing: #90542
    • Bump turborepo from 2.8.11 to 2.9.4: #92425
    • Turbopack: Remove turbo_tasks::apply_effects, use Effects::apply instead: #91858

    Credits

    Huge thanks to @bgw, @wbinnssmith, and @lukesandberg for helping!

    Open source →
  10. 16.2.1-canary.236 Apr 2026pre-release
    Release notes

    Core Changes

    • Allow for parsing app route strings with and without slot names.: #92327

    Misc Changes

    • use sorted inserts to improve builder performance: #91553
    • [tests]: remove unnecessary skipDeployment flags: #92423

    Credits

    Huge thanks to @lukesandberg, @ztanner, and @gnoff for helping!

    Open source →
  11. 16.2.1-canary.226 Apr 2026pre-release
    Release notes

    Core Changes

    • Handle edge runtime in places that import node:stream: #92354
    • fix: add AGENTS.md at package root for agent discovery: #92376
    • Fix fallback route params case in app-page handler: #91737

    Credits

    Huge thanks to @timneutkens, @aurorascharff, and @ijjk for helping!

    Open source →
  12. 16.2.1-canary.215 Apr 2026pre-release
    Release notes

    Misc Changes

    • next-core: deduplicate output assets and detect content conflicts on emit: #92292
    • docs: add deploy tests documentation to contributing guide: #92388

    Credits

    Huge thanks to @sokra and @ztanner for helping!

    Open source →
  13. 16.2.1-canary.204 Apr 2026pre-release
    Release notes

    Core Changes

    • Improve existing dev server error message to suggest using it: #92317
    • Restart the next dev server if .next is deleted: #92135
    • feat: add experimental.swcEnvOptions for SWC preset-env configuration: #92272

    Misc Changes

    • Update Rust toolchain to nightly-2026-04-02: #92288
    • docs: Ask AI agents to self-identify themselves in PR descriptions: #92235
    • Turbopack: Remove FileSystemPath::value_to_string in favor of ValueToStringRef::to_string_ref: #92284
    • [turbopack] use zero copy qfilter deserialization: #90574
    • Turbopack: Dedupe our two filesystempath extension/extension_ref functions: #92048
    • turbo-tasks: replace async resolve fns with custom Future types (ResolveRawVcFuture, ResolveVcFuture, ToResolvedVcFuture): #91554

    Credits

    Huge thanks to @feedthejim, @bgw, @wbinnssmith, @lukesandberg, @banchichen, and @sokra for helping!

    Open source →
  14. 16.2.1-canary.193 Apr 2026pre-release
    Release notes

    Core Changes

    • Add MCP get_compilation_issues tool and NAPI method: #92062
    • Ensure app-page reports stale ISR revalidation errors via onRequestError: #92282
    • Move streamToUint8Array back to node-web-streams-helper.ts: #92263
    • fix: add @deprecated annotation to experimental.useCache: #92316

    Misc Changes

    • turbo-tasks-backend: stability fixes for task cancellation and error handling: #92254
    • Add view transitions eval (agent-043): #92260
    • [turbopack] optimize RcStr parsing: #91773
    • ci: fix stats action: #92325
    • Revert "simplify session dependent tasks and add TTL support (#91729)": #92320
    • ci: remove deploy examples workflow from build-and-deploy: #92324

    Credits

    Huge thanks to @sokra, @aurorascharff, @lukesandberg, @ztanner, and @timneutkens for helping!

    Open source →
  15. 16.2.1-canary.182 Apr 2026pre-release
    Release notes

    Core Changes

    • Add telemetry for adapterPath config usage: #92228
    • Node.js streams: First pass: #90500
    • fix: preserve HTTP access fallbacks during prerender recovery: #92231
    • Remove unnecessary ALS re-exports from entry-base.ts: #91527
    • Allow multi-level .localhost subdomains in dev origin check: #92262

    Misc Changes

    • remove the loop from StaticSortedFile::lookup: #91688
    • Fix pr-status.js: retry on API errors and report timed-out jobs: #92205
    • docs: vt demo guide: #92249

    Credits

    Huge thanks to @lukesandberg, @ijjk, @timneutkens, @sokra, @ztanner, @icyJoseph, @unstubbable, and @ctate for helping!

    Open source →
  16. 16.2.1-canary.171 Apr 2026pre-release
    Release notes

    Core Changes

    • Improve revalidateTag JSDoc to include guidance about required second parameter: #92176
    • partial fallbacks: adapter support for intermediate shells: #91902
    • docs: clarify id, filePath, and pathname in STATIC_FILE adapter output: #92227
    • feat: add NEXT_HASH_SALT env var for content-hash filename salting: #91871
    • Generate a CLI warning if using Rosetta 2 on Apple Silicon: #92220

    Misc Changes

    • simplify session dependent tasks and add TTL support: #91729
    • disable bmi2 in qfilter: #92177
    • fix: pin 19 actions to commit SHA, extract 7 expressions to env vars: #92016
    • [test] Skip flaky cached-navigations tests: #92199
    • [test] Skip flaky prefetch-layout-sharing suite: #92198
    • Add internal header security guideline to AGENTS.md: #92128
    • docs: local images referenced by remote source: #92178
    • Update Rspack production test manifest: #92143
    • [test] Deflake allowed-dev-origins: #92211
    • Reapply "ci: add node-stream test coverage workflow (#89861)": #91664
    • Turbopack: trace fs.readdir calls: #92148
    • Fix DashMap read-write self-deadlock in task_cache causing hangs: #92210
    • [turbopack] use a single query parameter for cache busting: #92214
    • Docs/adapters review: #92223

    Credits

    Huge thanks to @lukesandberg, @aurorascharff, @dagecko, @eps1lon, @gaojude, @icyJoseph, @ztanner, @vercel-release-bot, @ijjk, @feedthejim, @mischnic, @sokra, and @bgw for helping!

    Open source →
  17. 16.2.1-canary.1631 Mar 2026pre-release
    Release notes

    Core Changes

    • Add rust-fingerprint task and SCCACHE passthrough env: #92167
    • Improve error message for deprecated experimental.dynamicIO config: #92081
    • [turbopack] Fix CSS HMR on Safari: #92123

    Misc Changes

    • Update Rspack development test manifest: #92142

    Credits

    Huge thanks to @mmastrac, @aurorascharff, @lukesandberg, and @vercel-release-bot for helping!

    Open source →
  18. 16.2.1-canary.1531 Mar 2026pre-release
    Release notes

    Core Changes

    • fix: handle file:// URLs from import.meta.resolve in cache handler path (fixes #73796): #90370
    • Turbopack: exclude metadata routes from server HMR: #92034
    • next.config.js: Accept an option for serverFastRefresh: #91968
    • Enable varyParams tracking for Cached Navigations: #92113
    • telemetry: set turboFlag correctly: #92149
    • Instant Validation: Allow unconfigured slots to render optionally: #92126

    Misc Changes

    • TURBOPACK: support parse windows absolute path with single slash: #92076
    • Turbopack: statically evaluate path.sep: #92150
    • docs: add middleware bypass note to CDN caching guide: #92132
    • Turbopack: use same hash for immutable-static-hashes.json: #92157
    • [turbopack] replace regex with indexof: #92023
    • [test] Skip unstable_dynamicStaleTime tests due to flakiness: #92162
    • [test] Skip flaky segment-cache-refresh suite: #92163
    • Turbopack: createRequire(new URL("...", import.meta.url)): #92153
    • Add PPR evals and fix env loading for agent-eval 0.9.5: #92063
    • docs: document revalidateTag's required second argument in upgrade guide: #92134
    • Turbopack: support targeting even older browsers: #91563

    Credits

    Huge thanks to @VedantMadane, @wbinnssmith, @fireairforce, @unstubbable, @mischnic, @gnoff, @ijjk, @lukesandberg, @eps1lon, @gaojude, and @aurorascharff for helping!

    Open source →
  19. 16.2.1-canary.1430 Mar 2026pre-release
    Release notes

    Core Changes

    • [ftl] Include cause of route types: #92056
    • Upgrade React from 9627b5a1-20260327 to 74568e86-20260328: #92109

    Misc Changes

    • docs: clarify that use cache requires async functions: #92101
    • Revert "turbo-tasks: add hashed cell mode for hash-based change detection without cell data": #92103
    • Move expanded adapters docs to API reference: #92115
    • ci: relax adapter results upload gate: #92127

    Credits

    Huge thanks to @aurorascharff, @unstubbable, @eps1lon, and @ijjk for helping!

    Open source →
  20. 16.2.1-canary.1329 Mar 2026pre-release
    Release notes

    Misc Changes

    • docs: opengraph-image papercuts: #92018
    • Update revalidateTag examples to use the new two-argument signature: #92065

    Credits

    Huge thanks to @icyJoseph and @aurorascharff for helping!

    Open source →
  21. 16.2.1-canary.1228 Mar 2026pre-release
    Release notes

    Core Changes

    • Upgrade React from 3cb2c420-20260324 to 9627b5a1-20260327: #92015
    • [experiment] Add useOffline flag with offline retry behavior: #92011
    • adapters: remove unused suffix code: #91997
    • [experiment] Add useOffline hook to expose offline state to userland: #92012
    • [turbopack] Don't use turborepo to build the docker image: #92029

    Misc Changes

    • Use RcStr directly in napi(object) structs instead of converting to String: #92014
    • Rename SingleModuleReference::asset to SingleModuleReference::module: #92028

    Credits

    Huge thanks to @acdlite, @ztanner, @mmastrac, @sokra, and @bgw for helping!

    Open source →
  22. 16.2.1-canary.1127 Mar 2026pre-release
    Release notes

    Core Changes

    • [devtools] Show AggregateError.errors in the error overlay: #91835
    • Upgrade React from 8b2e903a-20260320 to 3cb2c420-20260324: #91905

    Misc Changes

    • [cna] Upgrade to Biome 2.4 with Tailwind support: #86065
    • Rewrite agent rules to match bundled doc wording: #91995
    • Narrow the opengraph-image function return type: #91893

    Credits

    Huge thanks to @bgub, @eps1lon, @gaojude, and @remcohaszing for helping!

    Open source →
  23. 16.2.1-canary.1026 Mar 2026pre-release
    Release notes

    Misc Changes

    • turbo-tasks-backend: assert non-transient task_ids in track_modification: #91924
    • fix(turbopack): preserve resolveExtensions priority in read_matches fast path: #91856
    • turbopack: Remove Vc::resolve(), migrate all callsites to Vc::to_resolved(): #91725
    • turbo-tasks: add hashed cell mode for hash-based change detection without cell data: #91576
    • test(typed-routes): fix flaky tests by increasing retry timeout: #91923
    • test(app-basepath): increase waitForElementByCss timeout for hard-nav test: #91920
    • test(interoperability): increase waitForElementByCss timeout for cross-router navigations: #91918

    Credits

    Huge thanks to @sokra for helping!

    Open source →
  24. 16.2.1-canary.926 Mar 2026pre-release
    Release notes

    Core Changes

    • [Segment Bundling] Bundle static prefetches based on size: #91439

    Credits

    Huge thanks to @acdlite for helping!

    Open source →
  25. 16.2.1-canary.825 Mar 2026pre-release
    Release notes

    Core Changes

    • Perf: Skip turning Set into Array: #91383
    • Perf: Move chunkloading instrumentation to separate function: #91382
    • Perf: Use headers object directly in checkIsOnDemandRevalidate: #91381
    • Use charCodeAt for normalizePathTrailingSlash: #91380
    • Turbopack: Only patch lockfile when bindings fails to load: #91379
    • [devtools] Make instant navs panel draggable: #91914

    Misc Changes

    • docs: add verified adapters section: #91849
    • ci: only upload adapter results for canary runs: #91881
    • turbo-tasks-backend: improve print_cache_item_size instrumentation: #91742
    • Turbopack: switch from base40 to base38 hash encoding (remove ~ and . from charset): #91832
    • [create-next-app] Skip interactive prompts when CLI flags are provided: #91840
    • docs: document CSS decimal precision difference between Turbopack and webpack: #91909
    • [test] Deflake instant-navs-devtools: #91912

    Credits

    Huge thanks to @feedthejim, @ijjk, @sokra, @timneutkens, @gaojude, and @eps1lon for helping!

    Open source →
  26. 16.2.1-canary.724 Mar 2026pre-release
    Release notes

    Core Changes

    • Avoid deprecated TS node10 moduleResolution defaults: #91847
    • [turbopack] Rebuild the docker build scripts: #91799
    • Fix TS6 baseUrl deprecation for extended tsconfig: #91855
    • Add next internal post-build CLI command for Turbopack database compaction: #91336

    Example Changes

    • chore(examples): remove with-styletron example: #81842

    Misc Changes

    • ci: upload adapter deploy test results: #91846
    • Turbopack: Define Effect as a trait instead of a closure: #89080
    • test: scope css data-url typing to fixture: #91877
    • Turbopack: Implement TraceRawVcs and NonLocalValue correctly for Effects: #89133

    Credits

    Huge thanks to @JamBalaya56562, @ijjk, @mmastrac, @sokra, and @bgw for helping!

    Open source →
  27. 16.2.1-canary.623 Mar 2026pre-release
    Release notes

    Core Changes

    • [Segment Bundling] [Scaffolding] Ensure inlining hint correctness: #91320
    • Upgrade React from 3f0b9e61-20260317 to 8b2e903a-20260320: #91731
    • [Segment Bundling] [Scaffolding] Track which segments can be omitted from prefetch: #91438

    Misc Changes

    • [test] Unflake app prefetch test: #91734
    • docs: add catchError benefits over userspace error boundaries: #91745
    • [ci] Allow "rerun failed jobs" to work up until 5 days: #91825
    • docs: platform portability and infrastructure documentation: #91237

    Credits

    Huge thanks to @acdlite, @unstubbable, @devjiwonchoi, @eps1lon, and @feedthejim for helping!

    Open source →
  28. 16.2.1-canary.522 Mar 2026pre-release
    Release notes

    Misc Changes

    • docs: use ErrorInfo type consistently in catchError docs: #91744

    Credits

    Huge thanks to @devjiwonchoi for helping!

    Open source →
  29. 16.2.1-canary.420 Mar 2026pre-release
    Release notes

    Core Changes

    • Fix adapter outputs for dynamic metadata routes: #91680

    Misc Changes

    • Turbopack: fix webpack loader runner layer: #91727
    • [turbopack] Remove incorrect debug_assert in try_read_task_cell: #91699
    • Add module count field to module graph tracing spans: #91697
    • turbopack-cli: add --persistent-caching flag for filesystem-backed cache: #91657
    • Turbopack: pull in updated vercel/nft tests: #91651
    • Update Rspack development test manifest: #91695
    • [test] Unflake use-node-streams-env-precedence test: #91733
    • Update Rspack production test manifest: #91694
    • [turbopack] Improve regressed build speed on cross-compiled MUSL: #91477

    Credits

    Huge thanks to @ijjk, @mischnic, @sokra, @vercel-release-bot, @unstubbable, and @mmastrac for helping!

    Open source →
  30. 16.2.1-canary.320 Mar 2026pre-release
    Release notes

    Core Changes

    • Fix layout segment optimization: move app-page imports to server-utility transition: #91701
    • Fix server actions in standalone mode with cacheComponents: #91711
    • Turbopack: lazy require metadata and handle TLA: #91705

    Misc Changes

    • [turbopack] Optimize compaction cpu usage: #91468
    • [test] Unflake rendering indicator test & skip building indicator tests: #91650
    • [test] Fix edge-async-local-storage deploy test timeout & race condition: #91643
    • docs: fix broken Activity Patterns demo link in preserving UI state guide: #91698
    • turbo-persistence: remove Unmergeable mmap advice: #91713
    • turbopack: move "compact database" tracing span to backend layer: #91693
    • docs: post release amends: #91715

    Credits

    Huge thanks to @lukesandberg, @unstubbable, @abhishekmardiya, @sokra, @icyJoseph, and @mischnic for helping!

    Open source →
  31. 16.2.1-canary.219 Mar 2026pre-release
    Release notes

    Core Changes

    • Turbopack: enable server HMR for app route handlers: #91466
    • Skip loadBindings() Lightning CSS check during next start: #91538
    • refactor: extract build infra and alias changes: #90422
    • feat(node-streams): add config flag, define-env, and env precedence test: #90427
    • Rename /_next/webpack-hmr to /_next/hmr: #91415
    • ci: add node-stream test coverage workflow: #89861
    • Add per-slot error attribution for instant validation using slot markers and config depth preference: #91610
    • Handle encoded params further: #91627
    • Fix missing route in otel spans without base-server: #91665

    Misc Changes

    • turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: #91497
    • Restructure pr-status-triage skill: merge command into skill files: #91514
    • [turbopack] Use bail! instead of panic! for duplicate module ident error: #91636
    • turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: #91461
    • Turbopack: Add importModule() support to webpack loaders: #89630
    • turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: #91640
    • turbopack-css: demote recoverable CSS parse warnings to Warning severity: #91524
    • [test] Unflake "infinite streaming fetch" test: #91645
    • [test] Unflake deterministic build - changing deployment id test: #91646
    • Skip CI for agent/editor config directory changes: #91622
    • Update Rspack production test manifest: #91635
    • [test] Increase retry timeouts for two flaky app-action tests: #91647
    • Revert "ci: add node-stream test coverage workflow (#89861)"
    • [test] Fix flaky url-hash tests: #91649
    • Add instant validation tests for parallel slot config attribution: #91656
    • [turbopack] Respect {eval:true} in worker_threads constructors: #91666

    Credits

    Huge thanks to @wbinnssmith, @sokra, @unstubbable, @devjiwonchoi, @timneutkens, @feedthejim, @vercel-release-bot, @gnoff, @ijjk, and @lukesandberg for helping!

    Open source →
  32. 16.2.1-canary.118 Mar 2026pre-release
    Release notes

    Core Changes

    • Fix(pages-router): restore Content-Length and ETag for /_next/data/ JSON responses: #90304

    Misc Changes

    • Add .claude/skills symlink: #91616
    • Update tokio from 1.43.0 to 1.47.3: #90945

    Credits

    Huge thanks to @lllomh, @devjiwonchoi, and @lukesandberg for helping!

    Open source →
  33. 16.2.1-canary.018 Mar 2026pre-release
    Release notes

    Core Changes

    • Update vendored lodash to 4.17.23 to fix CVE-2025-13465: #91558
    • Fix invalid HTML response for route-level RSC requests in deployment adapter: #91541
    • Normalize encoded dynamic placeholders in app routes: #91603

    Credits

    Huge thanks to @denesbeck, @ztanner, and @ijjk for helping!

    Open source →
  34. 16.2.018 Mar 2026
    Release notes

    [!TIP]
    Check out our Next v16.2 Blog Post to learn more about this release.

    Core Changes

    • Upgrade React from f93b9fd4-20251217 to 65eec428-20251218: #87323
    • Turbopack: Create junction points instead of symlinks on Windows: #87606
    • Turbopack: Symlink handling follow-up: #87637
    • Add experimental routing package for resolving adapter routes: #86404
    • Ensure outputs are correct with cache components in deployment adapters: #87018
    • Move off of deprecated url.parse: #87257
    • [strict-route-types] Add experimental.strictRouteTypes config: #87378
    • misc: fix type check log for CI envs: #87838
    • fix: revalidateTag with profile should not trigger client cache invalidation: #88069
    • chore: warn when running tests against stale build: #88001
    • Redesign default error pages with cleaner, more user-friendly UI: #87988
    • dx: avoid next-env.d.ts change in dev: #88103
    • prevent browser cache from using stale RSC responses from previous builds: #86554
    • [strict-route-types] Typecheck App Router page props: #87386
    • [strict-route-types] Enforce common React Component return types in App Router: #87389
    • [strict-route-types] Switch to satisfies when validating page and route modules: #87398
    • [strict-route-types] Don't reject number in config.api.bodyParser.sizeLimit when validating route: #87633
    • Revert "dx: avoid next-env.d.ts change in dev": #88153
    • [strict-route-types] Typecheck pages router routes in absence of App Router: #87628
    • [strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: #87768
    • add compilation error for taint when not enabled: #88173
    • feat(next/image)!: add images.maximumResponseBody config: #88183
    • Add maximum size limit for postponed body parsing: #88175
    • metadata: use fixed segment in dynamic routes with static metadata files: #88113
    • feat: add --experimental-cpu-prof flag for dev, build, and start: #87946
    • Add experimental option to use no-cache instead of no-store in dev: #88182
    • fix overlay frames cannot be opened sometimes: #88210
    • Handle pnpm-workspace.yaml while searching for monorepo root: #74818
    • Add more debug logs to 'use cache' wrapper: #88219
    • Omit unused arguments from 'use cache' function calls: #86920
    • Only log pending revalidates... debug log if applicable: #88221
    • fix(next/image): bump [email protected]: #88238
    • Disallow javascript urls in router methods and redirects: #88185
    • Fix relative same host redirects in node middleware: #88253
    • Remove loadConfig from main development process, pass value from child process: #88230
    • Update deploy adapters outputs and handler interfaces for node and edge: #88247
    • Move Ready in time before handler initialization: #88235
    • next/image: support custom cache handlers: #88248
    • feat: add Claude Code plugin marketplace with Cache Components skill: #87993
    • refactor: consolidate PPR into cacheComponents architecture: #88243
    • Turbopack: include fewer traced files for standalone: #88322
    • feat(turbopack): add resolve plugin condition variant of Always and Never: #88190
    • perf: use length = 0 to clear the logging array: #88244
    • Time logs: Show full millisecond instead of 1 decimal: #88313
    • [turbopack] Enable inferring module side effects by default: #87216
    • Track search string as part of "refresh state": #87203
    • Pass RouteTree into navigation function: #87256
    • Read from segment cache unknown routes: #87293
    • Pass loading boundary as part of RSC data: #87825
    • Revert "refactor: consolidate PPR into cacheComponents architecture (#88243)": #88421
    • fix: support TypeScript noUncheckedSideEffectImports for CSS imports: #88199
    • Don't import typescript at runtime: #88321
    • fix: use RDC for server action requests: #88129
    • Warn when overriding Cache-Control header on /_next/ routes: #88353
    • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88012
    • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88449
    • Turbopack: Update reqwest, remove experimental system TLS feature: #88290
    • Revert "prevent browser cache from using stale RSC responses from pre…: #88457
    • Turbopack: retain loader tree order for metadata: #88487
    • Turbopack: more dead code: #88505
    • fix(build): prevent route handler manifests from inheriting unrelated client components: #88419
    • Upgrade React from 65eec428-20251218 to 3e1abcc8-20260113: #88530
    • Better typesafety for interopDefault: #88486
    • keep next-env.d.s unchanged between dev and build: #88428
    • Remove sibling caches from CacheNode tree: #87991
    • Upgrade React from 3e1abcc8-20260113 to 4a3d993e-20260114: #88547
    • Finish deleting Mutable from router implementation: #88046
    • fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: #88588
    • [CC] Fix dev validation error from server action bound args: #88600
    • Fix incorrect 'Ready in' time for next start: #88589
    • feat: server action logging: #88277
    • Log browser error and warnings in terminal: #88352
    • Upgrade React from 4a3d993e-20260114 to bef88f7c-20260116: #88649
    • fix: make RedirectType constant properties literal types: #88653
    • Turbopack: add support for matching loaders on resource queries: #88644
    • fix: capture promisified setImmediate separately: #88346
    • fix: setImmediate[util.promisify.custom] access fails in edge runtime: #88685
    • Fix --debug-build-paths bracket escaping for glob patterns: #88660
    • Add negation pattern support to --debug-build-paths: #88654
    • Only filter next config if experimental flag is enabled: #88733
    • [Devtool Indicator] Fix cross alignment: #88664
    • Turbopack: don't use build id for pages router client-side manifests: #88641
    • Allow inspecting server with next start --inspect: #88744
    • Turbopack: Add --debug-build-paths support to filter routes: #88655
    • Upgrade React from bef88f7c-20260116 to 41b3e9a6-20260119: #88756
    • Use rewritten pathname for implicit cache tags: #88732
    • Upgrade React from 41b3e9a6-20260119 to d2908752-20260119: #88774
    • Add experimental_gesturePush to App Router: #88776
    • Rename rewroteURL to rewrittenPathname in request metadata: #88751
    • Simplify getImplicitTags to accept pathname instead of url object: #88753
    • Add NEXT_DEPLOYMENT_ID global: #86738
    • Turbopack: remove deployment id suffix from client reference manifest chunks: #88741
    • Inject <html data-dpl-id> and don't inline it into JS anymore: #88761
    • [metadata] match the Metadata and ResolvedMetadata type: #88739
    • Reuse bfcache data during Full prefetches: #88606
    • Embed static sibling info in route tree: #88692
    • Fix revalidatePath with params and trailing slash when deployed: #88623
    • fix: preserve cache behavior for PPR fallback shells with root params: #88556
    • Upgrade React from d2908752-20260119 to b546603b-20260121: #88860
    • stabilize browser log forward options: #88857
    • [devtools] Wrap long file names of stack frames in the error overlay: #88886
    • [devtools] Fix notch coloring of error overlay in forced colors mode: #88892
    • Remove deploymentId from App Router RenderOptsPartial: #88866
    • feat: implement LRU cache with invocation ID scoping for minimal mode response cache: #88509
    • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88496
    • [devtool] Add hydration diff indicator for diff lines: #88919
    • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88942
    • [turbopack] add task type infromation to the print_cache_item_size feature: #88925
    • Upgrade React from b546603b-20260121 to 24d8716e-20260123: #88963
    • Turbopack: add ?dpl= to all asset urls returned by Turbopack: #88828
    • feat(next-codemod): add agents-md command for AI coding agents: #88961
    • Update font data: #88975
    • Improve agents-md prompt to force doc retrieval: #88997
    • [Reapply] Add useEffectEvent to disallowed React APIs in Server Components: #88985
    • Apply fixes for onBuildComplete and route module: #88831
    • Rename renderOpts.nextExport to isBuildTimePrerendering: #88951
    • docs: fix typos in README.mds: #89022
    • refactor: consume global-error from loader tree: #88437
    • Fix chunk loading when using __turbopack_load_by_url__ with query: #88899
    • [mcp] change the mcp endpoint response to JSON: #88911
    • Reapply "[turbopack] Add bundling support for worker_threads" (#88725): #88967
    • fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: #89040
    • Upgrade React from 24d8716e-20260123 to 8c34556c-20260126: #89066
    • Use null-prototype objects in server actions manifests: #89069
    • Re-enable types-and-precompiled: #89070
    • Apply segment changes to adapters outputs: #89072
    • Improve no response route handler error: #89036
    • Limit number of server action arguments to 1000: #89068
    • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88958
    • Decouple route stale time from segment-level data: #88834
    • Decouple route and segment cache lifecycles: #88989
    • [ci] Silence baseline-browser-mapping warnings: #89175
    • [Cache Components] Prevent streaming fetch calls from hanging in dev: #89171
    • React types update: #89110
    • [nextjs] feat: removing length requirement: #89173
    • add GPTBot to matcher for known bots: #89188
    • Ensure .md licenses are included in vendored packages: #89201
    • Switch development log item format as JSON: #89168
    • IsolatedDevBuild flag removal: #89167
    • fix: coerce HEAD to GET for internal images: #84180
    • Upgrade React from 10680271-20260126 to 230772f9-20260128: #89250
    • Upgrade tar used to extract SWC binary : #89158
    • Sort prerender manifest routes: #89246
    • Track vary params for segments without server-side param access: #88998
    • Optimistic routing: client-side route prediction: #88965
    • Keep pages/404.js to be able to dynamically render it anyway: #89263
    • fix: fully static pages should emit & serve static rsc payloads: #89202
    • fix: CSRF origin matching should be case-insensitive: #89127
    • fix(build): format runAfterProductionCompile duration as human-readable time: #89232
    • fix(router): support BigInt in query parameters: #89213
    • Update font data: #89200
    • Update font data: #89272
    • Turbopack: add support for contentType condition for webpack loaders: #89156
    • Revert "fix(router): support BigInt in query parameters": #89283
    • Track vary params during static prerendering: #89267
    • Improve lock dir error message: #89119
    • Ensures browserslist doesn't issue outdated warnings for baseline-browser-mapping: #89287
    • Replace build id in Pages data routes with deployment id: #88959
    • Upgrade React from 230772f9-20260128 to da641178-20260129: #89301
    • Inline handler dependencies instead of tracing: #89269
    • Turbopack: add rules.*.type config to allow changing the type of a module: #88788
    • Add experimental.varyParams feature flag: #89307
    • Fix/zlib mem node: #89099
    • Revert "Replace build id in Pages data routes with deployment id (#88959)": #89323
    • Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: #89314
    • feat: detect @typescript/native-preview as alternative TypeScript compiler: #89149
    • Revert "Fix/zlib mem node": #89322
    • Turbopack: FreeVarReference::ReportUsage: #89302
    • Make Server Function logging opt-in via logging.serverFunctions: #89321
    • Restore default-enabled Server Function logging: #89407
    • Re-add build-complete traces for webpack: #89402
    • Skip Server Function logging for 'use cache' functions: #89408
    • Replace flight navigation build id field with header: #88855
    • Upgrade React from da641178-20260129 to ed4bd540-20260202: #89401
    • Upgrade React from ed4bd540-20260202 to b1533b03-20260203: #89444
    • Upgrade React from b1533b03-20260203 to 3e00319b-20260203: #89449
    • Rename CACHE_ONE_YEAR for clarity and fix usage: #89450
    • [Codemod] Fix agents-md on Windows: #89319
    • Experimental deferred entries handling: #88347
    • Add experimental.reportSystemEnvInlining for Turbopack: #89304
    • fix: use signal-based exit codes to prevent inspector blocking exit: #89351
    • Add Instant Navigation Testing API: #89465
    • Support MPA navigations in instant(): #89469
    • Handle Pages data route skew with deployment id header, take 2: #89325
    • Include owner stack for forwarded errors if available: #89493
    • [CC] Rename "unstable_prefetch" to "unstable_instant": #89448
    • Ensure module contexts are always included in adapter traces: #89508
    • Don't insert build id comment in HTML: #89478
    • Clarify type checking error message: #89525
    • Require explicit cacheLife on outer "use cache" when nesting short-lived caches: #89481
    • [Instant] Instant validation in Dev: #89077
    • Upgrade React from 3e00319b-20260203 to 95ffd6cd-20260205: #89550
    • Turbpopack: fix is_persistent_caching_enabled: #89533
    • Fix a small doc typo: #89553
    • Ensure _middleware is consistent in adapter for name/id: #89559
    • Ensure Errors with deep causal chains respect inspect depth: #89594
    • refactor: extract route discovery into unified discoverRoutes() API: #88971
    • Ensure static metadata are static outputs for adapters: #89574
    • Resolve local variable references in error code SWC plugin: #89596
    • Turbopack: Add --experimental-server-fast-refresh CLI flag: #89274
    • Fix deployment id header when proxying: #89593
    • fix: deprecated util._extend: #89614
    • Fix missing non-deferred turbopack build items: #89616
    • Revert "Ensure _middleware is consistent in adapter for name/id": #89624
    • Omit unused arguments for server actions: #89651
    • Upgrade React from 95ffd6cd-20260205 to 2dd9b7cf-20260208: #89681
    • Include AggregateError.errors in terminal output: #88999
    • fix(image): findClosestQuality returns 0 for low quality values: #89621
    • Upgrade React from 2dd9b7cf-20260208 to 272441a9-20260209: #89722
    • Avoid using unclosing prefetch streams in the browser: #89610
    • Pass shouldCache to all manifest loading calls: #89713
    • Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: #88577
    • Tracing: trace render times as render-path: #89763
    • Turbopack: Server HMR infrastructure: #88870
    • Turbopack: Reorganize runtime files into shared/runtime directory: #89461
    • [Instant] Validation on client navs: #89777
    • Turbopack: extract core hmr client logic into shared runtime: #88912
    • Turbopack: Fix slow filesystem benchmark warning for next dev: #89798
    • Add turbopackIgnoreIssue config to suppress Turbopack warnings: #89682
    • Add support for with type: "text" under a new experimental flag, following what webpack did: #89560
    • Remove unused devtools code handling React without use: #89793
    • [devtools] Wrap overlay in Activity: #89818
    • Add CSS URL deployment ID suffix support: #89771
    • Fix cascading LRU eviction during prefetch batches: #89766
    • Refactor prerenderManifest passing: #89765
    • [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #89850
    • Turbopack: Implement server hmr in nodejs dev runtime: #89130
    • Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: #89789
    • [fragment-scroll] Cleanup scroll and focus restoration in layout router: #83110
    • [fragment-scroll] Add experimental.appNewScrollHandler: #83107
    • [Instant] Fix crash with search params: #89922
    • Fix memory leak in dev mode caused by fast-set-immediate: #89779
    • Trace upload: include experimental flag states: #89845
    • Upgrade React from 272441a9-20260209 to 6066c782-20260212: #89923
    • Add a better error message for when turbopack cannot be loaded: #89633
    • fix: support multiple icon formats with same base name (icon.png + icon.svg): #89504
    • Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: #89817
    • Build with dev runtimes when --debug-prerender is set: #89834
    • Append deployment id query string for next-font: #89960
    • Fix parallel routes with deferred entries: #89967
    • Rename node extension utils for clarity: #89970
    • Model abandoning by signal: #89971
    • Fix missing incremental cache in middleware unstable_cache: #89980
    • Run fast immediates during prerender abort to fix flaky I/O stack traces: #89969
    • [fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: #83108
    • dx: Include path count in export error message: #89333
    • fix(agents-md): use require.resolve() to get the installed next version: #89166
    • docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #89857
    • Ignore prefetch={true} on Links to routes with instant: #90061
    • Expand deferred entries test suite and fix turbopack build: #90057
    • Use StageController for runtime prerendering: #89972
    • Improve task pipelining: #90065
    • fix(next/legacy/image): add deployment id (dpl) query string support: #89956
    • Cache expected missing manifest read: #89908
    • Use for...in instead of Object.keys for parallelRouteKey traversal: #89905
    • [Instant] allow non-blocking dynamic holes and errors in shared parents: #89875
    • Move prefetch hints from CacheNodeSeedData to FlightRouterState: #90066
    • [Instant] Don't block on client APIs that wouldn't block in the browser: #89924
    • [devtools] Add support for error causes in the dev overlay: #90108
    • Unify runInSequentialTasks across all sequential task work: #89978
    • Cleanup all stage promises on abort: #89984
    • segment cache: fix segment cache normalizer: #90111
    • Handle null history.state in client-side router popstate handler: #90083
    • Don't parse default postponedsizelimit: #89906
    • Turbopack: handle invalid RSC imports via importmap: #88146
    • [create-next-app] Improve AGENTS.md prompt wording: #90118
    • ensure maxPostponedStateSize is always respected: #90060
    • Upgrade React from 6066c782-20260212 to 4842fbea-20260217: #90144
    • [fragment-scroll] Stop focusing the first focusable host descendant: #89903
    • fix: normalize loopback only in hostname: #90158
    • Only error for sync IO after runtime in segments that would be runtime prefetched: #89979
    • [refactor] Replace runtime prefetch sentinel transform stream: #90160
    • fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): #89864
    • Automatically build and clear native build when running pnpm build: #89819
    • fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): #89865
    • Attach active src route to next global: #90171
    • Fix OTEL propagation and add direct entrypoint e2e coverage: #90181
    • Use cookie as sole protocol for instant navigation testing: #89871
    • Simplify metadata tag rendering to flat imperative style: #90209
    • Prevent unhandled rejection filter from being bundled into the server runtime: #90205
    • [Instant] speed up test instant-validation suite: #90214
    • Turbopack: fix static asset skew protection for edge and prerenders: #90238
    • Remove workStore from params/searchParams/pathname function signatures: #90215
    • Remove workStore from metadata resolution chain: #90217
    • [Instant] export "Instant" config type: #90257
    • Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: #90249
    • [Instant] Dev Tools toggle for Instant Navigation Mode: #90222
    • [instant] Include declaration location of instant config in validation errors: #90169
    • Turbopack: rename ServerPaths to AssetPaths: #90234
    • feat(next/image): add lru disk cache and images.maximumDiskCacheSize: #89963
    • Revert "Handle null history.state in client-side router popstate handler": #90268
    • [devtools] Omit empty looking error messages: #90256
    • Fix runtime prefetch isPartial byte stripping when deployed: #90272
    • Upgrade React from 2ba30655-20260219 to ab18f33d-20260220: #90279
    • validate sync IO in generateMetadata according to Page's prefetchable status: #90164
    • Turbopack: support Subresource Integrity : #90152
    • segment cache: add test for passing unawaited promise to context provider: #89339
    • Fix route.replace crash with --debug-build-paths: #90312
    • refactor(app-render): extract stream-ops and debug-channel modules (5/8): #89858
    • [turbopack] Consider ignoreList of 3rd party sourcemaps in Redbox: #90317
    • [turbopack] Remove obsolete is_internal field : #90329
    • Fix: Image component ignores images.qualities in Jest environment: #89536
    • Revert "keep next-env.d.s unchanged between dev and build": #90384
    • Fix route cache keying for unprefetched navigations: #90400
    • Add support for Next.js error telemetry for AggregateError: #90391
    • Fix config.reactProductionProfiling for Webpack: #90430
    • next-image: fix deployment id handling for unoptimized: #90416
    • [ci] Fix input cache keys for tasks referencing rust-toolchain: #90442
    • next-image: fix dpl handling with unicode: #90420
    • Upgrade React from ab18f33d-20260220 to c0060cf2-20260224: #90452
    • [ci] Stop using Turbopack tests in native binary build cache keys: #90449
    • [Instant] Validate blocking head: #89539
    • Turbopack: Fix experimental server hmr for pages router: #90398
    • Fix params leaking into instant navigation shell in dev: #90455
    • Limit build workers to pages+1: #90475
    • fix: sanitize worker args for worker_threads compatibility: #90506
    • Fix varyParams tracking for optional catch-all params with no value: #90496
    • Don't start worker for Typescript when only doing config validation: #90504
    • [Instant] Fix loading.js not being counted as a suspense boundary: #90292
    • [ci] Crash if next-swc could not be loaded when NEXT_TEST_NATIVE_DIR is specified: #90387
    • Fix: server-patch retry preserves push/replace intent of suspended transitions: #90533
    • Cached Navigations: Serve cached segments instantly on repeat visits: #90223
    • Throw when unstable_instant is used in Client Component: #90396
    • [test] Fix jest-haste-map warnings: #82995
    • Don't require collect-build-traces with Turbopack: #90586
    • Enable experimental.reactDebugChannel by default: #90310
    • Less dynamic pages manifest path: #90581
    • Upgrade React from c0060cf2-20260224 to 98ce535f-20260226: #90605
    • Turbopack: Add Next.js version to "initialize project" trace span: #90545
    • [devtools] Stop sending codeframes for ignored frames: #90577
    • Allow reset() from user's global-error: #89684
    • Fix per-segment prefetching for initial loads with Cache Components: #90610
    • Add unstable_retry() to error.js: #89685
    • Fix edge index page _next/data route: #90611
    • Turbopack server hmr: Implement restart event: #90550
    • Turbopack: Panic if a top-level task attempts an eventually consistent read: #89735
    • Fix middleware case with adapters: #90624
    • refactor(turbopack-node): support execution by napi and worker_threads: #86266
    • [instant] Allow providing user feedback for blocking route errors: #90498
    • Allow Node.js' experimental inspector flags in next dev and next build: #90603
    • tests: Assert dpl query string in all tests for Turbopack: #90592
    • [instant] Don't add debug stack to random unstable_instant exports: #90273
    • Adapter: STATIC_FILE.immutableHash: #90045
    • Turbopack: experimental.immutableAssetToken: #88607
    • remove runInContext callbacks from stream-ops: #90609
    • Turbopack: restrict server HMR to app pages: #90663
    • Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: #90671
    • Turbopack: Revert default loader runtime backend to child processes: #90675
    • [devtools] Stop blocking overlay on error details copy: #90698
    • feat: provide nextVersion to modifyConfig adapter hook: #90735
    • experimental.prefetchInlining: bundle segment prefetches into a single response: #90555
    • instant(): fix cookie handling for fresh page loads: #90613
    • fix(turbopack): use posix.join for client URL manifest paths on Windows: #90700
    • Turbopack: improve cell order lint rule for ReadRef::cell: #88500
    • Change names of logged times: #90688
    • [devtools] Bump React Compiler version to latest experimental: #90763
    • Skip writeToBfCache without window: #90771
    • docs: error component unstable_retry(): #89732
    • Stub adapterPath with experimental.runtimeServerDeploymentId: #90790
    • Conditionally load uncommon paths: #90514
    • Refactor extractExportedConstValue to return { value } | null instead of throwing: #90510
    • Reimplement code frame rendering in native code: #85592
    • [devtools] Bundle for same target as Next.js browser runtime: #90762
    • Upgrade React from 98ce535f-20260226 to 4cc5b7a9-20260303: #90827
    • Add transitionTypes prop to next/link: #90701
    • [otel] fix missing http.route attribute: #90832
    • [otel] set parent span name: #90840
    • Update default error pages: #90469
    • Replace PPR config helpers with cacheComponents checks: #90704
    • Cached Navigations: Cache visited fully static pages in the segment cache: #90306
    • Remove isRoutePPREnabled from render options and delete dead PPR branch: #90713
    • Use page extensions in next-swc transforms applying to pages: #90650
    • Cached Navigations: Cache static stage of partially static initial HTML: #90539
    • Remove PrerenderStorePPR type and all prerender-ppr switch cases: #90721
    • Clean up legacy PPR references in test fixtures: #90725
    • Cached Navigations: Cache runtime stage data from navigation requests: #90666
    • Remove legacy PPR postpone cluster: #90726
    • partial fallbacks: add adapter flag: #90395
    • Address review feedback: extract modules, clean up imports: #90813
    • Add trace spans for turbopack persistence in .next/trace: #90397
    • Upgrade React from 4cc5b7a9-20260303 to 3bc2d414-20260304: #90876
    • Fix prefetch inlining build failure with dynamic routes: #90899
    • Update @vercel/og and satori vendors: #90933
    • Batch require cache deletion to avoid quadratic scanning: #90625
    • Revert legacy PPR removal: #90948
    • Rewrite instant validation to use depth-based URL boundary discovery: #90905
    • Add experimental.cachedNavigations feature flag: #90928
    • preserve allowQuery for partial fallback shells: #90887
    • Cache runtime data for partially static pages on initial load (resume): #90888
    • re-introduce partial fallback -> route upgrading: #89063
    • fix: Don't fall through to catch-all when static child subtree doesn't match: #90957
    • Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #90996
    • Upgrade React from 3bc2d414-20260304 to 46103596-20260305: #90989
    • fix: trigger MPA navigation for server action redirects with build ID mismatch: #89946
    • Improve webpack loader error messages and handling: #89698
    • Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #90443
    • partial fallbacks: gate behind experimental flag: #91123
    • fix: app-page URL normalization: #91121
    • Updates to Instant Navs devtools functionality: #91005
    • Trace upload: add git and environment info: #91124
    • fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #90556
    • Revert "Address review feedback: extract modules, clean up imports": #91159
    • [turbopack] Render code frames on the turbopack side: #90534
    • Add experimental.lightningCssFeatures config option: #90901
    • fix: correct appPaths sort order for parallel routes with route groups: #91160
    • Tracing: tag spans as failed if their runner fn fails: #91206
    • Adds a Start button to the Instant Navs panel to initiate inspection …: #91216
    • Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #91213
    • [cna] Bump picocolors to 1.1.1: #91252
    • [Instant] Build-time validation: #90964
    • [Instant] fix instant config suggested by editor plugin: #91262
    • chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #91233
    • Upgrade React from 46103596-20260305 to 5e9eedb5-20260312: #91272
    • feat(server): expose requestMeta router helpers and merge fallback context: #91235
    • [Instant] Show owner stack for validation-blocking errors: #91277
    • Hydrate page loads during instant navigation testing: #91207
    • perf: use Buffer.from for base64 encoding of binary Flight data: #91221
    • Skip dimming when --inspect is used: #91271
    • Respect generateStaticParams in instant navigation shell: #91316
    • [Prefetch Inlining] Generate size-based hints on server: #90891
    • Wire cache handlers in edge paths and add e2e regression coverage: #91236
    • Expose edge runtime fields in build-complete: #91239
    • [turbopack] Remove turbo_tasks::function from ModuleReference getters: #91229
    • [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #90949
    • partial fallbacks: only upgrade shells with remaining prerenderable params: #91158
    • partial fallbacks: complete generic shells into more specific shells: #91231
    • Add eval and docs for unstable_instant: #91334
    • Simplify scroll restoration with shared ScrollRef on CacheNode: #91348
    • fix: test-cargo-unit CI job timing out since LTO was enabled: #91424
    • fix(build): don't block SSG on telemetry flush, add persistence spans to trace-build: #91335
    • Ready in X - prints wrong timing on dev server restart: #90874
    • Show generated code from loaders in parse error messages: #89898
    • Remove unused layer from server actions manifest: #91425
    • Support accessing root params in generateStaticParams: #91189
    • Avoid undefined outer work unit store in "use cache": #91190
    • Add unstable_dynamicStaleTime route segment config: #91437
    • [next-playwright] Use unique cookie values for instant navigation testing lock: #91250
    • Add unstable_catchError() API for component-level error recovery: #89688
    • docs(turbopack): Fix all warnings in cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #91339
    • Patch improvements into http-proxy lib: #91480
    • Disallow Server Action submissions from privacy-sensitive contexts: #91478
    • Fix startup warmup for empty-shell app route cache: #91470
    • Fix unstable_catchError type inference for fallback props: #91485
    • Support accessing root params in "use cache" functions: #91191
    • Fix inconsistent cache life/tags propagation for cache handler hits: #91454
    • Upgrade React from 5e9eedb5-20260312 to c80a0750-20260312: #91324
    • Error when accessing undefined root params in generateStaticParams: #91519
    • Buffer prefetch response before passing to Flight client: #91487
    • [Segment Cache] Always upsert on prefetch completion: #91488
    • Track vary params during runtime prefetches: #89297
    • [react-sync] Allow locking in manual sync: #91509
    • Remove devCacheControlNoCache experimental option (hard-code no-cache): #91503
    • fix allowedDevOrigins for no-cors requests: #91506
    • Remove webpack stats generation from Turbopack: #91515
    • Upgrade React from c80a0750-20260312 to 3f0b9e61-20260317: #91522
    • Move adapterPath from experimental to stable top-level config: #91535
    • block disallowed dev origins by default: #91507
    • Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #91530
    • improve allowedDevOrigins error: #91521
    • Add group depth tracking to instant validation boundary discovery: #91208

    Documentation Changes

    • docs: next experimental-analyze: #87272
    • docs: use cache private redo: #87111
    • docs: fix highlight in 05-server-and-client-components.mdx: #87347
    • Guide: Update Optimizing Package Bundling to include new Bundle Analyzer: #87246
    • docs: generateMetadata and generateViewport w/ CC: #87218
    • docs: tweaks/fixes to papercuts: #87445
    • docs: fix typos and clarify examples in Cache Components guide: #87530
    • [docs] add get_routes in mcp available tools: #88181
    • Update generateMetadata in client component error: #88172
    • docs: fix CSP example to only include unsafe-eval in development: #88407
    • docs: add useSearchParams and useParams documentation for Pages Router: #88429
    • docs: fix Pages Router fonts documentation showing App Router examples: #88326
    • doc: add details of mcp client integration: #88543
    • Turbopack: query conditions in rules follow-ups: #88801
    • Docs: Add Next.js Glossary: #88811
    • docs: Server functions rename: #86827
    • docs: Update Partytown URLs and package reference: #88928
    • docs: improve clarity in cache components and server/client docs: #88946
    • docs: revalidatePath w/ rewrites and trailing slash: #88956
    • Cache Component Guide: Building public, mostly static pages: #87248
    • Turbopack: Add postcss.config.ts support: #89049
    • CC Guide: Fix filenames, reduce line breaks: #89065
    • docs: fix code highlight in 07-fetching-data.mdx: #88727
    • [docs] Always include unsafe-eval in dev Content-Security-Policy: #89163
    • Turbopack: add support for turbopackOptional: true: #89227
    • docs: Rename Error component to ErrorPage: #89284
    • docs: replace 'can not' with 'cannot': #89354
    • docs: Fix custom server code snippets: #89400
    • Snippet multi package syntax: #89381
    • Fix indentation of types of tests in docs: #89409
    • docs: Fix syntax in proxy example code: #89395
    • docs: fix ISR guide link to res.revalidate: #89342
    • Fix spelling in robots.mdx documentation: #89565
    • Remove more examples: #89709
    • clarify unstable_cache replacement with use cache: #89435
    • docs: correct use term: #89438
    • [docs] Add RedirectType usage example to permanentRedirect: #89833
    • Next CLI flags documentation: #89750
    • docs: adapt lead to source path patterns: #89392
    • docs: Papercuts Feb26: #89484
    • After() docs requests API: #89837
    • docs: Move browserToTerminal into logging: #88901
    • Update documentation to explain behavior in a Catch-all route: #89742
    • docs: add deploymentId config and clarify encryption key for self-hosting: #89795
    • docs: adapterPath amends: #89930
    • docs: improve next/image localPatterns error page: #89914
    • docs: inline-css dev-action oriented: #89064
    • docs: document cacheLife expire omission behavior and fix default preset value: #89913
    • docs: Activity boundary guide: #89126
    • Turbopack: Add inline loader configuration via import attributes: #89644
    • docs: fix broken blockquote formatting in API Routes page: #89966
    • docs: clarify async instrumentation register request : #90039
    • Add AGENTS.md and bundled docs guide: #89973
    • In-Depth Explanation of React Version Handling Doc: #89426
    • Next.js sticky scroll standards: #90197
    • docs: fixes typo in manifest.mdx regarding Route Handler note: #90394
    • docs: improve form guide consistency and validation examples: #90361
    • docs: rework version staleness: #90192
    • docs: clarify that next upgrade is for 16.1.x+: #90435
    • Add not-found.js / notFound() links to Status Codes section: #88332
    • docs: update with more patterns and decision based: #90203
    • docs: add Docker Standalone and Docker Export examples to Deploying page: #90386
    • feat: Join guides and frame around UI preservation: #90595
    • docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #90246
    • docs: fix navigationType value and variable name in useReportWebVitals: #90599
    • Accept header content negotiation: #90607
    • docs: clarify native <script> usage for JSON-LD in docs: #90380
    • Create next app CLI docs: #90788
    • Unify caching story across the docs: #90149
    • update proxy docs to use NextProxy type: #90647
    • Loading layout docs update: #90787
    • Uncached data suspense issue: #90450
    • docs: explain deploy test custom scripts: #90966
    • Update adapters documentation: #90986
    • docs: large page data error: #90920
    • docs(localFont): enhance details about using the localFont function: #88189
    • chore(docs): mention behavior of redirects and remotePatterns: #91151
    • docs: More Server Actions security guidance across docs: #90878
    • docs: Streaming guide: #90779
    • Docs: Split route segment config options into their own files: #90991
    • Expose resolved invocation targets in next-routing: #91242
    • docs: remove incorrect _document.tsx font example: #91346
    • docs: unstable_catchError(): #89847
    • SRI turbopack documentation: #90477
    • docs: Clarify ignoreBuildErrors behavior: #91367

    Example Changes

    • fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: #87443
    • fix(examples): resolve hydration mismatch in blog-starter: #87703
    • Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: #88475
    • chore(examples): remove with-recoil exmaple: #81836
    • chore(examples): remove with-tigris example: #81843
    • [feat] Added Docker examples for standalone output and export output following best practices: #87069
    • Migrate from react-markdown to Streamdown static in EdgeDB example: #86435
    • example: restore .next handling for with-docker examples: #90651
    • with-docker: add new config file formats: #90731
    • example: remove duplicate items in .dockerignore: #91079

    Misc Changes

    • Turbopack: refactor graph traveral and fix module graph determinism: #87312
    • bundle analyzer: remove uncompressed toggle, stabilize top bar ui: #87325
    • test: de-flake client-cache deployment tests: #87412
    • Revert "Revert "[turbopack] Set liveness of exports based on assignment analysis (#82802)"": #87214
    • ci: track runner name on datadog test reports: #87440
    • Turbopack: In CI only persist at the end: #87316
    • fix: correct quotes in dev script filter in package.json: #87638
    • chore: add a missing period to rspack description: #86526
    • [test] Move off of as much url.parse as possible: #87286
    • Update Rspack production test manifest: #87889
    • Update Rspack development test manifest: #87888
    • chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: #87815
    • fix: normalize CRLF line endings in jscodeshift tests on Windows: #88008
    • chore: add Claude Code configuration: #87943
    • test: reduce flakiness in opentelemetry test for prod mode: #88102
    • Rename CLAUDE.md to AGENTS.md with symlink: #88105
    • [turbopack] Populate the names field of sourcemaps: #87911
    • Turbopack: fix order of breadth first edges: #88117
    • Turbopack: transpile CHUNK_SUFFIX: #88128
    • chore: add dev boot profiling and benchmark scripts: #87940
    • perf: improve stats action reliability and reduce CI noise: #87945
    • Update Rspack production test manifest: #88137
    • Update Rspack development test manifest: #88138
    • Fix compile error when running next-custom-transform tests: #83715
    • chore: add Conductor configuration for parallel development: #88116
    • fix: move conductor.json to repo root for proper detection: #88184
    • Turbopack: Update to swc_core v50.2.3: #87841
    • ci: run stats on canary pushes for historical trend tracking: #88157
    • perf: improve stats thresholds to reduce CI noise: #88158
    • Turbopack: Use batch get request to read more efficient from database: #87106
    • Turbopack: improve aggregation update performance: #87317
    • Add test creation instructions to agents.md: #88215
    • Turbopack: report changed env vars in tracing: #88195
    • Turbopack: get rid of some manual self.await-s: #88236
    • Guard against Object/Array shadowing in 'use cache' transform: #88229
    • feat(turbo-tasks-fs): support multi denied_paths: #88186
    • Upgrade to swc 54: #88207
    • ci: fix javascript-urls test to account for React 18: #88249
    • Turbopack: Remove tokio and turbo-task handles from Invalidator: #88242
    • Turbopack: remove Stateful flag: #88196
    • Upgrade to rustc 2026-01-04: #88095
    • Turbopack: include children count in "task execution completed" span: #87318
    • Turbopack: avoid blocking tasks for I/O work: #87661
    • Turbopack: flatten trace when it reaches cut off depth: #88118
    • Turbopack: remove unused code: #88274
    • Turbopack: escape colon in output names: #88273
    • [test] Add a failing test for cycle serialization in segment prefetches: #88287
    • Turbopack: scope hoisting bug with reexport-self-star: #86131
    • Turbopack: Add #[automatically_derived] to proc macros: #88281
    • Update Rspack development test manifest: #88260
    • Turbopack: Use format! instead of anyhow! inside of anyhow::Context::with_context calls: #88293
    • Turbopack: pull in updated vercel/nft tests: #88162
    • Fix pack-next script for next-swc: #88126
    • Turbopack: use correct flags in tests: #88307
    • Turbopack: fix task category on reading cells: #88309
    • agent.md: Explain where the Next.js core code lives: #88314
    • Turbopack: improve next-server.nft.json tests: #88320
    • Turbopack: add family to database read span: #88323
    • Tests: Reduce loglines from apply patch delay: #88224
    • Turbopack: prefetch children too: #88324
    • Turbopack: more stale details for tracing: #88306
    • Turbopack: make GraphTraversal deterministically calling all nodes before erroring: #88119
    • Turbopack: improve error message for incompatible swc plugins: #86346
    • Update Rspack development test manifest: #88301
    • Update Rspack production test manifest: #88300
    • Stats Action: Add ready in time: #88283
    • fix: skip stats-aggregate job for docs-only changes: #88330
    • docs: add PR description guidance to AGENTS.md: #88408
    • ci: Fix retry comments in workflow files: #88412
    • [test] Deflake test/integration/invalid-custom-routes/test/index.test.ts: #88416
    • [test] Remove rogue debug log: #88423
    • Update AGENTS.md with PR template and test generation requirements: #88417
    • Add .cursor/worktrees.json configuration: #88415
    • docs: add guidance for code block highlight line numbers to AGENTS.md: #88430
    • [turbopack] Compute transitive side effects and use them to trim imports: #86675
    • fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: #88331
    • perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: #88336
    • [Turbopack] Move DirList to its own module: #88256
    • docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: #88337
    • Type-check run-tests.js and remove unused related flag: #88433
    • [test] Remove obsolete reference to NEXT_TEST_SKIP_RETRY_MANIFEST: #88434
    • Revert "[Turbopack] Move DirList to its own module": #88441
    • [scripts] Avoid conflicting type for pack-next --compress: #88439
    • Update Rspack production test manifest: #88403
    • Update Rspack development test manifest: #88404
    • [test] Always run all tests without aborting on failure: #88435
    • Turbopack: remove sourcemapping comments: #88217
    • Turbopack: use mimalloc on Linux musl: #88426
    • Turbopack: add support for selective reads of keyed cell values: #88303
    • Turbopack: Reduce usage of parse_quote in turbo-tasks-macros: #88454
    • Turbopack: don't cell in async map: #88473
    • Turbopack: replace is_reference_used with unused_references set: #88304
    • Turbopack: add lint rule to not cell in async map: #88474
    • Turbopack: Remove dead generic_type_macro code: #88455
    • Turbopack: remove unused code: #88497
    • Turbopack: improve cell order lint rule: #88498
    • Turbopack: parallelize making dependent tasks dirty: #86755
    • Turbopack: fix bad performance edge case in production chunking: #88508
    • Remove lerna bootstrap from the clean script in package.json: #88527
    • Turbopack: Clean up VcRead::Repr associated type: #88456
    • [cna] Avoid error with out-of-box Netlify config: #88546
    • [turbopack] Move some of the logic for issue filtering into the rust layer: #88511
    • Update Rspack production test manifest: #88469
    • Update Rspack development test manifest: #88470
    • feat: add TaskStorage derive macro and schema infrastructure: #88338
    • [ci] Don't retry/notify for failed deploy tests with custom tarball URLs: #88576
    • fix(turbopack): Collect declare global {} in VarDeclWithTsDeclareCollector: #88568
    • Update labeler.json: #88591
    • Fix optional parent_task_id compile failure w/tokio_tracing enabled: #88598
    • Turbopack: support disabling tsconfig lookup: #88529
    • Turbopack: run tasks with priority based on distance to leaf: #87662
    • Turbopack: avoid removing cells for erroring tasks: #88305
    • [ci] Use native concurrency feature in build-and-test: #87287
    • Turbopack: unflake unit test: #88620
    • Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: #88340
    • Turbopack: Consistency for compute_async_module_info: #88409
    • Turbopack: follow tracing spans through aggregation update queue: #88410
    • Turbopack: avoid chunk_item_id task and use selective cell access instead: #88411
    • Turbopack: MappedReadRef should be Send and Sync: #88558
    • Turbopack: selective read for module_chunk_groups in ChunkGroupInfo: #88559
    • Turbopack: use selective reads for merged modules: #88560
    • Turbopack: add caching to chunking: #88561
    • Turbopack: use bugs.nextjs.org for Turbopack panic error reports: #88356
    • Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: #88663
    • [turbopack] Add bundling support for worker_threads: #87746
    • [cna] Ensure created app is not considered the workspace root in pnpm: #88647
    • Revert "[turbopack] Add bundling support for worker_threads": #88725
    • [ci] Enable Turborepo remote caching in e2e release deploy tests: #88746
    • [test] Deflake test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts: #88754
    • Fix Build Commands section in AGENTS.md: #88757
    • [test] Deflake test/development/app-dir/hydration-error-count/hydration-error-count.test.ts: #88749
    • [ci] Exclude test/production from deploy tests: #88763
    • Apply buildArgs also for deploy tests (via package.json): #88731
    • [ci] Ensure Turbo Remote Cache can be written to: #88794
    • perf(turbopack): optimize resolve plugin handling: #88639
    • Fix buildManifest.js deployment tests: #88806
    • [ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: #88824
    • Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: #88192
    • [test]: add ability to run test-deploy with pre-existing deployment: #88829
    • Update deterministic-build assertion: #88820
    • Turbopack: shrink amortized: #88619
    • Fix deployment test due to data-dpl-id attribute: #88846
    • [ci] Fix Rspack/Turbopack test manifest generation: #88845
    • Turbopack: show compressed size for print_cache_item_size: #88850
    • [test] Fix deploy test of cache-components.server-action.test.ts: #88854
    • Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): #88602
    • Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: #88665
    • Turbopack: Move fuzzer for fs watcher into a separate file/module: #88666
    • Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: #88667
    • Turbopack: Make the priority_runner testcase deterministic: #88651
    • Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: #88668
    • Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: #88669
    • feat: Replace InnerStorage with the generated TaskStorage struct: #88355
    • Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: #88869
    • refactor: migrate to typed accessors and remove CachedDataItem adapter: #88397
    • docs: add skill for updating Next.js documentation: #88656
    • Turbopack: [chore] Fix Rust check warnings: #88871
    • Create-next-app update message: #88706
    • Turbopack: Fix next/font preloading for page.mdx: #88848
    • Update Rspack production test manifest: #88882
    • [test] Skip failing deploy test in searchparams-reuse-loading.test.ts: #88821
    • [test] Skip flaky prefetch-runtime tests for deploy tests: #88826
    • remove gt workflow from agents.md: #88918
    • Turbopack: refactor data storage to avoid reverse task cache: #88492
    • Turbopack: change invalidator and immutable to data category: #88889
    • Turbopack: reduce cache size: #88929
    • fix typo: #88934
    • Turbopack: improve module type error message: #88815
    • Turbopack: improve selective read support to allow Equivalent keys: #88760
    • Turbopack: add indirection layer for better caching during resolving: #80062
    • Add Graphite workflow Cursor command: #88939
    • Update Rspack production test manifest: #88930
    • Update Rspack development test manifest: #88931
    • Improve performance and token usage of /ci-failures command: #88960
    • [Turbopack] Use a presized scratch buffer for task encoding: #88924
    • Update Rspack development test manifest: #89004
    • Update Rspack production test manifest: #89003
    • Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86416
    • [test] Improve deployment skew test for Pages Router data routes: #89038
    • Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: #88775
    • Fix reset deploy project script: #89001
    • Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": #89073
    • /pr-status (former /ci-failures): fetch PR reviews too: #89082
    • Improve /pr-status: comments, argument, avoid full log: #89092
    • chore(ci): rename 'new tests' jobs to 'new and changed tests': #89054
    • [ci] Exclude tests by filename when merging manifests: #89093
    • Turbopack: import with type should be handled via condition: #89035
    • Enable pnpm dependency caching in e2e deploy tests: #88953
    • [ci] Make gh auth status optional when triggering a release: #89098
    • Update Rspack development test manifest: #89084
    • tweak LRU sentinel cache key: #89123
    • Turbopack: allow key block without hash in SST files: #88938
    • Turbopack: Remove unused argument: #80235
    • Prettier-ignore changes in next-env.d.ts files in all top-level apps: #89176
    • Turbopack: warn when tracing the whole project: #89157
    • Add full adapters E2E tests to workflow: #89125
    • Update Rspack production test manifest: #89147
    • Fix @next/routing for i18n api and dynamic routes: #89197
    • Remove Vercel specific assertions from E2E deploy: #89198
    • Add custom deploy and logs env for next-deploy: #89206
    • Turbopack: change AsyncModulesInfo to use keyed reads: #89216
    • Turbopack: selective reads of defined env vars in module analysis: #88759
    • Turbopack: fix tracking modifications for transient and data: #89228
    • [ci] Clear Jest transform cache: #89247
    • Turbopack: Make the globals we pass to workers configurable: #88773
    • Accept deploy script and log script as inputs: #89253
    • [turbopack] mark persistent_task_type as inline: #89185
    • [test] Add test suite name for Tests failures table: #89258
    • refactor: Improve templates layout flexibility: #89245
    • test: add client-cache.defaults failing deploy test: #89242
    • test: add resume-data-cache failing deploy test: #89243
    • [turbopack] Make shrinking logic declarative and optimize for immutable tasks: #89222
    • Turbopack: Trace task modifications: #89229
    • Turbopack: refactor extend transforms: #89116
    • Turbopack: improve print_cache_item_size: #89279
    • Update Rspack development test manifest: #89278
    • Update Rspack production test manifest: #89277
    • Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in #89228: #89255
    • Add failing test to deploy-tests-manifest: #89318
    • Apply server actions transform to node_modules in route handlers: #89316
    • [test] Deflake browser-log-forwarding verbose level test suite: #89324
    • Turbopack: Move PrettyPrintError to turbo_tasks and add tests: #89280
    • Update Rspack production test manifest: #89372
    • Update Rspack development test manifest: #89371
    • TURBOPACK: support chunk_loading_global method: #88790
    • Don't upload build cache for deployment tests: #89432
    • Add separate E2E deploy env for turbopack tests: #89458
    • Turbopack: Symbol.for and keyFor are sideeffect-free: #89454
    • Update Rspack production test manifest: #89423
    • Update Rspack development test manifest: #89424
    • Turbopack: improve suggestions for experimental.reportSystemEnvInlining: #89486
    • Add experimental flag to expose testing API in production builds: #89499
    • Proper e2e test of function determinism: #88908
    • Turbopack: add turbo-persistence benchmark: #89446
    • Proper e2e test of function determinism - adapter: #89522
    • [test] consolidate the browser log test: #89601
    • Fix flaky turbo cache pull with retries and graceful fallback: #89575
    • Turbopack: Pass globals to node.js workers as well: #89261
    • Upgrade rustc to 2026-02-05: #89591
    • Update metadata assertions: #89625
    • Update vercel CLI version in flakey deployment-id test: #89652
    • Turbopack: remove unneeded benchmarks: #89592
    • Turbopack Persistence: Remove amqf cache, store all amqfs in memory: #89562
    • Add inline value support for small values (≤8 bytes): #89271
    • [turbopack] remove the _backend field from TaskGuardImpl: #89015
    • [Turbopack] Include CSS URL attributes, including Layer, Media and Supports: #89300
    • docs: add task decomposition and verification guidelines: #89640
    • Turbopack: Remove old Vc::try_resolve_* methods in favor of the ResolvedVc alternatives: #89696
    • Fix reset-project script for E2E deploy tests: #89693
    • feat: move font variables to html in create-next-app: #89632
    • reduce the number of shards on small systems: #89731
    • Update Rspack production test manifest: #89701
    • Update Rspack development test manifest: #89702
    • [test] Add regression test for segment cache prefetch memory leak: #89756
    • Improve not-found-with-pages test: #89538
    • Update flakey E2E deploy tests: #89792
    • Update flakey E2E deploy tests no-prefetch: #89799
    • Update Rspack production test manifest: #89741
    • Fix devlow job timeouts: #89804
    • Update Rspack development test manifest: #89740
    • Turbopack Persistence: Improve heuristic for compacted database access: #89497
    • Turbopack: remove ChunkableModuleReference trait: #89745
    • docs: improve Graphite workflow documentation: #89488
    • Remove --turbopack and --webpack flags from create-next-app: #89706
    • Turbopack: make routes hashes mainfest more incremental: #87107
    • [test] Remove references to removed, internal PPR environment variable: #89832
    • [test] Enable scroll related tests in Cache Component tests: #83245
    • docs: update adapter docs for routing, handlers, and PPR: #89849
    • [test] Ensure new deploy test builds have the necessary env variables: #89846
    • test: allow dpl query suffix in scss url-global expectation: #89856
    • test: stabilize app-dir hash navigation RSC assertion: #89867
    • Turbopack: Clean up unused register!() macro argument in test: #89869
    • test: allow query suffix in related media URL e2e assertions: #89872
    • Update Rspack development test manifest: #89811
    • Turbopack: Store task error as pointer to the source error: #89293
    • Turbopack: Pass asset_suffix_path as Vc: #89899
    • [turbopack] Simplify JS ChunkItem with a single impl in most cases: #89548
    • Change UrlBehavior.static_suffix to ResolvedVc<Option<RcStr>>: #89921
    • [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: #89788
    • Turbopack hmr: fix missing factories: #89934
    • Next-api: Check client_source_maps before generate source map: #89915
    • Upgrade to swc 56: #89111
    • Turbopack: fix CSS dependency locations: #89761
    • Enable backtraces in turbopack integration tests: #89935
    • Turbopack: Use std::any::type_name for global naming of turbo-task items: #89874
    • [turbopack] use type_ids to register turbo task traits on value types: #89964
    • Turbopack: Fix flake in task_statistics unit test: #89981
    • Turbopack hmr: preserve group factory consistency for compressed modules: #89976
    • chore: Don't run build-and-deploy CI job on graphite-base branches: #89982
    • Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: #89986
    • test: Isolate read-only-source-hmr test: #86721
    • Upgrade Lightning CSS: #88789
    • fix(turbopack): --debug-build-paths fails with route groups: #89336
    • test: scope e2e timeouts to startup and per-it: #89929
    • Always set adapter deploy env variable: #90064
    • [turbopack] Fix some modification tracking bugs in TaskStorage: #89708
    • bench: render-pipeline benchmarks and stress routes (2/8): #89863
    • [turbopack] fix our verify features in turbo-tasks backend: #90013
    • Refactor factory not available error message generation: #89897
    • [turbopack] Followup for #[derive(ValueToString)]: #89936
    • Revert "[turbopack] Fix some modification tracking bugs in TaskStorage": #90096
    • Disable jest cache for CI instead of wiping: #90097
    • next-stats-action: avoid pnpm EXDEV during stats installs: #90100
    • [turbopack] Run the deployment tests for turbopack and webpack: #84360
    • ci: only cancel pull_request_stats on PR updates: #90104
    • [Instant] test: remove unnecessary reactDebugChannel permutation: #90103
    • [test] Replace flaky webpack snapshots in cache-components-errors: #90105
    • Upgrade to swc 57: #90084
    • [turbopack] Fix concurrent task lock panic during error formatting: #90056
    • Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": #90098
    • refactor: fix non-determinism in resolve package: #90058
    • Update Rspack development test manifest: #90074
    • Update Rspack production test manifest: #90073
    • test: extend production-browser-sourcemaps test: #89945
    • Turbopack: use file_content.hash() consistently: #90078
    • [test] Current behavior of focus after next/link navigation: #89959
    • Turbopack: Enable tree-shaking for dynamic imports with destructuring: #89683
    • test: Don't run integration tests twice for Turbopack : #83335
    • Simplify how json imports work by turning it into a source transform: #89631
    • Update Rspack production test manifest: #90120
    • Update Rspack development test manifest: #90121
    • Turbopack: Update rust toolchain to nightly-2026-02-18: #89974
    • Turbopack: Derive Default on PartialProjectOptions, remove silly partial_project_options_with_debug_build_paths helper: #90170
    • Turbopack: document ModuleSideEffects better: #90132
    • [ci]: pin styled-components version in tests: #90194
    • [turbopack] Add a simple tool to inspect serialized SST files and report on their contents: #89310
    • Upgrade React from 4842fbea-20260217 to 2ba30655-20260219: #90211
    • [test] Improve fetch timeout error stack for act: #90261
    • Turbopack: add Rope.content_hash and SHA hashing: #90235
    • [instant] Handle more instant declaration patterns: #90251
    • [sync-react] Allow syncing React with local build: #90277
    • Add PR tarball install note to stats comment: #90316
    • Bump Turborepo to 2.8.9: #90079
    • Update wasm and next-custom-transforms crates to Rust edition 2024: #90350
    • Turbopack: refactoring to prepare for name mangling: #89406
    • Turbopack: Aggregation update improvements: #90139
    • [ci] Stop linting auto-generated next-swc typings: #90390
    • Add more known folders to is-folder-empty check in create-next-app: #88218
    • [ci] Always upload Turborepo summary artifact: #90441
    • tests: reenable escheck-output: #90423
    • [test] Deflake typed-routes-validator using tsc: #90451
    • test: Cleanup and refactoring: #90454
    • [turbopack] Make compression in SST files optional: #89309
    • [test] Only auto-retry individual e2e tests in CI: #90464
    • Update Rspack production test manifest: #90412
    • Update Rspack development test manifest: #90413
    • Add @next/playwright package with instant() testing helper: #90470
    • [turbopack] Reduce memory usage during compaction: #90229
    • [sync-react] Allow syncing from a React commit: #90283
    • Turbopack: Add line numbers to debug info in release-with-assertions profile: #90474
    • Turbopack: emit env_diff span attribute for update: #90466
    • test: unflake lru-disk-eviction on Windows: #90465
    • test: Improve test assertions to prepare for dpl query string: #90463
    • [test] Fix flaky "delay re-prefetch after revalidation" test: #90503
    • Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#90474)": #90525
    • Bump Turborepo to 2.8.11: #90530
    • Turbopack: Move turbopack out of pnpm build and into a pnpm build-all command: #90543
    • Remove revalidation settling period from router-act: #90531
    • Turbopack: add webpack loader names to traces: #87230
    • Replace mark_root() with #[turbo_tasks::function(root)] flag: #90512
    • [test] Deflake typed-routes-validator: #90562
    • [test] Remove getStackFramesContent: #90571
    • Replace testonly to testheadless in AGENTS.md: #90578
    • [test] Include error code in Redbox snapshot: #90497
    • Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: #90526
    • Turbopack: add Xxh3Hash128Hasher: #90584
    • [test] Fix error code snapshots when testing with React 18: #90593
    • Turbopack: use xxhash3_128 for content hashes: #90583
    • test: remove stray TURBOPACK_BUILD=1: #90602
    • Update Rspack development test manifest: #90566
    • Update Rspack production test manifest: #90565
    • [ci] Use NEXT_TEST_CI instead of CI for e2e test retry guard: #90606
    • [test] Skip failing segment-cache deploy test: #90601
    • turbo-persistence: drop key compression dictionary from SST files: #90608
    • Pre-warm a single NodeJS instance when the next devserver starts: #90174
    • Turbopack server HMR: inline source maps for evaled modules: #90561
    • test: Run Adapter e2e tests with Turbopack instead: #90600
    • Add MemorySample to Turbopack trace infrastructure: #90597
    • Use VisitMut instead of Fold for debug_instant_stack transform: #90274
    • Ensure we only run main test mode with custom deploy script: #90665
    • Centralize test timings to fix shard divergence in CI: #90672
    • tests: Fix immutableAssetToken extraction: #90668
    • turbo-persistence: streaming SST writer for reduced memory usage: #90617
    • Add custom cleanup script support for deploy tests: #90696
    • Use commit-based tarball URL in PR stats comment: #90709
    • [ci] Use commit instead of PR number for preview builds in deploy tests: #90722
    • Fix ENOBUFS errors in pr-status.js when fetching large CI logs: #90654
    • Publish @next/playwright to npm as part of canary releases: #90738
    • Update Rspack development test manifest: #90751
    • Update Rspack production test manifest: #90750
    • Turbopack: improve cell order lint rule for TraitRef::cell: #90756
    • Add determinism test for static shell with asset preload headers: #89826
    • Add static error when unstable_instant is used without cacheComponents: #90793
    • enable server action RDC deploy test: #90796
    • turbo-persistence: StreamingSstWriter performance and readability improvements: #90692
    • pr-status: add reply-thread and resolve-thread subcommands: #90773
    • [turbopack] Don't schedule idle snapshots when we are in a short session: #90804
    • Update Rust dependencies for turbo-persistence and turbo-tasks-backend: #90774
    • Add support for multi-valued tables: #89728
    • pr-status: add --wait flag and background execution for /pr-status command: #90687
    • exempt data URL CSS from Pages Router global CSS restriction: #89901
    • turbo-persistence: add CRC32 block checksums: #90754
    • Remove unused turbo-tasks items and add lint check: #90801
    • Fix missing const generic parameter in turbo-persistence lookup call: #90817
    • Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: #90769
    • Update Rspack development test manifest: #90805
    • Avoid using TaskTypes as keys in storage instead use hashes: #88904
    • Remove leaf segment force-refetch check: #90836
    • [turbopack] add a new hasher implementation to eliminate allocations: #89059
    • Show labeled steps for instant() test helper in the Playwright UI: #90664
    • [turbotask] Make turbotask function registration const: #90797
    • Turbopack: turbofmt/turbobail macros: #90092
    • Add Err(anyhow(... ast-grep rule: #90869
    • Turbopack: allow resolving TS files in tailwind config: #90046
    • Unify Node and Edge externals list: #90819
    • chore: add aurorascharff to devex team labeler config: #90866
    • Update Rspack production test manifest: #90857
    • Update Rspack development test manifest: #90858
    • [ci]: continue-on-error for more gh auth status checks: #90890
    • Cleanup non-generic assertions in our deploy test suite: #90894
    • Turbopack: Tree shaking fixes and code organization: #89295
    • tests: Use pnpm dlx to install latest CLI version: #90923
    • Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: #90792
    • Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: #90839
    • Prefix pr-status replies with :robot: emoji: #90943
    • Set DontFork and Unmergeable on all mmap sites in turbo-persistence: #90941
    • Turbopack: CompileTimeDefineValue numbers and regex: #90934
    • Turbopack: pass reference type to CustomModuleType: #90814
    • Fix preview version in window.next.version for PR builds: #90937
    • [Evals] Standardize Evals in Next.js: #90883
    • TURBOPACK: alias resolve lost query param: #88891
    • Update Rspack development test manifest: #90969
    • Turbopack: Make ReadVcFuture::strongly_consistent private: #90843
    • Fix next-routing header interpolation: #91010
    • Turbopack: accept ChunkGroup in entry_chunk_group: #90821
    • Turbopack: show specific SWC error messages as error titles: #91022
    • Turbopack: correctly use ChunkGroup::Shared: #90978
    • Add script to patch project with preview tarball URLs: #91057
    • Fix pr-status script missing failed jobs on page 2+ of API results: #91087
    • Turbopack: don't panic due to eventual consistency in module merging: #91088
    • fix: run lerna on a branch: #91092
    • Fix preview tarball script to include @next/swc-linux-x64-gnu: #91099
    • Improve unsafe code safety documentation in turbo-tasks-backend: #90755
    • docs(contributing): Update setup in contributing/core/developing.md: #91018
    • Turbopack: Pass hmr_enabled to ImportMetaBinding: #91118
    • docs(turbopack): Copy over turbopack-trace-server docs: #91111
    • Turbopack: introduce ReferenceTypeCondition: #91101
    • fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: #91016
    • Exclude partial fallback for deploy mode: #91163
    • [turbopack] Add support for fixed key blocks: #90844
    • [turbopack] Encode task storage directly during persistence (skip clone): #89412
    • [turbopack] hashing improvements to turbo-persistence: #90936
    • [turbopack] Move empty snapshot filtering into take_snapshot: #90166
    • docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: #91120
    • Add RDC action test to deploy manifest and update PR test trigger: #91173
    • [Turbopack] Don't attempt to compress key blocks containing small keys: #90881
    • Lint against .context(format!(...)): #91122
    • fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: #91107
    • remove worktrees accidentally committed in #90166: #91215
    • Fix syntax contexts in server action transform: #91210
    • docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: #91126
    • TURBOPACK: typescript transform support verbatimModuleSyntax: #90907
    • [ci] Disable test-level retries during flakiness detection: #91261
    • [cna] Bump vendored json-schema-types: #91255
    • Remove sequential madvise for compressed blocks in StaticSortedFile: #91263
    • docs(turbopack): Move mdbook "tasks" docs over to turbo_tasks::function rustdoc: #91132
    • test-new-tests: enable adapter in deploy flow: #91269
    • Revert "Exclude partial fallback for deploy mode": #91172
    • [test] Properly log framereceived payload: #91266
    • docs(turbopack): Merge task input docs from mdbook into rustdocs: #91136
    • bundle-analyzer: merge _app route modules into current route visualization: #90841
    • docs(turbopack): Migrate docs about traits from mdbook to rustdocs: #91170
    • Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: #91284
    • docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: #91175
    • Turbopack: rename CSS module structs for clarity: #91304
    • [test] Deflake instant-navs-devtools: #91256
    • Delete blob files during compaction when entries are superseded: #91314
    • [test] Resolve stale merge issues: #91329
    • Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: #91223
    • re-enable RDC deployment tests: #91327
    • Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: #91306
    • [test] Show decoded binary WebSocket messages in traces: #91308
    • Docs skills: guide and api-reference: #90992
    • Turbopack: switch chunk/asset hashes from hex to base40 encoding: #91137
    • Turbopack: don't emit polyfill chunk for API routes: #91331
    • [test] Current behavior for request APIs in generateStaticParams: #91188
    • Update Rspack production test manifest: #91301
    • Update Rspack development test manifest: #91300
    • Turbopack: Remove old macos-compress script: #90967
    • disable sub shell generation test outside of adapter: #91353
    • Turboopack: put import attributes behind a pointer, 23% faster analyze: #91347
    • Turbopack: require(/* turbopackChunkingType: parallel */: #91278
    • Turbopack: use keyed cell access for AsyncModulesInfo: #91305
    • Enable thin LTO for release builds: #91343
    • [turbopack] const-ify most of the registration code: #90868
    • [test] Improve actions-tree-shaking tests: #91326
    • Move database compaction from write batch commit to backend idle loop: #91258
    • Turbopack: use ChunkGroupEntry::Shared, part 2: #91279
    • [test] More instant-navs-devtools deflaking: #91345
    • Turbopack: Enable server HMR by default for app pages: #91476
    • Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: #91479
    • Fix DataUriSource description to include "data:" prefix: #91455
    • Deflake per-page dynamic stale time test: #91492
    • Improve RSC error messages: #90702
    • Improve CSS parse error recovery and reporting: #90025
    • perf(turbopack-node): zero-copy Buffer transfer from node to rust: #91376
    • docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: #91350
    • Turbopack: correctly apply effects for issue snapshots: #91511
    • Turbopack: treat unknown CSS selectors as warnings: #91513
    • docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: #91472
    • Skip catch-error-react-compiler test to unblock CI: #91528
    • [turbopack] update qfilter to 0.3.0-alpha: #91467
    • Unflake two "use cache" tests: #91529
    • docs(turbopack): Remove old architecture.md file from turbopack crate: #91473
    • [turbopack] Share scratch buffer across shards using thread local: #90167
    • Turbopack: Use debug = "line-tables-only" for dev builds: #91539
    • Unflake router events deploy test: #91589

    Credits

    Huge thanks to @icyJoseph, @nextjs-bot, @sokra, @Juneezee, @delbaoliveira, @wbinnssmith, @ztanner, @lukesandberg, @bgw, @naveenkarmegam, @Marukome0743, @pji2918, @nathannewyen, @eps1lon, @ijjk, @feedthejim, @vercel-release-bot, @xusd320, @huozhi, @mischnic, @wyattjoh, @styfle, @timneutkens, @unstubbable, @lubieowoce, @gnoff, @acdlite, @Rani367, @andrewimm, @brookemosby, @karlhorky, @kdy1, @mmastrac, @naaa760, @jgeschwendt, @williambout, @SimeonGriggs, @gaojude, @hanzala-sohrab, @dango0812, @msmx-mnakagawa, @davidgolden, @LucianBuzzo, @devjiwonchoi, @alexcarpenter, @jaffarkeikei, @BradErz, @mintydev789, @Suhaib3100, @pavan-sh, @amannn, @fireairforce, @JamBalaya56562, @wheresrhys, @ericrav, @Thomas465xd, @bgub, @Netail, @robert-j-webb, @bencmbrook, @shadcn, @sigmachirality, @abhishekmardiya, @vvscode, @freek-boon-greenberry, @alubbe, @FurryR, @01-binary, @andrewdamelio, @swarnava, @kristiyan-velkov, @haydenbleasel, @rishishanbhag, @tdarthur, @lavanitha, @agneliutkiene, @Mimori256, @pieh, @sleitor, @jantimon, @clicktodev, @mitul-s, @aurorascharff, @shuding, @jonasherr, @thdxg, @kowyo, @samselikoff, @dependabot, @benfavre, @zamadye, @cursor, and @richardjzhang for helping!

    Open source →
  35. 16.2.0-canary.10418 Mar 2026pre-release
    Release notes

    Core Changes

    • Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #91530
    • improve allowedDevOrigins error: #91521
    • Add group depth tracking to instant validation boundary discovery: #91208

    Misc Changes

    • [turbopack] Share scratch buffer across shards using thread local: #90167
    • Turbopack: Use debug = "line-tables-only" for dev builds: #91539
    • SRI turbopack documentation: #90477

    Credits

    Huge thanks to @lukesandberg, @bgw, @ztanner, @gnoff, and @richardjzhang for helping!

    Open source →
  36. 16.2.0-canary.10317 Mar 2026pre-release
    Release notes

    Core Changes

    • Error when accessing undefined root params in generateStaticParams: #91519
    • Buffer prefetch response before passing to Flight client: #91487
    • [Segment Cache] Always upsert on prefetch completion: #91488
    • Track vary params during runtime prefetches: #89297
    • [react-sync] Allow locking in manual sync: #91509
    • Remove devCacheControlNoCache experimental option (hard-code no-cache): #91503
    • fix allowedDevOrigins for no-cors requests: #91506
    • Remove webpack stats generation from Turbopack: #91515
    • Upgrade React from c80a0750-20260312 to 3f0b9e61-20260317: #91522
    • Move adapterPath from experimental to stable top-level config: #91535
    • block disallowed dev origins by default: #91507

    Misc Changes

    • perf(turbopack-node): zero-copy Buffer transfer from node to rust: #91376
    • docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: #91350
    • Turbopack: correctly apply effects for issue snapshots: #91511
    • Turbopack: treat unknown CSS selectors as warnings: #91513
    • docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: #91472
    • Skip catch-error-react-compiler test to unblock CI: #91528
    • [turbopack] update qfilter to 0.3.0-alpha: #91467
    • Unflake two "use cache" tests: #91529
    • docs(turbopack): Remove old architecture.md file from turbopack crate: #91473

    Credits

    Huge thanks to @xusd320, @bgw, @mischnic, @unstubbable, @acdlite, @eps1lon, @devjiwonchoi, @lukesandberg, @sokra, @ztanner, and @timneutkens for helping!

    Open source →
  37. 16.2.0-canary.10217 Mar 2026pre-release
    Release notes

    Core Changes

    • docs(turbopack): Fix all warnings in cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #91339
    • Patch improvements into http-proxy lib: #91480
    • Disallow Server Action submissions from privacy-sensitive contexts: #91478
    • Fix startup warmup for empty-shell app route cache: #91470
    • Fix unstable_catchError type inference for fallback props: #91485
    • Support accessing root params in "use cache" functions: #91191
    • Fix inconsistent cache life/tags propagation for cache handler hits: #91454
    • Upgrade React from 5e9eedb5-20260312 to c80a0750-20260312: #91324

    Misc Changes

    • Turbopack: Enable server HMR by default for app pages: #91476
    • Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: #91479
    • Fix DataUriSource description to include "data:" prefix: #91455
    • Deflake per-page dynamic stale time test: #91492
    • Improve RSC error messages: #90702
    • docs: unstable_catchError(): #89847
    • Improve CSS parse error recovery and reporting: #90025

    Credits

    Huge thanks to @wbinnssmith, @bgw, @ztanner, @gnoff, @sokra, @devjiwonchoi, @unstubbable, and @acdlite for helping!

    Open source →
  38. 16.2.0-canary.10116 Mar 2026pre-release

    Nothing published for this version

  39. 16.2.0-canary.10015 Mar 2026pre-release
    Release notes

    Core Changes

    • fix: test-cargo-unit CI job timing out since LTO was enabled: #91424

    Credits

    Huge thanks to @lukesandberg for helping!

    Open source →
  40. 16.2.0-canary.9914 Mar 2026pre-release
    Release notes

    Core Changes

    • Add eval and docs for unstable_instant: #91334
    • Simplify scroll restoration with shared ScrollRef on CacheNode: #91348

    Misc Changes

    • disable sub shell generation test outside of adapter: #91353
    • Turboopack: put import attributes behind a pointer, 23% faster analyze: #91347
    • Turbopack: require(/* turbopackChunkingType: parallel */: #91278
    • Turbopack: use keyed cell access for AsyncModulesInfo: #91305
    • Enable thin LTO for release builds: #91343
    • [turbopack] const-ify most of the registration code: #90868

    Credits

    Huge thanks to @gaojude, @ztanner, @mischnic, @acdlite, @sokra, and @mmastrac for helping!

    Open source →
  41. 16.2.0-canary.9814 Mar 2026pre-release
    Release notes

    Core Changes

    • partial fallbacks: only upgrade shells with remaining prerenderable params: #91158
    • partial fallbacks: complete generic shells into more specific shells: #91231

    Misc Changes

    • Turbopack: Remove old macos-compress script: #90967
    • docs: remove incorrect _document.tsx font example: #91346

    Credits

    Huge thanks to @bgw, @ztanner, and @zamadye for helping!

    Open source →
  42. 16.2.0-canary.9713 Mar 2026pre-release
    Release notes

    Core Changes

    • Expose edge runtime fields in build-complete: #91239
    • [turbopack] Remove turbo_tasks::function from ModuleReference getters: #91229
    • [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #90949

    Misc Changes

    • re-enable RDC deployment tests: #91327
    • Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: #91306
    • [test] Show decoded binary WebSocket messages in traces: #91308
    • Docs skills: guide and api-reference: #90992
    • Turbopack: switch chunk/asset hashes from hex to base40 encoding: #91137
    • Turbopack: don't emit polyfill chunk for API routes: #91331
    • [test] Current behavior for request APIs in generateStaticParams: #91188
    • Update Rspack production test manifest: #91301
    • Update Rspack development test manifest: #91300

    Credits

    Huge thanks to @ztanner, @ijjk, @sokra, @lukesandberg, @eps1lon, @delbaoliveira, @mischnic, @unstubbable, @vercel-release-bot, and @wbinnssmith for helping!

    Open source →
  43. 16.2.0-canary.9613 Mar 2026pre-release
    Release notes

    Core Changes

    • perf: use Buffer.from for base64 encoding of binary Flight data: #91221
    • Skip dimming when --inspect is used: #91271
    • Respect generateStaticParams in instant navigation shell: #91316
    • [Prefetch Inlining] Generate size-based hints on server: #90891
    • Wire cache handlers in edge paths and add e2e regression coverage: #91236

    Misc Changes

    • docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: #91175
    • Docs: Split route segment config options into their own files: #90991
    • Turbopack: rename CSS module structs for clarity: #91304
    • [test] Deflake instant-navs-devtools: #91256
    • Expose resolved invocation targets in next-routing: #91242
    • Delete blob files during compaction when entries are superseded: #91314
    • [test] Resolve stale merge issues: #91329
    • Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: #91223

    Credits

    Huge thanks to @bgw, @delbaoliveira, @benfavre, @unstubbable, @mischnic, @acdlite, @eps1lon, @ijjk, and @sokra for helping!

    Open source →
  44. 16.2.0-canary.9512 Mar 2026pre-release
    Release notes

    Core Changes

    • chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #91233
    • Upgrade React from 46103596-20260305 to 5e9eedb5-20260312: #91272
    • feat(server): expose requestMeta router helpers and merge fallback context: #91235
    • [Instant] Show owner stack for validation-blocking errors: #91277
    • Hydrate page loads during instant navigation testing: #91207

    Misc Changes

    • docs(turbopack): Move mdbook "tasks" docs over to turbo_tasks::function rustdoc: #91132
    • test-new-tests: enable adapter in deploy flow: #91269
    • Revert "Exclude partial fallback for deploy mode": #91172
    • [test] Properly log framereceived payload: #91266
    • docs(turbopack): Merge task input docs from mdbook into rustdocs: #91136
    • bundle-analyzer: merge _app route modules into current route visualization: #90841
    • docs(turbopack): Migrate docs about traits from mdbook to rustdocs: #91170
    • Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: #91284

    Credits

    Huge thanks to @bgw, @ijjk, @ztanner, @eps1lon, @lubieowoce, @wbinnssmith, @acdlite, and @lukesandberg for helping!

    Open source →
  45. 16.2.0-canary.9412 Mar 2026pre-release
    Release notes

    Core Changes

    • [cna] Bump picocolors to 1.1.1: #91252
    • [Instant] Build-time validation: #90964
    • [Instant] fix instant config suggested by editor plugin: #91262

    Misc Changes

    • TURBOPACK: typescript transform support verbatimModuleSyntax: #90907
    • [ci] Disable test-level retries during flakiness detection: #91261
    • [cna] Bump vendored json-schema-types: #91255
    • Remove sequential madvise for compressed blocks in StaticSortedFile: #91263

    Credits

    Huge thanks to @fireairforce, @eps1lon, @lubieowoce, and @sokra for helping!

    Open source →
  46. 16.2.0-canary.9311 Mar 2026pre-release
    Release notes

    Core Changes

    • Adds a Start button to the Instant Navs panel to initiate inspection …: #91216
    • Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #91213

    Misc Changes

    • fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: #91107
    • remove worktrees accidentally committed in #90166: #91215
    • Fix syntax contexts in server action transform: #91210
    • docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: #91126

    Credits

    Huge thanks to @xusd320, @samselikoff, @lukesandberg, @mischnic, @bgw, and @ijjk for helping!

    Open source →
  47. 16.2.0-canary.9211 Mar 2026pre-release
    Release notes

    Core Changes

    • [turbopack] Render code frames on the turbopack side: #90534
    • Add experimental.lightningCssFeatures config option: #90901
    • fix: correct appPaths sort order for parallel routes with route groups: #91160
    • Tracing: tag spans as failed if their runner fn fails: #91206

    Misc Changes

    • [turbopack] hashing improvements to turbo-persistence: #90936
    • [turbopack] Move empty snapshot filtering into take_snapshot: #90166
    • docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: #91120
    • Add RDC action test to deploy manifest and update PR test trigger: #91173
    • [Turbopack] Don't attempt to compress key blocks containing small keys: #90881
    • Lint against .context(format!(...)): #91122

    Credits

    Huge thanks to @lukesandberg, @bgw, @ijjk, @sokra, @mischnic, @timneutkens, and @wbinnssmith for helping!

    Open source →
  48. 16.2.0-canary.9110 Mar 2026pre-release
    Release notes

    Misc Changes

    • [turbopack] Add support for fixed key blocks: #90844
    • [turbopack] Encode task storage directly during persistence (skip clone): #89412

    Credits

    Huge thanks to @lukesandberg for helping!

    Open source →
  49. 16.2.0-canary.9010 Mar 2026pre-release
    Release notes

    Core Changes

    • fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #90556
    • Revert "Address review feedback: extract modules, clean up imports": #91159

    Misc Changes

    • fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: #91016
    • Exclude partial fallback for deploy mode: #91163
    • docs: More Server Actions security guidance across docs: #90878
    • docs: Streaming guide: #90779

    Credits

    Huge thanks to @bgw, @ijjk, @sleitor, and @icyJoseph for helping!

    Open source →
  50. 16.2.0-canary.8910 Mar 2026pre-release
    Release notes

    Core Changes

    • Updates to Instant Navs devtools functionality: #91005
    • Trace upload: add git and environment info: #91124

    Misc Changes

    • chore(docs): mention behavior of redirects and remotePatterns: #91151

    Credits

    Huge thanks to @samselikoff, @styfle, and @wbinnssmith for helping!

    Open source →
  51. 16.2.0-canary.8810 Mar 2026pre-release
    Release notes

    Misc Changes

    • Turbopack: introduce ReferenceTypeCondition: #91101

    Credits

    Huge thanks to @mischnic for helping!

    Open source →
  52. 16.2.0-canary.8610 Mar 2026pre-release
    Release notes

    Core Changes

    • Improve webpack loader error messages and handling: #89698
    • Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #90443
    • partial fallbacks: gate behind experimental flag: #91123
    • fix: app-page URL normalization: #91121

    Example Changes

    • example: remove duplicate items in .dockerignore: #91079

    Misc Changes

    • Turbopack: show specific SWC error messages as error titles: #91022
    • Turbopack: correctly use ChunkGroup::Shared: #90978
    • Add script to patch project with preview tarball URLs: #91057
    • Fix pr-status script missing failed jobs on page 2+ of API results: #91087
    • Turbopack: don't panic due to eventual consistency in module merging: #91088
    • fix: run lerna on a branch: #91092
    • docs(localFont): enhance details about using the localFont function: #88189
    • Fix preview tarball script to include @next/swc-linux-x64-gnu: #91099
    • Improve unsafe code safety documentation in turbo-tasks-backend: #90755
    • docs(contributing): Update setup in contributing/core/developing.md: #91018
    • Turbopack: Pass hmr_enabled to ImportMetaBinding: #91118

    Credits

    Huge thanks to @sokra, @mischnic, @icyJoseph, @thdxg, @kowyo, @bgw, @wbinnssmith, and @ztanner for helping!

    Open source →
  53. 16.2.0-canary.857 Mar 2026pre-release
    Release notes

    Misc Changes

    • docs: large page data error: #90920
    • Fix next-routing header interpolation: #91010
    • Turbopack: accept ChunkGroup in entry_chunk_group: #90821

    Credits

    Huge thanks to @icyJoseph, @ijjk, and @mischnic for helping!

    Open source →
  54. 16.2.0-canary.846 Mar 2026pre-release
    Release notes

    Core Changes

    • Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #90996
    • Upgrade React from 3bc2d414-20260304 to 46103596-20260305: #90989
    • fix: trigger MPA navigation for server action redirects with build ID mismatch: #89946

    Misc Changes

    • Update Rspack development test manifest: #90969
    • Turbopack: Make ReadVcFuture::strongly_consistent private: #90843
    • Update adapters documentation: #90986

    Credits

    Huge thanks to @vercel-release-bot, @bgw, @gaojude, @timneutkens, and @jonasherr for helping!

    Open source →
  55. 16.2.0-canary.836 Mar 2026pre-release
    Release notes

    Core Changes

    • Rewrite instant validation to use depth-based URL boundary discovery: #90905
    • Add experimental.cachedNavigations feature flag: #90928
    • preserve allowQuery for partial fallback shells: #90887
    • Cache runtime data for partially static pages on initial load (resume): #90888
    • re-introduce partial fallback -> route upgrading: #89063
    • fix: Don't fall through to catch-all when static child subtree doesn't match: #90957

    Misc Changes

    • Turbopack: CompileTimeDefineValue numbers and regex: #90934
    • Turbopack: pass reference type to CustomModuleType: #90814
    • Fix preview version in window.next.version for PR builds: #90937
    • docs: explain deploy test custom scripts: #90966
    • [Evals] Standardize Evals in Next.js: #90883
    • TURBOPACK: alias resolve lost query param: #88891

    Credits

    Huge thanks to @gnoff, @mischnic, @unstubbable, @ijjk, @ztanner, @gaojude, @fireairforce, and @acdlite for helping!

    Open source →
  56. 16.2.0-canary.826 Mar 2026pre-release
    Release notes

    Misc Changes

    • Set DontFork and Unmergeable on all mmap sites in turbo-persistence: #90941

    Credits

    Huge thanks to @sokra for helping!

    Open source →
  57. 16.2.0-canary.815 Mar 2026pre-release
    Release notes

    Core Changes

    • Add trace spans for turbopack persistence in .next/trace: #90397
    • Upgrade React from 4cc5b7a9-20260303 to 3bc2d414-20260304: #90876
    • Fix prefetch inlining build failure with dynamic routes: #90899
    • Update @vercel/og and satori vendors: #90933
    • Batch require cache deletion to avoid quadratic scanning: #90625
    • Revert legacy PPR removal: #90948

    Misc Changes

    • Cleanup non-generic assertions in our deploy test suite: #90894
    • Turbopack: Tree shaking fixes and code organization: #89295
    • Loading layout docs update: #90787
    • Uncached data suspense issue: #90450
    • tests: Use pnpm dlx to install latest CLI version: #90923
    • Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: #90792
    • Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: #90839
    • Prefix pr-status replies with :robot: emoji: #90943

    Credits

    Huge thanks to @ijjk, @lukesandberg, @sokra, @feedthejim, @icyJoseph, @mischnic, @acdlite, @shuding, @bgw, and @unstubbable for helping!

    Open source →
  58. 16.2.0-canary.804 Mar 2026pre-release
    Release notes

    Core Changes

    • Address review feedback: extract modules, clean up imports: #90813

    Credits

    Huge thanks to @sokra for helping!

    Open source →
  59. 16.2.0-canary.794 Mar 2026pre-release
    Release notes

    Core Changes

    • partial fallbacks: add adapter flag: #90395

    Misc Changes

    • [ci]: continue-on-error for more gh auth status checks: #90890

    Credits

    Huge thanks to @ztanner for helping!

    Open source →
  60. 16.2.0-canary.784 Mar 2026pre-release
    Release notes

    Core Changes

    • Replace PPR config helpers with cacheComponents checks: #90704
    • Cached Navigations: Cache visited fully static pages in the segment cache: #90306
    • Remove isRoutePPREnabled from render options and delete dead PPR branch: #90713
    • Use page extensions in next-swc transforms applying to pages: #90650
    • Cached Navigations: Cache static stage of partially static initial HTML: #90539
    • Remove PrerenderStorePPR type and all prerender-ppr switch cases: #90721
    • Clean up legacy PPR references in test fixtures: #90725
    • Cached Navigations: Cache runtime stage data from navigation requests: #90666
    • Remove legacy PPR postpone cluster: #90726

    Misc Changes

    • [turbotask] Make turbotask function registration const: #90797
    • Turbopack: turbofmt/turbobail macros: #90092
    • Add Err(anyhow(... ast-grep rule: #90869
    • Turbopack: allow resolving TS files in tailwind config: #90046
    • Unify Node and Edge externals list: #90819
    • chore: add aurorascharff to devex team labeler config: #90866
    • Update Rspack production test manifest: #90857
    • Update Rspack development test manifest: #90858

    Credits

    Huge thanks to @mmastrac, @devjiwonchoi, @unstubbable, @eps1lon, @mischnic, @aurorascharff, and @vercel-release-bot for helping!

    Open source →