Releases: vercel/next.js
Release list
v16.4.0-canary.28
Misc Changes
- test: stabilize OpenTelemetry collector lifecycle: #98427
- Make TurbopackResult payloads disjoint: #98575
Credits
Huge thanks to @sokra and @wbinnssmith for helping!
v16.4.0-canary.27
Misc Changes
- Durable use cache: optimize env var existence checks: #98504
- Adds this.mode for webpack loaders: #98532
- Upgrade React from
6c0e1047-20260908to019019be-20260911: #98576 - feat(next/image): Add experimental imgOptMozjpeg config: #98571
- [turbopack] Lazily compile dynamic imports in development (client side): #97203
- fix(devtools): handle pointercancel when dragging the indicator: #98506
- [ci] Show full logs under GitHub Actions debug logging: #98501
- fix(typegen): merge cacheLife types into next/cache instead of shadowing it: #98252
- [test] Fix
proxy-request-with-middlewaredeploy test: #98553 - [ci] Remove the broken Test examples workflow and its test suite: #98517
- Align fallback parameter staging with shell validation: #98512
- Prevent synchronous IO from entering Cached Navigations: #98511
- [ci] Fix scheduled Rspack test job: #98508
- [ci] Remove Turbopack test manifest pipeline: #98507
Credits
Huge thanks to @mischnic, @jimmyhmiller, @styfle, @icyJoseph, @eps1lon, @itsybitsci, and @unstubbable for helping!
v16.3.5
The following bug fixes have been backported. It does not include all pending features/changes on canary.
- next/image: Skip 0-byte entries when initializing disk LRU cache (#98185)
- next/image: Reject empty images when reading/writing to the disk cache (#98186)
- Emit whole-app server NFTs when
output: 'standalone'is used with an adapter (#98167) - Add CSP nonce to script tags of loading and template files (#98403)
- Fix
use cacheprerender signal retention (#98448)
v16.4.0-canary.26
Misc Changes
- Add in warning for workers around the fsevents bug: #98447
- skill: add Partial Prefetching optimizer: #96471
- bundle-analyzer: add table view to single-build analyzer: #93523
- bundle-analyzer: add table view to compare mode: #93522
- bundle-analyzer: add compare view with treemap diff: #93521
- [testmode] Stop using deprecated
url.parse: #98194 - fix(next/image): don't share the requester's socket with the internal image response: #98168
- Fix duplicate background revalidation for
'use cache': #98446 - Turbopack: Deduplicate project options documentation: #98465
- Report incompatible parallel route slots: #97430
- Require canonical routes for interception routes: #97428
- Error when app pages do not match any route: #97401
- fix(turbopack): add
get_relative_request_tofor paths used as module requests: #98497 - [ci] Cleanup orphaned
next-stats-action: #98348 - [scripts] Move scripts (and benchmarks) off of
node-fetch: #98347 - [test] Move fixtures off
node-fetch: #98346 - [test] Move the harness off
node-fetch: #98195 - fix(turbopack): resolve
../and/-rootedimport.meta.globpatterns: #96557
Credits
Huge thanks to @jimmyhmiller, @aurorascharff, @wbinnssmith, @eps1lon, @Amusac, @unstubbable, @bgw, @gnoff, and @sokra for helping!
v16.4.0-canary.25
Core Changes
- bundle-analyzer: record historical snapshots on each analyze run: #93520
Misc Changes
- test: restore deployment exclusion for shared Cache Components tests: #98464
- Resolve metadata independently across parallel routes: #97345
- docs: preserve route behavior during Cache Components adoption: #98275
- Add a fast-path to 'get_relative_path_to' for a potential common case when 'from' is empty: #98440
- docs: document React browser API: #97621
- Enable React browser bailout by default: #98439
- [evals] Cover focused Cache Components and Partial Prefetching cases: #97813
- Deflake gc_interrupt_is_self_healing: #98445
- Adds this.target for webpack loaders: #98436
- test(evals): validate delegated error boundary components: #98387
- test: stabilize deferred entries HMR assertions: #98418
Credits
Huge thanks to @gnoff, @aurorascharff, @bgw, @devjiwonchoi, @wbinnssmith, @lukesandberg, @jimmyhmiller, @gaojude, and @sokra for helping!
v16.4.0-canary.24
Misc Changes
- Re-enable @vercel/devlow-bench publishing: #98236
- test: migrate caching deploy exclusions to force gates: #98154
- Typecheck the Turbopack ECMAScript runtime in CI: #98422
- Fix initial Turbopack HMR update handling: #98385
- Skip bundler config validation in next/jest and under test: #98392
- Remove
tsec: #98423 - Stabilize scope_unbounded panic test: #98416
Credits
Huge thanks to @wbinnssmith, @gnoff, @sokra, and @eps1lon for helping!
v16.4.0-canary.23
Misc Changes
- Turbopack: fix require handling with alternative: #98258
- docs: clarify ISR with Suspense params: #98210
- [cd] Update
peerDependenciesin prereleases to accept the current prerelease: #98411 - test: stabilize error recovery snapshot timing: #98414
- example: Use a Redis cacheHandler w/o dependencies: #95346
- Support durable use-cache entries with client components: #98140
- Upgrade React from
f4e439e1-20260902to6c0e1047-20260908: #98363 - fix: preserve repeated --require/--import flags when forking workers: #96651
- ci: check that Turbopack compiles for wasm: #97588
- feat(next-napi-bindings): build Turbopack for wasm: #97586
- Add CSP nonce to script tags of loading and template files: #98398
- Turbopack: fix output tracing include glob traversal: #98382
- test: support deploy exclusions with force gates: #98149
- Fix: Turbopack CSS HMR error when editing an unmounted merged CSS chunk: #94551
- Dev server: More aggresively scold users for deleting .next when we detect it while dev is running: #98253
- turbo-persistence: add TURBO_PERSISTENCE_MMAP=0 to disable mmap: #97873
- Fix dev route discovery startup race: #97920
Credits
Huge thanks to @mischnic, @aurorascharff, @eps1lon, @sokra, @icyJoseph, @anujbolewar, @gnoff, @spirosikmd, and @bgw for helping!
v16.4.0-canary.22
Misc Changes
- Add version for loaders api: #98377
- turbo-tasks-backend: let a GC pass wind down when it is blocking an operation: #96676
- docs: preserve Next.js development state: #98276
- Adds .resolve to loaders api: #98361
Credits
Huge thanks to @jimmyhmiller, @lukesandberg, and @aurorascharff for helping!
v16.4.0-canary.21
Misc Changes
- Bump to swc v78: #98268
- Create next.config.ts when generating apps with
pnpm new-test: #98364 - test(evals): accept LayoutProps in App Router migration: #98365
- [test] Run deploy tests against local JavaScript changes by default: #98353
- [test] Resolve
workspace:*packages to the version under test: #98330 - turbo-tasks: explicit GC root anchoring + cross-session orphan reclamation: #96857
- [PPF] Fix missing runtime-follow up if hints are stale: #98278
- Instant validation for caches excluded from prerenders: #98342
- [PPF] Model caches with
stale < MIN_SHELL_STALEas prefetch-only data: #98339 - docs: document excluding content from a prefetch in the prefetching g…: #98175
- docs: add unstable_navigation and unstable_prefetch API references: #98122
- Fix turbopacks webpack loader setup to support options being optional: #98270
- [ci] Align build-and-deploy triggers with build-and-test: #98331
- test: stabilize server action HMR update: #98322
Credits
Huge thanks to @mischnic, @lubieowoce, @aurorascharff, @unstubbable, @eps1lon, @lukesandberg, @icyJoseph, @jimmyhmiller, and @sokra for helping!
v16.4.0-canary.20
Misc Changes
- test(turbopack): remove dead top-level task unmarks: #98246
- Fix flaky successive HMR changes test: #97610
- docs: Remove version label from Turbopack in Pages Router: #98316
- turbo-tasks-backend: fix strongly consistent read hanging on a canceled task: #98312
Credits
Huge thanks to @lukesandberg, @sokra, and @icyJoseph for helping!