v12.0.4
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
ofstyled-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
andglobalThis.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 withreq
andres
: #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!