Releases: vercel/next.js
v12.3.1-canary.5
Core Changes
- Drop legacy RSC server and client extension: #40692
Example Changes
- docs(examples): fix error connection handling: #40633
Credits
Huge thanks to @huozhi and @chornos13 for helping!
v12.3.1-canary.4
Core Changes
- 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
Example Changes
- chore: Migrate with-prefetching example to typescript: #40671
- chore: Refactor active-class-name example: #40670
Credits
Huge thanks to @huozhi, @shuding, @timneutkens, @hanneslund, @feedthejim, @SukkaW, and @HaNdTriX for helping!
v12.3.1-canary.3
Core Changes
- 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/
withnext export
: #40592 - refactor: split up
CONTRIBUTING.md
: #40515 - Implement SWC transformer for server and client graphs: #40603
- Fix edge wasm handling during deploy: #40625
Example Changes
Misc Changes
- Wrap parallel routes tests in describe: #40546
- fix(#40025): run
next/script
beforeInteractive test in both dev & prod: #40541
Credits
Huge thanks to @timneutkens, @SukkaW, @migueloller, @kdy1, @shuding, @wyattjoh, @huozhi, @flex-kyunghwa, @saalimzafar, @alxhotel, @balazsorban44, and @janicklas-ralph for helping!
v12.3.1-canary.2
Core Changes
- 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
Documentation Changes
- 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(examples): update turborepo examples link: #40487
- update(examples): Emotion modules: #40242
- Added comments to middleware-matcher example: #40273
- Remove legacy mobx example: #40304
Misc Changes
- chore: use
link:
instead offile:
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
Credits
Huge thanks to @msafi, @tknickman, @feugy, @cramforce, @ryparker, @victorboucher, @steven-tey, @JDansercoer, @balazsorban44, @janklimo, @timneutkens, @hiro0218, @SukkaW, @huozhi, and @HaNdTriX for helping!
v12.3.1-canary.1
Core Changes
- 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
Documentation Changes
- Fix mdx docs: #40402
- Update Server Components documentation.: #40452
- docs: move
swcMinify: true
out of "Experimental features" section: #40394
Example Changes
- chore: fix examples: #40395
Misc Changes
- Temporarily disable unstable app test: #40408
- docs(middleware): fix broken link
Credits
Huge thanks to @rubytree33, @timneutkens, @balazsorban44, @huozhi, @andrewrjohn, @SukkaW, @hanneslund, @leerob, @Djo1e, and @kdy1 for helping!
v12.3.1-canary.0
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
Documentation Changes
- docs: fix middleware path: #40340
Credits
Huge thanks to @huozhi, @shuding, @jasham, @Kikobeats, and @wyattjoh for helping!
v12.3.0
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 innext/future/image
: #39824 - Improve error message on
next/future/image
whenobjectFit
orobjectPosition
: #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 forpageProps
: #38867 - Treat non page file as non route under app dir: #39976
- Fix
next/future/image
incorrectly warning forfill
+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 duringnext dev
: #39992 - Remove
<noscript>
fromnext/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 innext/future/image
: #40136 - Allow port 0 in
next dev
andnext 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 onlywidth
or onlyheight
: #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: #40260
- fix(lint): disable
react/no-unknown-property
: #40331 - Update
onLoadingComplete
fornext/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: #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
withgetStaticPaths
: #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: #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: #39951
- Revert "Adds note about custom server requirements": #39956
- Update image.md: #39984
- Update
script.md
: #40017 - [docs] Add precision about
pageExtensions
: #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: #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: #39639
- Tweak Convex example: #39739
- examples/with-redux-thunk , update README (#39555): #39712
- [Docs] Update mongodb example: #39658
- Convert with-goober example to TS: #39761
- [docs] Migrate dynamic routing example to typescript: #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: #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 e...
v12.2.6-canary.13
Core Changes
- refactor(next/swc): remove unnecessary field in
RemoveConsole
: #40296 - [edge] fix URLSearchParams lacking data from rewrite: #40260
- fix(lint): disable
react/no-unknown-property
: #40331 - Update
onLoadingComplete
fornext/future/image
to receive reference to<img>
: #40326 - Remove warning for swcMinify being enabled: #40359
Documentation Changes
Example Changes
- 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
- Update README.md
Credits
Huge thanks to @orionmiz, @Schniz, @S0UPernova, @HaNdTriX, @styfle, @balazsorban44, @cvbuelow, and @leonzalion for helping!
v12.2.6-canary.12
v12.2.6-canary.11
Core Changes
- 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 onlywidth
or onlyheight
: #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
Documentation Changes
- 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
Example Changes
Misc Changes
- 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
Credits
Huge thanks to @balazsorban44, @sumiren, @shuding, @timneutkens, @styfle, @atcastle, @HaNdTriX, @bcheidemann, @huozhi, and @hanneslund for helping!