Releases: vercel/next.js
v15.2.2-canary.2
Core Changes
- [metadata] remove the duplicate metadata in the error boundary: #76791
- Upgrade React from
d55cc79b-20250228
to443b7ff2-20250303
: #76804 - [dev-overlay] Ignore animations on page load: #76834
- fix: remove useless set-cookie in action-handler: #76839
- Turbopack: handle task cancelation: #76831
- Upgrade React from
443b7ff2-20250303
toe03ac20f-20250305
: #76842 - add types for
__next_app__
module loading functions: #74566 - fix duplicated noindex when server action is triggered: #76847
Misc Changes
- [test] Use new Redbox matchers in pages/ middleware-errors: #76797
- doc: use
redirect
in client components: #76332 - [docs] document experimental viewTransition flag: #76832
- docs(errors): remove confusing good-to-know since global-errors.tsx also show in dev as of 15.2: #76825
- Turbopack: don't use HashMap in manifests: #76833
- Update
labeler.json
: #76828
Credits
Huge thanks to @huozhi, @eps1lon, @gaojude, @samcx, @raunofreiberg, @mischnic, @lubieowoce, @unstubbable, and @sokra for helping!
v15.2.2-canary.1
Core Changes
- [dev-overlay] Always show relative paths: #76742
Example Changes
- chore(cna): update tailwind styles to be closer to non-tw cna: #76647
Misc Changes
- [test] Add special placeholder if stackframes point into dist dir: #76741
- [test] Use new Redbox matchers in pages/ service-side-dev-errors: #76779
- [test] Use new Redbox matchers in app/ dynamic-error-trace: #76783
- [test] Use new Redbox matchers in app/ owner-stack-invalid-element-type: #76786
- [test] Use new Redbox matchers in app/ hook-functuon-names: #76785
- [test] Use new Redbox matchers in app/ undefined-default-export: #76781
- [test] Use new Redbox matchers in server-navigation-error: #76787
- [test] Fix flaky error-recovery test: #76789
- [test] Use new Redbox matchers in pages/ gssp-ssr-change-reloading: #76788
- [docs] update Tailwind CSS installation and configuration instructions: #76259
- docs: Tailwind v4: #76801
- chore(docs): update minimumCacheTTL example to 31 days: #76796
- Turbopack: improve sectioned source maps: #76627
Credits
Huge thanks to @eps1lon, @Nayeem-XTREME, @leerob, @styfle, @samcx, and @sokra for helping!
v15.2.2-canary.0
v15.2.1
Core Changes
- Unify Link and Form prefetching: #76184
- Turbopack: Ensure server actions sourcemaps tests pass: #76157
- [dev-overlay] control dark theme in one place: #76528
- [dev-overlay] change css var for terminal: #76590
- [dev-overlay] Discriminate stack frame settled typed: #76517
- Remove obsolete
sourcePackage
references: #76550 - refactor: remove unused variable in externals handling: #76599
- fix: Add popular embedding libraries to serverExternalPackages: #76574
- [Segment Cache] Implement hash-only navigations: #76179
- Webpack: abstract away getting compilation spans: #76579
- report compiler duration for webpack and improve numbers: #76665
- [dev-overlay] fix dark theme missing close bracket: #76672
- Remove
revalidate
property from incremental cachectx
forFETCH
kind: #76500 - [dev-overlay] fix: env name label style was out of sync with error type label: #76668
- Turbopack: avoid celling source maps before minify: #76626
- refactor(CI): Merge all four bundler test manifest scripts into one: #76652
- [metadata] fix duplicate metadata for parallel routes: #76669
- [Segment Cache] Omit from bundle if flag disabled: #76622
- [Segment Cache] Support output: "export" mode: #75671
- [Segment Cache] Refresh on same-page navigation: #76223
- [metadata] re-enable streaming metadata with PPR: #76119
- [Segment Cache] Search param fallback handling: #75990
- [Segment Cache] Fix: canonicalURL omits origin: #76444
- fix metadata basePath for manifest: #76681
- Propagate expire time to
cache-control
header and prerender manifest: #76207 - Show revalidate/expire columns in build output: #76343
- Gate alternate bundler behind canary only: #76634
- [dynamicIO] routes with dynamic segments should be able to be static in dev: #76691
- [repo] upgrade ts
5.8.2
: #76709 - [metadata]: ensure metadata boundary is only rendered once on client nav: #76692
- [metadata] clean up redudant options: #76712
- Fix uniqueness detection for
generateStaticParams
: #76713 - Upgrade React from
22e39ea7-20250225
tod55cc79b-20250228
: #76680 - [Turbopack] Compute module batches and use them for chunking: #76133
- [Dev Tools] Improve keyboard interactions for menu & overlays: #76754
- Keep server code out of browser chunks: #76660
- Turbopack: inline minify into code generation and make it a plain function instead of a turbo tasks function: #76628
- fix edge runtime asset fetch in pages api: #76750
- Update use-cache-unknown-cache-kind.test.ts snapshot for alternate bundler: #76682
Example Changes
- docs: fix reading
params
code blocks: #76705
Misc Changes
- fix(rustdoc): Fix rustdoc warnings, block on rustdoc failures in CI: #76448
- Update more global turbo CLI usage: #76576
- docs: Node.js runtime support for Middleware: #76556
- build: Update
swc_core
tov16.0.0
: #76414 - Turbopack: prevent panic in swc issue emitter: #76595
- Unflake
parallel-routes-revalidation
test: #76600 - Fix
octokit.rest.issues.addLabels
call: #76601 - [test] Use new Redbox matchers in app/ error-recovery: #76552
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-app-doc: #76551
- Run nightly bundler integration tests also with React 18: #76606
- 15.2: Add version history for
devIndicators
and note on deprecated options: #76611 - 15.2 docs: document missing
htmlLimitedBots
option: #76616 - Update bundler production test manifest: #76584
- Update bundler development test manifest: #76585
- Fix test after CI switched to pnpm 10: #76615
- chore(cna): fix theme extend for tailwind v4: #76583
- [test] Use new Redbox matchers in app/ ReactRefreshLogBoxMisc: #76563
- Don’t use native built-ins for additional bundler: #76577
- Revert "Run nightly bundler integration tests also with React 18": #76640
- Update bundler production test manifest: #76643
- Update bundler development test manifest: #76644
- Turbopack: dedupe middleware-manifest entries: #76621
- Turbopack: Improve edge tests: #76607
- Turbopack: add test test for css order: #76675
- Turbopack: fix order of chunk items in cycles: #76676
- [ci] Fix
test-turbopack-integration
not having any shards : #76355 - Update Turbopack development test manifest: #76658
- Update Turbopack production test manifest: #76659
- fix(CI): Upload to areweturboyet immediately after a manifest is updated, not only on a fixed cron schedule: #76688
- Update test snapshots for alternative bundler [4/n]: #76578
- fix(turbopack): Fix analysis of private properties: #76654
- Turbopack: Simplify emitDecoratorMetadata test: #76678
- [test] Use new Redbox matchers in pages/ ReactRefreshRegression: #76743
- [test] Remove
describeVariants
helper: #76631 - [test] Fix flaky error-recovery test: #76753
- [test] Use new Redbox matchers in app/ dynamic-error: #76744
- [test] Use new Redbox matchers in app/ rsc-runtime-errors: #76745
- Turbopack: avoid panic in module batches: #76757
- Revert "test: temporarily disable after deploy test": #74990
toDisplayRedbox()
: replace all occurrences of testDir: #76618- Fix: missing close brace in demo code: #76549
- Disable flaky Turbopack tests: #76760
- feat(CI): Revalidate vercel data cache on areweturboyet after uploading data to KV store: #76693
- chore(github): move top prs and feature requests to different Slack channel: #76764
- Fix flaky Bun test: #76763
Credits
Huge thanks to @acdlite, @bgw, @ijjk, @molebox, @kdy1, @timneutkens, @devjiwonchoi, @mischnic, @unstubbable, @eps1lon, @huozhi, @philipithomas, @delbaoliveira, @samcx, @wbinnssmith, @sokra, @gnoff, @leerob, @ztanner, @raunofreiberg, @lubieowoce, and @LihaoWang for helping!
v15.2.1-canary.6
Core Changes
- Upgrade React from
22e39ea7-20250225
tod55cc79b-20250228
: #76680 - [Turbopack] Compute module batches and use them for chunking: #76133
- [Dev Tools] Improve keyboard interactions for menu & overlays: #76754
- Keep server code out of browser chunks: #76660
- Turbopack: inline minify into code generation and make it a plain function instead of a turbo tasks function: #76628
- fix edge runtime asset fetch in pages api: #76750
- Update use-cache-unknown-cache-kind.test.ts snapshot for alternate bundler: #76682
Misc Changes
- fix(turbopack): Fix analysis of private properties: #76654
- Turbopack: Simplify emitDecoratorMetadata test: #76678
- [test] Use new Redbox matchers in pages/ ReactRefreshRegression: #76743
- [test] Remove
describeVariants
helper: #76631 - [test] Fix flaky error-recovery test: #76753
- [test] Use new Redbox matchers in app/ dynamic-error: #76744
- [test] Use new Redbox matchers in app/ rsc-runtime-errors: #76745
- Turbopack: avoid panic in module batches: #76757
- Revert "test: temporarily disable after deploy test": #74990
toDisplayRedbox()
: replace all occurrences of testDir: #76618- Fix: missing close brace in demo code: #76549
- Disable flaky Turbopack tests: #76760
- feat(CI): Revalidate vercel data cache on areweturboyet after uploading data to KV store: #76693
- chore(github): move top prs and feature requests to different Slack channel: #76764
- Fix flaky Bun test: #76763
Credits
Huge thanks to @kdy1, @timneutkens, @eps1lon, @sokra, @raunofreiberg, @unstubbable, @lubieowoce, @wbinnssmith, @LihaoWang, @huozhi, @bgw, and @samcx for helping!
v15.2.1-canary.5
Core Changes
- [dynamicIO] routes with dynamic segments should be able to be static in dev: #76691
- [repo] upgrade ts
5.8.2
: #76709 - [metadata]: ensure metadata boundary is only rendered once on client nav: #76692
- [metadata] clean up redudant options: #76712
- Fix uniqueness detection for
generateStaticParams
: #76713
Example Changes
- docs: fix reading
params
code blocks: #76705
Credits
Huge thanks to @gnoff, @leerob, @devjiwonchoi, @ztanner, @huozhi, and @unstubbable for helping!
v15.2.1-canary.4
Core Changes
- [Segment Cache] Search param fallback handling: #75990
- [Segment Cache] Fix: canonicalURL omits origin: #76444
- fix metadata basePath for manifest: #76681
- Propagate expire time to
cache-control
header and prerender manifest: #76207 - Show revalidate/expire columns in build output: #76343
- Gate alternate bundler behind canary only: #76634
Misc Changes
- [ci] Fix
test-turbopack-integration
not having any shards : #76355 - Update Turbopack development test manifest: #76658
- Update Turbopack production test manifest: #76659
- fix(CI): Upload to areweturboyet immediately after a manifest is updated, not only on a fixed cron schedule: #76688
- Update test snapshots for alternative bundler [4/n]: #76578
Credits
Huge thanks to @eps1lon, @acdlite, @huozhi, @unstubbable, @bgw, and @wbinnssmith for helping!
v15.2.1-canary.3
Core Changes
- report compiler duration for webpack and improve numbers: #76665
- [dev-overlay] fix dark theme missing close bracket: #76672
- Remove
revalidate
property from incremental cachectx
forFETCH
kind: #76500 - [dev-overlay] fix: env name label style was out of sync with error type label: #76668
- Turbopack: avoid celling source maps before minify: #76626
- refactor(CI): Merge all four bundler test manifest scripts into one: #76652
- [metadata] fix duplicate metadata for parallel routes: #76669
- [Segment Cache] Omit from bundle if flag disabled: #76622
- [Segment Cache] Support output: "export" mode: #75671
- [Segment Cache] Refresh on same-page navigation: #76223
- [metadata] re-enable streaming metadata with PPR: #76119
Misc Changes
- Update bundler production test manifest: #76643
- Update bundler development test manifest: #76644
- Turbopack: dedupe middleware-manifest entries: #76621
- Turbopack: Improve edge tests: #76607
- Turbopack: add test test for css order: #76675
- Turbopack: fix order of chunk items in cycles: #76676
Credits
Huge thanks to @mischnic, @timneutkens, @sokra, @devjiwonchoi, @unstubbable, @bgw, @huozhi, and @acdlite for helping!
v15.2.1-canary.2
Core Changes
- [dev-overlay] change css var for terminal: #76590
- [dev-overlay] Discriminate stack frame settled typed: #76517
- Remove obsolete
sourcePackage
references: #76550 - refactor: remove unused variable in externals handling: #76599
- fix: Add popular embedding libraries to serverExternalPackages: #76574
- [Segment Cache] Implement hash-only navigations: #76179
- Webpack: abstract away getting compilation spans: #76579
Misc Changes
- Turbopack: prevent panic in swc issue emitter: #76595
- Unflake
parallel-routes-revalidation
test: #76600 - Fix
octokit.rest.issues.addLabels
call: #76601 - [test] Use new Redbox matchers in app/ error-recovery: #76552
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-app-doc: #76551
- Run nightly bundler integration tests also with React 18: #76606
- 15.2: Add version history for
devIndicators
and note on deprecated options: #76611 - 15.2 docs: document missing
htmlLimitedBots
option: #76616 - Update bundler production test manifest: #76584
- Update bundler development test manifest: #76585
- Fix test after CI switched to pnpm 10: #76615
- chore(cna): fix theme extend for tailwind v4: #76583
- [test] Use new Redbox matchers in app/ ReactRefreshLogBoxMisc: #76563
- Don’t use native built-ins for additional bundler: #76577
- Revert "Run nightly bundler integration tests also with React 18": #76640
Credits
Huge thanks to @devjiwonchoi, @mischnic, @unstubbable, @eps1lon, @huozhi, @philipithomas, @delbaoliveira, @samcx, @wbinnssmith, @acdlite, and @bgw for helping!
v15.2.1-canary.1
Core Changes
- Turbopack: Ensure server actions sourcemaps tests pass: #76157
- [dev-overlay] control dark theme in one place: #76528
Misc Changes
- fix(rustdoc): Fix rustdoc warnings, block on rustdoc failures in CI: #76448
- Update more global turbo CLI usage: #76576
- docs: Node.js runtime support for Middleware: #76556
- build: Update
swc_core
tov16.0.0
: #76414
Credits
Huge thanks to @bgw, @ijjk, @molebox, @kdy1, @timneutkens, and @devjiwonchoi for helping!