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.0-canary.774 Mar 2026pre-release
    Release notes

    Core Changes

    • Update default error pages: #90469

    Misc Changes

    • [turbopack] add a new hasher implementation to eliminate allocations: #89059
    • update proxy docs to use NextProxy type: #90647
    • Show labeled steps for instant() test helper in the Playwright UI: #90664

    Credits

    Huge thanks to @lukesandberg, @clicktodev, @mitul-s, and @unstubbable for helping!

    Open source →
  2. 16.2.0-canary.764 Mar 2026pre-release

    Nothing published for this version

  3. 16.2.0-canary.753 Mar 2026pre-release
    Release notes

    Misc Changes

    • Update Rspack development test manifest: #90805
    • Avoid using TaskTypes as keys in storage instead use hashes: #88904
    • Remove leaf segment force-refetch check: #90836

    Credits

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

    Open source →
  4. 16.2.0-canary.743 Mar 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • 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
    • Unify caching story across the docs: #90149
    • Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: #90769

    Credits

    Huge thanks to @sokra, @lukesandberg, @delbaoliveira, @eps1lon, and @huozhi for helping!

    Open source →
  5. 16.2.0-canary.733 Mar 2026pre-release
    Release notes

    Core Changes

    • Stub adapterPath with experimental.runtimeServerDeploymentId: #90790
    • Conditionally load uncommon paths: #90514

    Misc Changes

    • 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
    • Create next app CLI docs: #90788
    • 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

    Credits

    Huge thanks to @gnoff, @ztanner, @sokra, @lukesandberg, @mischnic, @icyJoseph, @jantimon, and @timneutkens for helping!

    Open source →
  6. 16.2.0-canary.722 Mar 2026pre-release
    Release notes

    Core Changes

    • docs: error component unstable_retry(): #89732

    Misc Changes

    • 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

    Credits

    Huge thanks to @devjiwonchoi, @vercel-release-bot, and @mischnic for helping!

    Open source →
  7. 16.2.0-canary.712 Mar 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • with-docker: add new config file formats: #90731

    Misc Changes

    • Fix ENOBUFS errors in pr-status.js when fetching large CI logs: #90654
    • docs: clarify native <script> usage for JSON-LD in docs: #90380
    • Publish @next/playwright to npm as part of canary releases: #90738

    Credits

    Huge thanks to @sokra, @sleitor, @mischnic, @karlhorky, @abhishekmardiya, @acdlite, @timneutkens, and @eps1lon for helping!

    Open source →
  8. 16.2.0-canary.701 Mar 2026pre-release
    Release notes

    Core Changes

    • [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

    Misc Changes

    • Use commit-based tarball URL in PR stats comment: #90709
    • [ci] Use commit instead of PR number for preview builds in deploy tests: #90722

    Credits

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

    Open source →
  9. 16.2.0-canary.6928 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • turbo-persistence: streaming SST writer for reduced memory usage: #90617
    • Add custom cleanup script support for deploy tests: #90696

    Credits

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

    Open source →
  10. 16.2.0-canary.6828 Feb 2026pre-release
    Release notes

    Core Changes

    • Turbopack: restrict server HMR to app pages: #90663

    Misc Changes

    • Centralize test timings to fix shard divergence in CI: #90672
    • tests: Fix immutableAssetToken extraction: #90668

    Credits

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

    Open source →
  11. 16.2.0-canary.6727 Feb 2026pre-release
    Release notes

    Misc Changes

    • Ensure we only run main test mode with custom deploy script: #90665

    Credits

    Huge thanks to @ijjk for helping!

    Open source →
  12. 16.2.0-canary.6627 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • example: restore .next handling for with-docker examples: #90651

    Misc Changes

    • test: Run Adapter e2e tests with Turbopack instead: #90600
    • Add MemorySample to Turbopack trace infrastructure: #90597
    • docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #90246
    • Use VisitMut instead of Fold for debug_instant_stack transform: #90274
    • docs: fix navigationType value and variable name in useReportWebVitals: #90599
    • Accept header content negotiation: #90607

    Credits

    Huge thanks to @xusd320, @mischnic, @eps1lon, @sokra, @agneliutkiene, @Mimori256, @icyJoseph, and @lubieowoce for helping!

    Open source →
  13. 16.2.0-canary.6527 Feb 2026pre-release
    Release notes

    Core Changes

    • Turbopack: Panic if a top-level task attempts an eventually consistent read: #89735
    • Fix middleware case with adapters: #90624

    Misc Changes

    • Turbopack server HMR: inline source maps for evaled modules: #90561

    Credits

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

    Open source →
  14. 16.2.0-canary.6426 Feb 2026pre-release
    Release notes

    Core Changes

    • Fix edge index page _next/data route: #90611
    • Turbopack server hmr: Implement restart event: #90550

    Misc Changes

    • Pre-warm a single NodeJS instance when the next devserver starts: #90174

    Credits

    Huge thanks to @ijjk, @andrewimm, and @wbinnssmith for helping!

    Open source →
  15. 16.2.0-canary.6326 Feb 2026pre-release
    Release notes

    Core Changes

    • [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

    Example Changes

    • docs: add Docker Standalone and Docker Export examples to Deploying page: #90386

    Misc Changes

    • [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
    • feat: Join guides and frame around UI preservation: #90595
    • 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

    Credits

    Huge thanks to @eps1lon, @devjiwonchoi, @mischnic, @kristiyan-velkov, @sokra, @icyJoseph, @vercel-release-bot, @unstubbable, and @lukesandberg for helping!

    Open source →
  16. 16.2.0-canary.6225 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • 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

    Credits

    Huge thanks to @mischnic, @timneutkens, @acdlite, @unstubbable, @bgw, @lubieowoce, @eps1lon, and @devjiwonchoi for helping!

    Open source →
  17. 16.2.0-canary.6125 Feb 2026pre-release
    Release notes

    Core Changes

    • Fix params leaking into instant navigation shell in dev: #90455
    • Limit build workers to pages+1: #90475

    Misc Changes

    • 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

    Credits

    Huge thanks to @vercel-release-bot, @acdlite, @lukesandberg, @eps1lon, @bgw, @mischnic, and @andrewimm for helping!

    Open source →
  18. 16.2.0-canary.6024 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • docs: improve form guide consistency and validation examples: #90361
    • Add more known folders to is-folder-empty check in create-next-app: #88218
    • docs: rework version staleness: #90192
    • [ci] Always upload Turborepo summary artifact: #90441
    • tests: reenable escheck-output: #90423
    • docs: clarify that next upgrade is for 16.1.x+: #90435
    • Add not-found.js / notFound() links to Status Codes section: #88332
    • [test] Deflake typed-routes-validator using tsc: #90451
    • docs: update with more patterns and decision based: #90203
    • test: Cleanup and refactoring: #90454
    • [turbopack] Make compression in SST files optional: #89309
    • [test] Only auto-retry individual e2e tests in CI: #90464

    Credits

    Huge thanks to @acdlite, @lavanitha, @timneutkens, @eps1lon, @icyJoseph, @mischnic, @karlhorky, @lubieowoce, @wbinnssmith, @lukesandberg, and @unstubbable for helping!

    Open source →
  19. 16.2.0-canary.5923 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Bump Turborepo to 2.8.9: #90079
    • In-Depth Explanation of React Version Handling Doc: #89426
    • 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
    • Next.js sticky scroll standards: #90197
    • [ci] Stop linting auto-generated next-swc typings: #90390
    • docs: fixes typo in manifest.mdx regarding Route Handler note: #90394

    Credits

    Huge thanks to @mischnic, @abhishekmardiya, @lukesandberg, @feedthejim, @eps1lon, @mmastrac, @sokra, @rishishanbhag, and @tdarthur for helping!

    Open source →
  20. 16.2.0-canary.5822 Feb 2026pre-release
    Release notes

    Core Changes

    • Fix route.replace crash with --debug-build-paths: #90312

    Misc Changes

    • Add PR tarball install note to stats comment: #90316

    Credits

    Huge thanks to @devjiwonchoi for helping!

    Open source →
  21. 16.2.0-canary.5721 Feb 2026pre-release
    Release notes

    Core Changes

    • Turbopack: support Subresource Integrity : #90152
    • segment cache: add test for passing unawaited promise to context provider: #89339

    Credits

    Huge thanks to @mischnic and @ztanner for helping!

    Open source →
  22. 16.2.0-canary.5621 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • Migrate from react-markdown to Streamdown static in EdgeDB example: #86435

    Misc Changes

    • [sync-react] Allow syncing React with local build: #90277

    Credits

    Huge thanks to @haydenbleasel, @unstubbable, @gnoff, and @eps1lon for helping!

    Open source →
  23. 16.2.0-canary.5520 Feb 2026pre-release
    Release notes

    Core Changes

    • Revert "Handle null history.state in client-side router popstate handler": #90268
    • [devtools] Omit empty looking error messages: #90256

    Misc Changes

    • [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

    Credits

    Huge thanks to @unstubbable, @mischnic, @ztanner, and @eps1lon for helping!

    Open source →
  24. 16.2.0-canary.5420 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • [feat] Added Docker examples for standalone output and export output following best practices: #87069

    Credits

    Huge thanks to @kristiyan-velkov, @mischnic, @gnoff, @lubieowoce, @acdlite, @eps1lon, and @styfle for helping!

    Open source →
  25. 16.2.0-canary.5320 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • [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

    Credits

    Huge thanks to @ijjk, @lukesandberg, @eps1lon, @acdlite, @gnoff, and @lubieowoce for helping!

    Open source →
  26. 16.2.0-canary.5219 Feb 2026pre-release
    Release notes

    Core Changes

    • [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

    Misc Changes

    • 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

    Credits

    Huge thanks to @bgw, @unstubbable, @mischnic, @feedthejim, @sokra, @ztanner, and @ijjk for helping!

    Open source →
  27. 16.2.0-canary.5118 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • 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

    Credits

    Huge thanks to @lukesandberg, @vercel-release-bot, @ztanner, @timneutkens, @mischnic, @gaojude, @eps1lon, @sokra, and @gnoff for helping!

    Open source →
  28. 16.2.0-canary.5018 Feb 2026pre-release
    Release notes

    Core Changes

    • [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

    Misc Changes

    • [turbopack] Fix concurrent task lock panic during error formatting: #90056
    • Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": #90098

    Credits

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

    Open source →
  29. 16.2.0-canary.4917 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • [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

    Credits

    Huge thanks to @gnoff, @sokra, @lukesandberg, @feedthejim, @timneutkens, @mmastrac, @ijjk, @lubieowoce, @unstubbable, @acdlite, and @mischnic for helping!

    Open source →
  30. 16.2.0-canary.4817 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • test: scope e2e timeouts to startup and per-it: #89929
    • Always set adapter deploy env variable: #90064

    Credits

    Huge thanks to @acdlite, @ijjk, and @gnoff for helping!

    Open source →
  31. 16.2.0-canary.4716 Feb 2026pre-release
    Release notes

    Core Changes

    • docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #89857

    Misc Changes

    • Upgrade Lightning CSS: #88789
    • fix(turbopack): --debug-build-paths fails with route groups: #89336
    • docs: clarify async instrumentation register request : #90039
    • Add AGENTS.md and bundled docs guide: #89973

    Credits

    Huge thanks to @mischnic, @devjiwonchoi, @swarnava, @feedthejim, and @gaojude for helping!

    Open source →
  32. 16.2.0-canary.4614 Feb 2026pre-release
    Release notes

    Core Changes

    • [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

    Misc Changes

    • docs: fix broken blockquote formatting in API Routes page: #89966
    • Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: #89986
    • test: Isolate read-only-source-hmr test: #86721

    Credits

    Huge thanks to @andrewdamelio, @bgw, @mischnic, @eps1lon, and @devjiwonchoi for helping!

    Open source →
  33. 16.2.0-canary.4513 Feb 2026pre-release
    Release notes

    Misc Changes

    • chore: Don't run build-and-deploy CI job on graphite-base branches: #89982

    Credits

    Huge thanks to @bgw for helping!

    Open source →
  34. 16.2.0-canary.4313 Feb 2026pre-release
    Release notes

    Core Changes

    • Fix parallel routes with deferred entries: #89967

    Misc Changes

    • Turbopack: Add inline loader configuration via import attributes: #89644
    • Turbopack: Use std::any::type_name for global naming of turbo-task items: #89874

    Credits

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

    Open source →
  35. 16.2.0-canary.4213 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Next-api: Check client_source_maps before generate source map: #89915
    • docs: improve next/image localPatterns error page: #89914
    • docs: inline-css dev-action oriented: #89064
    • Upgrade to swc 56: #89111
    • Turbopack: fix CSS dependency locations: #89761
    • docs: document cacheLife expire omission behavior and fix default preset value: #89913
    • docs: Activity boundary guide: #89126
    • Enable backtraces in turbopack integration tests: #89935

    Credits

    Huge thanks to @FurryR, @icyJoseph, @mischnic, @01-binary, @lukesandberg, @sokra, and @unstubbable for helping!

    Open source →
  36. 16.2.0-canary.4113 Feb 2026pre-release
    Release notes

    Misc Changes

    • docs: adapterPath amends: #89930
    • [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: #89788
    • Turbopack hmr: fix missing factories: #89934

    Credits

    Huge thanks to @icyJoseph, @mmastrac, and @wbinnssmith for helping!

    Open source →
  37. 16.2.0-canary.4012 Feb 2026pre-release
    Release notes

    Core Changes

    • Upgrade React from 272441a9-20260209 to 6066c782-20260212: #89923
    • Add a better error message for when turbopack cannot be loaded: #89633

    Credits

    Huge thanks to @lukesandberg for helping!

    Open source →
  38. 16.2.0-canary.3912 Feb 2026pre-release
    Release notes

    Core Changes

    • [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

    Misc Changes

    • Change UrlBehavior.static_suffix to ResolvedVc<Option<RcStr>>: #89921

    Credits

    Huge thanks to @lukesandberg, @lubieowoce, @alubbe, and @wbinnssmith for helping!

    Open source →
  39. 16.2.0-canary.3812 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • After() docs requests API: #89837
    • docs: Move browserToTerminal into logging: #88901
    • Update documentation to explain behavior in a Catch-all route: #89742
    • 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
    • docs: add deploymentId config and clarify encryption key for self-hosting: #89795
    • Turbopack: Pass asset_suffix_path as Vc: #89899
    • [turbopack] Simplify JS ChunkItem with a single impl in most cases: #89548

    Credits

    Huge thanks to @feedthejim, @icyJoseph, @freek-boon-greenberry, @andrewimm, @ijjk, @vercel-release-bot, @sokra, @eps1lon, and @mmastrac for helping!

    Open source →
  40. 16.2.0-canary.3711 Feb 2026pre-release
    Release notes

    Core Changes

    • [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #89850
    • Turbopack: Implement server hmr in nodejs dev runtime: #89130

    Misc Changes

    • docs: adapt lead to source path patterns: #89392
    • docs: Papercuts Feb26: #89484
    • [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

    Credits

    Huge thanks to @icyJoseph, @eps1lon, @gaojude, @ijjk, @wbinnssmith, and @bgw for helping!

    Open source →
  41. 16.2.0-canary.3611 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • 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
    • docs: correct use term: #89438
    • Turbopack: make routes hashes mainfest more incremental: #87107
    • [test] Remove references to removed, internal PPR environment variable: #89832
    • [docs] Add RedirectType usage example to permanentRedirect: #89833
    • [test] Enable scroll related tests in Cache Component tests: #83245
    • Next CLI flags documentation: #89750
    • docs: update adapter docs for routing, handlers, and PPR: #89849

    Credits

    Huge thanks to @ijjk, @bgw, @vercel-release-bot, @sokra, @lukesandberg, @mischnic, @timneutkens, @vvscode, @eps1lon, and @unstubbable for helping!

    Open source →
  42. 16.2.0-canary.3510 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Credits

    Huge thanks to @wbinnssmith and @lubieowoce for helping!

    Open source →
  43. 16.2.0-canary.3410 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Update Rspack production test manifest: #89701
    • Update Rspack development test manifest: #89702
    • clarify unstable_cache replacement with use cache: #89435
    • [test] Add regression test for segment cache prefetch memory leak: #89756
    • Improve not-found-with-pages test: #89538

    Credits

    Huge thanks to @vercel-release-bot, @mischnic, @abhishekmardiya, @unstubbable, @timneutkens, and @wbinnssmith for helping!

    Open source →
  44. 16.2.0-canary.339 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • Remove more examples: #89709

    Misc Changes

    • 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

    Credits

    Huge thanks to @bgw, @ijjk, @icyJoseph, @shadcn, @sigmachirality, @unstubbable, and @lukesandberg for helping!

    Open source →
  45. 16.2.0-canary.328 Feb 2026pre-release
    Release notes

    Core Changes

    • Upgrade React from 95ffd6cd-20260205 to 2dd9b7cf-20260208: #89681
    • Include AggregateError.errors in terminal output: #88999

    Misc Changes

    • 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

    Credits

    Huge thanks to @sokra, @lukesandberg, @robert-j-webb, and @bencmbrook for helping!

    Open source →
  46. 16.2.0-canary.317 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Update metadata assertions: #89625
    • Update vercel CLI version in flakey deployment-id test: #89652

    Credits

    Huge thanks to @Netail, @ijjk, and @unstubbable for helping!

    Open source →
  47. 16.2.0-canary.306 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Turbopack: add turbo-persistence benchmark: #89446
    • Fix spelling in robots.mdx documentation: #89565
    • 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

    Credits

    Huge thanks to @ijjk, @sokra, @Thomas465xd, @mischnic, @eps1lon, @huozhi, @bgub, @unstubbable, @mmastrac, and @wbinnssmith for helping!

    Open source →
  48. 16.2.0-canary.295 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Proper e2e test of function determinism: #88908
    • docs: fix ISR guide link to res.revalidate: #89342

    Credits

    Huge thanks to @mischnic, @unstubbable, @lubieowoce, @pavan-sh, and @lukesandberg for helping!

    Open source →
  49. 16.2.0-canary.285 Feb 2026pre-release
    Release notes

    Core Changes

    • Ensure module contexts are always included in adapter traces: #89508

    Credits

    Huge thanks to @ijjk for helping!

    Open source →
  50. 16.2.0-canary.274 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Example Changes

    • chore(examples): remove with-tigris example: #81843

    Misc Changes

    • Update Rspack production test manifest: #89423
    • Update Rspack development test manifest: #89424
    • Turbopack: improve suggestions for experimental.reportSystemEnvInlining: #89486
    • docs: Fix syntax in proxy example code: #89395
    • Add experimental flag to expose testing API in production builds: #89499

    Credits

    Huge thanks to @vercel-release-bot, @mischnic, @timneutkens, @acdlite, @JamBalaya56562, @ericrav, @huozhi, and @lubieowoce for helping!

    Open source →
  51. 16.2.0-canary.263 Feb 2026pre-release
    Release notes

    Example Changes

    • chore(examples): remove with-recoil exmaple: #81836

    Misc Changes

    • Don't upload build cache for deployment tests: #89432
    • Fix indentation of types of tests in docs: #89409
    • Add separate E2E deploy env for turbopack tests: #89458
    • Turbopack: Symbol.for and keyFor are sideeffect-free: #89454

    Credits

    Huge thanks to @mischnic, @JamBalaya56562, @wheresrhys, and @ijjk for helping!

    Open source →
  52. 16.2.0-canary.253 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Snippet multi package syntax: #89381
    • TURBOPACK: support chunk_loading_global method: #88790

    Credits

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

    Open source →
  53. 16.2.0-canary.242 Feb 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Turbopack: Move PrettyPrintError to turbo_tasks and add tests: #89280
    • Update Rspack production test manifest: #89372
    • Update Rspack development test manifest: #89371
    • docs: replace 'can not' with 'cannot': #89354
    • docs: Fix custom server code snippets: #89400

    Credits

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

    Open source →
  54. 16.2.0-canary.2331 Jan 2026pre-release
    Release notes

    Core Changes

    • 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

    Credits

    Huge thanks to @bgw and @Suhaib3100 for helping!

    Open source →
  55. 16.2.0-canary.2230 Jan 2026pre-release
    Release notes

    Misc Changes

    • Apply server actions transform to node_modules in route handlers: #89316
    • [test] Deflake browser-log-forwarding verbose level test suite: #89324

    Credits

    Huge thanks to @unstubbable for helping!

    Open source →
  56. 16.2.0-canary.2130 Jan 2026pre-release
    Release notes

    Core Changes

    • Revert "Replace build id in Pages data routes with deployment id (#88959)": #89323

    Misc Changes

    • Add failing test to deploy-tests-manifest: #89318

    Credits

    Huge thanks to @ijjk and @mischnic for helping!

    Open source →
  57. 16.2.0-canary.2030 Jan 2026pre-release
    Release notes

    Core Changes

    • Fix/zlib mem node: #89099

    Misc Changes

    • 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

    Credits

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

    Open source →
  58. 16.2.0-canary.1930 Jan 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Turbopack: improve print_cache_item_size: #89279

    Credits

    Huge thanks to @huozhi, @eps1lon, @mischnic, @ijjk, @sokra, and @acdlite for helping!

    Open source →
  59. 16.2.0-canary.1830 Jan 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • 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
    • docs: Rename Error component to ErrorPage: #89284
    • Turbopack: refactor extend transforms: #89116

    Credits

    Huge thanks to @alexcarpenter, @devjiwonchoi, @jaffarkeikei, @BradErz, @lukesandberg, @vercel-release-bot, @sokra, @eps1lon, @mintydev789, and @acdlite for helping!

    Open source →
  60. 16.2.0-canary.1729 Jan 2026pre-release
    Release notes

    Core Changes

    • 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

    Misc Changes

    • Turbopack: change AsyncModulesInfo to use keyed reads: #89216
    • Turbopack: selective reads of defined env vars in module analysis: #88759
    • Turbopack: add support for turbopackOptional: true: #89227
    • 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

    Credits

    Huge thanks to @davidgolden, @sokra, @eps1lon, @huozhi, @icyJoseph, @mischnic, @mmastrac, @LucianBuzzo, @ijjk, @lukesandberg, @devjiwonchoi, @acdlite, and @ztanner for helping!

    Open source →