v14.0.0
Core Changes
- perf: fix server trace file logic : #56898
- feat: drop Node.js 16: #56896
- Update React from d900fadbf to 09fbee89d. 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 09fbee89d to a41957507: #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 a41957507 to d803f519e: #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 a9985529f to 8c8ee9ee6: #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 d803f519e to b8e47d988: #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 b8e47d988 to a9985529f.: #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!