Releases: vercel/next.js
Release list
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!
v16.3.1-canary.21
v16.3.1-canary.20
Misc Changes
- Wait for back-before-hydration recoveries in the browser: #97321
- Extract metadata resolution primitives: #97388
- test: update React 18 redbox snapshot: #97415
- Turbopack: retain conditions when replacing resolve request keys: #97372
- Remove server route matcher stack: #94157
Credits
Huge thanks to @gaearon, @gnoff, @timneutkens, and @mischnic for helping!
v16.3.1-canary.19
Misc Changes
- Adopt SelectedMetadata for metadata rendering: #97387
- fix(next/image): reject empty image on read/write to disk cache : #97278
- Turbopack: remove stale manifests for deleted routes: #97333
- Turbopack: make unreachable codegen more generic: #97385
Credits
Huge thanks to @gnoff, @styfle, @marcoshernanz, and @mischnic for helping!