Releases: vercel/next.js
Release list
v16.4.0-canary.2
Misc Changes
- introduce an options struct for constructing backend storage: #97284
Credits
Huge thanks to @lukesandberg for helping!
v16.4.0-canary.1
Misc Changes
- docs: fix parallelRouteKey parameter name in useSelectedLayoutSegment(s): #97710
- Turbopack: Avoid cloning paths in fs watcher if the path is already in a map: #97655
- Remove generated error codes: #97687
- [PPF] Instant validation for unstable_navigation(): #97309
- Turbopack: trace graceful-fs calls: #97694
- Migrate some async blocks to async closures: #97666
- turbo-tasks: add scope_unbounded, a scoped execution primitive that allows more work to be discovered: #95974
- test: make app-document-import-order more robust: #97682
- Add a Turbopack error for missing root layouts: #97639
- Improve Partial Prefetching adoption checks: #97637
- test: stabilize poisoned proxy error overlay: #97609
- docs: correct the upper stale bound for App Shell exclusion in cacheLife: #97653
- docs: Adapters entry page lists its children pages twice: #97677
- [PPF] unstable_prefetch(): #97622
- [PPF] Scaffold unstable_prefetch(): #97618
- docs: clarify beforeInteractive placement for root layouts: #97643
- fix(turbopack): give eager
import.meta.globvalues the ESM namespace: #96559
Credits
Huge thanks to @marcoshernanz, @bgw, @devjiwonchoi, @lubieowoce, @mischnic, @lukesandberg, @DavidIlie, @aurorascharff, @sokra, and @icyJoseph for helping!
v16.4.0-canary.0
Misc Changes
- feat(turbopack): isolate HMR listeners across microfrontends: #95997
- Turbopack: deduplicate Pages Router app chunks: #97664
- [react-sync] Check assignability before assigning the actor: #97638
- fix: preserve trailing slash during export MPA fallback: #97613
- Turbopack: Split the read and write codepath data structures for symlinks: #97395
- Turbopack: Show last modified file when waiting for the filesystem to settle: #97648
Credits
Huge thanks to @fireairforce, @mischnic, @eps1lon, @QingHeSite, and @bgw for helping!
v16.3.2
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [backport] Scope app-entry export validation to files inside the app directory (#97357)
- [backport] Fix catch-all index page being served for every other slug (#97416)
- [16.3] Turbopack: don't trace embedded WASM loader helpers (#97353) (#97463)
- [16.3] Turbopack: retain conditions when replacing resolve request keys (#97453)
- [16.3.x] Fix Turbopack worker chunk loading with asset prefix (#97419)
- [16.3.x] Authenticate Turborepo remote caching with OIDC instead of a static PAT (#97603)
Credits
Huge thanks to @lubieowoce, @unstubbable, @timneutkens, @mischnic, and @eps1lon for helping!
v16.3.1-canary.26
Misc Changes
- docs: document deploymentId build ID override and Pages Router skew in 16.2: #97645
- Upgrade React from
eb8feb71-20260814toeafeac09-20260819: #97636 - Turbopack: rename to use turbopack: no side effects: #94427
- refactor: move useDynamic{Route,Search}Params to reduce snapshot churn: #97360
- [PPF] unstable_navigation(): #96908
- [PPF] Scaffold unstable_navigation(): #97236
- docs: Explicit cache output description: #97548
- Improve Cache Components sync IO migration guidance: #97572
- [test] Use a non-native stub for the server externals list test: #97614
- Avoid GitHub API rate limits for create-next-app examples: #97612
- [test] Cover the prerender worker-thread backend with an addon we control: #97543
- [test] Convert the
prerender-native-modulesuite to local fixture packages: #97542 - [test] Replace the
turbopack-reportssqlite3dependency with a local addon fixture: #97541 - [test] Drop the dead
sqlite3build approval from thesharp-basicsuite: #97540 - [ci] Authenticate Turborepo remote caching with OIDC instead of a static PAT: #97590
- Remove HmrTarget: #97253
- Keep HMR instructions typed until serialization: #96569
- Serialize frozen collections by value only: #96686
Credits
Huge thanks to @icyJoseph, @mischnic, @lubieowoce, @aurorascharff, @eps1lon, @sokra, and @wbinnssmith for helping!
v16.3.1-canary.25
Misc Changes
- [PPF] Remove
unstable_eager: #97524 - [PPF] Do not mark complete shell requests as partial: #97503
- fix: add accessible label to icon-only link: #96334
- Fix stale cross-references in skills/: #97566
- docs: generateMetadata values should be serializable with use cache: #97551
- Move preview props into separate manifest: #96004
- docs: adjust interactive app guide: #97558
- Turbopack: allow TURBOPACK_PRINT_CHUNK_GROUPS in release builds: #97515
- [test] Point next-image-legacy images at a reachable endpoint: #97545
- test: improve error-on-next-codemod-comment flakiness: #97553
- Turbopack: cross-module constants: #90300
- test: better isolate concurrent-install suite: #97546
- docs: outlining and lcp: #96942
- Fix use cache prerender signal retention: #97476
- Turbopack: More aggressively debounce filesystem watch events if we detected changes to node_modules: #96116
- docs: document metadata pagination field: #95509
Credits
Huge thanks to @lubieowoce, @niketchandivade, @gaojude, @devjiwonchoi, @mischnic, @aurorascharff, @eps1lon, @icyJoseph, @gnoff, @bgw, and @biubiukam for helping!
v16.3.1-canary.24
Misc Changes
- style(examples): remove redundant justify-content declaration: #97222
- docs: rename Vercel Edge Config to Global Config in redirecting guide: #97456
- fix: improve form accessibility by associating labels with inputs: #96335
- [docs] fix: grammar typos in linking and navigating guide: #95544
- fix(examples): correct error message typo: #97223
- docs: fix typos in example links: #97149
- Model prerenders as render candidates: #97431
- Turbopack: support character class ranges in regex: #97502
- docs: warn when catching permanentRedirect: #97496
- Remove the development debug channel persistence: #97510
- Stop the browser from restoring stale pages in development: #97505
- Turbopack: gracefully handle outputFileTracingIncludes matching a symlink: #97507
- docs: mention Valibot as validation library option in forms guides: #97468
Credits
Huge thanks to @niketchandivade, @molebox, @seanbeirnes, @0ldh, @gnoff, @mischnic, @DavidIlie, @unstubbable, and @fabian-hiller for helping!
v16.3.1-canary.23
Misc Changes
- Trace lazy App Route module loading: #97439
- [ci] Wait for the
nextversion to be available on npm before deploy tests: #97460 - docs: fix stale Dev Overlay README link in contributing guide: #97486
- docs: app router reference accuracy: #97477
- test: Don't wait trying to load non-existing images: #97488
- test: cover dynamic APIs with i18n base path: #97367
Credits
Huge thanks to @DavidIlie, @eps1lon, @icyJoseph, and @mischnic for helping!
v16.3.1-canary.22
Misc Changes
- fix(turbo-persistence): allow 32-bit usize conversion: #97288
- test: restore missing NFT
exports*unit fixtures: #97459 - [ci] Fix backport canary release dispatch: #97383
- turbo-tasks-backend: Enforce that tasks exist when accessing them: #96043
- turbo-tasks-backend: add persistence delete/tombstone plumbing for GC: #95975
- turbo-persistence: add key-value tombstones for MultiValue families: #96929
Credits
Huge thanks to @hardfist, @mischnic, @ztanner, and @lukesandberg for helping!