Skip to content

v13.2.0

Compare
Choose a tag to compare
@feedthejim feedthejim released this 23 Feb 18:15
· 6569 commits to canary since this release
cf8ca96

Core Changes

  • Move reducer types into separate file: #45333
  • Move reducers to separate file per action: #45336
  • Add support for tsconfig 'nodenext' | 'node16': #44177
  • Add support for --experimental-app-only: #45352
  • Add shared mutable type in router-reducer: #45369
  • Refactor TS plugin code structure: #45375
  • Fix trailing slash redirect applying for data request: #45417
  • Update robots meta and add verification rendering: #45409
  • Check message type before formatting server error: #45406
  • Fix invalid source maps from terser-webpack-plugin: #45423
  • Add support for navigating to external urls: #45388
  • Export the Metadata type: #45445
  • Add data attributes on @next/font usage: #45296
  • Update error message for dynamic = "error": #45432
  • Fix metadata alternate and refactor twitter item: #45480
  • Apply traceIgnores to turbotrace: #45405
  • misc: refactor webpack build out of build/index (1/6): #45335
  • build(cargo): update turbopack to turbopack-230201.1: #45454
  • misc: deprecate custom config from being passed to next/build (2/6): #45455
  • misc: move entrypoints creation into webpack build step (3/6): #45456
  • misc: refactor build context/webpack build step (4/6): #45458
  • Support generateMetadata export: #45401
  • Split router utils into smaller modules: #45451
  • Improve TS experience for metadata: #45493
  • Make client boundary unserializable props a warning instead of an error: #45501
  • Fix middleware matcher for i18n with negative look ahead: #45504
  • Add unit test for navigateReducer and refreshReducer: #45486
  • Update SWC transform to attach the export name: #45494
  • Add skipEntries option to turbotrace: #45410
  • build: remove warning when building with a middleware present: #45518
  • Reload on server component change: #45268
  • Add more JSDoc to metadata interface: #45526
  • Fix image blur cover when fill and blurDataURL: #44317
  • Improve error when create root layout fails: #45304
  • Error when exporting AMP config in app dir: #45228
  • Rename precedence: #45542
  • Add unit test for prefetchReducer: #45516
  • Avoid overwriting pre-existing VSCode settings: #45311
  • Add editor links to module import traces: #45257
  • Separate next/dynamic implementation for app and pages: #45565
  • Refactor navigateReducer to handle mutable consistently: #45555
  • Fix SWC test: #45574
  • Improve swc transforms: #45594
  • Fix AsyncLocalStorage included in the client bundle: #45589
  • Fix invalid sourcemaps in taskfile-swc: #45604
  • Optimize size for the error component: #45586
  • Implement loader and entry creation for server: #45524
  • Emit plugin errors for metadata API in client entries: #45613
  • Refactor server-patch-reducer and refresh-reducer to use applyFlightData and handleMutable: #45608
  • Fix unexpected polyfills in edge-runtime: #45601
  • misc: fix precompiled script generation: #45616
  • Fix TS plugin completions: #45634
  • Use only 1 worker for type checking and linting: #45639
  • Avoid loading project config multiple times: #45637
  • Add same-origin to fetchServerResponse: #45648
  • Use higher instanceId for redux devtools: #45649
  • Fix issue where layout-router wouldn't auto-scroll if we imported styles or fonts: #45487
  • Avoid injecting the TS plugin if extends is used: #45655
  • Support filebased metadata icon and apple touch icons: #45612
  • Update app dir react for client reference updates: #45490
  • Improve client-only imported in external package error: #45484
  • Picking apple-icon instead of apple-touch-icon: #45673
  • [ESLint] Add app dir to default linting directories: #44426
  • Skip prefetching for bots in app-router too: #45678
  • Fix directive parsing in SWC: #45671
  • Add warning for head.js with metadata docs link: #45680
  • Fix missing hasHeader mock during revalidate: #45681
  • Fix CSS loaders in pages when app dir is enabled: #45619
  • Allow generateMetadata to be synchronous: #45696
  • Turbopack experimental fields docs and schema: #45560
  • Allow setting metadataBase for metadata: #45719
  • Add IntelliSense for generateMetadata: #45723
  • Ensure bundle 404 can be rewritten in dev: #45728
  • More explicit errors for invalid exports in SWC: #45679
  • Fix global CSS loader behavior when appDir is enabled: #45739
  • Return a special result when a route can't be resolved: #45668
  • Forward type definition with the TS plugin: #45764
  • Prefix basePath in navigate and prefix methods in app router: #45771
  • Fix applyFocusAndScroll with server patch: #45782
  • Make turbotrace run after the webpack build: #45621
  • Apply module default interop for app-dynamic: #45781
  • Fix displayName prop access for client reference: #45794
  • next-dev: change cluster usage to child process + stabilise inspect port #45745
  • Update turbopack to 230209.02: #45776
  • Fix type checking for generateStaticParams #45788
  • Add experimental route type checking: #45761
  • Use text/x-component for RSC response: #45808
  • Update server manifest and entry creation: #45722
  • Disable un-necessary lint rule by default: #45813
  • Update warning links back to new Metadata docs.: #45818
  • remove unnecessary await when calling findPagesDir: #45807
  • fix wrong variables assignment: #45833
  • fix: proper check for plugin in tsconfig: #45831
  • Add status code to app-render redirect response: #45846
  • Static og and twitter image files as metadata: #45797
  • Fix hash in route types: #45820
  • Add tests for parallel routes / interception and handle router state patch merging client-side: #45615
  • Update middleware prefetch handling: #45772
  • fix(next-swc): Enable ignoreDynamic for auto_cjs: #45836
  • Update default tracing root handling: #45864
  • Fix redirect for the root path with i18n and defaultLocale: #45847
  • Use text/plain content-type for RSC responses: #45783
  • build(cargo): update turbopack: #45863
  • Add missing isRootLayout when creating optimistic tree: #45899
  • Disable streaming for pages: #45895
  • Improve TypeScript plugin for metadata: #45876
  • Upgrade turbopack: #45861
  • Add top-level trace include/exclude config: #44605
  • Add warning when mismatching @next/swc version is being used: #45880
  • Ensure terminal sequence is reset on dev exit: #45881
  • chore(deps): upgrade cross-spawn to 7.0.3: #45839
  • Server Router Improvements: #45716
  • Use details tag in collapsed call stacks: #45907
  • Rename manifest file names: #45877
  • next/navigation Typescript support for pages/: #45919
  • Improve server-only imported in external package error: #45749
  • Make app-render error logging less verbose in dev: #45472
  • fix: proper type for typed Link: #45915
  • test(integration): fix skip retry count logic: #45930
  • Fix app routes on deploy: #45931
  • fix(link): do not reload when Link is in SVG: #41320
  • Freeze resolved metadata object in dev mode: #45923
  • Improve type checking with tests: #45940
  • Log dev error in Server Router: #45951
  • Stop overriding the user's TS config with defaults during next build: #45670
  • Metadata fields improvements: #45945
  • Fix windows path while searching matched page path: #45958
  • Skip auto static entries in turbotrace: #45856
  • Use metadata API in automatically created root layout: #45938
  • Add next/font import: #45891
  • Add next/font imports codemod: #45740
  • Add edge support for route handlers: #45990
  • Fix windows paths for invalid import errors: #45999
  • Exclude system entrypoints from client manifest's chunk list: #46010
  • Improve RSC related bundling error messages: #45971
  • Fix folders included in trace: #46011
  • [edge] support edge-light exports when bundling edge functions: #45188
  • Skip collecting modules from page dir in the client reference plugin: #46020
  • Fix metadata manifest field rendering: #46004
  • Remove swcMinifyDebugOptions from the config: #45976
  • Skip including test files in dist: #46022
  • Refactor freezing metadata while resolving and fix title merging: #45965
  • Move initial head: #45695
  • fix: next-image-experimental codemod: #45970
  • chore(deps): use external @edge-runtime/cookies: #42736
  • Improve generic namings: #46046
  • Fix normalization of .rsc extension: #46043
  • Fix RSC navigation when overriding headers in middleware: #46049
  • @next/font migration warning: #46036
  • Add jsdoc examples to metadata: #46035
  • Make shebangs portable used in the repo portable: #46028
  • Remove stray console.log line (fixes #46027) (#46025)
  • feat: show version staleness in error overlay (#44234)
  • Revert part of #45971: #46071
  • fix: codemod next/image within monorepo: #46047
  • Check for windows paths in server matchers: #46055
  • Fix export conditions in Webpack config: #46066
  • Add loader-runner to compiled packages: #45962
  • Fix next/font error parsing on windows: #46053
  • Add vary header to responses from pages and Edge SSR: #46073
  • chore: Rename internal Webpack plugin: #46088
  • Fix manifest error when using route.js: #46102
  • fix: typedroute routes for window: #46099
  • Fix React key warning when using metadata.twitter.images: #46106
  • Detect invalid metadata exports errors in next-swc: #46077
  • Polish metadata interface jsdoc: #46116
  • speeds O(n^2) execution of detectConflictingPaths: #46080
  • chore(ci): add job to test codemods: #46068
  • Use tsx parser in built-in-next-font codemod tests: #46140
  • Send correct stats in hot reloader sync event: #46150
  • fix: OpenGraph metadata images rendering: #46154
  • Improve app-render error log with edge runtime: #46157
  • feat: add instrumentation hook: #46002
  • Update flakey instrumentation test cases: #46165
  • Update added instrument check: #46166
  • Add icon descriptor property media and fetchPriority: #46149
  • Fix "use client" in pages dir errors: #46191
  • Fix client boundary defined in a module: #46171
  • Adding next-multilingual as a new i18n option: #37452
  • Use next/font in create-next-app: #45897
  • Update CI test setup: #46138
  • build(cargo): update turbopack: #46013
  • Add invariant error when the pageData is incorrectly assigned: #46204
  • Fix handle extracted CSS modules without layer info: #46200
  • Add ISR handling for app routes: #46133
  • Fix route.js trailingSlash handling: #46185
  • fix file name in next/font unresolved import error: #46187
  • fix: image optimization content-type: #46219
  • Fix turbopack route resolver (#46206
  • Update flaky dev tests: #46179
  • Fix flaky script test: #46211
  • Update Turbopack to turbopack-230221.3: #46209
  • fix: don't append domain to absolute urls when using i18n: #46201
  • fix: CNA issues when using @/ in custom import alias: #46184
  • chore(ci): remove needs: build-native-test from codemod test: #46192
  • Breakup telemetry test further: #46218
  • Update app dir cache handling: #46081
  • Fix app-dir vary test in deploy mode: #46224
  • Skip build step for docs only change: #46225
  • Don't enable dev watcher when turbopack is used: #46231
  • Fix API route matched as page on Windows in dev: #46238
  • Fix missing metadataBase for static tw,og image resolving: #46243
  • feat: add OTEL instrumentation for next-server + OTEL example: #46198
  • Fix precompiled of react scheduler: #46250
  • Make build error urls clickable: #46251
  • feat: add contentDispositionType config to Image Optimization API: #46254
  • Add test for next-found and redirect for metadata: #46248
  • update turbopack: #46253
  • Remove cache built files step: #46264
  • Skip pre-rendering the default param when no params are provided: #46265
  • Update app-dir react bundle to leverage edge build: #46208
  • Improve type checking: #46276
  • Update Turbopack to turbopack-230222.3: #46278
  • Rename: OgTypFields variable to OgTypeFields: #46282
  • Add client router filter handling: #46283
  • Update app dir cache heuristics: #46287
  • Update app dir cache handling: #46271

Documentation Changes

  • Typo: #45380
  • @next/font change default font-display: #45430
  • Update i18n-routing.md: #45448
  • docs: move getStaticProps before getStaticPaths: #45357
  • Remove "standalone" from next export docs: #45539
  • Add example for clearPreviewData with path to documentation: #45465
  • docs: added missing strategy: #45584
  • Update react-hydration-error.md: #43671
  • Add Cypress component testing to docs & example: #44869
  • Update no-img-element.md: #45701
  • A repeated description should be updated: #45691
  • Update app-static-to-dynamic-error.md: #45704
  • chore: update next/image docs with unoptimized example: #45720
  • Update NextResponse section in Middleware docs: #45913
  • Update font.md: #45932
  • docs(next/router): capitalize React: #45950
  • chore(examples): update with-lingui example: #46007
  • Fix small error in documentation: #46105
  • Update error doc for CSS Modules in third-party deps: #46121
  • Update Edge Runtime docs page: #46239

Example Changes

  • Update with-redux example tsconfig to use strict: true: #45325
  • Update example path for authsignal/passwordless-login: #45387
  • Create reproduction template for app dir: #45412
  • Example/with apivideo: #45272
  • Upgrade librabries and rebranding kontent.ai: #45260
  • bump node alpine to version 18 (LTS): #45643
  • Fix ts config in reproduction-template-app-dir: #45653
  • Simplify with-google-analytics example: #43894
  • Define base image for multi-stage build: #45090
  • fix(next-mdx): mark mdx-js/* as optional: #45440
  • Update README for cms-kontent-ai: #45796
  • Fix 404 link in example with-turbopack: #45843
  • chores(examples): Define base image for multi-stage build: #45862
  • Update Convex demo to 0.9.1: #45866
  • Add MDXComponents type to useMDXComponents: #45737
  • Fix syntax error in supabase auth example: #45926
  • Update Material UI examples: #45974
  • chore(examples): updates supertokens dependencies: #45985
  • chore(examples): more practical jotai example: #45973
  • Fixing nextjs-recoil example: #46024
  • [examples] Use styletron-react 6.1.0: #45810
  • Update @testing-library/react in with-redux example: #46085
  • fix: <title> problem in example/blog-starter: #46122

Misc Changes

  • Enable file nesting for unit test files in vscode: #45329
  • Update more flakey API support checks: #45373
  • Remove old CI workflows: #45377
  • Revert "Fix release stats": #45164
  • Ensure PATH env matches CI locally: #45376
  • Fix nested example setup with create-next-app: #45390
  • Fix flakey app metadata test: #45391
  • Move error recovery test to new file: #45407
  • Enable more hydration error overlay tests: #45404
  • Add @jankaifer as codeowner of docs, .github and examples: #45446
  • chore(github): update issue labeler: #45444
  • Some changes in grammar: #45467
  • Remove leftover server.js files in test suite: #45408
  • chore: fix docs link to minimumCacheTTL: #45502
  • Clean up CI logs: #45171
  • Refactor next export tests : #45227
  • fix typo in comment and unused variable remove: #45307
  • Add unit test for serverPatchReducer: #45511
  • Fix unsafe caching for isolated tests: #45602
  • Update @next/font/google data: #45622
  • Increase GitHub actions job timeouts: #45638
  • migrate from yarn to pnpm: #45652
  • Fix error page line height: #45676
  • chore: simplify package scripts: #45226
  • test(integration): allow to conitnue when test suite fails: #45682
  • chore: update issue-labeler: #45706
  • Fix CNA file initializing order: #45760
  • Support favicon.ico for metadata (#45759
  • Move CSS tests out of the main test suite: #45765
  • Update CNA tests (#45768
  • Separate navigation and hooks tests into new test suites: #45766
  • Bring file back to original: cb195ce
  • Add additional tests for @next/mdx: #45585
  • Fix typo in @next/mdx readme: #45888
  • test(integration): allow to partially skip retry: #45914
  • Fix flaky rsc-build-error test: #45896
  • Remove action adding "linear" label which is not used anymore: #45911
  • Replace yarn with pnpm in createTestDir(): #45878
  • test: update flaky app dir test: #45921
  • Include tsconfig.json in tests: #45879
  • Use latest CLI for E2E tests: #45925
  • Update E2E deploy tests: #45929
  • Fix flakey app cli output checks: #45960
  • Change github issues labeler to upstream repo - our changes were merged: #45986
  • test(integration): emits successful test output for continue on error: #46008
  • docs: fix contributing guideline: #46005
  • Fix cache built files step: #46075
  • Disable cache built files step
  • Remove built files chown
  • Fix failed cache restoring: #46083
  • Fix adding-exmaples.md doc: #46051
  • Update next/font/google data: #46040
  • Fix flaky invalid import test: #46089
  • chore: refactor image optimization tests: #46269
  • Code refactoring for loader rules: #46277

Credits

Huge thanks to @timneutkens, @loettz, @okcoker, @clive-h-townsend, @shuding, @jankaifer, @sepiropht, @hanneslund, @huozhi, @aralroca, @balazsorban44, @cristobaldominguez95, @vinaykulk621, @Brooooooklyn, @feedthejim, @samsisle, @MarDi66, @styfle, @therealrinku, @sebmarkbage, @cravend, @hu0p, @kdy1, @ijjk, @juzhiyuan, @IvanKiral, @LukeSchlangen, @wojtekolek, @samdenty, @Josehower, @bennettdams, @SCG82, @mike-plummer, @kwonoj, @David0z, @denchance, @joulev, @wbinnssmith, @alexkirsz, @UnknownMonk, @leerob, @sairajchouhan, @imranbarbhuiya, @jomeswang, @ductnn, @thomasballinger, @chibicode, @jridgewell, @sreetamdas, @Juneezee, @SukkaW, @wyattjoh, @michaeloliverx, @cattmote, @joefreeman, @valentincostam, @qrohlf, @ossan-engineer, @rishabhpoddar, @vasucp1207, @Schniz, @andrii-bodnar, @gergelyke, @abstractvector, @wherehows, @BrodaNoel, @taep96, @abe1272001, @0xadada, @nbouvrette, @teobler, @lubakravche, @molebox, and @hiddenest for helping!