Releases: vercel/next.js
v15.3.0-canary.37
Core Changes
- [dev-overlay] sync horizontal scrollbar style: #77769
- [dev-overlay]Β Read
issueCount
from non-asyncerrors
array: #77821 - [dev-overlay] Fix error dialog resizing logic: #77830
- Turbopack Build: Optimize instrumentation hook generation: #77832
- [next-server] skip setting vary header for basic routes: #77797
- Lazily call
refreshTags
andgetExpiration
: #77779 - Add debug logging to default cache handler and
"use cache"
wrapper: #77827 - [ts-next-plugin] fix: properly exit when failed to initialize: #77842
- Alternate bundler: correctly inject react refresh loader: #77713
- [dynamicIO] Fix dev warmup: #77829
Misc Changes
- Turbopack: omit empty source map when code starts with a new line: #77734
- [next-lint] test: remove eslint config snapshot testing: #77818
- Turbopack: avoid deriving css source map path from generated code path: #77735
- Turbopack: pass asset to chunk_path to allow to use content hash later: #77772
- Docs IA 2.0: Add
Deep Dive
section placeholder: #77724 - Turbopack: use document.currentScript instead of chunk path literal: #77773
- Turbopack: don't include client-fs assets in NFT: #77799
- Turbopack: enable content hashing in production: #77775
- Turbopack: correctly track
await import("path")
in static analysis: #77811
Credits
Huge thanks to @sokra, @devjiwonchoi, @raunofreiberg, @delbaoliveira, @timneutkens, @mischnic, @huozhi, @unstubbable, and @ahabhgk for helping!
v15.3.0-canary.36
Core Changes
- [next-ts-plugin] fix: language service crashes / metadata plugin not working: #77213
- [dev-overlay] always display bundler name on version info: #77739
Misc Changes
- fix(turbopack): Apply
hygiene
if mangling is disabled: #77815
Credits
Huge thanks to @devjiwonchoi and @kdy1 for helping!
v15.3.0-canary.35
Core Changes
- Turbopack: fix
sideEffects
matching for non-relative globs: #77693 - Revert "Upgrade @playwright/test and cleanup internal APIs": #77814
Misc Changes
- [test] fix bad test fixuture for perf test: #77804
- [test] fix react 19.1 related tests: #77809
- doc: onNavigate follow-up: #77805
Credits
Huge thanks to @huozhi, @gaojude, and @mischnic for helping!
v15.3.0-canary.34
Core Changes
- Client instrumentation: onRouterTransitionStart: #77791
- Turbopack: log telemetry events when
TurbopackInternalError
s occur: #77660 - Rename alternate bundler package name: #77793
Credits
Huge thanks to @acdlite and @wbinnssmith for helping!
v15.3.0-canary.33
Core Changes
- Ignore an existing HMR refresh hash cookie with
next start
: #77714 - Turbopack build: Replace process.env.TURBOPACK usage: #77783
Misc Changes
- doc: onNavigate: #77647
- Update bundler production test manifest: #77764
- doc: useLinkStatus doc follow-up: #77790
- Update Turbopack development test manifest: #77766
- [ci] remove needs build-native for lint job: #77787
- test(examples): update turbopack manifest: #75092
Credits
Huge thanks to @gaojude, @unstubbable, @huozhi, @JamBalaya56562, and @timneutkens for helping!
v15.3.0-canary.32
Core Changes
- [dev-overlay] remove text wrap for terminal: #76953
- Upgrade React from
63779030-20250328
to040f8286-20250402
: #77742 - Optimize server runtime bundles: #77723
- Turbopack Build: Remove cases of process.env.TURBOPACK: #77757
- [dev-overlay] Fix unactionable
useLayoutEffect
warning if React 18 is used: #77737 - [dev-tools] Fix flashing of disabled state on indicator: #77727
- Webpack build: Add compiled in x seconds in missing places: #77751
Misc Changes
- chore(turbo-tasks): Audit all remaining uses of
Vc
in a struct: #77756 - docs:
instrumentation-client
follow up: #77752 - [test] Get rid of unrelated "Invalid hook call" error from tests using
styled-components
: #77736 - Turbopack: keep side-effect-full imports: #76545
- Docs: Recommend inline
use server
and update examples: #77770 - Revert "Docs: Recommend inline
use server
and update examples": #77771 - doc: useLinkStatus: #77648
- Update Turbopack production test manifest: #77767
- Update bundler development test manifest: #77765
- [docs] fix lint issue in use link status doc: #77785
Credits
Huge thanks to @bgw, @leerob, @devjiwonchoi, @unstubbable, @timneutkens, @eps1lon, @raunofreiberg, @mischnic, @delbaoliveira, @gaojude, and @huozhi for helping!
v15.3.0-canary.31
v15.3.0-canary.30
Core Changes
- [dev-overlay] Harden types when handling hydration mismatches: #77334
- [dev-overlay] Fix ref warning when Pages Router with React 18 is used: #77726
- add support for cssmodules-pure-no-check to allow global CSS features like View Transitions: #77321
- [dev-overlay] Only warn once per invalid sourcemap: #77444
- [dynamicIO] only abort once per prerender: #77747
- Turbopack build: Move Turbopack marker to SERVER_FILES_MANIFEST: #77711
Example Changes
- chore(examples): remove examples that can be v0'd: #77349
- Alternate bundler example: use
canary
version: #77754
Misc Changes
- chore(turbopack): Make TaskInputs use ResolvedVc: #77700
- Getting Started Docs: Add
Metadata and OG images
page: #74077 - Getting Started Docs: Add
Upgrade
page: #77717 - Docs IA 2.0: Rename
Examples
toGuides
: #77722 - build: Update
swc_core
tov19.0.0
: #77669 - Add Josh to Turbopack team for created-by label: #77738
- Turbopack: use better ident for worker chunk group: #77731
- chore(turbo-tasks): Remove redundant ast-grep lint rule: #77701
- fix(docs): update error type in notFound function description: #77503
- Update bundler development test manifest: #77706
- Update Turbopack production test manifest: #77709
- Turbopack: refactor resolve_url_reference to avoid chunk_path: #77732
- Update Turbopack development test manifest: #77708
- Port "app-document" test to e2e: #77748
- [ci]: skip build-windows job for docs only change: #77743
Credits
Huge thanks to @bgw, @eps1lon, @delbaoliveira, @jantimon, @kdy1, @padmaia, @sokra, @Bernardoow, @gnoff, @samcx, @mischnic, @huozhi, @wbinnssmith, and @timneutkens for helping!
v15.3.0-canary.29
Core Changes
- legacyBehavior deprecation error should only trigger once: #77687
- Pass only required props to NonIndex: #77685
- Revert "fix: make sure body can be read using
nodejs
runtime in middleware": #77690
Misc Changes
- pack-next: use default
--js-build
as option instead of--no-js-build
: #77686 - Turbopack: Allow overriding tsconfig path via next-config: #77563
- Scripts: migrate unpack-next to TypeScript: #77538
Credits
Huge thanks to @ztanner, @iamkd, @huozhi, and @wbinnssmith for helping!
v15.3.0-canary.28
Core Changes
- Revert "Remove useSyncExternalStore from useIsDevRendering (#77651)": #77672
- Upgrade React from
313332d1-20250326
to63779030-20250328
: #77643 - Turbopack build: Add marker for when a build used Turbopack: #77674
- feat(images): use experimental
isrFlushToDisk
option to prevent writing optimized images to cache: #70645 - doc: instrumentation-client: #77649
- Alternate bundler: use equivalent native plugins for built-in plugins: #77355
- Resolve Viewport separately from Metadata: #77427
- fix(turbopack): Suppress logging for short no-op turbopack HMRs: #76924
- Turbopack build: Fix node-file-trace test: #77641
- Turbopack build: Implement error when using next start without --turbopack: #77678
Misc Changes
- Turbopack: add tracing for fetch calls: #77673
- [test] Update stale snapshots: #77680
- Turbopack: fix bug in handling of module batches: #77638
Credits
Huge thanks to @acdlite, @sokra, @eps1lon, @timneutkens, @isBatak, @gaojude, @wbinnssmith, @gnoff, and @bgw for helping!