Releases: vercel/next.js
Releases Β· vercel/next.js
v15.5.1-canary.0
Core Changes
- docs: mention turbopack config codemod: #82183
- [devtools] Shim overlay on server: #82791
- Turbopack: pass cache handler path as relative path to Rust: #82780
- Remove unused code: #82774
- [perf] only load next config once when start next dev server: #82654
- [Cache Components] Error for Sync IO in Server Components during Static Prerender: #82500
- Upgrade React from
0bdb9206-20250818
to03fda05d-20250820
: #82847
Example Changes
- fix: update @types/node to resolve Vite 7.x peer dependency conflict: #82794
Misc Changes
- docs: fix typo in
Image#priority
: #82806 - [test] update existing passed tests for cache components suite: #82830
- [test] fix cache components build error in next-form tests: #82841
Credits
Huge thanks to @wbinnssmith, @charpeni, @mischnic, @timneutkens, @huozhi, @Hareesh108, and @gnoff for helping!
v15.5.0
Core Changes
- Use and enforce exhaustive switch statements for work unit store: #81577
- Enable
@typescript-eslint/switch-exhaustiveness-check
rule: #81583 - [dynamicIO] use RSC dynamicness to control partial vs complete PPR result: #81627
- [dynamicIO] Do not use
React.unstable_postpone()
: #81652 - feat: new detachable panel UI: #81483
- Turbopack: content-hash PageLoaderAsset: #81450
- [segment explorer] fix content overflow styling: #81649
- Improve reliability of owner stacks for async I/O errors: #81501
- fix(router): Prevent redirect loop on root data requests with basePath: #81096
- Ensure custom NextServer config is honored: #81681
- Fix before interactive incorrectly render css: #81146
- perf: memorize exclude function in webpack config: #81525
- Also enforce experimental features when there's no next config file: #81679
- feat(next/image): warn when
images.qualities
is undefined: #81690 - feat(build): optimize filterUniqueParamsCombinations to generate sub-combinations: #81321
- Update NextAdapter type and re-export: #81692
- upgrade to [email protected]: #80123
- [metadata] replace for initial body icon case: #81688
- [segment explorer] remove dev panel ui flag: #81670
- Simplify running test apps locally with
ppr
ordynamicIO
enabled: #81668 - [turbopack] Return cached Promise from
__turbopack_load_by_url__
: #81663 - Upgrade React from
97cdd5d3-20250710
to2f0e7e57-20250715
: #81678 - Delete unused
renderToString
function: #81707 - Discard prerendered route handler data from FS cache after revalidation: #81611
- Upgrade React from
2f0e7e57-20250715
tod85ec5f5-20250716
: #81708 - Ignore pending revalidations during prerendering: #81621
- [turbopack] Clear chunk cache on HMR instead of creating new
next-server
VM: #81664 - fix: rootParams should throw in client when fallbackParams are not present: #81711
- perf(build): optimize buildAppStaticPaths performance and add helper function: #81386
- Turbopack: Support string without options for @next/mdx: #81713
- [Segment Cache] Support dynamic head prefetching: #81677
- [sourcemaps] Consistent cursor columns: #81375
- fix: revert client segment route changes for sub shell generation: #81731
- fix: pages router metadata bugs with React 19: #81733
- Improve error handling for
headers
/cookies
/draftMode
in'use cache'
: #81716 - [devtool] fix duplicate rendered indicator on server: #81729
- [devtool] enable segment explorer by default: #81737
- [turbopack] Stop exposing globals from Turbopack runtime: #81727
- Remove unnecessary await: #81761
- [chore] bump zod to latest v3: #81757
- feat(turbopack): Log anonymized internal error (panic) information to telemetry: #81272
- fix: revert client segment route changes for sub shell generation: #81740
- bugfix: static resources staleTime should be renewed once refetched: #81771
- [devtool] move font styling to global.css: #81782
- [devtool] copy decoded info of error details: #81735
- fix(build): add sourcePage context for PPR dynamic route lambda creation: #81781
- refactor: rename experimental.dynamicIO to experimental.cacheComponents: #81562
- Properly handle hanging promise rejections during prerendering: #81754
- Upgrade React from
d85ec5f5-20250716
todffacc7b-20250717
: #81767 - Refactor: Get rid of overly generic
getExpectedRequestStore
function: #81791 - [devtool] migrate css reset to global.css: #81783
- [dev-tools] Robust shortcut detection: #81756
- [segment explorer] hide for pages router: #81813
- [devtool] fix scrollbar styling: #81814
- fix(ppr): ensure fallback route params trigger dynamic resume: #81812
- [devtools] restart server pending state: #80858
- Turbopack: fix dist dir on Windows: #81758
- fix: remove boundary sentinel from RSC responses: #81857
- [sourcemaps] Try VM for retrieving source maps first: #81869
- [devtools] save user config inside
.next/cache
: #81807 - Server: Remove unused code: #81886
- refactor: encapsulate content type within RenderResult: #81861
- refactor: handle null RenderResult responses gracefully: #81895
- Upgrade React from
dffacc7b-20250717
toe9638c33-20250721
: #81899 - chore(devtools): sync todos to linear: #81901
- Introduce
'use cache: private'
: #81816 - chore(deps): update
browserslist
: #81851 - Remove web-server from edge-ssr-app: #81389
- Stabilize node middleware support: #81907
- Add
run-turbopack-compiler
trace span: #81917 - fix: support calling onClose multiple times in edge-ssr-app: #81911
- fix: logging the correct process for listened port: #81903
- Build: Include rewrites in manifest generation: #81894
- Routing: Clean up some code: #81932
- [sourcemaps] Ensure codeframe when calling Client Functions from Server: #81918
- [segment explorer] missing file suggestion: #81617
- [turbopack] Always print trace labels in headers: #81728
- Revert "[metadata] use https protocol for schema urls": #81934
- Upgrade React from
e9638c33-20250721
to7513996f-20250722
: #81940 - Upgrade to swc v33: #81750
- Remove extra base-server code: #81944
- Turbopack: flatten sourceInfo to avoid objects, reorder args, compress node.js entry: #81545
- Fix dynamicParams false layout case in dev: #81990
- Initial MCP implementation: #81770
- Fix: Unresolved param in x-nextjs-rewritten-query: #81991
- Turbopack: Add an option to use system TLS certificates (fixes #79060, fixes #79059): #81818
- Turbopack: Remove unused proxy option in turbo-tasks-fetch, lightly document HTTP_PROXY/HTTPS_PROXY environment variables: #81905
- Upgrade React from
7513996f-20250722
toedac0dde-20250723
: #81984 - [devtools] Cleanup folder structure: #82012
- [devtools] Fix "open in editor" for locations in stackframes: #82013
- [Segment Cache] Fix: Key by rewritten search: #81986
- Upgrade vercel og and remove yoga type patching: #81937
- [perf] cache load config results: #80570
- Turbopack: use prototype for turbopack context for better runtime performance: #81547
- [reactcompiler] Test with latest RC: #82002
- [devtools] Fix various
exhaustive-deps
violations: #82010 - [devtools] Apply React Compiler to Next.js DevTools source: #82004
- Upgrade React from
edac0dde-20250723
to3d14fcf0-20250724
: #82020 - Adjusted the warning message to be more descriptive: #82054
- Track fallback params on workUnitStore: #82003
- Fix API stripping JSON incorrectly: #82061
- Upgrade React from
3d14fcf0-20250724
to19baee81-20250725
: #82063 - use FetchStrategy to control prefetching behavior everywhere: #82032
- [Segment Cache] set fetchStrategy on segments from a dynamic request: #82059
- Revert "Upgrade vercel og and remove yoga type patching (#81937)": #82066
- Optimize segment data routes: #82033
- Turbopack: write tasks doesn't need to be session dependent, as effects will restore: #78727
- [sourcemaps] Fully sourcemap stacks on the Server: #81904
- fix(Rspack): use loaderContext.utils.contextify to replace ModuleFilenameHelpers.createFilename: #82104
- next/root-params: #80255
- fix(next/image): fix image-optimizer.ts headers: #82114
- Upgrade React from
19baee81-20250725
toeaee5308-20250728
: #82120 - Fix validateRSCRequestHeaders incorrect redirect: #82119
- fix(next/image): improve and simplify detect-content-type: #82118
- [CacheComponents] Use fallback params when validating dynamic routes in dev: #82069
- Extract getDynamicParam to a shared module: #82137
- Fix i18n fallback: false collision: #82136
- [segment explorer] normalize path when running inside monorepo: #82146
- [segment explorer] windows compatibility: #82147
- Upgrade React from
eaee5308-20250728
to9be531cd-20250729
: #82159 - Ensure setAssetPrefix updates config instance: #82160
- Revert "Fix tracing of server actions imported by client components (#78968): #82161
- Remove useMDXComponents argument: #80871
- Fix RSC hash validation for middleware external rewrites: #82176
@next/codemod
: update docs url in README: #82135@next/codemod
: Addexperimental.turbo
toturbopack
codemod for Next.js configs: #82134- refactor: lowercase app router header values: #82169
- Strip internals from
NextRequest
types: #82172 - allow root params access in private caches: #82125
- [devtool] bump base-ui to 1.0.0-beta.2: #82206
- Upgrade @vercel og: #82201
- Upgrade React from
9be531cd-20250729
to9784cb37-20250730
: #82207 - Fix: the unexpected clearing of symbolic link directories: #82191
- [next-dev] Set
TURBOPACK
env before loading config: #82162 - fix: display multiple lockfile warn if neither
outputFileTracingRoot
orturbopack.root
option is provided: #82164 - Revert "Initial MCP implementation (#81770)": #82217
- Revert "Upgrade @vercel og (#82201)": #82219
- Fix: Don't bail out of prefetch if head is missing: #82216
- Upgrade React from
9784cb37-20250730
toc260b38d-20250731
: #82247 - [Cache Components] Runtime prefetching: #81088
- Parse dynamic params on the client: #82185
- Mark bun builtin modules as external (fixes #75220): #77616
- Turbopack: Compact only at the end for short sessions: #82224
- feat: add fallback root params support for prefetch segment data routes: #82282
- feat: add route context to prerender error messages: #82283
- feat: automatically generate route types: #81396
- [Cache Components] Reset PrerenderStore after generating RSC payload: #82286
- Include
eslint-plugin-react-hooks
in React sync: #82294 - [devtools] Remove unnecessary cascading update: #82295
- Turbopack: name the module factory function: #73553
- Update font data: #82292
- fix: next/root-params erroring when rerendering after action: #82326
- Remove params from segment path: #82249
- Upgrade React from
c260b38d-20250731
tobe11cb5c-20250804
: #82339 - fix: OTel root span should indicate error status on exceptions: #82212
- [Cache Components] Allow span creation while prerendering: #82350
- feat(tu...
v15.4.2-canary.56
Misc Changes
- fix: remove a few old references to 'next lint': #82800
- docs: fix TS error in Node.js runtime local assets example: #82672
- docs: Route props helpers, typegen and next lint deprecation: #82784
Credits
Huge thanks to @bgub, @EAzZY-1wnL, and @icyJoseph for helping!
v15.4.2-canary.55
Core Changes
- [Cache Components] Fix HMR for nested pages: #82776
- Upgrade React from
a96a0f39-20250815
tof508edc8-20250818
: #82747 - Avoid duplicate WebSocket connection for global error pages: #82788
- Update linter options: #82266
- React from
f508edc8-20250818
to0bdb9206-20250818
: #82792 - feat: stabilize experimental.typedRoutes flag: #82762
- [Cache Components] Faster partial hydration in PPR resumes: #82742
- Turbopack: Define built-in webpack conditions using an enum and typescript union: #82765
- Turbopack: Remove beta warning: #82797
- feat: add a codemod to migrate from the deprecated "next lint" command: #82685
- fix: don't fail with amp config in JS: #82798
- fix: possible null access: #82799
Misc Changes
- Update Rspack production test manifest: #82771
Credits
Huge thanks to @unstubbable, @bgub, @vercel-release-bot, @lubieowoce, and @bgw for helping!
v15.4.2-canary.54
Core Changes
- [Cache Components] Defer Request Data API resolution to another task in dev when it would suspend when prerendering: #82386
- [devtool] migrate global inline style tag to css: #82778
Misc Changes
- [turbopack] Update next docs with information about turbopack known adoption issues: #82560
- Use
jsx
extension instead ofjs
in global-error documentation: #82710 - [sourcemaps] Fix sourcemapping in Redbox on Windows: #82078
- [test] separate metadata font tests: #82746
- Turbopack: don't look into fallback import map twice: #82786
Credits
Huge thanks to @lukesandberg, @gnoff, @cypherab01, @eps1lon, @huozhi, and @mischnic for helping!
v15.4.7
v15.4.2-canary.53
Core Changes
Misc Changes
- Turbopack: Stop persisting background task correctly on stop: #82727
- Turbopack: fix race condition in test case: #82728
- [turbopack] Remove a debug assertions in client references endpoint: #82725
- Turbopack: use bail instead of panic: #82745
- Update Rspack production test manifest: #82732
- fix(turbopack): webpack-loaders failed to resolve relative path: #82720
create-next-app
: use Turbopack for both dev and build: #82753- fix: make sure validator.ts uses relative paths for imports: #82761
Credits
Huge thanks to @sokra, @lukesandberg, @mischnic, @vercel-release-bot, @fireairforce, @wbinnssmith, @styfle, @huozhi, and @bgub for helping!
v14.2.32
v15.4.2-canary.52
v15.4.2-canary.51
Core Changes
- fix: return plain text 404 for invalid static asset paths: #75111
Misc Changes
- Turbopack: refactor idle process queue and fix bugs and race conditions: #82630
Credits
Huge thanks to @sokra and @devjiwonchoi for helping!