Update nextjs monorepo to v13 #15

Merged
kjuulh merged 1 commits from renovate/nextjs-monorepo into main 2022-10-27 09:38:39 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
eslint-config-next devDependencies major 12.0.3 -> 13.0.0
next (source) dependencies major 12.2.5 -> 13.0.0

Release Notes

vercel/next.js

v13.0.0

Compare Source

Core Changes
  • Use resolved url in flight entry loader: #​40697
  • Handle redirects in new router: #​40396
  • Combine redirect function in new router: #​40717
  • fix: InferGetServerSidePropsType and InferGetStaticPropsType: #​40635
  • Update to leverage AsyncLocalStorage for app static handling: #​40727
  • Change flight querystring to header: #​40752
  • Improved bundling strategy for the server graph: #​40739
  • Remove unnecessary experimental flag: #​40766
  • next-swc: add next-font-loaders to crates/core: #​40221
  • Add next font package: #​40227
  • Strip internal pages for pagesDir in app edge ssr: #​40776
  • Add support for font loaders: #​40746
  • Set __NEXT_NEW_LINK_BEHAVIOR in Jest tests when newNextLinkBehavior is true: #​40702
  • Add handling for 404 in new router: #​40787
  • Fix alias paths for bundling: #​40800
  • Fix required server files for font loader manifest: #​40784
  • Add local font loader: #​40801
  • Update error handling during app static generation: #​40823
  • Handle redirect in same way as 404 in new router: #​40796
  • build: upgrade edge-runtime: #​40788
  • Allow export const in font loader: #​40836
  • chore: Update swc: #​40832
  • Update app-router options type: #​40862
  • Flight client navigation error: #​40861
  • Use startTransition for hydrateRoot to opt-in to non-blocking hydration: #​40874
  • Add optoutServerComponentsBundle option: #​40770
  • Apply #​40833: #​40872
  • Upgrade react@experimental: #​40885
  • Update handling of redirect/404 throw to cross server->client boundary: #​40890
  • Update pre-compiled: #​40914
  • Update font loader output path: #​40868
  • Disable head element lint rule for appDir: #​40921
  • Should resolve esm external module imports on server: #​40865
  • edge-ssr: bundle next/dist as ESM for better tree-shaking: #​40251
  • Improve types for <Image /> and responseLimit: #​40863
  • chore: Update swc: #​40928
  • Ensure skipClientCache is honored for router.push: #​40932
  • Fix bundling and module resolution in the server layer: #​40818
  • Handle loading returning undefined: #​40938
  • Fix SWC loader ignore for the server layer when Babel is used: #​40939
  • Code refactoring for webpack-config: #​40942
  • Merge e2e test node_modules: #​40926
  • Rename 404 -> not-found for new router: #​40941
  • remove reducer from server bundle: #​40959
  • edge] serialize custom config to middleware-manifest: [#&#8203;40881](https://github.com/vercel/next.js/issues/40881)
    
  • Font loader support in app: #​40898
  • docs: add inline documentation for Link props: #​40855
  • feat(experimental): option to polyfill fetch using undici in Node.js <18: #​40318
  • Update return shape of generateStaticParams: #​40965
  • remove legacy transform code: #​40966
  • Revert "edge-ssr: bundle next/dist as ESM for better tree-shaking (#​40251): #​40967
  • Update to use HEAD request for middleware query hydration: #​40973
  • Revert "Merge e2e test node_modules (#​40926)": #​40974
  • edge-ssr: bundle next/dist as ESM for better tree-shaking (#​40251): #​40980
  • Rename flight parameters to rsc/next: #​40979
  • Remove outdated warning: #​40988
  • misc: add MANGLING_DEBUG option: #​40958
  • Fix wrong code condition used when bundling the server: #​40987
  • Move pagesDir handling out of wrappedRender: #​40995
  • Fix unused CSS module imports are tracked on the server: #​40996
  • Skip creating virtual app client entry for pages: #​41000
  • chore: remove unsless @​ts-ignore: #​40992
  • Add support for fallback font and css variable for font/local: #​40990
  • Use throw to trigger Suspense to avoid use() in reducer warning: #​40950
  • chore: Update swc: #​40983
  • Revert "chore: Update swc": #​41015
  • Docs for experimental font optimization adjustFontFallbacks: #​40771
  • Drop legacy React DOM Server in Edge runtime: #​40018
  • misc: make useReducerWithDevtools noop on server: #​41019
  • Remove reload on serverComponentChanges in pages: #​41020
  • chore: Update swc_core to v0.28.10: #​41016
  • Alias all client, shared, pages dist assets for esm: #​41034
  • Add Replay integration for dev e2e tests: #​40955
  • Add with-xata example: #​39864
  • Make sure polyfills are added for browsers without module support: #​41029
  • Move handling of navigation to pages from new router: #​41001
  • Adding experimental size adjust based option: #​41009
  • chore: add build step to eslint-plugin-next: #​38647
  • chore: make sure polyfills are built for pnpm dev: #​40335
  • refactor: migrate eslint-plugin-next to typescript: #​41046
  • Improve experimental feature naming: #​41060
  • Full page reload when navigating to new root layout: #​40751
  • Use deterministic module IDs for server: #​41066
  • Accept variable prop in google font loader: #​41065
  • Font loader call json parsing fix: #​41052
  • build(next/swc): consolidate swc_core dependency version: #​41043
  • Skip pagesDirRules when pagesDir is not present: #​41075
  • Fix experimental undici warning: #​41077
  • Temporarily disable prefetch in new router: #​41086
  • Add conflicting app and page error: #​41099
  • chore(server): improve dev logs formatting: #​41109
  • rename flush effects to server inserted html: #​41073
  • Check required root layout tags: #​41120
  • Lint files with mjs, mts, cjs and cts extension by default: #​40879
  • Improve error messages of server compilation: #​41136
  • Fix edge function req.url handling with rewrite: #​41139
  • Ensure entry tracing applies for app correctly: #​41140
  • add attribution to web vitals: #​39368
  • Update minimum required Node.js version to v14: #​41150
  • Handle hmr for edge ssr in app dir: #​41156
  • chore: Update swc_core to v0.28.20: #​41153
  • Remove unnecessary moduleId option: #​41160
  • Apply experimental configs for middleware: #​41142
  • Fix reading edge info for app paths: #​41163
  • Fix warning messages for next export: #​41165
  • Refactor app dir related flags: #​41166
  • Fix prefetch for new router: #​41119
  • Disable built-in css-in-js transform on server layer: #​41040
  • docs(image): improve error message when sharp is missing in standalone mode: #​41133
  • Fix latest experimental react and experimental-edge and unpin test versions: #​41200
  • Font loader with babel error: #​41151
  • Remove hook_optimizer transform: #​41203
  • chore: Update swc_core to v0.29.5: #​41181
  • Update edge runtime to 1.1.0-beta.37: #​41211
  • Alias next/dynamic to lazy impl for appDir: #​41216
  • Do not bundle react-dom in the SSR build: #​41227
  • Add response stream errorhandling in edge-function-runtime: #​41102
  • App font file preload: #​41158
  • Fix app static generation cases: #​41172
  • Enabel appDir when flag and dir existed at the same time: #​41233
  • Font loaders next config shape: #​41219
  • refactor dev overlay into hot reloader: #​41231
  • fix(middleware): 'instanceof Function' is dynamic code false-positive: #​41249
  • Snyk upgrade 2701033: #​41240
  • fix(ts): relax AppProps to not require generic: #​41264
  • Recover from font loader error in dev: #​41251
  • Handle as on next/link with new router: #​41285
  • Load beforeInteractive scripts properly without blocking hydration: #​41164
  • Add test for link back to original page: #​41297
  • Local font files adjust fallbacks: #​41180
  • Update middleware query hydration handling: #​41243
  • Fix NextUrl trailing slash normalize for data route: #​41311
  • Global layouts error boundary: #​41305
  • fix(image): don't show placeholder warning in Jest: #​41329
  • Handle error overlay for new router: #​41325
  • fix(standalone): support type: "module": #​41268
  • perf: lazyload the edge runtime in NextServer: #​41322
  • Add pretty error when image import is invalid format: #​41267
  • chore: Update swc_core to v0.32.8: #​41304
  • Client component directive: use client: #​41333
  • Fix middleware rewrite for _next/data: #​41341
  • Add codemods for next/image: #​41004
  • Fix middleware URL normalize case: #​41342
  • Update next/image codemod to handle require(): #​41345
  • Ensure RSC paths are normalized in minimal mode: #​41348
  • Refactor error overlay for new router: #​41343
  • inline httpproxy usage: #​41330
  • proper error if middleware or api/route not return a Response: #​41336
  • Fix CSS imports tree-shaking: #​41357
  • Ensure content is kept rendered below the error overlay on build errors in new router: #​41360
  • refactor(#​41164): polyfill-module should block hydration: #​41352
  • Fix onLoad prop in next/future/image: #​41374
  • Add exports for new router: #​41368
  • App font loader tree shaking: #​41384
  • perf: lazy eval headers from the requestStore: #​41353
  • fix: disable css cache busting in production: #​41392
  • Upgrade next-swc-napi to NAPI-RS v2: #​40094
  • Fix prefetching for static app paths: #​41398
  • perf: lazy evaluate more modules: #​41354
  • BREAKING CHANGE: Rename next/image to next/legacy/image & rename next/future/image to next/image: #​41399
  • Fix edge workers being re-used unexpectedly: #​41402
  • Remove edge shared deps: #​41413
  • Upgrade React experimental: #​41419
  • Update edge runtime to 1.1.0-beta.39: #​41418
  • Update flakey dev AMP tests: #​41428
  • Add new diagnostics: #​41429
  • Move root layout validation: #​41338
  • chore: bump server pre-compiled target to Node.js 14: #​41424
  • Fix middleware dynamic route param on query hydration: #​41436
  • chore: Update swc_core to v0.38.4: #​41401
  • Don't show error overlay for not found and redirect: #​41438
  • Change useSearchParams to URLSearchParams: #​40978
  • perf(#​41392): improve cache busting inject performance: #​41443
  • Rename reload to refresh in new router: #​41448
  • Disable isNavigatingToNewRootLayout: #​41457
  • fix(app-render): make css and font respect assetPrefix: #​41455
  • Ignore serverComponentChanges in pages: #​41464
  • Include frameworks in main-app: #​41465
  • Fix typo and add comment to next/image SyntheticEvent: #​41480
  • Update next/image docs and examples: #​41434
  • chore: Update swc_core to v0.38.22: #​41477
  • Fix useSearchParams comment: #​41483
  • fix(stream): Allows body larger than 16 KiB with middleware: #​41270
  • fix(41456): check src/app folder too in getHasAppDir: #​41458
  • BREAKING CHANGE: Enable newNextLinkBehavior: #​41459
  • Avoid using the CSS href as the link tag key: #​41493
  • Fix global css being marked as side effect free: #​41481
  • Append the fragment in NextUrl.toString(): #​41501
  • Add vary header to fix incorrectly caching RSC as HTML response: #​41479
  • Enable swcMinify by default: #​41506
  • Move fetch revalidate config under next options: #​41505
  • Fix app sc_client componet HMR server-side: #​41510
  • fix(ts): Cookies -> NextCookies: #​41491
  • Update edge runtime to 1.1.0-beta.40: #​41513
  • BREAKING CHANGE: Remove target: serverless: #​41495
  • Fix next-app-loader bug in windows: #​41520
  • Prebundle react for appDir: #​41337
  • BREAKING CHANGE: Remove browsersListForSwc and change default to legacyBrowsers: false: #​41529
  • chore: Update swc_core to v0.39.7: #​41544
  • Mark styled-jsx as client-only package: #​41414
  • Fix case where dispatch was missing: #​41553
  • Upgrade react-server-dom-webpack and precompiled assets: #​41547
  • Improve type checking: #​41427
  • Create hash digest for errors in app in production: #​41559
  • fix: allow user directory with styled-jsx prefix in next dev: #​41484
  • Fix next/image svg blur placeholder with fill: #​41573
  • Add TypeScript plugin: #​41569
  • Update RSC detection in minimal mode and fix config collection: #​41541
  • Add back() and forward() to new router: #​41575
  • Update page config APIs: #​41580
  • Improve server bundling strategy: #​41584
  • Update error message for invalid react-dom/server imports: #​41582
  • Support overriding request headers in middlewares: #​41380
  • Check root layout change on client: #​41475
  • Full remaining path in selected layout segment: #​41562
  • Add back/forward test for new router: #​41590
  • perf: refactor path logic in router + add LRU cache: #​41365
  • Add transpilePackages option: #​41583
  • Font loader types: #​41591
  • Updating size-adjust calculation: #​41406
  • Fix missing JSON.stringify in loader: #​41599
  • Root layout head not required: #​41621
  • feat(edge): adds AsyncLocalStorage support to the edge function sandbox: #​41622
  • Add support for images.loaderFile config: #​41585
  • BREAKING CHANGE: Remove React 17: #​41629
  • Update next-image-experimental codemod to handle loaders: #​41633
  • Font loader default config: #​41628
  • Disable using prebundled of react for appDir: #​41635
  • Refactor hot-reloader client for app: #​41598
  • Enable ReactRefreshLogBox-builtins.test.ts, remove loader from import trace: #​41645
  • layout: add build status for app routes: #​41627
  • Update @​types/node to 14.14.31: #​41634
  • Change data-nimg attribute on next/image: #​41612
  • chore: Update swc_core to v0.40.7: #​41613
  • Update to handle correct react version with app: #​41658
  • Improve errors for invalid component export: #​41657
  • Add experimental warning note: #​41666
  • Bundle ssr client layer excepts react externals: #​41606
  • Improve error message for wrong props: #​41668
  • Remove deprecated webpack5 config option: #​41667
  • Improve error messages: #​41669
  • Create root layout: #​41523
  • Ensure we properly normalize /index in minimal mode: #​41678
  • Update params of PageProps to string map: #​41677
  • Expose AsyncLocalStorage on global for react: #​41683
  • Update URL malformed edge error: #​41685
  • Update to latest react experimental: #​41671
  • Revert "Add experimental warning note": #​41688
  • Fix typos: code comment: #​41691
  • useSelectedLayoutSegment -> useSelectedLayoutSegments, add useSelectedLayoutSegment with previous behavior: #​41693
  • Ensure AsyncLocalStorage for static generation is shared for client & server: #​41695
  • App dir sass: #​41690
  • chore: Update swc_core to v0.40.13: #​41692
  • Disable esm resolving for appDir and alias react: #​41687
  • Print error when next dev has conflicting app & page: #​41656
  • Support next option for Request: #​41614
  • Revert "chore: Update swc_core to v0.40.13": #​41699
  • Revert "Revert "chore: Update swc_core to v0.40.13"": #​41700
  • chore: Update swc_core to v0.40.16: #​41702
  • Move redirect and notFound to navigation exports: #​41703
  • Font subsets in function call: #​41694
  • Include resolved external package dirs: #​41706
  • Fail on prerendering with dynamic error config: #​41707
  • Update precompiled react to next channel: #​41708
  • Emit VSCode settings for TypeScript: #​41710
  • Upgrade Edge Runtime v.1.1.0: #​41727
  • Fix module trace error messages to not include queries: #​41738
  • Fix ignored file path: #​41747
  • Fix static generation and crawler requests: #​41735
  • Add error if app detected but config is missing: #​41696
  • Add default not found template: #​41750
  • Remove unneeded types: #​41752
  • Add message for appDir feedback: #​41751
  • feat: set a better type for the default image loader : #​41639
  • Fix edge entry layer resolution bug: #​41757
  • Dont apply existing externals path changing to rsc layers: #​41744
  • Pathname and search params SSG: #​41247
  • Update react next channel: #​41761
  • Font description and error messages: #​41764
  • Updating avg width metrics for google fonts: #​41755
  • Bump minimum Node.js version to 14.6.0: #​41765
  • Throw error child in : #​41756
  • typescript] fix typo in edge runtime name: [#&#8203;41773](https://github.com/vercel/next.js/issues/41773)
    
  • Only import dev overlay for dev mode: #​41771
  • Add initial head handling in app: #​41607
  • Fix revalidate during dev: #​41772
  • Fix no-store test case: #​41775
  • Ensure async_hooks are not resolved for client: #​41778
  • Make ship happen: #​41776
  • Add head handling: #​41768
  • Update async storage fix: #​41779
Documentation Changes
  • Updated example for i18n middleware: #​40728
  • docs: Remove extraneous FallbackComponent prop from error boundary docs: #​40785
  • Update static-html-export.md: #​40808
  • Add additional fix in hydration error document: #​40675
  • docs] Update Cypress config file name: [#&#8203;40849](https://github.com/vercel/next.js/issues/40849)
    
  • update url for React Hydration Documentation: #​40883
  • Typo in middleware upgrade guide: #​40963
  • Add useState and useEffect import: #​40944
  • Fix broken link in migration docs.: #​41013
  • Add Enterspeed blog example: #​35897
  • docs] Improve documentation around `pageExtensions`: [#&#8203;40039](https://github.com/vercel/next.js/issues/40039)
    
  • (Docs) getStaticProps & getServerSideProps TS section (#​40607): #​40639
  • class component -> functional component: #​41089
  • Docs: Fix misleading console.log output example: #​41096
  • Add note to incremental migration about dynamic routes + fallbacks: #​41147
  • Fix docs for next/image unconfigured hosts: #​41223
  • Update introduction.md: #​41226
  • Update security-headers doc: #​41312
  • docs: clarify redirects on client-side navigation: #​41362
  • Update node-module-in-edge-runtime.md: #​41375
  • docs: note MDX with remark-gfm usage: #​41391
  • docs: more detailed error message when failing to parse a middleware matcher: #​41390
  • Update docs with minimum node version 14.x: #​41482
  • Add remotePatterns link to next-image-unconfigured-host: #​41504
  • docs] fix grammatical error [#&#8203;41507](https://github.com/vercel/next.js/issues/41507): [#&#8203;41508](https://github.com/vercel/next.js/issues/41508)
    
  • Add swcMinify to the Upgrade Guide: #​41521
  • Fix links to next/legacy/image demo: #​41539
  • Docs for request headers overrides in middleware: #​41546
  • Fix docs typo in next/image sizes using fill prop: #​41560
  • Small change to note <Link /> executes server methods: #​41577
  • docs: remove next/future/image note: #​41610
  • Update custom-error-page for getServerSideProps: #​41723
  • docs: update ci-build-caching: #​41763
Example Changes
  • chore: refactor with-next-sitemap example: #​40712
  • Updates with-supertokens example app: #​40707
  • chore: refactor with-typestyle example: #​40740
  • chore: migrate missing document of with-geist-ui example to typescript: #​40743
  • chore(examples): lock msw version in with-msw example: #​40777
  • chore: refactor using-router example: #​40774
  • Fix: Contentful webhook body parse.: #​40732
  • Open deploy link in new window for examples: #​40804
  • fix/window.gtag is not defined for Next.js-hydration event(#​40410): #​40645
  • Update .env.local.example: #​40839
  • chore: refactor with-web-worker example: #​40844
  • Correct link for "Deploy" button: #​40894
  • Bump TypeScript version in with-typescript: #​40924
  • Revert "Fix: Contentful webhook body parse.": #​40925
  • Update cms-makeswift example: #​41005
  • chore(examples): upgrade with-react-native-web dependencies: #​41024
  • chore(examples): Convert with-react-hook-form example to TypeScript: #​38796
  • chore(examples): remove next-env.d.ts files: #​41041
  • Add NextUI example: #​38209
  • Examples] -> Add external official example `with-react-query`: [#&#8203;38101](https://github.com/vercel/next.js/issues/38101)
    
  • example: with-mantine: #​34591
  • Add Embedded KeystoneJS example: #​25351
  • Update examples/with-temporal: #​33674
  • Add windicss example: #​35256
  • chore(examples): Add vanilla-extract example: #​41061
  • examples/evm-multichain-dapp: #​39206
  • chore(examples): use correct name in with-xata example: #​41063
  • chore: update with-react-intl example: #​40999
  • Fix: [slug].tsx: #​41074
  • docs(examples): refresh cms-prismic example: #​40121
  • Authsignal passwordless example: #​41079
  • chore(examples): Cosmic cms updates: #​41080
  • chore(example): updated react-multi-carousel to TS: #​37930
  • Add dotCMS example: #​38214
  • chore(examples): Add 'Sitefinity CMS' Example: #​39537
  • chore(examples): update with-linaria: #​41085
  • chore(examples): address remaining review in dotCMS example: #​41091
  • Lock experimental react version in tests: #​41100
  • Update Convex example for v0.2.0: #​41143
  • chore(examples): add webiny cms example: #​41159
  • chore(examples): add Radix UI example: #​41169
  • Updating to latest version of Clerk: #​41192
  • Fix error 500: #​41205
  • Add --frozen-lockfile in Docker example when using pnpm: #​41291
  • chore(examples): upgrade Auth0 example: #​41284
  • Remove references to withSentry function in with-sentry example: #​41326
  • add Cloudflare Turnstile example: #​41283
  • Added example with salesforce commerce cloud: #​41376
  • Update next pwa version in pwa example: #​41386
  • examples(with-routes-graphql): update GraphQL Yoga to v3: #​41478
  • chore(examples): fix typo: #​41496
  • chore(examples): upgrade Stripe example: #​41550
  • chore(examples): update with-apivideo: #​39727
  • chore(examples): fix typo in [videoId].tsx: #​41655
  • examples(with-typescript-graphql): migrate to Yoga v3 and codegen new preset: client: #​41597
  • Bump version tailwindcss example to 3.2: #​41681
Misc Changes
  • Temporarily skip switchable runtime test on deploy: #​40700
  • Break assetPrefix app tests into separate suite: #​40701
  • Skip copying next-swc debug files during testing: #​40761
  • Add test case for /404 client transition: #​40734
  • Update publish to scope as public for initializing: #​40778
  • Update stats config for release stats: #​40780
  • Fix flaky full reload hmr tests: #​40786
  • Add missing release stats config for app: #​40805
  • Tolerate already published error for retrying: #​40812
  • Update publish script to skip lerna: #​40815
  • Disable flakey dev app test temporarily: #​40816
  • Update publish to skip private package: #​40822
  • Update pnpm-lock.yaml
  • Use an ellipsis character instead: #​40913
  • Update expected middleware test error: #​40918
  • Remove extra pnp test: #​40929
  • Always show node_modules inside test in VS Code: #​40956
  • misc: add benchmarking script for edge rendering: #​40716
  • Add timeout to playwright setup job: #​40960
  • Increase playwright install timeout to 5 min
  • Increase other timeouts
  • Skip experimental undici test for deploy mode: #​41006
  • Update flakey middleware rewrite test: #​41007
  • Add test for rewrite from pages to app with existing pages path: #​41023
  • chore/fix typo on contributing documentation: #​41037
  • chore(contributing): remove note about eslint-config-next
  • Revert "chore: make sure polyfills are built for pnpm dev (#​40335)"
  • Merge branch 'canary' of github.com:vercel/next.js into canary
  • chore: make sure polyfills are built for pnpm dev: #​41062
  • chore(examples): fix lint
  • chore(examples): fix lint
  • chore(examples): fix lint
  • chore(examples): rename file from .ts to .tsx
  • chore(examples): fix lint
  • chore(examples): fix lint
  • chore(examples): fix example checks
  • Fix PR stats from experimental react: #​41112
  • Align pnpm version: #​41123
  • Add more test job timeouts: #​41162
  • Fix errors entry in codeowners
  • Upgrade React experimental: #​41222
  • Enable passing tests: #​41241
  • Skip serverless/serverless-trace target tests: #​41252
  • Add test for link to catchall route in new router: #​41289
  • misc: add minimal server bench setup: #​41328
  • Reduce local font loader options: #​41332
  • Reduce remote requests in google fonts: #​41306
  • Bump E2E test timeout minutes
  • Test for unused css modules with layout: #​41018
  • Support aarch64 Linux with page size >= 16k: #​41229
  • Update rsc error message: #​41351
  • docs: add tips for building first before running test for contribute Nextjs.: #​41379
  • Add npm to create-next-app environment package manager parser: #​41279
  • Update bench options in stats-config: #​41432
  • Bump test timeout-minutes for test dev
  • Fix E2E deploy test for API bodies: #​41542
  • Run all dev tests with replay on retry: #​41168
  • Increase timeout-minutes for dev jobs
  • chore: clarify issue template for examples
  • Add test fixture e2e/app-dir/next-image: #​41609
  • feat(cna): add template: #​41660
  • Pin build image version: #​41704
  • Update CNA app template: #​41701
  • Update font avg: #​41734
  • Enable appDir e2e deploy tests #​1: #​41759
Credits

Huge thanks to @​ijjk, @​huozhi, @​HaNdTriX, @​iKethavel, @​timneutkens, @​shuding, @​rishabhpoddar, @​hanneslund, @​balazsorban44, @​anthonyshew, @​TomerAberbach, @​philippbosch, @​styfle, @​mauriciomutte, @​hayitsdavid, @​abdennor, @​Kikobeats, @​cjdunteman, @​Mr-Afonso, @​kdy1, @​jaril, @​abdallah-nour, @​North15, @​feedthejim, @​brunocrosier, @​Schniz, @​sedlukha, @​hashlash, @​Ethan-Arrowood, @​fireairforce, @​migueloller, @​leerob, @​janicklas-ralph, @​Trystanr, @​atilafassina, @​nramkissoon, @​kasperadk, @​valcosmos, @​henriqueholtz, @​nip10, @​jesstelford, @​lorensr, @​AviAvinav, @​SukkaW, @​jaycedotbin, @​saurabhburade, @​notrab, @​kwonoj, @​sanruiz, @​angeloashmore, @​falsepopsky, @​fmontes, @​Gebov, @​UltiRequiem, @​p13lgst, @​Simek, @​mrkldshv, @​thomasballinger, @​kyliau, @​AdarshKonchady, @​endymion1818, @​pedro757, @​perkinsjr, @​gnoff, @​jridgewell, @​silvioprog, @​mabels, @​nialexsan, @​feugy, @​jackromo888, @​crazyurus, @​EarlGeorge, @​MariaSolOs, @​lforst, @​maximbaz, @​maxam2017, @​teobler, @​Nutlope, @​sunwoo0706, @​WestonThayer, @​Brooooooklyn, @​Nsttt, @​charlypoly, @​aprendendofelipe, @​sviridoff, @​jackton1, @​nuta, @​Rpaudel379, @​marcialca, @​MarDi66, @​ismaelrumzan, @​javivelasco, @​eltociear, @​hiro0218, @​HugoDF, @​saulloalmeida, @​ahhshm, @​eve0415, and @​sokra for helping!

v12.3.1

Compare Source

Core Changes
  • Update react-server-dom-webpack: #​40356
  • Fix flight manifest to include all chunks: #​40365
  • docs: fix typos: #​40342
  • Fix page url for edge routes in app dir: #​40361
  • Subresource Integrity for App Directory: #​39729
  • Stop build warning about experimental: { esmExternals: 'loose' }: #​40377
  • Add template and error file types: #​39808
  • Bump styled-jsx for showing displayName: #​40411
  • fix(#​40388): next/dynamic should only add default loading without suspense: #​40397
  • Add missing trace for full reload event: #​40393
  • feat(ts): expose AppType: #​40391
  • Update dev watcher to ignore more accurately: #​40412
  • Add failing case for location throw: #​40445
  • Drop legacy RSC handling in client for pages: #​40472
  • fix: eslint no-script-component-in-head error url: #​40422
  • chore: Update swc: #​40292
  • feat(edge): allows configuring Dynamic code execution guard: #​39539
  • Rename allowDynamic to unstable_allowDynamic: #​40496
  • Don't execute prefetches for bot user agents: #​40435
  • Update semver of eslint-plugin-react: #​40246
  • Clean up startTransition in Link: #​40505
  • docs(README): next.js logo with dark mode: #​40223
  • Passing down original sourcemap for flight client loader: #​40508
  • next/script: make onLoad concurrent rendering resilient: #​40191
  • chore: Update swc: #​40520
  • Add missing feature in next-swc: #​40550
  • Mask Flight Parameters from Middleware: #​39939
  • Unwrap promise with experimental_use: #​40575
  • fix(next/router): Prevent query delete in routing when next.config basePath option is truthy: #​40566
  • fix(image): handle image imports with high aspect ratio: #​40563
  • fix: loosen webpack compilation with fallbackNodePolyfills: false: #​40612
  • Adding experimentalAdjustFallback feature to font optimization: #​40185
  • fix: handle notFound: true in / with next export: #​40592
  • refactor: split up CONTRIBUTING.md: #​40515
  • Implement SWC transformer for server and client graphs: #​40603
  • Fix edge wasm handling during deploy: #​40625
  • Client directive: #​40415
  • Remove internal client next api detection: #​40646
  • Attach module trace for RSC related errors: #​40652
  • Use createFromFetch instead of createFromReadableStream to fetch Flight: #​40656
  • Change Flight response content type to application/octet-stream: #​40665
  • Send web vitals to Vercel analytics in app: #​40669
  • Refactor fetchServerResponse: #​40674
  • Port page and layout level API assertions to SWC transform: #​40653
  • Ensure smooth scroll is disabled for navigation in new and existing router: #​40642
  • Upgrade to latest React experimental: #​40672
  • Refine error messages: #​40661
  • Incldue styled-jsx in swc compiling: #​40679
  • misc: update caniuse-lite to latest: #​40680
  • Remove non existed exports and files: #​40685
  • fix(image): preload should respect crossOrigin: #​40676
  • Add handling for static generation in app: #​40561
  • Avoid direct React client API imports in the server graph: #​40686
  • Drop legacy RSC server and client extension: #​40692
Documentation Changes
  • docs: fix middleware path: #​40340
  • Fix mdx docs: #​40402
  • Update Server Components documentation.: #​40452
  • docs: move swcMinify: true out of "Experimental features" section: #​40394
  • Clarify use of loading property: #​40488
  • docs(errors/large-page-data): how to see data being passed to page: #​40491
  • docs(basic-features/script): update script version history: #​40263
  • Added "negative matcher" documentation: #​40282
  • Fix a typo in docs: #​40501
Example Changes
  • chore: fix examples: #​40395
  • chore(examples): update turborepo examples link: #​40487
  • update(examples): Emotion modules: #​40242
  • Added comments to middleware-matcher example: #​40273
  • Remove legacy mobx example: #​40304
  • Update cms-makeswift example: #​40560
  • Fixed typo: #​40608
  • Revert "Fixed typo": #​40623
  • chore: Migrate with-prefetching example to typescript: #​40671
  • chore: Refactor active-class-name example: #​40670
  • docs(examples): fix error connection handling: #​40633
Misc Changes
  • Temporarily disable unstable app test: #​40408
  • docs(middleware): fix broken link
  • chore: use link: instead of file: in CONTRIBUTING.md: #​40510
  • add Balázs as codeowner to /errors/ directory
  • fix(cli): tune filter for extracting example .tar: #​40513
  • Add additional tests for prefetch and trailingSlash: #​40517
  • Wrap parallel routes tests in describe: #​40546
  • fix(#​40025): run next/script beforeInteractive test in both dev & prod: #​40541
Credits

Huge thanks to @​huozhi, @​shuding, @​ijjk, @​jasham, @​Kikobeats, @​wyattjoh, @​rubytree33, @​timneutkens, @​balazsorban44, @​andrewrjohn, @​SukkaW, @​hanneslund, @​leerob, @​Djo1e, @​kdy1, @​msafi, @​tknickman, @​feugy, @​cramforce, @​ryparker, @​victorboucher, @​steven-tey, @​JDansercoer, @​janklimo, @​hiro0218, @​HaNdTriX, @​migueloller, @​flex-kyunghwa, @​saalimzafar, @​alxhotel, @​janicklas-ralph, @​feedthejim, and @​chornos13 for helping!

v12.3.0

Compare Source

Core Changes
  • Refactor client entry plugin to separate methods.: #​39162
  • Eliminate path polyfill and incremental-cache from base server: #​39548
  • Remove precopied styled-jsx: #​39520
  • Refactor handling of addPageEntry promise: #​39547
  • Support multiple flush effects: #​39559
  • Eliminate Amp in Edge runtime: #​39560
  • Rename page -> entry in on-demand-entry-handler: #​39564
  • Update .env HMR handling: #​39566
  • Fix failing switchable runtime deploy test: #​39579
  • Fix Edge SSR routes: #​39594
  • Support tsconfig paths without baseurl: #​34926
  • Enable @​typescript-eslint/no-use-before-define for functions: #​39602
  • Remove minify: false for webpack5 bundle: #​39620
  • Next Server code refactoring: #​39591
  • Eliminate path and utils from base server: #​39622
  • Remove webpack4 types: #​39631
  • Enable additional TypeScript ESLint rules: #​39640
  • fix(next/dynamic): handle template literal import path: #​39623
  • Add comment on slash normalizing in server: #​39653
  • Refactor base server: #​39649
  • Add separate entry per layout/page.: #​39611
  • fix(next-server): Fix priority for edge routes : #​39462
  • Add todo for dependsOn: #​39677
  • Improved server CSS handling: #​39664
  • feat(next-swc): Update swc: #​39499
  • fix next-app-loader on windows: #​39657
  • fix(swc/emotion): Correct the SPACE_AROUND_COLON regex: #​39710
  • fix(#​39609): warns about suspense and ssr: #​39676
  • Use realpath when emitting traced package.json: #​39683
  • fix(#​39706): add avif support for node serve static: #​39733
  • fix(next): Do not display message when middleware is removed on dev mode: #​39604
  • refactor(portal): remove useRef from portal component: #​39792
  • refactor(use-intersection): remove useRef usage: #​39791
  • allow Edge Functions to stream a compressed fetch response: #​39608
  • fix meaninglessFileNames type in compiler options schema: #​39698
  • build: upgrade edge-runtime: #​39749
  • Update stalled ensure log to use debug instead: #​39826
  • Skip building /500 in dev mode: #​39828
  • Fix onError handling in next/future/image: #​39824
  • Improve error message on next/future/image when objectFit or objectPosition: #​39614
  • Refactor client CSS imports: #​39758
  • Ensure moduleResolution is written correctly: #​39836
  • Fix disposing active entries in dev compilers: #​39845
  • fix(#​39807): ignore width/height from webpack with "fill": #​39849
  • Add handling for auto installing TypeScript deps and HMRing tsconfig: #​39838
  • Remove eslint warning when no eslint config is present: #​39872
  • feat(next/swc): enable wasm first binding load for the platforms: #​38883
  • Fix next/future/image blur-up placeholder : #​39785
  • Fix runLintCheck during build: #​39883
  • Skip auto-install for missing deps in CI: #​39882
  • Remove un-necessary internal jest-worker error during ts/lint error: #​39886
  • Bump @vercel/nft@0.22.0: #​39906
  • Handle edge runtime for app: #​39910
  • build: upgrade edge-runtime: #​39898
  • HMR for client CSS imports: #​39916
  • fix(ts): use AppProps's generic for pageProps: #​38867
  • Treat non page file as non route under app dir: #​39976
  • Fix next/future/image incorrectly warning for fill + blur: #​39986
  • Ensure prefetch heuristic matches with and without middleware: #​39920
  • feat: add experimental.fallbackNodePolyfills flag: #​39248
  • Fix incorrect build log for moduleResolution: #​39991
  • fix(#​39993): avoid race condition for next/script onReady: #​40002
  • Avoid bundling next/script in the server build by default: #​40013
  • Handle async module for client components: #​39953
  • Upgrade typescript to 4.8.2: #​39979
  • Remove Unused SQLite file: #​40056
  • Update next/future/image to use svg blur placeholder during next dev: #​39992
  • Remove <noscript> from next/future/image: #​40075
  • Fix filePath being wrongly stringified: #​40070
  • Refactor Server Router: #​39902
  • Update to detect GSSP with edge runtime during build: #​40076
  • Fix handling with custom _error and pages/500: #​40110
  • Fix edge rewrite handling: #​40115
  • Error for ssg and ssr exports from client components in build time: #​40106
  • feat(next): Support has match and locale option on middleware config: #​39257
  • Change alt to required in next/future/image: #​40136
  • Allow port 0 in next dev and next start: #​40118
  • Update to stable: next/future/image, remotePatterns, unoptimized: #​40142
  • fix(#​40066): preserve error status code from serveStatic: #​40128
  • fix: detect ESLint config in package.json: #​40158
  • ignore EEXIST errors when creating symlinks for output standalone: #​40150
  • Bump @vercel/nft@0.22.1: #​40164
  • Bump styled-jsx: #​40165
  • Match data fetch and busting cache key when path URI encodes: #​39568
  • Updating the Next.js Logo: #​40181
  • next/script: simplify logic and update tests: #​40026
  • Bypass empty pages folder for layouts: #​40132
  • chore: Update swc: #​39965
  • Fix styled-jsx macro imports: #​40234
  • Ensure path can be specified for clearPreviewData: #​40238
  • fix: apply default export interop to next/config: #​40224
  • Improved route resolution in next-app-loader: #​40109
  • Add prefetch to new router: #​39866
  • Update next/future/image to support only width or only height: #​40278
  • Add experimental proxy timeout option: #​40289
  • Fix static info parsing when export data fetching method as variable: #​40317
  • fix(switchable-runtime): make dev server not break when wrong runtime config is exported: #​40312
  • Revert "Refactor Server Router": #​40328
  • fix(switchable-runtime): Make it possible to switch between edge and server runtime in dev: #​39327
  • Revert "Revert "Refactor Server Router" (#​40328)" : #​40333
  • refactor(next/swc): remove unnecessary field in RemoveConsole: #​40296
  • edge] fix URLSearchParams lacking data from rewrite: [#&#8203;40260](https://github.com/vercel/next.js/issues/40260)
    
  • fix(lint): disable react/no-unknown-property: #​40331
  • Update onLoadingComplete for next/future/image to receive reference to <img>: #​40326
  • Remove warning for swcMinify being enabled: #​40359
Documentation Changes
  • docs: Rename API middlewares title in sidebar: #​39534
  • docs] Avoid next config validation warning: [#&#8203;39554](https://github.com/vercel/next.js/issues/39554)
    
  • Update strategies count to 4: #​39610
  • Change the React Server Components CTA to the router/layout RFC: #​39724
  • Add section to next/future/image docs about Known Browser Bugs: #​39759
  • Update next.js.configs line number: #​39802
  • Add note about using the /_error page directly to custom error page article: #​39671
  • Typescript Documentation Improvement for Persistent Layouts: #​33659
  • Add clarity in docs for using exportPathMap with getStaticPaths: #​39813
  • Update links to point to more accurate docs: #​39818
  • Update docs next/future/image with details about computed aspect ratio: #​39829
  • Mention router.isPreview on Preview Mode page: #​39830
  • doc: improve a word client side rendering: #​39771
  • Docs: Updated note about using next/head in basic-features/font-optimization: #​39863
  • docs] Fixed 404 links to Layouts RFC blog post: [#&#8203;39937](https://github.com/vercel/next.js/issues/39937)
    
  • Adds note about custom server requirements: #​39931
  • fix hash-link: #​39929
  • Mention largePageDataBytes in warning docs: #​39941
  • Update Font Optimization docs: #​39950
  • docs] Update UTM params of some links: [#&#8203;39951](https://github.com/vercel/next.js/issues/39951)
    
  • Revert "Adds note about custom server requirements": #​39956
  • Update image.md: #​39984
  • Update script.md: #​40017
  • docs] Add precision about `pageExtensions`: [#&#8203;40016](https://github.com/vercel/next.js/issues/40016)
    
  • Update debugging.md (--dev -> --save-dev for npm): #​39998
  • docs(testing): add JSDoc typing in jest.config.js: #​40090
  • docs(image): Use hook inside of function component: #​40096
  • docs(security-headers): interest-cohort has been replaced by browsing-topics: #​40113
  • docs]  Functional syntax for \_document example in Basic Features: Font Optimization: [#&#8203;40140](https://github.com/vercel/next.js/issues/40140)
    
  • Fix typo in error/middleware-upgrade-guide.md: #​40176
  • docs: documents middleware matcher: #​40180
  • docs: update get-static-paths.md: #​40205
  • Change image sizes docs to use em instead of px: #​40288
  • Change sizes docs to use max-width in media query: #​40290
  • docs: fix numbering in middleware docs: #​40276
  • Update docs for remotePatterns image config: #​40350
  • docs: fix typo: #​40354
Example Changes
  • docs(examples): use vercel integration in cms-sanity: #​39323
  • Typo : #​39596
  • Update Convex Example: #​39562
  • Update with-loading example: #​39646
  • Docs] Update with-slate example: [#&#8203;39639](https://github.com/vercel/next.js/issues/39639)
    
  • Tweak Convex example: #​39739
  • examples/with-redux-thunk , update README (#​39555): #​39712
  • Docs] Update mongodb example: [#&#8203;39658](https://github.com/vercel/next.js/issues/39658)
    
  • Convert with-goober example to TS: #​39761
  • docs] Migrate dynamic routing example to typescript: [#&#8203;39806](https://github.com/vercel/next.js/issues/39806)
    
  • Remove unnecessary type reference in Vitest example: #​39819
  • Update cms-makeswift example: #​39834
  • Migrate data-fetch example to typescript: #​39852
  • Docs] Update examples to favour functional \_document: [#&#8203;39871](https://github.com/vercel/next.js/issues/39871)
    
  • chore(with-docker): don't copy package.json twice: #​39896
  • Prefer function _app component in examples: #​39967
  • Migrate with-xstate to typescript: #​39974
  • Use Font Optimization in examples: #​39977
  • Add local setup info in the with-supabase-auth-realtime-db example's README: #​40030
  • Remove semi in Convex example: #​40052
  • Refactored the with-supertokens example to use typescript: #​39987
  • Add config types to all examples: #​40083
  • adding with-axiom example: #​38300
  • Update Convex example to convex 0.1.9: #​40162
  • Remove extra "d" in comment: #​40212
  • fix(examples/with-styled-components-babel): list should have unique key: #​40215
  • Migrate image-component example to typescript: #​40204
  • ref(with-sentry example): Explicitly set hideSourceMaps: #​40079
  • Update next-forms example: #​40284
  • Migrate with-context-api example to typescript: #​40297
  • Migrate with-react-jss to typescript: #​40308
  • Update react-remove-properties example: #​40307
  • Migrate using-preact example to typescript: #​40295
  • added type to clientPromise in with-mongodb/lib: #​40339
  • Remove babel from custom-server-typescript example: #​40309
  • Merge with-mobx-state-tree with with-mobx-state-tree-typescript example: #​40306
  • Fix image-component example types: #​40352
Misc Changes
  • Fix preinstall failed in yarn@1.x on FreeBSD with npm@8.17: #​39529
  • Add edge ssr to pr stats: #​39621
  • Update test failure logging : #​39655
  • Update image tests files from *.js to *.ts: #​39663
  • fix(create-app): support github url has trailing slash: #​39665
  • Update contributing.md : #​39767
  • Update ubuntu CI version due to deprecation: #​39817
  • Leverage VERCEL_CLI_VERSION env for deploy tests: #​39823
  • Update flakey relay analytics test: #​39877
  • Added tests for next/router in app directory: #​39867
  • Fix failing e2e getServerSideProps test: #​39885
  • Add path to export-page: #​39893
  • Fix rsc basic e2e test on deploy: #​39905
  • test: merge edge ssr tests: #​39924
  • chore: check against npm version in issue validator: #​38915
  • Increase test concurrency: #​39922
  • Fix passing VERCEL_CLI_VERSION env for deploy tests: #​39946
  • test: pin typescript version to 4.7: #​39978
  • (next/mdx) set providerImportSource to react by default: #​39954
  • Add test for server CSS imports: #​40019
  • Update docker image for stats action: #​40032
  • Update flakey tsconfig test: #​40105
  • fix: scripts comment typos: #​40207
  • fix(cli): do not throw error when extracting examples in Node 18+: #​40182
  • Update to use specific swc version for PR stats: #​40237
  • fix(cli): delete temp file after extraction: #​40259
  • Fix test hydration check in Safari 10.1: #​40285
  • chore: turn off debug mode on issue validator: #​40301
  • Update README.md
Credits

Huge thanks to @​stipsan, @​ijjk, @​timneutkens, @​bennettdams, @​shuding, @​cherniavskii, @​huozhi, @​Brooooooklyn, @​thatbeautifuldream, @​Janpot, @​MoosaSaadat, @​alexcole, @​HaNdTriX, @​magic-akari, @​balazsorban44, @​styfle, @​SukkaW, @​kdy1, @​sokra, @​delbaoliveira, @​puneetkathar1, @​nkzawa, @​Schniz, @​greebl3, @​kasperaamodt, @​chaseignited, @​masad-frost, @​Kikobeats, @​davewelsh, @​MaedahBatool, @​adrianbienias, @​michaeloliverx, @​arthurdenner, @​sumiren, @​migueloller, @​hanneslund, @​wyattjoh, @​kwonoj, @​boredland, @​simongavelin, @​esbenam, @​theMosaad, @​jleclanche, @​leerob, @​AdilAmanat, @​souporserious, @​ykdojo, @​sanjaiyan-dev, @​yoannmoinet, @​thomasballinger, @​titusdmoore, @​jferrettiboke, @​Dueen, @​dunglas, @​KenAKAFrosty, @​wbinnssmith, @​schehata, @​remorses, @​visnup, @​Nutlope, @​yhay81, @​hiro0218, @​avigoldman, @​feugy, @​jeferson-sb, @​lobsterkatie, @​atcastle, @​bcheidemann, @​Will956, @​orionmiz, @​S0UPernova, @​cvbuelow, and @​leonzalion for helping!

v12.2.6

Compare Source

v12.2.5

Compare Source

Core Changes
  • Change invalid internal upstream image error code: #​39334
  • Hoist styles for Route Announcer: #​39331
  • fix: wrong reference url for disableStaticImages: #​39362
  • fix: skip resizing image if it's animated: #​39325
  • Fix catchall rewrites for _next/data routes: #​39370
  • Fix next/future/image alt text: #​39366
  • refactor: add named export in next/server: #​39381
  • fix(ts): More strict Redirect type: #​38277
  • fix(next): dev server starting when importing a file using get-projec…: #​38274
  • Add runtime to PageConfig type: #​37453
  • fix: improve logging for _devPagesManifest.json loading failures: #​38046
  • Allow custom path for preview mode cookies: #​38313
  • Fix removing whitespacing in dev overlay: #​28277
  • Fix emotion labelFormat and sourcemap options: #​39389
  • Fix emotion shouldForwardProp options breaks component selectors: #​39390
  • next/image imgix loader can use multiple auto params: #​34808
  • Adds eslint-plugin-eslint-plugin to ensure eslint-plugin-next rules follow ESLint rule best practices along with enforcing some consistency.: #​37920
  • ESLint] Adds `--output-file` flag: [#&#8203;36420](https://github.com/vercel/next.js/issues/36420)
    
  • Update polyfill for eslint no-unwanted-polyfillio rule: #​33170
  • fix(ts): Middleware type tweaks: #​38625
  • Fix Link generation for SSG pages if locale domains are used: #​36818
  • Setup require hook in next-server for styled-jsx resolving: #​39305
  • fix: ensure trailing slash on registry URL when fetching wasm fallback: #​39427
  • typing: upgrade styled-jsx to remove workaround in build script: #​39408
  • Extract redirect utils into a separate file: #​39433
  • Ensure locale redirects are not applied in minimal mode: #​39436
  • feat(middleware): augments / matcher with /index: #​39397
  • Bump edge-runtime packages: #​39450
  • Ensure default _app is used when falling back to default _error: #​39467
  • Handle rewriting WebSocket requests: #​39463
  • App Build Stats: #​38884
  • Tweak styled-jsx type declarations: #​39474
  • FIX GAUSSIAN BLUR IN FUTURE\IMAGE: #​39190
  • Add hot-reloading for env file changes: #​38483
  • feat(next-swc/modularize_imports): Add Kebab case: #​38583
  • Make dev watch ignore more specific: #​39504
  • Bump styled-jsx and remove manual types creation: #​39506
  • Add position styling to future fill images: #​39438
  • fix: ensure hidden iframe apps render in development mode: #​39514
  • Enable @​typescript-eslint/no-use-before-define variables,enums,typedefs for core files: #​39511
  • Re-add styled-jsx as a normal dependency: #​39518
Documentation Changes
  • docs: update When section of getStaticProps page: #​39393
  • Update script.md: #​39400
  • API Routes Request Helpers docs.: #​39407
  • Improve description of context.query in getServerSideProps(): #​39422
  • Enhance sizes documentation for next/image: #​39301
  • Add component wrapper in sizes documentation code snippet: #​39437
  • Update router.prefetch documentation to include locale option: #​39442
  • Fix docs path "Invalid getServerSideProps Return Value": #​39443
  • Improve next/future/image Migration docs: #​39421
Example Changes
  • Fixed links to supabase examples: #​39343
  • Examples/cms-wordpress migrate to TypeScript: #​39250
  • chore: upgrade example to Docker Compose v2: #​39372
  • fix (examples): Changed the version of next-pwa: #​39369
  • Port 'with-static-export' example to TypeScript: #​38268
  • update examples/custom-server-fastify and replace depreaction: #​38269
  • Land(Update example with-apivideo-upload README): #​39391
  • Fix: broken TypeScript in WordPress example.: #​39402
  • Enable @​typescript-eslint/no-use-before-define for examples dir: #​39469
  • examples] Add on-demand revalidation to Contentful example: [#&#8203;39475](https://github.com/vercel/next.js/issues/39475)
    
  • Fixed issues with environment variables for Windows users: #​37853
  • fix(examples/with-wdyr): example config to support SWC: #​39465
Misc Changes
  • test: ensure default output is correct: #​39358
  • Fix failing escheck test: #​39365
  • Add yarn 2 Setup Files to Valid Files for create-next-app: #​30936
  • Add Object#fromEntries polyfill (with 6 lines of code): #​36426
  • chore: restores removed tests: #​39452
  • Fix next.config.js overwriting on deploy e2e test: #​39476
  • Update contributing.md to recommend corepack: #​39479
  • Fix swc build for freebsd target: #​39478
Credits

Huge thanks to @​pthomas931, @​madmed88, @​sanjaiyan-dev, @​balazsorban44, @​DonghyukJacobJang, @​ijjk, @​chaiwattsw, @​styfle, @​dunglas, @​ahkhanjani, @​promer94, @​terrierscript, @​shawncal, @​insik-han, @​QuiiBz, @​ykzts, @​JoshuaKGoldberg, @​lucasassisrosa, @​dikwickley, @​Brooooooklyn, @​sicarius97, @​FourwingsY, @​manovotny, @​SukkaW, @​pepoeverton, @​jdeniau, @​sumiren, @​anthonyshew, @​pekarja5, @​huozhi, @​leerob, @​fediev, @​atcastle, @​shuding, @​feugy, @​jonohewitt, @​zakiego, @​Schniz, @​timneutkens, @​wyattjoh, @​MaedahBatool, @​X7Becka, @​nnnnoel, @​dcdev67, @​alvinometric, @​timothympace, and @​jeferson-sb for helping!

v12.2.4

Compare Source

Core Changes
  • Fix error message typos: #​38894
  • Update to latest version of @​vercel/nft: #​38878
  • fix(#​38090): add missing analyticsId to config schema: #​38911
  • Ensure hash on initial request is preserved in new router: #​38913
  • Remove unnecessary assertions: #​38899
  • Clear unnecessary code: #​38900
  • fix: Impl attachRequestMeta in base server to handle meta differently in edge and node servers: #​38932
  • feat: enhance warning messages about unanalyzable config field: #​38907
  • fix: fix generateEtags type inside schema: #​38936
  • Refactor router reducer: #​38983
  • Add state comparison to router: #​38422
  • update webpack: #​38988
  • Update config schema for empty basePath: #​38998
  • Add handling for prefetching onTouchStart and initial mobile testing : #​38805
  • Add additional comments to new router: #​38986
  • Update config-schema for relay field to be less strict: #​39010
  • Add config for opting out of optimistic client cache behavior: #​38774
  • Fix tracing edge-runtime dependencies: #​39009
  • Ensure dangerouslyAllowSVG is passed correctly: #​39031
  • Handle getStaticPaths error inside worker to avoid serializing: #​39032
  • chore: enable swc externalHelpers when pre-compile: #​38182
  • Update to use HEAD request for On-Demand ISR: #​39038
  • chore: Clean up imports and unused code: #​39044
  • Replace node-sass test dependency with sass: #​39053
  • Add comments in new router reducer: #​39025
  • Add additional comments for reducer/cachenode: #​39065
  • fix: print Request & Response properties: #​38903
  • fix: show asPath on large page data warning: #​39071
  • Remove RSC rendering from render: #​39045
  • Ensure query is updated correctly with shallow and middleware: #​39086
  • Update pre-compiled to fix check: #​39089
  • Fix unhandled rejections with edge runtime: #​39091
  • feat(next-swc): Update swc: #​39055
  • Collect telemetry for next/future/image: #​39046
  • Script] Adds `onReady` prop to `next/script`: [#&#8203;38849](https://github.com/vercel/next.js/issues/38849)
    
  • Ensure we hard navigate for failed _next/data with middleware: #​39148
  • Refactor Flight plugins to use types.: #​39136
  • Fix middleware + afterFiles SSG rewrite case: #​39153
  • Update swc minifier: #​39158
  • Fix incorrect component cache for middleware cases: #​39159
  • Add shared dynamic api: #​39163
  • Add exportPathMap config type/schema field: #​39171
  • Fix default error style overrides: #​39169
  • refactor: return single middleware from getMiddleware in dev server: #​39177
  • fix(#​11930): rewritten api routes can correctly handle cors in dev mode: #​38937
  • refactor: simplify middleware execution: #​39192
  • Add missing @​napi-rs/cli devDependency to next-swc: #​39164
  • Fix missing edge routes in dev middleware manifest: #​39199
  • Fix: only contain middleware in dev middleware manifest: #​39217
  • fix: react dev bundle is picked in prod mode: #​39221
  • Add "fill" mode to next/future/image: #​38855
  • Handle assetPrefix in app: #​39236
  • Export URLPattern from next/server: #​39219
  • Ensure middleware has single data fetch on query hydration with valid props: #​39210
  • Fix URLPattern next/server export on deploy: #​39290
  • Flush styles effects: #​39268
  • chore: rename typo middlewares to interceptors in hot reloader: #​39292
  • Remove default setting for object-fit on future fill images: #​39297
  • feat(config): implement a human readable ajv errors: #​39291
  • Enable concurrent mode by default in app-render: #​39307
  • Fix next/server being required during build: #​39310
  • feat(next-swc/wasm): export async interfaces: #​39231
  • Ensure On-Demand revalidate does not consider preview cookie: #​39313
  • fix: buffer is not usable on edge runtime: #​39227
Documentation Changes
  • Remove next-page-tester from testing.md: #​38920
  • Add section about building getStaticPaths on-demand.: #​38943
  • Docs: Fix grammatical typo: #​38962
  • docs: update typescript.md: #​38717
  • Add note to next/future/image about default styles.: #​38978
  • Add caveat note about shallow routing with middleware: #​39154
  • fix: Update testing.md: #​39195
  • Replaces getStaticProps with getStaticPaths: #​39218
  • Clear up rewrites documentation: #​39238
  • Add section about migrating from next/image to next/future/image: #​39270
  • docs] Clarify polyfill support: [#&#8203;39272](https://github.com/vercel/next.js/issues/39272)
    
  • fix typo: docs/advanced-features/react-18/streaming.md: #​39293
  • docs: add missing dot: #​39314
Example Changes
  • Add example with cookies-next package: #​31243
  • chore(example): convert with-stitches to TS: #​38892
  • Update Convex example not to ignore generated files: #​38931
  • Convert custom-routes-proxying example to TypeScript: #​38974
  • Added workaround for --isolatedModules inside of configuration files: #​39004
  • Update default gitignore templates: #​39051
  • docs(examples): improve DX while copying command to create new project: #​38410
  • docs(example): Update Makeswift example: #​39070
  • fix: use if..elif..else in docker examples: #​39072
  • feat(with-mux-video): Update mux-player scope and version to latest.: #​39079
  • Convert cms-agilitycms example to TypeScript: #​38976
  • Convert the Cypress config to ESM Module syntax: #​39036
  • fix: missing semicolon on Dockerfile: #​39142
  • Fix typo in with-docker-compose README: #​39176
  • examples/with-msw-typescript: #​39196
  • Update edgedb.toml: #​39243
  • fix: use if...else in dockerfile: #​39263
  • Add TypeScript to ant design example: #​38470
Misc Changes
  • Update Safari 10 test to no longer wait for modern Safari: #​39028
  • Update delayed test output handling: #​39078
  • Update tests to use random directory: #​39230
  • Update Android NDK path for swc builds: #​39298
  • Add delay before exiting tests for log flushing: #​39302
  • chore(trace): fix typo in trace-to-event-format.mjs: #​39279
Credits

Huge thanks to @​theMosaad, @​SukkaW, @​timneutkens, @​Yuddomack, @​msquitieri, @​andreizanik, @​nix6839, @​shuding, @​thomasballinger, @​ziishaned, @​leerob, @​xyeres, @​nyedidikeke, @​maxproske, @​sokra, @​titusdmoore, @​thebergamo, @​fikrikarim, @​Kikobeats, @​balazsorban44, @​clearlyTHUYDOAN, @​ijjk, @​nasso, @​qutek, @​kdy1, @​kyliau, @​housseindjirdeh, @​huozhi, @​barissayil, @​seveibar, @​Jessidhia, @​santidalmasso, @​JohnDaly, @​Nikhilnama18, @​atcastle, @​styfle, @​Schniz, @​mduleone, @​colinhacks, @​ductnn, @​josh, @​hiro0218, @​eltociear, @​kwonoj, @​valcosmos, and @​feugy for helping!

v12.2.3

Compare Source

Core Changes
  • Remove dynamic params from query in new router: #​38466
  • Fix test page detection: #​38475
  • build(ci): enable rustls as default: #​38471
  • Handle on-demand-entries and error overlay for Server Components: #​38480
  • Add refreshing of Server Components: #​38508
  • Handle dynamic routes / catchall routes in on-demand entries: #​38512
  • chore(deps): Update swc: #​38347
  • Enable css import in rsc server side : #​38418
  • Pass missing incrementalCacheHandlerPath to IncrementalCache instance: #​38433
  • fix(next/build): correct payload for plugin telemetry: #​38468
  • Update some dependencies' versions :): #​38427
  • refactor(next/swc): disable default features for crash report: #​38531
  • fix: don't use optional chaining in ESLint rule: #​38534
  • feat(next-swc/auto-cjs): Detect __esModule: #​38181
  • CSS modules support improvements for Server Components: #​38536
  • Handle development error when Server Component throws: #​38550
  • Upgrade edge-runtime + make EdgeRuntime value overridable with an env var on compilation: #​38331
  • Rename todos: #​38560
  • Fix injecting CSS link tags before page content: #​38559
  • Optimize Edge SSR bundle size: #​38570
  • Handle dev fouc for layout styling: #​38557
  • Fix independent CSSModule missing from flight manifest: #​38575
  • Mark dynamic as client component: #​38574
  • Add error when createServerContext is not available: #​38578
  • Handle server context being refreshed: #​38580
  • Pass server context to Flight render: #​38582
  • Ensure .client.tsx/.ts/.jsx Client Components can be imported: #​38591
  • Remove the hide-fouc tags after hydration: #​38592
  • Add heuristic for optimistic push: #​38599
  • Remove implemented todos: #​38610
  • Add next.config.js validation with ajv: #​38498
  • Fix next/jest when testing next/future/image: #​38569
  • refactor(next/telemetry): use basename for the absolute plugin path: #​38473
  • Remove the hide-fouc tag earlier: #​38614
  • Fix reloading Client Component require.cache: #​38633
  • Fix failed to hydrate error with global CSS: #​38626
  • Ensure selected segment is the value of dynamic routes: #​38644
  • Add focus and scroll management for new router: #​38642
  • New Router Tests: #​38390
  • Rename query to searchParams for getServerSideProps in new Router: #​38654
  • Refine scrolling into view in new router: #​38682
  • Improve element detection further: #​38684
  • Remove obsolete code from loader: #​38681
  • Fix check for optimistic routing and handle loading in server-patch: #​38687
  • add user check in auth-with-stytch.: #​38648
  • Ensure flight manifest is correct with app and pages dir: #​38716
  • Fix missing client entry matcher and simplify imports path: #​38691
  • refactor: rewrite etag: #​38568
  • Fix CSSM loader applying for both pages and app: #​38761
  • Support postcss.config.cjs: #​38486
  • fix(next/swc): let async wasm binding coerce to sync correctly: #​38780
  • Ensure route group with separate root layout does not get wrapped in
  • edge] allow importing blob assets: [#&#8203;38492](https://github.com/vercel/next.js/issues/38492)
    
  • ESLint] Make `src/` a default linting directory: [#&#8203;38810](https://github.com/vercel/next.js/issues/38810)
    
  • Fix usage of experimental-edge in pages/api/index: #​38024
  • fix(edge-runtime): undefined global in edge runtime.: #​38769
  • Fix squoosh image optimization for Node.js 18: #​38833
  • chore: TS improvments: #​38834
  • fix: don't treat output: "standalone" as custom server: #​38831
  • Improve next/image error message when src prop is missing: #​38847
  • Remove the next/streaming endpoint and experimental refresh api: #​38837
  • Ensure module require is awaited in app-render: #​38860
  • Leverage mini css plugin hmr for app dir: #​38830
  • fix(edge): error handling for edge route and middleware is inconsistent: #​38401
  • fix: correct the next config optimizeCss type: #​38879
  • Update Edge Runtime: #​38862
  • Ensure mixed query/hash values are handled correctly: #​38852
  • fix(#​38743): config.runtime support template literal: #​38750
Documentation Changes
  • Update api-middlewares.md: #​38499
  • Add note about standalone + runtimeConfig caveat: #​38532
  • Note about manually passing props from custom app: #​37329
  • DOCS]: Middleware doesn't execute for on-demand ISR: [#&#8203;38562](https://github.com/vercel/next.js/issues/38562)
    
  • Update docs for next/future/image with browser support: #​38563
  • Add missing closing curly bracket in compiler option example: #​38586
  • docs: clarify that matcher needs to be constant values: #​38597
  • Add documentation on accessibility.: #​38522
  • Add bundlejs site: #​38677
  • Update get-static-props.md: #​38703
  • update fallback docs: #​38659
  • Improve response body in Middleware error page.: #​38537
  • docs: improve wording on pathname and asPath: #​38835
Example Changes
  • chore: update file references in Auth0 example README: #​38476
  • chore(examples): Convert api-routes example to TypeScript: #​38083
  • Fix url of tRPC's next-minimal-starter: #​38452
  • Update Fauna examples to support new FAUNA_DB_DOMAIN environment variable: #​38434
  • feat(examples): Use helper function in with-sentry example _error.js: #​37866
  • Update MongoDB example to use integration for deploy button.: #​38738
  • chore(examples): require WORDPRESS_API_URL to include /graphql: #​38764
  • Update with-emotion-swc to use TypeScript: #​38744
  • chore: auto-detect preferred package manager in Dockerfile: #​38693
  • chore: update with-service-worker example: #​38670
  • Fixup main Fauna example and drop support for outdated one: #​38692
  • Fix export issue in with-fauna example: #​38812
  • Update Convex example.: #​38850
  • chore: convert with-dynamic-import to TypeScript: #​38844
  • chore(examples): Convert with-cypress example to TypeScript: #​38818
Misc Changes
  • Migrate rsc integration tests to e2e tests: #​38460
  • Update flakey unoptimized image test: #​38478
  • fix: fix bundle-analyzer plugin types: #​38255
  • Update CI job skipping based on related changes: #​38479
  • Fix rsc test during deploy testing: #​38517
  • Add docs condition for all azure steps: #​38519
  • skip rsc tests for react 17 e2e: #​38524
  • Add dev/start timing to PR stats: #​38525
  • chore: extend example contribution guidelines: #​38511
  • Fix e2e rsc test for deploy mode: #​38538
  • Add test env variables to readme: #​38566
  • Fix flaky rsc test: #​38573
  • chore: tweak issue validator: #​38600
  • Update to latest version of turbo: #​38629
  • chore: improve issue validator logs
  • chore: tweak issue validator action
  • Update version for yarn pnp tests: #​38688
  • Add dark mode to Create Next App: #​38671
  • Add note about test-trace artifact to test readme: #​38770
  • Fix postcss deploy e2e test: #​38782
  • test: disable the rsc flaky test temporarily: #​38843
  • Update edge blob asset e2e test: #​38857
  • ci: dropping macos-10.15: #​38865
  • Update query/hash test for safari: #​38889
Credits

Huge thanks to @​huozhi, @​mihaic195, @​ijjk, @​kwonoj, @​stefanprobst, @​maxproske, @​valcosmos, @​KATT, @​kdy1, @​thiagomorales, @​sanjaiyan-dev, @​danielcavanagh, @​balazsorban44, @​shuding, @​Schniz, @​steven-tey, @​styfle, @​hellomhc, @​trevor-fauna, @​timneutkens, @​leerob, @​wyattjoh, @​nguyenyou, @​eminvergil, @​lobsterkatie, @​dorian-davis, @​SukkaW, @​sambecker, @​isaac-martin, @​JohnDaly, @​housseindjirdeh, @​lfades, @​feugy, @​thomasballinger, @​amorimr, and @​javivelasco for helping!

v12.2.2

Compare Source

Core Changes
  • Update README.md: #​38371
  • Add support for catchall with new router: #​38439
  • Fix client entry point prefix: #​38445
  • Add support for optional catchall with new router: #​38444
  • Add handling for back/forward (popstate) between old and new router: #​38453
  • Make catchall parameters consistent with existing router: #​38456
  • Fix warning next/future/image semicolon: #​38454
  • fix(next/build): disable next-swc crash reporting temporarily: #​38472
Documentation Changes
  • Update building-form sample code: #​38437
  • Update i18n routing example with Middleware.: #​38419
  • Adds mention of INP to "Measuring Performance" page: #​38464
Example Changes
  • Replace JS blog-starter example with TS, deprecate blog-starter-typescript example: #​38395
  • Convert api-routes-rate-limit example to TypeScript: #​38393
  • examples(with-jotai): Update example: #​38398
  • fix(examples/with-playwritght): use PORT env variable and fall back to 3000: #​38107
  • docs: add trpc to examples: #​38272
  • Convert api-routes-rest example to TypeScript: #​38394
  • chore(examples): Convert api-routes-graphql example to TypeScript: #​38357
Credits

Huge thanks to @​mongolyy, @​balazsorban44, @​maxproske, @​leerob, @​huozhi, @​Thisen, @​thebergamo, @​zorrolisto, @​styfle, @​housseindjirdeh, and @​kwonoj for helping!

v12.2.1

Compare Source

Core Changes
  • Remove unused layoutRaw config: #​38120
  • Fix invalid config warning for runtime config: #​38122
  • fix(next/config): update default config for the experimental: #​38123
  • feat(next/swc): setup native next-swc crash reporter: #​38076
  • Fix unnecessary flight render passes: #​38133
  • Readds missing @next/next/no-assign-module-variable ESLint rule.: #​38134
  • Fix failing to set initial ISR cache item in new folder: #​38136
  • Add default experimental values: #​38135
  • Fix error when next/future/image is missing width or height: #​38132
  • docs(readme.md): remove broken 404 links: #​38104
  • fix(#​38106): use swc client config to pre-compile shared lib: #​38137
  • Fix chunk path resolution: #​38162
  • Revert "feat(next/swc): setup native next-swc crash reporter": #​38170
  • fix(next/swc): set cache dir explicitly: #​38175
  • Ensure @​swc/helpers do not rely on hoisting: #​38174
  • Migrate rsc tests to app dir tests: #​38158
  • Check for performance.getEntriesByName before calling: #​38186
  • Adds tests to ensure eslint-plugin-next's available rules are properly exported and recommended rules are correctly defined.: #​38183
  • Fix pageProps is missing when route changes: #​38178
  • feat(next/build): send next-swc plugins telemetry: #​38116
  • Ensure page.server.js matches correctly: #​38236
  • Alias react and react-dom by default: #​38245
  • Fix: convert head instances to array: #​38252
  • edge] Make runtime addressable in compile time: [#&#8203;38288](https://github.com/vercel/next.js/issues/38288)
    
  • Ensure trailing slash is handled correctly with middleware: #​38282
  • Fix CSS modules imported from client components in app dir: #​38310
  • edge] favor browser exports for edge compiler: [#&#8203;38319](https://github.com/vercel/next.js/issues/38319)
    
  • Fix CSS modules imported from client components in app dir with next build: #​38329
  • Honor NEXT_MANUAL_SIG_HANDLE flag in standalone mode: #​38346
  • Display stack trace when error occurs in API route: #​38289
  • Handle Client Rewrites Correctly: #​38340
  • Fix global CSS file imports: #​38339
  • build] validate the exported config values: [#&#8203;38370](https://github.com/vercel/next.js/issues/38370)
    
  • Correctly check if width is lte 0 in Image Optimization API: #​38226
  • chore: shorten image blur svg placholder: #​38157
  • Enable swc minifier in create next apps: #​38215
  • Filter proper chunks from chunk group for client components: #​38379
  • edge] enable edge compiler source maps by default: [#&#8203;38365](https://github.com/vercel/next.js/issues/38365)
    
  • Call Error.getInitialProps for the top level error: #​21240
  • feat: build edge functions with node.js modules and fail at runtime: #​38234
  • Implement new client-side router: #​37551
  • Add param names into the tree: #​38415
  • feat(next/swc): setup native next-swc crash reporter with platform supports: #​38221
  • Ensure server components entries are not part of the pages buildmanifest: #​38416
  • Add app-path-routes manifest: #​38420
Documentation Changes
  • Middleware docs update: #​38111
  • Update middleware upgrade guide w/ more rationale: #​38074
  • Update next/future/image docs to mention the difference with next/image: #​38108
  • Clarify router.query initial value during prerendering: #​38093
  • Remove lazyRoot example from next/future/image doc: #​38140
  • Add a Makeswift example: #​38018
  • docs: remove eslint config link: #​38206
  • fix: middleware-upgrade-guide.md: #​38246
  • Typo in NextResponse docs: #​38259
  • Update next/future/image docs to specify supported browser versions.: #​38307
  • Update get-static-props.md: #​38287
  • Clarification for Testing Environment Variables: #​38359
  • Fix typo in SWC plugin destructuring example: #​38367
  • Fix/update docs for swc styled components: #​38280
  • Update edge-runtime.md: #​38271
  • Add note about casing to getStaticPaths docs: #​38426
Example Changes
  • Adding with-ably example for realtime messaging in next apps: #​37319
  • Convert auth0 example to TypeScript: #​38087
  • Convert basic-export example to TypeScript: #​38092
  • Convert basic-css example to TypeScript: #​38091
  • Add Convex example: #​38129
  • Convert catch-all-routes example to TypeScript: #​38188
  • feat(examples): link to turbo next.js examples: #​38173
  • feat(examples): adds middleware example: #​38240
  • fix(examples): fix link on middleware example: #​38323
  • Update analysis scripts: #​38201
  • chore(examples): fix experiments loading npm wasm: #​38348
  • chore(examples): Convert api-routes-cors example to TypeScript: #​38356
  • chore(examples): Convert api-routes-middleware example to TypeScript: #​38358
  • Remove CharkraProvicer RestCSS prop: #​38199
  • Add example: with-apivideo-upload: #​36050
  • Updates with-supertokens example: #​38369
  • fix: update with-msw example to function properly for all use cases: #​38050
  • chore(examples): Convert blog example to TypeScript: #​38095
Misc Changes
  • Add more code ownership paths for padmaia: #​38121
  • Fix create-next-app tests from changed example: #​38154
  • Fix missing trace script devDependencies: #​38172
  • chore: don't use type: "module" when building the Issue validator action: #​38197
  • fix: declare NextBundleAnalyzer as a type: #​38168
  • Replace placeholder.com images with *.vercel.app in image-component tests: #​38090
  • chore: point to /dist for local action
  • chore: fix issue validator paths
  • Update some flaking tests for edge compiler and rsc: #​38344
  • chore: remove workspace from package.json since we have `pnpm-works…: #​38166
  • Revert "chore: remove workspace from package.json since we have `pnpm-works…": #​38376
  • Replace pre-commit with husky: #​38350
  • Add more CSS imports test cases: #​38343
Credits

Huge thanks to @​ethomson, @​styfle, @​padmaia, @​kwonoj, @​shuding, @​ijjk, @​manovotny, @​thisisjofrank, @​maxproske, @​dominiksipowicz, @​awareness481, @​pakaponk, @​SukkaW, @​apledger, @​wyattjoh, @​huozhi, @​thomasballinger, @​balazsorban44, @​longzheng, @​tknickman, @​rbrcsk, @​emersonlaurentino, @​carstenlebek, @​edusig, @​Schniz, @​riccardogiorato, @​leerob, @​valcosmos, @​hanneslund, @​ryanhaticus, @​j-mendez, @​armandabric, @​WinmezzZ, @​andershagbard, @​dammy001, @​MarDi66, @​stefanprobst, @​okmttdhr, @​rishabhpoddar, @​marjorg, @​dustinsgoodman, @​zanechua, @​feugy, and @​timneutkens for helping!

v12.2.0

Compare Source

Core Changes
  • Flush initial styled-jsx in gIP first in concurrent rendering: #​36594
  • Add falling back to wasm swc build on native load failure: #​36612
  • feat(next-swc): introduce experimental tracing support for swc: #​35803
  • Add initial handling for routing tests: #​36635
  • Fix asPath handling for data route revalidation in minimal mode: #​36660
  • fix: react root enabled properly in custom server: #​36664
  • Route Loader Trusted Types Violation Fix: #​34730
  • Update components in GitHub Actions: #​36669
  • Fix various Trusted Types violations without use of policy: #​34726
  • Add experimental wildcard remotePatterns config for upstream images: #​36245
  • Tweak routing tests: #​36667
  • Update renderOpts.dev handling and fix check: #​36666
  • fix: duplicate app server: #​36710
  • Add route loader: #​36712
  • Fix leftover todo in loader: #​36734
  • Leverage pageExtensions for resolving in loader: #​36747
  • Use react dom server node api to detect react root is enabled: #​36749
  • replace use-subscription with use-sync-external-store: #​36733
  • Add flight render starting point: #​36760
  • feat: better cookies API for Edge Functions: #​36478
  • Clarify variables being used during rendering: #​36773
  • Update x-nextjs-cache header in minimal mode: #​36791
  • Add experimental flag to force SWC transforms: #​36789
  • Update root component handling: #​36781
  • Add final newline to package-lock.json: #​36813
  • Move FlightManifestPlugin to server compilers: #​36810
  • Update moduleNameMapper jest config and remove extra deps: #​36787
  • Wait for shell resolve with gIP is customized in react 18: #​36792
  • Build x86_64-freebsd SWC binary: #​36826
  • Don't convert error to string: #​36804
  • fix(#​36534): enable interopClientDefaultExport for next/jest: #​36824
  • fix(#​30300): force export 404.html: #​36827
  • Telemetry: track usage of 'experimental/nextScriptWorkers': #​36812
  • Eagerly load swc bindings for wasm fallback for jest: #​36784
  • Add experimental config for basePath testing: #​36843
  • Enable html post optimization for react 18: #​36837
  • Update client router for tests: #​36822
  • Fix return type of middleware req.cookies.get(): #​36872
  • Make esm default interpolation work with jest mock: #​36877
  • Decouple entries for server components and client components: #​36860
  • fix(#​36855/#​30300): export 404.html correctly: #​36910
  • Drop the unstable web vital hook and remove exports of flush effects: #​36912
  • Update swc: #​36745
  • Add additional layer for server components case: #​36921
  • Support graceful shutdowns: #​36909
  • Update @​types/node-fetch to latest: #​36953
  • Fix SWC dynamic transform with suspense but without ssr: #​36825
  • fix(#​36651): disable reactRemoveProperties in jest transform: #​36922
  • Update swc: #​36972
  • Update lockfile patching for different versions: #​36959
  • Add support for browserslist and legacyBrowsers experimental option: #​36584
  • Remove optional chaining from eslint rule to support older node versions: #​36978
  • escape flight response values: #​36989
  • fix(middleware): false positive dynamic code detection at build time: #​36955
  • Fix interopDefault on jest object-proxy: #​37002
  • Simplify the logic for static flight response generation: #​36984
  • Fixes beforeInteractive scripts failing in custom document: #​37000
  • Change experimental layout=raw to use native img lazy loading: #​36985
  • Don't add locale to client side redirects from data fetching: #​36944
  • Edge Cookies: Add .getWithOptions method: #​36943
  • Deprecate nested Middleware in favor of root middleware: #​36772
  • Fix styled-jsx not working in client components in the edge runtime when SSR: #​37042
  • Update to latest version of @​vercel/nft: #​37041
  • Fixes beforeInteractive inline scripts don't run: #​37033
  • Update swc: #​37009
  • feat(middleware)!: forbids middleware response body: #​36835
  • Extract and refactor getPageStaticInfo: #​37062
  • Keep custom app as non server component: #​37044
  • Ensure hydration error doc link is shown with react 18: #​37074
  • Stabilize SWC emotion transform plugin: #​37058
  • DecodeError from invalid URI causes 500 with middleware (vs 400 without): #​36993
  • feat: Opt-out Error page from dark scheme color: #​36951
  • Properly await for this.hasPage() in base-server: #​37091
  • Enable Trusted Types Compatibility in Webpack: #​36750
  • Fix Trusted Types violations from dangerouslySetInnerHTML on style elements: #​36751
  • Remove invalid attrs for head html element: #​36457
  • Fix next/link can't jump to non-latin anchors: #​36430
  • Fix: Cleaner error message when importing sass without it being installed in dev: #​35051
  • fix(#​33081): handle relative path correctly: #​36823
  • fix: place the charset meta tag at the top of the head: #​36561
  • keep method when cloning Request, fixes #​36522: #​36539
  • fix: Catch hash change errors, and emit a routeChangeError event: #​36828
  • fix: should listen for config file changes when specifying the app directory: #​36570
  • improve getStaticProps error message: #​34287
  • next-swc: Improve error message for nested styled jsx tags: #​33805
  • Add missing file in mini-css-extract-plugin: #​25691
  • fix NextApiRequestCookies and NextApiRequestQuery types: #​25532
  • Add eslint rule for not allowing styled-jsx in _document.js: #​32678
  • fix: Scroll restoration bug caused by idx reset to 0 on reload: #​36861
  • Add JSX.Element to styles type in DocumentInitialProps: #​36392
  • Fix Type to solve issue found in #​36008: #​36671
  • Warn when building a TS project with composite: true and fallback to incremental: #​35270
  • Support TS exactOptionalPropertyTypes (fixes #​35280): #​35281
  • feat(middleware): issues warnings when using node.js global APIs in middleware: #​36980
  • perf: run type check and eslint in parallel: #​37105
  • Remove process.cwd usage from path polyfill: #​37130
  • Bump @vercel/nft to 0.19.1: #​37129
  • Add libc field to swc packages: #​37131
  • chore(devDeps): bump @​vercel/ncc to 0.33.4: #​37113
  • fix(typescript): worker execution failed with custom next.config.js: #​37125
  • Update swc: #​37148
  • Update swc: #​37149
  • Fix client component hydration: #​37134
  • Avoid anonymous function in next/link: #​37154
  • should render the correct sizes passed when a noscript is rendered: #​37161
  • Use customized chunk loading implementation: #​37163
  • Rename app paths folder: #​37146
  • Fix experimental remotePatterns wildcard: #​37137
  • Split useServerResponse for initial responses: #​37209
  • Refactor fetchFlight: #​37213
  • build: import useSyncExternalStore from react when using react 18: #​37212
  • feat(next/swc): support experimental swc plugins: #​36790
  • Small code improvements: #​37227
  • build(actions): skip plugin features for non supported platform: #​37229
  • Use deterministic module IDs in the client bundle: #​37249
  • Execute middleware on Next.js internal requests: #​37121
  • Preload chunks for next/dynamic in suspense mode: #​37245
  • Refactor incremental cache to be extensible: #​37258
  • Ignore popstate with invalid state: #​37110
  • Show warning during build if page is returning a large amount of data: #​37264
  • Add swcMinifyDebugOptions: #​37172
  • Update to leverage pnpm for monorepo: #​37259
  • Refactor client component out of client runtime: #​37238
  • Update to not trigger revalidation during prefetch: #​37201
  • Upgrade amp optimizer to v2.8.3: #​27106
  • Use Edge Runtime for running Edge Functions locally: #​37024
  • fix: do not pass legacyBehaviour to a as prop: #​37306
  • Add router replace to experiment: #​37312
  • Extract router utils to common functions: #​37313
  • Include router context as rsc shared dep: #​37320
  • Update to leverage turbo for build/prepublish: #​37280
  • Update of @​babel/core: #​37145
  • Migrate prerender lru cache into fs cache handler: #​37326
  • support runtime: edge in api endpoints: #​36947
  • Revert "support runtime: edge in api endpoints": #​37337
  • Ensure type check/link worker does not retry: #​37324
  • Revert "Revert "support runtime: edge in api endpoints"": #​37344
  • Revert Edge API endpoints: #​37350
  • Handle link with back/forward navigation: #​37332
  • Edge Functions: deprecate access to request.page: #​37349
  • Fix bloat in main bundle from amp: #​37383
  • Add Suspense boundary to demo: #​37393
  • update webpack and watchpack: #​37397
  • Fix next dev not working for server components in app: #​37403
  • Use the new moduleMap option in the flight client during SSR: #​37406
  • Remove unused id rsc cache cleaning and avoid rsc refresh existed in client chunk: #​37404
  • Allow Middleware to set its matcher: #​37177
  • Skip loading unused plugins in next dev: #​37430
  • Fix next/image using layout=raw with priority: #​37381
  • Fix document head with react 18: #​37443
  • Set swcMinify as an attribute on terser-webpack-plugin-optimize span: #​37416
  • Allowing hiding the ReactDevOverlay: #​37417
  • Ensure ENOENT error is not ignored when loading pages: #​37486
  • Upgrade node-html-parser: #​37449
  • Fix invalid middleware regexp in manifest: #​37492
  • Avoid unnecessary router state changes: #​37431
  • Enable externalHelpers swc option: #​37150
  • Add check for duplicate locales: #​37485
  • add method to measure Interaction to Next Paint (INP): #​36490
  • chore: remove unused variable: #​37538
  • Update to latest version of @​swc/helpers: #​37531
  • middleware] Support any `method` when fetching a `Request` instance: [#&#8203;37540](https://github.com/vercel/next.js/issues/37540)
    
  • Migrate head side effects to hooks: #​37526
  • chore: remove unused safari nomodule fix: #​37541
  • fix(#​37106): middleware can not be loaded from src folder: #​37428
  • Remove Middleware Preflight: #​37490
  • fix(eslint): false positive for legit next/server imports: #​37515
  • chore: reworks nested middleware error message: #​37513
  • Revert "Avoid unnecessary router state changes": #​37572
  • Middleware: remove req.ua: #​37512
  • middleware] support destructuring for env vars in static analysis: [#&#8203;37556](https://github.com/vercel/next.js/issues/37556)
    
  • Fix react root env missing in NextServer: #​37562
  • Fix client entry unexpectedly created in app dir: #​37561
  • Ensure check-precompiled exits correctly on failure: #​37592
  • Revert "Revert "Avoid unnecessary router state changes"": #​37593
  • Update to process redirects/rewrites for _next/data with middleware: #​37574
  • Bump @​vercel/nft 0.20.0: #​37602
  • Strip next internal queries for flight response: #​37617
  • chore: narrows regexp to enable middleware source maps: #​37582
  • feat(next export): add warning if using getInitialProps: #​37642
  • Update matched path params priority: #​37646
  • Re-introduce Edge API Endpoints: #​37481
  • Fix rewrite/dynamic interpolation E2E cases: #​37669
  • Fix Image Optimization cache-control regression with external images: #​37625
  • Adds consistency to ESLint rules.: #​34335
  • Ensure custom middleware matcher is used correctly in client manifest: #​37672
  • Optimize middleware regex handling: #​37688
  • Revert "Revert "Revert "Avoid unnecessary router state changes""": #​37692
  • Add test combining middleware & config rewrites: #​37667
  • fix(ts): expose DynamicOptionsLoadingProps type: #​37700
  • Improve Middleware errors: #​37695
  • Ensure navigating with middleware parses route params correctly: #​37704
  • Fix shallow routing with rewrites/middleware: #​37716
  • chore: bump react dev dep to 18.2: #​37697
  • Ensure rewrite query params with middleware are available in router: #​37724
  • Update pre-compiled: #​37729
  • fix(eslint): allow in conjunction with (#​37504): #​37570
  • middleware] Warn dynamic WASM compilation: [#&#8203;37681](https://github.com/vercel/next.js/issues/37681)
    
  • Update to skip middleware for unstable_revalidate: #​37734
  • Remove previous query param deleting warning: #​37740
  • Enhance experimental feature warning: #​37752
  • Add images.unoptimized: true for easy next export: #​37698
  • Ensure eslint-config warning/errors are correct: #​37760
  • Refactor server routing: #​37725
  • refactor(middleware): leverages edge-runtime builtins to decorate errors in dev: #​37718
  • Ensure query params are populated correctly with middleware: #​37784
  • Use SVG blur technique for raw layout images: #​37022
  • fix(config): only warn experimental feature when used: #​37755
  • Display full refresh warning even when error has occurred: #​37425
  • Detect pnpm correctly when installing missing dependencies: #​37813
  • Throw an error when target: 'serverless' is used with Middleware: #​37819
  • Enable externalHelpers when pre compiling Next.js' code: #​37164
  • Revert "Enable externalHelpers when pre compiling Next.js' code": #​37829
  • Allow Edge Functions to receive body: #​37822
  • Add hard navigation guard and fix middleware rewrite cases: #​37815
  • edge api] allow wasm usage: [#&#8203;37836](https://github.com/vercel/next.js/issues/37836)
    
  • Include i18 and basePath on middleware with custom matchers: #​37854
  • Fix compile time log after error: #​37863
  • Fix <Image/>'s lazyRoot and other optimizations: #​37447
  • resolve swc-plugin paths: #​37412
  • Update swc: #​37607
  • Ensure next-server tracing uses tracing root config: #​37888
  • Migrate middleware ssr to edge functions: #​37708
  • refactor: merge duplicated render page logic: #​37897
  • Fix styled-jsx types when package is not hoisted: #​37902
  • Remove full reload overlay and warn in CLI instead: #​37874
  • Remove NextResponse.json as we already have it defined from inheriting Response: #​37887
  • fix: keep _ssgManifest.js output uniform: #​37906
  • Fix next/head in _app in RSC pages: #​37928
  • Ensure resolvedUrl is correct with fallback rewrites: #​37932
  • Ensure special chars in middleware matcher is handled: #​37933
  • Drop experimental.reactRoot in favor of auto detection: #​37956
  • feat: enable configuration of styled-components transform and enable css prop support: #​37861
  • feat: enable styled-components css prop swc transform by default: #​37962
  • Ensure cache-control is correct when returning redirect: #​37958
  • Move styled-jsx type reference: #​37964
  • Add experimental next/future/image component: #​37927
  • Remove Middleware warning message: #​37973
  • Fix hard navigation guard on popstate and handle fetching fresh data: #​37970
  • Fixes for middleware compilation errors: #​37984
  • Fix npm publish to include future folder: #​37999
  • Move outputStandalone config: #​37994
  • Move rimraf from root packages using it: #​37996
  • On-demand ISR updates: #​37955
  • fix: hardcoded protocol in request url: #​37925
  • Fix eslint-config-next peer dep issue: #​38009
  • fix(#​37981): handle legacy link behavior with number type children: #​38013
  • Fix invalid warning for existing experimental flag: #​38027
  • feat(cli): allow configuration of http-server's timeout configuration: #​35827
  • eslint-plugin-next] remove `no-server-import-in-page` rule: [#&#8203;38028](https://github.com/vercel/next.js/issues/38028)
    
  • chore: rename middleware ssr loader and flight manifest to edge related: #​38042
  • Ensure we do not ignore module not found errors during build: #​38026
  • Rename page runtime edge to experimental-edge: #​38041
  • chore: make experimental images options optional: #​38030
  • Remove layout raw image experiment: #​38006
  • Script] Allow `next/script` to be placed in `_document` body: [#&#8203;37894](https://github.com/vercel/next.js/issues/37894)
    
  • middleware] avoid fetching a chunk for api endpoints on middleware redirect: [#&#8203;37949](https://github.com/vercel/next.js/issues/37949)
    
  • Upgrade Edge Runtime: #​38069
  • feat(cli): report eslint-config-next version in next info: #​38062
  • Add invariant with debug information when failing to load static file: #​38075
  • Add error for renaming of unstable_revalidate: #​38070
  • fix(next): bind new stream functions with base incomingMessage object: #​37806
  • Add init to some NextResponse methods: #​38071
  • Fix resolving dynamic routes when on returns a redirect: #​38079
  • Remove unnecessary <noscript> from next/future/image: #​38080
  • Ensure history navigation is correct after query update: #​38086
  • Ensure client cache keys match between prefetch and transition: #​38089
  • Upgrade Edge Runtime: #​38105
Documentation Changes
  • docs: add jest-environment-jsdom package for Jest configuration: #​36632
  • Added type to Page Component for TypeScript: #​36608
  • Improve wording: #​36649
  • fix(docs): mention cookies in context: #​36342
  • Add docs about nextRuntime for custom webpack: #​36685
  • Updated the middleware api docs env section to remove dev and prod : #​36739
  • Fixed typo: #​36753
  • Fixing Tina + Adding a demo URL: #​35480
  • Updated copy around enabling source maps: #​36852
  • scss exects semicolon: #​36779
  • docs: add more details about nextRuntime in webpack config and runtime in next config: #​36862
  • Move CI build cache instructions to Deployment docs: #​35418
  • docs: adding changes to setCookie example: #​36870
  • Update no-floating-promises lint rule docs page: #​36913
  • Update runtime-configuration.md: #​36923
  • Clarify .env* environment variable priority: #​36967
  • Add note clarifying pnpm args handling: #​37049
  • typo: Change yarn into pnpm: #​37092
  • Include router.asPath caveats in docs: #​36876
  • docs: clarify environment variables behavior: #​36620
  • docs: Add pageExtensions usage note in API Routes: #​35918
  • Add docs about locale: #​33401
  • Clarify conditions under which process.env expressions are inlined: #​33212
  • Update testing.md: #​29954
  • Add section for jetbrains webstorm debugging: #​24556
  • Update incremental-static-regeneration.md: #​37159
  • Docs: missing parenthesis on example: #​37156
  • Use appropriate className attribute for JSX: #​37168
  • Fix broken links in image.md: #​37223
  • Add note that next build output is compressed.: #​37228
  • add supported API's link to middleware docs: #​37251
  • Update pnpm create next-app for latest pnpm 6 and 7: #​37254
  • docs] Clarify "When does getStaticProps run" note: [#&#8203;37289](https://github.com/vercel/next.js/issues/37289)
    
  • Improve next/dynamic docs and add links to layouts RFC.: #​37244
  • Add a note: #​37315
  • docs: fix usage in middleware errors: #​37364
  • Update nested Middleware error reference.: #​37368
  • Add note about NEXT_DATA hydration: #​37480
  • Update deployment documentation.: #​37571
  • i18n regression tests and docs for ignore locale in rewrite: #​37581
  • Script] Updates stale `no-script-in-document-page` error doc: [#&#8203;37568](https://github.com/vercel/next.js/issues/37568)
    
  • Fix links in google-font-display error: #​37661
  • Update Jest config with SWC docs: #​37705
  • Add upgrade guide for Middleware.: #​37382
  • Add missing error manifest entry and fix lint: #​37758
  • fix grammar in failed-loading-swc: #​37765
  • Update 4MB API Routes warning error guide.: #​37779
  • Update custom-document.md: #​37811
  • Fix broken link for no-script-in-document-page error.: #​37831
  • fix typo in example section of dynamic-import.md: #​37834
  • fix: missing parentheses: #​37839
  • Describe relation between region locale and country locale when a country is not found: #​37745
  • Change Middleware error guide from .js to .ts.: #​37858
  • Update Middleware docs to mention canary version.: #​37865
  • Fix typo in dynamic import section of dynamic-import.md: #​37872
  • chore(examples): fix active-class-name example: #​37828
  • Fix some casing of "On-Demand ISR": #​37892
  • Adds new userAgent docs to the next/server docs page: #​37613
  • Add a Plasmic example: #​37522
  • Update Middleware beta message.: #​37934
  • docs: clarify NextRequest.ip: #​37987
  • docs: return response in code example: #​37985
  • Fix flaky onLoad() test for next/image/future: #​37993
  • Fix typo for rewrites to rewrite.: #​38000
  • Add note about skipping upstream cache during revalidation: #​38014
  • Add SWC plugins to version history in docs.: #​38039
  • Fix typo for rewrites/redirects to rewrite/redirect: #​38016
  • Added ESLint upgrade instructions to middleware upgrade guide: #​38008
  • Rephrase middleware location: #​38073
  • Update middleware-upgrade-guide to be consistent: #​38102
Example Changes
  • Update buttercms example: #​35436
  • Fix mobile tests in with-playwright: #​36705
  • added example: with-geist-ui: #​36525
  • chore: upgrade dependencies in Jest examples: #​36858
  • Example/facebook pixel script: #​34417
  • fix(examples): maxlength was inconsistent: #​36840
  • chore: update Jest example snapshots: #​36884
  • Remove un-helpful error in with-sentry example: #​36902
  • Update to with-supertokens example: #​36906
  • Add with-markdoc/ example: #​36867
  • custom-server-express fix type definition and eliminate dead code: #​37054
  • fix(examples/with-segment-analytics): Update README: #​35387
  • fix(with-tailwindcss-emotion): 'theme' of undefined: #​35588
  • update zustand example: #​35022
  • example: Added with-contentlayer example: #​30045
  • docs: svg as component example leveraging swc instead of babeljs: #​36410
  • Fix gh-pages example for windows user: #​35169
  • Use apollo onError in with-apollo example: #​25051
  • EXAMPLES] fix apollo client cache hydration: [#&#8203;27799](https://github.com/vercel/next.js/issues/27799)
    
  • docs(with-sentry): Add note regarding replacing wizardcopy.js config files: #​37039
  • feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes: #​36439
  • feat(examples): refactor api-routes-graphql to GraphQL Yoga: #​36155
  • refactor(examples/with-typescript-graphql): use codegen TypedDocumentNode and GraphQL Yoga for better DX and smaller bundle size: #​36240
  • Update cms-kontent example SDK package to v11: #​37187
  • Fix cms-kontent example Next/Image domain error: #​37188
  • Update cms-kontent example to action PR feedback: #​37206
  • chore: simplify with-styled-components: #​37237
  • add pnpm link to docs: #​37221
  • Fix with-contentlayer example build error: #​37257
  • chore: update with-tailwindcss example to TypeScript: #​37208
  • Updated graphql API to support v1.7.2: #​35896
  • Update GitHub Pages deployment example.: #​37282
  • change map function to forEach function: #​37284
  • Remove extra prettier config from tailwindcss example : #​37351
  • Update for CMS Wordpress Example.: #​37402
  • Fix with mux video example: #​37434
  • Changed _app.js to a functional component: #​37635
  • Bump version tailwindcss example to 3.1: #​37633
  • Update with-faunadb dependencies: #​37650
  • Request library required by setup: #​37658
  • Update with-mux-video to use latest upchunk and replace video player with mux-player-react: #​37621
  • Convert active-class-name example to TypeScript: #​37676
  • Add with-docker-compose example: #​32668
  • Convert hello-world example to TypeScript: #​37706
  • Update Ghost CMS Example: Accept-Version Header API requirement, typo: #​37737
  • Update Chakra-UI dependencies for React 18: #​37772
  • fix: markdown format for the blog-starter example: #​37792
  • Convert amp example to TypeScript: #​37744
  • feat: add correct type to with-styled-coponents: #​37816
  • Update Cosmic CMS Example: cosmicjs package to v4.1.7, update queries: #​37693
  • update devdDependencies @​types/react and @​types/react-dom : #​37423
  • Examples] updated styled-components: [#&#8203;37856](https://github.com/vercel/next.js/issues/37856)
    
  • Examples] Add external example with typescript to "with-material-ui" folder: [#&#8203;37846](https://github.com/vercel/next.js/issues/37846)
    
  • Adding example with-fingerprintjs-pro for identifying visitors: #​37549
  • chore: detect no canary verification: #​37788
  • Added with-particles template: #​35471
  • Fixing bug - Can't resolve 'prop-types': #​38021
  • Add *.tsbuildinfo to .gitignore of examples that use typescript: #​38005
  • Convert amp-first example to TypeScript: #​38029
  • fix(38043): replace double slashes with hashtag for comment lines in …: #​38044
  • Convert amp-story example to TypeScript: #​38038
  • Convert analyze-bundles example to TypeScript: #​38040
Misc Changes
  • Enable disabled tests that pass: #​36644
  • test: merge rsc custom app cases: #​36713
  • enforce omitting name and version: #​36771
  • test: clean up duplicated tests: #​36871
  • Update to latest version of turbo: #​37046
  • Fix copying local swc binary for pnpm test: #​37047
  • Update a couple flakey tests: #​37071
  • Fixed anotation param name: #​37075
  • Enable E2E deploy tests on publish: #​37019
  • Merge multiple log statements: #​35310
  • Add typedef for next-bundle-analyzer: #​35075
  • next-bundle-analyzer: openAnalyzer option: #​36493
  • chore: add test for in-fragment HEAD reflection: #​35320
  • Add tests for getStaticProps and getServerSideProps: #​37014
  • Update deploy E2E test setup: #​37126
  • Fix example extraction when branch name contains slash: #​37140
  • Fix build-wasm CI job: #​37165
  • Update contributing doc and PR template for examples: #​37193
  • Update contributing doc and PR template for examples: #​37215
  • Update test config to only install pnpm when needed: #​37222
  • Fix memory allocation issue on linux gnu platform: #​37243
  • Add type definitions for next/mdx: #​36815
  • Ensure all bench dependencies are added: #​37278
  • add version step for publish
  • Update swc builds : #​37285
  • Ensure pnpm is available during publish
  • declare pnpm7 as engine: #​37303
  • Update install native script: #​37354
  • Update missed yarn -> pnpm in contributing: #​37370
  • Fix font-optimization snapshot test: #​37432
  • fix: removes invalid path from doc: #​37415
  • Update tests root->app: #​37477
  • test: upgrade playwright-chromium from 1.14.1 to 1.22.2: #​37436
  • Update flakey preview test: #​37518
  • Add middleware size stats: #​37519
  • Fix failing swc builds: #​37629
  • Update usage of example.com -> example.vercel.sh: #​37630
  • Update flakey next-script tests: #​37663
  • Allow passing FileRef directly to createNext: #​37664
  • Update middleware matcher e2e test: #​37694
  • Update concurrency for dev and start E2E tests: #​37719
  • Expose test timings token for e2e tests: #​37756
  • chore: use pnpm install in tests: #​37712
  • Add bug report field to issue template: #​37766
  • Update to use latest version of pnpm: #​37794
  • Fix a couple flakey next-script and unoptimized image tests: #​37848
  • add a test that verifies that NextResponse can be cloned: #​37883
  • fix(ci): Don't build wasmer for freebsd and i686 windows target: #​37891
  • chore: add action.yml to Issue validator action: #​37950
  • feat(cli): support examples without package.json: #​37910
  • Update middleware matcher test for root: #​37961
  • Ensure repo is checked out before running validate issue action: #​37972
  • Fix issue-validator path
  • chore: use Node 16 for issue validator action: #​37982
  • Update to latest version of turbo: #​37976
  • Bump release to 6.3.1: #​37995
  • Update flakey prefetch test: #​37997
  • Update expected error for middleware deploy test: #​37998
  • Update .gitignore to include @next/swc-wasm-nodejs: #​38025
  • chore: compile issue validator action: #​37990
  • Update image tests from placeholder.com to *.vercel.app: #​38081
Credits

Huge thanks to @​huozhi, @​ijjk, @​kwonoj, @​ViolanteCodes, @​akrabdev, @​timneutkens, @​jpveilleux, @​stigkj, @​jgoping, @​oof2win2, @​Brooooooklyn, @​CGamesPlay, @​lfades, @​molebox, @​steven-tey, @​SukkaW, @​Kikobeats, @​balazsorban44, @​erikbrinkman, @​therealmarzouq, @​remcohaszing, @​perkinsjr, @​shuding, @​hanneslund, @​housseindjirdeh, @​RobertKeyser, @​styfle, @​htunnicliff, @​lukeshumard, @​sagnik3, @​pixelass, @​JoshuaKGoldberg, @​rishabhpoddar, @​nguyenyou, @​kdy1, @​sidwebworks, @​gnoff, @​gaspar09, @​feugy, @​mfix-stripe, @​javivelasco, @​Chastrlove, @​goncharov-vlad, @​NaveenDA, @​Firfi, @​idkwhojamesis, @​FLCN-16, @​icyJoseph, @​ElijahPepe, @​elskwid, @​irvile, @​Munawwar, @​ykolbin, @​hulufei, @​baruchadi, @​imadatyatalah, @​await-ovo, @​menosprezzi, @​gazs, @​Exortions, @​rubens-lopes, @​woochul2, @​stefee, @​stmtk1, @​jlarmstrongiv, @​MaedahBatool, @​jameshfisher, @​fabienheureux, @​TxHawks, @​mattbrandlysonos, @​iggyzap, @​src200, @​AkifumiSato, @​hermanskurichin, @​kamilogorek, @​ben-xD, @​dawsonbooth, @​Josehower, @​crutchcorn, @​ericmatthys, @​CharlesStover, @​charlypoly, @​apmatthews, @​naingaungphyo, @​alexandrutasica, @​stefanprobst, @​dc7290, @​DilwoarH, @​tommarshall, @​stanhong, @​leerob, @​appsbytom, @​sshyam-gupta, @​saulloalmeida, @​indicozy, @​ArianHamdi, @​Clariity, @​sebastianbenz, @​7iomka, @​gr-qft, @​Schniz, @​dgagn, @​sokra, @​okbel, @​tbvjaos510, @​dmvjs, @​PepijnSenders, @​JohnPhamous, @​kyliau, @​eric-burel, @​alabhyajindal, @​jsjoeio, @​vorcigernix, @​clearlyTHUYDOAN, @​splatterxl, @​manovotny, @​maxproske, @​nvh95, @​frankievalentine, @​nuta, @​bagpyp, @​dfelsie, @​qqpann, @​atcastle, @​jsimonrichard, @​mass2527, @​ekamkohli, @​Yuddomack, @​tonyspiro, @​saurabhmehta1601, @​banner4422, @​falsepopsky, @​jantimon, @​henriqueholtz, @​ilfa, @​matteobruni, @​ryscheng, @​hoonoh, @​ForsakenHarmony, @​william-keller, @​AleksaC, @​Miikis, @​zakiego, @​radunemerenco, @​AliYusuf95, and @​dominiksipowicz for helping!

v12.1.6

Compare Source

Core Changes
  • rsc: remove router injection: #​36101
  • Fix export from and native modules in server component: #​36072
  • feat(next-swc): Update css parser: #​36114
  • fix: do not add locale prefix to api route on NextURL: #​36118
  • Add experimental onlyGenereated flag for unstable_revalidate: #​36108
  • Support necessary headers in the web server response: #​36122
  • Fix only generated case in minimal mode: #​36130
  • Fix req.url of rsc dynamic routes pages gSSP in edge runtime: #​36134
  • Reogranize the client component detection utils: #​36135
  • Add support for catch-all route params in NextRequest page type declaration: #​36137
  • rsc: mark next head as client component: #​36138
  • rsc: keep static page props: #​36157
  • Update to target es5 for use-subscription: #​36159
  • Fix text decoding for chunk: #​36165
  • Fix symlink and copy logic to standalone directory when using outputStandalone: #​35535
  • Adds linting rule to avoid assignment to 'module' variable: #​35279
  • Fix res.json support for string / null: #​36186
  • Update swc: #​36187
  • Fix next/image usage in most cases of onLoad(): #​36176
  • eslint-config-next] Update [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser) to v5.19.0: [#&#8203;36156](https://github.com/vercel/next.js/issues/36156)
    
  • Add support for tsconfig moduleResolution node | node12 | nodenext: #​36189
  • Fix missing _app component of AppTree in gIP context: #​36206
  • refactor(build): no force transpile optional chaining: #​35976
  • NextResponse.json: pass options to Response: #​35367
  • Improve NextApiHandler type for early returns: #​35166
  • Fix build activity indicator position: #​36208
  • 404 page - Responsive color scheme: #​32113
  • perf(escapeStringRegexp): test before replace: #​34472
  • rsc: skip next builtin module when apply loaders: #​36202
  • Use finally to clean up seen requests: #​36222
  • fix(next-swc/ssg): less aggressive exports drop: #​36199
  • fix type definition for defaultGetInitialProps: #​36252
  • Use renderToStaticMarkup to render documentHTML: #​36213
  • Fix flight loader: #​36282
  • Add telemetry for image config formats (avif/webp): #​36289
  • Ensure error is cleared for missing global css: #​36292
  • next/jest: Allow moduleNameMapper to match before Next.js internal mappings: #​36312
  • Add client HMR tracing for debugging: #​36328
  • feat:Add support for useDefineForClassFields typescript option: #​36335
  • Use fallbackable path module for node and edge runtime: #​36306
  • Update swc: #​36269
  • fix(next): use moduleGraph.getIssuer to avoid deprecation warning (#​36329): #​36330
  • Ensure beforeFiles client-side resolving handles dynamic routes: #​36317
  • Ensure there is only 1 render pass in concurrent rendering with getInitialProps in _document: #​36352
  • Changes to the beforeInteractive strategy to make it work for streaming: #​31936
  • Update swc: #​36351
  • Fix failing E2E deployment test cases: #​36368
  • chore: upgrade PostCSS dependencies: #​34354
  • Fix next/image usage of onError(): #​36305
  • Simplify the App and Component handling in render: #​36395
  • Do not polyfill node built-in modules on edge functions: #​36190
  • Fix to remove webpack message per error: #​36452
  • Rework behavior (backwards compatible): #​36436
  • Fix missing interpolation on next/head exports: #​36435
  • Add stitches and material-ui tests for new link behavior + fix TypeScript types when imported: #​36474
  • chore: remove git.io: #​36479
  • fix(#​36435): apply correct fix: #​36464
  • Add process env NEXT_RUNTIME: #​36383
  • Fix incorrect asPath with fallback rewrite in minimal mode: #​36463
  • Update manual revalidate response cache handling: #​36462
  • Pass nextRuntime in webpack context: #​36488
  • Support swc parse api in WASM: #​36482
  • Use edge compiler for middleware: #​36486
  • Update swc: #​36477
  • Remove passhref Eslint rule as it's no longer needed with new link behavior: #​36511
  • Add string children case for newNextLinkBehavior codemod: #​36516
  • Add with-edgedb example: #​35929
  • polish isomorphic path module: #​36521
  • Ensure optional params are normalized correctly in minimal mode: #​36513
  • Always add height and width prop to image with layout="raw": #​36523
  • Align behavior of SWC transform & transformSync: #​36500
  • Add event for swc load failure and attempt patching lockfile: #​36527
  • next-swc/wasm: Make span start at 0: #​36532
  • Add support for passing ref to next/link with new behavior enabled: #​36537
  • Update swc: #​36535
  • Refactor base server to get rid of the __server_context hack: #​36550
  • Tweak lockfile patching to be eager: #​36549
  • unlock eslint-config-next dependencies: #​35781
  • Hoist the desired ReactDOM import expression: #​36552
  • bump styled-jsx to latest: #​36554
  • chore: clarify CLI network errors: #​36567
  • Ensure older lockfile/invalid formats are handled: #​36577
  • Adds inline script functionality to next/script for worker and beforeInteractive strategies: #​36364
  • Fix missing Content-Length header from Image Optimization API: #​36581
  • Refactor Page Paths utils and Middleware Plugin: #​36576
  • Reexports styled-jsx JSXStyle in nextjs: #​36585
  • Update status code for normalize error: #​36580
  • Add pagesDir to Jest transformer: #​36599
  • Add tests for routing experiment: #​36618
  • Update findPagesDir: #​36619
  • Fix swc jest pagesDir config: #​36623
  • Fix next node buildin module error message for edge runtime: #​36434
  • Handle styled-jsx in newLinkBehavior codemod: #​36628
Documentation Changes
  • Add instructions to create pages directory and add an index.js file to it: #​35971
  • docs: specify minimum required react version: #​36091
  • Loosen the "public" condition on getSSP: #​36018
  • fixed typo, that should say 'in' not 'from': #​36046
  • Docs: workarounds for router not resetting state (fixes #​35138): #​35651
  • Add onLoad gotcha note to basic-features doc: #​36261
  • Fix introduction.md for next.config.js: #​36286
  • Clarifies that path params exist on query object: #​36321
  • Fix broken data fetching links in docs: #​33766
  • Change getStaticProps to getStaticPaths in getStaticPaths docs: #​36403
  • Revert "Change getStaticProps to getStaticPaths in getStaticPaths docs": #​36425
  • Update usage paragraph of next/script onLoad: #​36453
  • Add note about lockfile causing swc to fail to load: #​36484
  • Add docs on self-hosted ISR persisting across pods.: #​36520
  • Adds <link rel="preconnect" ... /> to example optimized font output: #​36529
  • Add note about running next without a sub-command: #​36560
  • Add docs about SSR caching (yes, you can do this with Next.js): #​36588
Example Changes
  • Fixes scripts in Electron examples.: #​36133
  • docs(examples/with-emotion-swc): update readme: #​36197
  • docs: add yoga to examples: #​36253
  • Adds removeListener handler to with-electron-typescript example.: #​36323
  • Removed unnecessary React Fragment: #​36331
  • updated with-rebass dependencies: #​36416
  • Add pnpm-debug: #​36394
  • added with-react-foundation example: #​36375
  • Grammar Changed features and API to features and it's API: #​36396
  • Adding Typescript and Mantine example: #​36294
  • examples] Update styled-components with Babel - add types: [#&#8203;36125](https://github.com/vercel/next.js/issues/36125)
    
  • Fix failing yarn PnP test from missing dependency: #​36515
  • docs(examples): Updated Chakra UI examples: #​36333
  • Fix typo: #​36592
  • add Script key for cache: #​36627
Misc Changes
  • Update CODEOWNERS: #​36164
  • Stabilize flakey prerender test: #​36193
  • Stabilize flakey build-output test: #​36195
  • Validate streaming writer chunk type in testing: #​36200
  • Update CI cache key to allow re-running only failed: #​36249
  • feat(trace): next/trace to event format converter: #​36281
  • Add handling for testing against deployments: #​36285
  • Make setup-wasm script work for local dev: #​36355
  • chore(create-next-app): fix pnpm create step: #​36398
  • Update font-optimization test snapshot: #​36492
  • docs: clarify triaging: #​36507
  • Remove extra yarn PnP example test: #​36518
  • Update rewrite destination for flakey rewrite tests: #​36519
  • Normalize font optimization snapshot to reduce flakes: #​36531
  • Bump react dev dep to 18.1: #​36491
Credits

Huge thanks to @​huozhi, @​shuding, @​kdy1, @​nkzawa, @​prichey, @​manovotny, @​balazsorban44, @​remorses, @​amandeepmittal, @​mward-sudo, @​eric-burel, @​timneutkens, @​styfle, @​ytkg, @​CuriosBasant, @​bart-krakowski, @​SukkaW, @​jameshfisher, @​Kikobeats, @​bjorm, @​alex-page, @​fmmoret, @​ijjk, @​davidbarker, @​kwonoj, @​seanparmelee, @​ddgrishkin, @​mmartinsoliv, @​byjoshuadavis, @​sakib412, @​Chastrlove, @​padmaia, @​janicklas-ralph, @​MaedahBatool, @​shinkj11, @​youngvform, @​zaida04, @​therealmarzouq, @​codedbyjordan, @​deadlynjdj, @​lfades, @​Brooooooklyn, @​renbaoshuo, @​javivelasco, @​triyanox, @​rafae2k, @​colinhacks, @​atcastle, @​leerob, @​sa3dany, @​nikolovlazar, @​refactorized, @​housseindjirdeh, @​ro11ingbutler, and @​gusrb3164 for helping!

v12.1.5

Compare Source

Core Changes
  • Script] Use `__non_webpack_require__` to fetch partytown server-side: [#&#8203;35793](https://github.com/vercel/next.js/issues/35793)
    
  • Use ReadableStream in client hydration for Firefox compatibility: #​35796
  • Continue testing react v17 with e2e tests: #​35787
  • Collect packages are used and eliminated in getServerSideProps: #​35404
  • Initial implementation of statically optimized flight data of server component pages: #​35619
  • Fix layout="raw" image element sizes prop: #​35809
  • fix: reset visible state when src/href changed: #​35287
  • Add warning when importing "next" directly: #​35884
  • Custom app for switchable runtime: #​35666
  • Update repo to use react 18 by default: #​35888
  • Fix Firefox flash of white on next/image with placeholder=blur: #​35889
  • Fix data encoder and decoder to use stream in renderer: #​35936
  • Revert "fix the dynamic routing of middleware": #​35932
  • Update: Add error message when for getServerSideProps invalid return value: #​35887
  • Code refactoring: #​35937
  • fix: add locale prefix to middleware preflight url: #​35911
  • Emotion SWC Plugin - Allow for jsxImportSource to be configurable: #​35963
  • Update polyfill of web streams: #​35571
  • Add .eslintrc.cjs to list of supported next lint config files: #​35440
  • update webpack: #​35867
  • Ensure minimalMode previousCache expire time is capped: #​35954
  • Add test case for module resolution in node_modules from different contexts: #​35978
  • Support shared component with next built-in client components: #​35975
  • Use eager import to include client modules: #​35979
  • Use renderToString for flush effects: #​35999
  • test: organize react 18 tests: #​36003
  • allow to provide postcss plugin options as a string: #​35173
  • Fix leaking internal config to user-defined loader prop in next/image: #​36013
  • Support export all syntax in client components: #​36027
  • Interpolate default exports: #​35933
  • feat(next-swc): Update swc crates: #​35996
  • Interpolate default exports is now unnecessary: #​36065
  • Do not add locale to link for api route and middleware preflight: #​35994
  • update @​vercel/nft to 0.18.1: #​36075
  • Fix outputStandalone with optimizeCss: #​36028
  • Interpolate module.exports as default import : #​36082
  • fix(next-url): print properly using logger symbol: #​36097
Documentation Changes
  • Docs: update react 18's overview: #​35766
  • Update dead link for getStaticPaths in error docs: #​35814
  • Link to with-docker-multi-env example.: #​35820
  • Add Vitest example.: #​35858
  • Docs: Add useful link to invalid-getstaticprops-value error message: #​35915
  • Update Manual Steps in Getting Started guide: #​35898
  • fix: toBeInTheDocument is not a function: #​35930
  • Refactor default locale prefix to support clone(): #​35874
  • docs: clarify when you use getServerSideProps: #​35922
  • Update docs related to React 18: #​35952
  • Mention HTTP 303 See Other in redirects section: #​35997
  • Update the docs for Switchable Runtime: #​36015
  • Add docs for x-nextjs-cache header: #​36023
  • Improvements to the MDX Docs and replaced a leftover reference to babel: #​35332
  • Moving middleware file : #​36009
  • Revert "Improvements to the MDX Docs and replaced a leftover reference to babel": #​36066
  • docs: failed-loading-swc possible fix for Windows users: #​36081
Example Changes
  • fix(with-mongodb): Change comment of MongoDB client in getServerSideProps: #​35750
  • example] Fix bird animations in with-three-js example: [#&#8203;36053](https://github.com/vercel/next.js/issues/36053)
    
  • Update to with-supertokens example: #​35991
  • Examples] Updating with-elasticsearch to latest Elasticsearch lib version: [#&#8203;36063](https://github.com/vercel/next.js/issues/36063)
    
  • example] Fix fast refresh in with-slate example: [#&#8203;36095](https://github.com/vercel/next.js/issues/36095)
    
  • add support for changing /route/#hashes: #​36079
Misc Changes
  • test: add test for basic dynamic import with react 18 hydration: #​35772
  • Send build trace to datadog in CI: #​35306
  • Fix docs only check for performance metrics job: #​35785
  • Run e2e suite against React 18: #​35774
  • ci(trace): adjust agent env variables: #​35790
  • ci(trace): fix workflow conditions: #​35800
  • ci(workflow): fix api key for trace: #​35804
  • Stabilize react streaming ISR test: #​35885
  • Fix flaky test: #​35951
  • Add note to contributing about docs manifest: #​36020
  • Update turbo cache key: #​36074
  • docs: suggest cloning with depth=1 to avoid huge downloads: #​36064
Credits

Huge thanks to @​TianenPang, @​huozhi, @​Brooooooklyn, @​SokichiFujita, @​timneutkens, @​housseindjirdeh, @​kwonoj, @​jonespen, @​leerob, @​shuding, @​atcastle, @​SukkaW, @​samueldusek, @​styfle, @​amandeepmittal, @​bestony, @​nkzawa, @​kamerat, @​JohnDaly, @​jakejarvis, @​sokra, @​reconbot, @​bjorm, @​kdy1, @​HaNdTriX, @​Markos-Th09, @​rishabhpoddar, @​timeyoutakeit, @​aravindputrevu, @​molebox, @​gsimone, @​Ethan-Arrowood, @​Kikobeats, @​williamli, and @​vltansky for helping!

v12.1.4

Compare Source

Core Changes
  • Only resolve page runtime for react 18 and error on read failure: #​35705
  • feat(next-swc): Update swc crates: #​35395
  • Fix document styles with react 18: #​35760
  • Fix router isReady and react 18 not being detected with no config: #​35762
Documentation Changes
  • Updated create-next-app docs to include pnpm usage: #​35755
Credits

Huge thanks to @​huozhi, @​styfle, and @​kdy1 for helping!

v12.1.3

Compare Source

Core Changes
  • Add deprecated JSDoc comments for the previous middleware signature: #​35448
  • fix the dynamic routing of middleware: #​32601
  • fix: don't override user-agent in fetch if specified: #​35547
  • Fix typos: #​35683
  • Fix Fast Refresh for React 18: #​35718
  • Emotion css minify should not trim end spaces if item is not the last: #​35697
  • Ensure the app shell is rendered before rendering the document: #​35732
  • fix: Prevent page to scroll to top during data HMR: #​35739
  • Fix _document and getInitialProps with React 18: #​35736
  • test(fix: Prevent page to scroll to top during data HMR): #​35744
  • Update to pre-compile use-subscription: #​35746
  • Fix useStatic404 condition: #​35749
  • Fix streaming SSR with multi-byte characters: #​35724
Documentation Changes
  • docs: fix typo in Script Component docs: #​35731
Misc Changes
  • Fix next info test during stable release: #​35668
  • Update default test timeouts for yarn install times: #​35669
  • test(integration): emit console error when test fails: #​35507
Credits

Huge thanks to @​lfades, @​nkzawa, @​kwonoj, @​SethFalco, @​hiro0218, @​Brooooooklyn, @​shuding, @​BWsix, @​schickling, @​ijjk, and @​martinnabhan for helping!

v12.1.2

Compare Source

Core Changes
  • RSC: handle commonjs in flight loader: #​35563
  • Update rsc refresh typing and doc example: #​35543
  • Revert "Revert "Make concurrent features independent from the global runtime option" #​35405": #​35490
  • Update terminal tree view for switchable runtime: #​35394
  • Prevent spaces between expressions from being removed: #​35613
  • Fix: disable script worker in edge and fix rsc loader and runtime: #​35604
  • enhance: detect ESM by ast type: #​35627
  • Clean up legacy react 18 tests: #​35615
  • Fix server component render condition: #​35663
  • Rename createRSCHook to createFlightHook: #​35665
  • Ensure eslint plugins dont conflict: #​35667
Documentation Changes
  • docs: update styling support for streaming: #​35375
  • Fix typo in rewrites docs: #​35639
  • Update middleware examples list: #​35622
Misc Changes
  • Fix create-next-app failing without yarn installed: #​35608
  • Fix hydration issue in the switchable runtime tests: #​35616
Credits

Huge thanks to @​huozhi, @​shuding, @​Brooooooklyn, @​TianenPang, @​lfades, and @​timneutkens for helping!

v12.1.1

Compare Source

Core Changes
  • refactor: move HtmlContext: #​34482
  • rsc: clean client buffer cache after flushed: #​34475
  • Ensure config's experimental field exists: #​34500
  • Only log experiments warning if user actually opted in to an experiment(s): #​34413
  • Add unstable_useFlushEffects hook: #​34117
  • fix: mock image path as next/image expects it: #​34350
  • fix process polyfill on middleware: #​34426
  • Ensure workers are not left open: #​34503
  • Leverage existing component checking warning for streaming: #​34526
  • build(next-swc): linux glibc compatible issue: #​34481
  • Fix next/image incorrectly warning for position: absolute parent: #​34551
  • Remove useMaybeDeferContent hook: #​34506
  • Allow reading request bodies in middlewares (#​34294): #​34519
  • Update swc crates: #​34491
  • feat(react-dev-overlay): export getErrorByType and add preventDisplay prop: #​34237
  • Improve next/image warnings to avoid printing more than once: #​34562
  • Support trailingSlash in middleware SSR: #​34544
  • Update to latest version of jscodeshift: #​34563
  • Don't import internally from types in next-env.d.ts: #​34394
  • Improve type imports in server/render and optimize the Edge SSR loader: #​34552
  • remove commons chunk config: #​34445
  • Add cargo clippy and cargo fmt to CI: #​34625
  • Fix rsc bootstrap buffer missing in the future renders: #​34631
  • fix: match redirect and rewrite destination types: #​34617
  • fix: make sure image-config.ts gets transpiled to ES5: #​34677
  • Normalize image optimizer error status codes: #​34699
  • Fix CSS Loader Detection False Positives: #​34584
  • Upgrade @​napi-rs/triples to support android arm platform: #​34752
  • Add proper headers to responses in web server: #​34723
  • produce source maps for middlewares: #​34409
  • Reduce the size of web server: #​34767
  • collect telemetry for ESLint rules: #​34564
  • Refactor entries generation in hot-reloader: #​34733
  • Integrate tsec into the linting process: #​33746
  • Add API config to allow disabling response size warning: #​34700
  • fix(#​34030): ignore non-checkable jsx spread attribute: #​34473
  • fix eslint-plugin-react version to avoid jsx-key error: #​34800
  • fix: #​34711 ensure distDir inside project folder: #​34795
  • Update to ncc dev overlay during build instead of pre-compile: #​34813
  • Add warning for Yarn PnP v3 with Node.js < 16.14: #​34818
  • lock eslint-config-next dependencies: #​34823
  • Clean-up error when starting next with non-existent dir: #​34830
  • Ensure unstable_revalidate does not error from notFound: true: #​34826
  • Update eslint-plugin-react to latest version: #​34819
  • Add CLI command typo detection: #​34836
  • Fix flight loader for shared components: #​34692
  • refactor: re-use existed escapeRegex: #​34470
  • Fix only byte stream writing is allowed in CF workers: #​34893
  • Only warn styles and scripts under next head in concurrent mode: #​34897
  • Fix image optimization invalid internal upstream image: #​34899
  • feat(next-swc): Update swc: #​34878
  • Simplify next-flight-server-loader: #​34902
  • Ensure non-matching API routes can be rewritten: #​33966
  • Optimize component type filters: #​34941
  • Expose WASM bindings in Middleware: #​34437
  • Provide page runtime parsing utils: #​34922
  • Refactor export marks of server components: #​34945
  • Fix next/image noscript when blur and priority: #​34973
  • Fix named export missing from client components: #​34974
  • Adopt react 18 rc1: #​34972
  • Fix typescript 4.6.2 randomUUID(): #​34976
  • Update ISR error handling: #​34931
  • Handle de-duping revalidations in minimal mode: #​34935
  • feat: allow dotenv default expansion: #​34765
  • Support colons in Middleware NextResponse.rewrite path: #​32543
  • Generate static html for bots: #​35004
  • Enable import assertion syntax parsing: #​33750
  • Split up & tweak next/client initialization: #​33838
  • Normalize root path according to trailingSlash option in default next/image loader #​21337: #​22453
  • Fix animated png bypass from Image Optimization API: #​35120
  • watch node_modules: #​35140
  • feat(trace): postprocess trace reporter for datadog: #​35032
  • next] Fix to not call middleware with shallow push, fix middleware call wit…: [#&#8203;35047](https://github.com/vercel/next.js/issues/35047)
    
  • fix post request hangs when no body is consumed on middleware: #​35131
  • fix: hard-navigate when preflight request fails: #​35145
  • Per-page runtime: #​35011
  • Delay prefix flushing: #​35170
  • Change to loadBindings for swc parse: #​35171
  • Ensure mjs files are transformed with jest: #​34698
  • Disable the functions manifest plugin: #​35155
  • Adopt react 18 rc2: #​35161
  • Convert server.js to module.exports: #​35181
  • Fix next/image when src is webp but browser doesnt support it: #​35190
  • Fix] Adds try/catch to gracefully handle performance observer exception: [#&#8203;35202](https://github.com/vercel/next.js/issues/35202)
    
  • Render resolved streaming content for static render result: #​35221
  • feat(next-swc): Update crates: #​35133
  • Ensure that pages manifest contains pages of both runtimes: #​35243
  • chore: upgrade cssnano-simple: #​35258
  • fix(Script): allow passing defer=false to Script component: #​34850
  • Remove the special _document-concurrent component: #​35242
  • Adds web worker support to <Script /> using Partytown: #​34244
  • Bump styled-jsx to 5.0.1: #​35290
  • Add new 'raw' image layout: #​34339
  • SWC emotion transform plugin: #​34687
  • enhance: cover re-exported gsp cases for runtime fallback: #​35326
  • Make concurrent features independent from the global runtime option: #​35245
  • Update comments for the web server: #​35366
  • Add libc fields to Linux platform packages: #​35354
  • Drop browser field for edge runtime: #​35335
  • Make router able to navigate between rsc pages: #​35344
  • Revert "Make concurrent features independent from the global runtime option": #​35405
  • Update on-demand ISR to skip fetch locally: #​35386
  • Use hasConcurrentFeatures instead of reactRoot as the condition of Fizz: #​35407
  • Abstract out stream related utils from render and web/utils: #​35372
  • Keep fouc tags for streaming: #​35417
  • Fix: change the timing for clearing the inlined data buffer: #​35413
  • fix(document): accepts nodearray for head's children: #​35424
  • Update to latest @​vercel/nft and leverage new reason types: #​35446
  • Add test to ensure fs.readFile() works with Output File Tracing: #​35338
  • feat(next-swc): embed target triple string: #​35416
  • Typo in URL removed: #​35472
  • feat(telemetry): report swc target triple to telemetry: #​35420
  • Update trace ignore check to check reasons correctly: #​35511
  • SWC import modularization plugin: #​34969
  • Reduce hello-world middleware bundle size from 128k to 88k: #​35512
  • Update next/link error when no children are provided: #​35453
  • Normalize ssgCacheKey for /index with minimalMode de-duping: #​35536
  • Merge rsc queries handling: #​35545
  • Upgrade react-server-dom-webpack: #​35524
  • Fix styled transform in next-swc/emotion: #​35527
  • Fix next info accidentally printing stderr: #​35556
  • chore: replace deprecated String.prototype.substr(): #​35421
  • test: warn on substr() usage: #​35499
Documentation Changes
  • Update docs for image optimization swr: #​34483
  • Fix 404 links in React 18 docs: #​34486
  • Fix snippet language sh -> bash: #​34487
  • Add info on rendering an error page when using getServerSideProps: #​34488
  • Update details about Cache Control Headers: #​34416
  • Update wrong code snippet: #​34520
  • fix: change showcase url: #​34590
  • Add note about public folder with standalone mode: #​34646
  • added styled-components & replay support in swc: #​34647
  • Provide more detail to static folder placement: #​34651
  • Update testing.md: #​34661
  • Remove page-specific font example from docs: #​34694
  • Fix typo in documentation: #​34734
  • Improve rewrites documentation: #​34725
  • Add Error Handling document: #​34329
  • Update inlineCode reference: #​34817
  • Add redirect for error doc rename: #​34791
  • Fix issues in getStaticPaths docs: #​34840
  • Improve TypeScript documentation.: #​34690
  • Fix broken link in react-18 streaming docs.: #​34884
  • Add missing closing parenthesis in docs: #​34924
  • examples] Update styled-components to use SWC: [#&#8203;34770](https://github.com/vercel/next.js/issues/34770)
    
  • feat: support pnpm with create-next-app: #​34947
  • Fix missing parenthesis for link in docs: #​35090
  • Update shallow routing caveat: #​35052
  • Add next/image docs section for animated images: #​35123
  • Add info on context.ctx argument in _app docs page: #​35303
  • Encourage installation of sass as a devDep: #​35323
  • docs] Update docs about Cache-Control default headers.: [#&#8203;35336](https://github.com/vercel/next.js/issues/35336)
    
  • docs] Update going to production docs around caching headers: [#&#8203;35374](https://github.com/vercel/next.js/issues/35374)
    
  • Update next/image docs for width & height: #​35188
  • Added note about why Next.js used 307 and 308 status codes: #​35325
  • Fix typo in getServerSideProps doc page: #​35467
  • clarify use of Script: #​35491
  • Server component docs use wrong next version: #​35313
  • Add link for revalidate from notFound section: #​35553
  • Fix typo in docs: #​35561
Example Changes
  • Convert custom-server-hapi Example to Typescript: #​34507
  • Updated head, img -> Image, type { NextPage } as default next-app: #​34513
  • removing redundant/unnecessary lines as these are defaults: #​34587
  • Sentry example: add js types to SentryWebpackPluginOptions: #​28726
  • Add .git to .dockerignore in docker examples: #​34628
  • Updates with-supertokens example: #​34679
  • Convert with-redis example to TypeScript: #​34720
  • Update MySQL example.: #​34784
  • Some minor adjustments to MySQL example.: #​34792
  • docs: update CMS examples to use the new tw grid gaps: #​34917
  • docs: update cms-sanity example: #​34898
  • Update cms-wordpress example: #​34944
  • Update supertokens demo app: #​35007
  • fix(examples/with-docker): add npm comment for yarn build: #​35040
  • examples] Add Tina CMS blog starter: [#&#8203;35045](https://github.com/vercel/next.js/issues/35045)
    
  • examples] Use more semantic footer element: [#&#8203;35033](https://github.com/vercel/next.js/issues/35033)
    
  • Re-add _document to with-styled-components example: #​35163
  • docs(examples): add on-demand ISR to cms-sanity: #​35220
  • examples: update instructions for create-strapi-app: #​35288
  • Remove with-custom-reverse-proxy example: #​35340
  • Change README structure in examples: #​35349
  • use initial state for rootReducer in with-redux-saga example: #​35406
Misc Changes
  • chore: clarify GitHub action (bot) comments: #​34546
  • Add test for multiple cookies coming from middleware: #​34465
  • Simplify .env.local gitignores: #​34471
  • Clarify test types during scaffolding: #​34638
  • Ensure rust-check skips on docs only change: #​34648
  • Update CODEOWNERS to include renamed files: #​34686
  • Lock yarn pnp version in tests: #​34688
  • Fix create-next-app Multiple calls to the function 'makeDir': #​34669
  • chore: Move test for streaming and RSC: #​34724
  • Fix react-dom type error in CNA typescript template: #​34623
  • Update test concurrency for CI: #​34827
  • Update to use whatwg validator for test: #​34891
  • dep: upgrade @​swc/core v1.2.148 , @​swc/cli v0.1.55: #​35054
  • Run tests against node LTS (v16) and current (v17): #​35414
  • test: add document head multi child prod test: #​35426
  • Use check on prerender test assertion: #​35482
Credits

Huge thanks to @​styfle, @​shuding, @​balazsorban44, @​huozhi, @​amandeepmittal, @​bennettdams, @​sophiabits, @​MaedahBatool, @​devknoll, @​nkzawa, @​kinetifex, @​elrumordelaluz, @​Brooooooklyn, @​mitchell-abbott, @​Schniz, @​natew, @​nrjdalal, @​dephraiim, @​lfades, @​sokra, @​AmirhBeigi, @​marshalcode, @​timneutkens, @​mxgnus-de, @​MoltenCoffee, @​jonespen, @​NoamNol, @​khuezy, @​rishabhpoddar, @​kara, @​reubn, @​luciy, @​Pauldic, @​brodyd795, @​eungyeole, @​kyliau, @​Nutlope, @​jgoping, @​crice88, @​leerob, @​SukkaW, @​thibautsabot, @​sincovschi, @​ahollenbach, @​kolarski, @​AFusco, @​stipsan, @​sisp, @​kdy1, @​lydiahallie, @​Skagoo, @​ijjk, @​klarstrup, @​midgleyc, @​perkinsjr, @​bnoguchi, @​fhinkel, @​fliptheweb, @​kwonoj, @​leyanlo, @​ericponto, @​huzaifarif, @​chemicalkosek, @​chentsulin, @​housseindjirdeh, @​bernard-lin, @​atcastle, @​kylemh, @​samsisle, @​Gomurmamma, @​molebox, @​Xairoo, @​nelodev, @​SevlaMare, @​lukahartwig, @​losfair, @​cramforce, @​hiro0218, and @​CommanderRoot for helping!

v12.1.0

Compare Source

Core Changes
  • Relay Support in Rust Compiler: #​33702
  • fix eslint link-passhref rule: #​33857
  • update webpack: #​33831
  • Flush buffered vitals metrics on page mount: #​33867
  • fix problem with HMR when middleware and page reference the same node_module: #​33873
  • Refactor page component getter in web server: #​33759
  • update NextResponse default redirect status to 307 to match docs: #​33505
  • Bug fix: dynamic page should not be interpreted as predefined page: #​33808
  • Group streaming experimental apis: #​33878
  • Encapsulate routing and initial hydration: #​33875
  • Optimize offline condition judgment: #​33238
  • Ensure external beforeFiles rewrites are handled with next/link: #​33888
  • Fix parsing params for i18n optional route in minimal mode: #​33896
  • Ensure browserslist extends works properly: #​33890
  • Fix image cache race condition: #​33883
  • Add support for Relay projects without artifactDirectory: #​33918
  • fix: handle jsxspreadattribute in inline-script-id eslint rule: #​32421
  • feat(next-swc): Update swc: #​33724
  • Update to latest version of amphtml-validator: #​33967
  • Warn in dev mode when script tags are added with next/head: #​33968
  • Ensure optional chaining in swc matches babel: #​33995
  • Use react-dom/server.browser in Node.js: #​33950
  • Ensure external middleware rewrite is handled correctly: #​33962
  • Update Terser to v5.10.0, fix minification issues: #​33045
  • Warn in dev mode when stylesheets are added using next/head: #​34004
  • Use ReadableStream in RenderResult: #​34005
  • Fix suffix ordering while streaming: #​34011
  • Don't use yarn if a package-lock.json file is found: #​31926
  • Do not warn when application/ld+json scripts are used with next/head: #​34021
  • Babel & next-swc: Fix exporting page config with AsExpression: #​32702
  • Detect per page runtime config for functions manifest: #​33945
  • Add JSDoc to config options: #​32915
  • Update font-stylesheet-gathering-plugin.ts: #​30709
  • Add decoratorMetadata flag if enabled by tsconfig: #​32914
  • fix: data url handling in css-loader: #​34034
  • Place 'charset' element at the top of <head>: #​28119
  • Fix detection of anchor click events inside svg: #​23272
  • Allow passing nothing as custom jest config: #​32328
  • Fixes #​31240: Adding a recursive addPackagePath function in webpack-config: #​31264
  • Require component rendered as child of Link to pass event to onClick handler: #​27723
  • Allow scroll prevention on hash change: #​31921
  • Add support for async fn / promise in next.config.js/.mjs: #​33662
  • Fix lazyRoot functionality for next/image: #​33933
  • Change SWC minify from beta to release candidate: #​34056
  • Make Router state immutable: #​33925
  • Stop exposing internal render and renderError methods from next/client: #​34069
  • Add api-utils helper for testing: #​34078
  • feat(next-swc): Update swc: #​34045
  • Deprecate concurrentFeatures with runtime: #​34068
  • Add check for resolveWeak to next/dynamic: #​33908
  • remove unneeded and broken plugin: #​34087
  • Remove experimental warning from next/jest: #​34096
  • fix: arrow function export in rsc client component: #​34105
  • Use renderToStream with React 18: #​34106
  • Fix static result being piped: #​34111
  • Polyfill pipeTo and pipeThrough: #​34112
  • Update to leverage response-cache for image-optimizer: #​34075
  • fix: next/image usage from node_modules: #​33559
  • Fix included flight manifest on node runtime: #​34113
  • Fix: Use react-dom/server.browser when reactRoot: true: #​34116
  • Fix image-optimizer requires in next-server: #​34141
  • Fix required files matching in rsc: #​34137
  • Throw error when ts file contains css.resolve: #​34149
  • Chore/stable swc compiler options: #​34074
  • Fix bug with "Circular Structure" error: #​23905
  • Add _document and _app pre-import: #​23261
  • Ensure standalone server handles SIGTERM: #​34151
  • Bump nft to 0.17.5: #​34190
  • feat: copy .env file in standalone mode: #​34143
  • Fix reuse of inline flight response and 404 for RSC in node runtime: #​34202
  • Use updated recursive rm fs method for image-optimizer: #​34210
  • Fix link for "Delete Query Params in Middleware" error message in next-server.ts: #​34230
  • Enable dynamic HTML in minimal mode: #​34222
  • Fix uncaught error in getInitialProps when runtime is set to nodejs: #​34228
  • Optimize the web server size: #​34242
  • feat: allow node-sass@7 as peer dependency: #​34107
  • Adding step to build the app with docker in existing projects: #​34083
  • Changed all occurrences of etc to match: #​34280
  • Align reactRoot config between server and webpack config: #​34328
  • Fix <RouteAnnouncer/> shouldn't announce initial path under strict mode and React 18: #​34338
  • Fix flight root failed to hydrate in strict mode: #​34333
  • Allow dismissing full refresh warning for session: #​33868
  • Remove experimental image optimization feature: #​34349
  • Add support for "type": "module" in package.json: #​33637
  • feat(next-swc): Update swc: #​34355
  • Ensure invalid request to static page is handled correctly: #​34346
  • Add Error Handing section for ISR: #​34360
  • feat(next-swc): Update swc: #​34408
  • feat: improve opening a new issue flow: #​34434
  • Ensure we don't poll page in development when notFound: true is returned: #​34352
  • Add image config for dangerouslyAllowSVG and contentSecurityPolicy: #​34431
  • Revert swc css bump temporarily: #​34440
  • update webpack: #​34444
  • Update server-only changes HMR handling: #​34298
  • Fix .svg image optimization with a loader prop: #​34452
  • Allow reading request bodies in middlewares: #​34294
  • Revert "Allow reading request bodies in middlewares": #​34479
  • update webpack: #​34477
  • Fix chunk buffering for server components: #​34474
  • Remove deprecation for relative URL usage in middlewares: #​34461
Documentation Changes
  • Building web forms with Next.js and Vercel: #​32525
  • Add Clarity About Downloading and Self-Hosting a Font File: #​33760
  • Correct pluralization in newly added Relay documentation: #​33880
  • Update MDX document: #​33916
  • Update info on how to process webhooks by disabling bodyParser: #​33909
  • Update deployment docs to fix oversized image.: #​33934
  • docs: recommend .end instead of .send when no body is being sent: #​33611
  • Update custom document docs to prepare for React 18.: #​33814
  • Fix typo in new experimental Relay support docs: #​33963
  • docs(isr): add missing key prop in jsx loop: #​33984
  • docs: use function for components in general: #​33990
  • Updated going-to-production with loading performance: #​33179
  • docs: fix variable name from profileData to data in CSR page: #​34018
  • Improve Form Guide Contents: #​33913
  • Add async to middleware docs.: #​31356
  • (docs): update i18n-routing.md: #​33123
  • Fix redirect url for prefixing the default locale: #​33762
  • Add note about dns-prefetch as fallback: #​30385
  • Update custom server docs for async methods: #​30521
  • Update multiple docs pages to follow Docs Content style guide: #​33855
  • fix: Change url to nextUrl inside delete-query-params-in-middlewa…: #​33796
  • Changing GitHub Actions cache documentation: #​28228
  • docs] Add env var load order: [#&#8203;32350](https://github.com/vercel/next.js/issues/32350)
    
  • docs: add Ory vercel example to auth page: #​33029
  • Add note about crawlers and fallback: true: #​34114
  • docs(api-routes): fix node docs links: #​34125
  • add note to clarify use of Link when clearing preview cookies (issue #​34129): #​34142
  • Re-render details if rewrites are used: #​34049
  • Add heading to invalid-api-status-body error: #​34150
  • Ensure /index route is redirected correctly for docs: #​34206
  • Update docs for image lazyRoot prop: #​34241
  • Update link for includeFiles glob reference: #​34269
  • Update Preview Mode docs.: #​34278
  • Update frequently asked questions in documentation: #​34252
  • Alphabetize auth docs providers.: #​34281
  • Replace babel with SWC & minor changes in getting started: #​34282
  • Update Middleware docs to add version history.: #​34302
  • Fix typo on getInitialProps: #​34309
  • Update missing curly brace in image.md: #​34307
  • docs: Add link to pageExtensions config in page-without-valid-component.md: #​34285
  • Add an example to Write server-side code directly section: #​34319
  • Few touch-ups to the docs on web forms in Next: #​34286
  • Update MDX Custom Elements setup: #​34175
  • Update image.md: #​34374
  • Updated failed to load error page to include info about node versions: #​34362
  • docs: react 18, streaming SSR, rsc with new apis: #​33986
  • Update MDX Guide config example: #​34405
  • Remove hello world RSC example.: #​34456
  • Fix typo: #​34480
Example Changes
  • Update npm comment in Docker example: #​33881
  • Update Contentful example to add validations to solve graphql complexity errors.: #​33958
  • Update all CMS examples dependencies.: #​33580
  • Fix warning unknown prettier option when running yarn lint.: #​34019
  • New Example] with docker - multiple deployment environments: [#&#8203;34015](https://github.com/vercel/next.js/issues/34015)
    
  • Fix ambiguous flags in Dockerfile example: #​33417
  • fix(examples/with-docker): update env comments: #​29972
  • Remove unused "start" script from with-docker/package.json: #​31053
  • Update remark in blog-starter-typescript: #​31393
  • Update _document.js: #​29930
  • Docs: use the nextv12 example from the storybook-addon-next repo as the with-storybook example: #​33891
  • examples, update with new URL: #​34035
  • with-typescript-graphql]  fixes breaking changes in graphql-let v0.18.0: [#&#8203;32681](https://github.com/vercel/next.js/issues/32681)
    
  • fix(example): with-typescript-graphql graphql-let package migrate: #​29996
  • feat: update firebase in with-firebase: #​29581
  • progressive web app example converted to typescript : #​33100
  • Make adjustment to cache config of with-apollo example: #​32733
  • Fix error thrown by next/image in the Sanity example: #​34203
  • Update examples/active-class-name: #​34205
  • chore(example): update preact links in examples: #​34233
  • fix: don't wrap profile in firebase example: #​34457
Misc Changes
  • Fix flakey image-optimizer test: #​33957
  • Update azure config: #​33999
  • Add types to nextConfig in default template : #​34029
  • docs(contributing): Search GitHub for an open or closed PR that relates to your submission: #​22533
  • fix(create-next-app): add default version: #​33006
  • chore: do not run lock/stale actions on forks: #​34053
  • Fix functions manifest test: #​34092
  • add pnpm debug file in gitignore templates: #​34091
  • Update failing tests from upstream resource: #​34110
  • Update version number in next.config.js API reference
  • chore: log lock bot output: #​34168
  • chore: decrease lock action runs #​34180
  • Allow listening for page requests in tests: #​34204
  • Update code of conduct from v1.4 to v2.1: #​34208
  • Update contributing.md to link to walkthrough video.: #​34299
  • fix: typo in gitignore in typescript template: #​34372
  • test: add inline flight response reuse test: #​34364
  • Update 2.example_bug_report.yml
  • Update 1.bug_report.yml
  • Update 2.example_bug_report.yml
  • Update font-optimization test snapshot: #​34478
Credits

Huge thanks to @​MaedahBatool, @​mutebg, @​sokra, @​huozhi, @​hanford, @​shuding, @​sean6bucks, @​jameshfisher, @​devknoll, @​yuta-ike, @​zh-lx, @​amandeepmittal, @​alunyov, @​stefanprobst, @​leerob, @​balazsorban44, @​kdy1, @​brittanyrw, @​jord1e, @​kara, @​vvo, @​ismaelrumzan, @​dlindenkreuz, @​MohammadxAli, @​nguyenyou, @​thibautsabot, @​hanneslund, @​vertti, @​KateKate, @​stefee, @​mikinovation, @​Leticijak, @​mohsen1, @​ncphillips, @​ehowey, @​lancechentw, @​krychaxp, @​fmacherey, @​pklawansky, @​RyanClementsHax, @​lakbychance, @​sannajammeh, @​oliviertassinari, @​alexander-akait, @​u-yas, @​Cheprer, @​msp5382, @​chrispat, @​getspooky, @​Ryz0nd, @​klaasman, @​midgleyc, @​kumard3, @​jesstelford, @​neeraj3029, @​glenngijsberts, @​pie6k, @​wouterraateland, @​timneutkens, @​11koukou, @​thesyedbasim, @​aeneasr, @​ijjk, @​lfades, @​JuniorTour, @​xavhan, @​mattyocode, @​padmaia, @​Skn0tt, @​gwer, @​Nutlope, @​styfle, @​stipsan, @​xhoantran, @​eolme, @​sespinosa, @​zenorocha, @​hjaber, @​benmvp, @​T-O-R-U-S, @​dburrows, @​atcastle, @​kiriny, @​molebox, @​kitayoshi, and @​Schniz for helping!

v12.0.10

Compare Source

Core Changes
  • fix: image optimizer hangs when invalid image is requested: #​33719
  • feat: make compress configurable in standalone mode: #​33717
  • fix: allow certain variable names in development: #​33638
  • Use swc parse for flight server and client loaders: #​33713
  • Properly support custom 500 page in the web server: #​33729
  • chore: deprecate process.browser: #​32862
  • Improve tests for streaming and server components: #​33740
  • fix: fixes #​33314 move is-plain-object for es5 compilation: #​33690
  • Add stale-while-revalidate pattern to Image Optimization API: #​33735
  • Allow to delete URL search params in middleware rewrites: #​33725
  • Ensure all CSS files are included for experimental critical CSS: #​33752
  • Ensure non-error thrown in getStaticPaths shows correctly: #​33753
  • Fix encoding error with location and refresh headers: #​33763
  • Fix duplicate image src causing canceled request: #​33776
  • Generate functions manifest: #​33770
  • Enable jest hoist transform when using next/jest: #​33731
  • fix typo: #​33840
  • fix(next/image): render valid html according to W3C: #​33825
Documentation Changes
  • Update Time to First Byte (TTFB) link: #​33715
  • Changed data fetching file name to overview to fix meta data title: #​33232
  • Correct misspelling in testing documentation #​33754: #​33755
  • Move custom server note from middleware doc: #​33744
  • Fixed duplicate data fetching overview page + links: #​33774
  • docs] Mention SWC in TypeScript documentation.: [#&#8203;33801](https://github.com/vercel/next.js/issues/33801)
    
  • Testing docs: Comment out optional config that points to a file: #​33827
  • Update Content-Security-Policy header usage explanation: #​33833
Example Changes
  • Fix with-docker example dockerfile: #​33695
  • Added next.config.js with datocms-assets domain in allow list: #​33647
  • Fix: broken npm install: #​33767
  • example] Upgrade the with-stripe-typescript example app: [#&#8203;33761](https://github.com/vercel/next.js/issues/33761)
    
  • Upgrade to @​stitches/react 1.2.6: #​33817
  • Doc: fix broken link to api routes doc: #​33836
Misc Changes
  • run stale 20 minutes earlier
  • fix: use github action instead of bot: #​33718
  • fix syntax error in lock.yml
  • fix rsc test suite runner: #​33745
Credits

Huge thanks to @​Vienio99, @​balazsorban44, @​kyliau, @​molebox, @​huozhi, @​shuding, @​PepijnSenders, @​krystofex, @​PizzaPete, @​souljuse, @​styfle, @​Schniz, @​Nelsonfrank, @​ijjk, @​Mhmdrza, @​timneutkens, @​hideokamoto-stripe, @​Emrin, @​gr-qft, @​delbaoliveira, @​redbar0n, @​amandeepmittal, @​lxy-yz, and @​Divlo for helping!

v12.0.9

Compare Source

This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.9

Vulnerable code could allow a bad actor to trigger a denial of service attack via the /${locale}/_next/ route for anyone running a Next.js app at version >= 12.0.0, and using built-in i18n routing functionality.

How to Upgrade

  • We have released patch versions for both the stable and canary channels of Next.js.
  • To upgrade run npm install next@latest --save

Impact

  • Affected: All of the following must be true to be affected by this CVE
    • Next.js versions between v12.0.0 and v12.0.9
    • Using next start or a custom server
    • Using the built-in i18n support
  • Not affected:
    • Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js.

We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.

How to Assess Impact

If your server has seen requests to any route under the prefix /${locale}/_next/ that have triggered a heap overflow error, this was caused by the patched issue.

What is Being Done

As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to our users for their investigation and responsible disclosure of the original bug.

We've landed a patch that ensures this is handled properly so the requested route no longer crashes and triggers a heap overflow.

Regression tests for this attack were added to the i18n integration test suite

  • A public CVE was released.
  • We encourage responsible disclosure of future reports. Please email us at security@vercel.com. We are actively monitoring this mailbox.
Core Changes
  • middlewares: limit process.env to inferred usage: #​33186
  • update webpack: #​33207
  • Abstract out native filesystem usage from the base server: #​33226
  • use text data url instead of base64 for shorter encoding: #​33218
  • chore(deps): upgrade postcss: #​33142
  • Fix global process testing for the process polyfill: #​33220
  • Update swc: #​33201
  • improve full refresh overlay: #​33301
  • Custom app for server components: #​33149
  • Update yarn PnP tests and disable swc file reading for PnP: #​33236
  • Base Http for BaseServer: #​32999
  • Update swc: #​33342
  • Update check for fallback pages during export: #​33323
  • Pre-compile more dependencies: #​32742
  • Remove node fetch polyfill from base server: #​33395
  • Replace regexp to plain string for optimization render HTML: #​33306
  • Fix broken html on streaming render for error page: #​33399
  • Disable cache for rsc pages: #​33438
  • Fix pre-compiled check from copying react-refresh-utils: #​33442
  • fix(next-swc): Update swc: #​33427
  • Move middleware handling to node server: #​33448
  • Enforce absolute URLs in Edge Functions runtime: #​33410
  • feat(next-swc): Update swc: #​33461
  • Update main field for nccd jest-worker: #​33465
  • chore(deps): upgrade node-fetch: #​33466
  • Move static serving to next server: #​33475
  • feat(next-swc): Update swc: #​33485
  • Fix multiple calls to image onLoadingComplete(): #​33474
  • Refactor base server to remove native dependencies: #​33499
  • Update swc: #​33514
  • Implement abstract methods to get manifest files in the base server: #​33537
  • Simplify getMiddlewareInfo calls: #​33542
  • Fix static file check with i18n: #​33503
  • Bump styled-jsx: #​33546
  • Ensure optional value normalizing is correct for index: #​33547
  • Bump nft to 0.17.4: #​33548
  • Add next-multilingual example: #​29386
  • Removed the s from NextConfig: #​33560
  • feat(next-swc): Update swc: #​33595
  • Fix rsc export component name detection: #​33608
  • upgrade webpack: #​33549
  • Ensure fetch polyfill is loaded in next-server: #​33616
  • feat(next-swc): Update swc: #​33628
  • Add lazyRoot optional property to next/image component : #​33290
  • feat(next-swc): Update swc: #​33675
  • Implement web server as the request handler for edge SSR: #​33635
  • Relay Support in Rust Compiler: #​33240
  • Revert "Relay Support in Rust Compiler": #​33699
Documentation Changes
  • Fixed broken link related to the recently merged Data fetching docs refactor: #​33209
  • Removed backticks on data fetching api titles: #​33216
  • Added links to data fetching api refs, fixed title: #​33221
  • Remove outdated & possibly confusing statement about redirects: #​33224
  • examples] Add a statically generated blog example using Next.js and Builder.io: [#&#8203;22094](https://github.com/vercel/next.js/issues/22094)
    
  • Typo Fix: #​33252
  • Update font-optimization.md: #​33266
  • Fixed broken links in data fetching docs: #​33250
  • docs: Mention middleware for getStaticProps: #​33273
  • Add sections for Remove React Properties and Remove Console to compiler docs: #​33311
  • Update links in next export + next/image error message: #​33317
  • Add onLoad gottcha note to next/script docs: #​33097
  • Update security-headers.md: fix path does not match homepage: #​33137
  • fix minor typo in SWR: #​33378
  • ReferenceError in authentication.md example fixed: #​33411
  • docs: fix url: #​33409
  • fix(docs): Fix typo in Custom Build Id docs: #​33515
  • docs] Update authentication docs to fix iron-session link.: [#&#8203;33483](https://github.com/vercel/next.js/issues/33483)
    
  • docs(authentication): fix iron-session example link: #​33502
  • Update middleware documentation for custom server: #​33535
  • Removed unrequired path in docs' manifest: #​33579
  • Update next/server documentation for geo: #​33609
  • Clarify next/image usage with next export based on feedback.: #​33555
  • Clarify headers config option description: #​33484
  • fix(errors/no-cache): netlify-plugin-cache-nextjs has been deprecated: #​33629
  • Updated docs for getServerSideProps and getStaticProps return values: #​33577
  • Use relative path for example: #​33565
  • chore(docs): update security headers specification: #​33673
  • REMOVE: duplicate key in docs/testing.md: #​33681
Example Changes
  • examples] Update remark dependency for blog-starter: [#&#8203;33313](https://github.com/vercel/next.js/issues/33313)
    
  • Update package.json for examples/with-supabase-auth-realtime-db: #​33321
  • Working example for building forms with Next.js: #​32669
  • Updates dependency version of frontend SDK in with-supertokens example: #​33393
  • docs: add skynexui to examples: #​33326
  • Update with-linaria dependency: #​33487
  • Update Supabase example README.: #​33610
  • examples] Add new Tailwind CSS Prettier plugin to example: [#&#8203;33614](https://github.com/vercel/next.js/issues/33614)
    
    
Misc Changes
  • Update license year
  • fix(docs): master branch renaming: #​33312
  • Add link to security email directly.: #​33358
  • Fix getServerSideProps hanging in dev on early end: #​33366
  • docs] Fix 404 link for testing example.: [#&#8203;33407](https://github.com/vercel/next.js/issues/33407)
    
  • Update to latest version of turbo: #​33613
  • Update other instances of node-fetch: #​33617
Credits

Huge thanks to @​molebox, @​Schniz, @​sokra, @​kachkaev, @​shuding, @​teleaziz, @​OgbeniHMMD, @​goncy, @​balazsorban44, @​MaedahBatool, @​bennettdams, @​kdy1, @​huozhi, @​hsynlms, @​styfle, @​ijjk, @​callumgare, @​jonrosner, @​karaggeorge, @​rpie3, @​MartijnHols, @​leerob, @​bashunaimiroy, @​NOCELL, @​rishabhpoddar, @​omariosouto, @​hanneslund, @​theMosaad, @​javivelasco, @​pierrenel, @​lobsterkatie, @​tharakabimal, @​vvo, @​saevarb, @​lfades, @​nbouvrette, @​paulnbrd, @​ecklf, @​11koukou, @​renbaoshuo, @​chozzz, @​tbezman, @​karlhorky, @​j-mendez, and @​ffan0811 for helping!

v12.0.8

Compare Source

Core Changes
  • Fix no-server-import-in-page eslint rule for subfolder middleware: #​32139
  • Create Base Server: #​32154
  • Revert support for render prop in <Main />: #​32184
  • Refactor FS references in the Base Server: #​32179
  • telemetry: collect feature usage for linting during build: #​32022
  • Chore/load bindings improvements: #​32191
  • fix(NODE_ENV): Warn when launching start or build on development: #​14033
  • Fix crash in no-page-custom-font eslint rule when default export is unnamed.: #​32251
  • Add docs for leveraging outputStandalone config: #​32255
  • Replace raw-body with get-stream and bytes: #​21915
  • Update to latest ncc and ensure caniuse-lite data is external : #​32064
  • Update swc: #​32210
  • Simplify custom Writable: #​32247
  • Add shake exports transform to next-swc: #​32253
  • Revert "Replace raw-body with get-stream and bytes": #​32305
  • Re-open chore(deps): upgrade browserslist: #​32300
  • Fix RSC link navigation: #​32303
  • Compile escape-string-regexp: #​32310
  • Add unstable_useRefreshRoot: #​32342
  • Upate swc: #​32365
  • fix unstable_useRefreshRoot typing: #​32364
  • fix(next-swc/styled-jsx): Fix nth: #​32358
  • Rename experimental vital hook: #​32343
  • Inline server data response with partial hydration: #​32330
  • Update jsx transform of swc: #​32383
  • Fix running server with Polyfilled fetch: #​32368
  • Fix dynamic routes with pages under index folder: #​32440
  • Fixes #​32338 missing Document components trigger an error for production builds: #​32345
  • Fixes for inline embedding data in the web runtime: #​32471
  • Add vitals and rsc to npm files: #​32472
  • fixes to allow lazy compilation for import(): #​32441
  • upgrade webpack and watchpack: #​32173
  • Update to filter loader specific files from traces: #​32267
  • Fix server data cache key: #​32506
  • middleware] Fix hydration for rewrites to dynamic pages: [#&#8203;32534](https://github.com/vercel/next.js/issues/32534)
    
  • Ensure image-optimizer is traced for standalone mode: #​32522
  • Remove unused classnames dependency from react-dev-overlay: #​32487
  • next-swc: Emit errors and add tests to next-ssg: #​32254
  • Include message body in redirect responses: #​31886
  • Prevent NEXT_PHASE env change in workers: #​28941
  • Check stack property for page export exceptions: #​32289
  • fix(next-swc/styled-jsx): Fix interpolation in media query: #​32490
  • Update swc: #​32566
  • Add turbo / improve Rust build caching in GitHub Actions: #​31464
  • Fix ReadableStream.pipeTo() being unimplemented in the web runtime: #​32602
  • Ensure AMP optimizer is only excluded from trace when not used: #​32577
  • Upgraded next-env dependencies: #​32613
  • Feat/14701 full reload notification: #​28866
  • Move fs API for inc cache to node server: #​32604
  • Add options to defaultGetInitialProps and upgrade styled-jsx-with-csp example: #​32594
  • Fix style.filter on image with placeholder=blur: #​32623
  • Fix writing strings to the writable stream writer: #​32637
  • fix(next/jest): do not watch .next folder: #​32659
  • chore: Update swc: #​32664
  • Pre-compile more dependencies: #​32627
  • Upgrade react 18 to rc, drop prerelease warning: #​32619
  • next-swc: styled-jsx error checking and reporting updated (invalid-styled-jsx-children.md): #​31940
  • Fix style reset on image with placeholder=blur: #​32680
  • Pre-compile more dependencies continued: #​32679
  • web runtime: add AbortController & AbortSignal: #​32089
  • Don't swallow test failures caused by POSIX signals: #​32688
  • Escape from next head in rsc _error page: #​32624
  • fix popstate detection for safari when basepath is present: #​32687
  • Bust cache for RSC in each render: #​32710
  • Update web runtime externals: #​32717
  • Reduce styled-jsx size in client bundle: #​32730
  • Bump nft to version 0.17.1: #​32737
  • Remove anonymous default export rule from Babel: #​32763
  • feat(eslint): allow a for internal url when target="blank" present: #​32780
  • fix(eslint-plugin-next): Broken links in eslint output: #​32837
  • ESLint] Adds lint rule to flag usage of `<head>`: [#&#8203;32897](https://github.com/vercel/next.js/issues/32897)
    
  • ignore .d.ts files inside pages folder: #​30728
  • Fix next/image noscript tag to only render when lazy: #​32918
  • Simplify trace span id generation: #​32946
  • Move resolve-url-loader into Next.js: #​32932
  • fix(router): scroll to top when href="/" and hash already present: #​32954
  • Remove un-needed test dependency: #​32616
  • Fix issue with escape-string-regexp in IE11: #​32708
  • Allow to opt-out from preflight cache: #​32767
  • Ensure setImmediate and punycode are polyfilled: #​32768
  • Fixes issue with makeStylesheetInert: #​32027
  • Reduce install size for linux glibc/musl: #​32850
  • Ensure middleware is output in standalone mode: #​32967
  • Revert "Reduce install size for linux glibc/musl": #​32973
  • feat(cli): introduce next info CLI command: #​32972
  • Ensure NODE_ENV is not inlined for next/jest: #​33032
  • converted the old tailwind css example to typescript : #​32808
  • fix: ensure revalidation error is logged from response-cache: #​32657
  • Bump @vercel/nft to 0.17.2: #​33048
  • Add util for generating new tests/error documents: #​33001
  • Fix middleware at root in standalone mode: #​33053
  • Update swc: #​33063
  • use a separate webpack runtime for middleware: #​33134
  • Allow dependencies to use environment variables in middlewares: #​33141
  • next-swc: fix ssg code elimination when used in render: #​32709
  • drop dynamic import with ssr: false on server-side: #​32606
  • Fix broken yarn pnp: #​32867
  • Add util for normalizing errors: #​33159
Documentation Changes
  • Fixed Yarn and NPM dev swapped arguments: #​32135
  • Removed misleading id's from headings: #​32163
  • Details about starting dev server Next.js docs.: #​32002
  • Add Umbraco Heartcore blog example: #​21409
  • Fix error page doc for no server import in page: #​32164
  • Document staticPageGenerationTimeout config: #​32306
  • Change using-preact example dependencies and docs: #​30394
  • Updated link to Local Images: #​32427
  • docs: remove empty example link: #​32439
  • Update react version to rc in react-18 doc: #​32473
  • doc: update remark import: #​32481
  • Include mention of the onError Prop for next/script: #​31945
  • Document basePath redirect field for getStaticProps/getServerSideProps: #​32550
  • Fix typo in documentation: #​32581
  • Add moduleDirectories for TS Jest Config: #​32574
  • Added section about router methods returning a promise: #​31341
  • Added example for setting cookie before redirect in middleware: #​32542
  • chore: convert Jest examples to TypeScript: #​32705
  • Update note about .next/static in standalone mode: #​32771
  • Fixed syntax error in the example of React Hydration Error: #​32773
  • fix: typo: #​32820
  • Update the React 18 documentation: #​32896
  • doc: add quotes to api: #​32898
  • Update lint-staged example to use node.js path: #​30510
  • Update scrolling example using query param instead of hash: #​31473
  • Updated wrong link to example of gtag init in measuring-performance.md: #​32974
  • Update deployment documentation.: #​32006
  • Fix link for Next.js Analytics in docs: #​33049
  • docs: fix typo in MDX docs: #​33077
  • docs: minor text-copy cleanup: #​33120
  • No info on environment variables in the src folder (#​33110): #​33136
  • Add Caveats section to custom error page: #​33160
  • Fixes #​33153: Updating cross-references from master to main + canary: #​33198
  • Docs: correct ignorance pattern for .env.local: #​32647
  • Refactor data fetching API docs: #​30615
Example Changes
  • fix cms-sanity example: #​32182
  • Fix issue in auth0 example: #​32293
  • Update Next.js version in api rate limits example: #​32326
  • Update example for Tailwind v3: #​32339
  • chore: remove duplicate example: #​32391
  • Updated to working example: #​32256
  • Update Dockerfile: #​32299
  • Update docker image to leverage output traces: #​32258
  • chore(blog-starter): update tailwindcss to v3: #​32398
  • fix: setup prismic image host: #​31589
  • fix: add .web.jsx extension support in react-native-web example: #​32076
  • Update 14-alpine to 16-alpine: #​31777
  • chore(blog-starter-typescript): update tailwindcss to v3: #​32579
  • Typo fix in comments: #​32609
  • This example does not show how to use Jest with TypeScript: #​32633
  • Updates with-supertokens example: Fixes init race condition: #​32706
  • Add authentication example using Stytch: #​32194
  • Update Sentry example readme to mention Next.js 12 support: #​32724
  • fix(examples): Update nextjs-graphql-with-prisma-simple example API endpoint: #​32759
  • chore(examples): remove duplicate examples: #​32779
  • fix(examples): bring with-semantic-ui example up-to-date: #​32805
  • fix(examples): update link URL in cms-kontent example: #​32806
  • Add id to inline Segment script: #​32878
  • Remove un-necessary second yarn install from example Dockerfile: #​32934
  • fix(examples): add missing dependencies: #​32977
  • Rename api in with-redis example: #​33016
  • fix(examples/cms-contentful): add correct Content-Type + missing closing tag for html: #​30321
  • Avoid page double render with emotion vanilla: #​30541
  • fix: typescript example supporting strict w/ version >= 4.4: #​33042
  • chore] Update `deta` version in examples: [#&#8203;30204](https://github.com/vercel/next.js/issues/30204)
    
  • (examples/with-next-translate) Removed Redundancies in Strings: #​29501
  • Remove extra config from tailwind example: #​33062
  • Adding Asset Component for Rich Text Renderer: #​32503
Misc Changes
  • chore: auto close inactive issues without reproduction: #​32214
  • Ensure wasm dev artifact uploads even on cache hit: #​32248
  • Ensure test wasm does not fail for docs only change: #​32259
  • chore: lock version on stale action: #​32262
  • Fix styled-jsx tests from swc bump: #​32297
  • Update AMP validation tests: #​32327
  • Update only fetch all tags for publish commits: #​32337
  • Fix flakey next/link react streaming test: #​32351
  • test: add wait timeout between clicks for rsc link: #​32376
  • test: add timeout for dev entries to avoid hard navigation: #​32476
  • chore: lock stale & closed issues sooner
  • Added docs issue template: #​32488
  • Ensure experimental SWC options invalidate the cache: #​32540
  • Edited contribution docs: #​32583
  • Update contributing guidelines for examples: #​32584
  • Remove unused turbo env vars: #​32588
  • Move some img tests out of serverless mode: #​32620
  • Disable turbo for build-native temporarily: #​32621
  • Add test case for middleware rewrite to fallback: true page: #​32626
  • Ensure device IP is used for safari browserstack test: #​32712
  • fix: run prettier on with-jest and with-jest-babel examples
  • Update readme.md of next-mdx to allow typescript file extensions for pages: #​32830
  • chore: decrease stale time before closing issues with no reproduction: #​32955
  • Re-enable turbo caching for swc build jobs: #​32617
  • fix(ci): Remove unused turbo remote cache env vars: #​33030
  • Update next.config.js: #​33091
Credits

Huge thanks to @​arthurfiorette, @​thibautsabot, @​shuding, @​chimit, @​joperron, @​devknoll, @​MaedahBatool, @​kyliau, @​padmaia, @​moh12594, @​rasmusjp, @​balazsorban44, @​molebox, @​bryanrsmith, @​TrySound, @​josharsh, @​kdy1, @​styfle, @​huozhi, @​delbaoliveira, @​PizzaPete, @​thecrypticace, @​arturparkhisenko, @​segheysens, @​thevinter, @​AryanBeezadhur, @​xiaohp, @​tknickman, @​javivelasco, @​oriolcp, @​sokra, @​smakosh, @​ijjk, @​jorrit, @​timneutkens, @​hanneslund, @​mix3d, @​Clecio013, @​michielvangendt, @​intergalacticspacehighway, @​jbraithwaite, @​marcelocarmona, @​benmerckx, @​haykerman, @​steven-tey, @​jaredpalmer, @​pi-guy-in-the-sky, @​JuanM04, @​apollisa, @​D-Pagey, @​jameshfisher, @​rishabhpoddar, @​Kikobeats, @​ramosbugs, @​dan-weaver, @​chris-stytch, @​MikevPeeren, @​janpio, @​emw3, @​nubpro, @​cmdcolin, @​joostdecock, @​sgallese, @​housseindjirdeh, @​minervabot, @​cjboco, @​Ryuurock, @​dm430, @​mkarkachov, @​nvh95, @​gfortaine, @​kumard3, @​zifeo, @​vicente-s, @​Rohithgilla12, @​brookton, @​leerob, @​skirsten, @​davidfateh, @​DavidBabel, @​mannybecerra, @​Schniz, @​glenngijsberts, @​pveyes, @​kaykdm, and @​xhiroga for helping!

v12.0.7

Compare Source

Core Changes
  • Add test for TailwindCSS JIT mode reloading: #​32130
  • Ensure conf type for createServer is not changed: #​32134
Credits

Huge thanks to @​timneutkens for helping!

v12.0.6

Compare Source

Core Changes

v12.0.5

Compare Source

This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.5. A backport of the patch to Next.js 11 is available as 11.1.3.

When a URL is provided to next-server that cannot be parsed, an unhandledPromiseRejection could occur. On Node.js versions < v15.0.0 this isn't a fatal issue as only a warning is shown. However, in Node.js versions > v15.0.0, this causes the server process to exit, which can result in unexpected server crashes.

How to Upgrade

  • We have released patch versions for both the stable and canary channels of Next.js.
  • To upgrade run npm install next@latest --save

Impact

  • Affected: All of the following must be true to be affected
    • Next.js versions above v11.1.0 and below v12.0.5
    • Node.js above v15.0.0 being used
    • Using next start or a custom server
  • Not affected: Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js.

We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.

How to Assess Impact

If you are running Node.js > v15.0.0 with Next.js, you can filter any server error logs for ERR_INVALID_URL.

What is Being Done

As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to GitHub user hopeless-programmer-online for their investigation and discovery of the original bug.

We've landed a patch that ensures this is handled properly so the unhandledPromiseRejection issue no longer occurs.

Regression tests for this attack were added to the security integration test suite

  • A public CVE is requested.
  • We encourage responsible disclosure of future reports. Please email us at security@vercel.com. We are actively monitoring this mailbox.

Core Changes
  • Add a swc transform for removal of console.* calls.: #​31449
  • Support ESLint v8: #​29865
  • fix: allow next lint without eslint-config-next installed: #​29823
  • Remove TextEncoder and TextDecoder wrappers: #​31490
  • simplify output messages: #​31454
  • update webpack: #​31455
  • NextResponse: add .json static method: #​31483
  • Use _error for development in streaming: #​31466
  • Refactor the middleware SSR loader: #​31508
  • Add detection for Google-PageRenderer bot: #​31521
  • Click-to-open error state for development overlay #​14461: #​21819
  • Ensure only one doctype is rendered: #​31534
  • Update swc: #​31540
  • Add/wasm build: #​31470
  • telemetry: track usage of 'optimizeFonts': #​31522
  • Make missing Document components an error: #​31505
  • Adjust AVIF size so that its smaller than WebP size: #​31494
  • Fix unhandled rejection on route change in dev: #​31554
  • Re-add native package folders and ensure wasm artifacts are downloaded: #​31561
  • Fix HMR for middleware #​30791: #​31548
  • Minor simplifications to renderToWebStream: #​31553
  • Fix accessing router before ready for HMR ping: #​31588
  • Implement SWC port of next-page-disallow-re-export-all-exports: #​31582
  • ESLint] Prevent `no-html-link-for-pages` from warning for static files: [#&#8203;31495](https://github.com/vercel/next.js/issues/31495)
    
  • Move root div to an app wrapper: #​31596
  • Add types for geo lat and long: #​31624
  • Fix non-concurrent function _document: #​31628
  • Remove outdated comment about string children being deprecated in next/link: #​30606
  • fix(middleware): consider localhost variations: #​31603
  • Update swc: #​31639
  • Extract next-swc Rust code into its own package: #​31635
  • Fix dev router usage before router initializing: #​31632
  • avoid mutating response.cookie options: #​31679
  • Add cookies and headers for request using in RSC: #​31623
  • Remove trace_target env var in favor of .next/trace: #​31697
  • Add error link when hydration error occurs: #​31519
  • Fix initial compile timing incorrect measurement: #​31733
  • Lazily init getStaticPathsWorker: #​31760
  • Remove noop import: #​31722
  • update webpack: #​31759
  • Fix wasm loading: #​31772
  • Remove some watcher hacks and update version: #​31768
  • Improve and refactor some types: #​31704
  • read file in swc when no loaders follow the next-swc-loader: #​31682
  • Lazy-load postcss: #​31762
  • update webpack: #​31798
  • Ensure middleware order is preserved: #​31801
  • Refactor sandbox module cache: #​31822
  • Fix hydration middleware effects: #​31800
  • fix: support function components in _document in no-page-custom-font: #​31560
  • Add support for removing React properties.: #​31606
  • Include submodules in exported type definition: #​28316
  • Move require.resolve into the module scope: #​31799
  • fix amp validator message format: #​31018
  • Fix auto export condition in edge SSR: #​31845
  • bugfix: href value is not defined when typing out the href: #​31813
  • Do not load external binding if local was found: #​31853
  • fix: rsc headers: #​31854
  • Add port and hostname options to Next Server: #​31858
  • Fix: Cannot assign to read only property 'children': #​31784
  • Fix disabling of built-in CSS support if there is a custom loader: #​31078
  • include no-document-import-in-page rule in plugin index: #​31890
  • Account for platform/arch not supported by napi-rs: #​31938
  • Removng prop writable checking in prod: #​31929
  • Enable default functional document when concurrentFeatures is enabled: #​31954
  • Stop using environment variables in pages/_document: #​31946
  • Fix image related link prop warning with react 18 beta: #​31895
  • Escape string when converting to regexp: #​31791
  • Add TS types for NextMiddleware: #​30578
  • fix(types): add missing ua type for NextRequest: #​31901
  • Ensure that external modules are not bundled into the client for RSC: #​31968
  • Resolve streaming data for flight requests: #​32010
  • Allow pre-release React 18 as peer: #​31991
  • fix(Link): Do not ignore onMouseEnter prop with absolute href: #​32012
  • add experimental.swcFileReading flag to disable file reading in swc: #​31995
  • Fix middleware types with skipLibCheck: false: #​32025
  • Include page for export errors for easier debugging: #​32013
  • avoid retaining webpack config too long: #​32053
  • Skip warnings for Image not rendered to the dom: #​32049
  • Improve exported root definitions: #​32077
  • Fix running server with Polyfilled fetch: #​31935
  • Ensure invalid URLs respond with 400 correctly: #​32092
  • Remove future.strictPostcssConfiguration config: #​32098
  • Revert "Fix running server with Polyfilled fetch (#​31935)": #​32100
Documentation Changes
  • Update react-18.md: #​31476
  • Add docs for the Rust Compiler (SWC).: #​31467
  • Script examples: #​31181
  • Fix type declaration for API Routes response: #​31486
  • Update environment-variables.md: #​31525
  • Add middleware examples to custom page extensions: #​31545
  • Added guide for setting up Next.js with MDX: #​30869
  • Fix typo in MDX guide: #​31709
  • Added note on env vars: #​31237
  • docs(next-config): extend phase lines reference: #​31711
  • Docs]\[Fix] Broken Link to API Reference: [#&#8203;31820](https://github.com/vercel/next.js/issues/31820)
    
  • Docs(router): Add type for url parameter: #​31737
  • SWC: Add error checks and tests to next-dynamic: #​31683
  • Docs(React 18): add missing Suspense import: #​31897
  • Docs(React 18): remove unnecessary React import: #​31900
  • IMPROVE: Middlerware Set Cookie API Ref: #​31707
  • Update next export documentation.: #​31465
  • Update Jest examples and docs: #​31633
  • Add note to docs about sharp memory usage on default Linux setup: #​31919
  • docs(Testing): Remove duplicate link: #​32071
Example Changes
  • Replace old static path by public | typo: #​31573
  • Update README of cms-cosmic example: #​31701
  • 'imgix.cosmicjs.com' image domain in cms-cosmic example: #​31703
  • Fix pwa demo: #​31734
  • docs(examples): add secure flag explanation to with-iron-session: #​31896
  • WIP] Add tracing to `with-sentry` example: [#&#8203;30401](https://github.com/vercel/next.js/issues/30401)
    
  • Fix with-mongo example by removing deprecated function: #​30675
  • grammatical error in alert.js: #​32062
Misc Changes
  • Revert "Add docs for the Rust Compiler (SWC).": #​31484
  • Ensure wasm package.json is written before publish: #​31568
  • Update labeler.json
  • Update labeler.json
  • Update send-to-jaeger URL output: #​31563
  • Fixing typo in Documentation about Testing: #​31653
  • Add docs for the Next.js Compiler written in Rust (leveraging SWC): #​31485
  • Fix prettier linting
  • Fix labels for release sections
  • Fix musl build
  • Enable require for swc_bundler: #​31663
  • add test case: #​31691
  • Update swc: #​31816
  • docs(middleware): file extension consistency: #​31879
  • Remove unpurpose test: #​31898
  • Remove unnecessary workflow step : #​31943
  • Update swc: #​31963
  • docs(NextRequest): req.cookie => req.cookies: #​31975
  • Add next-swc to labeler
  • Add Rich, Maedah, and Ismael to the docs label
  • Updated Maedahs name in label gen config: #​32005
  • Fix copying swc binary for isolated tests locally: #​32026
  • Lock node version for CI: #​32057
  • Make CI build cache key more specific: #​32059
  • Remove "yarn jest" from Next.js repo scripts: #​32042
  • Fix the testall npm script: #​32081
Credits

Huge thanks to @​mzaien, @​losfair, @​ykzts, @​leerob, @​timneutkens, @​stefanprobst, @​javivelasco, @​sokra, @​goncy, @​knezevicdev, @​Kikobeats, @​huozhi, @​shuding, @​styfle, @​yang-feng-yfeng, @​kdy1, @​xuchaobei, @​elkevinwolf, @​padmaia, @​kyliau, @​devknoll, @​fabienheureux, @​hanneslund, @​nilskaspersson, @​Andarist, @​mathcrln, @​ijjk, @​dferber90, @​molebox, @​FranciscoMoretti, @​benschwarz, @​wendellhu95, @​gazdagergo, @​imabp, @​ljosberinn, @​samuliasmala, @​lfades, @​ka2jun8, @​monsonjeremy, @​pqt, @​vvo, @​leoortizz, @​michel-kraemer, @​thibautsabot, @​MaedahBatool, @​lobsterkatie, @​ntkoopman, @​delbaoliveira, @​iicdii, @​j-mendez, @​chentsulin, @​ericmatthys, @​lennym, @​balogunkeji, and @​wnr for helping!

v12.0.4

Compare Source

Core Changes
  • Update middleware eval checks: #​30883
  • Optimize the SSR middleware runtime size: #​30906
  • Improve error handling in the SSR middleware: #​31057
  • Ensure decode error in minimal mode responds with 400 not 500: #​31037
  • Update ServerlessPlugin to use chunkGraph: #​31058
  • Fix custom 404 page when concurrentFeatures is enabled: #​31059
  • Upgrade React alpha and experimental dependencies to latest: #​31039
  • Change disabled SWC message to Log.info: #​31091
  • Add render prop support to <Main>: #​30156
  • Change .web extension of document page to part of path: #​31116
  • Enable code splitting for the web runtime build: #​31090
  • Give priority to document.title over h1 when announcing page change: #​31147
  • Add webpack5 namespace to fix type errors: #​31140
  • Add warning when image has unused sizes prop: #​31064
  • Add experimental next-swc jest transform: #​30993
  • fix: support --cache-strategy ESLint argument (fixes #​29926): #​29928
  • fixes #​31060: NullReferenceException: #​31061
  • use loader-utils 2 for resolve-url-loader to fix ./data: urls in sass: #​31134
  • Update reason message for isolatedModules and esModuleInterop: #​31150
  • Add input/output test for 30091: #​31166
  • Fix useId mismatches on hydration: #​31102
  • Do not hide body when concurrentFeatures is enabled: #​31187
  • Fix middleware i18n rewrites: #​31174
  • next-swc: Add displayNameAndId of styled-components: #​31189
  • Use require.resolve to detect "framework" packages (fix pnpm): #​21048
  • Add all cases where webpack5 type is used: #​31206
  • Add test for styled-components SWC transform disabled: #​31214
  • Add initial standalone build handling: #​31003
  • fix(middleware): expose CryptoKey and globalThis.CryptoKey: #​31193
  • Disable styled-components displayName in production: #​31216
  • fix(31013): add base path to preflight request url: #​31101
  • share collections in middleware vm context: #​31043
  • Support assetPrefix specific protocol: #​31213
  • upgrade webpack: #​31034
  • Update swc: #​31233
  • run middleware parser handler only for middleware modules: #​31219
  • Update swc minifier: #​31242
  • Fix process.env overriden in web runtime: #​31261
  • fix: replaced useless let: #​31239
  • Experimental next/jest config helper: #​31246
  • correctly assess node equality when nonce attribute is present: #​27573
  • bugfix/i18n Do not support the second locale in the pathname: #​31229
  • Fix typo in next build log: #​31295
  • Ensure next/jest is published: #​31296
  • Update swc for jsc.paths: #​31290
  • next/jest: Ensure typeof window is not transformed in jsdom environment: #​31304
  • Output where preference is saved: #​31305
  • Upgrade webpack: #​31313
  • Ensure asPath is correctly normalized in minimalMode with i18n: #​31281
  • Automatically using different port to start dev server for non-explicit port: #​30736
  • Resolve stream piper on complete shell for renderToReadableStream: #​31186
  • fix(middleware): fetch resource may be a URL instance (or any stringifiable value): #​31260
  • Ensure NODE_ENV is replaced correctly with swc: #​31274
  • Add support for jsxImportSource in tsconfig/jsconfig: #​31358
  • fix(30724): clear "x-middleware-next" header when chaining middlewares: #​30866
  • Add eslint rule to prevent importing next/server outside of _middleware: #​30973
  • Don't proxy middleware if host is the same: #​31180
  • Add support for legacy decorators through tsconfig/jsconfig: #​31376
  • Update swc & fix styled-jsx: #​31407
  • show (middleware only) when a middleware is added to the compiler: #​31409
  • Add minify debug env var to investigate minifier bugs: #​31417
  • add filename to babel warning about anonymous function default exports: #​31322
  • Refactor server/render for SSR streaming: #​31231
  • Remove moment locale replace from craCompat as it's a default in Next.js 12: #​31431
  • Fix basePath replacing server-side and normalizeLocalePath() when path is empty string: #​30978
  • Close stream when fatal error occurs: #​31164
  • middleware: add request referrer support: #​31343
Documentation Changes
  • Expands next/script documentation: #​31063
  • Fix minor typos: #​31161
  • Include www subdomain example in Domain Routing: #​30487
  • Fix heading levels in URL imports docs.: #​31163
  • Update upgrading.md: #​31173
  • docs: fix typo in css-in-js page: #​31244
  • Testing Docs: Add links to jump to sections: #​31311
  • Changes in dev script (package.json): #​31245
  • Typo fixes on Markdown files: #​31380
  • Update data-fetching.md: #​31394
  • Update image-optimization.md: #​31401
  • Fix function syntax for API Routes documentation: #​31414
  • docs: next-iron-session renamed to iron-session: #​31292
  • Clarify with commas: #​31224
  • docs(auth): fix iron-session example url + API: #​31413
Example Changes
  • Optimise bundle size for with-supertokens example: #​31040
  • Update remark and remark-html dependencies: #​31051
  • Docs/examples/with iron session updates: #​30956
  • Fix Auth0 Example: #​31284
  • Updates with-supertokens example to add sign in with apple: #​31200
  • Auth0 Example: getSession should be called with req and res: #​31330
  • examples: fix README with google analytics: #​31384
  • Add Playwright example: #​29426
  • Fix storybook styled-jsx example with styled-jsx 5: #​31357
Misc Changes
  • improve windows support for benchmark: #​31032
  • Add integration test for Suspense and streaming: #​31197
  • Bump cancel-workflow-action to 0.9.1: #​31210
  • test: skip flaky dynamic import tests: #​31221
  • Add integration test of API routes with concurrentFeatures enabled: #​31227
  • Update contributing doc with trouble shooting section for swc: #​31265
  • Fix test-pnp stalling in CI: #​31282
  • Fix failed-loading-swc link in Troubleshooting: #​31314
  • Maintain co-authors when kodiak merges: #​31316
  • bugfix/second-locale-in-pathname remove console.log: #​31289
  • Rewrite send-trace-to-jaeger in Rust: #​31392
  • Ensure Git feature.manyFiles is enabled: #​31408
  • Remove .only and ensure jest lint rules apply for all tests: #​31456
  • Ensure swc dep is copied for isolated tests: #​31462
Credits

Huge thanks to @​javivelasco, @​shuding, @​rishabhpoddar, @​chemicalkosek, @​huozhi, @​timneutkens, @​devknoll, @​sokra, @​KittyGiraudel, @​styfle, @​padmaia, @​housseindjirdeh, @​OKinane, @​KonstHardy, @​BrandonRomano, @​leerob, @​furcan, @​dusanralic, @​kdy1, @​elliottsj, @​vvo, @​Kikobeats, @​hi-ogawa, @​panva, @​genetschneider, @​thundermiracle, @​stefano-rainieri, @​ericbiewener, @​vordgi, @​stevejarvis, @​ihmpavel, @​ijjk, @​delbaoliveira, @​matamatanot, @​dyarfaradj, @​iheyunfei, @​thibautsabot, @​ascorbic, @​fytriht, @​emzoumpo, @​onurtemiz, @​a-ursino, @​mxschmitt, @​knezevicdev, @​bywo, @​OArnarsson, and @​TurekBot for helping!


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [eslint-config-next](https://github.com/vercel/next.js) | devDependencies | major | [`12.0.3` -> `13.0.0`](https://renovatebot.com/diffs/npm/eslint-config-next/12.0.3/13.0.0) | | [next](https://nextjs.org) ([source](https://github.com/vercel/next.js)) | dependencies | major | [`12.2.5` -> `13.0.0`](https://renovatebot.com/diffs/npm/next/12.2.5/13.0.0) | --- ### Release Notes <details> <summary>vercel/next.js</summary> ### [`v13.0.0`](https://github.com/vercel/next.js/releases/tag/v13.0.0) [Compare Source](https://github.com/vercel/next.js/compare/v12.3.1...v13.0.0) ##### Core Changes - Use resolved url in flight entry loader: [#&#8203;40697](https://github.com/vercel/next.js/issues/40697) - Handle redirects in new router: [#&#8203;40396](https://github.com/vercel/next.js/issues/40396) - Combine redirect function in new router: [#&#8203;40717](https://github.com/vercel/next.js/issues/40717) - fix: InferGetServerSidePropsType and InferGetStaticPropsType: [#&#8203;40635](https://github.com/vercel/next.js/issues/40635) - Update to leverage AsyncLocalStorage for app static handling: [#&#8203;40727](https://github.com/vercel/next.js/issues/40727) - Change flight querystring to header: [#&#8203;40752](https://github.com/vercel/next.js/issues/40752) - Improved bundling strategy for the server graph: [#&#8203;40739](https://github.com/vercel/next.js/issues/40739) - Remove unnecessary experimental flag: [#&#8203;40766](https://github.com/vercel/next.js/issues/40766) - next-swc: add next-font-loaders to crates/core: [#&#8203;40221](https://github.com/vercel/next.js/issues/40221) - Add next font package: [#&#8203;40227](https://github.com/vercel/next.js/issues/40227) - Strip internal pages for pagesDir in app edge ssr: [#&#8203;40776](https://github.com/vercel/next.js/issues/40776) - Add support for font loaders: [#&#8203;40746](https://github.com/vercel/next.js/issues/40746) - Set `__NEXT_NEW_LINK_BEHAVIOR` in Jest tests when `newNextLinkBehavior` is true: [#&#8203;40702](https://github.com/vercel/next.js/issues/40702) - Add handling for 404 in new router: [#&#8203;40787](https://github.com/vercel/next.js/issues/40787) - Fix alias paths for bundling: [#&#8203;40800](https://github.com/vercel/next.js/issues/40800) - Fix required server files for font loader manifest: [#&#8203;40784](https://github.com/vercel/next.js/issues/40784) - Add local font loader: [#&#8203;40801](https://github.com/vercel/next.js/issues/40801) - Update error handling during app static generation: [#&#8203;40823](https://github.com/vercel/next.js/issues/40823) - Handle redirect in same way as 404 in new router: [#&#8203;40796](https://github.com/vercel/next.js/issues/40796) - build: upgrade edge-runtime: [#&#8203;40788](https://github.com/vercel/next.js/issues/40788) - Allow export const in font loader: [#&#8203;40836](https://github.com/vercel/next.js/issues/40836) - chore: Update swc: [#&#8203;40832](https://github.com/vercel/next.js/issues/40832) - Update app-router options type: [#&#8203;40862](https://github.com/vercel/next.js/issues/40862) - Flight client navigation error: [#&#8203;40861](https://github.com/vercel/next.js/issues/40861) - Use startTransition for hydrateRoot to opt-in to non-blocking hydration: [#&#8203;40874](https://github.com/vercel/next.js/issues/40874) - Add `optoutServerComponentsBundle` option: [#&#8203;40770](https://github.com/vercel/next.js/issues/40770) - Apply [#&#8203;40833](https://github.com/vercel/next.js/issues/40833): [#&#8203;40872](https://github.com/vercel/next.js/issues/40872) - Upgrade react@experimental: [#&#8203;40885](https://github.com/vercel/next.js/issues/40885) - Update handling of redirect/404 throw to cross server->client boundary: [#&#8203;40890](https://github.com/vercel/next.js/issues/40890) - Update pre-compiled: [#&#8203;40914](https://github.com/vercel/next.js/issues/40914) - Update font loader output path: [#&#8203;40868](https://github.com/vercel/next.js/issues/40868) - Disable head element lint rule for appDir: [#&#8203;40921](https://github.com/vercel/next.js/issues/40921) - Should resolve esm external module imports on server: [#&#8203;40865](https://github.com/vercel/next.js/issues/40865) - edge-ssr: bundle next/dist as ESM for better tree-shaking: [#&#8203;40251](https://github.com/vercel/next.js/issues/40251) - Improve types for `<Image />` and `responseLimit`: [#&#8203;40863](https://github.com/vercel/next.js/issues/40863) - chore: Update swc: [#&#8203;40928](https://github.com/vercel/next.js/issues/40928) - Ensure skipClientCache is honored for router.push: [#&#8203;40932](https://github.com/vercel/next.js/issues/40932) - Fix bundling and module resolution in the server layer: [#&#8203;40818](https://github.com/vercel/next.js/issues/40818) - Handle loading returning undefined: [#&#8203;40938](https://github.com/vercel/next.js/issues/40938) - Fix SWC loader ignore for the server layer when Babel is used: [#&#8203;40939](https://github.com/vercel/next.js/issues/40939) - Code refactoring for webpack-config: [#&#8203;40942](https://github.com/vercel/next.js/issues/40942) - Merge e2e test node_modules: [#&#8203;40926](https://github.com/vercel/next.js/issues/40926) - Rename 404 -> not-found for new router: [#&#8203;40941](https://github.com/vercel/next.js/issues/40941) - remove reducer from server bundle: [#&#8203;40959](https://github.com/vercel/next.js/issues/40959) - \[edge] serialize custom config to middleware-manifest: [#&#8203;40881](https://github.com/vercel/next.js/issues/40881) - Font loader support in app: [#&#8203;40898](https://github.com/vercel/next.js/issues/40898) - docs: add inline documentation for Link props: [#&#8203;40855](https://github.com/vercel/next.js/issues/40855) - feat(experimental): option to polyfill `fetch` using `undici` in Node.js <18: [#&#8203;40318](https://github.com/vercel/next.js/issues/40318) - Update return shape of generateStaticParams: [#&#8203;40965](https://github.com/vercel/next.js/issues/40965) - remove legacy transform code: [#&#8203;40966](https://github.com/vercel/next.js/issues/40966) - Revert "edge-ssr: bundle next/dist as ESM for better tree-shaking ([#&#8203;40251](https://github.com/vercel/next.js/issues/40251)): [#&#8203;40967](https://github.com/vercel/next.js/issues/40967) - Update to use HEAD request for middleware query hydration: [#&#8203;40973](https://github.com/vercel/next.js/issues/40973) - Revert "Merge e2e test node_modules ([#&#8203;40926](https://github.com/vercel/next.js/issues/40926))": [#&#8203;40974](https://github.com/vercel/next.js/issues/40974) - edge-ssr: bundle next/dist as ESM for better tree-shaking ([#&#8203;40251](https://github.com/vercel/next.js/issues/40251)): [#&#8203;40980](https://github.com/vercel/next.js/issues/40980) - Rename flight parameters to rsc/next: [#&#8203;40979](https://github.com/vercel/next.js/issues/40979) - Remove outdated warning: [#&#8203;40988](https://github.com/vercel/next.js/issues/40988) - misc: add MANGLING_DEBUG option: [#&#8203;40958](https://github.com/vercel/next.js/issues/40958) - Fix wrong code condition used when bundling the server: [#&#8203;40987](https://github.com/vercel/next.js/issues/40987) - Move pagesDir handling out of wrappedRender: [#&#8203;40995](https://github.com/vercel/next.js/issues/40995) - Fix unused CSS module imports are tracked on the server: [#&#8203;40996](https://github.com/vercel/next.js/issues/40996) - Skip creating virtual app client entry for pages: [#&#8203;41000](https://github.com/vercel/next.js/issues/41000) - chore: remove unsless [@&#8203;ts-ignore](https://github.com/ts-ignore): [#&#8203;40992](https://github.com/vercel/next.js/issues/40992) - Add support for fallback font and css variable for font/local: [#&#8203;40990](https://github.com/vercel/next.js/issues/40990) - Use throw to trigger Suspense to avoid use() in reducer warning: [#&#8203;40950](https://github.com/vercel/next.js/issues/40950) - chore: Update swc: [#&#8203;40983](https://github.com/vercel/next.js/issues/40983) - Revert "chore: Update swc": [#&#8203;41015](https://github.com/vercel/next.js/issues/41015) - Docs for experimental font optimization `adjustFontFallbacks`: [#&#8203;40771](https://github.com/vercel/next.js/issues/40771) - Drop legacy React DOM Server in Edge runtime: [#&#8203;40018](https://github.com/vercel/next.js/issues/40018) - misc: make useReducerWithDevtools noop on server: [#&#8203;41019](https://github.com/vercel/next.js/issues/41019) - Remove reload on serverComponentChanges in pages: [#&#8203;41020](https://github.com/vercel/next.js/issues/41020) - chore: Update swc_core to `v0.28.10`: [#&#8203;41016](https://github.com/vercel/next.js/issues/41016) - Alias all client, shared, pages dist assets for esm: [#&#8203;41034](https://github.com/vercel/next.js/issues/41034) - Add Replay integration for dev e2e tests: [#&#8203;40955](https://github.com/vercel/next.js/issues/40955) - Add `with-xata` example: [#&#8203;39864](https://github.com/vercel/next.js/issues/39864) - Make sure polyfills are added for browsers without module support: [#&#8203;41029](https://github.com/vercel/next.js/issues/41029) - Move handling of navigation to pages from new router: [#&#8203;41001](https://github.com/vercel/next.js/issues/41001) - Adding experimental size adjust based option: [#&#8203;41009](https://github.com/vercel/next.js/issues/41009) - chore: add build step to `eslint-plugin-next`: [#&#8203;38647](https://github.com/vercel/next.js/issues/38647) - chore: make sure polyfills are built for `pnpm dev`: [#&#8203;40335](https://github.com/vercel/next.js/issues/40335) - refactor: migrate `eslint-plugin-next` to typescript: [#&#8203;41046](https://github.com/vercel/next.js/issues/41046) - Improve experimental feature naming: [#&#8203;41060](https://github.com/vercel/next.js/issues/41060) - Full page reload when navigating to new root layout: [#&#8203;40751](https://github.com/vercel/next.js/issues/40751) - Use deterministic module IDs for server: [#&#8203;41066](https://github.com/vercel/next.js/issues/41066) - Accept variable prop in google font loader: [#&#8203;41065](https://github.com/vercel/next.js/issues/41065) - Font loader call json parsing fix: [#&#8203;41052](https://github.com/vercel/next.js/issues/41052) - build(next/swc): consolidate swc_core dependency version: [#&#8203;41043](https://github.com/vercel/next.js/issues/41043) - Skip pagesDirRules when pagesDir is not present: [#&#8203;41075](https://github.com/vercel/next.js/issues/41075) - Fix experimental undici warning: [#&#8203;41077](https://github.com/vercel/next.js/issues/41077) - Temporarily disable prefetch in new router: [#&#8203;41086](https://github.com/vercel/next.js/issues/41086) - Add conflicting app and page error: [#&#8203;41099](https://github.com/vercel/next.js/issues/41099) - chore(server): improve dev logs formatting: [#&#8203;41109](https://github.com/vercel/next.js/issues/41109) - rename flush effects to server inserted html: [#&#8203;41073](https://github.com/vercel/next.js/issues/41073) - Check required root layout tags: [#&#8203;41120](https://github.com/vercel/next.js/issues/41120) - Lint files with `mjs`, `mts`, `cjs` and `cts` extension by default: [#&#8203;40879](https://github.com/vercel/next.js/issues/40879) - Improve error messages of server compilation: [#&#8203;41136](https://github.com/vercel/next.js/issues/41136) - Fix edge function req.url handling with rewrite: [#&#8203;41139](https://github.com/vercel/next.js/issues/41139) - Ensure entry tracing applies for app correctly: [#&#8203;41140](https://github.com/vercel/next.js/issues/41140) - add attribution to web vitals: [#&#8203;39368](https://github.com/vercel/next.js/issues/39368) - Update minimum required Node.js version to v14: [#&#8203;41150](https://github.com/vercel/next.js/issues/41150) - Handle hmr for edge ssr in app dir: [#&#8203;41156](https://github.com/vercel/next.js/issues/41156) - chore: Update swc_core to `v0.28.20`: [#&#8203;41153](https://github.com/vercel/next.js/issues/41153) - Remove unnecessary `moduleId` option: [#&#8203;41160](https://github.com/vercel/next.js/issues/41160) - Apply experimental configs for middleware: [#&#8203;41142](https://github.com/vercel/next.js/issues/41142) - Fix reading edge info for app paths: [#&#8203;41163](https://github.com/vercel/next.js/issues/41163) - Fix warning messages for next export: [#&#8203;41165](https://github.com/vercel/next.js/issues/41165) - Refactor app dir related flags: [#&#8203;41166](https://github.com/vercel/next.js/issues/41166) - Fix prefetch for new router: [#&#8203;41119](https://github.com/vercel/next.js/issues/41119) - Disable built-in css-in-js transform on server layer: [#&#8203;41040](https://github.com/vercel/next.js/issues/41040) - docs(image): improve error message when `sharp` is missing in standalone mode: [#&#8203;41133](https://github.com/vercel/next.js/issues/41133) - Fix latest experimental react and experimental-edge and unpin test versions: [#&#8203;41200](https://github.com/vercel/next.js/issues/41200) - Font loader with babel error: [#&#8203;41151](https://github.com/vercel/next.js/issues/41151) - Remove hook_optimizer transform: [#&#8203;41203](https://github.com/vercel/next.js/issues/41203) - chore: Update swc_core to `v0.29.5`: [#&#8203;41181](https://github.com/vercel/next.js/issues/41181) - Update edge runtime to 1.1.0-beta.37: [#&#8203;41211](https://github.com/vercel/next.js/issues/41211) - Alias next/dynamic to lazy impl for appDir: [#&#8203;41216](https://github.com/vercel/next.js/issues/41216) - Do not bundle `react-dom` in the SSR build: [#&#8203;41227](https://github.com/vercel/next.js/issues/41227) - Add response stream errorhandling in edge-function-runtime: [#&#8203;41102](https://github.com/vercel/next.js/issues/41102) - App font file preload: [#&#8203;41158](https://github.com/vercel/next.js/issues/41158) - Fix app static generation cases: [#&#8203;41172](https://github.com/vercel/next.js/issues/41172) - Enabel appDir when flag and dir existed at the same time: [#&#8203;41233](https://github.com/vercel/next.js/issues/41233) - Font loaders next config shape: [#&#8203;41219](https://github.com/vercel/next.js/issues/41219) - refactor dev overlay into hot reloader: [#&#8203;41231](https://github.com/vercel/next.js/issues/41231) - fix(middleware): 'instanceof Function' is dynamic code false-positive: [#&#8203;41249](https://github.com/vercel/next.js/issues/41249) - Snyk upgrade [`2701033`](https://github.com/vercel/next.js/commit/27010339d65c4a43f7b564bbebecab85): [#&#8203;41240](https://github.com/vercel/next.js/issues/41240) - fix(ts): relax `AppProps` to not require generic: [#&#8203;41264](https://github.com/vercel/next.js/issues/41264) - Recover from font loader error in dev: [#&#8203;41251](https://github.com/vercel/next.js/issues/41251) - Handle `as` on next/link with new router: [#&#8203;41285](https://github.com/vercel/next.js/issues/41285) - Load `beforeInteractive` scripts properly without blocking hydration: [#&#8203;41164](https://github.com/vercel/next.js/issues/41164) - Add test for link back to original page: [#&#8203;41297](https://github.com/vercel/next.js/issues/41297) - Local font files adjust fallbacks: [#&#8203;41180](https://github.com/vercel/next.js/issues/41180) - Update middleware query hydration handling: [#&#8203;41243](https://github.com/vercel/next.js/issues/41243) - Fix NextUrl trailing slash normalize for data route: [#&#8203;41311](https://github.com/vercel/next.js/issues/41311) - Global layouts error boundary: [#&#8203;41305](https://github.com/vercel/next.js/issues/41305) - fix(image): don't show placeholder warning in Jest: [#&#8203;41329](https://github.com/vercel/next.js/issues/41329) - Handle error overlay for new router: [#&#8203;41325](https://github.com/vercel/next.js/issues/41325) - fix(standalone): support `type: "module"`: [#&#8203;41268](https://github.com/vercel/next.js/issues/41268) - perf: lazyload the edge runtime in NextServer: [#&#8203;41322](https://github.com/vercel/next.js/issues/41322) - Add pretty error when image import is invalid format: [#&#8203;41267](https://github.com/vercel/next.js/issues/41267) - chore: Update swc_core to `v0.32.8`: [#&#8203;41304](https://github.com/vercel/next.js/issues/41304) - Client component directive: use client: [#&#8203;41333](https://github.com/vercel/next.js/issues/41333) - Fix middleware rewrite for \_next/data: [#&#8203;41341](https://github.com/vercel/next.js/issues/41341) - Add codemods for `next/image`: [#&#8203;41004](https://github.com/vercel/next.js/issues/41004) - Fix middleware URL normalize case: [#&#8203;41342](https://github.com/vercel/next.js/issues/41342) - Update `next/image` codemod to handle `require()`: [#&#8203;41345](https://github.com/vercel/next.js/issues/41345) - Ensure RSC paths are normalized in minimal mode: [#&#8203;41348](https://github.com/vercel/next.js/issues/41348) - Refactor error overlay for new router: [#&#8203;41343](https://github.com/vercel/next.js/issues/41343) - inline httpproxy usage: [#&#8203;41330](https://github.com/vercel/next.js/issues/41330) - proper error if middleware or api/route not return a Response: [#&#8203;41336](https://github.com/vercel/next.js/issues/41336) - Fix CSS imports tree-shaking: [#&#8203;41357](https://github.com/vercel/next.js/issues/41357) - Ensure content is kept rendered below the error overlay on build errors in new router: [#&#8203;41360](https://github.com/vercel/next.js/issues/41360) - refactor([#&#8203;41164](https://github.com/vercel/next.js/issues/41164)): polyfill-module should block hydration: [#&#8203;41352](https://github.com/vercel/next.js/issues/41352) - Fix `onLoad` prop in `next/future/image`: [#&#8203;41374](https://github.com/vercel/next.js/issues/41374) - Add exports for new router: [#&#8203;41368](https://github.com/vercel/next.js/issues/41368) - App font loader tree shaking: [#&#8203;41384](https://github.com/vercel/next.js/issues/41384) - perf: lazy eval headers from the requestStore: [#&#8203;41353](https://github.com/vercel/next.js/issues/41353) - fix: disable css cache busting in production: [#&#8203;41392](https://github.com/vercel/next.js/issues/41392) - Upgrade next-swc-napi to NAPI-RS v2: [#&#8203;40094](https://github.com/vercel/next.js/issues/40094) - Fix prefetching for static app paths: [#&#8203;41398](https://github.com/vercel/next.js/issues/41398) - perf: lazy evaluate more modules: [#&#8203;41354](https://github.com/vercel/next.js/issues/41354) - BREAKING CHANGE: Rename `next/image` to `next/legacy/image` & rename `next/future/image` to `next/image`: [#&#8203;41399](https://github.com/vercel/next.js/issues/41399) - Fix edge workers being re-used unexpectedly: [#&#8203;41402](https://github.com/vercel/next.js/issues/41402) - Remove edge shared deps: [#&#8203;41413](https://github.com/vercel/next.js/issues/41413) - Upgrade React experimental: [#&#8203;41419](https://github.com/vercel/next.js/issues/41419) - Update edge runtime to 1.1.0-beta.39: [#&#8203;41418](https://github.com/vercel/next.js/issues/41418) - Update flakey dev AMP tests: [#&#8203;41428](https://github.com/vercel/next.js/issues/41428) - Add new diagnostics: [#&#8203;41429](https://github.com/vercel/next.js/issues/41429) - Move root layout validation: [#&#8203;41338](https://github.com/vercel/next.js/issues/41338) - chore: bump server pre-compiled target to Node.js 14: [#&#8203;41424](https://github.com/vercel/next.js/issues/41424) - Fix middleware dynamic route param on query hydration: [#&#8203;41436](https://github.com/vercel/next.js/issues/41436) - chore: Update swc_core to `v0.38.4`: [#&#8203;41401](https://github.com/vercel/next.js/issues/41401) - Don't show error overlay for not found and redirect: [#&#8203;41438](https://github.com/vercel/next.js/issues/41438) - Change useSearchParams to URLSearchParams: [#&#8203;40978](https://github.com/vercel/next.js/issues/40978) - perf([#&#8203;41392](https://github.com/vercel/next.js/issues/41392)): improve cache busting inject performance: [#&#8203;41443](https://github.com/vercel/next.js/issues/41443) - Rename reload to refresh in new router: [#&#8203;41448](https://github.com/vercel/next.js/issues/41448) - Disable isNavigatingToNewRootLayout: [#&#8203;41457](https://github.com/vercel/next.js/issues/41457) - fix(app-render): make css and font respect assetPrefix: [#&#8203;41455](https://github.com/vercel/next.js/issues/41455) - Ignore serverComponentChanges in pages: [#&#8203;41464](https://github.com/vercel/next.js/issues/41464) - Include frameworks in main-app: [#&#8203;41465](https://github.com/vercel/next.js/issues/41465) - Fix typo and add comment to `next/image` SyntheticEvent: [#&#8203;41480](https://github.com/vercel/next.js/issues/41480) - Update `next/image` docs and examples: [#&#8203;41434](https://github.com/vercel/next.js/issues/41434) - chore: Update swc_core to `v0.38.22`: [#&#8203;41477](https://github.com/vercel/next.js/issues/41477) - Fix useSearchParams comment: [#&#8203;41483](https://github.com/vercel/next.js/issues/41483) - fix(stream): Allows body larger than 16 KiB with middleware: [#&#8203;41270](https://github.com/vercel/next.js/issues/41270) - fix(41456): check src/app folder too in getHasAppDir: [#&#8203;41458](https://github.com/vercel/next.js/issues/41458) - BREAKING CHANGE: Enable newNextLinkBehavior: [#&#8203;41459](https://github.com/vercel/next.js/issues/41459) - Avoid using the CSS href as the link tag key: [#&#8203;41493](https://github.com/vercel/next.js/issues/41493) - Fix global css being marked as side effect free: [#&#8203;41481](https://github.com/vercel/next.js/issues/41481) - Append the fragment in NextUrl.toString(): [#&#8203;41501](https://github.com/vercel/next.js/issues/41501) - Add vary header to fix incorrectly caching RSC as HTML response: [#&#8203;41479](https://github.com/vercel/next.js/issues/41479) - Enable swcMinify by default: [#&#8203;41506](https://github.com/vercel/next.js/issues/41506) - Move fetch revalidate config under next options: [#&#8203;41505](https://github.com/vercel/next.js/issues/41505) - Fix app sc_client componet HMR server-side: [#&#8203;41510](https://github.com/vercel/next.js/issues/41510) - fix(ts): `Cookies` -> `NextCookies`: [#&#8203;41491](https://github.com/vercel/next.js/issues/41491) - Update edge runtime to 1.1.0-beta.40: [#&#8203;41513](https://github.com/vercel/next.js/issues/41513) - BREAKING CHANGE: Remove `target: serverless`: [#&#8203;41495](https://github.com/vercel/next.js/issues/41495) - Fix next-app-loader bug in windows: [#&#8203;41520](https://github.com/vercel/next.js/issues/41520) - Prebundle react for appDir: [#&#8203;41337](https://github.com/vercel/next.js/issues/41337) - BREAKING CHANGE: Remove `browsersListForSwc` and change default to `legacyBrowsers: false`: [#&#8203;41529](https://github.com/vercel/next.js/issues/41529) - chore: Update swc_core to `v0.39.7`: [#&#8203;41544](https://github.com/vercel/next.js/issues/41544) - Mark styled-jsx as client-only package: [#&#8203;41414](https://github.com/vercel/next.js/issues/41414) - Fix case where dispatch was missing: [#&#8203;41553](https://github.com/vercel/next.js/issues/41553) - Upgrade react-server-dom-webpack and precompiled assets: [#&#8203;41547](https://github.com/vercel/next.js/issues/41547) - Improve type checking: [#&#8203;41427](https://github.com/vercel/next.js/issues/41427) - Create hash digest for errors in app in production: [#&#8203;41559](https://github.com/vercel/next.js/issues/41559) - fix: allow user directory with `styled-jsx` prefix in `next dev`: [#&#8203;41484](https://github.com/vercel/next.js/issues/41484) - Fix `next/image` svg blur placeholder with `fill`: [#&#8203;41573](https://github.com/vercel/next.js/issues/41573) - Add TypeScript plugin: [#&#8203;41569](https://github.com/vercel/next.js/issues/41569) - Update RSC detection in minimal mode and fix config collection: [#&#8203;41541](https://github.com/vercel/next.js/issues/41541) - Add back() and forward() to new router: [#&#8203;41575](https://github.com/vercel/next.js/issues/41575) - Update page config APIs: [#&#8203;41580](https://github.com/vercel/next.js/issues/41580) - Improve server bundling strategy: [#&#8203;41584](https://github.com/vercel/next.js/issues/41584) - Update error message for invalid react-dom/server imports: [#&#8203;41582](https://github.com/vercel/next.js/issues/41582) - Support overriding request headers in middlewares: [#&#8203;41380](https://github.com/vercel/next.js/issues/41380) - Check root layout change on client: [#&#8203;41475](https://github.com/vercel/next.js/issues/41475) - Full remaining path in selected layout segment: [#&#8203;41562](https://github.com/vercel/next.js/issues/41562) - Add back/forward test for new router: [#&#8203;41590](https://github.com/vercel/next.js/issues/41590) - perf: refactor path logic in router + add LRU cache: [#&#8203;41365](https://github.com/vercel/next.js/issues/41365) - Add transpilePackages option: [#&#8203;41583](https://github.com/vercel/next.js/issues/41583) - Font loader types: [#&#8203;41591](https://github.com/vercel/next.js/issues/41591) - Updating size-adjust calculation: [#&#8203;41406](https://github.com/vercel/next.js/issues/41406) - Fix missing JSON.stringify in loader: [#&#8203;41599](https://github.com/vercel/next.js/issues/41599) - Root layout head not required: [#&#8203;41621](https://github.com/vercel/next.js/issues/41621) - feat(edge): adds AsyncLocalStorage support to the edge function sandbox: [#&#8203;41622](https://github.com/vercel/next.js/issues/41622) - Add support for `images.loaderFile` config: [#&#8203;41585](https://github.com/vercel/next.js/issues/41585) - BREAKING CHANGE: Remove React 17: [#&#8203;41629](https://github.com/vercel/next.js/issues/41629) - Update `next-image-experimental` codemod to handle loaders: [#&#8203;41633](https://github.com/vercel/next.js/issues/41633) - Font loader default config: [#&#8203;41628](https://github.com/vercel/next.js/issues/41628) - Disable using prebundled of react for appDir: [#&#8203;41635](https://github.com/vercel/next.js/issues/41635) - Refactor hot-reloader client for app: [#&#8203;41598](https://github.com/vercel/next.js/issues/41598) - Enable ReactRefreshLogBox-builtins.test.ts, remove loader from import trace: [#&#8203;41645](https://github.com/vercel/next.js/issues/41645) - layout: add build status for app routes: [#&#8203;41627](https://github.com/vercel/next.js/issues/41627) - Update [@&#8203;types/node](https://github.com/types/node) to 14.14.31: [#&#8203;41634](https://github.com/vercel/next.js/issues/41634) - Change `data-nimg` attribute on `next/image`: [#&#8203;41612](https://github.com/vercel/next.js/issues/41612) - chore: Update swc_core to `v0.40.7`: [#&#8203;41613](https://github.com/vercel/next.js/issues/41613) - Update to handle correct react version with app: [#&#8203;41658](https://github.com/vercel/next.js/issues/41658) - Improve errors for invalid component export: [#&#8203;41657](https://github.com/vercel/next.js/issues/41657) - Add experimental warning note: [#&#8203;41666](https://github.com/vercel/next.js/issues/41666) - Bundle ssr client layer excepts react externals: [#&#8203;41606](https://github.com/vercel/next.js/issues/41606) - Improve error message for wrong props: [#&#8203;41668](https://github.com/vercel/next.js/issues/41668) - Remove deprecated `webpack5` config option: [#&#8203;41667](https://github.com/vercel/next.js/issues/41667) - Improve error messages: [#&#8203;41669](https://github.com/vercel/next.js/issues/41669) - Create root layout: [#&#8203;41523](https://github.com/vercel/next.js/issues/41523) - Ensure we properly normalize /index in minimal mode: [#&#8203;41678](https://github.com/vercel/next.js/issues/41678) - Update params of PageProps to string map: [#&#8203;41677](https://github.com/vercel/next.js/issues/41677) - Expose AsyncLocalStorage on global for react: [#&#8203;41683](https://github.com/vercel/next.js/issues/41683) - Update URL malformed edge error: [#&#8203;41685](https://github.com/vercel/next.js/issues/41685) - Update to latest react experimental: [#&#8203;41671](https://github.com/vercel/next.js/issues/41671) - Revert "Add experimental warning note": [#&#8203;41688](https://github.com/vercel/next.js/issues/41688) - Fix typos: code comment: [#&#8203;41691](https://github.com/vercel/next.js/issues/41691) - useSelectedLayoutSegment -> useSelectedLayoutSegments, add useSelectedLayoutSegment with previous behavior: [#&#8203;41693](https://github.com/vercel/next.js/issues/41693) - Ensure `AsyncLocalStorage` for static generation is shared for client & server: [#&#8203;41695](https://github.com/vercel/next.js/issues/41695) - App dir sass: [#&#8203;41690](https://github.com/vercel/next.js/issues/41690) - chore: Update swc_core to `v0.40.13`: [#&#8203;41692](https://github.com/vercel/next.js/issues/41692) - Disable esm resolving for appDir and alias react: [#&#8203;41687](https://github.com/vercel/next.js/issues/41687) - Print error when next dev has conflicting app & page: [#&#8203;41656](https://github.com/vercel/next.js/issues/41656) - Support next option for Request: [#&#8203;41614](https://github.com/vercel/next.js/issues/41614) - Revert "chore: Update swc_core to `v0.40.13`": [#&#8203;41699](https://github.com/vercel/next.js/issues/41699) - Revert "Revert "chore: Update swc_core to `v0.40.13`"": [#&#8203;41700](https://github.com/vercel/next.js/issues/41700) - chore: Update swc_core to `v0.40.16`: [#&#8203;41702](https://github.com/vercel/next.js/issues/41702) - Move redirect and notFound to navigation exports: [#&#8203;41703](https://github.com/vercel/next.js/issues/41703) - Font subsets in function call: [#&#8203;41694](https://github.com/vercel/next.js/issues/41694) - Include resolved external package dirs: [#&#8203;41706](https://github.com/vercel/next.js/issues/41706) - Fail on prerendering with dynamic error config: [#&#8203;41707](https://github.com/vercel/next.js/issues/41707) - Update precompiled react to next channel: [#&#8203;41708](https://github.com/vercel/next.js/issues/41708) - Emit VSCode settings for TypeScript: [#&#8203;41710](https://github.com/vercel/next.js/issues/41710) - Upgrade Edge Runtime v.1.1.0: [#&#8203;41727](https://github.com/vercel/next.js/issues/41727) - Fix module trace error messages to not include queries: [#&#8203;41738](https://github.com/vercel/next.js/issues/41738) - Fix ignored file path: [#&#8203;41747](https://github.com/vercel/next.js/issues/41747) - Fix static generation and crawler requests: [#&#8203;41735](https://github.com/vercel/next.js/issues/41735) - Add error if `app` detected but config is missing: [#&#8203;41696](https://github.com/vercel/next.js/issues/41696) - Add default not found template: [#&#8203;41750](https://github.com/vercel/next.js/issues/41750) - Remove unneeded types: [#&#8203;41752](https://github.com/vercel/next.js/issues/41752) - Add message for `appDir` feedback: [#&#8203;41751](https://github.com/vercel/next.js/issues/41751) - feat: set a better type for the default image loader : [#&#8203;41639](https://github.com/vercel/next.js/issues/41639) - Fix edge entry layer resolution bug: [#&#8203;41757](https://github.com/vercel/next.js/issues/41757) - Dont apply existing externals path changing to rsc layers: [#&#8203;41744](https://github.com/vercel/next.js/issues/41744) - Pathname and search params SSG: [#&#8203;41247](https://github.com/vercel/next.js/issues/41247) - Update react next channel: [#&#8203;41761](https://github.com/vercel/next.js/issues/41761) - Font description and error messages: [#&#8203;41764](https://github.com/vercel/next.js/issues/41764) - Updating avg width metrics for google fonts: [#&#8203;41755](https://github.com/vercel/next.js/issues/41755) - Bump minimum Node.js version to 14.6.0: [#&#8203;41765](https://github.com/vercel/next.js/issues/41765) - Throw error <a> child in <Link>: [#&#8203;41756](https://github.com/vercel/next.js/issues/41756) - \[typescript] fix typo in edge runtime name: [#&#8203;41773](https://github.com/vercel/next.js/issues/41773) - Only import dev overlay for dev mode: [#&#8203;41771](https://github.com/vercel/next.js/issues/41771) - Add initial head handling in app: [#&#8203;41607](https://github.com/vercel/next.js/issues/41607) - Fix revalidate during dev: [#&#8203;41772](https://github.com/vercel/next.js/issues/41772) - Fix no-store test case: [#&#8203;41775](https://github.com/vercel/next.js/issues/41775) - Ensure async_hooks are not resolved for client: [#&#8203;41778](https://github.com/vercel/next.js/issues/41778) - Make ship happen: [#&#8203;41776](https://github.com/vercel/next.js/issues/41776) - Add head handling: [#&#8203;41768](https://github.com/vercel/next.js/issues/41768) - Update async storage fix: [#&#8203;41779](https://github.com/vercel/next.js/issues/41779) ##### Documentation Changes - Updated example for i18n middleware: [#&#8203;40728](https://github.com/vercel/next.js/issues/40728) - docs: Remove extraneous FallbackComponent prop from error boundary docs: [#&#8203;40785](https://github.com/vercel/next.js/issues/40785) - Update static-html-export.md: [#&#8203;40808](https://github.com/vercel/next.js/issues/40808) - Add additional fix in hydration error document: [#&#8203;40675](https://github.com/vercel/next.js/issues/40675) - \[docs] Update Cypress config file name: [#&#8203;40849](https://github.com/vercel/next.js/issues/40849) - update url for React Hydration Documentation: [#&#8203;40883](https://github.com/vercel/next.js/issues/40883) - Typo in middleware upgrade guide: [#&#8203;40963](https://github.com/vercel/next.js/issues/40963) - Add useState and useEffect import: [#&#8203;40944](https://github.com/vercel/next.js/issues/40944) - Fix broken link in migration docs.: [#&#8203;41013](https://github.com/vercel/next.js/issues/41013) - Add Enterspeed blog example: [#&#8203;35897](https://github.com/vercel/next.js/issues/35897) - \[docs] Improve documentation around `pageExtensions`: [#&#8203;40039](https://github.com/vercel/next.js/issues/40039) - (Docs) getStaticProps & getServerSideProps TS section ([#&#8203;40607](https://github.com/vercel/next.js/issues/40607)): [#&#8203;40639](https://github.com/vercel/next.js/issues/40639) - class component -> functional component: [#&#8203;41089](https://github.com/vercel/next.js/issues/41089) - Docs: Fix misleading `console.log` output example: [#&#8203;41096](https://github.com/vercel/next.js/issues/41096) - Add note to incremental migration about dynamic routes + fallbacks: [#&#8203;41147](https://github.com/vercel/next.js/issues/41147) - Fix docs for next/image unconfigured hosts: [#&#8203;41223](https://github.com/vercel/next.js/issues/41223) - Update introduction.md: [#&#8203;41226](https://github.com/vercel/next.js/issues/41226) - Update security-headers doc: [#&#8203;41312](https://github.com/vercel/next.js/issues/41312) - docs: clarify `redirects` on client-side navigation: [#&#8203;41362](https://github.com/vercel/next.js/issues/41362) - Update node-module-in-edge-runtime.md: [#&#8203;41375](https://github.com/vercel/next.js/issues/41375) - docs: note MDX with remark-gfm usage: [#&#8203;41391](https://github.com/vercel/next.js/issues/41391) - docs: more detailed error message when failing to parse a middleware matcher: [#&#8203;41390](https://github.com/vercel/next.js/issues/41390) - Update docs with minimum node version 14.x: [#&#8203;41482](https://github.com/vercel/next.js/issues/41482) - Add `remotePatterns` link to next-image-unconfigured-host: [#&#8203;41504](https://github.com/vercel/next.js/issues/41504) - \[docs] fix grammatical error [#&#8203;41507](https://github.com/vercel/next.js/issues/41507): [#&#8203;41508](https://github.com/vercel/next.js/issues/41508) - Add `swcMinify` to the Upgrade Guide: [#&#8203;41521](https://github.com/vercel/next.js/issues/41521) - Fix links to `next/legacy/image` demo: [#&#8203;41539](https://github.com/vercel/next.js/issues/41539) - Docs for request headers overrides in middleware: [#&#8203;41546](https://github.com/vercel/next.js/issues/41546) - Fix docs typo in `next/image` sizes using fill prop: [#&#8203;41560](https://github.com/vercel/next.js/issues/41560) - Small change to note `<Link />` executes server methods: [#&#8203;41577](https://github.com/vercel/next.js/issues/41577) - docs: remove next/future/image note: [#&#8203;41610](https://github.com/vercel/next.js/issues/41610) - Update custom-error-page for getServerSideProps: [#&#8203;41723](https://github.com/vercel/next.js/issues/41723) - docs: update `ci-build-caching`: [#&#8203;41763](https://github.com/vercel/next.js/issues/41763) ##### Example Changes - chore: refactor with-next-sitemap example: [#&#8203;40712](https://github.com/vercel/next.js/issues/40712) - Updates with-supertokens example app: [#&#8203;40707](https://github.com/vercel/next.js/issues/40707) - chore: refactor with-typestyle example: [#&#8203;40740](https://github.com/vercel/next.js/issues/40740) - chore: migrate missing document of with-geist-ui example to typescript: [#&#8203;40743](https://github.com/vercel/next.js/issues/40743) - chore(examples): lock `msw` version in `with-msw` example: [#&#8203;40777](https://github.com/vercel/next.js/issues/40777) - chore: refactor using-router example: [#&#8203;40774](https://github.com/vercel/next.js/issues/40774) - Fix: Contentful webhook body parse.: [#&#8203;40732](https://github.com/vercel/next.js/issues/40732) - Open deploy link in new window for examples: [#&#8203;40804](https://github.com/vercel/next.js/issues/40804) - fix/window.gtag is not defined for Next.js-hydration event([#&#8203;40410](https://github.com/vercel/next.js/issues/40410)): [#&#8203;40645](https://github.com/vercel/next.js/issues/40645) - Update .env.local.example: [#&#8203;40839](https://github.com/vercel/next.js/issues/40839) - chore: refactor with-web-worker example: [#&#8203;40844](https://github.com/vercel/next.js/issues/40844) - Correct link for "Deploy" button: [#&#8203;40894](https://github.com/vercel/next.js/issues/40894) - Bump TypeScript version in with-typescript: [#&#8203;40924](https://github.com/vercel/next.js/issues/40924) - Revert "Fix: Contentful webhook body parse.": [#&#8203;40925](https://github.com/vercel/next.js/issues/40925) - Update cms-makeswift example: [#&#8203;41005](https://github.com/vercel/next.js/issues/41005) - chore(examples): upgrade `with-react-native-web` dependencies: [#&#8203;41024](https://github.com/vercel/next.js/issues/41024) - chore(examples): Convert `with-react-hook-form` example to TypeScript: [#&#8203;38796](https://github.com/vercel/next.js/issues/38796) - chore(examples): remove `next-env.d.ts` files: [#&#8203;41041](https://github.com/vercel/next.js/issues/41041) - Add NextUI example: [#&#8203;38209](https://github.com/vercel/next.js/issues/38209) - \[Examples] -> Add external official example `with-react-query`: [#&#8203;38101](https://github.com/vercel/next.js/issues/38101) - example: with-mantine: [#&#8203;34591](https://github.com/vercel/next.js/issues/34591) - Add Embedded KeystoneJS example: [#&#8203;25351](https://github.com/vercel/next.js/issues/25351) - Update examples/with-temporal: [#&#8203;33674](https://github.com/vercel/next.js/issues/33674) - Add windicss example: [#&#8203;35256](https://github.com/vercel/next.js/issues/35256) - chore(examples): Add `vanilla-extract` example: [#&#8203;41061](https://github.com/vercel/next.js/issues/41061) - examples/evm-multichain-dapp: [#&#8203;39206](https://github.com/vercel/next.js/issues/39206) - chore(examples): use correct name in `with-xata` example: [#&#8203;41063](https://github.com/vercel/next.js/issues/41063) - chore: update with-react-intl example: [#&#8203;40999](https://github.com/vercel/next.js/issues/40999) - Fix: \[slug].tsx: [#&#8203;41074](https://github.com/vercel/next.js/issues/41074) - docs(examples): refresh `cms-prismic` example: [#&#8203;40121](https://github.com/vercel/next.js/issues/40121) - Authsignal passwordless example: [#&#8203;41079](https://github.com/vercel/next.js/issues/41079) - chore(examples): Cosmic cms updates: [#&#8203;41080](https://github.com/vercel/next.js/issues/41080) - chore(example): updated react-multi-carousel to TS: [#&#8203;37930](https://github.com/vercel/next.js/issues/37930) - Add dotCMS example: [#&#8203;38214](https://github.com/vercel/next.js/issues/38214) - chore(examples): Add 'Sitefinity CMS' Example: [#&#8203;39537](https://github.com/vercel/next.js/issues/39537) - chore(examples): update `with-linaria`: [#&#8203;41085](https://github.com/vercel/next.js/issues/41085) - chore(examples): address remaining review in dotCMS example: [#&#8203;41091](https://github.com/vercel/next.js/issues/41091) - Lock experimental react version in tests: [#&#8203;41100](https://github.com/vercel/next.js/issues/41100) - Update Convex example for v0.2.0: [#&#8203;41143](https://github.com/vercel/next.js/issues/41143) - chore(examples): add webiny cms example: [#&#8203;41159](https://github.com/vercel/next.js/issues/41159) - chore(examples): add Radix UI example: [#&#8203;41169](https://github.com/vercel/next.js/issues/41169) - Updating to latest version of Clerk: [#&#8203;41192](https://github.com/vercel/next.js/issues/41192) - Fix error 500: [#&#8203;41205](https://github.com/vercel/next.js/issues/41205) - Add --frozen-lockfile in Docker example when using pnpm: [#&#8203;41291](https://github.com/vercel/next.js/issues/41291) - chore(examples): upgrade Auth0 example: [#&#8203;41284](https://github.com/vercel/next.js/issues/41284) - Remove references to `withSentry` function in `with-sentry` example: [#&#8203;41326](https://github.com/vercel/next.js/issues/41326) - add Cloudflare Turnstile example: [#&#8203;41283](https://github.com/vercel/next.js/issues/41283) - Added example with salesforce commerce cloud: [#&#8203;41376](https://github.com/vercel/next.js/issues/41376) - Update next pwa version in pwa example: [#&#8203;41386](https://github.com/vercel/next.js/issues/41386) - examples(with-routes-graphql): update GraphQL Yoga to v3: [#&#8203;41478](https://github.com/vercel/next.js/issues/41478) - chore(examples): fix typo: [#&#8203;41496](https://github.com/vercel/next.js/issues/41496) - chore(examples): upgrade Stripe example: [#&#8203;41550](https://github.com/vercel/next.js/issues/41550) - chore(examples): update with-apivideo: [#&#8203;39727](https://github.com/vercel/next.js/issues/39727) - chore(examples): fix typo in \[videoId].tsx: [#&#8203;41655](https://github.com/vercel/next.js/issues/41655) - examples(with-typescript-graphql): migrate to Yoga v3 and codegen new `preset: client`: [#&#8203;41597](https://github.com/vercel/next.js/issues/41597) - Bump version tailwindcss example to 3.2: [#&#8203;41681](https://github.com/vercel/next.js/issues/41681) ##### Misc Changes - Temporarily skip switchable runtime test on deploy: [#&#8203;40700](https://github.com/vercel/next.js/issues/40700) - Break assetPrefix app tests into separate suite: [#&#8203;40701](https://github.com/vercel/next.js/issues/40701) - Skip copying next-swc debug files during testing: [#&#8203;40761](https://github.com/vercel/next.js/issues/40761) - Add test case for /404 client transition: [#&#8203;40734](https://github.com/vercel/next.js/issues/40734) - Update publish to scope as public for initializing: [#&#8203;40778](https://github.com/vercel/next.js/issues/40778) - Update stats config for release stats: [#&#8203;40780](https://github.com/vercel/next.js/issues/40780) - Fix flaky full reload hmr tests: [#&#8203;40786](https://github.com/vercel/next.js/issues/40786) - Add missing release stats config for app: [#&#8203;40805](https://github.com/vercel/next.js/issues/40805) - Tolerate already published error for retrying: [#&#8203;40812](https://github.com/vercel/next.js/issues/40812) - Update publish script to skip lerna: [#&#8203;40815](https://github.com/vercel/next.js/issues/40815) - Disable flakey dev app test temporarily: [#&#8203;40816](https://github.com/vercel/next.js/issues/40816) - Update publish to skip private package: [#&#8203;40822](https://github.com/vercel/next.js/issues/40822) - Update pnpm-lock.yaml - Use an ellipsis character instead: [#&#8203;40913](https://github.com/vercel/next.js/issues/40913) - Update expected middleware test error: [#&#8203;40918](https://github.com/vercel/next.js/issues/40918) - Remove extra pnp test: [#&#8203;40929](https://github.com/vercel/next.js/issues/40929) - Always show node_modules inside test in VS Code: [#&#8203;40956](https://github.com/vercel/next.js/issues/40956) - misc: add benchmarking script for edge rendering: [#&#8203;40716](https://github.com/vercel/next.js/issues/40716) - Add timeout to playwright setup job: [#&#8203;40960](https://github.com/vercel/next.js/issues/40960) - Increase playwright install timeout to 5 min - Increase other timeouts - Skip experimental undici test for deploy mode: [#&#8203;41006](https://github.com/vercel/next.js/issues/41006) - Update flakey middleware rewrite test: [#&#8203;41007](https://github.com/vercel/next.js/issues/41007) - Add test for rewrite from pages to app with existing pages path: [#&#8203;41023](https://github.com/vercel/next.js/issues/41023) - chore/fix typo on contributing documentation: [#&#8203;41037](https://github.com/vercel/next.js/issues/41037) - chore(contributing): remove note about `eslint-config-next` - Revert "chore: make sure polyfills are built for `pnpm dev` ([#&#8203;40335](https://github.com/vercel/next.js/issues/40335))" - Merge branch 'canary' of github.com:vercel/next.js into canary - chore: make sure polyfills are built for `pnpm dev`: [#&#8203;41062](https://github.com/vercel/next.js/issues/41062) - chore(examples): fix lint - chore(examples): fix lint - chore(examples): fix lint - chore(examples): rename file from `.ts` to `.tsx` - chore(examples): fix lint - chore(examples): fix lint - chore(examples): fix example checks - Fix PR stats from experimental react: [#&#8203;41112](https://github.com/vercel/next.js/issues/41112) - Align pnpm version: [#&#8203;41123](https://github.com/vercel/next.js/issues/41123) - Add more test job timeouts: [#&#8203;41162](https://github.com/vercel/next.js/issues/41162) - Fix errors entry in codeowners - Upgrade React experimental: [#&#8203;41222](https://github.com/vercel/next.js/issues/41222) - Enable passing tests: [#&#8203;41241](https://github.com/vercel/next.js/issues/41241) - Skip serverless/serverless-trace target tests: [#&#8203;41252](https://github.com/vercel/next.js/issues/41252) - Add test for link to catchall route in new router: [#&#8203;41289](https://github.com/vercel/next.js/issues/41289) - misc: add minimal server bench setup: [#&#8203;41328](https://github.com/vercel/next.js/issues/41328) - Reduce local font loader options: [#&#8203;41332](https://github.com/vercel/next.js/issues/41332) - Reduce remote requests in google fonts: [#&#8203;41306](https://github.com/vercel/next.js/issues/41306) - Bump E2E test timeout minutes - Test for unused css modules with layout: [#&#8203;41018](https://github.com/vercel/next.js/issues/41018) - Support aarch64 Linux with page size >= 16k: [#&#8203;41229](https://github.com/vercel/next.js/issues/41229) - Update rsc error message: [#&#8203;41351](https://github.com/vercel/next.js/issues/41351) - docs: add tips for building first before running test for contribute Nextjs.: [#&#8203;41379](https://github.com/vercel/next.js/issues/41379) - Add npm to `create-next-app` environment package manager parser: [#&#8203;41279](https://github.com/vercel/next.js/issues/41279) - Update bench options in stats-config: [#&#8203;41432](https://github.com/vercel/next.js/issues/41432) - Bump test timeout-minutes for test dev - Fix E2E deploy test for API bodies: [#&#8203;41542](https://github.com/vercel/next.js/issues/41542) - Run all dev tests with replay on retry: [#&#8203;41168](https://github.com/vercel/next.js/issues/41168) - Increase timeout-minutes for dev jobs - chore: clarify issue template for examples - Add test fixture `e2e/app-dir/next-image`: [#&#8203;41609](https://github.com/vercel/next.js/issues/41609) - feat(cna): add template: [#&#8203;41660](https://github.com/vercel/next.js/issues/41660) - Pin build image version: [#&#8203;41704](https://github.com/vercel/next.js/issues/41704) - Update CNA app template: [#&#8203;41701](https://github.com/vercel/next.js/issues/41701) - Update font avg: [#&#8203;41734](https://github.com/vercel/next.js/issues/41734) - Enable appDir e2e deploy tests [#&#8203;1](https://github.com/vercel/next.js/issues/1): [#&#8203;41759](https://github.com/vercel/next.js/issues/41759) ##### Credits Huge thanks to [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;HaNdTriX](https://github.com/HaNdTriX), [@&#8203;iKethavel](https://github.com/iKethavel), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;shuding](https://github.com/shuding), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;anthonyshew](https://github.com/anthonyshew), [@&#8203;TomerAberbach](https://github.com/TomerAberbach), [@&#8203;philippbosch](https://github.com/philippbosch), [@&#8203;styfle](https://github.com/styfle), [@&#8203;mauriciomutte](https://github.com/mauriciomutte), [@&#8203;hayitsdavid](https://github.com/hayitsdavid), [@&#8203;abdennor](https://github.com/abdennor), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;cjdunteman](https://github.com/cjdunteman), [@&#8203;Mr-Afonso](https://github.com/Mr-Afonso), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;jaril](https://github.com/jaril), [@&#8203;abdallah-nour](https://github.com/abdallah-nour), [@&#8203;North15](https://github.com/North15), [@&#8203;feedthejim](https://github.com/feedthejim), [@&#8203;brunocrosier](https://github.com/brunocrosier), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;sedlukha](https://github.com/sedlukha), [@&#8203;hashlash](https://github.com/hashlash), [@&#8203;Ethan-Arrowood](https://github.com/Ethan-Arrowood), [@&#8203;fireairforce](https://github.com/fireairforce), [@&#8203;migueloller](https://github.com/migueloller), [@&#8203;leerob](https://github.com/leerob), [@&#8203;janicklas-ralph](https://github.com/janicklas-ralph), [@&#8203;Trystanr](https://github.com/Trystanr), [@&#8203;atilafassina](https://github.com/atilafassina), [@&#8203;nramkissoon](https://github.com/nramkissoon), [@&#8203;kasperadk](https://github.com/kasperadk), [@&#8203;valcosmos](https://github.com/valcosmos), [@&#8203;henriqueholtz](https://github.com/henriqueholtz), [@&#8203;nip10](https://github.com/nip10), [@&#8203;jesstelford](https://github.com/jesstelford), [@&#8203;lorensr](https://github.com/lorensr), [@&#8203;AviAvinav](https://github.com/AviAvinav), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;jaycedotbin](https://github.com/jaycedotbin), [@&#8203;saurabhburade](https://github.com/saurabhburade), [@&#8203;notrab](https://github.com/notrab), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;sanruiz](https://github.com/sanruiz), [@&#8203;angeloashmore](https://github.com/angeloashmore), [@&#8203;falsepopsky](https://github.com/falsepopsky), [@&#8203;fmontes](https://github.com/fmontes), [@&#8203;Gebov](https://github.com/Gebov), [@&#8203;UltiRequiem](https://github.com/UltiRequiem), [@&#8203;p13lgst](https://github.com/p13lgst), [@&#8203;Simek](https://github.com/Simek), [@&#8203;mrkldshv](https://github.com/mrkldshv), [@&#8203;thomasballinger](https://github.com/thomasballinger), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;AdarshKonchady](https://github.com/AdarshKonchady), [@&#8203;endymion1818](https://github.com/endymion1818), [@&#8203;pedro757](https://github.com/pedro757), [@&#8203;perkinsjr](https://github.com/perkinsjr), [@&#8203;gnoff](https://github.com/gnoff), [@&#8203;jridgewell](https://github.com/jridgewell), [@&#8203;silvioprog](https://github.com/silvioprog), [@&#8203;mabels](https://github.com/mabels), [@&#8203;nialexsan](https://github.com/nialexsan), [@&#8203;feugy](https://github.com/feugy), [@&#8203;jackromo888](https://github.com/jackromo888), [@&#8203;crazyurus](https://github.com/crazyurus), [@&#8203;EarlGeorge](https://github.com/EarlGeorge), [@&#8203;MariaSolOs](https://github.com/MariaSolOs), [@&#8203;lforst](https://github.com/lforst), [@&#8203;maximbaz](https://github.com/maximbaz), [@&#8203;maxam2017](https://github.com/maxam2017), [@&#8203;teobler](https://github.com/teobler), [@&#8203;Nutlope](https://github.com/Nutlope), [@&#8203;sunwoo0706](https://github.com/sunwoo0706), [@&#8203;WestonThayer](https://github.com/WestonThayer), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;Nsttt](https://github.com/Nsttt), [@&#8203;charlypoly](https://github.com/charlypoly), [@&#8203;aprendendofelipe](https://github.com/aprendendofelipe), [@&#8203;sviridoff](https://github.com/sviridoff), [@&#8203;jackton1](https://github.com/jackton1), [@&#8203;nuta](https://github.com/nuta), [@&#8203;Rpaudel379](https://github.com/Rpaudel379), [@&#8203;marcialca](https://github.com/marcialca), [@&#8203;MarDi66](https://github.com/MarDi66), [@&#8203;ismaelrumzan](https://github.com/ismaelrumzan), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;eltociear](https://github.com/eltociear), [@&#8203;hiro0218](https://github.com/hiro0218), [@&#8203;HugoDF](https://github.com/HugoDF), [@&#8203;saulloalmeida](https://github.com/saulloalmeida), [@&#8203;ahhshm](https://github.com/ahhshm), [@&#8203;eve0415](https://github.com/eve0415), and [@&#8203;sokra](https://github.com/sokra) for helping! ### [`v12.3.1`](https://github.com/vercel/next.js/releases/tag/v12.3.1) [Compare Source](https://github.com/vercel/next.js/compare/v12.3.0...v12.3.1) ##### Core Changes - Update react-server-dom-webpack: [#&#8203;40356](https://github.com/vercel/next.js/issues/40356) - Fix flight manifest to include all chunks: [#&#8203;40365](https://github.com/vercel/next.js/issues/40365) - docs: fix typos: [#&#8203;40342](https://github.com/vercel/next.js/issues/40342) - Fix page url for edge routes in app dir: [#&#8203;40361](https://github.com/vercel/next.js/issues/40361) - Subresource Integrity for App Directory: [#&#8203;39729](https://github.com/vercel/next.js/issues/39729) - Stop build warning about `experimental: { esmExternals: 'loose' }`: [#&#8203;40377](https://github.com/vercel/next.js/issues/40377) - Add template and error file types: [#&#8203;39808](https://github.com/vercel/next.js/issues/39808) - Bump styled-jsx for showing displayName: [#&#8203;40411](https://github.com/vercel/next.js/issues/40411) - fix([#&#8203;40388](https://github.com/vercel/next.js/issues/40388)): `next/dynamic` should only add default loading without suspense: [#&#8203;40397](https://github.com/vercel/next.js/issues/40397) - Add missing trace for full reload event: [#&#8203;40393](https://github.com/vercel/next.js/issues/40393) - feat(ts): expose `AppType`: [#&#8203;40391](https://github.com/vercel/next.js/issues/40391) - Update dev watcher to ignore more accurately: [#&#8203;40412](https://github.com/vercel/next.js/issues/40412) - Add failing case for location throw: [#&#8203;40445](https://github.com/vercel/next.js/issues/40445) - Drop legacy RSC handling in client for pages: [#&#8203;40472](https://github.com/vercel/next.js/issues/40472) - fix: eslint no-script-component-in-head error url: [#&#8203;40422](https://github.com/vercel/next.js/issues/40422) - chore: Update swc: [#&#8203;40292](https://github.com/vercel/next.js/issues/40292) - feat(edge): allows configuring Dynamic code execution guard: [#&#8203;39539](https://github.com/vercel/next.js/issues/39539) - Rename allowDynamic to unstable_allowDynamic: [#&#8203;40496](https://github.com/vercel/next.js/issues/40496) - Don't execute prefetches for bot user agents: [#&#8203;40435](https://github.com/vercel/next.js/issues/40435) - Update semver of eslint-plugin-react: [#&#8203;40246](https://github.com/vercel/next.js/issues/40246) - Clean up startTransition in Link: [#&#8203;40505](https://github.com/vercel/next.js/issues/40505) - docs(README): next.js logo with dark mode: [#&#8203;40223](https://github.com/vercel/next.js/issues/40223) - Passing down original sourcemap for flight client loader: [#&#8203;40508](https://github.com/vercel/next.js/issues/40508) - next/script: make `onLoad` concurrent rendering resilient: [#&#8203;40191](https://github.com/vercel/next.js/issues/40191) - chore: Update swc: [#&#8203;40520](https://github.com/vercel/next.js/issues/40520) - Add missing feature in next-swc: [#&#8203;40550](https://github.com/vercel/next.js/issues/40550) - Mask Flight Parameters from Middleware: [#&#8203;39939](https://github.com/vercel/next.js/issues/39939) - Unwrap promise with experimental_use: [#&#8203;40575](https://github.com/vercel/next.js/issues/40575) - fix(next/router): Prevent query delete in routing when next.config basePath option is truthy: [#&#8203;40566](https://github.com/vercel/next.js/issues/40566) - fix(image): handle image imports with high aspect ratio: [#&#8203;40563](https://github.com/vercel/next.js/issues/40563) - fix: loosen webpack compilation with `fallbackNodePolyfills: false`: [#&#8203;40612](https://github.com/vercel/next.js/issues/40612) - Adding experimentalAdjustFallback feature to font optimization: [#&#8203;40185](https://github.com/vercel/next.js/issues/40185) - fix: handle `notFound: true` in `/` with `next export`: [#&#8203;40592](https://github.com/vercel/next.js/issues/40592) - refactor: split up `CONTRIBUTING.md`: [#&#8203;40515](https://github.com/vercel/next.js/issues/40515) - Implement SWC transformer for server and client graphs: [#&#8203;40603](https://github.com/vercel/next.js/issues/40603) - Fix edge wasm handling during deploy: [#&#8203;40625](https://github.com/vercel/next.js/issues/40625) - Client directive: [#&#8203;40415](https://github.com/vercel/next.js/issues/40415) - Remove internal client next api detection: [#&#8203;40646](https://github.com/vercel/next.js/issues/40646) - Attach module trace for RSC related errors: [#&#8203;40652](https://github.com/vercel/next.js/issues/40652) - Use createFromFetch instead of createFromReadableStream to fetch Flight: [#&#8203;40656](https://github.com/vercel/next.js/issues/40656) - Change Flight response content type to application/octet-stream: [#&#8203;40665](https://github.com/vercel/next.js/issues/40665) - Send web vitals to Vercel analytics in app: [#&#8203;40669](https://github.com/vercel/next.js/issues/40669) - Refactor fetchServerResponse: [#&#8203;40674](https://github.com/vercel/next.js/issues/40674) - Port page and layout level API assertions to SWC transform: [#&#8203;40653](https://github.com/vercel/next.js/issues/40653) - Ensure smooth scroll is disabled for navigation in new and existing router: [#&#8203;40642](https://github.com/vercel/next.js/issues/40642) - Upgrade to latest React experimental: [#&#8203;40672](https://github.com/vercel/next.js/issues/40672) - Refine error messages: [#&#8203;40661](https://github.com/vercel/next.js/issues/40661) - Incldue styled-jsx in swc compiling: [#&#8203;40679](https://github.com/vercel/next.js/issues/40679) - misc: update caniuse-lite to latest: [#&#8203;40680](https://github.com/vercel/next.js/issues/40680) - Remove non existed exports and files: [#&#8203;40685](https://github.com/vercel/next.js/issues/40685) - fix(image): preload should respect crossOrigin: [#&#8203;40676](https://github.com/vercel/next.js/issues/40676) - Add handling for static generation in app: [#&#8203;40561](https://github.com/vercel/next.js/issues/40561) - Avoid direct React client API imports in the server graph: [#&#8203;40686](https://github.com/vercel/next.js/issues/40686) - Drop legacy RSC server and client extension: [#&#8203;40692](https://github.com/vercel/next.js/issues/40692) ##### Documentation Changes - docs: fix middleware path: [#&#8203;40340](https://github.com/vercel/next.js/issues/40340) - Fix mdx docs: [#&#8203;40402](https://github.com/vercel/next.js/issues/40402) - Update Server Components documentation.: [#&#8203;40452](https://github.com/vercel/next.js/issues/40452) - docs: move `swcMinify: true` out of "Experimental features" section: [#&#8203;40394](https://github.com/vercel/next.js/issues/40394) - Clarify use of `loading` property: [#&#8203;40488](https://github.com/vercel/next.js/issues/40488) - docs(errors/large-page-data): how to see data being passed to page: [#&#8203;40491](https://github.com/vercel/next.js/issues/40491) - docs(basic-features/script): update script version history: [#&#8203;40263](https://github.com/vercel/next.js/issues/40263) - Added "negative matcher" documentation: [#&#8203;40282](https://github.com/vercel/next.js/issues/40282) - Fix a typo in docs: [#&#8203;40501](https://github.com/vercel/next.js/issues/40501) ##### Example Changes - chore: fix examples: [#&#8203;40395](https://github.com/vercel/next.js/issues/40395) - chore(examples): update turborepo examples link: [#&#8203;40487](https://github.com/vercel/next.js/issues/40487) - update(examples): Emotion modules: [#&#8203;40242](https://github.com/vercel/next.js/issues/40242) - Added comments to middleware-matcher example: [#&#8203;40273](https://github.com/vercel/next.js/issues/40273) - Remove legacy mobx example: [#&#8203;40304](https://github.com/vercel/next.js/issues/40304) - Update cms-makeswift example: [#&#8203;40560](https://github.com/vercel/next.js/issues/40560) - Fixed typo: [#&#8203;40608](https://github.com/vercel/next.js/issues/40608) - Revert "Fixed typo": [#&#8203;40623](https://github.com/vercel/next.js/issues/40623) - chore: Migrate with-prefetching example to typescript: [#&#8203;40671](https://github.com/vercel/next.js/issues/40671) - chore: Refactor active-class-name example: [#&#8203;40670](https://github.com/vercel/next.js/issues/40670) - docs(examples): fix error connection handling: [#&#8203;40633](https://github.com/vercel/next.js/issues/40633) ##### Misc Changes - Temporarily disable unstable app test: [#&#8203;40408](https://github.com/vercel/next.js/issues/40408) - docs(middleware): fix broken link - chore: use `link:` instead of `file:` in CONTRIBUTING.md: [#&#8203;40510](https://github.com/vercel/next.js/issues/40510) - add Balázs as codeowner to `/errors/` directory - fix(cli): tune filter for extracting example `.tar`: [#&#8203;40513](https://github.com/vercel/next.js/issues/40513) - Add additional tests for prefetch and trailingSlash: [#&#8203;40517](https://github.com/vercel/next.js/issues/40517) - Wrap parallel routes tests in describe: [#&#8203;40546](https://github.com/vercel/next.js/issues/40546) - fix([#&#8203;40025](https://github.com/vercel/next.js/issues/40025)): run `next/script` beforeInteractive test in both dev & prod: [#&#8203;40541](https://github.com/vercel/next.js/issues/40541) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;shuding](https://github.com/shuding), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;jasham](https://github.com/jasham), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;rubytree33](https://github.com/rubytree33), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;andrewrjohn](https://github.com/andrewrjohn), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;leerob](https://github.com/leerob), [@&#8203;Djo1e](https://github.com/Djo1e), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;msafi](https://github.com/msafi), [@&#8203;tknickman](https://github.com/tknickman), [@&#8203;feugy](https://github.com/feugy), [@&#8203;cramforce](https://github.com/cramforce), [@&#8203;ryparker](https://github.com/ryparker), [@&#8203;victorboucher](https://github.com/victorboucher), [@&#8203;steven-tey](https://github.com/steven-tey), [@&#8203;JDansercoer](https://github.com/JDansercoer), [@&#8203;janklimo](https://github.com/janklimo), [@&#8203;hiro0218](https://github.com/hiro0218), [@&#8203;HaNdTriX](https://github.com/HaNdTriX), [@&#8203;migueloller](https://github.com/migueloller), [@&#8203;flex-kyunghwa](https://github.com/flex-kyunghwa), [@&#8203;saalimzafar](https://github.com/saalimzafar), [@&#8203;alxhotel](https://github.com/alxhotel), [@&#8203;janicklas-ralph](https://github.com/janicklas-ralph), [@&#8203;feedthejim](https://github.com/feedthejim), and [@&#8203;chornos13](https://github.com/chornos13) for helping! ### [`v12.3.0`](https://github.com/vercel/next.js/releases/tag/v12.3.0) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.6...v12.3.0) ##### Core Changes - Refactor client entry plugin to separate methods.: [#&#8203;39162](https://github.com/vercel/next.js/issues/39162) - Eliminate path polyfill and incremental-cache from base server: [#&#8203;39548](https://github.com/vercel/next.js/issues/39548) - Remove precopied styled-jsx: [#&#8203;39520](https://github.com/vercel/next.js/issues/39520) - Refactor handling of addPageEntry promise: [#&#8203;39547](https://github.com/vercel/next.js/issues/39547) - Support multiple flush effects: [#&#8203;39559](https://github.com/vercel/next.js/issues/39559) - Eliminate Amp in Edge runtime: [#&#8203;39560](https://github.com/vercel/next.js/issues/39560) - Rename page -> entry in on-demand-entry-handler: [#&#8203;39564](https://github.com/vercel/next.js/issues/39564) - Update .env HMR handling: [#&#8203;39566](https://github.com/vercel/next.js/issues/39566) - Fix failing switchable runtime deploy test: [#&#8203;39579](https://github.com/vercel/next.js/issues/39579) - Fix Edge SSR routes: [#&#8203;39594](https://github.com/vercel/next.js/issues/39594) - Support tsconfig paths without baseurl: [#&#8203;34926](https://github.com/vercel/next.js/issues/34926) - Enable [@&#8203;typescript-eslint/no-use-before-define](https://github.com/typescript-eslint/no-use-before-define) for functions: [#&#8203;39602](https://github.com/vercel/next.js/issues/39602) - Remove minify: false for webpack5 bundle: [#&#8203;39620](https://github.com/vercel/next.js/issues/39620) - Next Server code refactoring: [#&#8203;39591](https://github.com/vercel/next.js/issues/39591) - Eliminate path and utils from base server: [#&#8203;39622](https://github.com/vercel/next.js/issues/39622) - Remove webpack4 types: [#&#8203;39631](https://github.com/vercel/next.js/issues/39631) - Enable additional TypeScript ESLint rules: [#&#8203;39640](https://github.com/vercel/next.js/issues/39640) - fix(next/dynamic): handle template literal import path: [#&#8203;39623](https://github.com/vercel/next.js/issues/39623) - Add comment on slash normalizing in server: [#&#8203;39653](https://github.com/vercel/next.js/issues/39653) - Refactor base server: [#&#8203;39649](https://github.com/vercel/next.js/issues/39649) - Add separate entry per layout/page.: [#&#8203;39611](https://github.com/vercel/next.js/issues/39611) - fix(next-server): Fix priority for edge routes : [#&#8203;39462](https://github.com/vercel/next.js/issues/39462) - Add todo for dependsOn: [#&#8203;39677](https://github.com/vercel/next.js/issues/39677) - Improved server CSS handling: [#&#8203;39664](https://github.com/vercel/next.js/issues/39664) - feat(next-swc): Update swc: [#&#8203;39499](https://github.com/vercel/next.js/issues/39499) - fix next-app-loader on windows: [#&#8203;39657](https://github.com/vercel/next.js/issues/39657) - fix(swc/emotion): Correct the `SPACE_AROUND_COLON` regex: [#&#8203;39710](https://github.com/vercel/next.js/issues/39710) - fix([#&#8203;39609](https://github.com/vercel/next.js/issues/39609)): warns about suspense and ssr: [#&#8203;39676](https://github.com/vercel/next.js/issues/39676) - Use realpath when emitting traced package.json: [#&#8203;39683](https://github.com/vercel/next.js/issues/39683) - fix([#&#8203;39706](https://github.com/vercel/next.js/issues/39706)): add avif support for node serve static: [#&#8203;39733](https://github.com/vercel/next.js/issues/39733) - fix(next): Do not display message when middleware is removed on dev mode: [#&#8203;39604](https://github.com/vercel/next.js/issues/39604) - refactor(portal): remove useRef from portal component: [#&#8203;39792](https://github.com/vercel/next.js/issues/39792) - refactor(use-intersection): remove useRef usage: [#&#8203;39791](https://github.com/vercel/next.js/issues/39791) - allow Edge Functions to stream a compressed `fetch` response: [#&#8203;39608](https://github.com/vercel/next.js/issues/39608) - fix meaninglessFileNames type in compiler options schema: [#&#8203;39698](https://github.com/vercel/next.js/issues/39698) - build: upgrade edge-runtime: [#&#8203;39749](https://github.com/vercel/next.js/issues/39749) - Update stalled ensure log to use debug instead: [#&#8203;39826](https://github.com/vercel/next.js/issues/39826) - Skip building /500 in dev mode: [#&#8203;39828](https://github.com/vercel/next.js/issues/39828) - Fix `onError` handling in `next/future/image`: [#&#8203;39824](https://github.com/vercel/next.js/issues/39824) - Improve error message on `next/future/image` when `objectFit` or `objectPosition`: [#&#8203;39614](https://github.com/vercel/next.js/issues/39614) - Refactor client CSS imports: [#&#8203;39758](https://github.com/vercel/next.js/issues/39758) - Ensure moduleResolution is written correctly: [#&#8203;39836](https://github.com/vercel/next.js/issues/39836) - Fix disposing active entries in dev compilers: [#&#8203;39845](https://github.com/vercel/next.js/issues/39845) - fix([#&#8203;39807](https://github.com/vercel/next.js/issues/39807)): ignore width/height from webpack with "fill": [#&#8203;39849](https://github.com/vercel/next.js/issues/39849) - Add handling for auto installing TypeScript deps and HMRing tsconfig: [#&#8203;39838](https://github.com/vercel/next.js/issues/39838) - Remove eslint warning when no eslint config is present: [#&#8203;39872](https://github.com/vercel/next.js/issues/39872) - feat(next/swc): enable wasm first binding load for the platforms: [#&#8203;38883](https://github.com/vercel/next.js/issues/38883) - Fix `next/future/image` blur-up placeholder : [#&#8203;39785](https://github.com/vercel/next.js/issues/39785) - Fix runLintCheck during build: [#&#8203;39883](https://github.com/vercel/next.js/issues/39883) - Skip auto-install for missing deps in CI: [#&#8203;39882](https://github.com/vercel/next.js/issues/39882) - Remove un-necessary internal jest-worker error during ts/lint error: [#&#8203;39886](https://github.com/vercel/next.js/issues/39886) - Bump `@vercel/nft@0.22.0`: [#&#8203;39906](https://github.com/vercel/next.js/issues/39906) - Handle edge runtime for app: [#&#8203;39910](https://github.com/vercel/next.js/issues/39910) - build: upgrade edge-runtime: [#&#8203;39898](https://github.com/vercel/next.js/issues/39898) - HMR for client CSS imports: [#&#8203;39916](https://github.com/vercel/next.js/issues/39916) - fix(ts): use `AppProps`'s generic for `pageProps`: [#&#8203;38867](https://github.com/vercel/next.js/issues/38867) - Treat non page file as non route under app dir: [#&#8203;39976](https://github.com/vercel/next.js/issues/39976) - Fix `next/future/image` incorrectly warning for `fill` + `blur`: [#&#8203;39986](https://github.com/vercel/next.js/issues/39986) - Ensure prefetch heuristic matches with and without middleware: [#&#8203;39920](https://github.com/vercel/next.js/issues/39920) - feat: add `experimental.fallbackNodePolyfills` flag: [#&#8203;39248](https://github.com/vercel/next.js/issues/39248) - Fix incorrect build log for moduleResolution: [#&#8203;39991](https://github.com/vercel/next.js/issues/39991) - fix([#&#8203;39993](https://github.com/vercel/next.js/issues/39993)): avoid race condition for next/script onReady: [#&#8203;40002](https://github.com/vercel/next.js/issues/40002) - Avoid bundling `next/script` in the server build by default: [#&#8203;40013](https://github.com/vercel/next.js/issues/40013) - Handle async module for client components: [#&#8203;39953](https://github.com/vercel/next.js/issues/39953) - Upgrade typescript to 4.8.2: [#&#8203;39979](https://github.com/vercel/next.js/issues/39979) - Remove Unused SQLite file: [#&#8203;40056](https://github.com/vercel/next.js/issues/40056) - Update `next/future/image` to use svg blur placeholder during `next dev`: [#&#8203;39992](https://github.com/vercel/next.js/issues/39992) - Remove `<noscript>` from `next/future/image`: [#&#8203;40075](https://github.com/vercel/next.js/issues/40075) - Fix `filePath` being wrongly stringified: [#&#8203;40070](https://github.com/vercel/next.js/issues/40070) - Refactor Server Router: [#&#8203;39902](https://github.com/vercel/next.js/issues/39902) - Update to detect GSSP with edge runtime during build: [#&#8203;40076](https://github.com/vercel/next.js/issues/40076) - Fix handling with custom \_error and pages/500: [#&#8203;40110](https://github.com/vercel/next.js/issues/40110) - Fix edge rewrite handling: [#&#8203;40115](https://github.com/vercel/next.js/issues/40115) - Error for ssg and ssr exports from client components in build time: [#&#8203;40106](https://github.com/vercel/next.js/issues/40106) - feat(next): Support has match and locale option on middleware config: [#&#8203;39257](https://github.com/vercel/next.js/issues/39257) - Change `alt` to required in `next/future/image`: [#&#8203;40136](https://github.com/vercel/next.js/issues/40136) - Allow port 0 in `next dev` and `next start`: [#&#8203;40118](https://github.com/vercel/next.js/issues/40118) - Update to stable: `next/future/image`, `remotePatterns`, `unoptimized`: [#&#8203;40142](https://github.com/vercel/next.js/issues/40142) - fix([#&#8203;40066](https://github.com/vercel/next.js/issues/40066)): preserve error status code from serveStatic: [#&#8203;40128](https://github.com/vercel/next.js/issues/40128) - fix: detect ESLint config in package.json: [#&#8203;40158](https://github.com/vercel/next.js/issues/40158) - ignore EEXIST errors when creating symlinks for output standalone: [#&#8203;40150](https://github.com/vercel/next.js/issues/40150) - Bump `@vercel/nft@0.22.1`: [#&#8203;40164](https://github.com/vercel/next.js/issues/40164) - Bump styled-jsx: [#&#8203;40165](https://github.com/vercel/next.js/issues/40165) - Match data fetch and busting cache key when path URI encodes: [#&#8203;39568](https://github.com/vercel/next.js/issues/39568) - Updating the Next.js Logo: [#&#8203;40181](https://github.com/vercel/next.js/issues/40181) - next/script: simplify logic and update tests: [#&#8203;40026](https://github.com/vercel/next.js/issues/40026) - Bypass empty pages folder for layouts: [#&#8203;40132](https://github.com/vercel/next.js/issues/40132) - chore: Update swc: [#&#8203;39965](https://github.com/vercel/next.js/issues/39965) - Fix styled-jsx macro imports: [#&#8203;40234](https://github.com/vercel/next.js/issues/40234) - Ensure path can be specified for clearPreviewData: [#&#8203;40238](https://github.com/vercel/next.js/issues/40238) - fix: apply default export interop to `next/config`: [#&#8203;40224](https://github.com/vercel/next.js/issues/40224) - Improved route resolution in next-app-loader: [#&#8203;40109](https://github.com/vercel/next.js/issues/40109) - Add prefetch to new router: [#&#8203;39866](https://github.com/vercel/next.js/issues/39866) - Update `next/future/image` to support only `width` or only `height`: [#&#8203;40278](https://github.com/vercel/next.js/issues/40278) - Add experimental proxy timeout option: [#&#8203;40289](https://github.com/vercel/next.js/issues/40289) - Fix static info parsing when export data fetching method as variable: [#&#8203;40317](https://github.com/vercel/next.js/issues/40317) - fix(switchable-runtime): make dev server not break when wrong runtime config is exported: [#&#8203;40312](https://github.com/vercel/next.js/issues/40312) - Revert "Refactor Server Router": [#&#8203;40328](https://github.com/vercel/next.js/issues/40328) - fix(switchable-runtime): Make it possible to switch between edge and server runtime in dev: [#&#8203;39327](https://github.com/vercel/next.js/issues/39327) - Revert "Revert "Refactor Server Router" ([#&#8203;40328](https://github.com/vercel/next.js/issues/40328))" : [#&#8203;40333](https://github.com/vercel/next.js/issues/40333) - refactor(next/swc): remove unnecessary field in `RemoveConsole`: [#&#8203;40296](https://github.com/vercel/next.js/issues/40296) - \[edge] fix URLSearchParams lacking data from rewrite: [#&#8203;40260](https://github.com/vercel/next.js/issues/40260) - fix(lint): disable `react/no-unknown-property`: [#&#8203;40331](https://github.com/vercel/next.js/issues/40331) - Update `onLoadingComplete` for `next/future/image` to receive reference to `<img>`: [#&#8203;40326](https://github.com/vercel/next.js/issues/40326) - Remove warning for swcMinify being enabled: [#&#8203;40359](https://github.com/vercel/next.js/issues/40359) ##### Documentation Changes - docs: Rename API middlewares title in sidebar: [#&#8203;39534](https://github.com/vercel/next.js/issues/39534) - \[docs] Avoid next config validation warning: [#&#8203;39554](https://github.com/vercel/next.js/issues/39554) - Update strategies count to 4: [#&#8203;39610](https://github.com/vercel/next.js/issues/39610) - Change the React Server Components CTA to the router/layout RFC: [#&#8203;39724](https://github.com/vercel/next.js/issues/39724) - Add section to `next/future/image` docs about Known Browser Bugs: [#&#8203;39759](https://github.com/vercel/next.js/issues/39759) - Update next.js.configs line number: [#&#8203;39802](https://github.com/vercel/next.js/issues/39802) - Add note about using the /\_error page directly to custom error page article: [#&#8203;39671](https://github.com/vercel/next.js/issues/39671) - Typescript Documentation Improvement for Persistent Layouts: [#&#8203;33659](https://github.com/vercel/next.js/issues/33659) - Add clarity in docs for using `exportPathMap` with `getStaticPaths`: [#&#8203;39813](https://github.com/vercel/next.js/issues/39813) - Update links to point to more accurate docs: [#&#8203;39818](https://github.com/vercel/next.js/issues/39818) - Update docs `next/future/image` with details about computed aspect ratio: [#&#8203;39829](https://github.com/vercel/next.js/issues/39829) - Mention router.isPreview on Preview Mode page: [#&#8203;39830](https://github.com/vercel/next.js/issues/39830) - doc: improve a word client side rendering: [#&#8203;39771](https://github.com/vercel/next.js/issues/39771) - Docs: Updated note about using next/head in basic-features/font-optimization: [#&#8203;39863](https://github.com/vercel/next.js/issues/39863) - \[docs] Fixed 404 links to Layouts RFC blog post: [#&#8203;39937](https://github.com/vercel/next.js/issues/39937) - Adds note about custom server requirements: [#&#8203;39931](https://github.com/vercel/next.js/issues/39931) - fix hash-link: [#&#8203;39929](https://github.com/vercel/next.js/issues/39929) - Mention `largePageDataBytes` in warning docs: [#&#8203;39941](https://github.com/vercel/next.js/issues/39941) - Update Font Optimization docs: [#&#8203;39950](https://github.com/vercel/next.js/issues/39950) - \[docs] Update UTM params of some links: [#&#8203;39951](https://github.com/vercel/next.js/issues/39951) - Revert "Adds note about custom server requirements": [#&#8203;39956](https://github.com/vercel/next.js/issues/39956) - Update image.md: [#&#8203;39984](https://github.com/vercel/next.js/issues/39984) - Update `script.md`: [#&#8203;40017](https://github.com/vercel/next.js/issues/40017) - \[docs] Add precision about `pageExtensions`: [#&#8203;40016](https://github.com/vercel/next.js/issues/40016) - Update debugging.md (--dev -> --save-dev for npm): [#&#8203;39998](https://github.com/vercel/next.js/issues/39998) - docs(testing): add JSDoc typing in `jest.config.js`: [#&#8203;40090](https://github.com/vercel/next.js/issues/40090) - docs(image): Use hook inside of function component: [#&#8203;40096](https://github.com/vercel/next.js/issues/40096) - docs(security-headers): interest-cohort has been replaced by browsing-topics: [#&#8203;40113](https://github.com/vercel/next.js/issues/40113) - \[docs] Functional syntax for \_document example in Basic Features: Font Optimization: [#&#8203;40140](https://github.com/vercel/next.js/issues/40140) - Fix typo in error/middleware-upgrade-guide.md: [#&#8203;40176](https://github.com/vercel/next.js/issues/40176) - docs: documents middleware matcher: [#&#8203;40180](https://github.com/vercel/next.js/issues/40180) - docs: update get-static-paths.md: [#&#8203;40205](https://github.com/vercel/next.js/issues/40205) - Change image sizes docs to use em instead of px: [#&#8203;40288](https://github.com/vercel/next.js/issues/40288) - Change sizes docs to use max-width in media query: [#&#8203;40290](https://github.com/vercel/next.js/issues/40290) - docs: fix numbering in middleware docs: [#&#8203;40276](https://github.com/vercel/next.js/issues/40276) - Update docs for `remotePatterns` image config: [#&#8203;40350](https://github.com/vercel/next.js/issues/40350) - docs: fix typo: [#&#8203;40354](https://github.com/vercel/next.js/issues/40354) ##### Example Changes - docs(examples): use vercel integration in cms-sanity: [#&#8203;39323](https://github.com/vercel/next.js/issues/39323) - Typo : [#&#8203;39596](https://github.com/vercel/next.js/issues/39596) - Update Convex Example: [#&#8203;39562](https://github.com/vercel/next.js/issues/39562) - Update with-loading example: [#&#8203;39646](https://github.com/vercel/next.js/issues/39646) - \[Docs] Update with-slate example: [#&#8203;39639](https://github.com/vercel/next.js/issues/39639) - Tweak Convex example: [#&#8203;39739](https://github.com/vercel/next.js/issues/39739) - examples/with-redux-thunk , update README ([#&#8203;39555](https://github.com/vercel/next.js/issues/39555)): [#&#8203;39712](https://github.com/vercel/next.js/issues/39712) - \[Docs] Update mongodb example: [#&#8203;39658](https://github.com/vercel/next.js/issues/39658) - Convert with-goober example to TS: [#&#8203;39761](https://github.com/vercel/next.js/issues/39761) - \[docs] Migrate dynamic routing example to typescript: [#&#8203;39806](https://github.com/vercel/next.js/issues/39806) - Remove unnecessary type reference in Vitest example: [#&#8203;39819](https://github.com/vercel/next.js/issues/39819) - Update cms-makeswift example: [#&#8203;39834](https://github.com/vercel/next.js/issues/39834) - Migrate data-fetch example to typescript: [#&#8203;39852](https://github.com/vercel/next.js/issues/39852) - \[Docs] Update examples to favour functional \_document: [#&#8203;39871](https://github.com/vercel/next.js/issues/39871) - chore(with-docker): don't copy package.json twice: [#&#8203;39896](https://github.com/vercel/next.js/issues/39896) - Prefer function \_app component in examples: [#&#8203;39967](https://github.com/vercel/next.js/issues/39967) - Migrate with-xstate to typescript: [#&#8203;39974](https://github.com/vercel/next.js/issues/39974) - Use Font Optimization in examples: [#&#8203;39977](https://github.com/vercel/next.js/issues/39977) - Add local setup info in the with-supabase-auth-realtime-db example's README: [#&#8203;40030](https://github.com/vercel/next.js/issues/40030) - Remove semi in Convex example: [#&#8203;40052](https://github.com/vercel/next.js/issues/40052) - Refactored the with-supertokens example to use typescript: [#&#8203;39987](https://github.com/vercel/next.js/issues/39987) - Add config types to all examples: [#&#8203;40083](https://github.com/vercel/next.js/issues/40083) - adding with-axiom example: [#&#8203;38300](https://github.com/vercel/next.js/issues/38300) - Update Convex example to convex 0.1.9: [#&#8203;40162](https://github.com/vercel/next.js/issues/40162) - Remove extra "d" in comment: [#&#8203;40212](https://github.com/vercel/next.js/issues/40212) - fix(examples/with-styled-components-babel): list should have unique key: [#&#8203;40215](https://github.com/vercel/next.js/issues/40215) - Migrate image-component example to typescript: [#&#8203;40204](https://github.com/vercel/next.js/issues/40204) - ref(with-sentry example): Explicitly set `hideSourceMaps`: [#&#8203;40079](https://github.com/vercel/next.js/issues/40079) - Update next-forms example: [#&#8203;40284](https://github.com/vercel/next.js/issues/40284) - Migrate with-context-api example to typescript: [#&#8203;40297](https://github.com/vercel/next.js/issues/40297) - Migrate with-react-jss to typescript: [#&#8203;40308](https://github.com/vercel/next.js/issues/40308) - Update react-remove-properties example: [#&#8203;40307](https://github.com/vercel/next.js/issues/40307) - Migrate using-preact example to typescript: [#&#8203;40295](https://github.com/vercel/next.js/issues/40295) - added type to clientPromise in with-mongodb/lib: [#&#8203;40339](https://github.com/vercel/next.js/issues/40339) - Remove babel from custom-server-typescript example: [#&#8203;40309](https://github.com/vercel/next.js/issues/40309) - Merge with-mobx-state-tree with with-mobx-state-tree-typescript example: [#&#8203;40306](https://github.com/vercel/next.js/issues/40306) - Fix `image-component` example types: [#&#8203;40352](https://github.com/vercel/next.js/issues/40352) ##### Misc Changes - Fix preinstall failed in yarn@1.x on FreeBSD with npm@8.17: [#&#8203;39529](https://github.com/vercel/next.js/issues/39529) - Add edge ssr to pr stats: [#&#8203;39621](https://github.com/vercel/next.js/issues/39621) - Update test failure logging : [#&#8203;39655](https://github.com/vercel/next.js/issues/39655) - Update image tests files from \*.js to \*.ts: [#&#8203;39663](https://github.com/vercel/next.js/issues/39663) - fix(create-app): support github url has trailing slash: [#&#8203;39665](https://github.com/vercel/next.js/issues/39665) - Update contributing.md : [#&#8203;39767](https://github.com/vercel/next.js/issues/39767) - Update ubuntu CI version due to deprecation: [#&#8203;39817](https://github.com/vercel/next.js/issues/39817) - Leverage VERCEL_CLI_VERSION env for deploy tests: [#&#8203;39823](https://github.com/vercel/next.js/issues/39823) - Update flakey relay analytics test: [#&#8203;39877](https://github.com/vercel/next.js/issues/39877) - Added tests for next/router in app directory: [#&#8203;39867](https://github.com/vercel/next.js/issues/39867) - Fix failing e2e getServerSideProps test: [#&#8203;39885](https://github.com/vercel/next.js/issues/39885) - Add path to export-page: [#&#8203;39893](https://github.com/vercel/next.js/issues/39893) - Fix rsc basic e2e test on deploy: [#&#8203;39905](https://github.com/vercel/next.js/issues/39905) - test: merge edge ssr tests: [#&#8203;39924](https://github.com/vercel/next.js/issues/39924) - chore: check against `npm` version in issue validator: [#&#8203;38915](https://github.com/vercel/next.js/issues/38915) - Increase test concurrency: [#&#8203;39922](https://github.com/vercel/next.js/issues/39922) - Fix passing VERCEL_CLI_VERSION env for deploy tests: [#&#8203;39946](https://github.com/vercel/next.js/issues/39946) - test: pin typescript version to 4.7: [#&#8203;39978](https://github.com/vercel/next.js/issues/39978) - (next/mdx) set providerImportSource to react by default: [#&#8203;39954](https://github.com/vercel/next.js/issues/39954) - - Add test for server CSS imports: [#&#8203;40019](https://github.com/vercel/next.js/issues/40019) - Update docker image for stats action: [#&#8203;40032](https://github.com/vercel/next.js/issues/40032) - Update flakey tsconfig test: [#&#8203;40105](https://github.com/vercel/next.js/issues/40105) - fix: scripts comment typos: [#&#8203;40207](https://github.com/vercel/next.js/issues/40207) - fix(cli): do not throw error when extracting examples in Node 18+: [#&#8203;40182](https://github.com/vercel/next.js/issues/40182) - Update to use specific swc version for PR stats: [#&#8203;40237](https://github.com/vercel/next.js/issues/40237) - fix(cli): delete temp file after extraction: [#&#8203;40259](https://github.com/vercel/next.js/issues/40259) - Fix test hydration check in Safari 10.1: [#&#8203;40285](https://github.com/vercel/next.js/issues/40285) - chore: turn off debug mode on issue validator: [#&#8203;40301](https://github.com/vercel/next.js/issues/40301) - Update README.md ##### Credits Huge thanks to [@&#8203;stipsan](https://github.com/stipsan), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;bennettdams](https://github.com/bennettdams), [@&#8203;shuding](https://github.com/shuding), [@&#8203;cherniavskii](https://github.com/cherniavskii), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;thatbeautifuldream](https://github.com/thatbeautifuldream), [@&#8203;Janpot](https://github.com/Janpot), [@&#8203;MoosaSaadat](https://github.com/MoosaSaadat), [@&#8203;alexcole](https://github.com/alexcole), [@&#8203;HaNdTriX](https://github.com/HaNdTriX), [@&#8203;magic-akari](https://github.com/magic-akari), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;styfle](https://github.com/styfle), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;sokra](https://github.com/sokra), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;puneetkathar1](https://github.com/puneetkathar1), [@&#8203;nkzawa](https://github.com/nkzawa), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;greebl3](https://github.com/greebl3), [@&#8203;kasperaamodt](https://github.com/kasperaamodt), [@&#8203;chaseignited](https://github.com/chaseignited), [@&#8203;masad-frost](https://github.com/masad-frost), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;davewelsh](https://github.com/davewelsh), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;adrianbienias](https://github.com/adrianbienias), [@&#8203;michaeloliverx](https://github.com/michaeloliverx), [@&#8203;arthurdenner](https://github.com/arthurdenner), [@&#8203;sumiren](https://github.com/sumiren), [@&#8203;migueloller](https://github.com/migueloller), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;boredland](https://github.com/boredland), [@&#8203;simongavelin](https://github.com/simongavelin), [@&#8203;esbenam](https://github.com/esbenam), [@&#8203;theMosaad](https://github.com/theMosaad), [@&#8203;jleclanche](https://github.com/jleclanche), [@&#8203;leerob](https://github.com/leerob), [@&#8203;AdilAmanat](https://github.com/AdilAmanat), [@&#8203;souporserious](https://github.com/souporserious), [@&#8203;ykdojo](https://github.com/ykdojo), [@&#8203;sanjaiyan-dev](https://github.com/sanjaiyan-dev), [@&#8203;yoannmoinet](https://github.com/yoannmoinet), [@&#8203;thomasballinger](https://github.com/thomasballinger), [@&#8203;titusdmoore](https://github.com/titusdmoore), [@&#8203;jferrettiboke](https://github.com/jferrettiboke), [@&#8203;Dueen](https://github.com/Dueen), [@&#8203;dunglas](https://github.com/dunglas), [@&#8203;KenAKAFrosty](https://github.com/KenAKAFrosty), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;schehata](https://github.com/schehata), [@&#8203;remorses](https://github.com/remorses), [@&#8203;visnup](https://github.com/visnup), [@&#8203;Nutlope](https://github.com/Nutlope), [@&#8203;yhay81](https://github.com/yhay81), [@&#8203;hiro0218](https://github.com/hiro0218), [@&#8203;avigoldman](https://github.com/avigoldman), [@&#8203;feugy](https://github.com/feugy), [@&#8203;jeferson-sb](https://github.com/jeferson-sb), [@&#8203;lobsterkatie](https://github.com/lobsterkatie), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;bcheidemann](https://github.com/bcheidemann), [@&#8203;Will956](https://github.com/Will956), [@&#8203;orionmiz](https://github.com/orionmiz), [@&#8203;S0UPernova](https://github.com/S0UPernova), [@&#8203;cvbuelow](https://github.com/cvbuelow), and [@&#8203;leonzalion](https://github.com/leonzalion) for helping! ### [`v12.2.6`](https://github.com/vercel/next.js/compare/v12.2.5...v12.2.6) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.5...v12.2.6) ### [`v12.2.5`](https://github.com/vercel/next.js/releases/tag/v12.2.5) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.4...v12.2.5) ##### Core Changes - Change invalid internal upstream image error code: [#&#8203;39334](https://github.com/vercel/next.js/issues/39334) - Hoist styles for Route Announcer: [#&#8203;39331](https://github.com/vercel/next.js/issues/39331) - fix: wrong reference url for disableStaticImages: [#&#8203;39362](https://github.com/vercel/next.js/issues/39362) - fix: skip resizing image if it's animated: [#&#8203;39325](https://github.com/vercel/next.js/issues/39325) - Fix catchall rewrites for \_next/data routes: [#&#8203;39370](https://github.com/vercel/next.js/issues/39370) - Fix `next/future/image` alt text: [#&#8203;39366](https://github.com/vercel/next.js/issues/39366) - refactor: add named export in next/server: [#&#8203;39381](https://github.com/vercel/next.js/issues/39381) - fix(ts): More strict Redirect type: [#&#8203;38277](https://github.com/vercel/next.js/issues/38277) - fix(next): dev server starting when importing a file using get-projec…: [#&#8203;38274](https://github.com/vercel/next.js/issues/38274) - Add runtime to PageConfig type: [#&#8203;37453](https://github.com/vercel/next.js/issues/37453) - fix: improve logging for \_devPagesManifest.json loading failures: [#&#8203;38046](https://github.com/vercel/next.js/issues/38046) - Allow custom path for preview mode cookies: [#&#8203;38313](https://github.com/vercel/next.js/issues/38313) - Fix removing whitespacing in dev overlay: [#&#8203;28277](https://github.com/vercel/next.js/issues/28277) - Fix emotion labelFormat and sourcemap options: [#&#8203;39389](https://github.com/vercel/next.js/issues/39389) - Fix emotion shouldForwardProp options breaks component selectors: [#&#8203;39390](https://github.com/vercel/next.js/issues/39390) - next/image imgix loader can use multiple auto params: [#&#8203;34808](https://github.com/vercel/next.js/issues/34808) - Adds `eslint-plugin-eslint-plugin` to ensure `eslint-plugin-next` rules follow ESLint rule best practices along with enforcing some consistency.: [#&#8203;37920](https://github.com/vercel/next.js/issues/37920) - \[ESLint] Adds `--output-file` flag: [#&#8203;36420](https://github.com/vercel/next.js/issues/36420) - Update polyfill for eslint no-unwanted-polyfillio rule: [#&#8203;33170](https://github.com/vercel/next.js/issues/33170) - fix(ts): Middleware type tweaks: [#&#8203;38625](https://github.com/vercel/next.js/issues/38625) - Fix Link generation for SSG pages if locale domains are used: [#&#8203;36818](https://github.com/vercel/next.js/issues/36818) - Setup require hook in next-server for styled-jsx resolving: [#&#8203;39305](https://github.com/vercel/next.js/issues/39305) - fix: ensure trailing slash on registry URL when fetching wasm fallback: [#&#8203;39427](https://github.com/vercel/next.js/issues/39427) - typing: upgrade styled-jsx to remove workaround in build script: [#&#8203;39408](https://github.com/vercel/next.js/issues/39408) - Extract redirect utils into a separate file: [#&#8203;39433](https://github.com/vercel/next.js/issues/39433) - Ensure locale redirects are not applied in minimal mode: [#&#8203;39436](https://github.com/vercel/next.js/issues/39436) - feat(middleware): augments / matcher with /index: [#&#8203;39397](https://github.com/vercel/next.js/issues/39397) - Bump edge-runtime packages: [#&#8203;39450](https://github.com/vercel/next.js/issues/39450) - Ensure default \_app is used when falling back to default \_error: [#&#8203;39467](https://github.com/vercel/next.js/issues/39467) - Handle rewriting WebSocket requests: [#&#8203;39463](https://github.com/vercel/next.js/issues/39463) - App Build Stats: [#&#8203;38884](https://github.com/vercel/next.js/issues/38884) - Tweak styled-jsx type declarations: [#&#8203;39474](https://github.com/vercel/next.js/issues/39474) - FIX GAUSSIAN BLUR IN FUTURE\IMAGE: [#&#8203;39190](https://github.com/vercel/next.js/issues/39190) - Add hot-reloading for env file changes: [#&#8203;38483](https://github.com/vercel/next.js/issues/38483) - feat(next-swc/modularize_imports): Add Kebab case: [#&#8203;38583](https://github.com/vercel/next.js/issues/38583) - Make dev watch ignore more specific: [#&#8203;39504](https://github.com/vercel/next.js/issues/39504) - Bump styled-jsx and remove manual types creation: [#&#8203;39506](https://github.com/vercel/next.js/issues/39506) - Add position styling to future fill images: [#&#8203;39438](https://github.com/vercel/next.js/issues/39438) - fix: ensure hidden iframe apps render in development mode: [#&#8203;39514](https://github.com/vercel/next.js/issues/39514) - Enable [@&#8203;typescript-eslint/no-use-before-define](https://github.com/typescript-eslint/no-use-before-define) variables,enums,typedefs for core files: [#&#8203;39511](https://github.com/vercel/next.js/issues/39511) - Re-add styled-jsx as a normal dependency: [#&#8203;39518](https://github.com/vercel/next.js/issues/39518) ##### Documentation Changes - docs: update When section of getStaticProps page: [#&#8203;39393](https://github.com/vercel/next.js/issues/39393) - Update script.md: [#&#8203;39400](https://github.com/vercel/next.js/issues/39400) - API Routes Request Helpers docs.: [#&#8203;39407](https://github.com/vercel/next.js/issues/39407) - Improve description of `context.query` in `getServerSideProps()`: [#&#8203;39422](https://github.com/vercel/next.js/issues/39422) - Enhance sizes documentation for next/image: [#&#8203;39301](https://github.com/vercel/next.js/issues/39301) - Add component wrapper in sizes documentation code snippet: [#&#8203;39437](https://github.com/vercel/next.js/issues/39437) - Update `router.prefetch` documentation to include `locale` option: [#&#8203;39442](https://github.com/vercel/next.js/issues/39442) - Fix docs path "Invalid getServerSideProps Return Value": [#&#8203;39443](https://github.com/vercel/next.js/issues/39443) - Improve next/future/image Migration docs: [#&#8203;39421](https://github.com/vercel/next.js/issues/39421) ##### Example Changes - Fixed links to supabase examples: [#&#8203;39343](https://github.com/vercel/next.js/issues/39343) - Examples/cms-wordpress migrate to TypeScript: [#&#8203;39250](https://github.com/vercel/next.js/issues/39250) - chore: upgrade example to Docker Compose v2: [#&#8203;39372](https://github.com/vercel/next.js/issues/39372) - fix (examples): Changed the version of next-pwa: [#&#8203;39369](https://github.com/vercel/next.js/issues/39369) - Port 'with-static-export' example to TypeScript: [#&#8203;38268](https://github.com/vercel/next.js/issues/38268) - update examples/custom-server-fastify and replace depreaction: [#&#8203;38269](https://github.com/vercel/next.js/issues/38269) - Land(Update example with-apivideo-upload README): [#&#8203;39391](https://github.com/vercel/next.js/issues/39391) - Fix: broken TypeScript in WordPress example.: [#&#8203;39402](https://github.com/vercel/next.js/issues/39402) - Enable [@&#8203;typescript-eslint/no-use-before-define](https://github.com/typescript-eslint/no-use-before-define) for examples dir: [#&#8203;39469](https://github.com/vercel/next.js/issues/39469) - \[examples] Add on-demand revalidation to Contentful example: [#&#8203;39475](https://github.com/vercel/next.js/issues/39475) - Fixed issues with environment variables for Windows users: [#&#8203;37853](https://github.com/vercel/next.js/issues/37853) - fix(examples/with-wdyr): example config to support SWC: [#&#8203;39465](https://github.com/vercel/next.js/issues/39465) ##### Misc Changes - test: ensure default output is correct: [#&#8203;39358](https://github.com/vercel/next.js/issues/39358) - Fix failing escheck test: [#&#8203;39365](https://github.com/vercel/next.js/issues/39365) - Add yarn 2 Setup Files to Valid Files for create-next-app: [#&#8203;30936](https://github.com/vercel/next.js/issues/30936) - Add Object#fromEntries polyfill (with 6 lines of code): [#&#8203;36426](https://github.com/vercel/next.js/issues/36426) - chore: restores removed tests: [#&#8203;39452](https://github.com/vercel/next.js/issues/39452) - Fix next.config.js overwriting on deploy e2e test: [#&#8203;39476](https://github.com/vercel/next.js/issues/39476) - Update contributing.md to recommend corepack: [#&#8203;39479](https://github.com/vercel/next.js/issues/39479) - Fix swc build for freebsd target: [#&#8203;39478](https://github.com/vercel/next.js/issues/39478) ##### Credits Huge thanks to [@&#8203;pthomas931](https://github.com/pthomas931), [@&#8203;madmed88](https://github.com/madmed88), [@&#8203;sanjaiyan-dev](https://github.com/sanjaiyan-dev), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;DonghyukJacobJang](https://github.com/DonghyukJacobJang), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;chaiwattsw](https://github.com/chaiwattsw), [@&#8203;styfle](https://github.com/styfle), [@&#8203;dunglas](https://github.com/dunglas), [@&#8203;ahkhanjani](https://github.com/ahkhanjani), [@&#8203;promer94](https://github.com/promer94), [@&#8203;terrierscript](https://github.com/terrierscript), [@&#8203;shawncal](https://github.com/shawncal), [@&#8203;insik-han](https://github.com/insik-han), [@&#8203;QuiiBz](https://github.com/QuiiBz), [@&#8203;ykzts](https://github.com/ykzts), [@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg), [@&#8203;lucasassisrosa](https://github.com/lucasassisrosa), [@&#8203;dikwickley](https://github.com/dikwickley), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;sicarius97](https://github.com/sicarius97), [@&#8203;FourwingsY](https://github.com/FourwingsY), [@&#8203;manovotny](https://github.com/manovotny), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;pepoeverton](https://github.com/pepoeverton), [@&#8203;jdeniau](https://github.com/jdeniau), [@&#8203;sumiren](https://github.com/sumiren), [@&#8203;anthonyshew](https://github.com/anthonyshew), [@&#8203;pekarja5](https://github.com/pekarja5), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;leerob](https://github.com/leerob), [@&#8203;fediev](https://github.com/fediev), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;shuding](https://github.com/shuding), [@&#8203;feugy](https://github.com/feugy), [@&#8203;jonohewitt](https://github.com/jonohewitt), [@&#8203;zakiego](https://github.com/zakiego), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;X7Becka](https://github.com/X7Becka), [@&#8203;nnnnoel](https://github.com/nnnnoel), [@&#8203;dcdev67](https://github.com/dcdev67), [@&#8203;alvinometric](https://github.com/alvinometric), [@&#8203;timothympace](https://github.com/timothympace), and [@&#8203;jeferson-sb](https://github.com/jeferson-sb) for helping! ### [`v12.2.4`](https://github.com/vercel/next.js/releases/tag/v12.2.4) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.3...v12.2.4) ##### Core Changes - Fix error message typos: [#&#8203;38894](https://github.com/vercel/next.js/issues/38894) - Update to latest version of [@&#8203;vercel/nft](https://github.com/vercel/nft): [#&#8203;38878](https://github.com/vercel/next.js/issues/38878) - fix([#&#8203;38090](https://github.com/vercel/next.js/issues/38090)): add missing `analyticsId` to config schema: [#&#8203;38911](https://github.com/vercel/next.js/issues/38911) - Ensure hash on initial request is preserved in new router: [#&#8203;38913](https://github.com/vercel/next.js/issues/38913) - Remove unnecessary assertions: [#&#8203;38899](https://github.com/vercel/next.js/issues/38899) - Clear unnecessary code: [#&#8203;38900](https://github.com/vercel/next.js/issues/38900) - fix: Impl `attachRequestMeta` in base server to handle meta differently in edge and node servers: [#&#8203;38932](https://github.com/vercel/next.js/issues/38932) - feat: enhance warning messages about unanalyzable `config` field: [#&#8203;38907](https://github.com/vercel/next.js/issues/38907) - fix: fix generateEtags type inside schema: [#&#8203;38936](https://github.com/vercel/next.js/issues/38936) - Refactor router reducer: [#&#8203;38983](https://github.com/vercel/next.js/issues/38983) - Add state comparison to router: [#&#8203;38422](https://github.com/vercel/next.js/issues/38422) - update webpack: [#&#8203;38988](https://github.com/vercel/next.js/issues/38988) - Update config schema for empty basePath: [#&#8203;38998](https://github.com/vercel/next.js/issues/38998) - Add handling for prefetching onTouchStart and initial mobile testing : [#&#8203;38805](https://github.com/vercel/next.js/issues/38805) - Add additional comments to new router: [#&#8203;38986](https://github.com/vercel/next.js/issues/38986) - Update config-schema for relay field to be less strict: [#&#8203;39010](https://github.com/vercel/next.js/issues/39010) - Add config for opting out of optimistic client cache behavior: [#&#8203;38774](https://github.com/vercel/next.js/issues/38774) - Fix tracing edge-runtime dependencies: [#&#8203;39009](https://github.com/vercel/next.js/issues/39009) - Ensure dangerouslyAllowSVG is passed correctly: [#&#8203;39031](https://github.com/vercel/next.js/issues/39031) - Handle getStaticPaths error inside worker to avoid serializing: [#&#8203;39032](https://github.com/vercel/next.js/issues/39032) - chore: enable swc externalHelpers when pre-compile: [#&#8203;38182](https://github.com/vercel/next.js/issues/38182) - Update to use HEAD request for On-Demand ISR: [#&#8203;39038](https://github.com/vercel/next.js/issues/39038) - chore: Clean up imports and unused code: [#&#8203;39044](https://github.com/vercel/next.js/issues/39044) - Replace node-sass test dependency with sass: [#&#8203;39053](https://github.com/vercel/next.js/issues/39053) - Add comments in new router reducer: [#&#8203;39025](https://github.com/vercel/next.js/issues/39025) - Add additional comments for reducer/cachenode: [#&#8203;39065](https://github.com/vercel/next.js/issues/39065) - fix: print Request & Response properties: [#&#8203;38903](https://github.com/vercel/next.js/issues/38903) - fix: show `asPath` on large page data warning: [#&#8203;39071](https://github.com/vercel/next.js/issues/39071) - Remove RSC rendering from render: [#&#8203;39045](https://github.com/vercel/next.js/issues/39045) - Ensure query is updated correctly with shallow and middleware: [#&#8203;39086](https://github.com/vercel/next.js/issues/39086) - Update pre-compiled to fix check: [#&#8203;39089](https://github.com/vercel/next.js/issues/39089) - Fix unhandled rejections with edge runtime: [#&#8203;39091](https://github.com/vercel/next.js/issues/39091) - feat(next-swc): Update swc: [#&#8203;39055](https://github.com/vercel/next.js/issues/39055) - Collect telemetry for next/future/image: [#&#8203;39046](https://github.com/vercel/next.js/issues/39046) - \[Script] Adds `onReady` prop to `next/script`: [#&#8203;38849](https://github.com/vercel/next.js/issues/38849) - Ensure we hard navigate for failed \_next/data with middleware: [#&#8203;39148](https://github.com/vercel/next.js/issues/39148) - Refactor Flight plugins to use types.: [#&#8203;39136](https://github.com/vercel/next.js/issues/39136) - Fix middleware + afterFiles SSG rewrite case: [#&#8203;39153](https://github.com/vercel/next.js/issues/39153) - Update swc minifier: [#&#8203;39158](https://github.com/vercel/next.js/issues/39158) - Fix incorrect component cache for middleware cases: [#&#8203;39159](https://github.com/vercel/next.js/issues/39159) - Add shared dynamic api: [#&#8203;39163](https://github.com/vercel/next.js/issues/39163) - Add exportPathMap config type/schema field: [#&#8203;39171](https://github.com/vercel/next.js/issues/39171) - Fix default error style overrides: [#&#8203;39169](https://github.com/vercel/next.js/issues/39169) - refactor: return single middleware from getMiddleware in dev server: [#&#8203;39177](https://github.com/vercel/next.js/issues/39177) - fix([#&#8203;11930](https://github.com/vercel/next.js/issues/11930)): rewritten api routes can correctly handle cors in dev mode: [#&#8203;38937](https://github.com/vercel/next.js/issues/38937) - refactor: simplify middleware execution: [#&#8203;39192](https://github.com/vercel/next.js/issues/39192) - Add missing [@&#8203;napi-rs/cli](https://github.com/napi-rs/cli) devDependency to next-swc: [#&#8203;39164](https://github.com/vercel/next.js/issues/39164) - Fix missing edge routes in dev middleware manifest: [#&#8203;39199](https://github.com/vercel/next.js/issues/39199) - Fix: only contain middleware in dev middleware manifest: [#&#8203;39217](https://github.com/vercel/next.js/issues/39217) - fix: react dev bundle is picked in prod mode: [#&#8203;39221](https://github.com/vercel/next.js/issues/39221) - Add "fill" mode to `next/future/image`: [#&#8203;38855](https://github.com/vercel/next.js/issues/38855) - Handle assetPrefix in app: [#&#8203;39236](https://github.com/vercel/next.js/issues/39236) - Export URLPattern from next/server: [#&#8203;39219](https://github.com/vercel/next.js/issues/39219) - Ensure middleware has single data fetch on query hydration with valid props: [#&#8203;39210](https://github.com/vercel/next.js/issues/39210) - Fix URLPattern next/server export on deploy: [#&#8203;39290](https://github.com/vercel/next.js/issues/39290) - Flush styles effects: [#&#8203;39268](https://github.com/vercel/next.js/issues/39268) - chore: rename typo middlewares to interceptors in hot reloader: [#&#8203;39292](https://github.com/vercel/next.js/issues/39292) - Remove default setting for object-fit on future fill images: [#&#8203;39297](https://github.com/vercel/next.js/issues/39297) - feat(config): implement a human readable ajv errors: [#&#8203;39291](https://github.com/vercel/next.js/issues/39291) - Enable concurrent mode by default in app-render: [#&#8203;39307](https://github.com/vercel/next.js/issues/39307) - Fix next/server being required during build: [#&#8203;39310](https://github.com/vercel/next.js/issues/39310) - feat(next-swc/wasm): export async interfaces: [#&#8203;39231](https://github.com/vercel/next.js/issues/39231) - Ensure On-Demand revalidate does not consider preview cookie: [#&#8203;39313](https://github.com/vercel/next.js/issues/39313) - fix: buffer is not usable on edge runtime: [#&#8203;39227](https://github.com/vercel/next.js/issues/39227) ##### Documentation Changes - Remove next-page-tester from testing.md: [#&#8203;38920](https://github.com/vercel/next.js/issues/38920) - Add section about building `getStaticPaths` on-demand.: [#&#8203;38943](https://github.com/vercel/next.js/issues/38943) - Docs: Fix grammatical typo: [#&#8203;38962](https://github.com/vercel/next.js/issues/38962) - docs: update typescript.md: [#&#8203;38717](https://github.com/vercel/next.js/issues/38717) - Add note to `next/future/image` about default styles.: [#&#8203;38978](https://github.com/vercel/next.js/issues/38978) - Add caveat note about shallow routing with middleware: [#&#8203;39154](https://github.com/vercel/next.js/issues/39154) - fix: Update testing.md: [#&#8203;39195](https://github.com/vercel/next.js/issues/39195) - Replaces getStaticProps with getStaticPaths: [#&#8203;39218](https://github.com/vercel/next.js/issues/39218) - Clear up rewrites documentation: [#&#8203;39238](https://github.com/vercel/next.js/issues/39238) - Add section about migrating from `next/image` to `next/future/image`: [#&#8203;39270](https://github.com/vercel/next.js/issues/39270) - \[docs] Clarify polyfill support: [#&#8203;39272](https://github.com/vercel/next.js/issues/39272) - fix typo: docs/advanced-features/react-18/streaming.md: [#&#8203;39293](https://github.com/vercel/next.js/issues/39293) - docs: add missing dot: [#&#8203;39314](https://github.com/vercel/next.js/issues/39314) ##### Example Changes - Add example with cookies-next package: [#&#8203;31243](https://github.com/vercel/next.js/issues/31243) - chore(example): convert `with-stitches` to TS: [#&#8203;38892](https://github.com/vercel/next.js/issues/38892) - Update Convex example not to ignore generated files: [#&#8203;38931](https://github.com/vercel/next.js/issues/38931) - Convert `custom-routes-proxying` example to TypeScript: [#&#8203;38974](https://github.com/vercel/next.js/issues/38974) - Added workaround for --isolatedModules inside of configuration files: [#&#8203;39004](https://github.com/vercel/next.js/issues/39004) - Update default gitignore templates: [#&#8203;39051](https://github.com/vercel/next.js/issues/39051) - docs(examples): improve DX while copying command to create new project: [#&#8203;38410](https://github.com/vercel/next.js/issues/38410) - docs(example): Update Makeswift example: [#&#8203;39070](https://github.com/vercel/next.js/issues/39070) - fix: use `if..elif..else` in docker examples: [#&#8203;39072](https://github.com/vercel/next.js/issues/39072) - feat(with-mux-video): Update mux-player scope and version to latest.: [#&#8203;39079](https://github.com/vercel/next.js/issues/39079) - Convert `cms-agilitycms` example to TypeScript: [#&#8203;38976](https://github.com/vercel/next.js/issues/38976) - Convert the Cypress config to ESM Module syntax: [#&#8203;39036](https://github.com/vercel/next.js/issues/39036) - fix: missing semicolon on Dockerfile: [#&#8203;39142](https://github.com/vercel/next.js/issues/39142) - Fix typo in with-docker-compose README: [#&#8203;39176](https://github.com/vercel/next.js/issues/39176) - examples/with-msw-typescript: [#&#8203;39196](https://github.com/vercel/next.js/issues/39196) - Update edgedb.toml: [#&#8203;39243](https://github.com/vercel/next.js/issues/39243) - fix: use `if...else` in dockerfile: [#&#8203;39263](https://github.com/vercel/next.js/issues/39263) - Add TypeScript to ant design example: [#&#8203;38470](https://github.com/vercel/next.js/issues/38470) ##### Misc Changes - Update Safari 10 test to no longer wait for modern Safari: [#&#8203;39028](https://github.com/vercel/next.js/issues/39028) - Update delayed test output handling: [#&#8203;39078](https://github.com/vercel/next.js/issues/39078) - Update tests to use random directory: [#&#8203;39230](https://github.com/vercel/next.js/issues/39230) - Update Android NDK path for swc builds: [#&#8203;39298](https://github.com/vercel/next.js/issues/39298) - Add delay before exiting tests for log flushing: [#&#8203;39302](https://github.com/vercel/next.js/issues/39302) - chore(trace): fix typo in trace-to-event-format.mjs: [#&#8203;39279](https://github.com/vercel/next.js/issues/39279) ##### Credits Huge thanks to [@&#8203;theMosaad](https://github.com/theMosaad), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;Yuddomack](https://github.com/Yuddomack), [@&#8203;msquitieri](https://github.com/msquitieri), [@&#8203;andreizanik](https://github.com/andreizanik), [@&#8203;nix6839](https://github.com/nix6839), [@&#8203;shuding](https://github.com/shuding), [@&#8203;thomasballinger](https://github.com/thomasballinger), [@&#8203;ziishaned](https://github.com/ziishaned), [@&#8203;leerob](https://github.com/leerob), [@&#8203;xyeres](https://github.com/xyeres), [@&#8203;nyedidikeke](https://github.com/nyedidikeke), [@&#8203;maxproske](https://github.com/maxproske), [@&#8203;sokra](https://github.com/sokra), [@&#8203;titusdmoore](https://github.com/titusdmoore), [@&#8203;thebergamo](https://github.com/thebergamo), [@&#8203;fikrikarim](https://github.com/fikrikarim), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;clearlyTHUYDOAN](https://github.com/clearlyTHUYDOAN), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;nasso](https://github.com/nasso), [@&#8203;qutek](https://github.com/qutek), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;barissayil](https://github.com/barissayil), [@&#8203;seveibar](https://github.com/seveibar), [@&#8203;Jessidhia](https://github.com/Jessidhia), [@&#8203;santidalmasso](https://github.com/santidalmasso), [@&#8203;JohnDaly](https://github.com/JohnDaly), [@&#8203;Nikhilnama18](https://github.com/Nikhilnama18), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;styfle](https://github.com/styfle), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;mduleone](https://github.com/mduleone), [@&#8203;colinhacks](https://github.com/colinhacks), [@&#8203;ductnn](https://github.com/ductnn), [@&#8203;josh](https://github.com/josh), [@&#8203;hiro0218](https://github.com/hiro0218), [@&#8203;eltociear](https://github.com/eltociear), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;valcosmos](https://github.com/valcosmos), and [@&#8203;feugy](https://github.com/feugy) for helping! ### [`v12.2.3`](https://github.com/vercel/next.js/releases/tag/v12.2.3) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.2...v12.2.3) ##### Core Changes - Remove dynamic params from `query` in new router: [#&#8203;38466](https://github.com/vercel/next.js/issues/38466) - Fix test page detection: [#&#8203;38475](https://github.com/vercel/next.js/issues/38475) - build(ci): enable rustls as default: [#&#8203;38471](https://github.com/vercel/next.js/issues/38471) - Handle on-demand-entries and error overlay for Server Components: [#&#8203;38480](https://github.com/vercel/next.js/issues/38480) - Add refreshing of Server Components: [#&#8203;38508](https://github.com/vercel/next.js/issues/38508) - Handle dynamic routes / catchall routes in on-demand entries: [#&#8203;38512](https://github.com/vercel/next.js/issues/38512) - chore(deps): Update swc: [#&#8203;38347](https://github.com/vercel/next.js/issues/38347) - Enable css import in rsc server side : [#&#8203;38418](https://github.com/vercel/next.js/issues/38418) - Pass missing incrementalCacheHandlerPath to IncrementalCache instance: [#&#8203;38433](https://github.com/vercel/next.js/issues/38433) - fix(next/build): correct payload for plugin telemetry: [#&#8203;38468](https://github.com/vercel/next.js/issues/38468) - Update some dependencies' versions :): [#&#8203;38427](https://github.com/vercel/next.js/issues/38427) - refactor(next/swc): disable default features for crash report: [#&#8203;38531](https://github.com/vercel/next.js/issues/38531) - fix: don't use optional chaining in ESLint rule: [#&#8203;38534](https://github.com/vercel/next.js/issues/38534) - feat(next-swc/auto-cjs): Detect `__esModule`: [#&#8203;38181](https://github.com/vercel/next.js/issues/38181) - CSS modules support improvements for Server Components: [#&#8203;38536](https://github.com/vercel/next.js/issues/38536) - Handle development error when Server Component throws: [#&#8203;38550](https://github.com/vercel/next.js/issues/38550) - Upgrade edge-runtime + make EdgeRuntime value overridable with an env var on compilation: [#&#8203;38331](https://github.com/vercel/next.js/issues/38331) - Rename todos: [#&#8203;38560](https://github.com/vercel/next.js/issues/38560) - Fix injecting CSS link tags before page content: [#&#8203;38559](https://github.com/vercel/next.js/issues/38559) - Optimize Edge SSR bundle size: [#&#8203;38570](https://github.com/vercel/next.js/issues/38570) - Handle dev fouc for layout styling: [#&#8203;38557](https://github.com/vercel/next.js/issues/38557) - Fix independent CSSModule missing from flight manifest: [#&#8203;38575](https://github.com/vercel/next.js/issues/38575) - Mark dynamic as client component: [#&#8203;38574](https://github.com/vercel/next.js/issues/38574) - Add error when createServerContext is not available: [#&#8203;38578](https://github.com/vercel/next.js/issues/38578) - Handle server context being refreshed: [#&#8203;38580](https://github.com/vercel/next.js/issues/38580) - Pass server context to Flight render: [#&#8203;38582](https://github.com/vercel/next.js/issues/38582) - Ensure .client.tsx/.ts/.jsx Client Components can be imported: [#&#8203;38591](https://github.com/vercel/next.js/issues/38591) - Remove the `hide-fouc` tags after hydration: [#&#8203;38592](https://github.com/vercel/next.js/issues/38592) - Add heuristic for optimistic push: [#&#8203;38599](https://github.com/vercel/next.js/issues/38599) - Remove implemented todos: [#&#8203;38610](https://github.com/vercel/next.js/issues/38610) - Add next.config.js validation with ajv: [#&#8203;38498](https://github.com/vercel/next.js/issues/38498) - Fix `next/jest` when testing `next/future/image`: [#&#8203;38569](https://github.com/vercel/next.js/issues/38569) - refactor(next/telemetry): use basename for the absolute plugin path: [#&#8203;38473](https://github.com/vercel/next.js/issues/38473) - Remove the hide-fouc tag earlier: [#&#8203;38614](https://github.com/vercel/next.js/issues/38614) - Fix reloading Client Component require.cache: [#&#8203;38633](https://github.com/vercel/next.js/issues/38633) - Fix failed to hydrate error with global CSS: [#&#8203;38626](https://github.com/vercel/next.js/issues/38626) - Ensure selected segment is the value of dynamic routes: [#&#8203;38644](https://github.com/vercel/next.js/issues/38644) - Add focus and scroll management for new router: [#&#8203;38642](https://github.com/vercel/next.js/issues/38642) - New Router Tests: [#&#8203;38390](https://github.com/vercel/next.js/issues/38390) - Rename query to searchParams for getServerSideProps in new Router: [#&#8203;38654](https://github.com/vercel/next.js/issues/38654) - Refine scrolling into view in new router: [#&#8203;38682](https://github.com/vercel/next.js/issues/38682) - Improve element detection further: [#&#8203;38684](https://github.com/vercel/next.js/issues/38684) - Remove obsolete code from loader: [#&#8203;38681](https://github.com/vercel/next.js/issues/38681) - Fix check for optimistic routing and handle loading in server-patch: [#&#8203;38687](https://github.com/vercel/next.js/issues/38687) - add user check in `auth-with-stytch`.: [#&#8203;38648](https://github.com/vercel/next.js/issues/38648) - Ensure flight manifest is correct with app and pages dir: [#&#8203;38716](https://github.com/vercel/next.js/issues/38716) - Fix missing client entry matcher and simplify imports path: [#&#8203;38691](https://github.com/vercel/next.js/issues/38691) - refactor: rewrite etag: [#&#8203;38568](https://github.com/vercel/next.js/issues/38568) - Fix CSSM loader applying for both pages and app: [#&#8203;38761](https://github.com/vercel/next.js/issues/38761) - Support postcss.config.cjs: [#&#8203;38486](https://github.com/vercel/next.js/issues/38486) - fix(next/swc): let async wasm binding coerce to sync correctly: [#&#8203;38780](https://github.com/vercel/next.js/issues/38780) - Ensure route group with separate root layout does not get wrapped in <div>: [#&#8203;38792](https://github.com/vercel/next.js/issues/38792) - \[edge] allow importing blob assets: [#&#8203;38492](https://github.com/vercel/next.js/issues/38492) - \[ESLint] Make `src/` a default linting directory: [#&#8203;38810](https://github.com/vercel/next.js/issues/38810) - Fix usage of `experimental-edge` in `pages/api/index`: [#&#8203;38024](https://github.com/vercel/next.js/issues/38024) - fix(edge-runtime): undefined global in edge runtime.: [#&#8203;38769](https://github.com/vercel/next.js/issues/38769) - Fix squoosh image optimization for Node.js 18: [#&#8203;38833](https://github.com/vercel/next.js/issues/38833) - chore: TS improvments: [#&#8203;38834](https://github.com/vercel/next.js/issues/38834) - fix: don't treat `output: "standalone"` as custom server: [#&#8203;38831](https://github.com/vercel/next.js/issues/38831) - Improve `next/image` error message when `src` prop is missing: [#&#8203;38847](https://github.com/vercel/next.js/issues/38847) - Remove the next/streaming endpoint and experimental refresh api: [#&#8203;38837](https://github.com/vercel/next.js/issues/38837) - Ensure module require is awaited in app-render: [#&#8203;38860](https://github.com/vercel/next.js/issues/38860) - Leverage mini css plugin hmr for app dir: [#&#8203;38830](https://github.com/vercel/next.js/issues/38830) - fix(edge): error handling for edge route and middleware is inconsistent: [#&#8203;38401](https://github.com/vercel/next.js/issues/38401) - fix: correct the next config optimizeCss type: [#&#8203;38879](https://github.com/vercel/next.js/issues/38879) - Update Edge Runtime: [#&#8203;38862](https://github.com/vercel/next.js/issues/38862) - Ensure mixed query/hash values are handled correctly: [#&#8203;38852](https://github.com/vercel/next.js/issues/38852) - fix([#&#8203;38743](https://github.com/vercel/next.js/issues/38743)): config.runtime support template literal: [#&#8203;38750](https://github.com/vercel/next.js/issues/38750) ##### Documentation Changes - Update api-middlewares.md: [#&#8203;38499](https://github.com/vercel/next.js/issues/38499) - Add note about standalone + runtimeConfig caveat: [#&#8203;38532](https://github.com/vercel/next.js/issues/38532) - Note about manually passing props from custom app: [#&#8203;37329](https://github.com/vercel/next.js/issues/37329) - \[DOCS]: Middleware doesn't execute for on-demand ISR: [#&#8203;38562](https://github.com/vercel/next.js/issues/38562) - Update docs for `next/future/image` with browser support: [#&#8203;38563](https://github.com/vercel/next.js/issues/38563) - Add missing closing curly bracket in compiler option example: [#&#8203;38586](https://github.com/vercel/next.js/issues/38586) - docs: clarify that `matcher` needs to be constant values: [#&#8203;38597](https://github.com/vercel/next.js/issues/38597) - Add documentation on accessibility.: [#&#8203;38522](https://github.com/vercel/next.js/issues/38522) - Add bundlejs site: [#&#8203;38677](https://github.com/vercel/next.js/issues/38677) - Update get-static-props.md: [#&#8203;38703](https://github.com/vercel/next.js/issues/38703) - update fallback docs: [#&#8203;38659](https://github.com/vercel/next.js/issues/38659) - Improve response body in Middleware error page.: [#&#8203;38537](https://github.com/vercel/next.js/issues/38537) - docs: improve wording on `pathname` and `asPath`: [#&#8203;38835](https://github.com/vercel/next.js/issues/38835) ##### Example Changes - chore: update file references in Auth0 example README: [#&#8203;38476](https://github.com/vercel/next.js/issues/38476) - chore(examples): Convert `api-routes` example to TypeScript: [#&#8203;38083](https://github.com/vercel/next.js/issues/38083) - Fix url of tRPC's `next-minimal-starter`: [#&#8203;38452](https://github.com/vercel/next.js/issues/38452) - Update Fauna examples to support new FAUNA_DB_DOMAIN environment variable: [#&#8203;38434](https://github.com/vercel/next.js/issues/38434) - feat(examples): Use helper function in `with-sentry` example `_error.js`: [#&#8203;37866](https://github.com/vercel/next.js/issues/37866) - Update MongoDB example to use integration for deploy button.: [#&#8203;38738](https://github.com/vercel/next.js/issues/38738) - chore(examples): require `WORDPRESS_API_URL` to include `/graphql`: [#&#8203;38764](https://github.com/vercel/next.js/issues/38764) - Update with-emotion-swc to use TypeScript: [#&#8203;38744](https://github.com/vercel/next.js/issues/38744) - chore: auto-detect preferred package manager in `Dockerfile`: [#&#8203;38693](https://github.com/vercel/next.js/issues/38693) - chore: update `with-service-worker` example: [#&#8203;38670](https://github.com/vercel/next.js/issues/38670) - Fixup main Fauna example and drop support for outdated one: [#&#8203;38692](https://github.com/vercel/next.js/issues/38692) - Fix export issue in with-fauna example: [#&#8203;38812](https://github.com/vercel/next.js/issues/38812) - Update Convex example.: [#&#8203;38850](https://github.com/vercel/next.js/issues/38850) - chore: convert `with-dynamic-import` to TypeScript: [#&#8203;38844](https://github.com/vercel/next.js/issues/38844) - chore(examples): Convert `with-cypress` example to TypeScript: [#&#8203;38818](https://github.com/vercel/next.js/issues/38818) ##### Misc Changes - Migrate rsc integration tests to e2e tests: [#&#8203;38460](https://github.com/vercel/next.js/issues/38460) - Update flakey unoptimized image test: [#&#8203;38478](https://github.com/vercel/next.js/issues/38478) - fix: fix bundle-analyzer plugin types: [#&#8203;38255](https://github.com/vercel/next.js/issues/38255) - Update CI job skipping based on related changes: [#&#8203;38479](https://github.com/vercel/next.js/issues/38479) - Fix rsc test during deploy testing: [#&#8203;38517](https://github.com/vercel/next.js/issues/38517) - Add docs condition for all azure steps: [#&#8203;38519](https://github.com/vercel/next.js/issues/38519) - skip rsc tests for react 17 e2e: [#&#8203;38524](https://github.com/vercel/next.js/issues/38524) - Add dev/start timing to PR stats: [#&#8203;38525](https://github.com/vercel/next.js/issues/38525) - chore: extend example contribution guidelines: [#&#8203;38511](https://github.com/vercel/next.js/issues/38511) - Fix e2e rsc test for deploy mode: [#&#8203;38538](https://github.com/vercel/next.js/issues/38538) - Add test env variables to readme: [#&#8203;38566](https://github.com/vercel/next.js/issues/38566) - Fix flaky rsc test: [#&#8203;38573](https://github.com/vercel/next.js/issues/38573) - chore: tweak issue validator: [#&#8203;38600](https://github.com/vercel/next.js/issues/38600) - Update to latest version of turbo: [#&#8203;38629](https://github.com/vercel/next.js/issues/38629) - chore: improve issue validator logs - chore: tweak issue validator action - Update version for yarn pnp tests: [#&#8203;38688](https://github.com/vercel/next.js/issues/38688) - Add dark mode to Create Next App: [#&#8203;38671](https://github.com/vercel/next.js/issues/38671) - Add note about test-trace artifact to test readme: [#&#8203;38770](https://github.com/vercel/next.js/issues/38770) - Fix postcss deploy e2e test: [#&#8203;38782](https://github.com/vercel/next.js/issues/38782) - test: disable the rsc flaky test temporarily: [#&#8203;38843](https://github.com/vercel/next.js/issues/38843) - Update edge blob asset e2e test: [#&#8203;38857](https://github.com/vercel/next.js/issues/38857) - ci: dropping macos-10.15: [#&#8203;38865](https://github.com/vercel/next.js/issues/38865) - Update query/hash test for safari: [#&#8203;38889](https://github.com/vercel/next.js/issues/38889) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;mihaic195](https://github.com/mihaic195), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;stefanprobst](https://github.com/stefanprobst), [@&#8203;maxproske](https://github.com/maxproske), [@&#8203;valcosmos](https://github.com/valcosmos), [@&#8203;KATT](https://github.com/KATT), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;thiagomorales](https://github.com/thiagomorales), [@&#8203;sanjaiyan-dev](https://github.com/sanjaiyan-dev), [@&#8203;danielcavanagh](https://github.com/danielcavanagh), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;shuding](https://github.com/shuding), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;steven-tey](https://github.com/steven-tey), [@&#8203;styfle](https://github.com/styfle), [@&#8203;hellomhc](https://github.com/hellomhc), [@&#8203;trevor-fauna](https://github.com/trevor-fauna), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;leerob](https://github.com/leerob), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;nguyenyou](https://github.com/nguyenyou), [@&#8203;eminvergil](https://github.com/eminvergil), [@&#8203;lobsterkatie](https://github.com/lobsterkatie), [@&#8203;dorian-davis](https://github.com/dorian-davis), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;sambecker](https://github.com/sambecker), [@&#8203;isaac-martin](https://github.com/isaac-martin), [@&#8203;JohnDaly](https://github.com/JohnDaly), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;lfades](https://github.com/lfades), [@&#8203;feugy](https://github.com/feugy), [@&#8203;thomasballinger](https://github.com/thomasballinger), [@&#8203;amorimr](https://github.com/amorimr), and [@&#8203;javivelasco](https://github.com/javivelasco) for helping! ### [`v12.2.2`](https://github.com/vercel/next.js/releases/tag/v12.2.2) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.1...v12.2.2) ##### Core Changes - Update README.md: [#&#8203;38371](https://github.com/vercel/next.js/issues/38371) - Add support for catchall with new router: [#&#8203;38439](https://github.com/vercel/next.js/issues/38439) - Fix client entry point prefix: [#&#8203;38445](https://github.com/vercel/next.js/issues/38445) - Add support for optional catchall with new router: [#&#8203;38444](https://github.com/vercel/next.js/issues/38444) - Add handling for back/forward (popstate) between old and new router: [#&#8203;38453](https://github.com/vercel/next.js/issues/38453) - Make catchall parameters consistent with existing router: [#&#8203;38456](https://github.com/vercel/next.js/issues/38456) - Fix warning `next/future/image` semicolon: [#&#8203;38454](https://github.com/vercel/next.js/issues/38454) - fix(next/build): disable next-swc crash reporting temporarily: [#&#8203;38472](https://github.com/vercel/next.js/issues/38472) ##### Documentation Changes - Update building-form sample code: [#&#8203;38437](https://github.com/vercel/next.js/issues/38437) - Update i18n routing example with Middleware.: [#&#8203;38419](https://github.com/vercel/next.js/issues/38419) - Adds mention of INP to "Measuring Performance" page: [#&#8203;38464](https://github.com/vercel/next.js/issues/38464) ##### Example Changes - Replace JS `blog-starter` example with TS, deprecate `blog-starter-typescript` example: [#&#8203;38395](https://github.com/vercel/next.js/issues/38395) - Convert `api-routes-rate-limit` example to TypeScript: [#&#8203;38393](https://github.com/vercel/next.js/issues/38393) - examples(with-jotai): Update example: [#&#8203;38398](https://github.com/vercel/next.js/issues/38398) - fix(examples/with-playwritght): use PORT env variable and fall back to 3000: [#&#8203;38107](https://github.com/vercel/next.js/issues/38107) - docs: add trpc to examples: [#&#8203;38272](https://github.com/vercel/next.js/issues/38272) - Convert `api-routes-rest` example to TypeScript: [#&#8203;38394](https://github.com/vercel/next.js/issues/38394) - chore(examples): Convert `api-routes-graphql` example to TypeScript: [#&#8203;38357](https://github.com/vercel/next.js/issues/38357) ##### Credits Huge thanks to [@&#8203;mongolyy](https://github.com/mongolyy), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;maxproske](https://github.com/maxproske), [@&#8203;leerob](https://github.com/leerob), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;Thisen](https://github.com/Thisen), [@&#8203;thebergamo](https://github.com/thebergamo), [@&#8203;zorrolisto](https://github.com/zorrolisto), [@&#8203;styfle](https://github.com/styfle), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), and [@&#8203;kwonoj](https://github.com/kwonoj) for helping! ### [`v12.2.1`](https://github.com/vercel/next.js/releases/tag/v12.2.1) [Compare Source](https://github.com/vercel/next.js/compare/v12.2.0...v12.2.1) ##### Core Changes - Remove unused `layoutRaw` config: [#&#8203;38120](https://github.com/vercel/next.js/issues/38120) - Fix invalid config warning for runtime config: [#&#8203;38122](https://github.com/vercel/next.js/issues/38122) - fix(next/config): update default config for the experimental: [#&#8203;38123](https://github.com/vercel/next.js/issues/38123) - feat(next/swc): setup native next-swc crash reporter: [#&#8203;38076](https://github.com/vercel/next.js/issues/38076) - Fix unnecessary flight render passes: [#&#8203;38133](https://github.com/vercel/next.js/issues/38133) - Readds missing `@next/next/no-assign-module-variable` ESLint rule.: [#&#8203;38134](https://github.com/vercel/next.js/issues/38134) - Fix failing to set initial ISR cache item in new folder: [#&#8203;38136](https://github.com/vercel/next.js/issues/38136) - Add default experimental values: [#&#8203;38135](https://github.com/vercel/next.js/issues/38135) - Fix error when `next/future/image` is missing width or height: [#&#8203;38132](https://github.com/vercel/next.js/issues/38132) - docs(readme.md): remove broken 404 links: [#&#8203;38104](https://github.com/vercel/next.js/issues/38104) - fix([#&#8203;38106](https://github.com/vercel/next.js/issues/38106)): use swc client config to pre-compile shared lib: [#&#8203;38137](https://github.com/vercel/next.js/issues/38137) - Fix chunk path resolution: [#&#8203;38162](https://github.com/vercel/next.js/issues/38162) - Revert "feat(next/swc): setup native next-swc crash reporter": [#&#8203;38170](https://github.com/vercel/next.js/issues/38170) - fix(next/swc): set cache dir explicitly: [#&#8203;38175](https://github.com/vercel/next.js/issues/38175) - Ensure [@&#8203;swc/helpers](https://github.com/swc/helpers) do not rely on hoisting: [#&#8203;38174](https://github.com/vercel/next.js/issues/38174) - Migrate rsc tests to app dir tests: [#&#8203;38158](https://github.com/vercel/next.js/issues/38158) - Check for performance.getEntriesByName before calling: [#&#8203;38186](https://github.com/vercel/next.js/issues/38186) - Adds tests to ensure `eslint-plugin-next`'s available rules are properly exported and recommended rules are correctly defined.: [#&#8203;38183](https://github.com/vercel/next.js/issues/38183) - Fix pageProps is missing when route changes: [#&#8203;38178](https://github.com/vercel/next.js/issues/38178) - feat(next/build): send next-swc plugins telemetry: [#&#8203;38116](https://github.com/vercel/next.js/issues/38116) - Ensure page.server.js matches correctly: [#&#8203;38236](https://github.com/vercel/next.js/issues/38236) - Alias react and react-dom by default: [#&#8203;38245](https://github.com/vercel/next.js/issues/38245) - Fix: convert head instances to array: [#&#8203;38252](https://github.com/vercel/next.js/issues/38252) - \[edge] Make runtime addressable in compile time: [#&#8203;38288](https://github.com/vercel/next.js/issues/38288) - Ensure trailing slash is handled correctly with middleware: [#&#8203;38282](https://github.com/vercel/next.js/issues/38282) - Fix CSS modules imported from client components in app dir: [#&#8203;38310](https://github.com/vercel/next.js/issues/38310) - \[edge] favor browser exports for edge compiler: [#&#8203;38319](https://github.com/vercel/next.js/issues/38319) - Fix CSS modules imported from client components in app dir with next build: [#&#8203;38329](https://github.com/vercel/next.js/issues/38329) - Honor NEXT_MANUAL_SIG_HANDLE flag in standalone mode: [#&#8203;38346](https://github.com/vercel/next.js/issues/38346) - Display stack trace when error occurs in API route: [#&#8203;38289](https://github.com/vercel/next.js/issues/38289) - Handle Client Rewrites Correctly: [#&#8203;38340](https://github.com/vercel/next.js/issues/38340) - Fix global CSS file imports: [#&#8203;38339](https://github.com/vercel/next.js/issues/38339) - \[build] validate the exported config values: [#&#8203;38370](https://github.com/vercel/next.js/issues/38370) - Correctly check if width is lte 0 in Image Optimization API: [#&#8203;38226](https://github.com/vercel/next.js/issues/38226) - chore: shorten image blur svg placholder: [#&#8203;38157](https://github.com/vercel/next.js/issues/38157) - Enable swc minifier in create next apps: [#&#8203;38215](https://github.com/vercel/next.js/issues/38215) - Filter proper chunks from chunk group for client components: [#&#8203;38379](https://github.com/vercel/next.js/issues/38379) - \[edge] enable edge compiler source maps by default: [#&#8203;38365](https://github.com/vercel/next.js/issues/38365) - Call Error.getInitialProps for the top level error: [#&#8203;21240](https://github.com/vercel/next.js/issues/21240) - feat: build edge functions with node.js modules and fail at runtime: [#&#8203;38234](https://github.com/vercel/next.js/issues/38234) - Implement new client-side router: [#&#8203;37551](https://github.com/vercel/next.js/issues/37551) - Add param names into the tree: [#&#8203;38415](https://github.com/vercel/next.js/issues/38415) - feat(next/swc): setup native next-swc crash reporter with platform supports: [#&#8203;38221](https://github.com/vercel/next.js/issues/38221) - Ensure server components entries are not part of the pages buildmanifest: [#&#8203;38416](https://github.com/vercel/next.js/issues/38416) - Add app-path-routes manifest: [#&#8203;38420](https://github.com/vercel/next.js/issues/38420) ##### Documentation Changes - Middleware docs update: [#&#8203;38111](https://github.com/vercel/next.js/issues/38111) - Update middleware upgrade guide w/ more rationale: [#&#8203;38074](https://github.com/vercel/next.js/issues/38074) - Update `next/future/image` docs to mention the difference with `next/image`: [#&#8203;38108](https://github.com/vercel/next.js/issues/38108) - Clarify router.query initial value during prerendering: [#&#8203;38093](https://github.com/vercel/next.js/issues/38093) - Remove `lazyRoot` example from `next/future/image` doc: [#&#8203;38140](https://github.com/vercel/next.js/issues/38140) - Add a Makeswift example: [#&#8203;38018](https://github.com/vercel/next.js/issues/38018) - docs: remove eslint config link: [#&#8203;38206](https://github.com/vercel/next.js/issues/38206) - fix: middleware-upgrade-guide.md: [#&#8203;38246](https://github.com/vercel/next.js/issues/38246) - Typo in NextResponse docs: [#&#8203;38259](https://github.com/vercel/next.js/issues/38259) - Update `next/future/image` docs to specify supported browser versions.: [#&#8203;38307](https://github.com/vercel/next.js/issues/38307) - Update get-static-props.md: [#&#8203;38287](https://github.com/vercel/next.js/issues/38287) - Clarification for Testing Environment Variables: [#&#8203;38359](https://github.com/vercel/next.js/issues/38359) - Fix typo in SWC plugin destructuring example: [#&#8203;38367](https://github.com/vercel/next.js/issues/38367) - Fix/update docs for swc styled components: [#&#8203;38280](https://github.com/vercel/next.js/issues/38280) - Update edge-runtime.md: [#&#8203;38271](https://github.com/vercel/next.js/issues/38271) - Add note about casing to getStaticPaths docs: [#&#8203;38426](https://github.com/vercel/next.js/issues/38426) ##### Example Changes - Adding with-ably example for realtime messaging in next apps: [#&#8203;37319](https://github.com/vercel/next.js/issues/37319) - Convert auth0 example to TypeScript: [#&#8203;38087](https://github.com/vercel/next.js/issues/38087) - Convert basic-export example to TypeScript: [#&#8203;38092](https://github.com/vercel/next.js/issues/38092) - Convert basic-css example to TypeScript: [#&#8203;38091](https://github.com/vercel/next.js/issues/38091) - Add Convex example: [#&#8203;38129](https://github.com/vercel/next.js/issues/38129) - Convert catch-all-routes example to TypeScript: [#&#8203;38188](https://github.com/vercel/next.js/issues/38188) - feat(examples): link to turbo next.js examples: [#&#8203;38173](https://github.com/vercel/next.js/issues/38173) - feat(examples): adds middleware example: [#&#8203;38240](https://github.com/vercel/next.js/issues/38240) - fix(examples): fix link on middleware example: [#&#8203;38323](https://github.com/vercel/next.js/issues/38323) - Update analysis scripts: [#&#8203;38201](https://github.com/vercel/next.js/issues/38201) - chore(examples): fix experiments loading npm wasm: [#&#8203;38348](https://github.com/vercel/next.js/issues/38348) - chore(examples): Convert `api-routes-cors` example to TypeScript: [#&#8203;38356](https://github.com/vercel/next.js/issues/38356) - chore(examples): Convert `api-routes-middleware` example to TypeScript: [#&#8203;38358](https://github.com/vercel/next.js/issues/38358) - Remove CharkraProvicer RestCSS prop: [#&#8203;38199](https://github.com/vercel/next.js/issues/38199) - Add example: with-apivideo-upload: [#&#8203;36050](https://github.com/vercel/next.js/issues/36050) - Updates with-supertokens example: [#&#8203;38369](https://github.com/vercel/next.js/issues/38369) - fix: update with-msw example to function properly for all use cases: [#&#8203;38050](https://github.com/vercel/next.js/issues/38050) - chore(examples): Convert `blog` example to TypeScript: [#&#8203;38095](https://github.com/vercel/next.js/issues/38095) ##### Misc Changes - Add more code ownership paths for padmaia: [#&#8203;38121](https://github.com/vercel/next.js/issues/38121) - Fix create-next-app tests from changed example: [#&#8203;38154](https://github.com/vercel/next.js/issues/38154) - Fix missing trace script devDependencies: [#&#8203;38172](https://github.com/vercel/next.js/issues/38172) - chore: don't use `type: "module"` when building the Issue validator action: [#&#8203;38197](https://github.com/vercel/next.js/issues/38197) - fix: declare NextBundleAnalyzer as a type: [#&#8203;38168](https://github.com/vercel/next.js/issues/38168) - Replace placeholder.com images with \*.vercel.app in image-component tests: [#&#8203;38090](https://github.com/vercel/next.js/issues/38090) - chore: point to `/dist` for local action - chore: fix issue validator paths - Update some flaking tests for edge compiler and rsc: [#&#8203;38344](https://github.com/vercel/next.js/issues/38344) - chore: remove workspace from `package.json` since we have \`pnpm-works…: [#&#8203;38166](https://github.com/vercel/next.js/issues/38166) - Revert "chore: remove workspace from `package.json` since we have \`pnpm-works…": [#&#8203;38376](https://github.com/vercel/next.js/issues/38376) - Replace pre-commit with husky: [#&#8203;38350](https://github.com/vercel/next.js/issues/38350) - Add more CSS imports test cases: [#&#8203;38343](https://github.com/vercel/next.js/issues/38343) ##### Credits Huge thanks to [@&#8203;ethomson](https://github.com/ethomson), [@&#8203;styfle](https://github.com/styfle), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;shuding](https://github.com/shuding), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;manovotny](https://github.com/manovotny), [@&#8203;thisisjofrank](https://github.com/thisisjofrank), [@&#8203;maxproske](https://github.com/maxproske), [@&#8203;dominiksipowicz](https://github.com/dominiksipowicz), [@&#8203;awareness481](https://github.com/awareness481), [@&#8203;pakaponk](https://github.com/pakaponk), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;apledger](https://github.com/apledger), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;thomasballinger](https://github.com/thomasballinger), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;longzheng](https://github.com/longzheng), [@&#8203;tknickman](https://github.com/tknickman), [@&#8203;rbrcsk](https://github.com/rbrcsk), [@&#8203;emersonlaurentino](https://github.com/emersonlaurentino), [@&#8203;carstenlebek](https://github.com/carstenlebek), [@&#8203;edusig](https://github.com/edusig), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;riccardogiorato](https://github.com/riccardogiorato), [@&#8203;leerob](https://github.com/leerob), [@&#8203;valcosmos](https://github.com/valcosmos), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;ryanhaticus](https://github.com/ryanhaticus), [@&#8203;j-mendez](https://github.com/j-mendez), [@&#8203;armandabric](https://github.com/armandabric), [@&#8203;WinmezzZ](https://github.com/WinmezzZ), [@&#8203;andershagbard](https://github.com/andershagbard), [@&#8203;dammy001](https://github.com/dammy001), [@&#8203;MarDi66](https://github.com/MarDi66), [@&#8203;stefanprobst](https://github.com/stefanprobst), [@&#8203;okmttdhr](https://github.com/okmttdhr), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;marjorg](https://github.com/marjorg), [@&#8203;dustinsgoodman](https://github.com/dustinsgoodman), [@&#8203;zanechua](https://github.com/zanechua), [@&#8203;feugy](https://github.com/feugy), and [@&#8203;timneutkens](https://github.com/timneutkens) for helping! ### [`v12.2.0`](https://github.com/vercel/next.js/releases/tag/v12.2.0) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.6...v12.2.0) ##### Core Changes - Flush initial styled-jsx in gIP first in concurrent rendering: [#&#8203;36594](https://github.com/vercel/next.js/issues/36594) - Add falling back to wasm swc build on native load failure: [#&#8203;36612](https://github.com/vercel/next.js/issues/36612) - feat(next-swc): introduce experimental tracing support for swc: [#&#8203;35803](https://github.com/vercel/next.js/issues/35803) - Add initial handling for routing tests: [#&#8203;36635](https://github.com/vercel/next.js/issues/36635) - Fix asPath handling for data route revalidation in minimal mode: [#&#8203;36660](https://github.com/vercel/next.js/issues/36660) - fix: react root enabled properly in custom server: [#&#8203;36664](https://github.com/vercel/next.js/issues/36664) - Route Loader Trusted Types Violation Fix: [#&#8203;34730](https://github.com/vercel/next.js/issues/34730) - Update components in GitHub Actions: [#&#8203;36669](https://github.com/vercel/next.js/issues/36669) - Fix various Trusted Types violations without use of policy: [#&#8203;34726](https://github.com/vercel/next.js/issues/34726) - Add experimental wildcard `remotePatterns` config for upstream images: [#&#8203;36245](https://github.com/vercel/next.js/issues/36245) - Tweak routing tests: [#&#8203;36667](https://github.com/vercel/next.js/issues/36667) - Update renderOpts.dev handling and fix check: [#&#8203;36666](https://github.com/vercel/next.js/issues/36666) - fix: duplicate app server: [#&#8203;36710](https://github.com/vercel/next.js/issues/36710) - Add route loader: [#&#8203;36712](https://github.com/vercel/next.js/issues/36712) - Fix leftover todo in loader: [#&#8203;36734](https://github.com/vercel/next.js/issues/36734) - Leverage pageExtensions for resolving in loader: [#&#8203;36747](https://github.com/vercel/next.js/issues/36747) - Use react dom server node api to detect react root is enabled: [#&#8203;36749](https://github.com/vercel/next.js/issues/36749) - replace use-subscription with use-sync-external-store: [#&#8203;36733](https://github.com/vercel/next.js/issues/36733) - Add flight render starting point: [#&#8203;36760](https://github.com/vercel/next.js/issues/36760) - feat: better cookies API for Edge Functions: [#&#8203;36478](https://github.com/vercel/next.js/issues/36478) - Clarify variables being used during rendering: [#&#8203;36773](https://github.com/vercel/next.js/issues/36773) - Update x-nextjs-cache header in minimal mode: [#&#8203;36791](https://github.com/vercel/next.js/issues/36791) - Add experimental flag to force SWC transforms: [#&#8203;36789](https://github.com/vercel/next.js/issues/36789) - Update root component handling: [#&#8203;36781](https://github.com/vercel/next.js/issues/36781) - Add final newline to package-lock.json: [#&#8203;36813](https://github.com/vercel/next.js/issues/36813) - Move FlightManifestPlugin to server compilers: [#&#8203;36810](https://github.com/vercel/next.js/issues/36810) - Update moduleNameMapper jest config and remove extra deps: [#&#8203;36787](https://github.com/vercel/next.js/issues/36787) - Wait for shell resolve with gIP is customized in react 18: [#&#8203;36792](https://github.com/vercel/next.js/issues/36792) - Build x86\_64-freebsd SWC binary: [#&#8203;36826](https://github.com/vercel/next.js/issues/36826) - Don't convert error to string: [#&#8203;36804](https://github.com/vercel/next.js/issues/36804) - fix([#&#8203;36534](https://github.com/vercel/next.js/issues/36534)): enable interopClientDefaultExport for next/jest: [#&#8203;36824](https://github.com/vercel/next.js/issues/36824) - fix([#&#8203;30300](https://github.com/vercel/next.js/issues/30300)): force export 404.html: [#&#8203;36827](https://github.com/vercel/next.js/issues/36827) - Telemetry: track usage of 'experimental/nextScriptWorkers': [#&#8203;36812](https://github.com/vercel/next.js/issues/36812) - Eagerly load swc bindings for wasm fallback for jest: [#&#8203;36784](https://github.com/vercel/next.js/issues/36784) - Add experimental config for basePath testing: [#&#8203;36843](https://github.com/vercel/next.js/issues/36843) - Enable html post optimization for react 18: [#&#8203;36837](https://github.com/vercel/next.js/issues/36837) - Update client router for tests: [#&#8203;36822](https://github.com/vercel/next.js/issues/36822) - Fix return type of middleware `req.cookies.get()`: [#&#8203;36872](https://github.com/vercel/next.js/issues/36872) - Make esm default interpolation work with jest mock: [#&#8203;36877](https://github.com/vercel/next.js/issues/36877) - Decouple entries for server components and client components: [#&#8203;36860](https://github.com/vercel/next.js/issues/36860) - fix([#&#8203;36855](https://github.com/vercel/next.js/issues/36855)/[#&#8203;30300](https://github.com/vercel/next.js/issues/30300)): export 404.html correctly: [#&#8203;36910](https://github.com/vercel/next.js/issues/36910) - Drop the unstable web vital hook and remove exports of flush effects: [#&#8203;36912](https://github.com/vercel/next.js/issues/36912) - Update swc: [#&#8203;36745](https://github.com/vercel/next.js/issues/36745) - Add additional layer for server components case: [#&#8203;36921](https://github.com/vercel/next.js/issues/36921) - Support graceful shutdowns: [#&#8203;36909](https://github.com/vercel/next.js/issues/36909) - Update [@&#8203;types/node-fetch](https://github.com/types/node-fetch) to latest: [#&#8203;36953](https://github.com/vercel/next.js/issues/36953) - Fix SWC dynamic transform with suspense but without ssr: [#&#8203;36825](https://github.com/vercel/next.js/issues/36825) - fix([#&#8203;36651](https://github.com/vercel/next.js/issues/36651)): disable reactRemoveProperties in jest transform: [#&#8203;36922](https://github.com/vercel/next.js/issues/36922) - Update swc: [#&#8203;36972](https://github.com/vercel/next.js/issues/36972) - Update lockfile patching for different versions: [#&#8203;36959](https://github.com/vercel/next.js/issues/36959) - Add support for browserslist and legacyBrowsers experimental option: [#&#8203;36584](https://github.com/vercel/next.js/issues/36584) - Remove optional chaining from eslint rule to support older node versions: [#&#8203;36978](https://github.com/vercel/next.js/issues/36978) - escape flight response values: [#&#8203;36989](https://github.com/vercel/next.js/issues/36989) - fix(middleware): false positive dynamic code detection at build time: [#&#8203;36955](https://github.com/vercel/next.js/issues/36955) - Fix interopDefault on jest object-proxy: [#&#8203;37002](https://github.com/vercel/next.js/issues/37002) - Simplify the logic for static flight response generation: [#&#8203;36984](https://github.com/vercel/next.js/issues/36984) - Fixes `beforeInteractive` scripts failing in custom document: [#&#8203;37000](https://github.com/vercel/next.js/issues/37000) - Change experimental `layout=raw` to use native img lazy loading: [#&#8203;36985](https://github.com/vercel/next.js/issues/36985) - Don't add locale to client side redirects from data fetching: [#&#8203;36944](https://github.com/vercel/next.js/issues/36944) - Edge Cookies: Add `.getWithOptions` method: [#&#8203;36943](https://github.com/vercel/next.js/issues/36943) - Deprecate nested Middleware in favor of root middleware: [#&#8203;36772](https://github.com/vercel/next.js/issues/36772) - Fix styled-jsx not working in client components in the edge runtime when SSR: [#&#8203;37042](https://github.com/vercel/next.js/issues/37042) - Update to latest version of [@&#8203;vercel/nft](https://github.com/vercel/nft): [#&#8203;37041](https://github.com/vercel/next.js/issues/37041) - Fixes beforeInteractive inline scripts don't run: [#&#8203;37033](https://github.com/vercel/next.js/issues/37033) - Update swc: [#&#8203;37009](https://github.com/vercel/next.js/issues/37009) - feat(middleware)!: forbids middleware response body: [#&#8203;36835](https://github.com/vercel/next.js/issues/36835) - Extract and refactor `getPageStaticInfo`: [#&#8203;37062](https://github.com/vercel/next.js/issues/37062) - Keep custom app as non server component: [#&#8203;37044](https://github.com/vercel/next.js/issues/37044) - Ensure hydration error doc link is shown with react 18: [#&#8203;37074](https://github.com/vercel/next.js/issues/37074) - Stabilize SWC emotion transform plugin: [#&#8203;37058](https://github.com/vercel/next.js/issues/37058) - DecodeError from invalid URI causes 500 with middleware (vs 400 without): [#&#8203;36993](https://github.com/vercel/next.js/issues/36993) - feat: Opt-out Error page from dark scheme color: [#&#8203;36951](https://github.com/vercel/next.js/issues/36951) - Properly await for this.hasPage() in base-server: [#&#8203;37091](https://github.com/vercel/next.js/issues/37091) - Enable Trusted Types Compatibility in Webpack: [#&#8203;36750](https://github.com/vercel/next.js/issues/36750) - Fix Trusted Types violations from dangerouslySetInnerHTML on style elements: [#&#8203;36751](https://github.com/vercel/next.js/issues/36751) - Remove invalid attrs for head html element: [#&#8203;36457](https://github.com/vercel/next.js/issues/36457) - Fix next/link can't jump to non-latin anchors: [#&#8203;36430](https://github.com/vercel/next.js/issues/36430) - Fix: Cleaner error message when importing sass without it being installed in dev: [#&#8203;35051](https://github.com/vercel/next.js/issues/35051) - fix([#&#8203;33081](https://github.com/vercel/next.js/issues/33081)): handle relative path correctly: [#&#8203;36823](https://github.com/vercel/next.js/issues/36823) - fix: place the charset meta tag at the top of the head: [#&#8203;36561](https://github.com/vercel/next.js/issues/36561) - keep method when cloning Request, fixes [#&#8203;36522](https://github.com/vercel/next.js/issues/36522): [#&#8203;36539](https://github.com/vercel/next.js/issues/36539) - fix: Catch hash change errors, and emit a `routeChangeError` event: [#&#8203;36828](https://github.com/vercel/next.js/issues/36828) - fix: should listen for config file changes when specifying the app directory: [#&#8203;36570](https://github.com/vercel/next.js/issues/36570) - improve getStaticProps error message: [#&#8203;34287](https://github.com/vercel/next.js/issues/34287) - next-swc: Improve error message for nested styled jsx tags: [#&#8203;33805](https://github.com/vercel/next.js/issues/33805) - Add missing file in mini-css-extract-plugin: [#&#8203;25691](https://github.com/vercel/next.js/issues/25691) - fix NextApiRequestCookies and NextApiRequestQuery types: [#&#8203;25532](https://github.com/vercel/next.js/issues/25532) - Add eslint rule for not allowing styled-jsx in \_document.js: [#&#8203;32678](https://github.com/vercel/next.js/issues/32678) - fix: Scroll restoration bug caused by `idx` reset to 0 on reload: [#&#8203;36861](https://github.com/vercel/next.js/issues/36861) - Add JSX.Element to styles type in DocumentInitialProps: [#&#8203;36392](https://github.com/vercel/next.js/issues/36392) - Fix Type to solve issue found in [#&#8203;36008](https://github.com/vercel/next.js/issues/36008): [#&#8203;36671](https://github.com/vercel/next.js/issues/36671) - Warn when building a TS project with composite: true and fallback to incremental: [#&#8203;35270](https://github.com/vercel/next.js/issues/35270) - Support TS exactOptionalPropertyTypes (fixes [#&#8203;35280](https://github.com/vercel/next.js/issues/35280)): [#&#8203;35281](https://github.com/vercel/next.js/issues/35281) - feat(middleware): issues warnings when using node.js global APIs in middleware: [#&#8203;36980](https://github.com/vercel/next.js/issues/36980) - perf: run type check and eslint in parallel: [#&#8203;37105](https://github.com/vercel/next.js/issues/37105) - Remove process.cwd usage from path polyfill: [#&#8203;37130](https://github.com/vercel/next.js/issues/37130) - Bump `@vercel/nft` to 0.19.1: [#&#8203;37129](https://github.com/vercel/next.js/issues/37129) - Add libc field to swc packages: [#&#8203;37131](https://github.com/vercel/next.js/issues/37131) - chore(devDeps): bump [@&#8203;vercel/ncc](https://github.com/vercel/ncc) to 0.33.4: [#&#8203;37113](https://github.com/vercel/next.js/issues/37113) - fix(typescript): worker execution failed with custom `next.config.js`: [#&#8203;37125](https://github.com/vercel/next.js/issues/37125) - Update swc: [#&#8203;37148](https://github.com/vercel/next.js/issues/37148) - Update swc: [#&#8203;37149](https://github.com/vercel/next.js/issues/37149) - Fix client component hydration: [#&#8203;37134](https://github.com/vercel/next.js/issues/37134) - Avoid anonymous function in next/link: [#&#8203;37154](https://github.com/vercel/next.js/issues/37154) - should render the correct sizes passed when a noscript is rendered: [#&#8203;37161](https://github.com/vercel/next.js/issues/37161) - Use customized chunk loading implementation: [#&#8203;37163](https://github.com/vercel/next.js/issues/37163) - Rename app paths folder: [#&#8203;37146](https://github.com/vercel/next.js/issues/37146) - Fix experimental `remotePatterns` wildcard: [#&#8203;37137](https://github.com/vercel/next.js/issues/37137) - Split useServerResponse for initial responses: [#&#8203;37209](https://github.com/vercel/next.js/issues/37209) - Refactor fetchFlight: [#&#8203;37213](https://github.com/vercel/next.js/issues/37213) - build: import useSyncExternalStore from react when using react 18: [#&#8203;37212](https://github.com/vercel/next.js/issues/37212) - feat(next/swc): support experimental swc plugins: [#&#8203;36790](https://github.com/vercel/next.js/issues/36790) - Small code improvements: [#&#8203;37227](https://github.com/vercel/next.js/issues/37227) - build(actions): skip plugin features for non supported platform: [#&#8203;37229](https://github.com/vercel/next.js/issues/37229) - Use deterministic module IDs in the client bundle: [#&#8203;37249](https://github.com/vercel/next.js/issues/37249) - Execute middleware on Next.js internal requests: [#&#8203;37121](https://github.com/vercel/next.js/issues/37121) - Preload chunks for next/dynamic in suspense mode: [#&#8203;37245](https://github.com/vercel/next.js/issues/37245) - Refactor incremental cache to be extensible: [#&#8203;37258](https://github.com/vercel/next.js/issues/37258) - Ignore popstate with invalid state: [#&#8203;37110](https://github.com/vercel/next.js/issues/37110) - Show warning during build if page is returning a large amount of data: [#&#8203;37264](https://github.com/vercel/next.js/issues/37264) - Add `swcMinifyDebugOptions`: [#&#8203;37172](https://github.com/vercel/next.js/issues/37172) - Update to leverage pnpm for monorepo: [#&#8203;37259](https://github.com/vercel/next.js/issues/37259) - Refactor client component out of client runtime: [#&#8203;37238](https://github.com/vercel/next.js/issues/37238) - Update to not trigger revalidation during prefetch: [#&#8203;37201](https://github.com/vercel/next.js/issues/37201) - Upgrade amp optimizer to v2.8.3: [#&#8203;27106](https://github.com/vercel/next.js/issues/27106) - Use Edge Runtime for running Edge Functions locally: [#&#8203;37024](https://github.com/vercel/next.js/issues/37024) - fix: do not pass `legacyBehaviour` to `a` as prop: [#&#8203;37306](https://github.com/vercel/next.js/issues/37306) - Add router replace to experiment: [#&#8203;37312](https://github.com/vercel/next.js/issues/37312) - Extract router utils to common functions: [#&#8203;37313](https://github.com/vercel/next.js/issues/37313) - Include router context as rsc shared dep: [#&#8203;37320](https://github.com/vercel/next.js/issues/37320) - Update to leverage turbo for build/prepublish: [#&#8203;37280](https://github.com/vercel/next.js/issues/37280) - Update of [@&#8203;babel/core](https://github.com/babel/core): [#&#8203;37145](https://github.com/vercel/next.js/issues/37145) - Migrate prerender lru cache into fs cache handler: [#&#8203;37326](https://github.com/vercel/next.js/issues/37326) - support `runtime: edge` in api endpoints: [#&#8203;36947](https://github.com/vercel/next.js/issues/36947) - Revert "support `runtime: edge` in api endpoints": [#&#8203;37337](https://github.com/vercel/next.js/issues/37337) - Ensure type check/link worker does not retry: [#&#8203;37324](https://github.com/vercel/next.js/issues/37324) - Revert "Revert "support `runtime: edge` in api endpoints"": [#&#8203;37344](https://github.com/vercel/next.js/issues/37344) - Revert Edge API endpoints: [#&#8203;37350](https://github.com/vercel/next.js/issues/37350) - Handle link with back/forward navigation: [#&#8203;37332](https://github.com/vercel/next.js/issues/37332) - Edge Functions: deprecate access to `request.page`: [#&#8203;37349](https://github.com/vercel/next.js/issues/37349) - Fix bloat in main bundle from amp: [#&#8203;37383](https://github.com/vercel/next.js/issues/37383) - Add Suspense boundary to demo: [#&#8203;37393](https://github.com/vercel/next.js/issues/37393) - update webpack and watchpack: [#&#8203;37397](https://github.com/vercel/next.js/issues/37397) - Fix next dev not working for server components in app: [#&#8203;37403](https://github.com/vercel/next.js/issues/37403) - Use the new moduleMap option in the flight client during SSR: [#&#8203;37406](https://github.com/vercel/next.js/issues/37406) - Remove unused id rsc cache cleaning and avoid rsc refresh existed in client chunk: [#&#8203;37404](https://github.com/vercel/next.js/issues/37404) - Allow Middleware to set its matcher: [#&#8203;37177](https://github.com/vercel/next.js/issues/37177) - Skip loading unused plugins in `next dev`: [#&#8203;37430](https://github.com/vercel/next.js/issues/37430) - Fix `next/image` using `layout=raw` with `priority`: [#&#8203;37381](https://github.com/vercel/next.js/issues/37381) - Fix document head with react 18: [#&#8203;37443](https://github.com/vercel/next.js/issues/37443) - Set `swcMinify` as an attribute on `terser-webpack-plugin-optimize` span: [#&#8203;37416](https://github.com/vercel/next.js/issues/37416) - Allowing hiding the ReactDevOverlay: [#&#8203;37417](https://github.com/vercel/next.js/issues/37417) - Ensure ENOENT error is not ignored when loading pages: [#&#8203;37486](https://github.com/vercel/next.js/issues/37486) - Upgrade node-html-parser: [#&#8203;37449](https://github.com/vercel/next.js/issues/37449) - Fix invalid middleware regexp in manifest: [#&#8203;37492](https://github.com/vercel/next.js/issues/37492) - Avoid unnecessary router state changes: [#&#8203;37431](https://github.com/vercel/next.js/issues/37431) - Enable externalHelpers swc option: [#&#8203;37150](https://github.com/vercel/next.js/issues/37150) - Add check for duplicate locales: [#&#8203;37485](https://github.com/vercel/next.js/issues/37485) - add method to measure Interaction to Next Paint (INP): [#&#8203;36490](https://github.com/vercel/next.js/issues/36490) - chore: remove unused variable: [#&#8203;37538](https://github.com/vercel/next.js/issues/37538) - Update to latest version of [@&#8203;swc/helpers](https://github.com/swc/helpers): [#&#8203;37531](https://github.com/vercel/next.js/issues/37531) - \[middleware] Support any `method` when fetching a `Request` instance: [#&#8203;37540](https://github.com/vercel/next.js/issues/37540) - Migrate head side effects to hooks: [#&#8203;37526](https://github.com/vercel/next.js/issues/37526) - chore: remove unused safari nomodule fix: [#&#8203;37541](https://github.com/vercel/next.js/issues/37541) - fix([#&#8203;37106](https://github.com/vercel/next.js/issues/37106)): middleware can not be loaded from src folder: [#&#8203;37428](https://github.com/vercel/next.js/issues/37428) - Remove Middleware Preflight: [#&#8203;37490](https://github.com/vercel/next.js/issues/37490) - fix(eslint): false positive for legit next/server imports: [#&#8203;37515](https://github.com/vercel/next.js/issues/37515) - chore: reworks nested middleware error message: [#&#8203;37513](https://github.com/vercel/next.js/issues/37513) - Revert "Avoid unnecessary router state changes": [#&#8203;37572](https://github.com/vercel/next.js/issues/37572) - Middleware: remove `req.ua`: [#&#8203;37512](https://github.com/vercel/next.js/issues/37512) - \[middleware] support destructuring for env vars in static analysis: [#&#8203;37556](https://github.com/vercel/next.js/issues/37556) - Fix react root env missing in NextServer: [#&#8203;37562](https://github.com/vercel/next.js/issues/37562) - Fix client entry unexpectedly created in app dir: [#&#8203;37561](https://github.com/vercel/next.js/issues/37561) - Ensure check-precompiled exits correctly on failure: [#&#8203;37592](https://github.com/vercel/next.js/issues/37592) - Revert "Revert "Avoid unnecessary router state changes"": [#&#8203;37593](https://github.com/vercel/next.js/issues/37593) - Update to process redirects/rewrites for \_next/data with middleware: [#&#8203;37574](https://github.com/vercel/next.js/issues/37574) - Bump [@&#8203;vercel/nft](https://github.com/vercel/nft) 0.20.0: [#&#8203;37602](https://github.com/vercel/next.js/issues/37602) - Strip next internal queries for flight response: [#&#8203;37617](https://github.com/vercel/next.js/issues/37617) - chore: narrows regexp to enable middleware source maps: [#&#8203;37582](https://github.com/vercel/next.js/issues/37582) - feat(next export): add warning if using getInitialProps: [#&#8203;37642](https://github.com/vercel/next.js/issues/37642) - Update matched path params priority: [#&#8203;37646](https://github.com/vercel/next.js/issues/37646) - Re-introduce Edge API Endpoints: [#&#8203;37481](https://github.com/vercel/next.js/issues/37481) - Fix rewrite/dynamic interpolation E2E cases: [#&#8203;37669](https://github.com/vercel/next.js/issues/37669) - Fix Image Optimization cache-control regression with external images: [#&#8203;37625](https://github.com/vercel/next.js/issues/37625) - Adds consistency to ESLint rules.: [#&#8203;34335](https://github.com/vercel/next.js/issues/34335) - Ensure custom middleware matcher is used correctly in client manifest: [#&#8203;37672](https://github.com/vercel/next.js/issues/37672) - Optimize middleware regex handling: [#&#8203;37688](https://github.com/vercel/next.js/issues/37688) - Revert "Revert "Revert "Avoid unnecessary router state changes""": [#&#8203;37692](https://github.com/vercel/next.js/issues/37692) - Add test combining middleware & config rewrites: [#&#8203;37667](https://github.com/vercel/next.js/issues/37667) - fix(ts): expose `DynamicOptionsLoadingProps` type: [#&#8203;37700](https://github.com/vercel/next.js/issues/37700) - Improve Middleware errors: [#&#8203;37695](https://github.com/vercel/next.js/issues/37695) - Ensure navigating with middleware parses route params correctly: [#&#8203;37704](https://github.com/vercel/next.js/issues/37704) - Fix shallow routing with rewrites/middleware: [#&#8203;37716](https://github.com/vercel/next.js/issues/37716) - chore: bump react dev dep to 18.2: [#&#8203;37697](https://github.com/vercel/next.js/issues/37697) - Ensure rewrite query params with middleware are available in router: [#&#8203;37724](https://github.com/vercel/next.js/issues/37724) - Update pre-compiled: [#&#8203;37729](https://github.com/vercel/next.js/issues/37729) - fix(eslint): allow <img> in conjunction with <picture> ([#&#8203;37504](https://github.com/vercel/next.js/issues/37504)): [#&#8203;37570](https://github.com/vercel/next.js/issues/37570) - \[middleware] Warn dynamic WASM compilation: [#&#8203;37681](https://github.com/vercel/next.js/issues/37681) - Update to skip middleware for unstable_revalidate: [#&#8203;37734](https://github.com/vercel/next.js/issues/37734) - Remove previous query param deleting warning: [#&#8203;37740](https://github.com/vercel/next.js/issues/37740) - Enhance experimental feature warning: [#&#8203;37752](https://github.com/vercel/next.js/issues/37752) - Add `images.unoptimized: true` for easy `next export`: [#&#8203;37698](https://github.com/vercel/next.js/issues/37698) - Ensure eslint-config warning/errors are correct: [#&#8203;37760](https://github.com/vercel/next.js/issues/37760) - Refactor server routing: [#&#8203;37725](https://github.com/vercel/next.js/issues/37725) - refactor(middleware): leverages edge-runtime builtins to decorate errors in dev: [#&#8203;37718](https://github.com/vercel/next.js/issues/37718) - Ensure query params are populated correctly with middleware: [#&#8203;37784](https://github.com/vercel/next.js/issues/37784) - Use SVG blur technique for raw layout images: [#&#8203;37022](https://github.com/vercel/next.js/issues/37022) - fix(config): only warn experimental feature when used: [#&#8203;37755](https://github.com/vercel/next.js/issues/37755) - Display full refresh warning even when error has occurred: [#&#8203;37425](https://github.com/vercel/next.js/issues/37425) - Detect pnpm correctly when installing missing dependencies: [#&#8203;37813](https://github.com/vercel/next.js/issues/37813) - Throw an error when `target: 'serverless'` is used with Middleware: [#&#8203;37819](https://github.com/vercel/next.js/issues/37819) - Enable `externalHelpers` when pre compiling Next.js' code: [#&#8203;37164](https://github.com/vercel/next.js/issues/37164) - Revert "Enable `externalHelpers` when pre compiling Next.js' code": [#&#8203;37829](https://github.com/vercel/next.js/issues/37829) - Allow Edge Functions to receive body: [#&#8203;37822](https://github.com/vercel/next.js/issues/37822) - Add hard navigation guard and fix middleware rewrite cases: [#&#8203;37815](https://github.com/vercel/next.js/issues/37815) - \[edge api] allow wasm usage: [#&#8203;37836](https://github.com/vercel/next.js/issues/37836) - Include i18 and basePath on middleware with custom matchers: [#&#8203;37854](https://github.com/vercel/next.js/issues/37854) - Fix compile time log after error: [#&#8203;37863](https://github.com/vercel/next.js/issues/37863) - Fix `<Image/>`'s `lazyRoot` and other optimizations: [#&#8203;37447](https://github.com/vercel/next.js/issues/37447) - resolve swc-plugin paths: [#&#8203;37412](https://github.com/vercel/next.js/issues/37412) - Update swc: [#&#8203;37607](https://github.com/vercel/next.js/issues/37607) - Ensure next-server tracing uses tracing root config: [#&#8203;37888](https://github.com/vercel/next.js/issues/37888) - Migrate middleware ssr to edge functions: [#&#8203;37708](https://github.com/vercel/next.js/issues/37708) - refactor: merge duplicated render page logic: [#&#8203;37897](https://github.com/vercel/next.js/issues/37897) - Fix styled-jsx types when package is not hoisted: [#&#8203;37902](https://github.com/vercel/next.js/issues/37902) - Remove full reload overlay and warn in CLI instead: [#&#8203;37874](https://github.com/vercel/next.js/issues/37874) - Remove NextResponse.json as we already have it defined from inheriting Response: [#&#8203;37887](https://github.com/vercel/next.js/issues/37887) - fix: keep \_ssgManifest.js output uniform: [#&#8203;37906](https://github.com/vercel/next.js/issues/37906) - Fix next/head in \_app in RSC pages: [#&#8203;37928](https://github.com/vercel/next.js/issues/37928) - Ensure resolvedUrl is correct with fallback rewrites: [#&#8203;37932](https://github.com/vercel/next.js/issues/37932) - Ensure special chars in middleware matcher is handled: [#&#8203;37933](https://github.com/vercel/next.js/issues/37933) - Drop experimental.reactRoot in favor of auto detection: [#&#8203;37956](https://github.com/vercel/next.js/issues/37956) - feat: enable configuration of `styled-components` transform and enable `css` prop support: [#&#8203;37861](https://github.com/vercel/next.js/issues/37861) - feat: enable styled-components css prop swc transform by default: [#&#8203;37962](https://github.com/vercel/next.js/issues/37962) - Ensure cache-control is correct when returning redirect: [#&#8203;37958](https://github.com/vercel/next.js/issues/37958) - Move styled-jsx type reference: [#&#8203;37964](https://github.com/vercel/next.js/issues/37964) - Add experimental `next/future/image` component: [#&#8203;37927](https://github.com/vercel/next.js/issues/37927) - Remove Middleware warning message: [#&#8203;37973](https://github.com/vercel/next.js/issues/37973) - Fix hard navigation guard on popstate and handle fetching fresh data: [#&#8203;37970](https://github.com/vercel/next.js/issues/37970) - Fixes for middleware compilation errors: [#&#8203;37984](https://github.com/vercel/next.js/issues/37984) - Fix npm publish to include `future` folder: [#&#8203;37999](https://github.com/vercel/next.js/issues/37999) - Move outputStandalone config: [#&#8203;37994](https://github.com/vercel/next.js/issues/37994) - Move `rimraf` from root packages using it: [#&#8203;37996](https://github.com/vercel/next.js/issues/37996) - On-demand ISR updates: [#&#8203;37955](https://github.com/vercel/next.js/issues/37955) - fix: hardcoded protocol in request url: [#&#8203;37925](https://github.com/vercel/next.js/issues/37925) - Fix eslint-config-next peer dep issue: [#&#8203;38009](https://github.com/vercel/next.js/issues/38009) - fix([#&#8203;37981](https://github.com/vercel/next.js/issues/37981)): handle legacy link behavior with number type children: [#&#8203;38013](https://github.com/vercel/next.js/issues/38013) - Fix invalid warning for existing experimental flag: [#&#8203;38027](https://github.com/vercel/next.js/issues/38027) - feat(cli): allow configuration of http-server's timeout configuration: [#&#8203;35827](https://github.com/vercel/next.js/issues/35827) - \[eslint-plugin-next] remove `no-server-import-in-page` rule: [#&#8203;38028](https://github.com/vercel/next.js/issues/38028) - chore: rename middleware ssr loader and flight manifest to edge related: [#&#8203;38042](https://github.com/vercel/next.js/issues/38042) - Ensure we do not ignore module not found errors during build: [#&#8203;38026](https://github.com/vercel/next.js/issues/38026) - Rename page runtime edge to experimental-edge: [#&#8203;38041](https://github.com/vercel/next.js/issues/38041) - chore: make experimental images options optional: [#&#8203;38030](https://github.com/vercel/next.js/issues/38030) - Remove layout raw image experiment: [#&#8203;38006](https://github.com/vercel/next.js/issues/38006) - \[Script] Allow `next/script` to be placed in `_document` body: [#&#8203;37894](https://github.com/vercel/next.js/issues/37894) - \[middleware] avoid fetching a chunk for api endpoints on middleware redirect: [#&#8203;37949](https://github.com/vercel/next.js/issues/37949) - Upgrade Edge Runtime: [#&#8203;38069](https://github.com/vercel/next.js/issues/38069) - feat(cli): report `eslint-config-next` version in `next info`: [#&#8203;38062](https://github.com/vercel/next.js/issues/38062) - Add invariant with debug information when failing to load static file: [#&#8203;38075](https://github.com/vercel/next.js/issues/38075) - Add error for renaming of unstable_revalidate: [#&#8203;38070](https://github.com/vercel/next.js/issues/38070) - fix(next): bind new stream functions with base incomingMessage object: [#&#8203;37806](https://github.com/vercel/next.js/issues/37806) - Add `init` to some `NextResponse` methods: [#&#8203;38071](https://github.com/vercel/next.js/issues/38071) - Fix resolving dynamic routes when on returns a redirect: [#&#8203;38079](https://github.com/vercel/next.js/issues/38079) - Remove unnecessary `<noscript>` from `next/future/image`: [#&#8203;38080](https://github.com/vercel/next.js/issues/38080) - Ensure history navigation is correct after query update: [#&#8203;38086](https://github.com/vercel/next.js/issues/38086) - Ensure client cache keys match between prefetch and transition: [#&#8203;38089](https://github.com/vercel/next.js/issues/38089) - Upgrade Edge Runtime: [#&#8203;38105](https://github.com/vercel/next.js/issues/38105) ##### Documentation Changes - docs: add jest-environment-jsdom package for Jest configuration: [#&#8203;36632](https://github.com/vercel/next.js/issues/36632) - Added type to Page Component for TypeScript: [#&#8203;36608](https://github.com/vercel/next.js/issues/36608) - Improve wording: [#&#8203;36649](https://github.com/vercel/next.js/issues/36649) - fix(docs): mention cookies in context: [#&#8203;36342](https://github.com/vercel/next.js/issues/36342) - Add docs about nextRuntime for custom webpack: [#&#8203;36685](https://github.com/vercel/next.js/issues/36685) - Updated the middleware api docs env section to remove dev and prod : [#&#8203;36739](https://github.com/vercel/next.js/issues/36739) - Fixed typo: [#&#8203;36753](https://github.com/vercel/next.js/issues/36753) - Fixing Tina + Adding a demo URL: [#&#8203;35480](https://github.com/vercel/next.js/issues/35480) - Updated copy around enabling source maps: [#&#8203;36852](https://github.com/vercel/next.js/issues/36852) - scss exects semicolon: [#&#8203;36779](https://github.com/vercel/next.js/issues/36779) - docs: add more details about nextRuntime in webpack config and runtime in next config: [#&#8203;36862](https://github.com/vercel/next.js/issues/36862) - Move CI build cache instructions to Deployment docs: [#&#8203;35418](https://github.com/vercel/next.js/issues/35418) - docs: adding changes to setCookie example: [#&#8203;36870](https://github.com/vercel/next.js/issues/36870) - Update no-floating-promises lint rule docs page: [#&#8203;36913](https://github.com/vercel/next.js/issues/36913) - Update runtime-configuration.md: [#&#8203;36923](https://github.com/vercel/next.js/issues/36923) - Clarify .env\* environment variable priority: [#&#8203;36967](https://github.com/vercel/next.js/issues/36967) - Add note clarifying pnpm args handling: [#&#8203;37049](https://github.com/vercel/next.js/issues/37049) - typo: Change yarn into pnpm: [#&#8203;37092](https://github.com/vercel/next.js/issues/37092) - Include router.asPath caveats in docs: [#&#8203;36876](https://github.com/vercel/next.js/issues/36876) - docs: clarify environment variables behavior: [#&#8203;36620](https://github.com/vercel/next.js/issues/36620) - docs: Add pageExtensions usage note in API Routes: [#&#8203;35918](https://github.com/vercel/next.js/issues/35918) - Add docs about locale: [#&#8203;33401](https://github.com/vercel/next.js/issues/33401) - Clarify conditions under which process.env expressions are inlined: [#&#8203;33212](https://github.com/vercel/next.js/issues/33212) - Update testing.md: [#&#8203;29954](https://github.com/vercel/next.js/issues/29954) - Add section for jetbrains webstorm debugging: [#&#8203;24556](https://github.com/vercel/next.js/issues/24556) - Update incremental-static-regeneration.md: [#&#8203;37159](https://github.com/vercel/next.js/issues/37159) - Docs: missing parenthesis on example: [#&#8203;37156](https://github.com/vercel/next.js/issues/37156) - Use appropriate `className` attribute for JSX: [#&#8203;37168](https://github.com/vercel/next.js/issues/37168) - Fix broken links in image.md: [#&#8203;37223](https://github.com/vercel/next.js/issues/37223) - Add note that `next build` output is compressed.: [#&#8203;37228](https://github.com/vercel/next.js/issues/37228) - add supported API's link to middleware docs: [#&#8203;37251](https://github.com/vercel/next.js/issues/37251) - Update `pnpm create next-app` for latest pnpm 6 and 7: [#&#8203;37254](https://github.com/vercel/next.js/issues/37254) - \[docs] Clarify "When does getStaticProps run" note: [#&#8203;37289](https://github.com/vercel/next.js/issues/37289) - Improve `next/dynamic` docs and add links to layouts RFC.: [#&#8203;37244](https://github.com/vercel/next.js/issues/37244) - Add a note: [#&#8203;37315](https://github.com/vercel/next.js/issues/37315) - docs: fix usage in middleware errors: [#&#8203;37364](https://github.com/vercel/next.js/issues/37364) - Update nested Middleware error reference.: [#&#8203;37368](https://github.com/vercel/next.js/issues/37368) - Add note about NEXT_DATA hydration: [#&#8203;37480](https://github.com/vercel/next.js/issues/37480) - Update deployment documentation.: [#&#8203;37571](https://github.com/vercel/next.js/issues/37571) - i18n regression tests and docs for ignore locale in rewrite: [#&#8203;37581](https://github.com/vercel/next.js/issues/37581) - \[Script] Updates stale `no-script-in-document-page` error doc: [#&#8203;37568](https://github.com/vercel/next.js/issues/37568) - Fix links in google-font-display error: [#&#8203;37661](https://github.com/vercel/next.js/issues/37661) - Update Jest config with SWC docs: [#&#8203;37705](https://github.com/vercel/next.js/issues/37705) - Add upgrade guide for Middleware.: [#&#8203;37382](https://github.com/vercel/next.js/issues/37382) - Add missing error manifest entry and fix lint: [#&#8203;37758](https://github.com/vercel/next.js/issues/37758) - fix grammar in failed-loading-swc: [#&#8203;37765](https://github.com/vercel/next.js/issues/37765) - Update 4MB API Routes warning error guide.: [#&#8203;37779](https://github.com/vercel/next.js/issues/37779) - Update custom-document.md: [#&#8203;37811](https://github.com/vercel/next.js/issues/37811) - Fix broken link for no-script-in-document-page error.: [#&#8203;37831](https://github.com/vercel/next.js/issues/37831) - fix typo in example section of dynamic-import.md: [#&#8203;37834](https://github.com/vercel/next.js/issues/37834) - fix: missing parentheses: [#&#8203;37839](https://github.com/vercel/next.js/issues/37839) - Describe relation between region locale and country locale when a country is not found: [#&#8203;37745](https://github.com/vercel/next.js/issues/37745) - Change Middleware error guide from `.js` to `.ts`.: [#&#8203;37858](https://github.com/vercel/next.js/issues/37858) - Update Middleware docs to mention canary version.: [#&#8203;37865](https://github.com/vercel/next.js/issues/37865) - Fix typo in dynamic import section of dynamic-import.md: [#&#8203;37872](https://github.com/vercel/next.js/issues/37872) - chore(examples): fix `active-class-name` example: [#&#8203;37828](https://github.com/vercel/next.js/issues/37828) - Fix some casing of "On-Demand ISR": [#&#8203;37892](https://github.com/vercel/next.js/issues/37892) - Adds new userAgent docs to the next/server docs page: [#&#8203;37613](https://github.com/vercel/next.js/issues/37613) - Add a Plasmic example: [#&#8203;37522](https://github.com/vercel/next.js/issues/37522) - Update Middleware beta message.: [#&#8203;37934](https://github.com/vercel/next.js/issues/37934) - docs: clarify `NextRequest.ip`: [#&#8203;37987](https://github.com/vercel/next.js/issues/37987) - docs: return response in code example: [#&#8203;37985](https://github.com/vercel/next.js/issues/37985) - Fix flaky `onLoad()` test for `next/image/future`: [#&#8203;37993](https://github.com/vercel/next.js/issues/37993) - Fix typo for rewrites to rewrite.: [#&#8203;38000](https://github.com/vercel/next.js/issues/38000) - Add note about skipping upstream cache during revalidation: [#&#8203;38014](https://github.com/vercel/next.js/issues/38014) - Add SWC plugins to version history in docs.: [#&#8203;38039](https://github.com/vercel/next.js/issues/38039) - Fix typo for rewrites/redirects to rewrite/redirect: [#&#8203;38016](https://github.com/vercel/next.js/issues/38016) - Added ESLint upgrade instructions to middleware upgrade guide: [#&#8203;38008](https://github.com/vercel/next.js/issues/38008) - Rephrase middleware location: [#&#8203;38073](https://github.com/vercel/next.js/issues/38073) - Update middleware-upgrade-guide to be consistent: [#&#8203;38102](https://github.com/vercel/next.js/issues/38102) ##### Example Changes - Update buttercms example: [#&#8203;35436](https://github.com/vercel/next.js/issues/35436) - Fix mobile tests in with-playwright: [#&#8203;36705](https://github.com/vercel/next.js/issues/36705) - added example: with-geist-ui: [#&#8203;36525](https://github.com/vercel/next.js/issues/36525) - chore: upgrade dependencies in Jest examples: [#&#8203;36858](https://github.com/vercel/next.js/issues/36858) - Example/facebook pixel script: [#&#8203;34417](https://github.com/vercel/next.js/issues/34417) - fix(examples): maxlength was inconsistent: [#&#8203;36840](https://github.com/vercel/next.js/issues/36840) - chore: update Jest example snapshots: [#&#8203;36884](https://github.com/vercel/next.js/issues/36884) - Remove un-helpful error in with-sentry example: [#&#8203;36902](https://github.com/vercel/next.js/issues/36902) - Update to with-supertokens example: [#&#8203;36906](https://github.com/vercel/next.js/issues/36906) - Add with-markdoc/ example: [#&#8203;36867](https://github.com/vercel/next.js/issues/36867) - custom-server-express fix type definition and eliminate dead code: [#&#8203;37054](https://github.com/vercel/next.js/issues/37054) - fix(examples/with-segment-analytics): Update README: [#&#8203;35387](https://github.com/vercel/next.js/issues/35387) - fix(with-tailwindcss-emotion): 'theme' of undefined: [#&#8203;35588](https://github.com/vercel/next.js/issues/35588) - update zustand example: [#&#8203;35022](https://github.com/vercel/next.js/issues/35022) - example: Added with-contentlayer example: [#&#8203;30045](https://github.com/vercel/next.js/issues/30045) - docs: svg as component example leveraging swc instead of babeljs: [#&#8203;36410](https://github.com/vercel/next.js/issues/36410) - Fix gh-pages example for windows user: [#&#8203;35169](https://github.com/vercel/next.js/issues/35169) - Use apollo onError in with-apollo example: [#&#8203;25051](https://github.com/vercel/next.js/issues/25051) - \[EXAMPLES] fix apollo client cache hydration: [#&#8203;27799](https://github.com/vercel/next.js/issues/27799) - docs(with-sentry): Add note regarding replacing wizardcopy.js config files: [#&#8203;37039](https://github.com/vercel/next.js/issues/37039) - feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes: [#&#8203;36439](https://github.com/vercel/next.js/issues/36439) - feat(examples): refactor `api-routes-graphql` to GraphQL Yoga: [#&#8203;36155](https://github.com/vercel/next.js/issues/36155) - refactor(examples/with-typescript-graphql): use codegen `TypedDocumentNode` and GraphQL Yoga for better DX and smaller bundle size: [#&#8203;36240](https://github.com/vercel/next.js/issues/36240) - Update `cms-kontent` example SDK package to v11: [#&#8203;37187](https://github.com/vercel/next.js/issues/37187) - Fix `cms-kontent` example `Next/Image` domain error: [#&#8203;37188](https://github.com/vercel/next.js/issues/37188) - Update `cms-kontent` example to action PR feedback: [#&#8203;37206](https://github.com/vercel/next.js/issues/37206) - chore: simplify `with-styled-components`: [#&#8203;37237](https://github.com/vercel/next.js/issues/37237) - add pnpm link to docs: [#&#8203;37221](https://github.com/vercel/next.js/issues/37221) - Fix with-contentlayer example build error: [#&#8203;37257](https://github.com/vercel/next.js/issues/37257) - chore: update `with-tailwindcss` example to TypeScript: [#&#8203;37208](https://github.com/vercel/next.js/issues/37208) - Updated graphql API to support v1.7.2: [#&#8203;35896](https://github.com/vercel/next.js/issues/35896) - Update GitHub Pages deployment example.: [#&#8203;37282](https://github.com/vercel/next.js/issues/37282) - change map function to forEach function: [#&#8203;37284](https://github.com/vercel/next.js/issues/37284) - Remove extra prettier config from tailwindcss example : [#&#8203;37351](https://github.com/vercel/next.js/issues/37351) - Update for CMS Wordpress Example.: [#&#8203;37402](https://github.com/vercel/next.js/issues/37402) - Fix with mux video example: [#&#8203;37434](https://github.com/vercel/next.js/issues/37434) - Changed \_app.js to a functional component: [#&#8203;37635](https://github.com/vercel/next.js/issues/37635) - Bump version tailwindcss example to 3.1: [#&#8203;37633](https://github.com/vercel/next.js/issues/37633) - Update with-faunadb dependencies: [#&#8203;37650](https://github.com/vercel/next.js/issues/37650) - Request library required by setup: [#&#8203;37658](https://github.com/vercel/next.js/issues/37658) - Update with-mux-video to use latest upchunk and replace video player with mux-player-react: [#&#8203;37621](https://github.com/vercel/next.js/issues/37621) - Convert active-class-name example to TypeScript: [#&#8203;37676](https://github.com/vercel/next.js/issues/37676) - Add with-docker-compose example: [#&#8203;32668](https://github.com/vercel/next.js/issues/32668) - Convert hello-world example to TypeScript: [#&#8203;37706](https://github.com/vercel/next.js/issues/37706) - Update Ghost CMS Example: Accept-Version Header API requirement, typo: [#&#8203;37737](https://github.com/vercel/next.js/issues/37737) - Update Chakra-UI dependencies for React 18: [#&#8203;37772](https://github.com/vercel/next.js/issues/37772) - fix: markdown format for the blog-starter example: [#&#8203;37792](https://github.com/vercel/next.js/issues/37792) - Convert amp example to TypeScript: [#&#8203;37744](https://github.com/vercel/next.js/issues/37744) - feat: add correct type to with-styled-coponents: [#&#8203;37816](https://github.com/vercel/next.js/issues/37816) - Update Cosmic CMS Example: cosmicjs package to v4.1.7, update queries: [#&#8203;37693](https://github.com/vercel/next.js/issues/37693) - update devdDependencies [@&#8203;types/react](https://github.com/types/react) and [@&#8203;types/react-dom](https://github.com/types/react-dom) : [#&#8203;37423](https://github.com/vercel/next.js/issues/37423) - \[Examples] updated styled-components: [#&#8203;37856](https://github.com/vercel/next.js/issues/37856) - \[Examples] Add external example with typescript to "with-material-ui" folder: [#&#8203;37846](https://github.com/vercel/next.js/issues/37846) - Adding example with-fingerprintjs-pro for identifying visitors: [#&#8203;37549](https://github.com/vercel/next.js/issues/37549) - chore: detect no canary verification: [#&#8203;37788](https://github.com/vercel/next.js/issues/37788) - Added with-particles template: [#&#8203;35471](https://github.com/vercel/next.js/issues/35471) - Fixing bug - Can't resolve 'prop-types': [#&#8203;38021](https://github.com/vercel/next.js/issues/38021) - Add \*.tsbuildinfo to .gitignore of examples that use typescript: [#&#8203;38005](https://github.com/vercel/next.js/issues/38005) - Convert amp-first example to TypeScript: [#&#8203;38029](https://github.com/vercel/next.js/issues/38029) - fix(38043): replace double slashes with hashtag for comment lines in …: [#&#8203;38044](https://github.com/vercel/next.js/issues/38044) - Convert amp-story example to TypeScript: [#&#8203;38038](https://github.com/vercel/next.js/issues/38038) - Convert analyze-bundles example to TypeScript: [#&#8203;38040](https://github.com/vercel/next.js/issues/38040) ##### Misc Changes - Enable disabled tests that pass: [#&#8203;36644](https://github.com/vercel/next.js/issues/36644) - test: merge rsc custom app cases: [#&#8203;36713](https://github.com/vercel/next.js/issues/36713) - enforce omitting `name` and `version`: [#&#8203;36771](https://github.com/vercel/next.js/issues/36771) - test: clean up duplicated tests: [#&#8203;36871](https://github.com/vercel/next.js/issues/36871) - Update to latest version of turbo: [#&#8203;37046](https://github.com/vercel/next.js/issues/37046) - Fix copying local swc binary for pnpm test: [#&#8203;37047](https://github.com/vercel/next.js/issues/37047) - Update a couple flakey tests: [#&#8203;37071](https://github.com/vercel/next.js/issues/37071) - Fixed anotation param name: [#&#8203;37075](https://github.com/vercel/next.js/issues/37075) - Enable E2E deploy tests on publish: [#&#8203;37019](https://github.com/vercel/next.js/issues/37019) - Merge multiple log statements: [#&#8203;35310](https://github.com/vercel/next.js/issues/35310) - Add typedef for next-bundle-analyzer: [#&#8203;35075](https://github.com/vercel/next.js/issues/35075) - next-bundle-analyzer: openAnalyzer option: [#&#8203;36493](https://github.com/vercel/next.js/issues/36493) - chore: add test for in-fragment HEAD reflection: [#&#8203;35320](https://github.com/vercel/next.js/issues/35320) - Add tests for getStaticProps and getServerSideProps: [#&#8203;37014](https://github.com/vercel/next.js/issues/37014) - Update deploy E2E test setup: [#&#8203;37126](https://github.com/vercel/next.js/issues/37126) - Fix example extraction when branch name contains slash: [#&#8203;37140](https://github.com/vercel/next.js/issues/37140) - Fix build-wasm CI job: [#&#8203;37165](https://github.com/vercel/next.js/issues/37165) - Update contributing doc and PR template for examples: [#&#8203;37193](https://github.com/vercel/next.js/issues/37193) - Update contributing doc and PR template for examples: [#&#8203;37215](https://github.com/vercel/next.js/issues/37215) - Update test config to only install pnpm when needed: [#&#8203;37222](https://github.com/vercel/next.js/issues/37222) - Fix memory allocation issue on linux gnu platform: [#&#8203;37243](https://github.com/vercel/next.js/issues/37243) - Add type definitions for next/mdx: [#&#8203;36815](https://github.com/vercel/next.js/issues/36815) - Ensure all bench dependencies are added: [#&#8203;37278](https://github.com/vercel/next.js/issues/37278) - add version step for publish - Update swc builds : [#&#8203;37285](https://github.com/vercel/next.js/issues/37285) - Ensure pnpm is available during publish - declare pnpm7 as engine: [#&#8203;37303](https://github.com/vercel/next.js/issues/37303) - Update install native script: [#&#8203;37354](https://github.com/vercel/next.js/issues/37354) - Update missed yarn -> pnpm in contributing: [#&#8203;37370](https://github.com/vercel/next.js/issues/37370) - Fix font-optimization snapshot test: [#&#8203;37432](https://github.com/vercel/next.js/issues/37432) - fix: removes invalid path from doc: [#&#8203;37415](https://github.com/vercel/next.js/issues/37415) - Update tests root->app: [#&#8203;37477](https://github.com/vercel/next.js/issues/37477) - test: upgrade playwright-chromium from 1.14.1 to 1.22.2: [#&#8203;37436](https://github.com/vercel/next.js/issues/37436) - Update flakey preview test: [#&#8203;37518](https://github.com/vercel/next.js/issues/37518) - Add middleware size stats: [#&#8203;37519](https://github.com/vercel/next.js/issues/37519) - Fix failing swc builds: [#&#8203;37629](https://github.com/vercel/next.js/issues/37629) - Update usage of example.com -> example.vercel.sh: [#&#8203;37630](https://github.com/vercel/next.js/issues/37630) - Update flakey next-script tests: [#&#8203;37663](https://github.com/vercel/next.js/issues/37663) - Allow passing FileRef directly to createNext: [#&#8203;37664](https://github.com/vercel/next.js/issues/37664) - Update middleware matcher e2e test: [#&#8203;37694](https://github.com/vercel/next.js/issues/37694) - Update concurrency for dev and start E2E tests: [#&#8203;37719](https://github.com/vercel/next.js/issues/37719) - Expose test timings token for e2e tests: [#&#8203;37756](https://github.com/vercel/next.js/issues/37756) - chore: use `pnpm install` in tests: [#&#8203;37712](https://github.com/vercel/next.js/issues/37712) - Add bug report field to issue template: [#&#8203;37766](https://github.com/vercel/next.js/issues/37766) - Update to use latest version of pnpm: [#&#8203;37794](https://github.com/vercel/next.js/issues/37794) - Fix a couple flakey next-script and unoptimized image tests: [#&#8203;37848](https://github.com/vercel/next.js/issues/37848) - add a test that verifies that NextResponse can be cloned: [#&#8203;37883](https://github.com/vercel/next.js/issues/37883) - fix(ci): Don't build wasmer for freebsd and i686 windows target: [#&#8203;37891](https://github.com/vercel/next.js/issues/37891) - chore: add `action.yml` to Issue validator action: [#&#8203;37950](https://github.com/vercel/next.js/issues/37950) - feat(cli): support examples without `package.json`: [#&#8203;37910](https://github.com/vercel/next.js/issues/37910) - Update middleware matcher test for root: [#&#8203;37961](https://github.com/vercel/next.js/issues/37961) - Ensure repo is checked out before running validate issue action: [#&#8203;37972](https://github.com/vercel/next.js/issues/37972) - Fix issue-validator path - chore: use Node 16 for issue validator action: [#&#8203;37982](https://github.com/vercel/next.js/issues/37982) - Update to latest version of turbo: [#&#8203;37976](https://github.com/vercel/next.js/issues/37976) - Bump `release` to 6.3.1: [#&#8203;37995](https://github.com/vercel/next.js/issues/37995) - Update flakey prefetch test: [#&#8203;37997](https://github.com/vercel/next.js/issues/37997) - Update expected error for middleware deploy test: [#&#8203;37998](https://github.com/vercel/next.js/issues/37998) - Update `.gitignore` to include `@next/swc-wasm-nodejs`: [#&#8203;38025](https://github.com/vercel/next.js/issues/38025) - chore: compile issue validator action: [#&#8203;37990](https://github.com/vercel/next.js/issues/37990) - Update image tests from placeholder.com to \*.vercel.app: [#&#8203;38081](https://github.com/vercel/next.js/issues/38081) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;ViolanteCodes](https://github.com/ViolanteCodes), [@&#8203;akrabdev](https://github.com/akrabdev), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;jpveilleux](https://github.com/jpveilleux), [@&#8203;stigkj](https://github.com/stigkj), [@&#8203;jgoping](https://github.com/jgoping), [@&#8203;oof2win2](https://github.com/oof2win2), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;CGamesPlay](https://github.com/CGamesPlay), [@&#8203;lfades](https://github.com/lfades), [@&#8203;molebox](https://github.com/molebox), [@&#8203;steven-tey](https://github.com/steven-tey), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;erikbrinkman](https://github.com/erikbrinkman), [@&#8203;therealmarzouq](https://github.com/therealmarzouq), [@&#8203;remcohaszing](https://github.com/remcohaszing), [@&#8203;perkinsjr](https://github.com/perkinsjr), [@&#8203;shuding](https://github.com/shuding), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;RobertKeyser](https://github.com/RobertKeyser), [@&#8203;styfle](https://github.com/styfle), [@&#8203;htunnicliff](https://github.com/htunnicliff), [@&#8203;lukeshumard](https://github.com/lukeshumard), [@&#8203;sagnik3](https://github.com/sagnik3), [@&#8203;pixelass](https://github.com/pixelass), [@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;nguyenyou](https://github.com/nguyenyou), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;sidwebworks](https://github.com/sidwebworks), [@&#8203;gnoff](https://github.com/gnoff), [@&#8203;gaspar09](https://github.com/gaspar09), [@&#8203;feugy](https://github.com/feugy), [@&#8203;mfix-stripe](https://github.com/mfix-stripe), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;Chastrlove](https://github.com/Chastrlove), [@&#8203;goncharov-vlad](https://github.com/goncharov-vlad), [@&#8203;NaveenDA](https://github.com/NaveenDA), [@&#8203;Firfi](https://github.com/Firfi), [@&#8203;idkwhojamesis](https://github.com/idkwhojamesis), [@&#8203;FLCN-16](https://github.com/FLCN-16), [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;ElijahPepe](https://github.com/ElijahPepe), [@&#8203;elskwid](https://github.com/elskwid), [@&#8203;irvile](https://github.com/irvile), [@&#8203;Munawwar](https://github.com/Munawwar), [@&#8203;ykolbin](https://github.com/ykolbin), [@&#8203;hulufei](https://github.com/hulufei), [@&#8203;baruchadi](https://github.com/baruchadi), [@&#8203;imadatyatalah](https://github.com/imadatyatalah), [@&#8203;await-ovo](https://github.com/await-ovo), [@&#8203;menosprezzi](https://github.com/menosprezzi), [@&#8203;gazs](https://github.com/gazs), [@&#8203;Exortions](https://github.com/Exortions), [@&#8203;rubens-lopes](https://github.com/rubens-lopes), [@&#8203;woochul2](https://github.com/woochul2), [@&#8203;stefee](https://github.com/stefee), [@&#8203;stmtk1](https://github.com/stmtk1), [@&#8203;jlarmstrongiv](https://github.com/jlarmstrongiv), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;jameshfisher](https://github.com/jameshfisher), [@&#8203;fabienheureux](https://github.com/fabienheureux), [@&#8203;TxHawks](https://github.com/TxHawks), [@&#8203;mattbrandlysonos](https://github.com/mattbrandlysonos), [@&#8203;iggyzap](https://github.com/iggyzap), [@&#8203;src200](https://github.com/src200), [@&#8203;AkifumiSato](https://github.com/AkifumiSato), [@&#8203;hermanskurichin](https://github.com/hermanskurichin), [@&#8203;kamilogorek](https://github.com/kamilogorek), [@&#8203;ben-xD](https://github.com/ben-xD), [@&#8203;dawsonbooth](https://github.com/dawsonbooth), [@&#8203;Josehower](https://github.com/Josehower), [@&#8203;crutchcorn](https://github.com/crutchcorn), [@&#8203;ericmatthys](https://github.com/ericmatthys), [@&#8203;CharlesStover](https://github.com/CharlesStover), [@&#8203;charlypoly](https://github.com/charlypoly), [@&#8203;apmatthews](https://github.com/apmatthews), [@&#8203;naingaungphyo](https://github.com/naingaungphyo), [@&#8203;alexandrutasica](https://github.com/alexandrutasica), [@&#8203;stefanprobst](https://github.com/stefanprobst), [@&#8203;dc7290](https://github.com/dc7290), [@&#8203;DilwoarH](https://github.com/DilwoarH), [@&#8203;tommarshall](https://github.com/tommarshall), [@&#8203;stanhong](https://github.com/stanhong), [@&#8203;leerob](https://github.com/leerob), [@&#8203;appsbytom](https://github.com/appsbytom), [@&#8203;sshyam-gupta](https://github.com/sshyam-gupta), [@&#8203;saulloalmeida](https://github.com/saulloalmeida), [@&#8203;indicozy](https://github.com/indicozy), [@&#8203;ArianHamdi](https://github.com/ArianHamdi), [@&#8203;Clariity](https://github.com/Clariity), [@&#8203;sebastianbenz](https://github.com/sebastianbenz), [@&#8203;7iomka](https://github.com/7iomka), [@&#8203;gr-qft](https://github.com/gr-qft), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;dgagn](https://github.com/dgagn), [@&#8203;sokra](https://github.com/sokra), [@&#8203;okbel](https://github.com/okbel), [@&#8203;tbvjaos510](https://github.com/tbvjaos510), [@&#8203;dmvjs](https://github.com/dmvjs), [@&#8203;PepijnSenders](https://github.com/PepijnSenders), [@&#8203;JohnPhamous](https://github.com/JohnPhamous), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;eric-burel](https://github.com/eric-burel), [@&#8203;alabhyajindal](https://github.com/alabhyajindal), [@&#8203;jsjoeio](https://github.com/jsjoeio), [@&#8203;vorcigernix](https://github.com/vorcigernix), [@&#8203;clearlyTHUYDOAN](https://github.com/clearlyTHUYDOAN), [@&#8203;splatterxl](https://github.com/splatterxl), [@&#8203;manovotny](https://github.com/manovotny), [@&#8203;maxproske](https://github.com/maxproske), [@&#8203;nvh95](https://github.com/nvh95), [@&#8203;frankievalentine](https://github.com/frankievalentine), [@&#8203;nuta](https://github.com/nuta), [@&#8203;bagpyp](https://github.com/bagpyp), [@&#8203;dfelsie](https://github.com/dfelsie), [@&#8203;qqpann](https://github.com/qqpann), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;jsimonrichard](https://github.com/jsimonrichard), [@&#8203;mass2527](https://github.com/mass2527), [@&#8203;ekamkohli](https://github.com/ekamkohli), [@&#8203;Yuddomack](https://github.com/Yuddomack), [@&#8203;tonyspiro](https://github.com/tonyspiro), [@&#8203;saurabhmehta1601](https://github.com/saurabhmehta1601), [@&#8203;banner4422](https://github.com/banner4422), [@&#8203;falsepopsky](https://github.com/falsepopsky), [@&#8203;jantimon](https://github.com/jantimon), [@&#8203;henriqueholtz](https://github.com/henriqueholtz), [@&#8203;ilfa](https://github.com/ilfa), [@&#8203;matteobruni](https://github.com/matteobruni), [@&#8203;ryscheng](https://github.com/ryscheng), [@&#8203;hoonoh](https://github.com/hoonoh), [@&#8203;ForsakenHarmony](https://github.com/ForsakenHarmony), [@&#8203;william-keller](https://github.com/william-keller), [@&#8203;AleksaC](https://github.com/AleksaC), [@&#8203;Miikis](https://github.com/Miikis), [@&#8203;zakiego](https://github.com/zakiego), [@&#8203;radunemerenco](https://github.com/radunemerenco), [@&#8203;AliYusuf95](https://github.com/AliYusuf95), and [@&#8203;dominiksipowicz](https://github.com/dominiksipowicz) for helping! ### [`v12.1.6`](https://github.com/vercel/next.js/releases/tag/v12.1.6) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.5...v12.1.6) ##### Core Changes - rsc: remove router injection: [#&#8203;36101](https://github.com/vercel/next.js/issues/36101) - Fix `export from` and native modules in server component: [#&#8203;36072](https://github.com/vercel/next.js/issues/36072) - feat(next-swc): Update css parser: [#&#8203;36114](https://github.com/vercel/next.js/issues/36114) - fix: do not add locale prefix to api route on NextURL: [#&#8203;36118](https://github.com/vercel/next.js/issues/36118) - Add experimental onlyGenereated flag for unstable_revalidate: [#&#8203;36108](https://github.com/vercel/next.js/issues/36108) - Support necessary headers in the web server response: [#&#8203;36122](https://github.com/vercel/next.js/issues/36122) - Fix only generated case in minimal mode: [#&#8203;36130](https://github.com/vercel/next.js/issues/36130) - Fix req.url of rsc dynamic routes pages gSSP in edge runtime: [#&#8203;36134](https://github.com/vercel/next.js/issues/36134) - Reogranize the client component detection utils: [#&#8203;36135](https://github.com/vercel/next.js/issues/36135) - Add support for catch-all route params in NextRequest page type declaration: [#&#8203;36137](https://github.com/vercel/next.js/issues/36137) - rsc: mark next head as client component: [#&#8203;36138](https://github.com/vercel/next.js/issues/36138) - rsc: keep static page props: [#&#8203;36157](https://github.com/vercel/next.js/issues/36157) - Update to target es5 for use-subscription: [#&#8203;36159](https://github.com/vercel/next.js/issues/36159) - Fix text decoding for chunk: [#&#8203;36165](https://github.com/vercel/next.js/issues/36165) - Fix symlink and copy logic to `standalone` directory when using `outputStandalone`: [#&#8203;35535](https://github.com/vercel/next.js/issues/35535) - Adds linting rule to avoid assignment to 'module' variable: [#&#8203;35279](https://github.com/vercel/next.js/issues/35279) - Fix res.json support for string / null: [#&#8203;36186](https://github.com/vercel/next.js/issues/36186) - Update swc: [#&#8203;36187](https://github.com/vercel/next.js/issues/36187) - Fix `next/image` usage in most cases of `onLoad()`: [#&#8203;36176](https://github.com/vercel/next.js/issues/36176) - \[eslint-config-next] Update [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser) to v5.19.0: [#&#8203;36156](https://github.com/vercel/next.js/issues/36156) - Add support for tsconfig moduleResolution `node | node12 | nodenext`: [#&#8203;36189](https://github.com/vercel/next.js/issues/36189) - Fix missing \_app component of AppTree in gIP context: [#&#8203;36206](https://github.com/vercel/next.js/issues/36206) - refactor(build): no force transpile optional chaining: [#&#8203;35976](https://github.com/vercel/next.js/issues/35976) - NextResponse.json: pass options to Response: [#&#8203;35367](https://github.com/vercel/next.js/issues/35367) - Improve NextApiHandler type for early returns: [#&#8203;35166](https://github.com/vercel/next.js/issues/35166) - Fix build activity indicator position: [#&#8203;36208](https://github.com/vercel/next.js/issues/36208) - 404 page - Responsive color scheme: [#&#8203;32113](https://github.com/vercel/next.js/issues/32113) - perf(escapeStringRegexp): test before replace: [#&#8203;34472](https://github.com/vercel/next.js/issues/34472) - rsc: skip next builtin module when apply loaders: [#&#8203;36202](https://github.com/vercel/next.js/issues/36202) - Use finally to clean up seen requests: [#&#8203;36222](https://github.com/vercel/next.js/issues/36222) - fix(next-swc/ssg): less aggressive exports drop: [#&#8203;36199](https://github.com/vercel/next.js/issues/36199) - fix type definition for defaultGetInitialProps: [#&#8203;36252](https://github.com/vercel/next.js/issues/36252) - Use renderToStaticMarkup to render documentHTML: [#&#8203;36213](https://github.com/vercel/next.js/issues/36213) - Fix flight loader: [#&#8203;36282](https://github.com/vercel/next.js/issues/36282) - Add telemetry for image config formats (avif/webp): [#&#8203;36289](https://github.com/vercel/next.js/issues/36289) - Ensure error is cleared for missing global css: [#&#8203;36292](https://github.com/vercel/next.js/issues/36292) - next/jest: Allow moduleNameMapper to match before Next.js internal mappings: [#&#8203;36312](https://github.com/vercel/next.js/issues/36312) - Add client HMR tracing for debugging: [#&#8203;36328](https://github.com/vercel/next.js/issues/36328) - feat:Add support for useDefineForClassFields typescript option: [#&#8203;36335](https://github.com/vercel/next.js/issues/36335) - Use fallbackable path module for node and edge runtime: [#&#8203;36306](https://github.com/vercel/next.js/issues/36306) - Update swc: [#&#8203;36269](https://github.com/vercel/next.js/issues/36269) - fix(next): use moduleGraph.getIssuer to avoid deprecation warning ([#&#8203;36329](https://github.com/vercel/next.js/issues/36329)): [#&#8203;36330](https://github.com/vercel/next.js/issues/36330) - Ensure beforeFiles client-side resolving handles dynamic routes: [#&#8203;36317](https://github.com/vercel/next.js/issues/36317) - Ensure there is only 1 render pass in concurrent rendering with getInitialProps in `_document`: [#&#8203;36352](https://github.com/vercel/next.js/issues/36352) - Changes to the beforeInteractive strategy to make it work for streaming: [#&#8203;31936](https://github.com/vercel/next.js/issues/31936) - Update swc: [#&#8203;36351](https://github.com/vercel/next.js/issues/36351) - Fix failing E2E deployment test cases: [#&#8203;36368](https://github.com/vercel/next.js/issues/36368) - chore: upgrade PostCSS dependencies: [#&#8203;34354](https://github.com/vercel/next.js/issues/34354) - Fix `next/image` usage of `onError()`: [#&#8203;36305](https://github.com/vercel/next.js/issues/36305) - Simplify the App and Component handling in render: [#&#8203;36395](https://github.com/vercel/next.js/issues/36395) - Do not polyfill node built-in modules on edge functions: [#&#8203;36190](https://github.com/vercel/next.js/issues/36190) - Fix to remove webpack message per error: [#&#8203;36452](https://github.com/vercel/next.js/issues/36452) - Rework <Link> behavior (backwards compatible): [#&#8203;36436](https://github.com/vercel/next.js/issues/36436) - Fix missing interpolation on next/head exports: [#&#8203;36435](https://github.com/vercel/next.js/issues/36435) - Add stitches and material-ui tests for new link behavior + fix TypeScript types when imported: [#&#8203;36474](https://github.com/vercel/next.js/issues/36474) - chore: remove git.io: [#&#8203;36479](https://github.com/vercel/next.js/issues/36479) - fix([#&#8203;36435](https://github.com/vercel/next.js/issues/36435)): apply correct fix: [#&#8203;36464](https://github.com/vercel/next.js/issues/36464) - Add process env NEXT_RUNTIME: [#&#8203;36383](https://github.com/vercel/next.js/issues/36383) - Fix incorrect asPath with fallback rewrite in minimal mode: [#&#8203;36463](https://github.com/vercel/next.js/issues/36463) - Update manual revalidate response cache handling: [#&#8203;36462](https://github.com/vercel/next.js/issues/36462) - Pass nextRuntime in webpack context: [#&#8203;36488](https://github.com/vercel/next.js/issues/36488) - Support swc parse api in WASM: [#&#8203;36482](https://github.com/vercel/next.js/issues/36482) - Use edge compiler for middleware: [#&#8203;36486](https://github.com/vercel/next.js/issues/36486) - Update swc: [#&#8203;36477](https://github.com/vercel/next.js/issues/36477) - Remove passhref Eslint rule as it's no longer needed with new link behavior: [#&#8203;36511](https://github.com/vercel/next.js/issues/36511) - Add string children case for newNextLinkBehavior codemod: [#&#8203;36516](https://github.com/vercel/next.js/issues/36516) - Add with-edgedb example: [#&#8203;35929](https://github.com/vercel/next.js/issues/35929) - polish isomorphic path module: [#&#8203;36521](https://github.com/vercel/next.js/issues/36521) - Ensure optional params are normalized correctly in minimal mode: [#&#8203;36513](https://github.com/vercel/next.js/issues/36513) - Always add height and width prop to image with layout="raw": [#&#8203;36523](https://github.com/vercel/next.js/issues/36523) - Align behavior of SWC transform & transformSync: [#&#8203;36500](https://github.com/vercel/next.js/issues/36500) - Add event for swc load failure and attempt patching lockfile: [#&#8203;36527](https://github.com/vercel/next.js/issues/36527) - next-swc/wasm: Make span start at 0: [#&#8203;36532](https://github.com/vercel/next.js/issues/36532) - Add support for passing ref to next/link with new behavior enabled: [#&#8203;36537](https://github.com/vercel/next.js/issues/36537) - Update swc: [#&#8203;36535](https://github.com/vercel/next.js/issues/36535) - Refactor base server to get rid of the \__server_context hack: [#&#8203;36550](https://github.com/vercel/next.js/issues/36550) - Tweak lockfile patching to be eager: [#&#8203;36549](https://github.com/vercel/next.js/issues/36549) - unlock eslint-config-next dependencies: [#&#8203;35781](https://github.com/vercel/next.js/issues/35781) - Hoist the desired ReactDOM import expression: [#&#8203;36552](https://github.com/vercel/next.js/issues/36552) - bump styled-jsx to latest: [#&#8203;36554](https://github.com/vercel/next.js/issues/36554) - chore: clarify CLI network errors: [#&#8203;36567](https://github.com/vercel/next.js/issues/36567) - Ensure older lockfile/invalid formats are handled: [#&#8203;36577](https://github.com/vercel/next.js/issues/36577) - Adds inline script functionality to `next/script` for `worker` and `beforeInteractive` strategies: [#&#8203;36364](https://github.com/vercel/next.js/issues/36364) - Fix missing `Content-Length` header from Image Optimization API: [#&#8203;36581](https://github.com/vercel/next.js/issues/36581) - Refactor Page Paths utils and Middleware Plugin: [#&#8203;36576](https://github.com/vercel/next.js/issues/36576) - Reexports styled-jsx JSXStyle in nextjs: [#&#8203;36585](https://github.com/vercel/next.js/issues/36585) - Update status code for normalize error: [#&#8203;36580](https://github.com/vercel/next.js/issues/36580) - Add pagesDir to Jest transformer: [#&#8203;36599](https://github.com/vercel/next.js/issues/36599) - Add tests for routing experiment: [#&#8203;36618](https://github.com/vercel/next.js/issues/36618) - Update findPagesDir: [#&#8203;36619](https://github.com/vercel/next.js/issues/36619) - Fix swc jest pagesDir config: [#&#8203;36623](https://github.com/vercel/next.js/issues/36623) - Fix next node buildin module error message for edge runtime: [#&#8203;36434](https://github.com/vercel/next.js/issues/36434) - Handle styled-jsx in newLinkBehavior codemod: [#&#8203;36628](https://github.com/vercel/next.js/issues/36628) ##### Documentation Changes - Add instructions to create pages directory and add an index.js file to it: [#&#8203;35971](https://github.com/vercel/next.js/issues/35971) - docs: specify minimum required `react` version: [#&#8203;36091](https://github.com/vercel/next.js/issues/36091) - Loosen the "public" condition on getSSP: [#&#8203;36018](https://github.com/vercel/next.js/issues/36018) - fixed typo, that should say 'in' not 'from': [#&#8203;36046](https://github.com/vercel/next.js/issues/36046) - Docs: workarounds for router not resetting state (fixes [#&#8203;35138](https://github.com/vercel/next.js/issues/35138)): [#&#8203;35651](https://github.com/vercel/next.js/issues/35651) - Add onLoad gotcha note to basic-features doc: [#&#8203;36261](https://github.com/vercel/next.js/issues/36261) - Fix introduction.md for `next.config.js`: [#&#8203;36286](https://github.com/vercel/next.js/issues/36286) - Clarifies that path params exist on query object: [#&#8203;36321](https://github.com/vercel/next.js/issues/36321) - Fix broken data fetching links in docs: [#&#8203;33766](https://github.com/vercel/next.js/issues/33766) - Change getStaticProps to getStaticPaths in getStaticPaths docs: [#&#8203;36403](https://github.com/vercel/next.js/issues/36403) - Revert "Change getStaticProps to getStaticPaths in getStaticPaths docs": [#&#8203;36425](https://github.com/vercel/next.js/issues/36425) - Update usage paragraph of next/script `onLoad`: [#&#8203;36453](https://github.com/vercel/next.js/issues/36453) - Add note about lockfile causing swc to fail to load: [#&#8203;36484](https://github.com/vercel/next.js/issues/36484) - Add docs on self-hosted ISR persisting across pods.: [#&#8203;36520](https://github.com/vercel/next.js/issues/36520) - Adds `<link rel="preconnect" ... />` to example optimized font output: [#&#8203;36529](https://github.com/vercel/next.js/issues/36529) - Add note about running next without a sub-command: [#&#8203;36560](https://github.com/vercel/next.js/issues/36560) - Add docs about SSR caching (yes, you can do this with Next.js): [#&#8203;36588](https://github.com/vercel/next.js/issues/36588) ##### Example Changes - Fixes scripts in Electron examples.: [#&#8203;36133](https://github.com/vercel/next.js/issues/36133) - docs(examples/with-emotion-swc): update readme: [#&#8203;36197](https://github.com/vercel/next.js/issues/36197) - docs: add yoga to examples: [#&#8203;36253](https://github.com/vercel/next.js/issues/36253) - Adds `removeListener` handler to `with-electron-typescript` example.: [#&#8203;36323](https://github.com/vercel/next.js/issues/36323) - Removed unnecessary React Fragment: [#&#8203;36331](https://github.com/vercel/next.js/issues/36331) - updated with-rebass dependencies: [#&#8203;36416](https://github.com/vercel/next.js/issues/36416) - Add pnpm-debug: [#&#8203;36394](https://github.com/vercel/next.js/issues/36394) - added with-react-foundation example: [#&#8203;36375](https://github.com/vercel/next.js/issues/36375) - Grammar Changed features and API to features and it's API: [#&#8203;36396](https://github.com/vercel/next.js/issues/36396) - Adding Typescript and Mantine example: [#&#8203;36294](https://github.com/vercel/next.js/issues/36294) - \[examples] Update styled-components with Babel - add types: [#&#8203;36125](https://github.com/vercel/next.js/issues/36125) - Fix failing yarn PnP test from missing dependency: [#&#8203;36515](https://github.com/vercel/next.js/issues/36515) - docs(examples): Updated Chakra UI examples: [#&#8203;36333](https://github.com/vercel/next.js/issues/36333) - Fix typo: [#&#8203;36592](https://github.com/vercel/next.js/issues/36592) - add Script key for cache: [#&#8203;36627](https://github.com/vercel/next.js/issues/36627) ##### Misc Changes - Update CODEOWNERS: [#&#8203;36164](https://github.com/vercel/next.js/issues/36164) - Stabilize flakey prerender test: [#&#8203;36193](https://github.com/vercel/next.js/issues/36193) - Stabilize flakey build-output test: [#&#8203;36195](https://github.com/vercel/next.js/issues/36195) - Validate streaming writer chunk type in testing: [#&#8203;36200](https://github.com/vercel/next.js/issues/36200) - Update CI cache key to allow re-running only failed: [#&#8203;36249](https://github.com/vercel/next.js/issues/36249) - feat(trace): next/trace to event format converter: [#&#8203;36281](https://github.com/vercel/next.js/issues/36281) - Add handling for testing against deployments: [#&#8203;36285](https://github.com/vercel/next.js/issues/36285) - Make setup-wasm script work for local dev: [#&#8203;36355](https://github.com/vercel/next.js/issues/36355) - chore(create-next-app): fix pnpm create step: [#&#8203;36398](https://github.com/vercel/next.js/issues/36398) - Update font-optimization test snapshot: [#&#8203;36492](https://github.com/vercel/next.js/issues/36492) - docs: clarify triaging: [#&#8203;36507](https://github.com/vercel/next.js/issues/36507) - Remove extra yarn PnP example test: [#&#8203;36518](https://github.com/vercel/next.js/issues/36518) - Update rewrite destination for flakey rewrite tests: [#&#8203;36519](https://github.com/vercel/next.js/issues/36519) - Normalize font optimization snapshot to reduce flakes: [#&#8203;36531](https://github.com/vercel/next.js/issues/36531) - Bump react dev dep to 18.1: [#&#8203;36491](https://github.com/vercel/next.js/issues/36491) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;shuding](https://github.com/shuding), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;nkzawa](https://github.com/nkzawa), [@&#8203;prichey](https://github.com/prichey), [@&#8203;manovotny](https://github.com/manovotny), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;remorses](https://github.com/remorses), [@&#8203;amandeepmittal](https://github.com/amandeepmittal), [@&#8203;mward-sudo](https://github.com/mward-sudo), [@&#8203;eric-burel](https://github.com/eric-burel), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;styfle](https://github.com/styfle), [@&#8203;ytkg](https://github.com/ytkg), [@&#8203;CuriosBasant](https://github.com/CuriosBasant), [@&#8203;bart-krakowski](https://github.com/bart-krakowski), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;jameshfisher](https://github.com/jameshfisher), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;bjorm](https://github.com/bjorm), [@&#8203;alex-page](https://github.com/alex-page), [@&#8203;fmmoret](https://github.com/fmmoret), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;davidbarker](https://github.com/davidbarker), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;seanparmelee](https://github.com/seanparmelee), [@&#8203;ddgrishkin](https://github.com/ddgrishkin), [@&#8203;mmartinsoliv](https://github.com/mmartinsoliv), [@&#8203;byjoshuadavis](https://github.com/byjoshuadavis), [@&#8203;sakib412](https://github.com/sakib412), [@&#8203;Chastrlove](https://github.com/Chastrlove), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;janicklas-ralph](https://github.com/janicklas-ralph), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;shinkj11](https://github.com/shinkj11), [@&#8203;youngvform](https://github.com/youngvform), [@&#8203;zaida04](https://github.com/zaida04), [@&#8203;therealmarzouq](https://github.com/therealmarzouq), [@&#8203;codedbyjordan](https://github.com/codedbyjordan), [@&#8203;deadlynjdj](https://github.com/deadlynjdj), [@&#8203;lfades](https://github.com/lfades), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;renbaoshuo](https://github.com/renbaoshuo), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;triyanox](https://github.com/triyanox), [@&#8203;rafae2k](https://github.com/rafae2k), [@&#8203;colinhacks](https://github.com/colinhacks), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;leerob](https://github.com/leerob), [@&#8203;sa3dany](https://github.com/sa3dany), [@&#8203;nikolovlazar](https://github.com/nikolovlazar), [@&#8203;refactorized](https://github.com/refactorized), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;ro11ingbutler](https://github.com/ro11ingbutler), and [@&#8203;gusrb3164](https://github.com/gusrb3164) for helping! ### [`v12.1.5`](https://github.com/vercel/next.js/releases/tag/v12.1.5) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.4...v12.1.5) ##### Core Changes - \[Script] Use `__non_webpack_require__` to fetch partytown server-side: [#&#8203;35793](https://github.com/vercel/next.js/issues/35793) - Use ReadableStream in client hydration for Firefox compatibility: [#&#8203;35796](https://github.com/vercel/next.js/issues/35796) - Continue testing react v17 with e2e tests: [#&#8203;35787](https://github.com/vercel/next.js/issues/35787) - Collect packages are used and eliminated in getServerSideProps: [#&#8203;35404](https://github.com/vercel/next.js/issues/35404) - Initial implementation of statically optimized flight data of server component pages: [#&#8203;35619](https://github.com/vercel/next.js/issues/35619) - Fix `layout="raw"` image element sizes prop: [#&#8203;35809](https://github.com/vercel/next.js/issues/35809) - fix: reset visible state when src/href changed: [#&#8203;35287](https://github.com/vercel/next.js/issues/35287) - Add warning when importing "next" directly: [#&#8203;35884](https://github.com/vercel/next.js/issues/35884) - Custom app for switchable runtime: [#&#8203;35666](https://github.com/vercel/next.js/issues/35666) - Update repo to use react 18 by default: [#&#8203;35888](https://github.com/vercel/next.js/issues/35888) - Fix Firefox flash of white on `next/image` with `placeholder=blur`: [#&#8203;35889](https://github.com/vercel/next.js/issues/35889) - Fix data encoder and decoder to use `stream` in renderer: [#&#8203;35936](https://github.com/vercel/next.js/issues/35936) - Revert "fix the dynamic routing of middleware": [#&#8203;35932](https://github.com/vercel/next.js/issues/35932) - Update: Add error message when for getServerSideProps invalid return value: [#&#8203;35887](https://github.com/vercel/next.js/issues/35887) - Code refactoring: [#&#8203;35937](https://github.com/vercel/next.js/issues/35937) - fix: add locale prefix to middleware preflight url: [#&#8203;35911](https://github.com/vercel/next.js/issues/35911) - Emotion SWC Plugin - Allow for jsxImportSource to be configurable: [#&#8203;35963](https://github.com/vercel/next.js/issues/35963) - Update polyfill of web streams: [#&#8203;35571](https://github.com/vercel/next.js/issues/35571) - Add `.eslintrc.cjs` to list of supported `next lint` config files: [#&#8203;35440](https://github.com/vercel/next.js/issues/35440) - update webpack: [#&#8203;35867](https://github.com/vercel/next.js/issues/35867) - Ensure minimalMode previousCache expire time is capped: [#&#8203;35954](https://github.com/vercel/next.js/issues/35954) - Add test case for module resolution in node_modules from different contexts: [#&#8203;35978](https://github.com/vercel/next.js/issues/35978) - Support shared component with next built-in client components: [#&#8203;35975](https://github.com/vercel/next.js/issues/35975) - Use eager import to include client modules: [#&#8203;35979](https://github.com/vercel/next.js/issues/35979) - Use renderToString for flush effects: [#&#8203;35999](https://github.com/vercel/next.js/issues/35999) - test: organize react 18 tests: [#&#8203;36003](https://github.com/vercel/next.js/issues/36003) - allow to provide postcss plugin options as a string: [#&#8203;35173](https://github.com/vercel/next.js/issues/35173) - Fix leaking internal config to user-defined `loader` prop in `next/image`: [#&#8203;36013](https://github.com/vercel/next.js/issues/36013) - Support export all syntax in client components: [#&#8203;36027](https://github.com/vercel/next.js/issues/36027) - Interpolate default exports: [#&#8203;35933](https://github.com/vercel/next.js/issues/35933) - feat(next-swc): Update swc crates: [#&#8203;35996](https://github.com/vercel/next.js/issues/35996) - Interpolate default exports is now unnecessary: [#&#8203;36065](https://github.com/vercel/next.js/issues/36065) - Do not add locale to link for api route and middleware preflight: [#&#8203;35994](https://github.com/vercel/next.js/issues/35994) - update [@&#8203;vercel/nft](https://github.com/vercel/nft) to 0.18.1: [#&#8203;36075](https://github.com/vercel/next.js/issues/36075) - Fix outputStandalone with optimizeCss: [#&#8203;36028](https://github.com/vercel/next.js/issues/36028) - Interpolate module.exports as default import : [#&#8203;36082](https://github.com/vercel/next.js/issues/36082) - fix(next-url): print properly using logger symbol: [#&#8203;36097](https://github.com/vercel/next.js/issues/36097) ##### Documentation Changes - Docs: update react 18's overview: [#&#8203;35766](https://github.com/vercel/next.js/issues/35766) - Update dead link for getStaticPaths in error docs: [#&#8203;35814](https://github.com/vercel/next.js/issues/35814) - Link to `with-docker-multi-env` example.: [#&#8203;35820](https://github.com/vercel/next.js/issues/35820) - Add Vitest example.: [#&#8203;35858](https://github.com/vercel/next.js/issues/35858) - Docs: Add useful link to invalid-getstaticprops-value error message: [#&#8203;35915](https://github.com/vercel/next.js/issues/35915) - Update Manual Steps in Getting Started guide: [#&#8203;35898](https://github.com/vercel/next.js/issues/35898) - fix: toBeInTheDocument is not a function: [#&#8203;35930](https://github.com/vercel/next.js/issues/35930) - Refactor default locale prefix to support clone(): [#&#8203;35874](https://github.com/vercel/next.js/issues/35874) - docs: clarify when you use getServerSideProps: [#&#8203;35922](https://github.com/vercel/next.js/issues/35922) - Update docs related to React 18: [#&#8203;35952](https://github.com/vercel/next.js/issues/35952) - Mention HTTP 303 See Other in redirects section: [#&#8203;35997](https://github.com/vercel/next.js/issues/35997) - Update the docs for Switchable Runtime: [#&#8203;36015](https://github.com/vercel/next.js/issues/36015) - Add docs for x-nextjs-cache header: [#&#8203;36023](https://github.com/vercel/next.js/issues/36023) - Improvements to the MDX Docs and replaced a leftover reference to babel: [#&#8203;35332](https://github.com/vercel/next.js/issues/35332) - Moving middleware file : [#&#8203;36009](https://github.com/vercel/next.js/issues/36009) - Revert "Improvements to the MDX Docs and replaced a leftover reference to babel": [#&#8203;36066](https://github.com/vercel/next.js/issues/36066) - docs: failed-loading-swc possible fix for Windows users: [#&#8203;36081](https://github.com/vercel/next.js/issues/36081) ##### Example Changes - fix(with-mongodb): Change comment of MongoDB `client` in `getServerSideProps`: [#&#8203;35750](https://github.com/vercel/next.js/issues/35750) - \[example] Fix bird animations in with-three-js example: [#&#8203;36053](https://github.com/vercel/next.js/issues/36053) - Update to with-supertokens example: [#&#8203;35991](https://github.com/vercel/next.js/issues/35991) - \[Examples] Updating with-elasticsearch to latest Elasticsearch lib version: [#&#8203;36063](https://github.com/vercel/next.js/issues/36063) - \[example] Fix fast refresh in with-slate example: [#&#8203;36095](https://github.com/vercel/next.js/issues/36095) - add support for changing /route/#hashes: [#&#8203;36079](https://github.com/vercel/next.js/issues/36079) ##### Misc Changes - test: add test for basic dynamic import with react 18 hydration: [#&#8203;35772](https://github.com/vercel/next.js/issues/35772) - Send build trace to datadog in CI: [#&#8203;35306](https://github.com/vercel/next.js/issues/35306) - Fix docs only check for performance metrics job: [#&#8203;35785](https://github.com/vercel/next.js/issues/35785) - Run e2e suite against React 18: [#&#8203;35774](https://github.com/vercel/next.js/issues/35774) - ci(trace): adjust agent env variables: [#&#8203;35790](https://github.com/vercel/next.js/issues/35790) - ci(trace): fix workflow conditions: [#&#8203;35800](https://github.com/vercel/next.js/issues/35800) - ci(workflow): fix api key for trace: [#&#8203;35804](https://github.com/vercel/next.js/issues/35804) - Stabilize react streaming ISR test: [#&#8203;35885](https://github.com/vercel/next.js/issues/35885) - Fix flaky test: [#&#8203;35951](https://github.com/vercel/next.js/issues/35951) - Add note to contributing about docs manifest: [#&#8203;36020](https://github.com/vercel/next.js/issues/36020) - Update turbo cache key: [#&#8203;36074](https://github.com/vercel/next.js/issues/36074) - docs: suggest cloning with depth=1 to avoid huge downloads: [#&#8203;36064](https://github.com/vercel/next.js/issues/36064) ##### Credits Huge thanks to [@&#8203;TianenPang](https://github.com/TianenPang), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;SokichiFujita](https://github.com/SokichiFujita), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;jonespen](https://github.com/jonespen), [@&#8203;leerob](https://github.com/leerob), [@&#8203;shuding](https://github.com/shuding), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;samueldusek](https://github.com/samueldusek), [@&#8203;styfle](https://github.com/styfle), [@&#8203;amandeepmittal](https://github.com/amandeepmittal), [@&#8203;bestony](https://github.com/bestony), [@&#8203;nkzawa](https://github.com/nkzawa), [@&#8203;kamerat](https://github.com/kamerat), [@&#8203;JohnDaly](https://github.com/JohnDaly), [@&#8203;jakejarvis](https://github.com/jakejarvis), [@&#8203;sokra](https://github.com/sokra), [@&#8203;reconbot](https://github.com/reconbot), [@&#8203;bjorm](https://github.com/bjorm), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;HaNdTriX](https://github.com/HaNdTriX), [@&#8203;Markos-Th09](https://github.com/Markos-Th09), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;timeyoutakeit](https://github.com/timeyoutakeit), [@&#8203;aravindputrevu](https://github.com/aravindputrevu), [@&#8203;molebox](https://github.com/molebox), [@&#8203;gsimone](https://github.com/gsimone), [@&#8203;Ethan-Arrowood](https://github.com/Ethan-Arrowood), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;williamli](https://github.com/williamli), and [@&#8203;vltansky](https://github.com/vltansky) for helping! ### [`v12.1.4`](https://github.com/vercel/next.js/releases/tag/v12.1.4) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.3...v12.1.4) ##### Core Changes - Only resolve page runtime for react 18 and error on read failure: [#&#8203;35705](https://github.com/vercel/next.js/issues/35705) - feat(next-swc): Update swc crates: [#&#8203;35395](https://github.com/vercel/next.js/issues/35395) - Fix document styles with react 18: [#&#8203;35760](https://github.com/vercel/next.js/issues/35760) - Fix router isReady and react 18 not being detected with no config: [#&#8203;35762](https://github.com/vercel/next.js/issues/35762) ##### Documentation Changes - Updated create-next-app docs to include pnpm usage: [#&#8203;35755](https://github.com/vercel/next.js/issues/35755) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;styfle](https://github.com/styfle), and [@&#8203;kdy1](https://github.com/kdy1) for helping! ### [`v12.1.3`](https://github.com/vercel/next.js/releases/tag/v12.1.3) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.2...v12.1.3) ##### Core Changes - Add deprecated JSDoc comments for the previous middleware signature: [#&#8203;35448](https://github.com/vercel/next.js/issues/35448) - fix the dynamic routing of middleware: [#&#8203;32601](https://github.com/vercel/next.js/issues/32601) - fix: don't override user-agent in fetch if specified: [#&#8203;35547](https://github.com/vercel/next.js/issues/35547) - Fix typos: [#&#8203;35683](https://github.com/vercel/next.js/issues/35683) - Fix Fast Refresh for React 18: [#&#8203;35718](https://github.com/vercel/next.js/issues/35718) - Emotion css minify should not trim end spaces if item is not the last: [#&#8203;35697](https://github.com/vercel/next.js/issues/35697) - Ensure the app shell is rendered before rendering the document: [#&#8203;35732](https://github.com/vercel/next.js/issues/35732) - fix: Prevent page to scroll to top during data HMR: [#&#8203;35739](https://github.com/vercel/next.js/issues/35739) - Fix \_document and getInitialProps with React 18: [#&#8203;35736](https://github.com/vercel/next.js/issues/35736) - test(fix: Prevent page to scroll to top during data HMR): [#&#8203;35744](https://github.com/vercel/next.js/issues/35744) - Update to pre-compile use-subscription: [#&#8203;35746](https://github.com/vercel/next.js/issues/35746) - Fix useStatic404 condition: [#&#8203;35749](https://github.com/vercel/next.js/issues/35749) - Fix streaming SSR with multi-byte characters: [#&#8203;35724](https://github.com/vercel/next.js/issues/35724) ##### Documentation Changes - docs: fix typo in Script Component docs: [#&#8203;35731](https://github.com/vercel/next.js/issues/35731) ##### Misc Changes - Fix next info test during stable release: [#&#8203;35668](https://github.com/vercel/next.js/issues/35668) - Update default test timeouts for yarn install times: [#&#8203;35669](https://github.com/vercel/next.js/issues/35669) - test(integration): emit console error when test fails: [#&#8203;35507](https://github.com/vercel/next.js/issues/35507) ##### Credits Huge thanks to [@&#8203;lfades](https://github.com/lfades), [@&#8203;nkzawa](https://github.com/nkzawa), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;SethFalco](https://github.com/SethFalco), [@&#8203;hiro0218](https://github.com/hiro0218), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;shuding](https://github.com/shuding), [@&#8203;BWsix](https://github.com/BWsix), [@&#8203;schickling](https://github.com/schickling), [@&#8203;ijjk](https://github.com/ijjk), and [@&#8203;martinnabhan](https://github.com/martinnabhan) for helping! ### [`v12.1.2`](https://github.com/vercel/next.js/releases/tag/v12.1.2) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.1...v12.1.2) ##### Core Changes - RSC: handle commonjs in flight loader: [#&#8203;35563](https://github.com/vercel/next.js/issues/35563) - Update rsc refresh typing and doc example: [#&#8203;35543](https://github.com/vercel/next.js/issues/35543) - Revert "Revert "Make concurrent features independent from the global runtime option" [#&#8203;35405](https://github.com/vercel/next.js/issues/35405)": [#&#8203;35490](https://github.com/vercel/next.js/issues/35490) - Update terminal tree view for switchable runtime: [#&#8203;35394](https://github.com/vercel/next.js/issues/35394) - Prevent spaces between expressions from being removed: [#&#8203;35613](https://github.com/vercel/next.js/issues/35613) - Fix: disable script worker in edge and fix rsc loader and runtime: [#&#8203;35604](https://github.com/vercel/next.js/issues/35604) - enhance: detect ESM by ast type: [#&#8203;35627](https://github.com/vercel/next.js/issues/35627) - Clean up legacy react 18 tests: [#&#8203;35615](https://github.com/vercel/next.js/issues/35615) - Fix server component render condition: [#&#8203;35663](https://github.com/vercel/next.js/issues/35663) - Rename createRSCHook to createFlightHook: [#&#8203;35665](https://github.com/vercel/next.js/issues/35665) - Ensure eslint plugins dont conflict: [#&#8203;35667](https://github.com/vercel/next.js/issues/35667) ##### Documentation Changes - docs: update styling support for streaming: [#&#8203;35375](https://github.com/vercel/next.js/issues/35375) - Fix typo in rewrites docs: [#&#8203;35639](https://github.com/vercel/next.js/issues/35639) - Update middleware examples list: [#&#8203;35622](https://github.com/vercel/next.js/issues/35622) ##### Misc Changes - Fix create-next-app failing without yarn installed: [#&#8203;35608](https://github.com/vercel/next.js/issues/35608) - Fix hydration issue in the switchable runtime tests: [#&#8203;35616](https://github.com/vercel/next.js/issues/35616) ##### Credits Huge thanks to [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;shuding](https://github.com/shuding), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;TianenPang](https://github.com/TianenPang), [@&#8203;lfades](https://github.com/lfades), and [@&#8203;timneutkens](https://github.com/timneutkens) for helping! ### [`v12.1.1`](https://github.com/vercel/next.js/releases/tag/v12.1.1) [Compare Source](https://github.com/vercel/next.js/compare/v12.1.0...v12.1.1) ##### Core Changes - refactor: move `HtmlContext`: [#&#8203;34482](https://github.com/vercel/next.js/issues/34482) - rsc: clean client buffer cache after flushed: [#&#8203;34475](https://github.com/vercel/next.js/issues/34475) - Ensure config's `experimental` field exists: [#&#8203;34500](https://github.com/vercel/next.js/issues/34500) - Only log experiments warning if user actually opted in to an experiment(s): [#&#8203;34413](https://github.com/vercel/next.js/issues/34413) - Add `unstable_useFlushEffects` hook: [#&#8203;34117](https://github.com/vercel/next.js/issues/34117) - fix: mock image path as `next/image` expects it: [#&#8203;34350](https://github.com/vercel/next.js/issues/34350) - fix process polyfill on middleware: [#&#8203;34426](https://github.com/vercel/next.js/issues/34426) - Ensure workers are not left open: [#&#8203;34503](https://github.com/vercel/next.js/issues/34503) - Leverage existing component checking warning for streaming: [#&#8203;34526](https://github.com/vercel/next.js/issues/34526) - build(next-swc): linux glibc compatible issue: [#&#8203;34481](https://github.com/vercel/next.js/issues/34481) - Fix `next/image` incorrectly warning for `position: absolute` parent: [#&#8203;34551](https://github.com/vercel/next.js/issues/34551) - Remove `useMaybeDeferContent` hook: [#&#8203;34506](https://github.com/vercel/next.js/issues/34506) - Allow reading request bodies in middlewares ([#&#8203;34294](https://github.com/vercel/next.js/issues/34294)): [#&#8203;34519](https://github.com/vercel/next.js/issues/34519) - Update swc crates: [#&#8203;34491](https://github.com/vercel/next.js/issues/34491) - feat(react-dev-overlay): export getErrorByType and add preventDisplay prop: [#&#8203;34237](https://github.com/vercel/next.js/issues/34237) - Improve `next/image` warnings to avoid printing more than once: [#&#8203;34562](https://github.com/vercel/next.js/issues/34562) - Support trailingSlash in middleware SSR: [#&#8203;34544](https://github.com/vercel/next.js/issues/34544) - Update to latest version of jscodeshift: [#&#8203;34563](https://github.com/vercel/next.js/issues/34563) - Don't import internally from types in `next-env.d.ts`: [#&#8203;34394](https://github.com/vercel/next.js/issues/34394) - Improve type imports in server/render and optimize the Edge SSR loader: [#&#8203;34552](https://github.com/vercel/next.js/issues/34552) - remove commons chunk config: [#&#8203;34445](https://github.com/vercel/next.js/issues/34445) - Add `cargo clippy` and `cargo fmt` to CI: [#&#8203;34625](https://github.com/vercel/next.js/issues/34625) - Fix rsc bootstrap buffer missing in the future renders: [#&#8203;34631](https://github.com/vercel/next.js/issues/34631) - fix: match `redirect` and `rewrite` destination types: [#&#8203;34617](https://github.com/vercel/next.js/issues/34617) - fix: make sure `image-config.ts` gets transpiled to ES5: [#&#8203;34677](https://github.com/vercel/next.js/issues/34677) - Normalize image optimizer error status codes: [#&#8203;34699](https://github.com/vercel/next.js/issues/34699) - Fix CSS Loader Detection False Positives: [#&#8203;34584](https://github.com/vercel/next.js/issues/34584) - Upgrade [@&#8203;napi-rs/triples](https://github.com/napi-rs/triples) to support android arm platform: [#&#8203;34752](https://github.com/vercel/next.js/issues/34752) - Add proper headers to responses in web server: [#&#8203;34723](https://github.com/vercel/next.js/issues/34723) - produce source maps for middlewares: [#&#8203;34409](https://github.com/vercel/next.js/issues/34409) - Reduce the size of web server: [#&#8203;34767](https://github.com/vercel/next.js/issues/34767) - collect telemetry for ESLint rules: [#&#8203;34564](https://github.com/vercel/next.js/issues/34564) - Refactor entries generation in hot-reloader: [#&#8203;34733](https://github.com/vercel/next.js/issues/34733) - Integrate tsec into the linting process: [#&#8203;33746](https://github.com/vercel/next.js/issues/33746) - Add API config to allow disabling response size warning: [#&#8203;34700](https://github.com/vercel/next.js/issues/34700) - fix([#&#8203;34030](https://github.com/vercel/next.js/issues/34030)): ignore non-checkable jsx spread attribute: [#&#8203;34473](https://github.com/vercel/next.js/issues/34473) - fix eslint-plugin-react version to avoid jsx-key error: [#&#8203;34800](https://github.com/vercel/next.js/issues/34800) - fix: [#&#8203;34711](https://github.com/vercel/next.js/issues/34711) ensure distDir inside project folder: [#&#8203;34795](https://github.com/vercel/next.js/issues/34795) - Update to ncc dev overlay during build instead of pre-compile: [#&#8203;34813](https://github.com/vercel/next.js/issues/34813) - Add warning for Yarn PnP v3 with Node.js < 16.14: [#&#8203;34818](https://github.com/vercel/next.js/issues/34818) - lock eslint-config-next dependencies: [#&#8203;34823](https://github.com/vercel/next.js/issues/34823) - Clean-up error when starting next with non-existent dir: [#&#8203;34830](https://github.com/vercel/next.js/issues/34830) - Ensure unstable_revalidate does not error from notFound: true: [#&#8203;34826](https://github.com/vercel/next.js/issues/34826) - Update eslint-plugin-react to latest version: [#&#8203;34819](https://github.com/vercel/next.js/issues/34819) - Add CLI command typo detection: [#&#8203;34836](https://github.com/vercel/next.js/issues/34836) - Fix flight loader for shared components: [#&#8203;34692](https://github.com/vercel/next.js/issues/34692) - refactor: re-use existed escapeRegex: [#&#8203;34470](https://github.com/vercel/next.js/issues/34470) - Fix only byte stream writing is allowed in CF workers: [#&#8203;34893](https://github.com/vercel/next.js/issues/34893) - Only warn styles and scripts under next head in concurrent mode: [#&#8203;34897](https://github.com/vercel/next.js/issues/34897) - Fix image optimization invalid internal upstream image: [#&#8203;34899](https://github.com/vercel/next.js/issues/34899) - feat(next-swc): Update swc: [#&#8203;34878](https://github.com/vercel/next.js/issues/34878) - Simplify next-flight-server-loader: [#&#8203;34902](https://github.com/vercel/next.js/issues/34902) - Ensure non-matching API routes can be rewritten: [#&#8203;33966](https://github.com/vercel/next.js/issues/33966) - Optimize component type filters: [#&#8203;34941](https://github.com/vercel/next.js/issues/34941) - Expose WASM bindings in Middleware: [#&#8203;34437](https://github.com/vercel/next.js/issues/34437) - Provide page runtime parsing utils: [#&#8203;34922](https://github.com/vercel/next.js/issues/34922) - Refactor export marks of server components: [#&#8203;34945](https://github.com/vercel/next.js/issues/34945) - Fix `next/image` noscript when blur and priority: [#&#8203;34973](https://github.com/vercel/next.js/issues/34973) - Fix named export missing from client components: [#&#8203;34974](https://github.com/vercel/next.js/issues/34974) - Adopt react 18 rc1: [#&#8203;34972](https://github.com/vercel/next.js/issues/34972) - Fix typescript 4.6.2 randomUUID(): [#&#8203;34976](https://github.com/vercel/next.js/issues/34976) - Update ISR error handling: [#&#8203;34931](https://github.com/vercel/next.js/issues/34931) - Handle de-duping revalidations in minimal mode: [#&#8203;34935](https://github.com/vercel/next.js/issues/34935) - feat: allow dotenv default expansion: [#&#8203;34765](https://github.com/vercel/next.js/issues/34765) - Support colons in Middleware NextResponse.rewrite path: [#&#8203;32543](https://github.com/vercel/next.js/issues/32543) - Generate static html for bots: [#&#8203;35004](https://github.com/vercel/next.js/issues/35004) - Enable import assertion syntax parsing: [#&#8203;33750](https://github.com/vercel/next.js/issues/33750) - Split up & tweak `next/client` initialization: [#&#8203;33838](https://github.com/vercel/next.js/issues/33838) - Normalize root path according to trailingSlash option in default next/image loader [#&#8203;21337](https://github.com/vercel/next.js/issues/21337): [#&#8203;22453](https://github.com/vercel/next.js/issues/22453) - Fix animated png bypass from Image Optimization API: [#&#8203;35120](https://github.com/vercel/next.js/issues/35120) - watch node_modules: [#&#8203;35140](https://github.com/vercel/next.js/issues/35140) - feat(trace): postprocess trace reporter for datadog: [#&#8203;35032](https://github.com/vercel/next.js/issues/35032) - \[next] Fix to not call middleware with shallow push, fix middleware call wit…: [#&#8203;35047](https://github.com/vercel/next.js/issues/35047) - fix post request hangs when no body is consumed on middleware: [#&#8203;35131](https://github.com/vercel/next.js/issues/35131) - fix: hard-navigate when preflight request fails: [#&#8203;35145](https://github.com/vercel/next.js/issues/35145) - Per-page runtime: [#&#8203;35011](https://github.com/vercel/next.js/issues/35011) - Delay prefix flushing: [#&#8203;35170](https://github.com/vercel/next.js/issues/35170) - Change to loadBindings for swc parse: [#&#8203;35171](https://github.com/vercel/next.js/issues/35171) - Ensure mjs files are transformed with jest: [#&#8203;34698](https://github.com/vercel/next.js/issues/34698) - Disable the functions manifest plugin: [#&#8203;35155](https://github.com/vercel/next.js/issues/35155) - Adopt react 18 rc2: [#&#8203;35161](https://github.com/vercel/next.js/issues/35161) - Convert server.js to module.exports: [#&#8203;35181](https://github.com/vercel/next.js/issues/35181) - Fix `next/image` when src is webp but browser doesnt support it: [#&#8203;35190](https://github.com/vercel/next.js/issues/35190) - \[Fix] Adds try/catch to gracefully handle performance observer exception: [#&#8203;35202](https://github.com/vercel/next.js/issues/35202) - Render resolved streaming content for static render result: [#&#8203;35221](https://github.com/vercel/next.js/issues/35221) - feat(next-swc): Update crates: [#&#8203;35133](https://github.com/vercel/next.js/issues/35133) - Ensure that pages manifest contains pages of both runtimes: [#&#8203;35243](https://github.com/vercel/next.js/issues/35243) - chore: upgrade `cssnano-simple`: [#&#8203;35258](https://github.com/vercel/next.js/issues/35258) - fix(Script): allow passing defer=false to Script component: [#&#8203;34850](https://github.com/vercel/next.js/issues/34850) - Remove the special `_document-concurrent` component: [#&#8203;35242](https://github.com/vercel/next.js/issues/35242) - Adds web worker support to `<Script />` using Partytown: [#&#8203;34244](https://github.com/vercel/next.js/issues/34244) - Bump styled-jsx to 5.0.1: [#&#8203;35290](https://github.com/vercel/next.js/issues/35290) - Add new 'raw' image layout: [#&#8203;34339](https://github.com/vercel/next.js/issues/34339) - SWC emotion transform plugin: [#&#8203;34687](https://github.com/vercel/next.js/issues/34687) - enhance: cover re-exported gsp cases for runtime fallback: [#&#8203;35326](https://github.com/vercel/next.js/issues/35326) - Make concurrent features independent from the global runtime option: [#&#8203;35245](https://github.com/vercel/next.js/issues/35245) - Update comments for the web server: [#&#8203;35366](https://github.com/vercel/next.js/issues/35366) - Add libc fields to Linux platform packages: [#&#8203;35354](https://github.com/vercel/next.js/issues/35354) - Drop browser field for edge runtime: [#&#8203;35335](https://github.com/vercel/next.js/issues/35335) - Make router able to navigate between rsc pages: [#&#8203;35344](https://github.com/vercel/next.js/issues/35344) - Revert "Make concurrent features independent from the global runtime option": [#&#8203;35405](https://github.com/vercel/next.js/issues/35405) - Update on-demand ISR to skip fetch locally: [#&#8203;35386](https://github.com/vercel/next.js/issues/35386) - Use hasConcurrentFeatures instead of reactRoot as the condition of Fizz: [#&#8203;35407](https://github.com/vercel/next.js/issues/35407) - Abstract out stream related utils from render and web/utils: [#&#8203;35372](https://github.com/vercel/next.js/issues/35372) - Keep fouc tags for streaming: [#&#8203;35417](https://github.com/vercel/next.js/issues/35417) - Fix: change the timing for clearing the inlined data buffer: [#&#8203;35413](https://github.com/vercel/next.js/issues/35413) - fix(document): accepts nodearray for head's children: [#&#8203;35424](https://github.com/vercel/next.js/issues/35424) - Update to latest [@&#8203;vercel/nft](https://github.com/vercel/nft) and leverage new reason types: [#&#8203;35446](https://github.com/vercel/next.js/issues/35446) - Add test to ensure `fs.readFile()` works with Output File Tracing: [#&#8203;35338](https://github.com/vercel/next.js/issues/35338) - feat(next-swc): embed target triple string: [#&#8203;35416](https://github.com/vercel/next.js/issues/35416) - Typo in URL removed: [#&#8203;35472](https://github.com/vercel/next.js/issues/35472) - feat(telemetry): report swc target triple to telemetry: [#&#8203;35420](https://github.com/vercel/next.js/issues/35420) - Update trace ignore check to check reasons correctly: [#&#8203;35511](https://github.com/vercel/next.js/issues/35511) - SWC import modularization plugin: [#&#8203;34969](https://github.com/vercel/next.js/issues/34969) - Reduce hello-world middleware bundle size from 128k to 88k: [#&#8203;35512](https://github.com/vercel/next.js/issues/35512) - Update next/link error when no children are provided: [#&#8203;35453](https://github.com/vercel/next.js/issues/35453) - Normalize ssgCacheKey for /index with minimalMode de-duping: [#&#8203;35536](https://github.com/vercel/next.js/issues/35536) - Merge rsc queries handling: [#&#8203;35545](https://github.com/vercel/next.js/issues/35545) - Upgrade react-server-dom-webpack: [#&#8203;35524](https://github.com/vercel/next.js/issues/35524) - Fix styled transform in next-swc/emotion: [#&#8203;35527](https://github.com/vercel/next.js/issues/35527) - Fix `next info` accidentally printing stderr: [#&#8203;35556](https://github.com/vercel/next.js/issues/35556) - chore: replace deprecated String.prototype.substr(): [#&#8203;35421](https://github.com/vercel/next.js/issues/35421) - test: warn on substr() usage: [#&#8203;35499](https://github.com/vercel/next.js/issues/35499) ##### Documentation Changes - Update docs for image optimization swr: [#&#8203;34483](https://github.com/vercel/next.js/issues/34483) - Fix 404 links in React 18 docs: [#&#8203;34486](https://github.com/vercel/next.js/issues/34486) - Fix snippet language sh -> bash: [#&#8203;34487](https://github.com/vercel/next.js/issues/34487) - Add info on rendering an error page when using getServerSideProps: [#&#8203;34488](https://github.com/vercel/next.js/issues/34488) - Update details about Cache Control Headers: [#&#8203;34416](https://github.com/vercel/next.js/issues/34416) - Update wrong code snippet: [#&#8203;34520](https://github.com/vercel/next.js/issues/34520) - fix: change showcase url: [#&#8203;34590](https://github.com/vercel/next.js/issues/34590) - Add note about public folder with standalone mode: [#&#8203;34646](https://github.com/vercel/next.js/issues/34646) - added styled-components & replay support in swc: [#&#8203;34647](https://github.com/vercel/next.js/issues/34647) - Provide more detail to static folder placement: [#&#8203;34651](https://github.com/vercel/next.js/issues/34651) - Update testing.md: [#&#8203;34661](https://github.com/vercel/next.js/issues/34661) - Remove page-specific font example from docs: [#&#8203;34694](https://github.com/vercel/next.js/issues/34694) - Fix typo in documentation: [#&#8203;34734](https://github.com/vercel/next.js/issues/34734) - Improve rewrites documentation: [#&#8203;34725](https://github.com/vercel/next.js/issues/34725) - Add Error Handling document: [#&#8203;34329](https://github.com/vercel/next.js/issues/34329) - Update inlineCode reference: [#&#8203;34817](https://github.com/vercel/next.js/issues/34817) - Add redirect for error doc rename: [#&#8203;34791](https://github.com/vercel/next.js/issues/34791) - Fix issues in getStaticPaths docs: [#&#8203;34840](https://github.com/vercel/next.js/issues/34840) - Improve TypeScript documentation.: [#&#8203;34690](https://github.com/vercel/next.js/issues/34690) - Fix broken link in react-18 streaming docs.: [#&#8203;34884](https://github.com/vercel/next.js/issues/34884) - Add missing closing parenthesis in docs: [#&#8203;34924](https://github.com/vercel/next.js/issues/34924) - \[examples] Update styled-components to use SWC: [#&#8203;34770](https://github.com/vercel/next.js/issues/34770) - feat: support `pnpm` with `create-next-app`: [#&#8203;34947](https://github.com/vercel/next.js/issues/34947) - Fix missing parenthesis for link in docs: [#&#8203;35090](https://github.com/vercel/next.js/issues/35090) - Update shallow routing caveat: [#&#8203;35052](https://github.com/vercel/next.js/issues/35052) - Add `next/image` docs section for animated images: [#&#8203;35123](https://github.com/vercel/next.js/issues/35123) - Add info on `context.ctx` argument in \_app docs page: [#&#8203;35303](https://github.com/vercel/next.js/issues/35303) - Encourage installation of sass as a devDep: [#&#8203;35323](https://github.com/vercel/next.js/issues/35323) - \[docs] Update docs about Cache-Control default headers.: [#&#8203;35336](https://github.com/vercel/next.js/issues/35336) - \[docs] Update going to production docs around caching headers: [#&#8203;35374](https://github.com/vercel/next.js/issues/35374) - Update `next/image` docs for width & height: [#&#8203;35188](https://github.com/vercel/next.js/issues/35188) - Added note about why Next.js used 307 and 308 status codes: [#&#8203;35325](https://github.com/vercel/next.js/issues/35325) - Fix typo in getServerSideProps doc page: [#&#8203;35467](https://github.com/vercel/next.js/issues/35467) - clarify use of Script: [#&#8203;35491](https://github.com/vercel/next.js/issues/35491) - Server component docs use wrong next version: [#&#8203;35313](https://github.com/vercel/next.js/issues/35313) - Add link for revalidate from notFound section: [#&#8203;35553](https://github.com/vercel/next.js/issues/35553) - Fix typo in docs: [#&#8203;35561](https://github.com/vercel/next.js/issues/35561) ##### Example Changes - Convert custom-server-hapi Example to Typescript: [#&#8203;34507](https://github.com/vercel/next.js/issues/34507) - Updated head, img -> Image, type { NextPage } as default next-app: [#&#8203;34513](https://github.com/vercel/next.js/issues/34513) - removing redundant/unnecessary lines as these are defaults: [#&#8203;34587](https://github.com/vercel/next.js/issues/34587) - Sentry example: add js types to SentryWebpackPluginOptions: [#&#8203;28726](https://github.com/vercel/next.js/issues/28726) - Add .git to .dockerignore in docker examples: [#&#8203;34628](https://github.com/vercel/next.js/issues/34628) - Updates with-supertokens example: [#&#8203;34679](https://github.com/vercel/next.js/issues/34679) - Convert `with-redis` example to TypeScript: [#&#8203;34720](https://github.com/vercel/next.js/issues/34720) - Update MySQL example.: [#&#8203;34784](https://github.com/vercel/next.js/issues/34784) - Some minor adjustments to MySQL example.: [#&#8203;34792](https://github.com/vercel/next.js/issues/34792) - docs: update CMS examples to use the new tw grid gaps: [#&#8203;34917](https://github.com/vercel/next.js/issues/34917) - docs: update cms-sanity example: [#&#8203;34898](https://github.com/vercel/next.js/issues/34898) - Update cms-wordpress example: [#&#8203;34944](https://github.com/vercel/next.js/issues/34944) - Update supertokens demo app: [#&#8203;35007](https://github.com/vercel/next.js/issues/35007) - fix(examples/with-docker): add npm comment for yarn build: [#&#8203;35040](https://github.com/vercel/next.js/issues/35040) - \[examples] Add Tina CMS blog starter: [#&#8203;35045](https://github.com/vercel/next.js/issues/35045) - \[examples] Use more semantic footer element: [#&#8203;35033](https://github.com/vercel/next.js/issues/35033) - Re-add \_document to with-styled-components example: [#&#8203;35163](https://github.com/vercel/next.js/issues/35163) - docs(examples): add on-demand ISR to cms-sanity: [#&#8203;35220](https://github.com/vercel/next.js/issues/35220) - examples: update instructions for create-strapi-app: [#&#8203;35288](https://github.com/vercel/next.js/issues/35288) - Remove with-custom-reverse-proxy example: [#&#8203;35340](https://github.com/vercel/next.js/issues/35340) - Change README structure in examples: [#&#8203;35349](https://github.com/vercel/next.js/issues/35349) - use initial state for rootReducer in with-redux-saga example: [#&#8203;35406](https://github.com/vercel/next.js/issues/35406) ##### Misc Changes - chore: clarify GitHub action (bot) comments: [#&#8203;34546](https://github.com/vercel/next.js/issues/34546) - Add test for multiple cookies coming from middleware: [#&#8203;34465](https://github.com/vercel/next.js/issues/34465) - Simplify .env.local gitignores: [#&#8203;34471](https://github.com/vercel/next.js/issues/34471) - Clarify test types during scaffolding: [#&#8203;34638](https://github.com/vercel/next.js/issues/34638) - Ensure rust-check skips on docs only change: [#&#8203;34648](https://github.com/vercel/next.js/issues/34648) - Update CODEOWNERS to include renamed files: [#&#8203;34686](https://github.com/vercel/next.js/issues/34686) - Lock yarn pnp version in tests: [#&#8203;34688](https://github.com/vercel/next.js/issues/34688) - Fix create-next-app Multiple calls to the function 'makeDir': [#&#8203;34669](https://github.com/vercel/next.js/issues/34669) - chore: Move test for streaming and RSC: [#&#8203;34724](https://github.com/vercel/next.js/issues/34724) - Fix react-dom type error in CNA typescript template: [#&#8203;34623](https://github.com/vercel/next.js/issues/34623) - Update test concurrency for CI: [#&#8203;34827](https://github.com/vercel/next.js/issues/34827) - Update to use whatwg validator for test: [#&#8203;34891](https://github.com/vercel/next.js/issues/34891) - dep: upgrade [@&#8203;swc/core](https://github.com/swc/core) v1.2.148 , [@&#8203;swc/cli](https://github.com/swc/cli) v0.1.55: [#&#8203;35054](https://github.com/vercel/next.js/issues/35054) - Run tests against node LTS (v16) and current (v17): [#&#8203;35414](https://github.com/vercel/next.js/issues/35414) - test: add document head multi child prod test: [#&#8203;35426](https://github.com/vercel/next.js/issues/35426) - Use check on prerender test assertion: [#&#8203;35482](https://github.com/vercel/next.js/issues/35482) ##### Credits Huge thanks to [@&#8203;styfle](https://github.com/styfle), [@&#8203;shuding](https://github.com/shuding), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;amandeepmittal](https://github.com/amandeepmittal), [@&#8203;bennettdams](https://github.com/bennettdams), [@&#8203;sophiabits](https://github.com/sophiabits), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;devknoll](https://github.com/devknoll), [@&#8203;nkzawa](https://github.com/nkzawa), [@&#8203;kinetifex](https://github.com/kinetifex), [@&#8203;elrumordelaluz](https://github.com/elrumordelaluz), [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn), [@&#8203;mitchell-abbott](https://github.com/mitchell-abbott), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;natew](https://github.com/natew), [@&#8203;nrjdalal](https://github.com/nrjdalal), [@&#8203;dephraiim](https://github.com/dephraiim), [@&#8203;lfades](https://github.com/lfades), [@&#8203;sokra](https://github.com/sokra), [@&#8203;AmirhBeigi](https://github.com/AmirhBeigi), [@&#8203;marshalcode](https://github.com/marshalcode), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;mxgnus-de](https://github.com/mxgnus-de), [@&#8203;MoltenCoffee](https://github.com/MoltenCoffee), [@&#8203;jonespen](https://github.com/jonespen), [@&#8203;NoamNol](https://github.com/NoamNol), [@&#8203;khuezy](https://github.com/khuezy), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;kara](https://github.com/kara), [@&#8203;reubn](https://github.com/reubn), [@&#8203;luciy](https://github.com/luciy), [@&#8203;Pauldic](https://github.com/Pauldic), [@&#8203;brodyd795](https://github.com/brodyd795), [@&#8203;eungyeole](https://github.com/eungyeole), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;Nutlope](https://github.com/Nutlope), [@&#8203;jgoping](https://github.com/jgoping), [@&#8203;crice88](https://github.com/crice88), [@&#8203;leerob](https://github.com/leerob), [@&#8203;SukkaW](https://github.com/SukkaW), [@&#8203;thibautsabot](https://github.com/thibautsabot), [@&#8203;sincovschi](https://github.com/sincovschi), [@&#8203;ahollenbach](https://github.com/ahollenbach), [@&#8203;kolarski](https://github.com/kolarski), [@&#8203;AFusco](https://github.com/AFusco), [@&#8203;stipsan](https://github.com/stipsan), [@&#8203;sisp](https://github.com/sisp), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;lydiahallie](https://github.com/lydiahallie), [@&#8203;Skagoo](https://github.com/Skagoo), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;klarstrup](https://github.com/klarstrup), [@&#8203;midgleyc](https://github.com/midgleyc), [@&#8203;perkinsjr](https://github.com/perkinsjr), [@&#8203;bnoguchi](https://github.com/bnoguchi), [@&#8203;fhinkel](https://github.com/fhinkel), [@&#8203;fliptheweb](https://github.com/fliptheweb), [@&#8203;kwonoj](https://github.com/kwonoj), [@&#8203;leyanlo](https://github.com/leyanlo), [@&#8203;ericponto](https://github.com/ericponto), [@&#8203;huzaifarif](https://github.com/huzaifarif), [@&#8203;chemicalkosek](https://github.com/chemicalkosek), [@&#8203;chentsulin](https://github.com/chentsulin), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;bernard-lin](https://github.com/bernard-lin), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;kylemh](https://github.com/kylemh), [@&#8203;samsisle](https://github.com/samsisle), [@&#8203;Gomurmamma](https://github.com/Gomurmamma), [@&#8203;molebox](https://github.com/molebox), [@&#8203;Xairoo](https://github.com/Xairoo), [@&#8203;nelodev](https://github.com/nelodev), [@&#8203;SevlaMare](https://github.com/SevlaMare), [@&#8203;lukahartwig](https://github.com/lukahartwig), [@&#8203;losfair](https://github.com/losfair), [@&#8203;cramforce](https://github.com/cramforce), [@&#8203;hiro0218](https://github.com/hiro0218), and [@&#8203;CommanderRoot](https://github.com/CommanderRoot) for helping! ### [`v12.1.0`](https://github.com/vercel/next.js/releases/tag/v12.1.0) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.10...v12.1.0) ##### Core Changes - Relay Support in Rust Compiler: [#&#8203;33702](https://github.com/vercel/next.js/issues/33702) - fix eslint link-passhref rule: [#&#8203;33857](https://github.com/vercel/next.js/issues/33857) - update webpack: [#&#8203;33831](https://github.com/vercel/next.js/issues/33831) - Flush buffered vitals metrics on page mount: [#&#8203;33867](https://github.com/vercel/next.js/issues/33867) - fix problem with HMR when middleware and page reference the same node_module: [#&#8203;33873](https://github.com/vercel/next.js/issues/33873) - Refactor page component getter in web server: [#&#8203;33759](https://github.com/vercel/next.js/issues/33759) - update NextResponse default redirect status to 307 to match docs: [#&#8203;33505](https://github.com/vercel/next.js/issues/33505) - Bug fix: dynamic page should not be interpreted as predefined page: [#&#8203;33808](https://github.com/vercel/next.js/issues/33808) - Group streaming experimental apis: [#&#8203;33878](https://github.com/vercel/next.js/issues/33878) - Encapsulate routing and initial hydration: [#&#8203;33875](https://github.com/vercel/next.js/issues/33875) - Optimize offline condition judgment: [#&#8203;33238](https://github.com/vercel/next.js/issues/33238) - Ensure external beforeFiles rewrites are handled with next/link: [#&#8203;33888](https://github.com/vercel/next.js/issues/33888) - Fix parsing params for i18n optional route in minimal mode: [#&#8203;33896](https://github.com/vercel/next.js/issues/33896) - Ensure browserslist extends works properly: [#&#8203;33890](https://github.com/vercel/next.js/issues/33890) - Fix image cache race condition: [#&#8203;33883](https://github.com/vercel/next.js/issues/33883) - Add support for Relay projects without `artifactDirectory`: [#&#8203;33918](https://github.com/vercel/next.js/issues/33918) - fix: handle jsxspreadattribute in inline-script-id eslint rule: [#&#8203;32421](https://github.com/vercel/next.js/issues/32421) - feat(next-swc): Update swc: [#&#8203;33724](https://github.com/vercel/next.js/issues/33724) - Update to latest version of amphtml-validator: [#&#8203;33967](https://github.com/vercel/next.js/issues/33967) - Warn in dev mode when script tags are added with next/head: [#&#8203;33968](https://github.com/vercel/next.js/issues/33968) - Ensure optional chaining in swc matches babel: [#&#8203;33995](https://github.com/vercel/next.js/issues/33995) - Use `react-dom/server.browser` in Node.js: [#&#8203;33950](https://github.com/vercel/next.js/issues/33950) - Ensure external middleware rewrite is handled correctly: [#&#8203;33962](https://github.com/vercel/next.js/issues/33962) - Update Terser to v5.10.0, fix minification issues: [#&#8203;33045](https://github.com/vercel/next.js/issues/33045) - Warn in dev mode when stylesheets are added using next/head: [#&#8203;34004](https://github.com/vercel/next.js/issues/34004) - Use `ReadableStream` in `RenderResult`: [#&#8203;34005](https://github.com/vercel/next.js/issues/34005) - Fix suffix ordering while streaming: [#&#8203;34011](https://github.com/vercel/next.js/issues/34011) - Don't use yarn if a package-lock.json file is found: [#&#8203;31926](https://github.com/vercel/next.js/issues/31926) - Do not warn when application/ld+json scripts are used with next/head: [#&#8203;34021](https://github.com/vercel/next.js/issues/34021) - Babel & next-swc: Fix exporting page config with AsExpression: [#&#8203;32702](https://github.com/vercel/next.js/issues/32702) - Detect per page runtime config for functions manifest: [#&#8203;33945](https://github.com/vercel/next.js/issues/33945) - Add JSDoc to config options: [#&#8203;32915](https://github.com/vercel/next.js/issues/32915) - Update font-stylesheet-gathering-plugin.ts: [#&#8203;30709](https://github.com/vercel/next.js/issues/30709) - Add decoratorMetadata flag if enabled by tsconfig: [#&#8203;32914](https://github.com/vercel/next.js/issues/32914) - fix: data url handling in css-loader: [#&#8203;34034](https://github.com/vercel/next.js/issues/34034) - Place 'charset' element at the top of <head>: [#&#8203;28119](https://github.com/vercel/next.js/issues/28119) - Fix detection of anchor click events inside svg: [#&#8203;23272](https://github.com/vercel/next.js/issues/23272) - Allow passing nothing as custom jest config: [#&#8203;32328](https://github.com/vercel/next.js/issues/32328) - Fixes [#&#8203;31240](https://github.com/vercel/next.js/issues/31240): Adding a recursive addPackagePath function in webpack-config: [#&#8203;31264](https://github.com/vercel/next.js/issues/31264) - Require component rendered as child of `Link` to pass event to `onClick` handler: [#&#8203;27723](https://github.com/vercel/next.js/issues/27723) - Allow scroll prevention on hash change: [#&#8203;31921](https://github.com/vercel/next.js/issues/31921) - Add support for async fn / promise in next.config.js/.mjs: [#&#8203;33662](https://github.com/vercel/next.js/issues/33662) - Fix `lazyRoot` functionality for `next/image`: [#&#8203;33933](https://github.com/vercel/next.js/issues/33933) - Change SWC minify from beta to release candidate: [#&#8203;34056](https://github.com/vercel/next.js/issues/34056) - Make `Router` state immutable: [#&#8203;33925](https://github.com/vercel/next.js/issues/33925) - Stop exposing internal `render` and `renderError` methods from `next/client`: [#&#8203;34069](https://github.com/vercel/next.js/issues/34069) - Add api-utils helper for testing: [#&#8203;34078](https://github.com/vercel/next.js/issues/34078) - feat(next-swc): Update swc: [#&#8203;34045](https://github.com/vercel/next.js/issues/34045) - Deprecate `concurrentFeatures` with `runtime`: [#&#8203;34068](https://github.com/vercel/next.js/issues/34068) - Add check for resolveWeak to next/dynamic: [#&#8203;33908](https://github.com/vercel/next.js/issues/33908) - remove unneeded and broken plugin: [#&#8203;34087](https://github.com/vercel/next.js/issues/34087) - Remove experimental warning from next/jest: [#&#8203;34096](https://github.com/vercel/next.js/issues/34096) - fix: arrow function export in rsc client component: [#&#8203;34105](https://github.com/vercel/next.js/issues/34105) - Use `renderToStream` with React 18: [#&#8203;34106](https://github.com/vercel/next.js/issues/34106) - Fix static result being piped: [#&#8203;34111](https://github.com/vercel/next.js/issues/34111) - Polyfill pipeTo and pipeThrough: [#&#8203;34112](https://github.com/vercel/next.js/issues/34112) - Update to leverage response-cache for image-optimizer: [#&#8203;34075](https://github.com/vercel/next.js/issues/34075) - fix: `next/image` usage from `node_modules`: [#&#8203;33559](https://github.com/vercel/next.js/issues/33559) - Fix included flight manifest on node runtime: [#&#8203;34113](https://github.com/vercel/next.js/issues/34113) - Fix: Use `react-dom/server.browser` when `reactRoot: true`: [#&#8203;34116](https://github.com/vercel/next.js/issues/34116) - Fix image-optimizer requires in next-server: [#&#8203;34141](https://github.com/vercel/next.js/issues/34141) - Fix required files matching in rsc: [#&#8203;34137](https://github.com/vercel/next.js/issues/34137) - Throw error when ts file contains css.resolve: [#&#8203;34149](https://github.com/vercel/next.js/issues/34149) - Chore/stable swc compiler options: [#&#8203;34074](https://github.com/vercel/next.js/issues/34074) - Fix bug with "Circular Structure" error: [#&#8203;23905](https://github.com/vercel/next.js/issues/23905) - Add \_document and \_app pre-import: [#&#8203;23261](https://github.com/vercel/next.js/issues/23261) - Ensure standalone server handles SIGTERM: [#&#8203;34151](https://github.com/vercel/next.js/issues/34151) - Bump nft to 0.17.5: [#&#8203;34190](https://github.com/vercel/next.js/issues/34190) - feat: copy `.env` file in standalone mode: [#&#8203;34143](https://github.com/vercel/next.js/issues/34143) - Fix reuse of inline flight response and 404 for RSC in node runtime: [#&#8203;34202](https://github.com/vercel/next.js/issues/34202) - Use updated recursive rm fs method for image-optimizer: [#&#8203;34210](https://github.com/vercel/next.js/issues/34210) - Fix link for "Delete Query Params in Middleware" error message in `next-server.ts`: [#&#8203;34230](https://github.com/vercel/next.js/issues/34230) - Enable dynamic HTML in minimal mode: [#&#8203;34222](https://github.com/vercel/next.js/issues/34222) - Fix uncaught error in getInitialProps when `runtime` is set to `nodejs`: [#&#8203;34228](https://github.com/vercel/next.js/issues/34228) - Optimize the web server size: [#&#8203;34242](https://github.com/vercel/next.js/issues/34242) - feat: allow `node-sass@7` as peer dependency: [#&#8203;34107](https://github.com/vercel/next.js/issues/34107) - Adding step to build the app with docker in existing projects: [#&#8203;34083](https://github.com/vercel/next.js/issues/34083) - Changed all occurrences of etc to match: [#&#8203;34280](https://github.com/vercel/next.js/issues/34280) - Align reactRoot config between server and webpack config: [#&#8203;34328](https://github.com/vercel/next.js/issues/34328) - Fix `<RouteAnnouncer/>` shouldn't announce initial path under strict mode and React 18: [#&#8203;34338](https://github.com/vercel/next.js/issues/34338) - Fix flight root failed to hydrate in strict mode: [#&#8203;34333](https://github.com/vercel/next.js/issues/34333) - Allow dismissing full refresh warning for session: [#&#8203;33868](https://github.com/vercel/next.js/issues/33868) - Remove experimental image optimization feature: [#&#8203;34349](https://github.com/vercel/next.js/issues/34349) - Add support for "type": "module" in package.json: [#&#8203;33637](https://github.com/vercel/next.js/issues/33637) - feat(next-swc): Update swc: [#&#8203;34355](https://github.com/vercel/next.js/issues/34355) - Ensure invalid request to static page is handled correctly: [#&#8203;34346](https://github.com/vercel/next.js/issues/34346) - Add Error Handing section for ISR: [#&#8203;34360](https://github.com/vercel/next.js/issues/34360) - feat(next-swc): Update swc: [#&#8203;34408](https://github.com/vercel/next.js/issues/34408) - feat: improve opening a new issue flow: [#&#8203;34434](https://github.com/vercel/next.js/issues/34434) - Ensure we don't poll page in development when notFound: true is returned: [#&#8203;34352](https://github.com/vercel/next.js/issues/34352) - Add image config for `dangerouslyAllowSVG` and `contentSecurityPolicy`: [#&#8203;34431](https://github.com/vercel/next.js/issues/34431) - Revert swc css bump temporarily: [#&#8203;34440](https://github.com/vercel/next.js/issues/34440) - update webpack: [#&#8203;34444](https://github.com/vercel/next.js/issues/34444) - Update server-only changes HMR handling: [#&#8203;34298](https://github.com/vercel/next.js/issues/34298) - Fix `.svg` image optimization with a `loader` prop: [#&#8203;34452](https://github.com/vercel/next.js/issues/34452) - Allow reading request bodies in middlewares: [#&#8203;34294](https://github.com/vercel/next.js/issues/34294) - Revert "Allow reading request bodies in middlewares": [#&#8203;34479](https://github.com/vercel/next.js/issues/34479) - update webpack: [#&#8203;34477](https://github.com/vercel/next.js/issues/34477) - Fix chunk buffering for server components: [#&#8203;34474](https://github.com/vercel/next.js/issues/34474) - Remove deprecation for relative URL usage in middlewares: [#&#8203;34461](https://github.com/vercel/next.js/issues/34461) ##### Documentation Changes - Building web forms with Next.js and Vercel: [#&#8203;32525](https://github.com/vercel/next.js/issues/32525) - Add Clarity About Downloading and Self-Hosting a Font File: [#&#8203;33760](https://github.com/vercel/next.js/issues/33760) - Correct pluralization in newly added Relay documentation: [#&#8203;33880](https://github.com/vercel/next.js/issues/33880) - Update MDX document: [#&#8203;33916](https://github.com/vercel/next.js/issues/33916) - Update info on how to process webhooks by disabling bodyParser: [#&#8203;33909](https://github.com/vercel/next.js/issues/33909) - Update deployment docs to fix oversized image.: [#&#8203;33934](https://github.com/vercel/next.js/issues/33934) - docs: recommend `.end` instead of `.send` when no body is being sent: [#&#8203;33611](https://github.com/vercel/next.js/issues/33611) - Update custom document docs to prepare for React 18.: [#&#8203;33814](https://github.com/vercel/next.js/issues/33814) - Fix typo in new experimental Relay support docs: [#&#8203;33963](https://github.com/vercel/next.js/issues/33963) - docs(isr): add missing key prop in jsx loop: [#&#8203;33984](https://github.com/vercel/next.js/issues/33984) - docs: use function for components in general: [#&#8203;33990](https://github.com/vercel/next.js/issues/33990) - Updated going-to-production with loading performance: [#&#8203;33179](https://github.com/vercel/next.js/issues/33179) - docs: fix variable name from `profileData` to `data` in CSR page: [#&#8203;34018](https://github.com/vercel/next.js/issues/34018) - Improve Form Guide Contents: [#&#8203;33913](https://github.com/vercel/next.js/issues/33913) - Add `async` to middleware docs.: [#&#8203;31356](https://github.com/vercel/next.js/issues/31356) - (docs): update i18n-routing.md: [#&#8203;33123](https://github.com/vercel/next.js/issues/33123) - Fix redirect url for prefixing the default locale: [#&#8203;33762](https://github.com/vercel/next.js/issues/33762) - Add note about dns-prefetch as fallback: [#&#8203;30385](https://github.com/vercel/next.js/issues/30385) - Update custom server docs for async methods: [#&#8203;30521](https://github.com/vercel/next.js/issues/30521) - Update multiple docs pages to follow Docs Content style guide: [#&#8203;33855](https://github.com/vercel/next.js/issues/33855) - fix: Change `url` to `nextUrl` inside delete-query-params-in-middlewa…: [#&#8203;33796](https://github.com/vercel/next.js/issues/33796) - Changing GitHub Actions cache documentation: [#&#8203;28228](https://github.com/vercel/next.js/issues/28228) - \[docs] Add env var load order: [#&#8203;32350](https://github.com/vercel/next.js/issues/32350) - docs: add Ory vercel example to auth page: [#&#8203;33029](https://github.com/vercel/next.js/issues/33029) - Add note about crawlers and `fallback: true`: [#&#8203;34114](https://github.com/vercel/next.js/issues/34114) - docs(api-routes): fix node docs links: [#&#8203;34125](https://github.com/vercel/next.js/issues/34125) - add note to clarify use of Link when clearing preview cookies (issue [#&#8203;34129](https://github.com/vercel/next.js/issues/34129)): [#&#8203;34142](https://github.com/vercel/next.js/issues/34142) - Re-render details if rewrites are used: [#&#8203;34049](https://github.com/vercel/next.js/issues/34049) - Add heading to `invalid-api-status-body` error: [#&#8203;34150](https://github.com/vercel/next.js/issues/34150) - Ensure /index route is redirected correctly for docs: [#&#8203;34206](https://github.com/vercel/next.js/issues/34206) - Update docs for image `lazyRoot` prop: [#&#8203;34241](https://github.com/vercel/next.js/issues/34241) - Update link for includeFiles glob reference: [#&#8203;34269](https://github.com/vercel/next.js/issues/34269) - Update Preview Mode docs.: [#&#8203;34278](https://github.com/vercel/next.js/issues/34278) - Update frequently asked questions in documentation: [#&#8203;34252](https://github.com/vercel/next.js/issues/34252) - Alphabetize auth docs providers.: [#&#8203;34281](https://github.com/vercel/next.js/issues/34281) - Replace babel with SWC & minor changes in `getting started`: [#&#8203;34282](https://github.com/vercel/next.js/issues/34282) - Update Middleware docs to add version history.: [#&#8203;34302](https://github.com/vercel/next.js/issues/34302) - Fix typo on `getInitialProps`: [#&#8203;34309](https://github.com/vercel/next.js/issues/34309) - Update missing curly brace in image.md: [#&#8203;34307](https://github.com/vercel/next.js/issues/34307) - docs: Add link to pageExtensions config in page-without-valid-component.md: [#&#8203;34285](https://github.com/vercel/next.js/issues/34285) - Add an example to Write server-side code directly section: [#&#8203;34319](https://github.com/vercel/next.js/issues/34319) - Few touch-ups to the docs on web forms in Next: [#&#8203;34286](https://github.com/vercel/next.js/issues/34286) - Update MDX Custom Elements setup: [#&#8203;34175](https://github.com/vercel/next.js/issues/34175) - Update image.md: [#&#8203;34374](https://github.com/vercel/next.js/issues/34374) - Updated failed to load error page to include info about node versions: [#&#8203;34362](https://github.com/vercel/next.js/issues/34362) - docs: react 18, streaming SSR, rsc with new apis: [#&#8203;33986](https://github.com/vercel/next.js/issues/33986) - Update MDX Guide config example: [#&#8203;34405](https://github.com/vercel/next.js/issues/34405) - Remove hello world RSC example.: [#&#8203;34456](https://github.com/vercel/next.js/issues/34456) - Fix typo: [#&#8203;34480](https://github.com/vercel/next.js/issues/34480) ##### Example Changes - Update npm comment in Docker example: [#&#8203;33881](https://github.com/vercel/next.js/issues/33881) - Update Contentful example to add validations to solve graphql complexity errors.: [#&#8203;33958](https://github.com/vercel/next.js/issues/33958) - Update all CMS examples dependencies.: [#&#8203;33580](https://github.com/vercel/next.js/issues/33580) - Fix warning unknown prettier option when running `yarn lint`.: [#&#8203;34019](https://github.com/vercel/next.js/issues/34019) - \[New Example] with docker - multiple deployment environments: [#&#8203;34015](https://github.com/vercel/next.js/issues/34015) - Fix ambiguous flags in Dockerfile example: [#&#8203;33417](https://github.com/vercel/next.js/issues/33417) - fix(examples/with-docker): update env comments: [#&#8203;29972](https://github.com/vercel/next.js/issues/29972) - Remove unused "start" script from with-docker/package.json: [#&#8203;31053](https://github.com/vercel/next.js/issues/31053) - Update remark in blog-starter-typescript: [#&#8203;31393](https://github.com/vercel/next.js/issues/31393) - Update \_document.js: [#&#8203;29930](https://github.com/vercel/next.js/issues/29930) - Docs: use the nextv12 example from the storybook-addon-next repo as the with-storybook example: [#&#8203;33891](https://github.com/vercel/next.js/issues/33891) - examples, update with new URL: [#&#8203;34035](https://github.com/vercel/next.js/issues/34035) - \[with-typescript-graphql] fixes breaking changes in graphql-let v0.18.0: [#&#8203;32681](https://github.com/vercel/next.js/issues/32681) - fix(example): with-typescript-graphql graphql-let package migrate: [#&#8203;29996](https://github.com/vercel/next.js/issues/29996) - feat: update firebase in with-firebase: [#&#8203;29581](https://github.com/vercel/next.js/issues/29581) - progressive web app example converted to typescript : [#&#8203;33100](https://github.com/vercel/next.js/issues/33100) - Make adjustment to cache config of with-apollo example: [#&#8203;32733](https://github.com/vercel/next.js/issues/32733) - Fix error thrown by `next/image` in the Sanity example: [#&#8203;34203](https://github.com/vercel/next.js/issues/34203) - Update examples/active-class-name: [#&#8203;34205](https://github.com/vercel/next.js/issues/34205) - chore(example): update preact links in examples: [#&#8203;34233](https://github.com/vercel/next.js/issues/34233) - fix: don't wrap `profile` in firebase example: [#&#8203;34457](https://github.com/vercel/next.js/issues/34457) ##### Misc Changes - Fix flakey image-optimizer test: [#&#8203;33957](https://github.com/vercel/next.js/issues/33957) - Update azure config: [#&#8203;33999](https://github.com/vercel/next.js/issues/33999) - Add types to nextConfig in default template : [#&#8203;34029](https://github.com/vercel/next.js/issues/34029) - docs(contributing): Search GitHub for an open or closed PR that relates to your submission: [#&#8203;22533](https://github.com/vercel/next.js/issues/22533) - fix(create-next-app): add default version: [#&#8203;33006](https://github.com/vercel/next.js/issues/33006) - chore: do not run lock/stale actions on forks: [#&#8203;34053](https://github.com/vercel/next.js/issues/34053) - Fix functions manifest test: [#&#8203;34092](https://github.com/vercel/next.js/issues/34092) - add pnpm debug file in gitignore templates: [#&#8203;34091](https://github.com/vercel/next.js/issues/34091) - Update failing tests from upstream resource: [#&#8203;34110](https://github.com/vercel/next.js/issues/34110) - Update version number in next.config.js API reference - chore: log lock bot output: [#&#8203;34168](https://github.com/vercel/next.js/issues/34168) - chore: decrease lock action runs [#&#8203;34180](https://github.com/vercel/next.js/issues/34180) - Allow listening for page requests in tests: [#&#8203;34204](https://github.com/vercel/next.js/issues/34204) - Update code of conduct from v1.4 to v2.1: [#&#8203;34208](https://github.com/vercel/next.js/issues/34208) - Update contributing.md to link to walkthrough video.: [#&#8203;34299](https://github.com/vercel/next.js/issues/34299) - fix: typo in gitignore in typescript template: [#&#8203;34372](https://github.com/vercel/next.js/issues/34372) - test: add inline flight response reuse test: [#&#8203;34364](https://github.com/vercel/next.js/issues/34364) - Update 2.example_bug_report.yml - Update 1.bug_report.yml - Update 2.example_bug_report.yml - Update font-optimization test snapshot: [#&#8203;34478](https://github.com/vercel/next.js/issues/34478) ##### Credits Huge thanks to [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;mutebg](https://github.com/mutebg), [@&#8203;sokra](https://github.com/sokra), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;hanford](https://github.com/hanford), [@&#8203;shuding](https://github.com/shuding), [@&#8203;sean6bucks](https://github.com/sean6bucks), [@&#8203;jameshfisher](https://github.com/jameshfisher), [@&#8203;devknoll](https://github.com/devknoll), [@&#8203;yuta-ike](https://github.com/yuta-ike), [@&#8203;zh-lx](https://github.com/zh-lx), [@&#8203;amandeepmittal](https://github.com/amandeepmittal), [@&#8203;alunyov](https://github.com/alunyov), [@&#8203;stefanprobst](https://github.com/stefanprobst), [@&#8203;leerob](https://github.com/leerob), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;brittanyrw](https://github.com/brittanyrw), [@&#8203;jord1e](https://github.com/jord1e), [@&#8203;kara](https://github.com/kara), [@&#8203;vvo](https://github.com/vvo), [@&#8203;ismaelrumzan](https://github.com/ismaelrumzan), [@&#8203;dlindenkreuz](https://github.com/dlindenkreuz), [@&#8203;MohammadxAli](https://github.com/MohammadxAli), [@&#8203;nguyenyou](https://github.com/nguyenyou), [@&#8203;thibautsabot](https://github.com/thibautsabot), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;vertti](https://github.com/vertti), [@&#8203;KateKate](https://github.com/KateKate), [@&#8203;stefee](https://github.com/stefee), [@&#8203;mikinovation](https://github.com/mikinovation), [@&#8203;Leticijak](https://github.com/Leticijak), [@&#8203;mohsen1](https://github.com/mohsen1), [@&#8203;ncphillips](https://github.com/ncphillips), [@&#8203;ehowey](https://github.com/ehowey), [@&#8203;lancechentw](https://github.com/lancechentw), [@&#8203;krychaxp](https://github.com/krychaxp), [@&#8203;fmacherey](https://github.com/fmacherey), [@&#8203;pklawansky](https://github.com/pklawansky), [@&#8203;RyanClementsHax](https://github.com/RyanClementsHax), [@&#8203;lakbychance](https://github.com/lakbychance), [@&#8203;sannajammeh](https://github.com/sannajammeh), [@&#8203;oliviertassinari](https://github.com/oliviertassinari), [@&#8203;alexander-akait](https://github.com/alexander-akait), [@&#8203;u-yas](https://github.com/u-yas), [@&#8203;Cheprer](https://github.com/Cheprer), [@&#8203;msp5382](https://github.com/msp5382), [@&#8203;chrispat](https://github.com/chrispat), [@&#8203;getspooky](https://github.com/getspooky), [@&#8203;Ryz0nd](https://github.com/Ryz0nd), [@&#8203;klaasman](https://github.com/klaasman), [@&#8203;midgleyc](https://github.com/midgleyc), [@&#8203;kumard3](https://github.com/kumard3), [@&#8203;jesstelford](https://github.com/jesstelford), [@&#8203;neeraj3029](https://github.com/neeraj3029), [@&#8203;glenngijsberts](https://github.com/glenngijsberts), [@&#8203;pie6k](https://github.com/pie6k), [@&#8203;wouterraateland](https://github.com/wouterraateland), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;11koukou](https://github.com/11koukou), [@&#8203;thesyedbasim](https://github.com/thesyedbasim), [@&#8203;aeneasr](https://github.com/aeneasr), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;lfades](https://github.com/lfades), [@&#8203;JuniorTour](https://github.com/JuniorTour), [@&#8203;xavhan](https://github.com/xavhan), [@&#8203;mattyocode](https://github.com/mattyocode), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;Skn0tt](https://github.com/Skn0tt), [@&#8203;gwer](https://github.com/gwer), [@&#8203;Nutlope](https://github.com/Nutlope), [@&#8203;styfle](https://github.com/styfle), [@&#8203;stipsan](https://github.com/stipsan), [@&#8203;xhoantran](https://github.com/xhoantran), [@&#8203;eolme](https://github.com/eolme), [@&#8203;sespinosa](https://github.com/sespinosa), [@&#8203;zenorocha](https://github.com/zenorocha), [@&#8203;hjaber](https://github.com/hjaber), [@&#8203;benmvp](https://github.com/benmvp), [@&#8203;T-O-R-U-S](https://github.com/T-O-R-U-S), [@&#8203;dburrows](https://github.com/dburrows), [@&#8203;atcastle](https://github.com/atcastle), [@&#8203;kiriny](https://github.com/kiriny), [@&#8203;molebox](https://github.com/molebox), [@&#8203;kitayoshi](https://github.com/kitayoshi), and [@&#8203;Schniz](https://github.com/Schniz) for helping! ### [`v12.0.10`](https://github.com/vercel/next.js/releases/tag/v12.0.10) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.9...v12.0.10) ##### Core Changes - fix: image optimizer hangs when invalid image is requested: [#&#8203;33719](https://github.com/vercel/next.js/issues/33719) - feat: make `compress` configurable in standalone mode: [#&#8203;33717](https://github.com/vercel/next.js/issues/33717) - fix: allow certain variable names in development: [#&#8203;33638](https://github.com/vercel/next.js/issues/33638) - Use swc parse for flight server and client loaders: [#&#8203;33713](https://github.com/vercel/next.js/issues/33713) - Properly support custom 500 page in the web server: [#&#8203;33729](https://github.com/vercel/next.js/issues/33729) - chore: deprecate process.browser: [#&#8203;32862](https://github.com/vercel/next.js/issues/32862) - Improve tests for streaming and server components: [#&#8203;33740](https://github.com/vercel/next.js/issues/33740) - fix: fixes [#&#8203;33314](https://github.com/vercel/next.js/issues/33314) move is-plain-object for es5 compilation: [#&#8203;33690](https://github.com/vercel/next.js/issues/33690) - Add `stale-while-revalidate` pattern to Image Optimization API: [#&#8203;33735](https://github.com/vercel/next.js/issues/33735) - Allow to delete URL search params in middleware rewrites: [#&#8203;33725](https://github.com/vercel/next.js/issues/33725) - Ensure all CSS files are included for experimental critical CSS: [#&#8203;33752](https://github.com/vercel/next.js/issues/33752) - Ensure non-error thrown in getStaticPaths shows correctly: [#&#8203;33753](https://github.com/vercel/next.js/issues/33753) - Fix encoding error with location and refresh headers: [#&#8203;33763](https://github.com/vercel/next.js/issues/33763) - Fix duplicate image src causing canceled request: [#&#8203;33776](https://github.com/vercel/next.js/issues/33776) - Generate functions manifest: [#&#8203;33770](https://github.com/vercel/next.js/issues/33770) - Enable jest hoist transform when using next/jest: [#&#8203;33731](https://github.com/vercel/next.js/issues/33731) - fix typo: [#&#8203;33840](https://github.com/vercel/next.js/issues/33840) - fix(next/image): render valid html according to W3C: [#&#8203;33825](https://github.com/vercel/next.js/issues/33825) ##### Documentation Changes - Update Time to First Byte (TTFB) link: [#&#8203;33715](https://github.com/vercel/next.js/issues/33715) - Changed data fetching file name to overview to fix meta data title: [#&#8203;33232](https://github.com/vercel/next.js/issues/33232) - Correct misspelling in testing documentation [#&#8203;33754](https://github.com/vercel/next.js/issues/33754): [#&#8203;33755](https://github.com/vercel/next.js/issues/33755) - Move custom server note from middleware doc: [#&#8203;33744](https://github.com/vercel/next.js/issues/33744) - Fixed duplicate data fetching overview page + links: [#&#8203;33774](https://github.com/vercel/next.js/issues/33774) - \[docs] Mention SWC in TypeScript documentation.: [#&#8203;33801](https://github.com/vercel/next.js/issues/33801) - Testing docs: Comment out optional config that points to a file: [#&#8203;33827](https://github.com/vercel/next.js/issues/33827) - Update Content-Security-Policy header usage explanation: [#&#8203;33833](https://github.com/vercel/next.js/issues/33833) ##### Example Changes - Fix `with-docker` example dockerfile: [#&#8203;33695](https://github.com/vercel/next.js/issues/33695) - Added next.config.js with datocms-assets domain in allow list: [#&#8203;33647](https://github.com/vercel/next.js/issues/33647) - Fix: broken npm install: [#&#8203;33767](https://github.com/vercel/next.js/issues/33767) - \[example] Upgrade the with-stripe-typescript example app: [#&#8203;33761](https://github.com/vercel/next.js/issues/33761) - Upgrade to [@&#8203;stitches/react](https://github.com/stitches/react) 1.2.6: [#&#8203;33817](https://github.com/vercel/next.js/issues/33817) - Doc: fix broken link to api routes doc: [#&#8203;33836](https://github.com/vercel/next.js/issues/33836) ##### Misc Changes - run stale 20 minutes earlier - fix: use github action instead of bot: [#&#8203;33718](https://github.com/vercel/next.js/issues/33718) - fix syntax error in `lock.yml` - fix rsc test suite runner: [#&#8203;33745](https://github.com/vercel/next.js/issues/33745) ##### Credits Huge thanks to [@&#8203;Vienio99](https://github.com/Vienio99), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;molebox](https://github.com/molebox), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;shuding](https://github.com/shuding), [@&#8203;PepijnSenders](https://github.com/PepijnSenders), [@&#8203;krystofex](https://github.com/krystofex), [@&#8203;PizzaPete](https://github.com/PizzaPete), [@&#8203;souljuse](https://github.com/souljuse), [@&#8203;styfle](https://github.com/styfle), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;Nelsonfrank](https://github.com/Nelsonfrank), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;Mhmdrza](https://github.com/Mhmdrza), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;hideokamoto-stripe](https://github.com/hideokamoto-stripe), [@&#8203;Emrin](https://github.com/Emrin), [@&#8203;gr-qft](https://github.com/gr-qft), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;redbar0n](https://github.com/redbar0n), [@&#8203;amandeepmittal](https://github.com/amandeepmittal), [@&#8203;lxy-yz](https://github.com/lxy-yz), and [@&#8203;Divlo](https://github.com/Divlo) for helping! ### [`v12.0.9`](https://github.com/vercel/next.js/releases/tag/v12.0.9) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.8...v12.0.9) **This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.9** Vulnerable code could allow a bad actor to trigger a denial of service attack via the `/${locale}/_next/` route for anyone running a Next.js app at version >= 12.0.0, and using built-in [i18n routing](https://nextjs.org/docs/advanced-features/i18n-routing) functionality. #### How to Upgrade - We have released patch versions for both the stable and canary channels of Next.js. - To upgrade run `npm install next@latest --save` #### Impact - **Affected:** All of the following must be true to be affected by this CVE - Next.js versions between `v12.0.0` and `v12.0.9` - Using next start or a custom server - Using the built-in i18n support - **Not affected:** - Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js. We recommend everyone to upgrade regardless of whether you can reproduce the issue or not. ##### How to Assess Impact If your server has seen requests to any route under the prefix `/${locale}/_next/` that have triggered a heap overflow error, this was caused by the patched issue. #### What is Being Done As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to our users for their investigation and responsible disclosure of the original bug. We've landed a patch that ensures this is handled properly so the requested route no longer crashes and triggers a heap overflow. Regression tests for this attack were added to the [i18n integration test suite](https://github.com/vercel/next.js/pull/33503/files#diff-ed73e662e3c049828f92017b8104734e08b868acf10d4d621c44266a72825df6) - A public CVE was released. - We encourage responsible disclosure of future reports. Please email us at `security@vercel.com`. We are actively monitoring this mailbox. ##### Core Changes - middlewares: limit `process.env` to inferred usage: [#&#8203;33186](https://github.com/vercel/next.js/issues/33186) - update webpack: [#&#8203;33207](https://github.com/vercel/next.js/issues/33207) - Abstract out native filesystem usage from the base server: [#&#8203;33226](https://github.com/vercel/next.js/issues/33226) - use text data url instead of base64 for shorter encoding: [#&#8203;33218](https://github.com/vercel/next.js/issues/33218) - chore(deps): upgrade `postcss`: [#&#8203;33142](https://github.com/vercel/next.js/issues/33142) - Fix global process testing for the process polyfill: [#&#8203;33220](https://github.com/vercel/next.js/issues/33220) - Update swc: [#&#8203;33201](https://github.com/vercel/next.js/issues/33201) - improve full refresh overlay: [#&#8203;33301](https://github.com/vercel/next.js/issues/33301) - Custom app for server components: [#&#8203;33149](https://github.com/vercel/next.js/issues/33149) - Update yarn PnP tests and disable swc file reading for PnP: [#&#8203;33236](https://github.com/vercel/next.js/issues/33236) - Base Http for BaseServer: [#&#8203;32999](https://github.com/vercel/next.js/issues/32999) - Update swc: [#&#8203;33342](https://github.com/vercel/next.js/issues/33342) - Update check for fallback pages during export: [#&#8203;33323](https://github.com/vercel/next.js/issues/33323) - Pre-compile more dependencies: [#&#8203;32742](https://github.com/vercel/next.js/issues/32742) - Remove node fetch polyfill from base server: [#&#8203;33395](https://github.com/vercel/next.js/issues/33395) - Replace regexp to plain string for optimization render HTML: [#&#8203;33306](https://github.com/vercel/next.js/issues/33306) - Fix broken html on streaming render for error page: [#&#8203;33399](https://github.com/vercel/next.js/issues/33399) - Disable cache for rsc pages: [#&#8203;33438](https://github.com/vercel/next.js/issues/33438) - Fix pre-compiled check from copying react-refresh-utils: [#&#8203;33442](https://github.com/vercel/next.js/issues/33442) - fix(next-swc): Update swc: [#&#8203;33427](https://github.com/vercel/next.js/issues/33427) - Move middleware handling to node server: [#&#8203;33448](https://github.com/vercel/next.js/issues/33448) - Enforce absolute URLs in Edge Functions runtime: [#&#8203;33410](https://github.com/vercel/next.js/issues/33410) - feat(next-swc): Update swc: [#&#8203;33461](https://github.com/vercel/next.js/issues/33461) - Update main field for nccd jest-worker: [#&#8203;33465](https://github.com/vercel/next.js/issues/33465) - chore(deps): upgrade `node-fetch`: [#&#8203;33466](https://github.com/vercel/next.js/issues/33466) - Move static serving to next server: [#&#8203;33475](https://github.com/vercel/next.js/issues/33475) - feat(next-swc): Update swc: [#&#8203;33485](https://github.com/vercel/next.js/issues/33485) - Fix multiple calls to image `onLoadingComplete()`: [#&#8203;33474](https://github.com/vercel/next.js/issues/33474) - Refactor base server to remove native dependencies: [#&#8203;33499](https://github.com/vercel/next.js/issues/33499) - Update swc: [#&#8203;33514](https://github.com/vercel/next.js/issues/33514) - Implement abstract methods to get manifest files in the base server: [#&#8203;33537](https://github.com/vercel/next.js/issues/33537) - Simplify getMiddlewareInfo calls: [#&#8203;33542](https://github.com/vercel/next.js/issues/33542) - Fix static file check with i18n: [#&#8203;33503](https://github.com/vercel/next.js/issues/33503) - Bump styled-jsx: [#&#8203;33546](https://github.com/vercel/next.js/issues/33546) - Ensure optional value normalizing is correct for index: [#&#8203;33547](https://github.com/vercel/next.js/issues/33547) - Bump nft to 0.17.4: [#&#8203;33548](https://github.com/vercel/next.js/issues/33548) - Add `next-multilingual` example: [#&#8203;29386](https://github.com/vercel/next.js/issues/29386) - Removed the s from NextConfig: [#&#8203;33560](https://github.com/vercel/next.js/issues/33560) - feat(next-swc): Update swc: [#&#8203;33595](https://github.com/vercel/next.js/issues/33595) - Fix rsc export component name detection: [#&#8203;33608](https://github.com/vercel/next.js/issues/33608) - upgrade webpack: [#&#8203;33549](https://github.com/vercel/next.js/issues/33549) - Ensure fetch polyfill is loaded in next-server: [#&#8203;33616](https://github.com/vercel/next.js/issues/33616) - feat(next-swc): Update swc: [#&#8203;33628](https://github.com/vercel/next.js/issues/33628) - Add `lazyRoot` optional property to `next/image` component : [#&#8203;33290](https://github.com/vercel/next.js/issues/33290) - feat(next-swc): Update swc: [#&#8203;33675](https://github.com/vercel/next.js/issues/33675) - Implement web server as the request handler for edge SSR: [#&#8203;33635](https://github.com/vercel/next.js/issues/33635) - Relay Support in Rust Compiler: [#&#8203;33240](https://github.com/vercel/next.js/issues/33240) - Revert "Relay Support in Rust Compiler": [#&#8203;33699](https://github.com/vercel/next.js/issues/33699) ##### Documentation Changes - Fixed broken link related to the recently merged Data fetching docs refactor: [#&#8203;33209](https://github.com/vercel/next.js/issues/33209) - Removed backticks on data fetching api titles: [#&#8203;33216](https://github.com/vercel/next.js/issues/33216) - Added links to data fetching api refs, fixed title: [#&#8203;33221](https://github.com/vercel/next.js/issues/33221) - Remove outdated & possibly confusing statement about redirects: [#&#8203;33224](https://github.com/vercel/next.js/issues/33224) - \[examples] Add a statically generated blog example using Next.js and Builder.io: [#&#8203;22094](https://github.com/vercel/next.js/issues/22094) - Typo Fix: [#&#8203;33252](https://github.com/vercel/next.js/issues/33252) - Update font-optimization.md: [#&#8203;33266](https://github.com/vercel/next.js/issues/33266) - Fixed broken links in data fetching docs: [#&#8203;33250](https://github.com/vercel/next.js/issues/33250) - docs: Mention middleware for getStaticProps: [#&#8203;33273](https://github.com/vercel/next.js/issues/33273) - Add sections for Remove React Properties and Remove Console to compiler docs: [#&#8203;33311](https://github.com/vercel/next.js/issues/33311) - Update links in `next export` + `next/image` error message: [#&#8203;33317](https://github.com/vercel/next.js/issues/33317) - Add `onLoad` gottcha note to `next/script` docs: [#&#8203;33097](https://github.com/vercel/next.js/issues/33097) - Update security-headers.md: fix path does not match homepage: [#&#8203;33137](https://github.com/vercel/next.js/issues/33137) - fix minor typo in SWR: [#&#8203;33378](https://github.com/vercel/next.js/issues/33378) - ReferenceError in authentication.md example fixed: [#&#8203;33411](https://github.com/vercel/next.js/issues/33411) - docs: fix url: [#&#8203;33409](https://github.com/vercel/next.js/issues/33409) - fix(docs): Fix typo in Custom Build Id docs: [#&#8203;33515](https://github.com/vercel/next.js/issues/33515) - \[docs] Update authentication docs to fix iron-session link.: [#&#8203;33483](https://github.com/vercel/next.js/issues/33483) - docs(authentication): fix iron-session example link: [#&#8203;33502](https://github.com/vercel/next.js/issues/33502) - Update middleware documentation for custom server: [#&#8203;33535](https://github.com/vercel/next.js/issues/33535) - Removed unrequired path in docs' manifest: [#&#8203;33579](https://github.com/vercel/next.js/issues/33579) - Update `next/server` documentation for `geo`: [#&#8203;33609](https://github.com/vercel/next.js/issues/33609) - Clarify `next/image` usage with `next export` based on feedback.: [#&#8203;33555](https://github.com/vercel/next.js/issues/33555) - Clarify `headers` config option description: [#&#8203;33484](https://github.com/vercel/next.js/issues/33484) - fix(errors/no-cache): `netlify-plugin-cache-nextjs` has been deprecated: [#&#8203;33629](https://github.com/vercel/next.js/issues/33629) - Updated docs for getServerSideProps and getStaticProps return values: [#&#8203;33577](https://github.com/vercel/next.js/issues/33577) - Use relative path for example: [#&#8203;33565](https://github.com/vercel/next.js/issues/33565) - chore(docs): update security headers specification: [#&#8203;33673](https://github.com/vercel/next.js/issues/33673) - REMOVE: duplicate key in docs/testing.md: [#&#8203;33681](https://github.com/vercel/next.js/issues/33681) ##### Example Changes - \[examples] Update remark dependency for blog-starter: [#&#8203;33313](https://github.com/vercel/next.js/issues/33313) - Update package.json for examples/with-supabase-auth-realtime-db: [#&#8203;33321](https://github.com/vercel/next.js/issues/33321) - Working example for building forms with Next.js: [#&#8203;32669](https://github.com/vercel/next.js/issues/32669) - Updates dependency version of frontend SDK in with-supertokens example: [#&#8203;33393](https://github.com/vercel/next.js/issues/33393) - docs: add skynexui to examples: [#&#8203;33326](https://github.com/vercel/next.js/issues/33326) - Update with-linaria dependency: [#&#8203;33487](https://github.com/vercel/next.js/issues/33487) - Update Supabase example README.: [#&#8203;33610](https://github.com/vercel/next.js/issues/33610) - \[examples] Add new Tailwind CSS Prettier plugin to example: [#&#8203;33614](https://github.com/vercel/next.js/issues/33614) ##### Misc Changes - Update license year - fix(docs): master branch renaming: [#&#8203;33312](https://github.com/vercel/next.js/issues/33312) - Add link to security email directly.: [#&#8203;33358](https://github.com/vercel/next.js/issues/33358) - Fix getServerSideProps hanging in dev on early end: [#&#8203;33366](https://github.com/vercel/next.js/issues/33366) - \[docs] Fix 404 link for testing example.: [#&#8203;33407](https://github.com/vercel/next.js/issues/33407) - Update to latest version of turbo: [#&#8203;33613](https://github.com/vercel/next.js/issues/33613) - Update other instances of node-fetch: [#&#8203;33617](https://github.com/vercel/next.js/issues/33617) ##### Credits Huge thanks to [@&#8203;molebox](https://github.com/molebox), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;sokra](https://github.com/sokra), [@&#8203;kachkaev](https://github.com/kachkaev), [@&#8203;shuding](https://github.com/shuding), [@&#8203;teleaziz](https://github.com/teleaziz), [@&#8203;OgbeniHMMD](https://github.com/OgbeniHMMD), [@&#8203;goncy](https://github.com/goncy), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;bennettdams](https://github.com/bennettdams), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;hsynlms](https://github.com/hsynlms), [@&#8203;styfle](https://github.com/styfle), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;callumgare](https://github.com/callumgare), [@&#8203;jonrosner](https://github.com/jonrosner), [@&#8203;karaggeorge](https://github.com/karaggeorge), [@&#8203;rpie3](https://github.com/rpie3), [@&#8203;MartijnHols](https://github.com/MartijnHols), [@&#8203;leerob](https://github.com/leerob), [@&#8203;bashunaimiroy](https://github.com/bashunaimiroy), [@&#8203;NOCELL](https://github.com/NOCELL), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;omariosouto](https://github.com/omariosouto), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;theMosaad](https://github.com/theMosaad), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;pierrenel](https://github.com/pierrenel), [@&#8203;lobsterkatie](https://github.com/lobsterkatie), [@&#8203;tharakabimal](https://github.com/tharakabimal), [@&#8203;vvo](https://github.com/vvo), [@&#8203;saevarb](https://github.com/saevarb), [@&#8203;lfades](https://github.com/lfades), [@&#8203;nbouvrette](https://github.com/nbouvrette), [@&#8203;paulnbrd](https://github.com/paulnbrd), [@&#8203;ecklf](https://github.com/ecklf), [@&#8203;11koukou](https://github.com/11koukou), [@&#8203;renbaoshuo](https://github.com/renbaoshuo), [@&#8203;chozzz](https://github.com/chozzz), [@&#8203;tbezman](https://github.com/tbezman), [@&#8203;karlhorky](https://github.com/karlhorky), [@&#8203;j-mendez](https://github.com/j-mendez), and [@&#8203;ffan0811](https://github.com/ffan0811) for helping! ### [`v12.0.8`](https://github.com/vercel/next.js/releases/tag/v12.0.8) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.7...v12.0.8) ##### Core Changes - Fix no-server-import-in-page eslint rule for subfolder middleware: [#&#8203;32139](https://github.com/vercel/next.js/issues/32139) - Create Base Server: [#&#8203;32154](https://github.com/vercel/next.js/issues/32154) - Revert support for render prop in `<Main />`: [#&#8203;32184](https://github.com/vercel/next.js/issues/32184) - Refactor FS references in the Base Server: [#&#8203;32179](https://github.com/vercel/next.js/issues/32179) - telemetry: collect feature usage for linting during build: [#&#8203;32022](https://github.com/vercel/next.js/issues/32022) - Chore/load bindings improvements: [#&#8203;32191](https://github.com/vercel/next.js/issues/32191) - fix(NODE_ENV): Warn when launching start or build on development: [#&#8203;14033](https://github.com/vercel/next.js/issues/14033) - Fix crash in no-page-custom-font eslint rule when default export is unnamed.: [#&#8203;32251](https://github.com/vercel/next.js/issues/32251) - Add docs for leveraging outputStandalone config: [#&#8203;32255](https://github.com/vercel/next.js/issues/32255) - Replace raw-body with get-stream and bytes: [#&#8203;21915](https://github.com/vercel/next.js/issues/21915) - Update to latest ncc and ensure caniuse-lite data is external : [#&#8203;32064](https://github.com/vercel/next.js/issues/32064) - Update swc: [#&#8203;32210](https://github.com/vercel/next.js/issues/32210) - Simplify custom `Writable`: [#&#8203;32247](https://github.com/vercel/next.js/issues/32247) - Add shake exports transform to next-swc: [#&#8203;32253](https://github.com/vercel/next.js/issues/32253) - Revert "Replace raw-body with get-stream and bytes": [#&#8203;32305](https://github.com/vercel/next.js/issues/32305) - Re-open chore(deps): upgrade browserslist: [#&#8203;32300](https://github.com/vercel/next.js/issues/32300) - Fix RSC link navigation: [#&#8203;32303](https://github.com/vercel/next.js/issues/32303) - Compile escape-string-regexp: [#&#8203;32310](https://github.com/vercel/next.js/issues/32310) - Add unstable_useRefreshRoot: [#&#8203;32342](https://github.com/vercel/next.js/issues/32342) - Upate swc: [#&#8203;32365](https://github.com/vercel/next.js/issues/32365) - fix unstable_useRefreshRoot typing: [#&#8203;32364](https://github.com/vercel/next.js/issues/32364) - fix(next-swc/styled-jsx): Fix `nth`: [#&#8203;32358](https://github.com/vercel/next.js/issues/32358) - Rename experimental vital hook: [#&#8203;32343](https://github.com/vercel/next.js/issues/32343) - Inline server data response with partial hydration: [#&#8203;32330](https://github.com/vercel/next.js/issues/32330) - Update `jsx` transform of swc: [#&#8203;32383](https://github.com/vercel/next.js/issues/32383) - Fix running server with Polyfilled fetch: [#&#8203;32368](https://github.com/vercel/next.js/issues/32368) - Fix dynamic routes with pages under index folder: [#&#8203;32440](https://github.com/vercel/next.js/issues/32440) - Fixes [#&#8203;32338](https://github.com/vercel/next.js/issues/32338) missing Document components trigger an error for production builds: [#&#8203;32345](https://github.com/vercel/next.js/issues/32345) - Fixes for inline embedding data in the web runtime: [#&#8203;32471](https://github.com/vercel/next.js/issues/32471) - Add vitals and rsc to npm files: [#&#8203;32472](https://github.com/vercel/next.js/issues/32472) - fixes to allow lazy compilation for import(): [#&#8203;32441](https://github.com/vercel/next.js/issues/32441) - upgrade webpack and watchpack: [#&#8203;32173](https://github.com/vercel/next.js/issues/32173) - Update to filter loader specific files from traces: [#&#8203;32267](https://github.com/vercel/next.js/issues/32267) - Fix server data cache key: [#&#8203;32506](https://github.com/vercel/next.js/issues/32506) - \[middleware] Fix hydration for rewrites to dynamic pages: [#&#8203;32534](https://github.com/vercel/next.js/issues/32534) - Ensure image-optimizer is traced for standalone mode: [#&#8203;32522](https://github.com/vercel/next.js/issues/32522) - Remove unused classnames dependency from react-dev-overlay: [#&#8203;32487](https://github.com/vercel/next.js/issues/32487) - next-swc: Emit errors and add tests to next-ssg: [#&#8203;32254](https://github.com/vercel/next.js/issues/32254) - Include message body in redirect responses: [#&#8203;31886](https://github.com/vercel/next.js/issues/31886) - Prevent NEXT_PHASE env change in workers: [#&#8203;28941](https://github.com/vercel/next.js/issues/28941) - Check stack property for page export exceptions: [#&#8203;32289](https://github.com/vercel/next.js/issues/32289) - fix(next-swc/styled-jsx): Fix interpolation in media query: [#&#8203;32490](https://github.com/vercel/next.js/issues/32490) - Update swc: [#&#8203;32566](https://github.com/vercel/next.js/issues/32566) - Add turbo / improve Rust build caching in GitHub Actions: [#&#8203;31464](https://github.com/vercel/next.js/issues/31464) - Fix ReadableStream.pipeTo() being unimplemented in the web runtime: [#&#8203;32602](https://github.com/vercel/next.js/issues/32602) - Ensure AMP optimizer is only excluded from trace when not used: [#&#8203;32577](https://github.com/vercel/next.js/issues/32577) - Upgraded next-env dependencies: [#&#8203;32613](https://github.com/vercel/next.js/issues/32613) - Feat/14701 full reload notification: [#&#8203;28866](https://github.com/vercel/next.js/issues/28866) - Move fs API for inc cache to node server: [#&#8203;32604](https://github.com/vercel/next.js/issues/32604) - Add options to defaultGetInitialProps and upgrade styled-jsx-with-csp example: [#&#8203;32594](https://github.com/vercel/next.js/issues/32594) - Fix `style.filter` on image with `placeholder=blur`: [#&#8203;32623](https://github.com/vercel/next.js/issues/32623) - Fix writing strings to the writable stream writer: [#&#8203;32637](https://github.com/vercel/next.js/issues/32637) - fix(next/jest): do not watch `.next` folder: [#&#8203;32659](https://github.com/vercel/next.js/issues/32659) - chore: Update swc: [#&#8203;32664](https://github.com/vercel/next.js/issues/32664) - Pre-compile more dependencies: [#&#8203;32627](https://github.com/vercel/next.js/issues/32627) - Upgrade react 18 to rc, drop prerelease warning: [#&#8203;32619](https://github.com/vercel/next.js/issues/32619) - next-swc: styled-jsx error checking and reporting updated (invalid-styled-jsx-children.md): [#&#8203;31940](https://github.com/vercel/next.js/issues/31940) - Fix style reset on image with `placeholder=blur`: [#&#8203;32680](https://github.com/vercel/next.js/issues/32680) - Pre-compile more dependencies continued: [#&#8203;32679](https://github.com/vercel/next.js/issues/32679) - web runtime: add AbortController & AbortSignal: [#&#8203;32089](https://github.com/vercel/next.js/issues/32089) - Don't swallow test failures caused by POSIX signals: [#&#8203;32688](https://github.com/vercel/next.js/issues/32688) - Escape from next head in rsc \_error page: [#&#8203;32624](https://github.com/vercel/next.js/issues/32624) - fix popstate detection for safari when basepath is present: [#&#8203;32687](https://github.com/vercel/next.js/issues/32687) - Bust cache for RSC in each render: [#&#8203;32710](https://github.com/vercel/next.js/issues/32710) - Update web runtime externals: [#&#8203;32717](https://github.com/vercel/next.js/issues/32717) - Reduce styled-jsx size in client bundle: [#&#8203;32730](https://github.com/vercel/next.js/issues/32730) - Bump nft to version 0.17.1: [#&#8203;32737](https://github.com/vercel/next.js/issues/32737) - Remove anonymous default export rule from Babel: [#&#8203;32763](https://github.com/vercel/next.js/issues/32763) - feat(eslint): allow `a` for internal url when `target="blank"` present: [#&#8203;32780](https://github.com/vercel/next.js/issues/32780) - fix(eslint-plugin-next): Broken links in eslint output: [#&#8203;32837](https://github.com/vercel/next.js/issues/32837) - \[ESLint] Adds lint rule to flag usage of `<head>`: [#&#8203;32897](https://github.com/vercel/next.js/issues/32897) - ignore .d.ts files inside pages folder: [#&#8203;30728](https://github.com/vercel/next.js/issues/30728) - Fix `next/image` noscript tag to only render when lazy: [#&#8203;32918](https://github.com/vercel/next.js/issues/32918) - Simplify trace span id generation: [#&#8203;32946](https://github.com/vercel/next.js/issues/32946) - Move resolve-url-loader into Next.js: [#&#8203;32932](https://github.com/vercel/next.js/issues/32932) - fix(router): scroll to top when `href="/"` and hash already present: [#&#8203;32954](https://github.com/vercel/next.js/issues/32954) - Remove un-needed test dependency: [#&#8203;32616](https://github.com/vercel/next.js/issues/32616) - Fix issue with escape-string-regexp in IE11: [#&#8203;32708](https://github.com/vercel/next.js/issues/32708) - Allow to opt-out from preflight cache: [#&#8203;32767](https://github.com/vercel/next.js/issues/32767) - Ensure setImmediate and punycode are polyfilled: [#&#8203;32768](https://github.com/vercel/next.js/issues/32768) - Fixes issue with makeStylesheetInert: [#&#8203;32027](https://github.com/vercel/next.js/issues/32027) - Reduce install size for linux glibc/musl: [#&#8203;32850](https://github.com/vercel/next.js/issues/32850) - Ensure middleware is output in standalone mode: [#&#8203;32967](https://github.com/vercel/next.js/issues/32967) - Revert "Reduce install size for linux glibc/musl": [#&#8203;32973](https://github.com/vercel/next.js/issues/32973) - feat(cli): introduce `next info` CLI command: [#&#8203;32972](https://github.com/vercel/next.js/issues/32972) - Ensure NODE_ENV is not inlined for next/jest: [#&#8203;33032](https://github.com/vercel/next.js/issues/33032) - converted the old tailwind css example to typescript : [#&#8203;32808](https://github.com/vercel/next.js/issues/32808) - fix: ensure revalidation error is logged from response-cache: [#&#8203;32657](https://github.com/vercel/next.js/issues/32657) - Bump `@vercel/nft` to 0.17.2: [#&#8203;33048](https://github.com/vercel/next.js/issues/33048) - Add util for generating new tests/error documents: [#&#8203;33001](https://github.com/vercel/next.js/issues/33001) - Fix middleware at root in standalone mode: [#&#8203;33053](https://github.com/vercel/next.js/issues/33053) - Update swc: [#&#8203;33063](https://github.com/vercel/next.js/issues/33063) - use a separate webpack runtime for middleware: [#&#8203;33134](https://github.com/vercel/next.js/issues/33134) - Allow dependencies to use environment variables in middlewares: [#&#8203;33141](https://github.com/vercel/next.js/issues/33141) - next-swc: fix ssg code elimination when used in render: [#&#8203;32709](https://github.com/vercel/next.js/issues/32709) - drop dynamic import with `ssr: false` on server-side: [#&#8203;32606](https://github.com/vercel/next.js/issues/32606) - Fix broken yarn pnp: [#&#8203;32867](https://github.com/vercel/next.js/issues/32867) - Add util for normalizing errors: [#&#8203;33159](https://github.com/vercel/next.js/issues/33159) ##### Documentation Changes - Fixed Yarn and NPM `dev` swapped arguments: [#&#8203;32135](https://github.com/vercel/next.js/issues/32135) - Removed misleading id's from headings: [#&#8203;32163](https://github.com/vercel/next.js/issues/32163) - Details about starting dev server Next.js docs.: [#&#8203;32002](https://github.com/vercel/next.js/issues/32002) - Add Umbraco Heartcore blog example: [#&#8203;21409](https://github.com/vercel/next.js/issues/21409) - Fix error page doc for no server import in page: [#&#8203;32164](https://github.com/vercel/next.js/issues/32164) - Document staticPageGenerationTimeout config: [#&#8203;32306](https://github.com/vercel/next.js/issues/32306) - Change using-preact example dependencies and docs: [#&#8203;30394](https://github.com/vercel/next.js/issues/30394) - Updated link to Local Images: [#&#8203;32427](https://github.com/vercel/next.js/issues/32427) - docs: remove empty example link: [#&#8203;32439](https://github.com/vercel/next.js/issues/32439) - Update react version to rc in react-18 doc: [#&#8203;32473](https://github.com/vercel/next.js/issues/32473) - doc: update remark import: [#&#8203;32481](https://github.com/vercel/next.js/issues/32481) - Include mention of the onError Prop for next/script: [#&#8203;31945](https://github.com/vercel/next.js/issues/31945) - Document basePath redirect field for getStaticProps/getServerSideProps: [#&#8203;32550](https://github.com/vercel/next.js/issues/32550) - Fix typo in documentation: [#&#8203;32581](https://github.com/vercel/next.js/issues/32581) - Add moduleDirectories for TS Jest Config: [#&#8203;32574](https://github.com/vercel/next.js/issues/32574) - Added section about router methods returning a promise: [#&#8203;31341](https://github.com/vercel/next.js/issues/31341) - Added example for setting cookie before redirect in middleware: [#&#8203;32542](https://github.com/vercel/next.js/issues/32542) - chore: convert Jest examples to TypeScript: [#&#8203;32705](https://github.com/vercel/next.js/issues/32705) - Update note about .next/static in standalone mode: [#&#8203;32771](https://github.com/vercel/next.js/issues/32771) - Fixed syntax error in the example of React Hydration Error: [#&#8203;32773](https://github.com/vercel/next.js/issues/32773) - fix: typo: [#&#8203;32820](https://github.com/vercel/next.js/issues/32820) - Update the React 18 documentation: [#&#8203;32896](https://github.com/vercel/next.js/issues/32896) - doc: add quotes to api: [#&#8203;32898](https://github.com/vercel/next.js/issues/32898) - Update lint-staged example to use node.js path: [#&#8203;30510](https://github.com/vercel/next.js/issues/30510) - Update scrolling example using query param instead of hash: [#&#8203;31473](https://github.com/vercel/next.js/issues/31473) - Updated wrong link to example of gtag init in measuring-performance.md: [#&#8203;32974](https://github.com/vercel/next.js/issues/32974) - Update deployment documentation.: [#&#8203;32006](https://github.com/vercel/next.js/issues/32006) - Fix link for Next.js Analytics in docs: [#&#8203;33049](https://github.com/vercel/next.js/issues/33049) - docs: fix typo in MDX docs: [#&#8203;33077](https://github.com/vercel/next.js/issues/33077) - docs: minor text-copy cleanup: [#&#8203;33120](https://github.com/vercel/next.js/issues/33120) - No info on environment variables in the src folder ([#&#8203;33110](https://github.com/vercel/next.js/issues/33110)): [#&#8203;33136](https://github.com/vercel/next.js/issues/33136) - Add Caveats section to custom error page: [#&#8203;33160](https://github.com/vercel/next.js/issues/33160) - Fixes [#&#8203;33153](https://github.com/vercel/next.js/issues/33153): Updating cross-references from master to main + canary: [#&#8203;33198](https://github.com/vercel/next.js/issues/33198) - Docs: correct ignorance pattern for .env.local: [#&#8203;32647](https://github.com/vercel/next.js/issues/32647) - Refactor data fetching API docs: [#&#8203;30615](https://github.com/vercel/next.js/issues/30615) ##### Example Changes - fix cms-sanity example: [#&#8203;32182](https://github.com/vercel/next.js/issues/32182) - Fix issue in auth0 example: [#&#8203;32293](https://github.com/vercel/next.js/issues/32293) - Update Next.js version in api rate limits example: [#&#8203;32326](https://github.com/vercel/next.js/issues/32326) - Update example for Tailwind v3: [#&#8203;32339](https://github.com/vercel/next.js/issues/32339) - chore: remove duplicate example: [#&#8203;32391](https://github.com/vercel/next.js/issues/32391) - Updated to working example: [#&#8203;32256](https://github.com/vercel/next.js/issues/32256) - Update Dockerfile: [#&#8203;32299](https://github.com/vercel/next.js/issues/32299) - Update docker image to leverage output traces: [#&#8203;32258](https://github.com/vercel/next.js/issues/32258) - chore(blog-starter): update tailwindcss to v3: [#&#8203;32398](https://github.com/vercel/next.js/issues/32398) - fix: setup prismic image host: [#&#8203;31589](https://github.com/vercel/next.js/issues/31589) - fix: add .web.jsx extension support in react-native-web example: [#&#8203;32076](https://github.com/vercel/next.js/issues/32076) - Update 14-alpine to 16-alpine: [#&#8203;31777](https://github.com/vercel/next.js/issues/31777) - chore(blog-starter-typescript): update tailwindcss to v3: [#&#8203;32579](https://github.com/vercel/next.js/issues/32579) - Typo fix in comments: [#&#8203;32609](https://github.com/vercel/next.js/issues/32609) - This example does not show how to use Jest with TypeScript: [#&#8203;32633](https://github.com/vercel/next.js/issues/32633) - Updates with-supertokens example: Fixes init race condition: [#&#8203;32706](https://github.com/vercel/next.js/issues/32706) - Add authentication example using Stytch: [#&#8203;32194](https://github.com/vercel/next.js/issues/32194) - Update Sentry example readme to mention Next.js 12 support: [#&#8203;32724](https://github.com/vercel/next.js/issues/32724) - fix(examples): Update `nextjs-graphql-with-prisma-simple` example API endpoint: [#&#8203;32759](https://github.com/vercel/next.js/issues/32759) - chore(examples): remove duplicate examples: [#&#8203;32779](https://github.com/vercel/next.js/issues/32779) - fix(examples): bring `with-semantic-ui` example up-to-date: [#&#8203;32805](https://github.com/vercel/next.js/issues/32805) - fix(examples): update link URL in `cms-kontent` example: [#&#8203;32806](https://github.com/vercel/next.js/issues/32806) - Add id to inline Segment script: [#&#8203;32878](https://github.com/vercel/next.js/issues/32878) - Remove un-necessary second yarn install from example Dockerfile: [#&#8203;32934](https://github.com/vercel/next.js/issues/32934) - fix(examples): add missing dependencies: [#&#8203;32977](https://github.com/vercel/next.js/issues/32977) - Rename api in with-redis example: [#&#8203;33016](https://github.com/vercel/next.js/issues/33016) - fix(examples/cms-contentful): add correct Content-Type + missing closing tag for html: [#&#8203;30321](https://github.com/vercel/next.js/issues/30321) - Avoid page double render with emotion vanilla: [#&#8203;30541](https://github.com/vercel/next.js/issues/30541) - fix: typescript example supporting strict w/ version >= 4.4: [#&#8203;33042](https://github.com/vercel/next.js/issues/33042) - \[chore] Update `deta` version in examples: [#&#8203;30204](https://github.com/vercel/next.js/issues/30204) - (examples/with-next-translate) Removed Redundancies in Strings: [#&#8203;29501](https://github.com/vercel/next.js/issues/29501) - Remove extra config from tailwind example: [#&#8203;33062](https://github.com/vercel/next.js/issues/33062) - Adding Asset Component for Rich Text Renderer: [#&#8203;32503](https://github.com/vercel/next.js/issues/32503) ##### Misc Changes - chore: auto close inactive issues without reproduction: [#&#8203;32214](https://github.com/vercel/next.js/issues/32214) - Ensure wasm dev artifact uploads even on cache hit: [#&#8203;32248](https://github.com/vercel/next.js/issues/32248) - Ensure test wasm does not fail for docs only change: [#&#8203;32259](https://github.com/vercel/next.js/issues/32259) - chore: lock version on stale action: [#&#8203;32262](https://github.com/vercel/next.js/issues/32262) - Fix styled-jsx tests from swc bump: [#&#8203;32297](https://github.com/vercel/next.js/issues/32297) - Update AMP validation tests: [#&#8203;32327](https://github.com/vercel/next.js/issues/32327) - Update only fetch all tags for publish commits: [#&#8203;32337](https://github.com/vercel/next.js/issues/32337) - Fix flakey next/link react streaming test: [#&#8203;32351](https://github.com/vercel/next.js/issues/32351) - test: add wait timeout between clicks for rsc link: [#&#8203;32376](https://github.com/vercel/next.js/issues/32376) - test: add timeout for dev entries to avoid hard navigation: [#&#8203;32476](https://github.com/vercel/next.js/issues/32476) - chore: lock stale & closed issues sooner - Added docs issue template: [#&#8203;32488](https://github.com/vercel/next.js/issues/32488) - Ensure experimental SWC options invalidate the cache: [#&#8203;32540](https://github.com/vercel/next.js/issues/32540) - Edited contribution docs: [#&#8203;32583](https://github.com/vercel/next.js/issues/32583) - Update contributing guidelines for examples: [#&#8203;32584](https://github.com/vercel/next.js/issues/32584) - Remove unused turbo env vars: [#&#8203;32588](https://github.com/vercel/next.js/issues/32588) - Move some img tests out of serverless mode: [#&#8203;32620](https://github.com/vercel/next.js/issues/32620) - Disable turbo for build-native temporarily: [#&#8203;32621](https://github.com/vercel/next.js/issues/32621) - Add test case for middleware rewrite to fallback: true page: [#&#8203;32626](https://github.com/vercel/next.js/issues/32626) - Ensure device IP is used for safari browserstack test: [#&#8203;32712](https://github.com/vercel/next.js/issues/32712) - fix: run prettier on with-jest and with-jest-babel examples - Update readme.md of next-mdx to allow typescript file extensions for pages: [#&#8203;32830](https://github.com/vercel/next.js/issues/32830) - chore: decrease stale time before closing issues with no reproduction: [#&#8203;32955](https://github.com/vercel/next.js/issues/32955) - Re-enable turbo caching for swc build jobs: [#&#8203;32617](https://github.com/vercel/next.js/issues/32617) - fix(ci): Remove unused turbo remote cache env vars: [#&#8203;33030](https://github.com/vercel/next.js/issues/33030) - Update next.config.js: [#&#8203;33091](https://github.com/vercel/next.js/issues/33091) ##### Credits Huge thanks to [@&#8203;arthurfiorette](https://github.com/arthurfiorette), [@&#8203;thibautsabot](https://github.com/thibautsabot), [@&#8203;shuding](https://github.com/shuding), [@&#8203;chimit](https://github.com/chimit), [@&#8203;joperron](https://github.com/joperron), [@&#8203;devknoll](https://github.com/devknoll), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;moh12594](https://github.com/moh12594), [@&#8203;rasmusjp](https://github.com/rasmusjp), [@&#8203;balazsorban44](https://github.com/balazsorban44), [@&#8203;molebox](https://github.com/molebox), [@&#8203;bryanrsmith](https://github.com/bryanrsmith), [@&#8203;TrySound](https://github.com/TrySound), [@&#8203;josharsh](https://github.com/josharsh), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;styfle](https://github.com/styfle), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;PizzaPete](https://github.com/PizzaPete), [@&#8203;thecrypticace](https://github.com/thecrypticace), [@&#8203;arturparkhisenko](https://github.com/arturparkhisenko), [@&#8203;segheysens](https://github.com/segheysens), [@&#8203;thevinter](https://github.com/thevinter), [@&#8203;AryanBeezadhur](https://github.com/AryanBeezadhur), [@&#8203;xiaohp](https://github.com/xiaohp), [@&#8203;tknickman](https://github.com/tknickman), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;oriolcp](https://github.com/oriolcp), [@&#8203;sokra](https://github.com/sokra), [@&#8203;smakosh](https://github.com/smakosh), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;jorrit](https://github.com/jorrit), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;mix3d](https://github.com/mix3d), [@&#8203;Clecio013](https://github.com/Clecio013), [@&#8203;michielvangendt](https://github.com/michielvangendt), [@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway), [@&#8203;jbraithwaite](https://github.com/jbraithwaite), [@&#8203;marcelocarmona](https://github.com/marcelocarmona), [@&#8203;benmerckx](https://github.com/benmerckx), [@&#8203;haykerman](https://github.com/haykerman), [@&#8203;steven-tey](https://github.com/steven-tey), [@&#8203;jaredpalmer](https://github.com/jaredpalmer), [@&#8203;pi-guy-in-the-sky](https://github.com/pi-guy-in-the-sky), [@&#8203;JuanM04](https://github.com/JuanM04), [@&#8203;apollisa](https://github.com/apollisa), [@&#8203;D-Pagey](https://github.com/D-Pagey), [@&#8203;jameshfisher](https://github.com/jameshfisher), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;ramosbugs](https://github.com/ramosbugs), [@&#8203;dan-weaver](https://github.com/dan-weaver), [@&#8203;chris-stytch](https://github.com/chris-stytch), [@&#8203;MikevPeeren](https://github.com/MikevPeeren), [@&#8203;janpio](https://github.com/janpio), [@&#8203;emw3](https://github.com/emw3), [@&#8203;nubpro](https://github.com/nubpro), [@&#8203;cmdcolin](https://github.com/cmdcolin), [@&#8203;joostdecock](https://github.com/joostdecock), [@&#8203;sgallese](https://github.com/sgallese), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;minervabot](https://github.com/minervabot), [@&#8203;cjboco](https://github.com/cjboco), [@&#8203;Ryuurock](https://github.com/Ryuurock), [@&#8203;dm430](https://github.com/dm430), [@&#8203;mkarkachov](https://github.com/mkarkachov), [@&#8203;nvh95](https://github.com/nvh95), [@&#8203;gfortaine](https://github.com/gfortaine), [@&#8203;kumard3](https://github.com/kumard3), [@&#8203;zifeo](https://github.com/zifeo), [@&#8203;vicente-s](https://github.com/vicente-s), [@&#8203;Rohithgilla12](https://github.com/Rohithgilla12), [@&#8203;brookton](https://github.com/brookton), [@&#8203;leerob](https://github.com/leerob), [@&#8203;skirsten](https://github.com/skirsten), [@&#8203;davidfateh](https://github.com/davidfateh), [@&#8203;DavidBabel](https://github.com/DavidBabel), [@&#8203;mannybecerra](https://github.com/mannybecerra), [@&#8203;Schniz](https://github.com/Schniz), [@&#8203;glenngijsberts](https://github.com/glenngijsberts), [@&#8203;pveyes](https://github.com/pveyes), [@&#8203;kaykdm](https://github.com/kaykdm), and [@&#8203;xhiroga](https://github.com/xhiroga) for helping! ### [`v12.0.7`](https://github.com/vercel/next.js/releases/tag/v12.0.7) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.6...v12.0.7) ##### Core Changes - Add test for TailwindCSS JIT mode reloading: [#&#8203;32130](https://github.com/vercel/next.js/issues/32130) - Ensure conf type for createServer is not changed: [#&#8203;32134](https://github.com/vercel/next.js/issues/32134) ##### Credits Huge thanks to [@&#8203;timneutkens](https://github.com/timneutkens) for helping! ### [`v12.0.6`](https://github.com/vercel/next.js/releases/tag/v12.0.6) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.5...v12.0.6) ##### Core Changes - Fix document type import path: [#&#8203;32117](https://github.com/vercel/next.js/issues/32117) ### [`v12.0.5`](https://github.com/vercel/next.js/releases/tag/v12.0.5) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.4...v12.0.5) **This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.5. A backport of the patch to Next.js 11 is available as 11.1.3.** When a URL is provided to `next-server` that cannot be parsed, an `unhandledPromiseRejection` could occur. On Node.js versions < `v15.0.0` this isn't a fatal issue as only a warning is shown. However, in Node.js versions > `v15.0.0`, this causes the server process to exit, which can result in unexpected server crashes. #### How to Upgrade - We have released patch versions for both the stable and canary channels of Next.js. - To upgrade run `npm install next@latest --save` #### Impact - **Affected:** All of the following must be true to be affected - Next.js versions above `v11.1.0` and below `v12.0.5` - Node.js above `v15.0.0` being used - Using `next start` or a [custom server](https://nextjs.org/docs/advanced-features/custom-server) - **Not affected**: Deployments on Vercel ([vercel.com](https://vercel.com)) are not affected along with similar environments where invalid requests are filtered before reaching Next.js. We recommend everyone to upgrade regardless of whether you can reproduce the issue or not. ##### How to Assess Impact If you are running Node.js > `v15.0.0` with Next.js, you can filter any server error logs for `ERR_INVALID_URL`. #### What is Being Done As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to GitHub user `hopeless-programmer-online` for their investigation and discovery of the original bug. We've landed a patch that ensures this is handled properly so the `unhandledPromiseRejection` issue no longer occurs. Regression tests for this attack were added to the [security](https://github.com/vercel/next.js/blob/canary/test/integration/production/test/security.js) integration test suite - A public CVE is requested. - We encourage responsible disclosure of future reports. Please email us at `security@vercel.com`. We are actively monitoring this mailbox. *** ##### Core Changes - Add a swc transform for removal of `console.*` calls.: [#&#8203;31449](https://github.com/vercel/next.js/issues/31449) - Support ESLint v8: [#&#8203;29865](https://github.com/vercel/next.js/issues/29865) - fix: allow `next lint` without `eslint-config-next` installed: [#&#8203;29823](https://github.com/vercel/next.js/issues/29823) - Remove TextEncoder and TextDecoder wrappers: [#&#8203;31490](https://github.com/vercel/next.js/issues/31490) - simplify output messages: [#&#8203;31454](https://github.com/vercel/next.js/issues/31454) - update webpack: [#&#8203;31455](https://github.com/vercel/next.js/issues/31455) - NextResponse: add `.json` static method: [#&#8203;31483](https://github.com/vercel/next.js/issues/31483) - Use \_error for development in streaming: [#&#8203;31466](https://github.com/vercel/next.js/issues/31466) - Refactor the middleware SSR loader: [#&#8203;31508](https://github.com/vercel/next.js/issues/31508) - Add detection for `Google-PageRenderer` bot: [#&#8203;31521](https://github.com/vercel/next.js/issues/31521) - Click-to-open error state for development overlay [#&#8203;14461](https://github.com/vercel/next.js/issues/14461): [#&#8203;21819](https://github.com/vercel/next.js/issues/21819) - Ensure only one doctype is rendered: [#&#8203;31534](https://github.com/vercel/next.js/issues/31534) - Update swc: [#&#8203;31540](https://github.com/vercel/next.js/issues/31540) - Add/wasm build: [#&#8203;31470](https://github.com/vercel/next.js/issues/31470) - telemetry: track usage of 'optimizeFonts': [#&#8203;31522](https://github.com/vercel/next.js/issues/31522) - Make missing `Document` components an error: [#&#8203;31505](https://github.com/vercel/next.js/issues/31505) - Adjust AVIF size so that its smaller than WebP size: [#&#8203;31494](https://github.com/vercel/next.js/issues/31494) - Fix unhandled rejection on route change in dev: [#&#8203;31554](https://github.com/vercel/next.js/issues/31554) - Re-add native package folders and ensure wasm artifacts are downloaded: [#&#8203;31561](https://github.com/vercel/next.js/issues/31561) - Fix HMR for middleware [#&#8203;30791](https://github.com/vercel/next.js/issues/30791): [#&#8203;31548](https://github.com/vercel/next.js/issues/31548) - Minor simplifications to `renderToWebStream`: [#&#8203;31553](https://github.com/vercel/next.js/issues/31553) - Fix accessing router before ready for HMR ping: [#&#8203;31588](https://github.com/vercel/next.js/issues/31588) - Implement SWC port of next-page-disallow-re-export-all-exports: [#&#8203;31582](https://github.com/vercel/next.js/issues/31582) - \[ESLint] Prevent `no-html-link-for-pages` from warning for static files: [#&#8203;31495](https://github.com/vercel/next.js/issues/31495) - Move root div to an app wrapper: [#&#8203;31596](https://github.com/vercel/next.js/issues/31596) - Add types for geo lat and long: [#&#8203;31624](https://github.com/vercel/next.js/issues/31624) - Fix non-concurrent function \_document: [#&#8203;31628](https://github.com/vercel/next.js/issues/31628) - Remove outdated comment about string children being deprecated in `next/link`: [#&#8203;30606](https://github.com/vercel/next.js/issues/30606) - fix(middleware): consider localhost variations: [#&#8203;31603](https://github.com/vercel/next.js/issues/31603) - Update swc: [#&#8203;31639](https://github.com/vercel/next.js/issues/31639) - Extract next-swc Rust code into its own package: [#&#8203;31635](https://github.com/vercel/next.js/issues/31635) - Fix dev router usage before router initializing: [#&#8203;31632](https://github.com/vercel/next.js/issues/31632) - avoid mutating response.cookie options: [#&#8203;31679](https://github.com/vercel/next.js/issues/31679) - Add cookies and headers for request using in RSC: [#&#8203;31623](https://github.com/vercel/next.js/issues/31623) - Remove trace_target env var in favor of .next/trace: [#&#8203;31697](https://github.com/vercel/next.js/issues/31697) - Add error link when hydration error occurs: [#&#8203;31519](https://github.com/vercel/next.js/issues/31519) - Fix initial compile timing incorrect measurement: [#&#8203;31733](https://github.com/vercel/next.js/issues/31733) - Lazily init getStaticPathsWorker: [#&#8203;31760](https://github.com/vercel/next.js/issues/31760) - Remove noop import: [#&#8203;31722](https://github.com/vercel/next.js/issues/31722) - update webpack: [#&#8203;31759](https://github.com/vercel/next.js/issues/31759) - Fix wasm loading: [#&#8203;31772](https://github.com/vercel/next.js/issues/31772) - Remove some watcher hacks and update version: [#&#8203;31768](https://github.com/vercel/next.js/issues/31768) - Improve and refactor some types: [#&#8203;31704](https://github.com/vercel/next.js/issues/31704) - read file in swc when no loaders follow the next-swc-loader: [#&#8203;31682](https://github.com/vercel/next.js/issues/31682) - Lazy-load postcss: [#&#8203;31762](https://github.com/vercel/next.js/issues/31762) - update webpack: [#&#8203;31798](https://github.com/vercel/next.js/issues/31798) - Ensure middleware order is preserved: [#&#8203;31801](https://github.com/vercel/next.js/issues/31801) - Refactor sandbox module cache: [#&#8203;31822](https://github.com/vercel/next.js/issues/31822) - Fix hydration middleware effects: [#&#8203;31800](https://github.com/vercel/next.js/issues/31800) - fix: support function components in \_document in no-page-custom-font: [#&#8203;31560](https://github.com/vercel/next.js/issues/31560) - Add support for removing React properties.: [#&#8203;31606](https://github.com/vercel/next.js/issues/31606) - Include submodules in exported type definition: [#&#8203;28316](https://github.com/vercel/next.js/issues/28316) - Move require.resolve into the module scope: [#&#8203;31799](https://github.com/vercel/next.js/issues/31799) - fix amp validator message format: [#&#8203;31018](https://github.com/vercel/next.js/issues/31018) - Fix auto export condition in edge SSR: [#&#8203;31845](https://github.com/vercel/next.js/issues/31845) - bugfix: href value is not defined when typing out the href: [#&#8203;31813](https://github.com/vercel/next.js/issues/31813) - Do not load external binding if local was found: [#&#8203;31853](https://github.com/vercel/next.js/issues/31853) - fix: rsc headers: [#&#8203;31854](https://github.com/vercel/next.js/issues/31854) - Add port and hostname options to Next Server: [#&#8203;31858](https://github.com/vercel/next.js/issues/31858) - Fix: Cannot assign to read only property 'children': [#&#8203;31784](https://github.com/vercel/next.js/issues/31784) - Fix disabling of built-in CSS support if there is a custom loader: [#&#8203;31078](https://github.com/vercel/next.js/issues/31078) - include no-document-import-in-page rule in plugin index: [#&#8203;31890](https://github.com/vercel/next.js/issues/31890) - Account for platform/arch not supported by napi-rs: [#&#8203;31938](https://github.com/vercel/next.js/issues/31938) - Removng prop writable checking in prod: [#&#8203;31929](https://github.com/vercel/next.js/issues/31929) - Enable default functional document when concurrentFeatures is enabled: [#&#8203;31954](https://github.com/vercel/next.js/issues/31954) - Stop using environment variables in `pages/_document`: [#&#8203;31946](https://github.com/vercel/next.js/issues/31946) - Fix image related link prop warning with react 18 beta: [#&#8203;31895](https://github.com/vercel/next.js/issues/31895) - Escape string when converting to regexp: [#&#8203;31791](https://github.com/vercel/next.js/issues/31791) - Add TS types for NextMiddleware: [#&#8203;30578](https://github.com/vercel/next.js/issues/30578) - fix(types): add missing ua type for NextRequest: [#&#8203;31901](https://github.com/vercel/next.js/issues/31901) - Ensure that external modules are not bundled into the client for RSC: [#&#8203;31968](https://github.com/vercel/next.js/issues/31968) - Resolve streaming data for flight requests: [#&#8203;32010](https://github.com/vercel/next.js/issues/32010) - Allow pre-release React 18 as peer: [#&#8203;31991](https://github.com/vercel/next.js/issues/31991) - fix(Link): Do not ignore onMouseEnter prop with absolute href: [#&#8203;32012](https://github.com/vercel/next.js/issues/32012) - add experimental.swcFileReading flag to disable file reading in swc: [#&#8203;31995](https://github.com/vercel/next.js/issues/31995) - Fix middleware types with skipLibCheck: false: [#&#8203;32025](https://github.com/vercel/next.js/issues/32025) - Include page for export errors for easier debugging: [#&#8203;32013](https://github.com/vercel/next.js/issues/32013) - avoid retaining webpack config too long: [#&#8203;32053](https://github.com/vercel/next.js/issues/32053) - Skip warnings for Image not rendered to the dom: [#&#8203;32049](https://github.com/vercel/next.js/issues/32049) - Improve exported root definitions: [#&#8203;32077](https://github.com/vercel/next.js/issues/32077) - Fix running server with Polyfilled fetch: [#&#8203;31935](https://github.com/vercel/next.js/issues/31935) - Ensure invalid URLs respond with 400 correctly: [#&#8203;32092](https://github.com/vercel/next.js/issues/32092) - Remove future.strictPostcssConfiguration config: [#&#8203;32098](https://github.com/vercel/next.js/issues/32098) - Revert "Fix running server with Polyfilled fetch ([#&#8203;31935](https://github.com/vercel/next.js/issues/31935))": [#&#8203;32100](https://github.com/vercel/next.js/issues/32100) ##### Documentation Changes - Update react-18.md: [#&#8203;31476](https://github.com/vercel/next.js/issues/31476) - Add docs for the Rust Compiler (SWC).: [#&#8203;31467](https://github.com/vercel/next.js/issues/31467) - Script examples: [#&#8203;31181](https://github.com/vercel/next.js/issues/31181) - Fix type declaration for API Routes response: [#&#8203;31486](https://github.com/vercel/next.js/issues/31486) - Update environment-variables.md: [#&#8203;31525](https://github.com/vercel/next.js/issues/31525) - Add middleware examples to custom page extensions: [#&#8203;31545](https://github.com/vercel/next.js/issues/31545) - Added guide for setting up Next.js with MDX: [#&#8203;30869](https://github.com/vercel/next.js/issues/30869) - Fix typo in MDX guide: [#&#8203;31709](https://github.com/vercel/next.js/issues/31709) - Added note on env vars: [#&#8203;31237](https://github.com/vercel/next.js/issues/31237) - docs(next-config): extend phase lines reference: [#&#8203;31711](https://github.com/vercel/next.js/issues/31711) - \[Docs]\[Fix] Broken Link to API Reference: [#&#8203;31820](https://github.com/vercel/next.js/issues/31820) - Docs(router): Add type for url parameter: [#&#8203;31737](https://github.com/vercel/next.js/issues/31737) - SWC: Add error checks and tests to next-dynamic: [#&#8203;31683](https://github.com/vercel/next.js/issues/31683) - Docs(React 18): add missing `Suspense` import: [#&#8203;31897](https://github.com/vercel/next.js/issues/31897) - Docs(React 18): remove unnecessary `React` import: [#&#8203;31900](https://github.com/vercel/next.js/issues/31900) - IMPROVE: Middlerware Set Cookie API Ref: [#&#8203;31707](https://github.com/vercel/next.js/issues/31707) - Update `next export` documentation.: [#&#8203;31465](https://github.com/vercel/next.js/issues/31465) - Update Jest examples and docs: [#&#8203;31633](https://github.com/vercel/next.js/issues/31633) - Add note to docs about `sharp` memory usage on default Linux setup: [#&#8203;31919](https://github.com/vercel/next.js/issues/31919) - docs(Testing): Remove duplicate link: [#&#8203;32071](https://github.com/vercel/next.js/issues/32071) ##### Example Changes - Replace old static path by public | typo: [#&#8203;31573](https://github.com/vercel/next.js/issues/31573) - Update README of cms-cosmic example: [#&#8203;31701](https://github.com/vercel/next.js/issues/31701) - 'imgix.cosmicjs.com' image domain in cms-cosmic example: [#&#8203;31703](https://github.com/vercel/next.js/issues/31703) - Fix pwa demo: [#&#8203;31734](https://github.com/vercel/next.js/issues/31734) - docs(examples): add secure flag explanation to with-iron-session: [#&#8203;31896](https://github.com/vercel/next.js/issues/31896) - \[WIP] Add tracing to `with-sentry` example: [#&#8203;30401](https://github.com/vercel/next.js/issues/30401) - Fix with-mongo example by removing deprecated function: [#&#8203;30675](https://github.com/vercel/next.js/issues/30675) - grammatical error in alert.js: [#&#8203;32062](https://github.com/vercel/next.js/issues/32062) ##### Misc Changes - Revert "Add docs for the Rust Compiler (SWC).": [#&#8203;31484](https://github.com/vercel/next.js/issues/31484) - Ensure wasm package.json is written before publish: [#&#8203;31568](https://github.com/vercel/next.js/issues/31568) - Update labeler.json - Update labeler.json - Update send-to-jaeger URL output: [#&#8203;31563](https://github.com/vercel/next.js/issues/31563) - Fixing typo in Documentation about Testing: [#&#8203;31653](https://github.com/vercel/next.js/issues/31653) - Add docs for the Next.js Compiler written in Rust (leveraging SWC): [#&#8203;31485](https://github.com/vercel/next.js/issues/31485) - Fix prettier linting - Fix labels for release sections - Fix musl build - Enable require for swc_bundler: [#&#8203;31663](https://github.com/vercel/next.js/issues/31663) - add test case: [#&#8203;31691](https://github.com/vercel/next.js/issues/31691) - Update swc: [#&#8203;31816](https://github.com/vercel/next.js/issues/31816) - docs(middleware): file extension consistency: [#&#8203;31879](https://github.com/vercel/next.js/issues/31879) - Remove unpurpose test: [#&#8203;31898](https://github.com/vercel/next.js/issues/31898) - Remove unnecessary workflow step : [#&#8203;31943](https://github.com/vercel/next.js/issues/31943) - Update swc: [#&#8203;31963](https://github.com/vercel/next.js/issues/31963) - docs(NextRequest): req.cookie => req.cookies: [#&#8203;31975](https://github.com/vercel/next.js/issues/31975) - Add next-swc to labeler - Add Rich, Maedah, and Ismael to the docs label - Updated Maedahs name in label gen config: [#&#8203;32005](https://github.com/vercel/next.js/issues/32005) - Fix copying swc binary for isolated tests locally: [#&#8203;32026](https://github.com/vercel/next.js/issues/32026) - Lock node version for CI: [#&#8203;32057](https://github.com/vercel/next.js/issues/32057) - Make CI build cache key more specific: [#&#8203;32059](https://github.com/vercel/next.js/issues/32059) - Remove "yarn jest" from Next.js repo scripts: [#&#8203;32042](https://github.com/vercel/next.js/issues/32042) - Fix the testall npm script: [#&#8203;32081](https://github.com/vercel/next.js/issues/32081) ##### Credits Huge thanks to [@&#8203;mzaien](https://github.com/mzaien), [@&#8203;losfair](https://github.com/losfair), [@&#8203;ykzts](https://github.com/ykzts), [@&#8203;leerob](https://github.com/leerob), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;stefanprobst](https://github.com/stefanprobst), [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;sokra](https://github.com/sokra), [@&#8203;goncy](https://github.com/goncy), [@&#8203;knezevicdev](https://github.com/knezevicdev), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;shuding](https://github.com/shuding), [@&#8203;styfle](https://github.com/styfle), [@&#8203;yang-feng-yfeng](https://github.com/yang-feng-yfeng), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;xuchaobei](https://github.com/xuchaobei), [@&#8203;elkevinwolf](https://github.com/elkevinwolf), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;kyliau](https://github.com/kyliau), [@&#8203;devknoll](https://github.com/devknoll), [@&#8203;fabienheureux](https://github.com/fabienheureux), [@&#8203;hanneslund](https://github.com/hanneslund), [@&#8203;nilskaspersson](https://github.com/nilskaspersson), [@&#8203;Andarist](https://github.com/Andarist), [@&#8203;mathcrln](https://github.com/mathcrln), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;dferber90](https://github.com/dferber90), [@&#8203;molebox](https://github.com/molebox), [@&#8203;FranciscoMoretti](https://github.com/FranciscoMoretti), [@&#8203;benschwarz](https://github.com/benschwarz), [@&#8203;wendellhu95](https://github.com/wendellhu95), [@&#8203;gazdagergo](https://github.com/gazdagergo), [@&#8203;imabp](https://github.com/imabp), [@&#8203;ljosberinn](https://github.com/ljosberinn), [@&#8203;samuliasmala](https://github.com/samuliasmala), [@&#8203;lfades](https://github.com/lfades), [@&#8203;ka2jun8](https://github.com/ka2jun8), [@&#8203;monsonjeremy](https://github.com/monsonjeremy), [@&#8203;pqt](https://github.com/pqt), [@&#8203;vvo](https://github.com/vvo), [@&#8203;leoortizz](https://github.com/leoortizz), [@&#8203;michel-kraemer](https://github.com/michel-kraemer), [@&#8203;thibautsabot](https://github.com/thibautsabot), [@&#8203;MaedahBatool](https://github.com/MaedahBatool), [@&#8203;lobsterkatie](https://github.com/lobsterkatie), [@&#8203;ntkoopman](https://github.com/ntkoopman), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;iicdii](https://github.com/iicdii), [@&#8203;j-mendez](https://github.com/j-mendez), [@&#8203;chentsulin](https://github.com/chentsulin), [@&#8203;ericmatthys](https://github.com/ericmatthys), [@&#8203;lennym](https://github.com/lennym), [@&#8203;balogunkeji](https://github.com/balogunkeji), and [@&#8203;wnr](https://github.com/wnr) for helping! ### [`v12.0.4`](https://github.com/vercel/next.js/releases/tag/v12.0.4) [Compare Source](https://github.com/vercel/next.js/compare/v12.0.3...v12.0.4) ##### Core Changes - Update middleware eval checks: [#&#8203;30883](https://github.com/vercel/next.js/issues/30883) - Optimize the SSR middleware runtime size: [#&#8203;30906](https://github.com/vercel/next.js/issues/30906) - Improve error handling in the SSR middleware: [#&#8203;31057](https://github.com/vercel/next.js/issues/31057) - Ensure decode error in minimal mode responds with 400 not 500: [#&#8203;31037](https://github.com/vercel/next.js/issues/31037) - Update ServerlessPlugin to use chunkGraph: [#&#8203;31058](https://github.com/vercel/next.js/issues/31058) - Fix custom 404 page when concurrentFeatures is enabled: [#&#8203;31059](https://github.com/vercel/next.js/issues/31059) - Upgrade React alpha and experimental dependencies to latest: [#&#8203;31039](https://github.com/vercel/next.js/issues/31039) - Change disabled SWC message to Log.info: [#&#8203;31091](https://github.com/vercel/next.js/issues/31091) - Add render prop support to `<Main>`: [#&#8203;30156](https://github.com/vercel/next.js/issues/30156) - Change .web extension of document page to part of path: [#&#8203;31116](https://github.com/vercel/next.js/issues/31116) - Enable code splitting for the web runtime build: [#&#8203;31090](https://github.com/vercel/next.js/issues/31090) - Give priority to document.title over h1 when announcing page change: [#&#8203;31147](https://github.com/vercel/next.js/issues/31147) - Add webpack5 namespace to fix type errors: [#&#8203;31140](https://github.com/vercel/next.js/issues/31140) - Add warning when image has unused `sizes` prop: [#&#8203;31064](https://github.com/vercel/next.js/issues/31064) - Add experimental next-swc jest transform: [#&#8203;30993](https://github.com/vercel/next.js/issues/30993) - fix: support --cache-strategy ESLint argument (fixes [#&#8203;29926](https://github.com/vercel/next.js/issues/29926)): [#&#8203;29928](https://github.com/vercel/next.js/issues/29928) - fixes [#&#8203;31060](https://github.com/vercel/next.js/issues/31060): NullReferenceException: [#&#8203;31061](https://github.com/vercel/next.js/issues/31061) - use loader-utils 2 for resolve-url-loader to fix `./data:` urls in sass: [#&#8203;31134](https://github.com/vercel/next.js/issues/31134) - Update reason message for isolatedModules and esModuleInterop: [#&#8203;31150](https://github.com/vercel/next.js/issues/31150) - Add input/output test for 30091: [#&#8203;31166](https://github.com/vercel/next.js/issues/31166) - Fix `useId` mismatches on hydration: [#&#8203;31102](https://github.com/vercel/next.js/issues/31102) - Do not hide body when concurrentFeatures is enabled: [#&#8203;31187](https://github.com/vercel/next.js/issues/31187) - Fix middleware i18n rewrites: [#&#8203;31174](https://github.com/vercel/next.js/issues/31174) - next-swc: Add `displayNameAndId` of `styled-components`: [#&#8203;31189](https://github.com/vercel/next.js/issues/31189) - Use require.resolve to detect "framework" packages (fix pnpm): [#&#8203;21048](https://github.com/vercel/next.js/issues/21048) - Add all cases where webpack5 type is used: [#&#8203;31206](https://github.com/vercel/next.js/issues/31206) - Add test for styled-components SWC transform disabled: [#&#8203;31214](https://github.com/vercel/next.js/issues/31214) - Add initial standalone build handling: [#&#8203;31003](https://github.com/vercel/next.js/issues/31003) - fix(middleware): expose `CryptoKey` and `globalThis.CryptoKey`: [#&#8203;31193](https://github.com/vercel/next.js/issues/31193) - Disable styled-components displayName in production: [#&#8203;31216](https://github.com/vercel/next.js/issues/31216) - fix(31013): add base path to preflight request url: [#&#8203;31101](https://github.com/vercel/next.js/issues/31101) - share collections in middleware vm context: [#&#8203;31043](https://github.com/vercel/next.js/issues/31043) - Support assetPrefix specific protocol: [#&#8203;31213](https://github.com/vercel/next.js/issues/31213) - upgrade webpack: [#&#8203;31034](https://github.com/vercel/next.js/issues/31034) - Update swc: [#&#8203;31233](https://github.com/vercel/next.js/issues/31233) - run middleware parser handler only for middleware modules: [#&#8203;31219](https://github.com/vercel/next.js/issues/31219) - Update swc minifier: [#&#8203;31242](https://github.com/vercel/next.js/issues/31242) - Fix process.env overriden in web runtime: [#&#8203;31261](https://github.com/vercel/next.js/issues/31261) - fix: replaced useless let: [#&#8203;31239](https://github.com/vercel/next.js/issues/31239) - Experimental next/jest config helper: [#&#8203;31246](https://github.com/vercel/next.js/issues/31246) - correctly assess node equality when nonce attribute is present: [#&#8203;27573](https://github.com/vercel/next.js/issues/27573) - bugfix/i18n Do not support the second locale in the pathname: [#&#8203;31229](https://github.com/vercel/next.js/issues/31229) - Fix typo in `next build` log: [#&#8203;31295](https://github.com/vercel/next.js/issues/31295) - Ensure next/jest is published: [#&#8203;31296](https://github.com/vercel/next.js/issues/31296) - Update swc for `jsc.paths`: [#&#8203;31290](https://github.com/vercel/next.js/issues/31290) - next/jest: Ensure typeof window is not transformed in jsdom environment: [#&#8203;31304](https://github.com/vercel/next.js/issues/31304) - Output where preference is saved: [#&#8203;31305](https://github.com/vercel/next.js/issues/31305) - Upgrade webpack: [#&#8203;31313](https://github.com/vercel/next.js/issues/31313) - Ensure asPath is correctly normalized in minimalMode with i18n: [#&#8203;31281](https://github.com/vercel/next.js/issues/31281) - Automatically using different port to start dev server for non-explicit port: [#&#8203;30736](https://github.com/vercel/next.js/issues/30736) - Resolve stream piper on complete shell for renderToReadableStream: [#&#8203;31186](https://github.com/vercel/next.js/issues/31186) - fix(middleware): fetch resource may be a URL instance (or any stringifiable value): [#&#8203;31260](https://github.com/vercel/next.js/issues/31260) - Ensure NODE_ENV is replaced correctly with swc: [#&#8203;31274](https://github.com/vercel/next.js/issues/31274) - Add support for jsxImportSource in tsconfig/jsconfig: [#&#8203;31358](https://github.com/vercel/next.js/issues/31358) - fix(30724): clear "x-middleware-next" header when chaining middlewares: [#&#8203;30866](https://github.com/vercel/next.js/issues/30866) - Add eslint rule to prevent importing next/server outside of \_middleware: [#&#8203;30973](https://github.com/vercel/next.js/issues/30973) - Don't proxy middleware if host is the same: [#&#8203;31180](https://github.com/vercel/next.js/issues/31180) - Add support for legacy decorators through tsconfig/jsconfig: [#&#8203;31376](https://github.com/vercel/next.js/issues/31376) - Update swc & fix `styled-jsx`: [#&#8203;31407](https://github.com/vercel/next.js/issues/31407) - show `(middleware only)` when a middleware is added to the compiler: [#&#8203;31409](https://github.com/vercel/next.js/issues/31409) - Add minify debug env var to investigate minifier bugs: [#&#8203;31417](https://github.com/vercel/next.js/issues/31417) - add filename to babel warning about anonymous function default exports: [#&#8203;31322](https://github.com/vercel/next.js/issues/31322) - Refactor server/render for SSR streaming: [#&#8203;31231](https://github.com/vercel/next.js/issues/31231) - Remove moment locale replace from craCompat as it's a default in Next.js 12: [#&#8203;31431](https://github.com/vercel/next.js/issues/31431) - Fix basePath replacing server-side and `normalizeLocalePath()` when path is empty string: [#&#8203;30978](https://github.com/vercel/next.js/issues/30978) - Close stream when fatal error occurs: [#&#8203;31164](https://github.com/vercel/next.js/issues/31164) - middleware: add request referrer support: [#&#8203;31343](https://github.com/vercel/next.js/issues/31343) ##### Documentation Changes - Expands `next/script` documentation: [#&#8203;31063](https://github.com/vercel/next.js/issues/31063) - Fix minor typos: [#&#8203;31161](https://github.com/vercel/next.js/issues/31161) - Include www subdomain example in Domain Routing: [#&#8203;30487](https://github.com/vercel/next.js/issues/30487) - Fix heading levels in URL imports docs.: [#&#8203;31163](https://github.com/vercel/next.js/issues/31163) - Update upgrading.md: [#&#8203;31173](https://github.com/vercel/next.js/issues/31173) - docs: fix typo in css-in-js page: [#&#8203;31244](https://github.com/vercel/next.js/issues/31244) - Testing Docs: Add links to jump to sections: [#&#8203;31311](https://github.com/vercel/next.js/issues/31311) - Changes in dev script (package.json): [#&#8203;31245](https://github.com/vercel/next.js/issues/31245) - Typo fixes on Markdown files: [#&#8203;31380](https://github.com/vercel/next.js/issues/31380) - Update data-fetching.md: [#&#8203;31394](https://github.com/vercel/next.js/issues/31394) - Update image-optimization.md: [#&#8203;31401](https://github.com/vercel/next.js/issues/31401) - Fix function syntax for API Routes documentation: [#&#8203;31414](https://github.com/vercel/next.js/issues/31414) - docs: next-iron-session renamed to iron-session: [#&#8203;31292](https://github.com/vercel/next.js/issues/31292) - Clarify with commas: [#&#8203;31224](https://github.com/vercel/next.js/issues/31224) - docs(auth): fix iron-session example url + API: [#&#8203;31413](https://github.com/vercel/next.js/issues/31413) ##### Example Changes - Optimise bundle size for with-supertokens example: [#&#8203;31040](https://github.com/vercel/next.js/issues/31040) - Update remark and remark-html dependencies: [#&#8203;31051](https://github.com/vercel/next.js/issues/31051) - Docs/examples/with iron session updates: [#&#8203;30956](https://github.com/vercel/next.js/issues/30956) - Fix Auth0 Example: [#&#8203;31284](https://github.com/vercel/next.js/issues/31284) - Updates with-supertokens example to add sign in with apple: [#&#8203;31200](https://github.com/vercel/next.js/issues/31200) - Auth0 Example: `getSession` should be called with `req` and `res`: [#&#8203;31330](https://github.com/vercel/next.js/issues/31330) - examples: fix README with google analytics: [#&#8203;31384](https://github.com/vercel/next.js/issues/31384) - Add Playwright example: [#&#8203;29426](https://github.com/vercel/next.js/issues/29426) - Fix storybook styled-jsx example with styled-jsx 5: [#&#8203;31357](https://github.com/vercel/next.js/issues/31357) ##### Misc Changes - improve windows support for benchmark: [#&#8203;31032](https://github.com/vercel/next.js/issues/31032) - Add integration test for Suspense and streaming: [#&#8203;31197](https://github.com/vercel/next.js/issues/31197) - Bump cancel-workflow-action to 0.9.1: [#&#8203;31210](https://github.com/vercel/next.js/issues/31210) - test: skip flaky dynamic import tests: [#&#8203;31221](https://github.com/vercel/next.js/issues/31221) - Add integration test of API routes with `concurrentFeatures` enabled: [#&#8203;31227](https://github.com/vercel/next.js/issues/31227) - Update contributing doc with trouble shooting section for swc: [#&#8203;31265](https://github.com/vercel/next.js/issues/31265) - Fix test-pnp stalling in CI: [#&#8203;31282](https://github.com/vercel/next.js/issues/31282) - Fix failed-loading-swc link in Troubleshooting: [#&#8203;31314](https://github.com/vercel/next.js/issues/31314) - Maintain co-authors when kodiak merges: [#&#8203;31316](https://github.com/vercel/next.js/issues/31316) - bugfix/second-locale-in-pathname remove console.log: [#&#8203;31289](https://github.com/vercel/next.js/issues/31289) - Rewrite send-trace-to-jaeger in Rust: [#&#8203;31392](https://github.com/vercel/next.js/issues/31392) - Ensure Git feature.manyFiles is enabled: [#&#8203;31408](https://github.com/vercel/next.js/issues/31408) - Remove .only and ensure jest lint rules apply for all tests: [#&#8203;31456](https://github.com/vercel/next.js/issues/31456) - Ensure swc dep is copied for isolated tests: [#&#8203;31462](https://github.com/vercel/next.js/issues/31462) ##### Credits Huge thanks to [@&#8203;javivelasco](https://github.com/javivelasco), [@&#8203;shuding](https://github.com/shuding), [@&#8203;rishabhpoddar](https://github.com/rishabhpoddar), [@&#8203;chemicalkosek](https://github.com/chemicalkosek), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;devknoll](https://github.com/devknoll), [@&#8203;sokra](https://github.com/sokra), [@&#8203;KittyGiraudel](https://github.com/KittyGiraudel), [@&#8203;styfle](https://github.com/styfle), [@&#8203;padmaia](https://github.com/padmaia), [@&#8203;housseindjirdeh](https://github.com/housseindjirdeh), [@&#8203;OKinane](https://github.com/OKinane), [@&#8203;KonstHardy](https://github.com/KonstHardy), [@&#8203;BrandonRomano](https://github.com/BrandonRomano), [@&#8203;leerob](https://github.com/leerob), [@&#8203;furcan](https://github.com/furcan), [@&#8203;dusanralic](https://github.com/dusanralic), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;elliottsj](https://github.com/elliottsj), [@&#8203;vvo](https://github.com/vvo), [@&#8203;Kikobeats](https://github.com/Kikobeats), [@&#8203;hi-ogawa](https://github.com/hi-ogawa), [@&#8203;panva](https://github.com/panva), [@&#8203;genetschneider](https://github.com/genetschneider), [@&#8203;thundermiracle](https://github.com/thundermiracle), [@&#8203;stefano-rainieri](https://github.com/stefano-rainieri), [@&#8203;ericbiewener](https://github.com/ericbiewener), [@&#8203;vordgi](https://github.com/vordgi), [@&#8203;stevejarvis](https://github.com/stevejarvis), [@&#8203;ihmpavel](https://github.com/ihmpavel), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;matamatanot](https://github.com/matamatanot), [@&#8203;dyarfaradj](https://github.com/dyarfaradj), [@&#8203;iheyunfei](https://github.com/iheyunfei), [@&#8203;thibautsabot](https://github.com/thibautsabot), [@&#8203;ascorbic](https://github.com/ascorbic), [@&#8203;fytriht](https://github.com/fytriht), [@&#8203;emzoumpo](https://github.com/emzoumpo), [@&#8203;onurtemiz](https://github.com/onurtemiz), [@&#8203;a-ursino](https://github.com/a-ursino), [@&#8203;mxschmitt](https://github.com/mxschmitt), [@&#8203;knezevicdev](https://github.com/knezevicdev), [@&#8203;bywo](https://github.com/bywo), [@&#8203;OArnarsson](https://github.com/OArnarsson), and [@&#8203;TurekBot](https://github.com/TurekBot) for helping! </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yNDEuMTEiLCJ1cGRhdGVkSW5WZXIiOiIzMi4yNDEuMTEifQ==-->
kjuulh added 1 commit 2022-10-27 09:19:12 +02:00
Update nextjs monorepo to v13
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
ab1821968b
kjuulh merged commit ab1821968b into main 2022-10-27 09:38:39 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/todo#15
No description provided.