Releases: vercel/next.js
Releases Β· vercel/next.js
v15.0.1-canary.2
Core Changes
- fix: handle terminal color in chrome console: #71581
- [dynamicIO] Update prerender to use Fizz prerender: #71580
- misc(next-upgrade): reuse process.cwd() value: #71558
- [dynamicIO]: dev navigations should show disallowed dynamic errors: #71595
- next-lint: Use ESLint v9 by default: #71371
- fix: prevent router errors from being logged on the client: #71583
Misc Changes
- Turbopack: Always use blob: URLs for assets in middleware: #71471
- fix: metadata image route Windows path escaping: #71615
- fix: third-parties package peer dependency: #71620
- Fix
module_resolution: "nodenext"
withmjs
orcjs
: #71635
Credits
Huge thanks to @huozhi, @gnoff, @devjiwonchoi, @ztanner, @mischnic, and @lubieowoce for helping!
v15.0.1-canary.1
Core Changes
- Avoid triggering memory leak false positive with makeHangingPromise: #71579
- Upgrade React from
65a56d0e-20241020
to69d4b800-20241021
: #71568 - avoid logging stacks for internal errors: #71575
- Avoid server action
endpoint
function indirection: #71572
Misc Changes
Credits
Huge thanks to @samcx, @ztanner, @gnoff, and @unstubbable for helping!
v15.0.1-canary.0
Core Changes
- Reland "[dynamicIO] warn for disallowed dynamic in dev": #71567
- next-upgrade: prompt (un)install only when there's a change: #71308
- chore(next-codemod): remove
@next/font
from optional Next.js packages to install: #71563 - [dynamicIO] Avoid triggering memory leak false positive with makeHangingPromise: #71576
Credits
Huge thanks to @gnoff and @devjiwonchoi for helping!
v15.0.0
Core Changes
- refactor: next-flight-client-module-loader return conditions: #64348
- Fix Server Action error logs for unhandled POST requests: #64315
- Shared Revalidate Timings: #64370
- Freeze loaded manifests: #64313
- test: skip turbopack build test: #64356
- Fix: css in next/dynamic component in edge runtime: #64382
- Fix more Turbopack build tests: #64384
- use pathToFileUrl to make esm import()s work with absolute windows paths: #64386
- Improve rendering performance: #64408
- Fix the method prop case in Server Actions transform: #64398
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity: #64405
- Revert "Fix: css in next/dynamic component in edge runtime": #64442
- default fetchCache to no-store when force-dynamic is set: #64145
- router restore should take priority over pending actions: #64449
- Fix client boundary inheritance for barrel optimization: #64467
- improve turborepo caching: #64493
- Update font data: #64481
- BREAKING CHANGE: remove deprecated analyticsId from config, and the corresponding performance-relayer files and tests: #64199
- feat: strip traceparent header from cachekey: #64499
- Fix typo in dynamic-rendering.ts: #64365
- 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
- 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 m...
v15.0.0-canary.205
v15.0.0-canary.204
Core Changes
- chore(next-codemod): use "confirm" for consistent prompt: #71551
Misc Changes
- chore(docs): add docs for input image formats with next/image: #71565
Credits
Huge thanks to @devjiwonchoi and @styfle for helping!
v15.0.0-canary.203
Core Changes
- [dynamicIO] warn for disallowed dynamic in dev: #71526
- Format generated cacheLife() types as overloads with each value: #71544
- Ensure receiveExpiredTags is called per-request: #71543
- feat: dedupe consecutive captured console errors: #71483
- [Turbopack] add more tracing to dirty flagging: #71482
- improve typescript autocomplete for cacheLife: #71400
- Ensure workers are cleaned up always: #71564
Misc Changes
- DX improvements for
"use cache"
functions: #71518 - chore(docs): remove recommendation about using
priority
overloading=eager
withnext/image
: #71562
Credits
Huge thanks to @gnoff, @sebmarkbage, @ijjk, @huozhi, @sokra, @unstubbable, @lubieowoce, and @styfle for helping!
v15.0.0-canary.202
v15.0.0-canary.201
Core Changes
- Ensure custom cache handlers are traced: #71521
- Update React to bf7e210c: #71524
- Update React (again): #71528
- Remove double decoding of encrypted closures : #71527
- codemod: fix props types modify for type alias: #71537
- next-upgrade: Stop prompting for React 19 upgrade on pure App Router apps: #71486
- Ensure only one tags manifest is leveraged across handlers: #71522
Misc Changes
Credits
Huge thanks to @serhalp, @ijjk, @Juneezee, @sebmarkbage, @huozhi, and @eps1lon for helping!
v15.0.0-canary.200
Core Changes
- [dynamicIO] prospectively render SSR phase if needed: #71506
- [dynamicIO] show dev & build warnings when using incompatible segment configs: #71500
- Check tag staleness against the timestamp of the entry: #71520
- codemod: modify props types when arg is prop: #71516
- sync access warnings for Request APIs should include a stack: #71519
Misc Changes
- Transform
"use cache"
functions exported via export default expression: #71512 - Allow
"use cache"
functions in server action module (client layer): #71511
Credits
Huge thanks to @unstubbable, @gnoff, @ztanner, @sebmarkbage, and @huozhi for helping!