chore(deps): update nextjs monorepo to v14 (main) (major)
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
eslint-config-next (source) | devDependencies | major | ^13.5.6 -> ^14.0.0 |
next (source) | dependencies | major | ^13.5.6 -> ^14.0.0 |
Release Notes
vercel/next.js (eslint-config-next)
v14.1.0
Core Changes
- Turbopack: switch to a single client components entrypoint: #59352
- Update
swc_core
tov0.86.98
and turbopack: #59393 - Fix cases for the
optimize_server_react
transform: #59390 - Use new JSX transform: #56294
- loading.tsx should have no effect on partial rendering when PPR is enabled: #59196
- Update font data: #59426
- Remove CacheNode.status field: #59472
- Rename CacheNode.data → .lazyData : #59473
- Generate Params Cleanup: #59431
- Fix webpack chunks handling in traces: #59498
- Rename CacheNode.subTreeData -> .rsc : #59491
- fix NODE_OPTIONS=inspect: #59530
- Add CacheNode.prefetchRsc field: #59537
- allow passing wildcard domains in serverActions.allowedDomains: #59428
- Page Info Cleanup: #59430
- Fix force-static and fetch no-store cases: #59549
- Should not show no index for client rendering bailout: #59531
- Enable build worker by default: #59405
- Fork navigateReducer into PPR and non-PPR versions: #59538
- cleanup magic segment strings: #59552
- chore: update Turbopack: #59589
- Fix another magic segment string constant: #59591
- Make CacheNodeSeedData match FlightRouterState more closely: #59590
- transpilePackages should override default settings for external packages: #59385
- move segment constants to separate file: #59587
- Revert "Page Info Cleanup (#59430)": #59592
- Fix useOptimistic in server components bug. Add tests for invalid React server APIs: #59621
- Partial Pre Rendering Headers: #59447
- Add tests for invalid React server APIs: #59622
- Refactor setup-dev-bundler to make Turbopack/Webpack split clearer: #59650
- refactor and simplify app dynamic components: #59658
- Change manifestPath to pagesManifestPath: #59657
- Fix issue with outputFileTracingExcludes and pages/api edge runtime: #59157
- Update font data: #59722
- Remove path normalization logic when uploading .next/trace traces: #59305
- LayoutRouter: Support segment value of Promise to asynchronously bail out and trigger a server patch: #59724
- fix: Allow start turbopack dev server for a project using middleware: #59759
- fix: gracefully shutdown server: #59551
- Revert "fix: gracefully shutdown server (#59551)": #59792
- Optionally bundle legacy react-dom/server APIs based on usage: #59737
- fix
default
handling in route groups that handle interception: #59752 - Transpile all code on app browser layer: #59569
- Initial implementation of PPR client navigations: #59725
- fix(turbopack): prevent edge entrypoint from becoming an async module: #59818
- Ensure we validate revalidate configs properly: #59822
- Update error check in validateRevalidate: #59826
- Rename confusing loaders: #59827
- Upgrade og dependencies: #59541
- [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale: #59833
- fix parallel catch-all route normalization: #59791
- fix router prefetch cache key to work with route interception: #59861
- Alias nextjs api entry to esm version for app router: #59852
- Remove duplicate standalone check: #60085
- Remove return on void function: #60087
- Ensure NextBuildContext is only used during build: #60099
- Add PageExtensions type: #60108
- Ensure instrumentation file does not affect middleware count: #60102
- Use WebpackError type instead of any: #60105
- Remove root parameter: #60112
- Remove extra duplicate pages warning: #60113
- Add MappedPages type: #60106
- Always call createPagesMapping for root paths: #60107
- Fix path issues on linux machines when build created on windows: #60116
- fix: Fix wrong cjs detection of
auto-cjs
pass: #60118 - chore: update Copyright time from 2023 to 2024: #60071
- Filter out duplicate paths in build output: #59858
- chore: align webpack config node version: #59862
- gracefully handle client router segment mismatches: #60141
- Fix start build log being overwritten by logs from page: #60122
- Allow using ESM pkg with custom incremental cache: #59863
- Fix emitting ESM swc helpers for 3rd parties CJS libs in bundle: #60169
- Move cacheDir logic to getCacheDir: #60133
- Refactor to unify writeFile, readFile, and add readManifest: #60137
- chore: bump
@vercel/nft@0.26.2
: #60172 - fix:
<Script>
withbeforeInteractive
strategy ignores additional attributes in App Router: #59779 - Fix invalid comment: #60182
- Refactor: Separate RSC renderer from SSR wrapping component: #59676
- fix: cache next font during development to avoid FOUC: #60175
- Add writeManifest: #60138
- Add writePrerenderManifest: #60158
- Add writeStandaloneDirectory: #60162
- Always write FunctionsConfigManifest: #60163
- Upgrade @vercel/og: #60205
- Improve consistency of issues and diagnostics for napi calls: #60198
- Change server actions cache default to no-store: #60170
- Allow undefined environment variables in config: #58247
- Add writeFullyStaticExport: #60200
- fix: Mark file as ESM if it has an export from
auto-cjs
pass: #60216 - log a dev warning when a missing parallel slot results in a 404: #60186
- Fix: Throw an error for empty array return in
generateStaticParams
withoutput:export
: #57053 - Ensure appPathsManifest variable is inside if block: #60210
- Remove NEXT_TURBO_FILTER_PAGES internal variable: #60217
- fix: add
node-web-audio-api
to server-external-packages.json: #60243 - Disable 2mb limit for custom incrementalCacheHandler: #59976
- [PPR Nav] Fix: Page data should always be applied: #60242
- Add writeImagesManifest: #60209
- feat(next-core): apply rsc transform in turbopack: #59629
- Move buildId logic to getBuildId: #60132
- fix catch-all route normalization for default parallel routes: #60240
- micro fix of the cache limit check: #60249
- parallel routes: fix @children slots: #60288
- Bump webpack-bundle-analyzer: #58442
- docs: Add docs for
next dev --experimental-https
: #60357 - Update React from
0cdfef1
tof1039be
: #60368 - Simplify if condition: #60250
- Fix dynamic sitemap detection: #60356
- chore(font): enable minification: #60319
- chore(precompile): remove obsolete precompiled assets : #60316
- refactor: simplify the call in lib.picocolors: #60386
- chore(precompile): re-add
watchpack
to the precompile: #60309 - refactor(dev-overlay): remove
chalk
: #60317 - Fix: HMR in multi-zone handling
🌱 : #59471 - HMR development stats: include
updatedModules
for App Router and Turbopack changes: #59785 - Change color of output bundle size: #60385
- Fix TypeError when using params in
RootLayout
with parallel routes: #60401 - Fix missing source code display for some jsx errors: #60390
- Refactor
unstable_cache
implementation: #60403 - Missing Postpone Detection Fix: #59891
- refactor(next/core): reorganize next.js custom transforms for next-swc/turbopack: #60400
- Fix custom cache handler importing on windows: #60312
- Display original failed fetch trace: #60274
- feat(app-router): introduce
experimental.missingSuspenseWithCSRBailout
flag: #57642 - update turbopack: #60208
- update turbopack: #60478
- feat(turbopack): support named client references properly: #59578
- Fix intercepted segments with basepath: #60485
- parallel routes: fix client reference manifest grouping for catch-all segments: #60482
- Group small chunks in shared js section of output: #60479
- filter default segments from prerender manifest: #60499
- Add experimental options for more parallelization in webpack builds: #60177
- move custom allocator flag and add rustls-tls comment: #60128
- fix: redirect logic missing basePath in App Render: #60184
- Revert "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailout
flag": #60508 - add retry logic to loadClientReferenceManifest: #56518
- Turbopack hmr: record forwarded client spans: #60500
- chore(turbopack): check for unsupported next config options instead of supported ones: #58781
- Handle non server action post requests safely: #60526
- Fix global-error for nested routes: #60539
- chore(examples): use default prettier for examples/templates: #60530
- Update default error rate for client filter: #60542
- Enable windowHistorySupport by default: #60557
- Fix logging order of build jobs: #60564
- propagate notFound errors past a segment's error boundary: #60567
- Tracing: attach Turbopack session value to root span: #60576
- [PPR Nav] Fix flash of loading state during back/forward: #60578
- Fix react-refresh for transpiled packages: #60563
- Ensure client filter with basePath is correct: #60580
- Update React from
f1039be
to60a927d
: #60619 - Add cache reason for using fetch with noStore: #60630
- chore: remove unused export: #60647
- remove next build turbopack version: #60655
- fix breakpoints on reload: #60507
- Fix hmr updates with rebuilding for build errors: #60676
- graceful shutdown: #60059
- refactor(next-swc): remove unused crashreporter: #60593
- chore(eslint-plugin-next): upgrade glob dependency: #60732
- Fix client reference keys of barrel-optimized files: #60685
- Fix recursive ignoring case in build traces: #60740
- Telemetry: allow disabling of fetch tracing: #60588
- chore: typo, responseCookes to responseCookies: #60654
- Telemetry code load: #60594
- allow to pass available chunk items when creating a chunk group: #60554
- separate chunking per layout parts: #60569
- feat(next-core): port remaining next.js custom transforms: #60498
- Reapply "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailout
flag" (#60508): #60751 - Skip postcss config location resolving in node_modules: #60697
- apply page transforms only on pages: #60779
- fix layout segment key to match up with manifest: #60783
- Fix locale domain public files check: #60749
- Stabilize custom cache handlers and changing memory size.: #57953
- feat: stabilize
unstable_getImgProps()
=>getImageProps()
: #60739 - Fix Server Actions compiler bug: #60794
- Dev Server: Preserve globals overwrites in the initialization hook: #60796
- add missing function call to
normalize-catchall-routes
test case: #60777 - Use snapshots for component-stack tests: #60768
- Support next/og usage in ESM nextjs app: #60818
- fix(ts): auto-complete
next/headers
: #60817 - Remove the warning for build worker when custom webpack present: #60820
- chore(deps): update
browserslist
andcaniuse-lite
: #60827 - feat: support custom image loaders in turbopack: #60736
- Ensure request specific caches for revalidate are reset: #60810
- Add metrics names for unstable_cache: #60802
- Fix: respect init.cache if fetch input is request instance: #60821
- Revert "Fix: Throw an error for empty array return in
generateStaticParams
withoutput:export
": #60831 - turbopack: rename custom cache handler configs: #60828
- dx: warn the deprecated cache configs are used: #60836
- Enable missing suspense bailout by default: #60840
Documentation Changes
- Docs: Update Server Actions Docs: #59080
- Docs: Polish Server Actions Page
💅🏼 : #59400 - Update 10-route-handlers.mdx: #59443
- docs: remove broken link: #59487
- Docs: Add App Router Testing Guides and update /examples: #59268
- docs: fix bad closed tag: #59575
- Fix closing tags for jest docs: #59579
- Docs: Fix formatting in testing docs and update examples dependencies: #59572
- Docs: Add missing closing tag: #59581
- Docs: Review and update
getServerSideProps
page: #59545 - docs: add note for environment variables on Vercel deployment: #59237
- docs(accessibility): updates WCAG version to 2.2: #59646
- docs: small tweaks: #59638
- docs: fix broken backtick for link: #59717
- Docs: Document
generateSitemaps
: #59626 - Docs: Polish testing section: #59618
- docs: improve docs around geolocation and IP headers: #59719
- Docs: Review and Typo Fix - getServerSideProps: #59616
- docs: fix vitest example link in testing with vitest: #59659
- docs: fix grammar issue in 03-get-server-side-props.mdx: #59670
- Includes section to
@next/third-parties
documentation for Google Analytics: #59671 - Change file extension to .tsx: #59763
- docs: clarify data fetching pattern: #59602
- change 'themeColor' to 'viewport' in the viewport section: #59764
- docs: add missing comma to sitemap.mdx: #59788
- Chore docs fix runon and definition of trailing slash redirect: #59889
- Minor grammar edits: #59887
- Introduce cache version history in cache API: #59799
- docs: correct type in sitemap.mdx: #59787
- chore(docs): Remove
typesafe-i18n
from thrid-party i18n options: #59624 - docs: Add Chakra UI setup guide: #59275
- Update not-found.mdx: #59478
- Updates references for styled-components configuration in next.config.js: #59495
- Update 05-mdx.mdx: #57988
- Mention remark-mdx-frontmatter in frontmatter docs: #59238
- Docs: Rename React Query to TanStack Query: #59004
- Add
cwd
to VSCode debugging setup steps: #58689 - [Docs]: fix tiny typo: #59897
- [docs] Add sensible name for Cookie deleting functions: #57893
- Update generate-viewport.mdx: #57701
- Update opengraph-image.mdx: #57810
- [docs] Update example links.: #57891
- docs: clarify setting and reading cookies from Route Handlers: #59915
- docs: add Sirv loader for next/image: #57102
- docs: fix prettier lint: #59918
- docs: Add media example for icon metadata: #56141
- Fix typo in generate-sitemaps.mdx docs: #59964
- Update 02-server-actions-and-mutations.mdx: #59935
- Update 08-parallel-routes.mdx: #59966
- Updates "No Before Interactive" error message for App router: #56033
- docs: Update Middleware docs on ignoring prefetches: #56799
- docs: add note that contentlayer is unmaintained: #59927
- docs: small changes to linking docs: #59982
- docs: opengraph / twitter image needs absolute URL: #59985
- docs: fix typo for
useFormState
: #60010 - docs: clarify using
redirect
with client components: #60056 - Update documentation to reflect added support for 'userScalable' field in 'viewport': #60033
- docs: Add section for CSP without nonces: #60067
- docs: update install count: #60072
- docs: fix version history order in sitemap.mdx: #60054
- docs: clarify generateStaticParams and dynamicParams: #60083
- docs: update
maxDuration
info: #60086 - docs:
⌘+Enter
for forms: #60090 - Clarify measurement ID in
Optimizing: Third Party Libraries
: #60136 - Update 03-css-in-js.mdx : fix typo: #60114
- docs: small wording fix for 03-linking-and-navigating.mdx: #60089
- Docs: If
revalidatePath
'spath
has dynamic segment path,type
must bepage
.: #59149 - docs: improve grammar: #60149
- Fix config code in the CSS-in-JS chapter: #60164
- Updating example with required content type in header: #59990
- Adds a section to
Optimizing: Third Party Libraries
on tracking pageviews for Google Analytics: #60176 - Update route-segment-config.mdx: #60179
- docs: Fix typo on generate-sitemaps.mdx: #60188
- small correction in 11-middleware.mdx: #60189
- docs(trailingSlashes): add note for SSG generation: #57628
- docs: fix typos and broken links in the image.mdx: #60221
- Docs: Fix
revalidate
type annotation: #60230 - Update 02-server-actions-and-mutations.mdx: #60222
- fix(docs): add missing docs on external packages: #60244
- Docs: Add "Going to production" page for App Router: #59304
- Docs: Update
compression
docs: #60264 - Docs: Clarify
useSearchParams
behavior: #60257 - Docs: Add more clarification about
compress
: #60268 - Clarify
searchParams
is not passed to Layouts: #60277 - docs(testing): add bun command to running your tests section: #60281
- chore(docs): add section for Custom Type Declarations: #60282
- docs: small corrections to bundle analyzer docs: #60285
- docs: typo fix in compression page: #60318
- docs: add example of webhooks with App Router: #60276
- docs: add optional catch-all segments typescript example: #60237
- Update use-search-params.mdx: #55357
- docs: address a few open issues: #60329
- docs: next/head: Document error cases with head/body-tags; add subheadings: #56412
- Fix bundle analyzer NPM package name in documentation: #60339
- [doc] Update 03-linking-and-navigating.mdx: #60345
- add missing types: #60346
- docs: update docs for
remotePatterns
to mention what happens when prop is omitted: #60387 - Docs: Update note on
@next/third-parties
being experimental: #60372 - chore(docs): fix 14 upgrade guide mentioning export: #60429
- chore(docs/errors): Improve documentation grammar: #60452
- Docs: Address Community Feedback: #60476
- for #59178 - addition to robots.mdx - Customize user-agent rules: #60361
- Docs: Document
windowHistorySupport
flag, and addpushState
/replaceState
examples: #60374 - docs: correct
windowHistorySupport
title: #60503 - chore: correct subject-verb conjugation in Client Components doc: #60538
- Add "Redirecting" page in the Routing section: #60435
- docs: small fix in Redirecting page: #60583
- fix(mdx): update word order, fix typo: #60466
- Add documentation for client router filter: #60585
- docs: Update Google Analytics error doc: #60612
- docs: remove Next 13 mention for App Router: #60632
- Fix Typo in Testing Documentation Description: #60601
- chore: remove duplicate package name: #60652
- chore(docs): add docs for
.svg
unoptimized behavior: #60735 - add authentication docs page: #60388
- chore(docs): fix example documentation for Art Direction: #60823
- docs: add build worker optout error back with upgrade advice: #60826
- Docs: Use JS comment for MDX: #60825
- Fix error from the auth docs.: #60829
Example Changes
- Updates the
with-vitest
example. Unlocks the tests passing withserver-only
usage: #58902 - Add text-wrap: balance to CNA template for card descriptions: #59384
- fix: Invalid next version tag name in with-cypress example: #59647
- Fix: Add matcher for middleware: #59651
- examples: Add new NextAuth.js example: #56914
- examples: add required env vars to auth example.: #59901
- examples: update Redis to App Router: #59311
- examples: remove broken deploy button: #58794
- examples: progressive enhancement for Redis example: #59937
- Update .env.local.example of with-firebase example: #59954
- Upgrade
with-algolia-react-instantsearch
example to latest major version and use app router: #59961 - Rename .env.local.example to .env.example: #59984
- Update Convex Example: #59789
- examples: Update next-forms example: #60052
- chore(cms-contentfu): fix contentful instructions: #60050
- examples: improve typings for i18n app dir: #60160
- chore(examples): migrate
image-component
example to App Router: #60289 - fix(#58695): improve zustand example: #58696
- examples: add allow-unauthenticated option to cloud run deploy: #58792
- fixed import path in with-jest template.: #60332
- chore(examples): fix image-component example viewsource paths, shimmer page filename: #60451
- Update
cache-handler-redis
example dependencies: #59458 - examples: Update hello world: #60502
- chore: Fix typo s/desireable/desirable/: #60518
- chore: Fix multiple typos: #60531
- examples: Update redis example with
useOptimistic
: #60596 - Update README.md: #60595
- chore(example): update storybook: #60737
Misc Changes
- Revert "Skip latest commit check for stable release": #59401
- ci(workflow): restore publish wasm binary: #59414
- ci: only run release commit check on canary releases: #59423
- test(runner): preserve browser tracing if test fails: #59469
- Adding Google analytics to next/third-parties: #58418
- ci(test): upload playwright artifacts seperately: #59496
- fix integration test workflow: #59508
- Fix third party typings: #59503
- test(fixture): try to include sources in the snapshot: #59499
- chore: bump typescript-eslint to 6.14: #59514
- Update Deployment Testing: #59448
- fix(playwright): teardown when global quit force terminates browser: #59548
- chore(create-next-app): bump prompts to v2.4.2: #59006
- types: cover the tests with root tsconfig.json: #59550
- Fix test/tsconfig.json alias for internal test utils: #59570
- test(integration): adjust fixture to work with turbopack: #59595
- Add test for importing client components from server actions: #59615
- chore: extends from shared base tsconfig: #59776
- Update Turbopack test manifest: #59798
- Fix CI: Skip test in PPR dev mode, too: #59817
- Add unstable_cache validate test case: #59828
- Update
swc_core
tov0.87.10
: #59834 - chore: add github bug report item type module resolution: #60121
- chore: add myself to created-by: Next.js team: #60144
- chore: include required Next.js stages to issue template: #60142
- searchParameters test for PPR: #59678
- Getting rid of a few TypeScript anys.: #60017
- fix responsiveness in starter templates: #60140
- fix(generators): update errors gen: #60233
- chore: test against latest sharp: #60226
- style: enforce prop immutability in new next app: #58845
- Update flakey test from port re-use: #60291
- chore: update pnpm to the latest (v8.14.0): #60295
- docs: update broken link in UPGRADING.md: #60342
- Update Turbopack test manifest: #60306
- Update Turbopack test manifest: #60371
- Update
swc_core
tov0.87.16
: #60192 - Add replay.io test suite dependencies: #60381
- chore: update turbo to the latest: #60294
- Update Turbopack test manifest: #60413
- Update testing contributor guide: #60421
- chore: skip flaky turbopack navigation test: #60431
- ci: skip cron workflows on forks: #60422
- Add reproduction for HMR moving / renaming files.: #57230
- add tests for incremental-cache: #60331
- chore: fix postinstall when using tarball: #60443
- test: use replay jest runner to add current test name to recording: #60438
- misc: Skip cron workflows on forks: #60487
- Handle pages double render for useParams in tests: #60486
- Transition some check calls in tests to retry: #60489
- Use next.config.mjs for CNA templates: #60494
- Update Turbopack test manifest: #60504
- run tests from test suite that are not listed in the manifest: #58401
- Add --ci to jest tests in CI: #60432
- Ensure aliased variable is used in test: #60428
- Update Turbopack test manifest: #60506
- Skip webpack loader test in Turbopack: #60509
- Revert "Skip webpack loader test in Turbopack": #60513
- Revert "Revert "Skip webpack loader test in Turbopack"": #60514
- Remove unused target: es5 from tsconfig.json in create-next-app: #60521
- refactor(cna): make
create-next-app
even smaller and faster: #58030 - Expand hydration error test to check recovery: #60423
- chore: update pull_request_approved workflow: #60537
- chore: add issue_popular workflow: #60543
- Update Turbopack test manifest: #60553
- chore: update next-repo-info actions: #60559
- chore(git): add
.git-blame-ignore-revs
: #60582 - chore: remove pr_approved workflow & update popular_issues workflow: #60584
- test(fixture): update assertion for turbopack: #60579
- Remove duplicate pages -> app test: #60589
- Update flakey dev middleware test: #60590
- Add hasRedbox fix: #60522
- Turbopack test updates: #60662
- Remove normalizeSnapshot as it is no longer used: #60664
- Stabilize flakey edge-module-error test: #60728
- Update module-layer test for Turbopack: #60707
- chore: bump nissuer: #60706
- test(fixture): update assertion for turbopack: #60750
- Update developing.md to include "Install Rust and Cargo" as 1st step: #60761
- Fix tests exit race condition: #60757
- Update ReactRefreshRegression test snapshot for Turbopack: #60767
Credits
Huge thanks to @delbaoliveira, @OlehDutchenko, @sokra, @huozhi, @shuding, @kwonoj, @ztanner, @eps1lon, @acdlite, @ebidel, @leerob, @janicklas-ralph, @wyattjoh, @ijjk, @JohnPhamous, @chentsulin, @akawalsky, @BlankParticle, @timneutkens, @ForsakenHarmony, @dvoytenko, @smaeda-ks, @kenji-webdev, @rv-david, @icyJoseph, @dijonmusters, @A7med3bdulBaset, @jenewland1999, @mknichel, @kdy1, @housseindjirdeh, @max-programming, @redbmk, @SSakibHossain10, @jamesmillerburgess, @minaelee, @officialrajdeepsingh, @LorisSigrist, @yesl-kim, @StevenKamwaza, @manovotny, @mcexit, @remcohaszing, @ryo-manba, @TranquilMarmot, @vinaykulk621, @haritssr, @divquan, @IgorVaryvoda, @LukeSchlangen, @RiskyMH, @ash2048, @ManuWeb3, @msgadi, @dhayab, @ShahriarKh, @jvandenaardweg, @DestroyerXyz, @SwitchBladeAK, @ianmacartney, @justinh00k, @tiborsaas, @ArianHamdi, @li-jia-nan, @aramikuto, @jquinc30, @samcx, @Haosik, @AkifumiSato, @arnabsen, @nfroidure, @clbn, @siddtheone, @styfle, @zbauman3, @gnoff, @anthonyshew, @alexfradiani, @CalebBarnes, @adk96r, @pacexy, @hichemfantar, @michaldudak, @redonkulus, @k-taro56, @mhughdo, @tknickman, @shumakmanohar, @vordgi, @StephDietz, @hamirmahal, @gaspar09, @JCharante, @sjoerdvanBommel, @mass2527, @N-Ziermann, @tordans, @davidthorand, @rmathew8-gh, @chriskrogh, @shogunsea, @auipga, @SukkaW, @agustints, @wbinnssmith, @feedthejim, @OXXD, @clarencepenz, @better-salmon, @808vita, @coltonehrman, @tksst, @hugo-syn, @JakobJingleheimer, @Willem-Jaap, @brandonnorsworthy, @jaehunn, @balazsorban44, @kooya3, @wan2land, @AugustinMauroy, and @williamli for helping!
v14.0.4
Core Changes
- Remove early return that is duplicated in useSearchParams: #58545
- Support passing a relative string to pushState/replaceState: #58438
- [.next/trace] Record start-dev-server trace span: #58469
- Update React from
593ecee
to2c338b1
.: #58553 - turbopack: Fix pageExtensions with dots: #58504
- fix: revalidation with file-system-cache: #58508
- fix: fetch() behavior when "dynamic" is "force-dynamic: #58484
- Add cacheNodeSeedData to RSC payload: #58566
- Lift subtree data out of React tree: #58569
- fix(next-core): allow runtime segment option in pages/api: #58409
- Update rust-toolchain to 2023-11-16: #58558
- refactor: Add lightningcss mode for
turbopack-css
: #58471 - fix: avoid race condition when download swc wasm: #58536
- Removed unused route resolver code: #58702
- Add experimental.windowHistorySupport to Turbopack supported options: #58717
- Improve Server Actions compiler: #58391
- Seed CacheNodes immediately after receiving response: #58669
- Turbopack: improve error display: #58734
- fix node externals resolving: #58129
- disable static prefetching behavior for dynamic segments: #58609
- fix: ensure DynamicUsageErrors caught during render bubble up: #58747
- fix image.domains deprecation warning: #58656
- fix waitUntil handling in pipeToNodeResponse: #58744
- Use consistent resolve extensions alias for compiler: #58725
- Turbopack: Use styled issue titles and details: #58743
- route handlers: make req.cookies opt you into dynamic: #58769
- OpenTelemetry: a more reliable way to establish a root context: #58662
- Revert "fix: fetch() behavior when "dynamic" is "force-dynamic": #58735
- [Instrumentation] Don't treat instrumentation hook as pages: #58775
- Fix turboFlag set to false: #58795
- [.next/trace] Track server requests and memory usage: #58690
- place virtual module inside the project directory: #58798
- fix rewrites to edge routes: #58797
- Polish unsupported metadata warning with doc link: #58750
- Enable .mjs extension config in Turbopack: #58825
- Turbopack: align automatic externals code with webpack: #58851
- Upgrade Turbopack: #58859
- OpenTelemetry: propagate context to sandbox: #58791
- fix uniqueness of layers: #58872
- disable flushToDisk during
generateStaticParams
: #58871 - Turbopack: enable some node.js builtin in edge runtime: #58850
- add
NEXT_TRIGGER_URL
env var to show request triggering a compilation: #58762 - Update
swc_core
tov0.86.81
: #58517 - Trace server updates: #58694
- remove duplicate util file for redirect status: #58878
- fix(windows): workaround for intermittent locks on windows when renaming files: #58835
- unify server action detection logic: #58879
- Fix nested fetch logging indentation: #58955
- Delete preloadComponent module: #58741
- Remove
cache
field from action types: #58938 - Add nodejs version check: #58958
- Code refactoring: #58737
- Fix bugs with baseUrl and mdxRs: #58968
- Fix encoding in encryption of Server Actions: #59000
- fix(turbopack): treat .mdx as valid ecma asset: #58985
- dedupe pending revalidation requests: #58990
- fix: Put back type for
NavigateOptions.scroll
: #59001 - Cleanup Render Result: #58782
- fix(turbopack): add list of packages that should never be marked as e…: #59020
- Testmode: provide test info for rewrite requests: #59033
- build(cargo): bump up turbopack: #59032
- fix async action queue behavior: #59038
- start performance profiling after node.js version is checked: #59028
- Fixed stale fetch using when page regenerates: #58926
- Enable PPR tests for test suites: #59030
- Update font data: #59043
- update status codes for
redirect
andpermanentRedirect
in action handlers: #58885 - Ensure stale build fetch data is not unexpectedly used: #59076
- add support for instrumentation: #59070
- use 303 status code for redirects in fetch actions: #59017
- verify action id before parsing body: #58977
- fix interception routes with rewrites: #59094
- Fix next internal is missing in flight manifest: #59085
- Support generating multi-meta tahs for metadata api other prop: #59106
- Turbopack: Align some "Module not found" errors with webpack: #58518
- Fix dynamic usage errors logging unexpectedly: #59133
- Fix: remove deprecated option from standalone server: #59036
- Update font data: #59138
- fix typedRoutes when used with webpackBuildWorker: #59140
- Add NEXT_MANUAL_SIG_HANDLE handling to start-server.ts: #59117
- Support adding CSP nonce with
content-security-policy-report-only
header: #59071 - chore: fix typo in jsDoc: #58224
- fix: add
maxDuration
toPageConfig
type: #55918 - Fix mixed module swc compilation for app router: #58967
- Don't catch ensureMiddleware errors: #59166
- fix behavior when revisiting an intercepted route: #59168
- Turbopack only enable instrumentationHook with experimental flag: #59173
- fix server actions behavior on intercepted routes: #59175
- Fix ssgCacheKey in minimal mode: #59181
- Update to latest version of @vercel/nft: #59183
- Ensure original history is read in effect: #58861
- fix some small turbopack issues: #59171
- fix tsconfig alias cycle: #59232
- Resolve build issues with symlinked files: #57412
- Disable more Turbopack build tests: #59245
- Remove
mutable
field from action types: #59221 - Add process.env.__NEXT_PPR to build config: #59253
- Fix dynamic transform ssr:false case for pages router with ESM: #59246
- Delete unused static prefetch code: #58783
- fix(next-core): adjust edge entry path: #59265
- feat: support outputFileTracing in App Router: #59139
- docs: fix
remotePatterns
link in image-config.ts: #59197 - Testmode: support edge functions inside a sandbox: #59179
- Update font data: #59271
- fix: properly call
normalizeDynamicRouteParams
inNextWebServer.handleCatchAllRenderRequest
: #58949 - add user-level tracing: #59284
- Fix app-dir - logging test in Turbopack: #59261
- update turbopack: #59285
- feat(turbopack): support loading WebAssembly in the edge runtime: #59013
- Fix barrel optimization to ignore layers: #59254
- fix interception routes with dynamic segments: #59273
- Clean up builtin
modularizeImports
configs: #59294 - Enable PPR for
dynamic = "force-dynamic"
: #58779 - remove additional static prefetch code: #59313
- add module tracing for client reference and next/dynamic walking: #59306
- side effects optimization: #58972
- Move App Router client-side constants to separate file: #59239
- reduce function calls in walk: #59332
- update turbopack: #59334
- disable unused next/dynamic walking in app dir: #59338
- fix hmr in multi-zone handling: #59307
- fix edge route catch-all param parsing: #59343
- add
logLevel
support to@next/bundle-analyzer
: #59228 - Fix server output bundling packages module resolving: #59369
- fix inconsistent scroll restoration behavior: #59366
- test: ability to use node debugger: #56277
- fixes the logging by showing full URLs only on demand: #58088
- rm console.log: #59381
Documentation Changes
- docs: Fix grammar in Caching section: #58070
- Update 01-installation.mdx: #58555
- Fix naming: #58539
- docs: clarify route handler caching: #58541
- [Next.js Docs] Adds
useOptimistic
link: #58706 - Docs: Add missing diagram : #59008
- Docs: Update revalidate example: #59002
- docs: patch upgrade guide to pin install version: #58993
- Docs: Delete fast refresh example: #59003
- docs:Add react hydration error case.: #59147
- Correcting the
webpack
function introduction: #58663 - Docs: Fix upgrade guide files: #59249
- docs: fix broken link to learn course: #59288
- docs fix: Server Action js example: #59159
- docs: Remove invalid URL: #58823
- Fix incorrect prop name in client component: #58591
- update: Firebase link to with-firebase example: #58621
- added comma to the props list: #58596
- Update 10-route-handlers.mdx: #59021
- Add documentation note about middleware and runtimes: #58873
- Revert "added comma to the props list": #59314
Example Changes
- Update
cache-handler-redis
example: #58562 - Update & Repair LRUCache importation on NextJS Rate Limit API example: #58060
- examples with-zustand update to app dir #52858: #58042
- examples: fix import statement for lru-cache: #58567
- examples: Remove outdated example: #58568
- feat(examples): add upload file example with Server Actions: #58467
- migrate with-cypress example to app dir: #58053
- fix lint in examples: #58630
- examples: add direct link to Dockerfile: #58793
- Update Electron Typescript Example with Best Practices: #58947
- Enable typechecking on config: #57892
- Updates with-supertokens example app: #58525
Misc Changes
- fix(turbopack):
e2e/404-page-router
test: #58146 - Turbopack: update to turbopack-231122.3: #58784
- make tests more stable: #58765
- chore(CI): improve datadog reporting: #58267
- chore(CI): add action to auto retry tests on canary and report failures after retries: #58774
- ci: unify reset project script: #58829
- ci: disable deployment protection for e2e test project: #58830
- fix(CI): retry-test action can't use env in
if
: #58838 - Update Turbopack test manifest from GitHub Actions artifact: #58394
- Increase default timeout for swc build: #59035
- chore: bump
nissuer
(issue validator): #59060 - fix(test): don't use latest sharp: #59074
- misc: disable automerge: #59077
- Update checkout step: #59079
- ci: don't try to upload to datadog for docs only changes: #59068
- misc: delete kodiak: #59082
- add full PPR e2e tests: #59025
- ci: don't retry or notify on failures from forks: #59118
- skip release if no new commits: #59134
- fix variable name in release workflow: #59135
- Update Turbopack test manifest: #59109
- fix(next-core): do not panic when parsing segment config: #59170
- Correctly skip build test for Turbopack: #59207
- Failing test for 59195: #59210
- ci: report daily turbo integration test results from this repo: #58965
- fix typo in daily turbopack integration test reporting: #59251
- fix missing echo in daily turbopack reporting: #59255
- fix missing checkout in daily turbopack reporting: #59256
- Add app router name to font tests: #59257
- Fix non bundler module resolution in ts for third-parties pkg: #59244
- fix dev parallelism in daily turbopack tests: #59287
- Update Turbopack test manifest: #59326
- Update tests for Turbopack: #59354
- Update Turbopack test manifest: #59356
Credits
Huge thanks to @timneutkens, @mknichel, @gnoff, @jridgewell, @gtjamesa, @mugi-uno, @better-salmon, @kentobento, @vivianyentran, @empflow, @leerob, @samennis1, @mkcy3, @acdlite, @kwonoj, @suhaotian, @wbinnssmith, @imevanc, @ztanner, @kdy1, @d3lm, @wyattjoh, @manovotny, @shuding, @sokra, @feedthejim, @dvoytenko, @ForsakenHarmony, @huozhi, @delbaoliveira, @amannn, @ijjk, @hallatore, @balazsorban44, @LukeSchlangen, @Dylan700, @mpsq, @mdio, @christianvuerings, @A7med3bdulBaset, @karlhorky, @simonhaenisch, @olci34, @zce, @LavaToaster, @rishabhpoddar, @smaeda-ks, @jirihofman, @codercor, @devjiwonchoi, @Willem-Jaap, @JackieLi565, @thoushif, @pkellner, @jpfifer, @quisido, @tomfa, and @raphaelbadia for helping!
v14.0.3
Core Changes
- Update React from
7468903
to0e352ea
: #58279 - fix(turbopack): support middleware in src: #58218
- Update font data: #58317
- Replace custom Thenable type with native Promises: #58337
- fix(eslint):
next/script
beforeInteractive
gives warning on appDir: #51148 - fix: import antd from es in modularizeImports: #57968
- fix(WellKnownErrorsPlugin): avoid compilation warnings array with empty items: #57768
- Add experimental support for history.pushState and history.replaceState: #58335
- Fix: expected "catch all routes" are not matched in “parallel routes": #58368
- fix: Don't reset shallow URL updates on prefetch: #58297
- fix: ensure batch values are sharable: #58315
- fix incorrect fetch cache handling: #58460
- turbopack: Don't error with legacy server actions boolean: #58416
- Update turbopack: #58408
- Upgrade vendored React: #58489
- Apply next/font to foreign code: #58461
- Turbopack: Use structured styled text in issue descriptions: #58156
- onHeaders updates for App Pages: #58410
- revalidate APIs should make route handlers dynamic: #58466
- remove optimistic navigation behavior when prefetch is false: #58413
- fix: set
x-forwarded-host
based on request: #58500 - Inline ChildProp: #58519
- Remove client only dynamic chunks from edge bundle : #56761
- tweak cache + revalidate fetch warning: #58505
Documentation Changes
- remove example for router.events as it does not exist: #58286
- chore(docs): fix typo: #58344
- docs: Update runtime table: #58361
- Update 08-parallel-routes.mdx: #58393
- Docs: Update middleware example snippet: #58488
- update meta variable to metadata variable so that the meta data updat…: #58396
- Update 07-error-handling.mdx: #58236
- docs: Added Kinde auth provider: #58231
- Update index.mdx: #58210
- Make example of passing down a Server Action more clear: #57972
- docs: Fix grammar in Styling section: #58071
- docs: Fix grammar in Client Components section: #58065
- docs: Fix grammar in Dynamic Rendering section: #58062
- Docs: fix grammatical issue in "Data Fetching Patterns" section: #58056
- Update 02-patterns.mdx: #58032
- Update 04-ci-build-caching.mdx - Add Jenkins: #58001
Example Changes
- examples: Update Middleware for CSP: #58300
- Remove copying of request headers to response: #58304
- update import path for GeitSans font to address deprecation warning: #58349
- Fix hydration error in headers example: #58383
- Fix typo: compoment -> component: #58330
- Update Dockerfile adding comment: #56646
- update(docs): next-forms fix unhandled run time error: #56600
- chore(examples): update styled-components: #56457
- Upgrade Convex example to convex@1.2.1: #54910
Misc Changes
- fix(ci): exclusion regex now actually works instead of ignoring all tests: #58259
- Update 15-content-security-policy.mdx
- Update 15-content-security-policy.mdx
- Update CLI version for deploy examples job: #58318
- fix hmr event, and avoid RSC fetch on any message: #58403
- fix branch name: #58132
- add test case to failing list for turbopack: #58435
- Revert "fix hmr event, and avoid RSC fetch on any message": #58452
- Add types to package.json: #58420
- chore: replace
fs-extra
usage inscripts/
: #57215 - Add performance.mark for next/third-parties for feature measurement: #57439
Credits
Huge thanks to @ForsakenHarmony, @gnoff, @leerob, @karlhorky, @j9141997, @acdlite, @devjiwonchoi, @hongaar, @MadCcc, @luismulinari, @timneutkens, @dumb-programmer, @ijjk, @nonoakij, @sokra, @ztanner, @franky47, @wyattjoh, @jridgewell, @kdy1, @janicklas-ralph, @SukkaW, @shuding, @delbaoliveira, @wbinnssmith, @robbertstevens, @bryndyment, @marcosmartini, @functino, @kentobento, @Anisi, @AdonisAgelis, @seangray-dev, @prkagrawal, @heloineto, @kn327, @ihommani, @MrNiceRicee, @falsepopsky, @thomasballinger, @tmilewski, and @huozhi for helping!
v14.0.2
Core Changes
- Fix nested esm package default import resolving mismatch: #57784
- [.next/trace] Serialize trace info across workers to preserve .next/trace with webpackBuildWorker: #57761
- Add @highlight-run/node to externals list: #57783
- perf: change the chunks configuration for server code: #57773
- [.next/trace] Add tags for webpack build worker: #57818
- chore: update otel: #57774
- refactor: remove unnecessary condition: #57835
- chore: remove styfle from
.vercel.approvers
: #57841 - Remove the
actionBrowser
to RSCclient
layering issue: #57842 - Prevent caching page with 304 status: #57737
- Ensure cache soft tags are correct: #57850
- Update React from
0c63487
to08a3953
: #57852 - Revert "perf: enable webpack build worker (#57346)": #57854
- Add
serverActions.allowedForwardedHosts
option: #57529 - chore: reword in tree-view: #57884
- Polish logging segments of page route: #57834
- Inherit title and description from metadata into social cards: #57857
- remove legacy handling for suspense option of next/dynamic: #57900
- fix(next-core): externalcjs resolve options: #57645
- ppr: fail static generation if postponed & missing postpone data: #57786
- Reduce FS access for incremental cache: #57902
- suspend in render, not in reducers: #56497
- move static worker IPC server behind experimental flag: #57943
- feat(turbopack): Experimental wasm build: #57906
- Fix client chunk loading encoding for dynamic route: #57960
- misc: fix serverComponentsExternalPackages usage for experimental.bundlePagesExternals: #57954
- Improve grammar of removable Babel config warning: #55088
- Remove throw for unknown messages in hot-reloader-client: #57353
- Improve CSRF protection error in Server Actions: #57980
- fix: updates for resuming postponed in minimal mode: #57375
- fix: ensure that postponed requests can be resumed in minimal mode: #58011
- Use distDir from webpack-config in createWebpackAliases: #57268
- use __NEXT_VERSION compile time replacement: #57512
- fixes a problem with cache invalidation : #58079
- feat: always use SWC Wasm fallback when running in WebContainer: #58081
- update turbopack: #58080
- fix: normalization and invariant fixes for ppr: #58105
- ppr: fix fetch postpone not having correct React version: #58107
- Fix incorrect normalizing in minimal mode: #58116
- put app client modules into a separate layer: #58130
- Revert "Revert "Add retry for fetching subsetted Google Fonts"": #58075
- build: Update
swc_core
tov0.86.40
and update turbopack: #57904 - fix(next-core): correct assets url reference condition: #58101
- build(package): clean up next-swc* pkg properties: #57908
- fix PPR build output logs: #58149
- Update React from
08a3953
to2983249
.: #58154 - fix: rsc normalization fixes: #58145
- Fix resume stream handling: #58159
- Forward headers from React to static output and dynamic render: #58162
- refactor(next-core): separate options context for pages/api: #58148
- update turbopack: #58172
- refactor(next-api): remove unused distDir: #57789
- Change allowed forwarded hosts to be allowed origins for Server Actions: #58023
- fail build if not using Next canary with PPR flag: #58203
- Reduce max header length emitted: #58204
- ensure experimental warning shows up when using PPR: #58206
- skip ppr throw for tests: #58208
- interception routes: fix interception for dynamic routes: #58198
- Update React from
2983249
to7508dcd
: #58216 - tweak postpone error copy & fix link: #58219
- Add helpful context to postpone reason if it's caught and logged or escapes: #58222
- Reword PPR caught bail out to avoid "postpone" terminology: #58223
- pass postpone through staticGenerationStore: #58229
- Updated React from
7508dcd
to7468903
: #58233 - [Docs]: Fix CLI link to server actions size limit docs: #58174
- refactor(next-core): apply correct url rewrite behavior: #58237
- update turbopack: #58243
- parallel routes: fix catch all route support: #58215
- avoid key conflict: #58249
Documentation Changes
- [docs] fix next.config.mjs using commonjs in the example: #57874
- Move link examples to only Pages Router docs.: #57758
- Update 05-mdx.mdx: #57866
- docs: Update MDX docs title.: #57963
- docs: improve non-encrypted HTTP conn to a secure: #57998
- docs: Revert part of sitemap docs change: #58010
- docs: useFormState and useOptimistic are now documented: #58064
- Correct prop name in
server-actions.mdx
: #58108 - typo: changed from next/server to next/og: #58143
- docs: Improve deployment docs on self-hosting.: #58027
- docs: small follow up on deployment docs.: #58158
- docs: remove duplicate ISR page.: #58164
- docs: remove note about generateMetdata: #58192
- docs: mention Middleware on src directory page.: #58193
- docs: fix typo in composition patterns section: #58197
- fix docs link for ISR: #58207
- Add PPR option to
next.config.js
docs: #58161 - docs: update analytics docs for
useReportWebVitals
: #58196 - Update 02-app-router-migration.mdx: #58253
Example Changes
- Remove `experimental: { serverActions: true } from examples as it is stable in next 14.: #57598
- Update
Explore the Next.js 13 playground.
toExplore starter templates for Next.js
: #57799 - Chore: simplify with-supabase example: #57562
- examples: cleanup: #57845
- Chore: refactor to use server actions in with-supabase example: #57858
- chore: cleanup more old examples.: #58066
- Add a self-hosted shared cache example: #58000
Misc Changes
- fix: update Next.js version in create-next-app: #57532
- Automatically update Turbopack test manifest: #57778
- fix(youtube-embed): each child in a list should have a unique "key" prop: #57579
- Update teamname in codeowners: #57775
- Simplify createNextInstall return type: #57760
- cleanup MR labeler config: #57827
- move release undraft step until after canary is fully published: #57324
- refactor: remove duplicated conditions
- Revert "refactor: remove duplicated conditions"
- Fix typo in run-tests.js: #57821
- fix: correctly set
x-forwarded-*
in Middleware: #57815 - chore: remove redundant jest config: #57151
- chore(test): run unit tests on node 18 and 20: #57199
- Move ReactRefreshLogBox-builtins tests to inline snapshots: #57952
- feat(turbo): use turbo gen instead of plop: #53684
- Skip webpack only test: #56929
- tweak stats action to pull in runtime sizes: #58005
- use createNextDescribe for test/development/basic tests: #58031
- Remove setPnpmResolutionMode as default is highest: #57828
- Remove installCommand on streaming-ssr test: #58037
- Remove installCommand on typescript-auto-install and pnpm-support: #58039
- Fix should have correct module not found error test: #57383
- Fix options of createNextInstall: #58036
- Fix update-turbopack-test-manifest.yml workflow: #58097
- Adjust update-turbopack-test-manifest.yml to run once per day: #58104
- Refactor repo-setup.js: #58131
- Update Turbopack test manifest: #58122
- Update turbopack label creation: #58214
- Fix test: #58228
- fix ppr test flake: #58232
Credits
Huge thanks to @huozhi, @mknichel, @Vadman97, @feedthejim, @dnhn, @jridgewell, @vinaykulk621, @RodrigoTomeES, @padmaia, @timneutkens, @ztanner, @sadikkuzu, @styfle, @shuding, @dijonmusters, @leerob, @gffuma, @ijjk, @balazsorban44, @Schniz, @kwonoj, @wyattjoh, @wbinnssmith, @joulev, @Athrun-Judah, @tknickman, @rasvanjaya21, @rashidul0405, @sokra, @d3lm, @nguyenbry, @kdy1, @Mwimwii, @gnoff, @sebmarkbage, @dumb-programmer, @manovotny, @molebox, @better-salmon, and @mrr11k for helping!
v14.0.1
Core Changes
- Add Next.js 14 codemods to CLI output.: #57552
- OpenTelemetry: propagate a configured context(s) to root requests: #57084
- debug: Add tags to next build traces to track build configuration in the .next/trace file: #56965
- [Traces] Await the flush of the trace write stream to make sure trace file is written: #57641
- Add node-pty to externals list: #57640
- fix: move logging config validation out of experimental: #57530
- Update font data: #57728
- Support viewport export via TS Plugin: #57554
- Fix: Build compilation warning when using middleware: #57685
- chore: Update flight-client-entry-plugin.ts typo: #57734
- Improve error for missing default export in dynamic metadata routes: #57711
- fix gsp tracing issue: #57766
- fix(turbopack): don't match empty route groups: #57647
- Update React from
8c8ee9e
to0c63487
and types: #57772
Documentation Changes
- Add missing dot in codemod command: #57536
- docs(fix): example text unescaped entities: #57255
- doc: Clarify built-in support for sass after installation: #57279
- Update docs with a Good to know box about using redirect in client components: #56966
- docs: fix 02-dynamic-routes.mdx: #57029
- Fix incorrect link in GTM docs: #57547
- Fix typos: #57592
- Add apostrophe 07-error-handling.mdx: #57626
- Fix: codemods.mdx Incorrect heading structure of next-og-import, meta…: #57605
- Typo fix, version "13" to "14": #57723
- Fix Google Tag Manager URL in Third Party Libraries documentation: #57731
Example Changes
- Fix: Call cookies function from route to flag as dynamic: #57494
- (Examples) Add
with-youtube-embed
example: #57367 - (Examples) Add
with-google-maps-embed
example: #57365 - update @types/react version in examples: #57259
- docs: fix broken link to demo: #57229
- (example update) Update example with-Clerk: #57050
- active-class-name example style js has not taken effect: #56136
- add inngest next.js example: #56049
- fix inngest example for 3.x sdk: #57712
Misc Changes
- update manifest: #57523
- update next/third-parties to use Next 14 or 13 as a peer dependency, instead of just 13: #57515
- Modify tailwindcss related dependency of
create-next-app
: #57262 - Remove extra CI step and lock Node.js version: #57769
Credits
Huge thanks to @dijonmusters, @sokra, @philwolstenholme, @IgorKowalczyk, @housseindjirdeh, @Zoe-Bot, @HanCiHu, @JackHowa, @goncy, @hirotomoyamada, @pveyes, @yeskunall, @vinaykulk621, @ChendayUP, @leerob, @dvoytenko, @mknichel, @ijjk, @hmaesta, @ajz003, @its-kunal, @joelhooks, @blurrah, @tariknh, @Vinlock, @Nayeem-XTREME, @aziyatali, @aspehler, @huozhi, @ztanner, @ForsakenHarmony, @moka-ayumu, and @gnoff for helping!
v14.0.0
Core Changes
- perf: fix server trace file logic : #56898
- feat: drop Node.js 16: #56896
- Update React from
d900fad
to09fbee8
. Removes server context and experimental prefix for server action APIs: #56809 - feat(env): upgrade
dotenv
: #38481 - Update Babel dependencies: #51962
- perf: fix tracing for routes: #56924
- build: Update
swc_core
tov0.86.1
: #56770 - feat: set status code to 500 if unexpected error occurs before streaming in app router: #56236
- cache: add unstable_noStore API: #56930
- Adding component to @next/third-parties: #56106
- Replace
Promise.withResolvers
polyfill withDetachedPromise
: #56954 - chore(next/image)!: mark
onLoadingComplete
as deprecated in favor ofonLoad
: #56944 - chore: lower Node.js version requirement: #56943
- fix typos: #56870
- Update React from
09fbee8
toa419575
: #56970 - Reland "feat(turbopack): support basic next/dynamic": #56934
- Add
@mui/icons-material
to the defaultoptimizePackageImports
list: #56801 - add better logs around worker restarts: #57004
- Handle Promise Rejections for Streams: #56976
- Web Streams cleanup: #56819
- chore(next/image): remove deprecation of
onLoadingComplete
temporarily: #57020 - Revert "chore(next/image): remove deprecation of
onLoadingComplete
temporarily": #57024 - Improve performance of String.prototype.split uses: #56746
- chore: support progressive jpg with sharp: #56617
- Move ImageResponse to next/og: #56662
- Prefer module over main on main fields for app router server compiler: #56960
- chore: upgrade
jest
: #56909 - chore: drop
undici
: #56899 - Bump packages version to match canary versions: #57071
- codemod: migrate ImageResponse imports: #57074
- chore(next/image)!: mark
domains
as deprecated in favorremotePatterns
: #57062 - Code frame and sourcemapped error support for Turbopack: #56727
- Update flakey build trace case: #57092
- build: don't error when bundling optional peer deps: #57073
- Expose Experimental Taint APIs: #56507
- Update font data: #57094
- Upgrade edge-runtime/cookies: #57124
- Remove warning messages: #57087
- Add retry for fetching subsetted Google Fonts: #56583
- Update React from
a419575
tod803f51
: #57015 - prefer Option<Vc> over Vc: #57104
- chore: drop
form-data
: #57141 - chore: drop web streams polyfilling on
globalThis
: #57077 - chore: create template from
next-edge-ssr-loader
: #56715 - Remove the experimental
serverActions
flag: #57145 - Route Handler Types: #57070
- Revert "Add retry for fetching subsetted Google Fonts": #57154
- Display experimental features for next build: #57152
- Cleanup Request Meta: #57144
- chore: move layer from chunking context to asset context: #57149
- Turbopack: support more server code in tracing error stack frames: #57156
- misc: fix injecting --inspect with NODE_OPTIONS: #57159
- Encoding and decoding variables of Server Actions from the closure: #56377
- Remove printing fixed issues for Turbopack: #57188
- Refactor code: #57189
- Polish auto create layout warning color: #57190
- improve server actions error when on unsupported node version: #57191
- Fix two tests that use exportPathMap for Turbopack: #57194
- fix(loader_tree): propagate metadata to corresponding layout: #56956
- Polish the error message when using "use client" from a client action: #57164
- fix(next-core): align edge chunking context's asset root: #57022
- Leverage defineEnv for all environment variables in Turbopack: #57196
- perf: memory usage tweaks: #57163
- update turbopack: #57176
- Move webpack aliases into separate file: #57233
- Remove scheduler/tracing alias as the file no longer exists: #57234
- test: stablize the metadata url tests: #57204
- Polish turbopack start logging: #57203
- Remove reactServerCondition property as it is not used: #57236
- Add CompilerAliases Type: #57237
- Turbopack: fix over-invalidation of node.js assets: #57240
- Simplify options passed to createWebpackAliases: #57239
- Fix relative metadata url resolving on windows: #57265
- Improve encryption of Server Actions closure arguments: #57227
- chore: fix a typo: #57272
- Fix unmatched WebSocket upgrade requests being closed: #57245
- perf: fix memory leaks in the edge runtime in dev: #57235
- chore(export)!: remove
next export
in favor ofoutput: export
in next.config.js: #57085 - Simplify iv prefixing of Server Actions encryption: #57274
- Update Pathname Normalizers: #57161
- Move logging option to stable: #56791
- Polish compiling and turbopack logging: #57270
- Revalidate Header Updates: #57162
- Enhance Buffered Transform Stream: #57267
- React Aliases: #57283
- perf: remove
parse-body
from the server runtime: #57280 - Improve encryption of Server Actions bound values: #57297
- Add
__nextjs_pure
helper : #57286 - only log export-no-custom-routes warning if unsupported: #57298
- revert "React Aliases (#57283)": #57299
- Fix client reference proxies: #57301
- fix(turbopack): write manifests for edge app pages and use proper edge entry: #56675
- Partial Prerendering: #57287
- Optimize server bundle size: #57305
- misc: fix bundling of experimental: #57311
- Fix no-store/revalidate 0 inside of unstable_cache: #57313
- update turbopack and add HMR test case: #57304
- Fix nested unstable_cache revalidating: #57316
- Revert "Add
__nextjs_pure
helper ": #57318 - bundle analyzer artifacts: #57307
- PPR Fetch Fix: #57327
- feat: Add
__nextjs_pure
back: #57328 - Fix trace ignores: #57331
- PPR Support: #57319
- fix: ensure generateStaticParams isn't required for PPR: #57333
-
taint
flag should enable experimental react in turbopack: #57315 - Fix app ISR error handling: #57332
- fix metadata url resolving with path posix: #57343
- Get rid of semver from the server bundle: #57321
- fix(next_core): align remove trailing slash: #57344
- perf: avoid using raw-body for server actions: #57358
- fix(next-core): apply correct jsx transform context for ssr: #57300
- Refactor code: #57382
- Fix request body hanging when middleware is preset: #57381
- Turbopack: inject chunk group list file into the page for server component CSS: #57376
- Viewport exports: #57302
- Add websocket to server-external-packages: #57389
- turbopack: Implement Server Actions from Client Components: #57391
- Refactor swc options: #57369
- Ensure unstable_cache revalidate option enables ISR: #57390
- Fix logging removed experiments in start logs: #57373
- fix(next-core): adjust og alias: #57431
- Turbopack: avoid crashing when server actions can't parse the file: #57424
- Turbopack: avoid sending serverComponentChanges with errors: #57425
- update turbopack: #57420
- handle finish building message on client side: #57363
- remove invalid argument: #57438
- misc: build output rework: #57440
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
- use postcss transforms consistently also on server side: #57434
- feat(turbopack): add support for parallel routes and route interception: #57450
- Apply react-server condition for pages api: #57459
- Remove wasm target: #57437
- add better messaging around wrapping postpone with try/catch: #57446
- misc: fix unhandled err worker hook : #57465
- misc: fix build output: #57466
- turbopack: Fix Server Actions in Edge runtime: #57462
- Fix Regex: #57461
- perf: enable webpack build worker: #57346
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
- add node:url alias: #57478
- update turbopack: #57469
- Turbopack: add HMR update message: #57476
- Revert "fix turbopack invalidations (#57362)": #57480
- Filter out CSS files from middleware files and client reference chunks: #57482
- turbopack: Support Actions in both RSC and Client layers: #57475
- Fix missing SWC transforms for optimized barrel files: #57474
- if there are errors during postpone, or postpone was caught, fail static generation: #57477
- Add deprecation warning for disabling output file tracing: #57467
- Move serverActionsBodySizeLimit to serverActions.bodySizeLimit: #57433
- Update React from
a998552
to8c8ee9e
: #57483 - update turbopack: #57485
- fix client-only alias in SSRed client components: #57484
- revert ppr logging changes: #57486
- Don't terminate PPR renders with dynamicUsageErr: #57488
- update turbopack: #57487
- revert "Apply react-server condition for pages api (#57459)": #57500
- Revert "Apply react-server transform and valication to middleware (#5…: #57504
Documentation Changes
- Docs: Add documentation for next/third-parties: #57345
- Update 05-mdx.mdx . Fix key of the prop: #56883
- chore(docs): fix missing fallback on next/image sizes example: #56718
- Fix typos in duplicate-sass.mdx: #57045
Example Changes
- chore: Refactor with-supabase example to use ssr package: #57100
- Fix: catch expected error in with-supabase example: #57378
Misc Changes
- improve next-image-proxy test: #56893
- chore(test): test remote image from proxy: #56895
- ensure kodiak is re-added to apps list after code-freeze action: #56907
- chore: reduce
fs-extra
usage inscripts/
: #56917 - chore(test): set
COREPACK_ENABLE_STRICT: 0
for create-next-app tests: #56955 - Add .yarn/install-state.gz to .gitignore: #56637
- chore(test): add logs for create-next-app tests: #56957
- chore: revert back to moving files w/
fs-extra
: #57030 - Update CNA tests to avoid publish conflict: #57025
- build(cargo): bump up turbopack: #57081
- Update CNA tests more: #57088
- Update runner for e2e deploy tests: #57089
- update test manifest: #56938
- make test case less flaky: #57138
- Refine eslint rule: #57143
- Update eslint config: #57146
- Reduce e2e deploy concurrency: #57142
- Mark most GTMParams as optional: #57153
- chore: Add condition to skip update-fonts workflow on forks: #57165
- Fix SCSS and SCSS loader handling tests for Turbopack: #57192
- Skip webpack test in Turbopack test run: #57195
- Skip output export production tests for Turbopack: #57197
- Turbopack: reenable some skipped test cases: #57177
- update test manifest: #57105
- Update
swc_core
tov0.86.10
: #57121 - Import turbo daily integration test workflows: #57083
- Skip i18n-ignore-rewrite-source irrelevant tests with turbopack: #57289
- Increase concurrency for turbopack test run: #57290
- Update unrelated mdx tests with turbopack: #57294
- Skip i18n-ignore-rewrite-basepath-source irrelevant tests with turbopack: #57295
- Update React from
d803f51
tob8e47d9
: #57296 - Increase build-native CI job timeout: #57314
- Revert "Increase build-native CI job timeout (#57314)": #57325
- fix async-modules test: #57320
- update turbopack test manifest: #57357
- Split jsconfig-paths and jsconfig-paths-wildcard tests: #57360
- disable opentelemetry test in turbopack: #57361
- test(turbopack): update test manifest: #57366
- test(next-image): adjust assertion compatible to turbopack: #57350
- disable test temporarily: #57368
- update manifest: #57421
- enable e2e tests with turbopack: #57432
- Turbopack: disable webpack specific test cases: #57423
- Update React from
b8e47d9
toa998552
.: #57442 - Update publish-native script for wasm change: #57472
- update manifest: #57468
- update manifest: #57468
Credits
Huge thanks to @A7med3bdulBaset, @acdlite, @Andarist, @berlysia, @Bsodoge, @dijonmusters, @dpnolte, @feedthejim, @ForsakenHarmony, @gnoff, @housseindjirdeh, @huozhi, @ijjk, @janicklas-ralph, @jridgewell, @JuanM04, @kdy1, @kwonoj, @leung018, @nil1511, @padmaia, @philwolstenholme, @ryo-manba, @sebmarkbage, @shuding, @sokra, @styfle, @SukkaW, @timneutkens, @tomocchino, @wbinnssmith, @WhoAmIRUS, @wyattjoh, @xiaolou86, @Yovach, @ztanner and @balazsorban44 for helping!
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.