Releases: vercel/next.js
Releases · vercel/next.js
v15.0.0-rc.0
Core Changes
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.ts
to better support pnpm and properly respectroot
argument: #64418 - fix(next):
Metadata.openGraph
values not resolving basic values whentype
is set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcss
withuseLightningcss
: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejs
to the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_core
tov0.90.33
: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vm
to server-external-packages.json: #64749 - Add
next experimental-test
command: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squoosh
in favor ofsharp
as optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/core
tov1.5.0
: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
next
Webpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- fix(next/image): detect react@19 for
fetchPriority
prop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]
attributes: #65336 - Delete dead
concatenate_output_assets
function: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHead
is enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath
& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackages
andbundlePagesExternals
: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies
: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add ...
v14.3.0-canary.79
Core Changes
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- [ppr] Remove canary requirement: #66112
- [ppr] Data route fixes: #66109
- [unstable_after] always use 'waitUntil' from '@next/request-context' if available: #66119
- Don't fail the build if
@types/
packages appear to be missing: #66127 - Stabilize swrDelta config: #66108
- Revert "Don't fail the build if @types/ packages appear to be missing": #66130
Misc Changes
- docs: add missing /: #66105
- Add release candidate handling to start release: #66107
- Docs: Next.js 15 updates: #65603
- Fix validate externals docs
Credits
Huge thanks to @wyattjoh, @ijjk, @eps1lon, @tokkiyaa, @lubieowoce, and @delbaoliveira for helping!
v14.3.0-canary.78
v14.3.0-canary.77
Core Changes
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
output
parameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
Misc Changes
- Tweak flakey metadata error tests: #66060
- Fix cloudflare transform images url: #66076
- React sync: Reduce manual tasks: #66095
- React sync: Handle React PRs landed via ghstack: #66069
- [Memory] Add docs for new experimental.webpackMemoryOptimizations option: #66096
Credits
Huge thanks to @ijjk, @eps1lon, @todor0v, @ztanner, @styfle, @bgw, @mknichel, and @lubieowoce for helping!
v14.3.0-canary.76
Core Changes
- Add dedicated client entry for Turbopack builds: #65824
Credits
Huge thanks to @wbinnssmith for helping!
v14.3.0-canary.75
v14.3.0-canary.74
Core Changes
- [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
ppr
flag ofnext.config.js
: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
Misc Changes
- Update Turbopack development test manifest: #66002
- docs: Update Route Handlers docs for dynamic: #66010
- Update Turbopack production test manifest: #66007
- Include base commit in changes included by a React sync: #65868
- add missing "prerenderEarlyExit: false" to dynamic-data test
- add pre-push hook to guard against accidental pushes directly to canary: #66030
- Add missing 'prerenderEarlyExit: false' in tests: #66032
- chore(docs): remove suggestion of manually installing
sharp
: #66034 - Update Turbopack development test manifest: #66044
- Fix swc test path from node_modules: #66047
- Update
create-next-app
template CSS: #66043 - Update lightningcss to 1.0.0-alpha.56: #66046
- ci(workflow): skip building next-swc with latest turbopack: #66048
Credits
Huge thanks to @ijjk, @gaojude, @leerob, @eps1lon, @lubieowoce, @Nayeem-XTREME, @styfle, @ypessoa, @wbinnssmith, @kwonoj, and @timneutkens for helping!
v14.3.0-canary.73
Core Changes
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/local
withBeforeResolvePlugin
and show custom error message: #65870
Misc Changes
- docs: clarify gSSP docs for runtime: #65962
- fix(docs): update styled components option: #65718
- feat: Add option to enable Turbopack with create-next-app: #65926
- chore(github-workflow): move issues, prs, features to #next-info channel: #65991
Credits
Huge thanks to @lovell, @leerob, @lubieowoce, @nsams, @devjiwonchoi, @Nayeem-XTREME, @JamBalaya56562, @ijjk, @ztanner, @Arindam200, @samcx, and @wbinnssmith for helping!
v14.3.0-canary.72
Core Changes
Example Changes
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
Misc Changes
- Update create-next-app template: #65803
- Fix send-trace-to-jaeger boolean span values: #65920
- Mention Renaming of useFormState: #65934
Credits
Huge thanks to @lubieowoce, @ypessoa, @ryohidaka, @icyJoseph, @timneutkens, and @Arinji2 for helping!
v14.3.0-canary.70
Misc Changes
- fix: race condition in CLI output in react-compiler test: #65909
Credits
Huge thanks to @lubieowoce for helping!