v12.3.1
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/
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
- 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 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
- 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!