Releases: vercel/next.js
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!
v15.2.0-canary.18
v15.2.0-canary.17
Core Changes
- Display global-error along dev overlay during development: #75101
Misc Changes
- [Turbopack] Production Chunking: #75010
- Include CI runner labels in Turborepo hashes: #75099
- [Turbopack] try to avoid too small chunks size when optimizing for production: #75048
- perf(turbopack): Reduce size of
EffectArg
: #74973 - build: Update
swc_core
tov10.5.0
: #75098 - perf(turbopack): Use
u32
for the total node count: #75100 - test: add dynamic api usage test case for streaming metadata: #75109
- Turbopack: optimize NftJsonAsset: #75105
- [Turbopack] Low hanging fixes and improvement on module graph: #75106
Credits
Huge thanks to @sokra, @unstubbable, @kdy1, @huozhi, and @mischnic for helping!
v15.2.0-canary.16
Core Changes
- [DevOverlay] Polish new Error Overlay badge: #74975
- [DevOverlay]: hook up issue click handlers in NextLogo: #75069
- error when output: export is used with intercepting routes: #75058
Misc Changes
- perf(turbo-tasks): Use the type information we already have for all ResolvedVc casts, expose synchronous versions of functions: #75055
- docs: update Next.js 15 versions in upgrade guide: #74960
Credits
Huge thanks to @bgw, @leerob, @raunofreiberg, and @ztanner for helping!
v15.2.0-canary.15
Core Changes
- fix: don't memory-leak promises passed to
waitUntil
: #75041 - refactor: include new option for including prefixes: #75015
- Disable
colormin
feature fromcssnano
: #53393 - types: improve types in app-index: #75045
- feature(error): capture ssr error in overlay during dev: #74983
Misc Changes
- Turbopack: don't search for layout segments in routes: #73847
- Turbopack: resolve arguments to
EsmAssetReference::new
: #75040 - perf(turbo-tasks): Optionally schedule ResolveNative/ResolveTrait tasks as local tasks: #69126
- hopefully fix infinite recursion in optimize: #75043
- [Turbopack] implement chunking based on the module graph: #74979
- [Turbopack] avoid crashing on e.g. .DS_Store: #75050
Credits
Huge thanks to @mischnic, @lubieowoce, @bgw, @sokra, @wyattjoh, @RobinMalfait, and @huozhi for helping!
v15.2.0-canary.14
Core Changes
- Fix dhat support for turbo dev: #67166
- Fix missing revalidate with notFound(): #75009
- fix: always ensure element before set to weakmap: #75012
- Fix ping event being sent unintentionally for Pages Router with Turbopack: #75030
Misc Changes
- refactor(turbopack/next-api): Make VcArc use OperationVc: #74479
- Add
next-custom-transforms
tests to verify source maps: #75005 - build: Update
swc_core
tov10.3.0
: #75018 - put dirty task tracing behind a feature flag: #75022
- Turbopack: fix layout segment optimization: #75026
- fix layout segment optimization: #75035
Credits
Huge thanks to @bgw, @unstubbable, @kdy1, @sokra, @ijjk, @huozhi, and @timneutkens for helping!
v15.1.5
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix missing revalidate with notFound() (#75009)
- fix: when metadatabase is set we should not warn (#74840)
- Fix @vercel/og license SPDX expression (#74745)
- fix: ts language server rule metadata should allow null (#74704)
- fix: eslint rule of using img in metadata routes (#74864)
- Fix presentation when onerror receives an event without error (#74643)
- fix fetch lock not being consistently released #74623 (#75028)
Credits
Huge thanks to @ijjk, @huozhi, @matmannion and @ztanner for helping!
v15.2.0-canary.13
Core Changes
- Turbopack: chunk_group_multiple: #74859
- [DevOverlay] Fix floating header invisble on small screen: #74886
- rest errors queue after passing to handler: #74982
- [DevOverlay] Keep pagination on Build Error: #74905
- [Segment Cache] Evict client cache on revalidate: #74874
- Upgrade React from
b158439a-20250115
to5b51a2b9-20250116
: #74993 - [DevOverlay] Gather Feedback per Error: #74908
- Fix dev server ignores ENOENT error when loading page: #65213
- refactor: updated route regexp handling to simplify: #74996
- [DevOverlay] Rename file names to kebab: #75000
Example Changes
- Update readme for with-mux-video: #74966
Misc Changes
- perf(turbopack): Reduce size of
ConstantValue
: #74965 - Turbopack: singular EcmascriptClientReferenceModule: #74946
- refactor(turbopack): Merge
Atom
andJsWord
variant ofConstantString
: #74967 - Turbopack: add server actions loader to module graph: #74951
- perf(turbopack): Box
ConstantValue::Regex
: #74968 - perf(turbopack): Reduce size of
Effect
: #74969 - test: temporarily disable after deploy test: #74989
- test: add turbopack hmr flaky test: #74995
- Turbopack error logging: check NEXT_TEST_CI to use verbose behavior: #75001
- Turbopack: compute chunk group info: #74947
- build: Update
swc_core
tov10.2.5
: #75002 - Re-enable app-dir logging test: #75003
- chore(github): use Issue Types: #75006
- chore(github): remove documentation label from area dropdown: #75008
Credits
Huge thanks to @mischnic, @kdy1, @devjiwonchoi, @lubieowoce, @huozhi, @acdlite, @lukahartwig, @jsanford8, @wyattjoh, @wbinnssmith, @gaojude, and @samcx for helping!
v15.2.0-canary.12
Core Changes
- Ensure client reference manifest is traced for global not found page: #74919
- Polish error feedback row: #74880
- fix: static indicator for new overlay decoupled from appIsrStatus: #74933
- [test] Avoid hydration errors in react-compiler tests: #74928
- feat: write the segment path data out from the incremental cache: #74892
- Track dynamic IO feature usage: #74942
- Upgrade React from
f0edf41e-20250115
tob158439a-20250115
: #74936
Misc Changes
- fix persisent caching restore bug: #74917
- Fix missing
await
ofparams
when metadata with an image file pt2: #74193 - Turbopack: capture all references in module graph: #74873
- Add reference library that supports React Server and uses React Compiler: #74923
- [Turbopack] refactor to pass ModuleGraph to chunk_group: #74937
- [Turbopack] fix unemit collectible: #74932
- refactor(turbo-tasks): Convert local Vcs to non-local Vcs when returning from task functions: #74714
- perf(turbo-tasks): Add a synchronous try_sidecast method to ResolvedVc: #74844
Credits
Huge thanks to @sokra, @gadcam, @unstubbable, @gaojude, @mischnic, @eps1lon, @wyattjoh, and @bgw for helping!