Releases: vercel/next.js
v16.2.1-canary.12
Core Changes
- Upgrade React from
3cb2c420-20260324to9627b5a1-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!
v16.2.1-canary.11
Core Changes
- [devtools] Show
AggregateError.errorsin the error overlay: #91835 - Upgrade React from
8b2e903a-20260320to3cb2c420-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!
v16.2.1-canary.9
v16.2.1-canary.10
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!
v16.2.1-canary.8
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!
v16.2.1-canary.7
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-buildCLI command for Turbopack database compaction: #91336
Example Changes
- chore(examples): remove
with-styletronexample: #81842
Misc Changes
- ci: upload adapter deploy test results: #91846
- Turbopack: Define
Effectas 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!
v16.2.1-canary.6
Core Changes
- [Segment Bundling] [Scaffolding] Ensure inlining hint correctness: #91320
- Upgrade React from
3f0b9e61-20260317to8b2e903a-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!
v16.2.1-canary.5
Misc Changes
- docs: use ErrorInfo type consistently in catchError docs: #91744
Credits
Huge thanks to @devjiwonchoi for helping!
v16.2.1
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- docs: post release amends (#91715)
- docs: fix broken Activity Patterns demo link in preserving UI state guide (#91698)
- Fix adapter outputs for dynamic metadata routes (#91680)
- Turbopack: fix webpack loader runner layer (#91727)
- Fix server actions in standalone mode with
cacheComponents(#91711) - turbo-persistence: remove Unmergeable mmap advice (#91713)
- Fix layout segment optimization: move app-page imports to server-utility transition (#91701)
- Turbopack: lazy require metadata and handle TLA (#91705)
- [turbopack] Respect
{eval:true}in worker_threads constructors (#91666)
Credits
Huge thanks to @icyJoseph, @abhishekmardiya, @ijjk, @mischnic, @unstubbable, @sokra, and @lukesandberg for helping!
v16.2.1-canary.4
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-precedencetest: #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!