Releases: vercel/next.js
v16.3.0-canary.42
Misc Changes
- [turbopack] Treat local
constassignments as side-effect free: #94294 - [turbopack] Remove worker helpers from the default runtime: #94372
- Extract App Shell from static prefetches: #94095
- docs: correct wording and casing in turbopack tracing guide: #94469
- Turbopack: refactor ServerActionManifestAsset to be lazy: #94377
- docs: typos and errors outside docs, error, examples folders: #94472
- Update vendored lodash to 4.18.1: #94473
- chore: reword cacheComponents jsDoc to lead with partial prerendering: #94474
- Upgrade React from
f0dfee38-20260529to43bcbf80-20260603: #94440 - Turbopack: Perform issue filtering without turbo-task functions: #93885
- Keep Instant DevTools locked when opening error overlay: #94357
- Revert "ci: run Linux Playwright jobs in prebuilt Microsoft container (#93794)": #94366
- fix(deps): bump @vercel/nft@1.10.2: #93979
- Simplify turbo-tasks-backend: collapse single-impl traits and remove redundant Arc layers: #93983
- Turbopack: refactor to use
get_ecma_transform_rule: #94485 - [ci] Switch release-next-rspack to a more explicit environment name: #94480
- [ci] Set
persist-credentials: falsefor all GH actions: #94214 - Turbopack: fixup cache handler tracing: #94477
- [turbopack] Remove turbotask functions from
trait ResolveOrigin: #94324
Credits
Huge thanks to @sampoder, @acdlite, @RazinShafayet2007, @mischnic, @icyJoseph, @timneutkens, @vercel-release-bot, @bgw, @devjiwonchoi, @styfle, and @lukesandberg for helping!
v16.3.0-canary.41
Misc Changes
- make
TaskInput::is_resolvedinlinable everywhere: #94213 - [App Shells] staged shell rendering in cached navs: #94441
- [App Shells] staged shell rendering during build: #94442
- docs: fix typos in
testing.md: #94446 - Keep the dev React debug channel on Node streams end to end: #94433
- test: pin material-ui link fixture dependencies: #94354
- Revert "Keep the dev React debug channel on Node streams end to end": #94459
- [turbopack] Only ship top-level async support in the runtime when needed: #94376
- Reland the debug channel on native Node streams, fixed for React 18: #94462
- Allow
unstable_retryfrom TS plugin check in Next.js Error APIs: #94460 - docs: fix typos in contribution guide: #94375
Credits
Huge thanks to @lukesandberg, @lubieowoce, @RazinShafayet2007, @unstubbable, @timneutkens, @eps1lon, @sampoder, and @devjiwonchoi for helping!
v16.3.0-canary.40
Misc Changes
- docs: add GitHub SSH authentication guidance: #94360
- Deprecate undocumented custom server methods: #94348
- Trace cacheHandler and cacheHandlers when using adapters: #94197
- refactor: make stage advancing logic more generic: #94349
- docs: document Cache Components behavior for navigation hooks: #94387
- fix: build hangs if sync IO aborts before root chunk is flushed: #94365
- refactor: make early/late checks stricter: #94358
- refactor: remove delayUntilRuntimeStage: #94350
- DiskFileSystem: store Effect full_path as Arc: #94332
- refactor: indicate which stage is the last stage in staged prerenders: #94430
- [CC] add shell stages: #94438
- instant: prompts on all fix cards, [group]-tagged CLI bullets, new docs slugs: #94017
- [turbopack] Add
BumpVec(vector implementation that takes aBump): #94296 - Ensure aborting has the same inputs as render: #94436
- [App Shells] App shells in runtime prefetches: #93801
- [turbopack] Optimize TaskInput implementations: #94202
Credits
Huge thanks to @timneutkens, @lubieowoce, @aurorascharff, @sokra, @sampoder, @eps1lon, and @lukesandberg for helping!
v16.3.0-canary.39
Misc Changes
- Upgrade React from
c0cd4d5d-20260527tof0dfee38-20260529: #94245 - Turbopack: fix pages index normalization for --debug-build-paths: #94341
Credits
Huge thanks to @vercel-release-bot and @mischnic for helping!
v16.3.0-canary.38
Misc Changes
- [cd] Stop fetching all tags when searching for ancestor tag: #94302
- chore: lint-language output only warnings and errors: #94261
- DiskFileSystem: run write effects on a spawned task: #94140
- Disable
default-caseESLint rule for type-checked TypeScript files: #94316 - Handle a purged browser cache on back navigation: #94317
- Persist debug channel via
IndexedDBwithout blocking hydration: #94243 - Fix debug channel not closing on the client with Node streams: #94268
- refactor: use named arguments for StagedRenderingController: #94345
- Avoid bundling HMR refresh reducer in production: #94305
- Remove the instantNavigationDevToolsToggle flag: #94322
- doc: clarify rewrites execution order: #93765
- docs: update draftMode guide: #94155
- docs: cached functions from the client: #94301
- skip render dev overlay ux under private flag: #94346
- Turbopack: fix bundle-analyzer for NFT change: #93363
- Devirtualize the backend api inside of turbo_tasks and turbo-tasks-backend: #94007
- Delay Node Fizz piping until after render task: #94347
- Enable Node streams by default: #94311
- [tests] Use snapshots in debug-build-paths: #94352
- Turbopack: support turbopackIgnore on more traced calls: #94361
- [turbopack] Treat assignments to
module.exportsas side-effect free: #94293 - instant: enable navigation validation by default: #94312
- Turbopack: Move turbo-tasks/src/raw_vc.rs to turbo-tasks/src/vc/raw.rs: #94239
Credits
Huge thanks to @eps1lon, @icyJoseph, @sokra, @unstubbable, @lubieowoce, @timneutkens, @samselikoff, @huozhi, @mischnic, @lukesandberg, @sampoder, @aurorascharff, and @bgw for helping!
v16.3.0-canary.37
Misc Changes
- Switch
TotalOrderF64tof64inConstantNumberto correctly handleNaN === NaNand0 === -0inside the Turbopack analyzer: #94172 - Use
serde_json::NumberinCompileTimeDefineValueand removeTotalOrderF64: #94177 - docs: bodySizeLimit measures raw HTTP body: #94137
- Update ctor from 0.10 to 1.0.6: #94045
- Include
--portinnext internal query-tracestartup hint and help example: #93961 - Turbopack: refactor NFT to add Endpoint.traced_files: #94224
- Turbopack: show codeframe when tracing too much: #94207
- fix(instrumentation): await instrumentation in RouteModule.prepare: #94306
- [turbopack] Function pointers are copy: #94273
- docs: accuracy and pappercuts: #94299
Credits
Huge thanks to @sampoder, @icyJoseph, @sokra, @mischnic, and @lukesandberg for helping!
v16.2.7
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Backport documentation fixes for v16.2 (#93804)
- [backport] Patch
playwright-coreto resolve_finishedPromiseonrequestFailed(#93920) - [backport] Fix dev mode hydration failure when page is served from HTTP cache (#93492)
- [backport] Fix catch-all
router.querycorruption withbasePath+rewrites(#93917) - [backport] Encode non-ASCII characters in cache tags at construction (#93918)
- [backport] Fix server action forwarding loop with middleware rewrites (#93919)
- [backport] Turbopack: switch from base40 to base38 hash encoding (#93932)
- [ci] Disable hanging node 24 typescript tests on 16.2 backport branch (#94164)
- [backport] Fix "type: module" in project dir when using standalone or adapters (#94050)
- [backport] Propagate adapter preferred regions (#94200)
- [16.2.x] Don't drop
FormDataentries (#94240) - [backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (#94284)
Credits
Huge thanks to @eps1lon, @icyJoseph, @unstubbable, @mischnic, @bgw, @timneutkens, and @lukesandberg for helping!
15.5.19
v16.3.0-canary.36
Misc Changes
- Turbopack analyzer: analyze ternaries + promises in string & nullish methods: #94187
- [turbopack] Break up
graph.rsin the analyzer into smaller files: #94211 - [turbopack] Add
explain()methods toWellKnownObjectKindandWellKnownFunctionKind: #94217 - [turbopack] Handle negative numbers as constants in the analyzer: #94218
- [turbopack] Use
ast_path.kinds()instead of mapping overast_pathin the analyzer: #94221 - [CLI] Exit non-zero with a clear message when next typegen fails: #94241
Credits
v16.3.0-canary.35
Misc Changes
- Exclude static metadata and viewport from error recovery prerender when cache-components is enabled: #94134
- [turbopack] Shrink ReadRawVcFuture from 80 to 64 bytes: #94201
- [turbopack] Move
WellKnownObjectKind&WellKnownFunctionKindintowell_known/kinds.rsin the analyzer: #94209 - [turbopack] Move
require.context-related code into a seperate file in the analyzer: #94210
Credits
Huge thanks to @gnoff, @lukesandberg, and @sampoder for helping!