Releases: vercel/next.js
v15.0.4-canary.4
Core Changes
- Fix the path to the next/experimental/testing/server export: #72527
- Expand
server-source-maps
scenarios to cover Edge runtime: #72288 - Ensure logged errors in Edge runtime include the stack: #72394
Misc Changes
- codemod(turbopack): Replace
return Err(anyhow!())
withanyhow::bail!()
: #72487
Credits
v15.0.4-canary.3
Core Changes
- fix: decrypt bound args before generating a cache key: #72463
Example Changes
- example: add more files to
playwright
.gitignore: #72447
Misc Changes
- [Docs]: Remove try catch and link to error handling docs: #72500
- [Turbopack] improve performance of the trace server: #71661
- Docs: Move
next.config.js
API pages under aconfig
folder, fix headings in TS and ESLint config pages: #72465 - Skip canary checks during internal development with VSCode: #72504
- Devlow snowflake backend: use milliseconds instead of seconds for event time: #72490
- [Turbopack] add TODO comment: #72510
- docs: unify the header deps by removing #: #72451
- fix: remove unnecessary fragment: #72492
- Fix grammatical error: remove unnecessary 'a' in 03-server-actions-and-mutations.mdx: #72496
- docs: fix broken link: #72169
Credits
Huge thanks to @molebox, @sokra, @delbaoliveira, @eps1lon, @wbinnssmith, @JamBalaya56562, @hyungjikim, @adrian-faustino, @mottox2, and @lubieowoce for helping!
v15.0.4-canary.2
v15.0.3
Core Changes
- Read page name from work store in server module map proxy: #71669
- codemod: should not transform when param is not used: #71664
- [dynamicIO] complete refactor to prerender: #71687
- fix: metadata image route normalize path posix for windows: #71673
- next-codemod(upgrade): optional catch when missing dev script: #71598
- Avoid server action function indirection in Turbopack: #71628
- fix: exclude
basePath
infindSourceMapURL
: #71719 - fix: stack frame text color in dark mode: #71656
- Fix: revert the bad node binary handling: #71723
- next-codemod: add empty
pnpm-workspace.yaml
to test fixtures to bypass PNPM workspace checks: #71726 - warn on sync access if dynamicIO is not enabled: #71696
- Update React from
69d4b800-20241021
to45804af1-20241021
: #71718 - next-upgrade: do not add
--turbopack
flag when--turbo
exists innext dev
: #71730 - feat: stitch errors with react owner stack: #70393
- [dynamicIO] update data access error and documentation: #71738
- Test cached form action with revalidate: #71591
- Upgrade React from
45804af1-20241021
to28668d39-20241023
: #71745 - Fix race condition when setting client reference manifests: #71741
- Fix fetch with no-store inside of use cache: #71754
- Remove the bottom collapse button in dev overlay: #71658
- [dynamicIO] unify cache filling and lazy-module warming: #71749
- Don't filter out source location frames through RSC: #71752
- fix undefined default export error msg: #71762
- Upgrade React from
28668d39-20241023
to1631855f-20241023
: #71769 - Enable owner stack in experimental build: #71716
- feat: add experiment for sharpjs cpu flags: #71733
- fix: handle server component replay error in error overlay: #71772
- Don't error asking for prebuilt bundles: #71778
- Replace
turbopack://[project]/...
sourcemap uris withfile://...
in development: #71489 - misc: update source map paths for bundled Next.js runtime: #71779
- [dynamicIO] refine error message and docs: #71781
- next-upgrade: change
--turbo
to--turbopack
if applicable: #71737 - Show all diff when uncollapse: #71792
- Sourcemap errors in terminal by default : #71444
- Fully enable custom error callbacks for app router: #71794
- Simplify Server Action Webpack plugin: #71721
- ensure DIO development segment errors are cleared after correcting: #71811
- Include sourceframe in errors logged in the terminal during development: #71803
- [dynamicIO] update prerender cache scoping and cache warming for validation: #71822
- only force stack frame color in tty: #71860
- Add test for fetch with auth in use cache: #71768
- Fix race with hot-reloader-client clearing overlay errors: #71771
- Fix dynamic tracking in dev: #71867
- Revert "Sourcemap errors in terminal by default (#71444)": #71868
- Fix fetch caching inside of
"use cache"
: #71793 - Trace upload: only send traces for current session: #71838
- Reland "Sourcemap errors in terminal by default": #71877
- Implement information byte in Server Reference ID and other optimizations: #71463
- fix: webpack build error on Windows: #71943
- Run with
--enable-source-maps
by default innext dev
: #71820 - fix global-error styles: #71914
- Use
registerClientReference
for ESM client component modules: #71968 - Fix missing
await
ofparams
when metadata is used with an image file: #71871 - Upgrade React from
1631855f-20241023
to02c0e824-20241028
: #71979 - Populate sourcemap
ignoreList
when Webpack is used: #71821 - [dynamicIO] unify server and client prerender for non-ppr pathway: #71764
- codemod: add separator to the parenthenese expr: #71993
- Respect sourcemap's ignore list when printing errors in the terminal: #71908
- fix console color to be compatible in chrome devtools: #71939
- Delete obsolete codemod
next-dynamic-access-named-export
: #72016 - fix: log the error instance modified extra location info: #71930
- Compare error stack to dedupe error: #71798
Example Changes
Misc Changes
- docs: fix broken link in Architecture/Turbopack documentation: #71412
- test: migrate rest async api usage in tests: #71663
- fix: docs for dynamic routing in next 15: #71531
- Remove the 'new' keyword from the GET function sample code.: #71671
- chore: fix wrong path of comments: #71682
- docs(next-config): remove mention of appIsrStatus is on canary: #71695
- react-sync: Ignore update notices from npm: #71717
- Docs: Update default marker for fetch cache option: #71728
- [docs] Fix page.tsx parameter types: #71680
- [docs] Fix table.js containing TS code: #71677
- docs(ppr): update note about ppr: #71697
- docs lint: #71748
- fixes error message asserts and lints: #71747
- Fix docs for configuring Turbopack: #71755
- docs(turbo): add experimental icon to turbo config section: #71761
- feat(turbopack): Add
__turbopack_original__
while tree shaking: #71547 - test: re-enable test with note: #71789
- Docs: Remove beta marker from Turbopack docs: #71796
- Update docs 1: #71812
- docs lint fixes: #71813
- docs: remove
"use cache"
on before code snippet: #71815 - Next docs broken links: #71823
- [Turbopack] add optimization based on upper count: #71606
- chore(turbo-tasks-backend): Use let instead of match for macro bindings: #71756
- chore(turbo-tasks-backend): Remove collapsible-if lints: #71758
- removing extra reference: #71853
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 3): #71665
- Update sync-dynamic-apis.mdx: #71907
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 4): #71804
- test: remove duplicated flaky test: #71967
- docs: Fix typo in cacheLife configs in use-cache docs: #71921
- Fix use cache example line highlights: #71883
- Allow breakpoints to be set in
packages/next/src/compiled
: #71986 - updated upgrade to v15 command in docs: #71643
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 5): #71861
- Clarify that streaming is blocked on generateMetadata for initial load: #71985
- Docs: Add legacy tags: #71964
- Docs: Fix broken link: #72021
- (docs)
use cache
: Add text code formatting: #71999 - docs: update file structure: #71951
- Documentation Fix: Correct
cacheTag
Function Usage: #71912 - correct expire calc & and Nested usage import in use-cache docs: #71899
- Docs: Address internal
use cache
comments : #71981 - Fix swc version mismatch when checking out an older version: #71978
Credits
Huge thanks to @ytori, @unstubbable, @huozhi, @SebassNoob, @tatsuteb, @Marukome0743, @gnoff, @samcx, @devjiwonchoi, @imprakharshukla, @migueldamota, @eps1lon, @ztanner, @timneutkens, @cantemizyurek, @sebmarkbage, @padmaia, @ijjk, @styfle, @wbinnssmith, @feedthejim, @kdy1, @shuding, @molebox, @ismaelrumzan, @sokra, @bgw, @timeyoutakeit, @AdonisAgelis, @chicoxyzzy, @gaojude, @elitalpa, @t3dotgg, @gaearon, @nisabmohd, @gadcam, @delbaoliveira, @bennettdams, @wiscaksono, and @Developerayo for helping!
v15.0.3-canary.9
Core Changes
- Fix a bug in the recently added unstable_getResponseFromNextConfig.: #72355
- createFromFetch -> createFromReadableStream: #72418
- Prevent client prefetch stream from closing: #72420
- Ignore error pages for cache revalidate: #72412
- [Prefetching] Fix: Read segment data from correct source: #72427
- Update font data: #72441
- feat(turbopack): Implement skipping of side effect free fragments: #71340
- feat(turbopack): Add an option to disable minification for builds: #72388
Example Changes
- chore: add
syntax
parser directive to Dockerfile: #72380
Misc Changes
- fix(font): don't break directives with inserted next/font import: #72350
- docs(output): update standalone docs with cp and start commands: #72432
- chore: release turbopack npm packages: #72372
- chore(turbopack): Update indexmap dependency from 1.x to 2.x: #72429
- chore(turbopack): Update criterion: #72431
- Docs: Vitest: Support for import aliases when using TypeScript: #72430
- Update Cloudflare Auto Minify link due to feature deprecation: #72417
- Remove the node-file-trace crate: #70998
- docs: unify the header deps by removing #: #72391
- [Turbopack] remove unneeded type annotation: #72390
- docs(route-handlers): add TS/JS
switcher
toRoute Resolution
section inRoute Handlers
: #72222 - docs(parallel-routes): update 11-parallel-routes.mdx example for modal closing: #72210
- [ppr] Fixed deployment tests: #72428
- chore(turbopack): Update dashmap from 5.x to 6.x: #72433
- Getting Started Docs: Improve "Project Structure" page: #72399
- Add missing closing
</AppOnly>
: #72453
Credits
Huge thanks to @emspishak, @acdlite, @huozhi, @lubieowoce, @samcx, @JamBalaya56562, @wbinnssmith, @bgw, @kdy1, @SanjoSolutions, @mayur9210, @arlyon, @sokra, @arfa123, @wyattjoh, @delbaoliveira, and @mischnic for helping!
v15.0.3-canary.8
Core Changes
- Append owner stack for captured string console error: #72115
- Update font data: #72371
- Show readable hook names in stack frames: #72340
- bugfix: revalidate + force-cache should work: #72347
- fetch cache: revalidate should take precedence over force-dynamic: #72357
- Use crypto API to generate prefetch token: #72348
- [Prefetching] Move resource hints to tree prefetch: #72367
- feat: add experimental
imgOptSequentialRead
config: #72411 - Handle empty ESM client modules: #72404
Misc Changes
- refactor(turbopack): Use
ResolvedVc<T>
instead ofVc<T>
forturbopack-node
: #72320 - refactor(turbopack-core): Migrate
Sources
type (and related types) toResolvedVc
: #72382 - Handle export default declaration in
debug_fn_name
transform: #72326 - [Turbopack] fix bug in the new backend that connects edges incorrectly: #72324
- [Turbopack] fix missing cell dependency: #72330
- [Turbopack] add stack traces of turbo tasks functions: #72329
- docs: fix double href typo in Link component: #72339
- docs: update
use cache
with inline links for relevant documentation: #72368 - docs: add filename to code block: #72275
- docs: change runtime value in example code: #72274
- docs: update error template.txt: #72263
- Fix code examples in error page: #72259
- docs(middleware): fix incorrect link to
Pages
inMiddleware
'sNextResponse
section: #72223 - Docs: Remove legacy tags from unstable_cache and unstable_noStore: #72134
- Docs: Split Getting Started between App and Pages, improve
Installation
page: #72178 - build: Update
swc_core
tov5.0.1
: #71683
Credits
Huge thanks to @huozhi, @kdy1, @bgw, @unstubbable, @sokra, @fadomire, @PlagueFPS, @JamBalaya56562, @molebox, @arfa123, @delbaoliveira, @ztanner, @acdlite, and @styfle for helping!
v15.0.3-canary.7
Core Changes
- [ppr] Move Resume Data Cache into Postponed State: #72284
- app build: don't merge dynamic params with query params: #72294
- Turbopack: use file:// uris for server resources in development: #71984
- bump webpack to 5.96.1: #72290
- feat(turbopack): Add an env var to debug-print the fast refresh invalidation reason: #72296
- Refactor prerender phase assignment: #72207
- [Per-Segment Prefetch] Add Route Tree prefetch: #72341
- [Per-Segment Prefetch] Parent segments must be prefetched before children: #72342
- refactor: renamed immutable and mutable as prerender and render: #72299
- Refactor prerender cookies: #72211
- Refactor: move url to app context to avoid passing requestStore : #72212
- [ppr] Stabilize Chained Prerenders: #72343
- Display the stitched error instead of react error: #72106
Example Changes
- examples:
blog-starter
usedparams
withoutawait
: #72327 - examples: pin react rc version for
blog-starter
: #72334 - examples:
check-examples.sh
considerssrc/app
as Pages Router: #72332
Misc Changes
- [Turbopack] Tracing improvements: #72323
- Note missing plugins support in mdxRs, refine: #72241
- Turbopack unhandled errors: ask for a description: #71384
- docs(typo): fix typos in
03-playwright.mdx
: #72182 - Clarify serialization behavior of "use cache": #72286
- docs(typo): fix typos in
04-cypress.mdx
: #72218 - Snowflake backend for devlow: #72162
- (e2e): improve app-hmr test stability: #72345
- docs: Fix typo in closing tag of sample code: #72361
Credits
Huge thanks to @sokra, @devjiwonchoi, @wyattjoh, @ztanner, @wbinnssmith, @gaojude, @karlhorky, @bgw, @gnoff, @acdlite, @lumirlumir, @gaearon, @huozhi, and @hato-poppo for helping!
v14.2.17
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: revert the bad node binary handling (#72356)
- Ensure pages/500 handles cache-control as expected (#72050) (#72110)
- fix unhandled runtime error from generateMetadata in parallel routes (#72153)
Credits
v15.0.3-canary.6
Core Changes
- Strip
assetPrefix
when resolving external source maps of client chunks: #72258 - [dynamicIO] normalize validation logic: #72145
- feat(turbopack): Use direct import for tree shaking: #71704
- fix(cli): respect SIGTERM and SIGINT exit codes in next build: #64871
- Generate per-segment prefetch responses: #72168
- fix:
next info
command does not output the versions ofnpm
yarn
andpnpm
correctly: #71134 - fix loading bailout condition & server patch mismatch tolerance: #72227
- docs: update
cookies
reference url: #72151
Example Changes
- Revert "docs: change
NextAuth.js
toAuth.js
": #72257
Misc Changes
- fix(turbopack): Fix
EcmascriptModuleFacadeModule::ident()
: #71338 - make failed fetch calls session dependent: #71667
- Docs: Fix css modules page in Pages docs: #72135
- perf(turbopack): Optimize read-write analysis of tree shaking: #71546
- perf(turbopack): Do not store export star in internal fragments: #71550
- Turbopack: font weight sorting feedback: #72109
- test: fix snapshots in next build and lint test: #72283
- docs(use-cache): fix typo and link: #72292
- patchFile awaits compilation: #72267
- updating information about fetch caching in the fetching docs: #72156
- docs: add missing before section name: #72277
- docs: typo file extension: #72272
Credits
Huge thanks to @kdy1, @sokra, @unstubbable, @balazsorban44, @delbaoliveira, @gnoff, @wbinnssmith, @jaysoo, @huozhi, @acdlite, @lumirlumir, @samcx, @gaojude, @RafaelAndeloci, @JamBalaya56562, and @ztanner for helping!
v15.0.3-canary.5
Core Changes
- Upgrade React from
603e6108-20241029
to7c8e5e7a-20241101
: #72199 - Fix
expire
time forcacheLife('seconds')
: #72190
Example Changes
- docs: change
NextAuth.js
toAuth.js
: #72201
Misc Changes
- docs(cacheTag): remove unused
cacheLife
import and add missingswitcher
: #72217 - docs(draft-mode): fix missing
switcher
for TS and JS codeblock: #72215 - docs(cacheLife): fix incorrect highlight and missing
switcher
: #72216 - docs(server-actions-mutations): Add missing TS/JS switcher to
Passing Additional Arguments
section inServer Actions and Mutations
docs: #72226
Credits
Huge thanks to @Juneezee, @arfa123, @JamBalaya56562, and @jonathanhefner for helping!