Releases: vercel/next.js
v15.4.0-canary.38
Core Changes
- [dynamicIO] fix: do not apply import tracking transform in edge: #79284
- Turbopack build: Fix type: module with output: standalone: #79292
- [TypeScript Plugin] Moved the diagnostics' positions to the prop's type instead of the value for client-boundary warnings: #79193
- Use
onPostpone
to determine if segment prefetch is partial: #79299 - Enable
ppr
whendynamicIO
is enabled: #79302
Misc Changes
- build(next-swc): Update
swc_core
tov25.0.0
: #79319 - Disable
dynamicIO
in global default cache handler test: #79300 - Enable PPR in Dynamic IO tests: #79301
Credits
Huge thanks to @lubieowoce, @timneutkens, @kdy1, @devjiwonchoi, and @unstubbable for helping!
v15.4.0-canary.37
Core Changes
- [devtool] initial support for segment explorer: #78858
- Client router should discard stale prefetch entries for static pages: #79309
Misc Changes
- fix(turbopack): prepend a question mark in AssetIdent display: #78977
- Update Turbopack development test manifest: #79278
- Update Turbopack production test manifest: #79277
- Update Rspack production test manifest: #79275
- Turbopack: remove dead code: #79280
- perf(turbopack): Use rayon threadpool for
minify()
: #79261 - Revert "perf(turbopack): Use rayon threadpool for
minify()
": #79296 - perf(turbopack): Update
sourcemap
to makeflatten()
faster: #79297 - docs: streaming responses with pages API routes: #79269
- feat:
--rspack
flag for create next app: #79077 - Do not run CI for modifying changeset related files: #79315
Credits
Huge thanks to @xusd320, @huozhi, @mischnic, @kdy1, @leerob, @SyMind, @unstubbable, and @devjiwonchoi for helping!
v15.4.0-canary.36
Core Changes
- chore(dev-overlay): Minor cleanups to useDelayedRender hook: #79119
- Update font data: #79227
- Rename
define-env-plugin.ts
todefine-env.ts
: #79224 - Always pass implicit/soft tags into the
CacheHandler.get
method: #79213 - fix(dev-overlay): Ignore right clicks on the indicator draggable: #79120
- Fix dangling promise in unstable-cache: #79248
- Revert "Partial Fallback Prerendering Route Shells (#69282)": #79258
Misc Changes
- [ts-next-plugin] test: add client-boundary test: #79194
- Reland: Fix false-positive
"use cache"
misplacement error: #79222 - Turbopack: Allow fully dynamic import() in node_modules: #79153
- Update Turbopack development test manifest: #79233
- Docs: Fix page order in Getting Started: #79240
- Docs IA 2.0: Server and Client Components: #79143
- Docs IA 2.0: Delete rendering section: #79244
- Docs: Fix syntax highlighting, add missing js code blocks: #79246
- perf(turbopack): Implement
ShrinkToFit
forAutoMap
: #79218 - docs: add missing links and imports to
cacheLife
andcacheTag
for prerender-missing-suspense error: #79247 - test: fix snapshots in failing tests: #79254
Credits
Huge thanks to @bgw, @wbinnssmith, @devjiwonchoi, @unstubbable, @timneutkens, @delbaoliveira, @kdy1, @lubieowoce, @ijjk, and @wyattjoh for helping!
v15.4.0-canary.35
Core Changes
- [dynamicIO] model pathname access in metadata as async : #79136
- Update font data: #79179
- bugfix (pages): assetPrefix should not cause hard nav in development: #79176
- Reland "Ensure mangling is disabled for dev runtime builds (#75297)": #79201
- docs: add graceful error boundary example: #77781
- turbo-tasks: Encode location information into panics: #78945
- feat(turbopack): Add basic compilation event support: #78785
Misc Changes
- Update Rspack production test manifest: #79185
- Update Turbopack production test manifest: #79186
- Update Rspack development test manifest: #79184
- Docs: Change
mjs
codeblocks tojs
: #79163 - chore: Update DevEx team changes in labeler: #79191
- Docs: Visual nits: #79198
- Docs IA 2.0: Move Edge Runtime information to API reference: #79152
- Prettier ignore changeset's format: #79203
- perf(turbopack): Do not inline synthesized content for sourcemaps: #79173
- Revert "Update mappings in
launch.json
to improve debugging in VSCode (#76559)": #79206 - perf(turbopack): Use
Byte::from_static
when possible: #79215 - Add recent Turbopack reformats to blame-ignore: #79187
- perf(turbopack): Drop AST node before generating source maps: #79219
- [turbopack] Delete the
read_glob
function: #79166
Credits
Huge thanks to @gnoff, @icyJoseph, @delbaoliveira, @devjiwonchoi, @kdy1, @ztanner, @ijjk, @feedthejim, @wbinnssmith, @unstubbable, @Cy-Tek, @mischnic, and @lukesandberg for helping!
v15.4.0-canary.34
Core Changes
- [build-sourcemaps] Remove unused static workers: #79107
- fix: cli test failed when using rspack: #79081
- [build-sourcemaps] Allow inspecting prerender worker: #79098
- Add initial modifyConfig hook: #79162
- Re-land updated bundler for pre-bundling: #79164
Misc Changes
- Turbopack: Make
turbopack-core
Rust 2024: #79131 - Docs: Add PPR page to getting started section: #79076
- Update Turbopack production test manifest: #79139
- Update Turbopack development test manifest: #79140
- Update Rspack production test manifest: #79138
- Fix false-positive
"use cache"
misplacement error: #79151 - docs: use single quote for
'use client'
directive: #79114 - docs: improve
'use client'
directive and client components: #79115 - Turbopack: remove unused
EcmascriptInputTransform::CommonJs
: #79148 - [test] Add
debug-brk
package script: #79097 - perf(turbopack): Optimize
next_page_static_info
: #79009 - Reference the workUnitStore when determining bailout to CSR: #79118
- Revert "Fix false-positive
"use cache"
misplacement error": #79160 - build: Update
swc_core
tov24.0.0
: #79103 - docs: Fix grammar in
vitest.mdx
(How to set up Vitest with Next.js): #78654 - [release] enable changesets: #79035
- Remove uses of
read_glob
fromnode_native_bindings
: #79154 - chore(turbopack): Add a span for sourcemap generation: #79170
- Add
rustc-ice
files to gitignore: #79167 - Update Rspack development test manifest: #79174
Credits
Huge thanks to @wbinnssmith, @delbaoliveira, @unstubbable, @eps1lon, @devjiwonchoi, @mischnic, @kdy1, @gnoff, @SyMind, @ijjk, @chipit24, and @lukesandberg for helping!
v15.4.0-canary.33
Core Changes
- patch react via recast instead of string replacements: #78916
- [link] Avoid inlining of
LinkProps
in emitted declarations: #78773 - [next-config-ts] fix: read tsconfig file using TypeScript API: #79055
- Replace node:url usage in server-utils: #79094
Misc Changes
- Docs IA 2.0: CSS: #78996
- Update Rspack production test manifest: #79072
- docs: Fix grammar on
Update static-exports.mdx
: #79091 - Update Rspack development test manifest: #79071
- perf(turbopack): Update
modularize_imports
: #79012 - build: Update
swc_core
tov24.0.0
: #79092 - Revert "build: Update
swc_core
tov24.0.0
": #79102 - chore(CI): Add back test retries (again) to arewerspackyet tests: #79014
- Turbopack: hash next/font filename to shorten it: #79089
- Upgrade lightningcss: #79096
- Turbopack: refactor into
traverse_edges_fixed_point
: #79078 - [test] Move test selectors as close to the actual value as possible: #78931
- test: split basic HMR test into multiple files: #79064
- test: split full reload HMR test into multiple files: #79065
- Update rust toolchain to 2025-05-12: #79099
- Rust: Update safe crates to 2024 Edition: #79104
- build(next-swc): Drop
swc_bundler
: #79113 - chore(CI): Split basepath test suite into smaller and more parallel test suites: #78892
- test: split error recovery HMR test into multiple files: #79066
- test: split hot module reload HMR test into multiple files: #79067
- test: remove unnecessary conditionals in error recovery tests: #73625
- Revert toolchain update to 2025-05-12: #79117
- test: replace duplicate test utils to next instance: #73624
- chore(CI): Split i18n-data-fetching-redirect test suite into smaller and more parallel test suites: #78893
- fix: pnp test cases failed when using rspack: #79084
Credits
Huge thanks to @devjiwonchoi, @bgw, @SyMind, @lubieowoce, @eps1lon, @delbaoliveira, @chipit24, @kdy1, @ijjk, @timneutkens, @mischnic, and @wbinnssmith for helping!
v15.4.0-canary.31
Core Changes
- Prevent
"use cache"
timeout errors from being caught in userland code: #78998
Misc Changes
- chore(CI): Split next-form tests into smaller suites/files that can be run more-in-parallel: #78891
- fix(CI): Remove comments from labeler config: #79015
- Turbopack next/font: Use a custom enum instead of
Result
for failed local font files: #78941 - Update middleware prefetch test: #79025
Credits
Huge thanks to @bgw, @wbinnssmith, @unstubbable, and @ijjk for helping!
v15.4.0-canary.30
Core Changes
- Fix
--no-mangling
for"use cache"
functions: #78993 - chore: update rspack to 1.3.9: #78984
- [not-found] Add global-not-found convention: #78783
- [not-found] support metadata exports of global-not-found: #78961
Misc Changes
- fix(CI): Wait for lock when running apt-get: #78979
- chore(CI): Add a few more turbopack paths to labeler config: #78980
- chore(CI): Add Rspack labeler config: #79004
- perf(turbopack): Remove needless clone of SWC AST: #79007
Credits
Huge thanks to @unstubbable, @bgw, @SyMind, @huozhi, and @kdy1 for helping!
v15.4.0-canary.29
v15.4.0-canary.28
Core Changes
- Treat _debugInfo as a wellknown property for sync request data access purposes: #78942
- chore(CI): Run rspack tests in build_and_test.yml: #78757
- bugfix: Fix a bug that caused conflicting assets when adding a child compiler: #78011
- [Fix] Inverse prefetch segment for Pages routes: #78932
- Fix tracing of server actions imported by client components: #78968
- Revert "fix: alternate bundler support for dropping client page": #78974
Misc Changes
- Docs: Fix headings in Getting Started: #78965
- Docs IA 2.0: Delete empty optimizing folder: #78966
- chore(CI): Split trailing-slashes suite cases into smaller suites, port to more modern e2e framework: #78890
- Turbopack: properly replace
__dirname
and__filename
: #78843 - perf(turbopack): Remove needless clone of sourcemap: #78972
- build: Update
swc_core
tov23.1.0
again with macos build fix: #78940
Credits
Huge thanks to @delbaoliveira, @bgw, @gnoff, @lukesandberg, @kdy1, @Karibash, @acdlite, @ijjk, and @ScriptedAlchemy for helping!