Releases: vercel/next.js
v15.2.0-canary.26
Core Changes
- Upgrade React from
9b62ee71-20250122
toae9017ce-20250122
: #75233 - Update React types: #75245
- docs:
opengraph-image
files work with the node.js runtime: #75274 - Upgrade vercel/og: #75247
- Turbopack: migrate global module ids to single-graph: #73752
- Emit build error when
useCache
is enabled and Edge runtime is used: #75279 - Fix
use server
diagnostics for type exports: #74256 - Turbopack: don't hardcode
edge-instrumentation.js
: #75289 - Upgrade React from
ae9017ce-20250122
tode1eaa26-20250124
: #75286 - Update bundler for pre-bundling runtime: #75294
Misc Changes
- misc: add Rauno to CI approved: #75269
- [Turbopack] include async loaders in chunking instead of separating it: #75052
- perf(turbopack): Use
Pass
API forstyled-jsx
SWC plugin: #75271 - perf(turbopack): Reduce needless allocations for SWC plugins: #75275
- Add test fixtures demonstrating export statement validation bugs: #75277
- Fix export statement validations for app router pages: #75278
- change turbopack-cli to new backend: #75242
- chore(turbo-tasks): Remove argument resolution from backends, only allow local-task-based argument resolution: #75214
- refactor(turbo-tasks): Merge dynamic_call/native_call with dynamic_this_call/native_this_call: #75253
- chore(turbo-tasks): Clean up consistency/untracked APIs around local outputs and cells: #75171
- fix(turbo-tasks): Implement
is_transient
onOperationVc
: #75291 - [Turbopack] box InnerStorage to avoid overallocation: #75287
- [Turbopack] Inline commonly used storages: #75284
- perf(turbo-tasks): Add a 'local' option to
#[turbo_tasks::function(..)]
: #75259 - [Turbopack] avoid some allocations: #75285
Credits
Huge thanks to @devjiwonchoi, @eps1lon, @sokra, @kdy1, @leerob, @unstubbable, @huozhi, @mischnic, @jrandolf, @bgw, and @ijjk for helping!
v15.2.0-canary.25
Core Changes
- Introduce standalone
experimental.useCache
flag: #75240 - [metadata] keep blocking metadata rendered in head: #75227
Credits
Huge thanks to @unstubbable and @huozhi for helping!
v15.2.0-canary.24
Core Changes
- [DevOverlay] Enable reactOwnerStack when newDevOverlay is enabled: #75199
- fix: typeof msg should compare to object: #75221
- [DevOverlay] Align old and new overlay: #74935
Misc Changes
- refactor(turbopack): Remove
ReadRawVcFuture.turbo_task
: #75217 - test: Move
should not cause error when removing loading.js
to flaky manifest: #75239 - test: skip dev/deploy testing for
test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts
: #75249
Credits
Huge thanks to @devjiwonchoi, @kdy1, and @HQidea for helping!
v15.2.0-canary.23
Core Changes
- Remove
internal_disableSyncDynamicAPIWarnings
flag: #75231 - router.prefetch should not trigger a React update: #75238
Misc Changes
- refactor(turbo-tasks): Use Return Position Impl Traits (RPIT) to reimplement GraphTraversal: #74896
- chore(turbo-tasks): Delete
non_local_return
support from#[turbo_tasks::function]
: #75209 - perf(turbopack): Update SWC plugins (
styled-jsx
,emotion
): #75236
Credits
Huge thanks to @bgw, @eps1lon, @acdlite, and @kdy1 for helping!
v15.2.0-canary.22
Core Changes
- Error handling for hanging promises in
"use cache"
closures: #74750 - Fix source mapping of generated cache wrapper calls: #74987
- [Turbopack] use new backend by default: #72434
- eslint: allow ts extensions for config: #75222
- Split entrypoint/route handling into separate dev and prod versions: #75169
- [Segment Cache] Prioritize route trees over segments: #75213
Misc Changes
- perf(turbopack): Use
Cow::into_owned
instead of.to_string()
: #75216 - [Turbopack] Memory improvements: #75210
- docs: Update
robots
forgenerateMetadata
spec: #75229
Credits
Huge thanks to @unstubbable, @sokra, @kdy1, @devjiwonchoi, @wbinnssmith, @acdlite, and @leerob for helping!
v15.2.0-canary.21
Core Changes
- fix: Merge
link
header from middleware with the ones from React: #73431 - Restore and enhance error handling for hanging inputs in
"use cache"
: #74652
Misc Changes
- Remove
endpoint.write_to_disk()
in favor of standardizedendpoint.output()
: #75059
Credits
Huge thanks to @amannn, @wbinnssmith, and @unstubbable for helping!
v15.2.0-canary.20
Core Changes
- fix(turbopack/napi): Flush optional task cache hit statistics upon completion of build: #75122
- add hostname to default error boundary message: #75151
- [Segment Cache] Predictable fallback param encoding: #75166
- misc: remove authors section in the readme: #75184
- Track
use cache
usage: #75007 - Upgrade React from
5b51a2b9-20250116
to9b62ee71-20250122
: #75187 - fix
after
export in next-types-plugin: #75190
Misc Changes
- Update 06-data-fetching-and-streaming.mdx (Removed duplicate word): #74810
- add test case for intercepting route + catchall + generateStaticParams: #75167
- [Turbopack] remove verbose new backend tracing: #75165
- optimize read matches to reduce FileSystemPath calls: #75164
- chore(turbo-tasks): Remove the ability to opt-out of NonLocalValue for VcValueType and VcValueTrait: #75053
- chore(turbopack): Mark
ResolvedVc::resolve
as deprecated to prevent resolving an already-resolved ResolvedVc: #75168 - Turbopack: don't generate CSS for Node.js: #75117
- chore(tests): Remove linguist-generated git attribute from test snapshot data/fixtures: #75194
- chore(github): remove Developer Experience area: #75198
- [Turbopack] fix invalidation and counting with collectibles: #75195
- chore(github): add CSS area/label: #75201
Credits
Huge thanks to @skushagra, @bgw, @ztanner, @acdlite, @sokra, @feedthejim, @gaojude, @mischnic, and @samcx for helping!
v15.1.6
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: don't memory-leak promises passed to waitUntil (#75041)
- backport: fix prerender issue with intercepting routes + generateStaticParams (#75170)
Credits
Huge thanks to @lubieowoce and @ztanner for helping!
v15.2.0-canary.19
Core Changes
- [DevOverlay] Decouple Error Overlay with DevTools Indicator: #74999
- [DevOverlay] Open Error Overlay when DevTools Indicator clicked: #75025
- fix: be more defensive in useMergedRef: #75088
- [Dev Badge] Focus states and fluid transitioning between states: #75141
- polish indicator loading behaviour for new dev overlay: #75149
- clean unused stop: #75156
- [Segment Cache] Remove segment access tokens: #75157
- [Segment Cache] Minimize special root key handling: #75159
- [next:dev] fix: console error conflicting public file: #75140
- [Turbopack] allow to disable source maps: #75136
- Allow disabling HTTP request logs in dev server: #74349
- [metadata] Fix streaming metadata was missing in ssr: #75155
Misc Changes
- refactor(turbopack): Only perform strongly consistent reads/resolves on VcOperation: #75016
- fix: remove unnecessary parentheses in draft mode API: #75153
- perf(turbo-tasks): Turn on
local_resolution
feature by default: #75051 - [Turbopack] allocation improvements for SingleModuleGraph: #75145
- [Turbopack] pass sourceMap flag to webpack loaders and postcss: #75144
Credits
Huge thanks to @devjiwonchoi, @lubieowoce, @raunofreiberg, @bgw, @gaojude, @sokra, @acdlite, @mohsen1, and @huozhi for helping!