Skip to content

Releases: vercel/next.js

v15.0.0-canary.182

09 Oct 23:33
Compare
Choose a tag to compare
v15.0.0-canary.182 Pre-release
Pre-release

Core Changes

  • next-upgrade: Ensure correct React and types version are resolved when upgrading to Next.js rc: #70981
  • codemod: leave comment on spread props: #70979
  • docs: add app-dir-runtime-config-experimental-edge codemod: #71008
  • docs: add next-dynamic-access-named-export codemod: #71012
  • chore(next-upgrade): use process exit instead of throwing: #71018
  • chore(next-upgrade): improve revision usage messages: #71019
  • Revert "chore(next-upgrade): use process exit instead of throwing (#7…: #71021
  • Disable server action transform in pages router: #71028
  • chore(next-codemod): view current Next.js version, skip if already on or higher: #71034
  • codemod: comment on reexport: #71017
  • move workUnitAsyncStorage back into "client/components": #71046
  • codemod: type cast async api calls in non entry file exports: #71040
  • codemod upgrade: show link of migration guide after upgrade: #71036
  • Defensively install patches: #71043
  • fix(next/turbopack): Always preserve import attributes with esm modules: #71051
  • codemod: fix type only react import: #71053
  • types-plugin: enahnce type checking on interface params: #71059

Misc Changes

  • docs: fix URL for error message: #71003
  • Turbopack: find client references layout segment optimization: #70792
  • Skip deployments for Dynamic IO error tests: #71024
  • Skip Math.random test with route handler and 'use cache': #71025
  • Remove windows i686 next-swc build target: #71041
  • fix(docs): correct MDN URL for decoding attribute of next/image component: #71029
  • Add ts-node dependency for jest.config.ts parsing: #70971
  • chore: replace the all path-name with pathname for consistency: #71000

Credits

Huge thanks to @eps1lon, @devjiwonchoi, @mischnic, @huozhi, @unstubbable, @ijjk, @DeepakBalaraman, @karlhorky, @lubieowoce, @Marukome0743, @gnoff, and @bgw for helping!

v15.0.0-canary.181

09 Oct 02:30
Compare
Choose a tag to compare
v15.0.0-canary.181 Pre-release
Pre-release

Core Changes

  • ensure export workers that are killed bubble up to parent process: #70997
  • Use perf_hooks for current time in incremental cache: #70925
  • fix(next-upgrade): prompts has no default option, is initial: #70928
  • [dynamicio] Instrument Date to be dynamic when accessing current time: #70916
  • [dynamicIO] Instrument crypto random APIs to be dynamic: #70939
  • refactor(next-upgrade): remove monorepo detect, add to error message when fail to get next version: #70929
  • codemod: skip transform when its properly used: #70936
  • refactor(next-upgrade): ensures prompts are cancelled when user exits: #70930
  • cache: "default" shouldn't get cached in route handlers: #70937
  • refactor(next-upgrade): tailor turbopack suggestion message: #70931
  • Run after() callbacks in the same context as the outer function: #70810
  • codemod: fix missing route transform: #70959
  • replace all 'athName' with 'athname' for consistency: #70690
  • refactor: improve transformer selection prompt: #70932
  • [Turbopack] add persistentCaching config option: #70904
  • codemod: skip promise.all on params: #70972
  • codemod: unify comments prefix for dynamic api: #70970
  • feat(next-codemod): add app-dir-runtime-config-experimental-edge: #70968
  • Port #70933 "fix: remove unnecessary line break in prompt": #70978
  • next-upgrade: Ensure path-like revisions are rejected: #70980
  • Refactor prerender workUnitStores: #70986

Misc Changes

  • Fix i686 next-swc build due to int overflow: #70995
  • refactor(turbopack/next-{api,core}): Remove remaining uses of vc generics in non-test code: #70816
  • chore(turbo-tasks): Delete vc generics support: #70817
  • [Turbopack] add persisting to the new backend: #69668
  • chore(turbo-tasks): Remove unused primitive helper types: #70890
  • chore(turbo-tasks-backend): Disable flaky performance test by default: #70974

Credits

Huge thanks to @gnoff, @devjiwonchoi, @bgw, @huozhi, @sebmarkbage, @mjulstein, @sokra, @eps1lon, @ztanner and @ijjk for helping!

v14.2.15

08 Oct 21:41
Compare
Choose a tag to compare

Note

This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • support breadcrumb style catch-all parallel routes #65063
  • Provide non-dynamic segments to catch-all parallel routes #65233
  • Fix client reference access causing metadata missing #70732
  • feat(next/image): add support for decoding prop #70298
  • feat(next/image): add images.localPatterns config #70529
  • fix(next/image): handle undefined images.localPatterns config in images-manifest.json
  • fix: Do not omit alt on getImgProps return type, ImgProps #70608
  • [i18n] Routing fix #70761

Credits

Huge thanks to @ztanner, @agadzik, @huozhi, @styfle, @icyJoseph and @wyattjoh for helping!

v15.0.0-canary.179

04 Oct 23:33
Compare
Choose a tag to compare
v15.0.0-canary.179 Pre-release
Pre-release

Core Changes

  • Create spans for createServerReference and registerServerReference: #70564
  • Do not invoke server actions twice when dynamicIO is enabled: #70784
  • feat: decouple cookies and action state from redirect error: #70769
  • refactor: added more strict app segment config validation: #70480
  • Fix recently re-introduced unique "key" prop warnings: #70807
  • Run Middleware within WorkStore: #70808

Example Changes

  • chore(examples): updated the example of with-styled-components: #70796

Misc Changes

  • chore(turbopack-browser): Delete unreferenced runtime.rs file: #70773

Credits

Huge thanks to @unstubbable, @bgw, @wyattjoh, @Sam-Phillemon9493, and @sebmarkbage for helping!

v15.0.0-canary.178

04 Oct 15:33
Compare
Choose a tag to compare
v15.0.0-canary.178 Pre-release
Pre-release

Core Changes

  • Run unstable_cache inside a CacheStore context: #70740
  • Expand PrerenderStore to include the legacy mode static generation too: #70741
  • Reapply "Dedupe sync access warning on the Server by callsite" (#70672): #70738
  • Add RSC module ID mapping to the Client Manifest: #70524
  • [i18n] Routing fix: #70761
  • fix broken lock mechanism: #70764
  • client router cache should still be cleared if server action revalidates + redirects: #70715
  • ensure handleUnlock is called even for non-cached responses: #70766
  • [dynamicIO] Error when dynamic behavior is outside of a Suspense boundary: #70734
  • [Turbopack] add new backend: #69667
  • Fix client reference access causing metadata missing: #70732
  • Move reactLoadableManifest/assetPrefix to workStore: #70768
  • Unwrap registerServerReference function: #70563
  • Error if reading Request Store inside Prerender: #70775
  • codemod: handle the async api type: #70785

Misc Changes

  • support running React 18 tests on PRs with a label: #70737
  • [Turbopack] AutoMap, AutoSet and CountHashSet use FxHasher by default: #70691
  • Turbopack: Respect ignore comments for Worker: #70749
  • feat(turbo-tasks): Add ResolvedVc versions of casting functions: #70575
  • refactor(turbo-tasks-fs): Use ResolvedVc instead of Vc in structs: #70576
  • docs(turbo-tasks): Rewrite the turbo_tasks::value documentation: #70743
  • auto import with create:: prefix: #70774
  • fix(turbopack): Remove wrong check for __turbopack_refresh__: #70696
  • fix(turbopack): Split ModulePart into eval vs non-eval: #70782
  • Turbopack: next/dynamic layout segment optimization: #70708

Credits

Huge thanks to @sebmarkbage, @ztanner, @sokra, @mischnic, @eps1lon, @shuding, @bgw, @wyattjoh, @gnoff, @huozhi, @unstubbable, and @kdy1 for helping!

v15.0.0-canary.177

02 Oct 23:33
Compare
Choose a tag to compare
v15.0.0-canary.177 Pre-release
Pre-release

Core Changes

  • Separate the rendering of viewport from metadata: #70685
  • codemod: fix merging react imports logic: #70706
  • Rename StaticGenerationStore to WorkStore: #70721
  • fix: Do not omit alt on getImgProps return type, ImgProps: #70608
  • fix(next/image): handle undefined images.localPatterns config in images-manifest.json: #70730

Credits

Huge thanks to @gnoff, @huozhi, @sebmarkbage, @icyJoseph, and @styfle for helping!

v15.0.0-canary.176

02 Oct 13:32
Compare
Choose a tag to compare
v15.0.0-canary.176 Pre-release
Pre-release

Core Changes

  • [form] pages dir support: #68333
  • chore(docs): refactor README.md: #70503
  • Fix missing await of params when metadata is used: #70698
  • condense warnings for direct access of dynamic APIs: #70682
  • Allow silencing direct access of dynamic APIs to unblock internal sync: #70705

Misc Changes

  • [Turbopack] HMR invalidation improvements: #70494
  • test: fix next-form tests when running on react 18: #70704

Credits

Huge thanks to @lubieowoce, @Marukome0743, @sokra, and @eps1lon for helping!

v15.0.0-canary.175

01 Oct 23:32
Compare
Choose a tag to compare
v15.0.0-canary.175 Pre-release
Pre-release

Core Changes

  • fix: fix warnings from invalid api's called from edge runtime: #70639
  • Update font data: #70653
  • refactor: added more strict app segment config parsing: #70479
  • next-upgrade: Stop interleaving user-input with long tasks: #70636
  • Replace depricated apple-mobile-web-app-capable with `mobile-web-ap…: #70363
  • Fix interpolation of dynamic params in intercepting route pathnames: #70667
  • bugfix: only replace with full prefetch if existing data was partial: #70650
  • next-upgrade: Default to release channel that's used: #70638
  • feat(turbopack): add support for polling file watcher: #69684
  • chore: improve accessibility of static indicator: #70612
  • initially visited static pages should respect static staletime: #70640
  • codemod: improve dynamic api codemod cases: #70593
  • feat(next/image): add images.localPatterns config: #70529
  • Recommend React.use() to unwrap async APIs in the browser: #70677
  • Change default SWR delta value to 1 year: #70674

Example Changes

  • updated the environment variables examples to utilize the App router: #70392

Misc Changes

  • Turbopack build: Fix client-components-tree-shaking test: #70662
  • Turbopack: Allow ESM externals in SSR: #70258
  • docs: update with-google-analytics example path: #70547
  • docs(link): add mention about how App Router prefetches on hover: #70679

Credits

Huge thanks to @wyattjoh, @neoFinch, @timneutkens, @mischnic, @eps1lon, @Nayeem-XTREME, @unstubbable, @ztanner, @ForsakenHarmony, @Marukome0743, @huozhi, @styfle, @samcx, and @ijjk for helping!

v14.2.14

01 Oct 17:43
Compare
Choose a tag to compare

Note

This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • Fix: clone response in first handler to prevent race (#70082) (#70649)
  • Respect reexports from metadata API routes (#70508) (#70647)
  • Externalize node binary modules for app router (#70646)
  • Fix revalidateTag() behaviour when invoked in server components (#70446) (#70642)
  • Fix prefetch bailout detection for nested loading segments (#70618)
  • Add missing node modules to externals (#70382)
  • Feature: next/image: add support for images.remotePatterns.search (#70302)

Credits

Huge thanks to @styfle, @ztanner, @ijjk, @huozhi and @wyattjoh for helping!

v15.0.0-canary.174

01 Oct 00:01
Compare
Choose a tag to compare
v15.0.0-canary.174 Pre-release
Pre-release

Core Changes

  • remove leftover console.log introduced in #70532: #70615
  • Add connection() as a new dynamic API: #69949
  • Fix: Set busboy defParamCharset to utf8: #70348
  • Update dynamicIO experiment to use React canary: #70571
  • refactor: remove unnecessary page segment check in ppr-navigations: #70572
  • Wire AsyncLocalStorage within a cached context: #70573
  • Fix revalidateTag() behaviour when invoked in server components: #70446
  • next-upgrade: Ensure install packages works on exotic package revisions: #70625
  • Error consistently during prospective prerender: #70631
  • next-upgrade: Infer React types version from runtime version: #70626
  • next-upgrade(refactor): Improve type coverage: #70627
  • next-upgrade: Remove extraneous if no channel is specified: #70628
  • next-upgrade: select codemods by canary version: #70630
  • next-upgrade: Hide install output by default: #70632
  • next-upgrade: Allow custom selection of codemods: #70634
  • next-upgrade: Allow choosing same codemods that are available in the currently used version: #70635
  • Upgrade React from 3edc000d-20240926 to 2d16326d-20240930: #70629

Misc Changes

  • test: disable sa period hash tests for turbopack build: #70616
  • Turbopack build: Fix favicon-short-circuit: #70617
  • Turbopack build: Skip styled-jsx babel plugin test: #70623
  • docs: Rename React Cache to Request Memoization: #70448
  • docs: minor fixes in the next/head doc: #70510
  • Change deterministic module ID strategy to match Webpack: #70200

Credits

Huge thanks to @lubieowoce, @huozhi, @gnoff, @jaredhan418, @timneutkens, @ztanner, @bangseongbeom, @penicillin0, @sebmarkbage, @abhi12299, @eps1lon, and @LichuAcu for helping!