Skip to content

v12.1.1

Compare
Choose a tag to compare
@ijjk ijjk released this 25 Mar 17:26
· 9853 commits to canary since this release

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…: #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: #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: #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.: #35336
  • [docs] Update going to production docs around caching headers: #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: #35045
  • [examples] Use more semantic footer element: #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!