fix(deps): update dependency next to v13

Common Ground Bot requested to merge renovate/major-nextjs-monorepo into master

This MR contains the following updates:

Package Change Age Adoption Passing Confidence
next (source) 12.3.2 -> 13.5.3 age adoption passing confidence

Release Notes

vercel/next.js (next)

v13.5.3

Compare Source

Core Changes
  • only put css in entry_css_files: #​55585
  • update taskfile to generate types during build: #​55628
  • refactor: use fs.existsSync instead of accessSync: #​55675
  • Capitalize compiling log: #​55685
  • Split prerending by route kind: #​55622
  • turbopack: Update the next/dist/esm rewrite ResolvePlugin: #​55689
  • refactor: modernize get-online with dns/promises: #​55674
  • ensure fetchServerResponse is a valid record when stored in router cache: #​55690
  • fix(react-refresh-utils): avoid memory leaks caused by prevExports: #​53797
  • fix(ts): allow auto-import of next/navigation: #​55743
  • remove --watch from generate_types task: #​55748
  • Remove the left padding in next info output: #​55704
  • test(turbopack): remove escape hatches for custom turbopack bindings: #​55757
  • fix: Invoke cancel, only if the stream is not closed: #​55684
  • Revert "fix: Invoke cancel, only if the stream is not closed (#​55684)": #​55764
  • fix thenable types & update another incorrect cache record: #​55758
  • turbopack: Rewrite ESM modules to CJS during client transition: #​55693
  • Fix output log extra new line: #​55770
  • Remove unused internal env var: #​55762
  • fix Image when used with --experimental-https: #​55775
  • chore: update turbopack to turbopack-230922.2: #​55828
  • Move DefineEnv to separate file: #​55811
  • Remove legacy checks for unstable_getXProps: #​55813
  • Remove next-typescript check in webpack config: #​55819
  • Correctly mark turbo sessions in telemetry: #​55835
  • feat(turbopack): construct output path with distDir next.js config: #​55613
  • Remove extra type: #​55837
  • Update rust toolchain to nightly-2023-09-21: #​55774
  • Remove unused internal env var: #​55762
  • fix Image when used with --experimental-https: #​55775
  • chore: update turbopack to turbopack-230922.2: #​55828
  • Move DefineEnv to separate file: #​55811
  • Remove legacy checks for unstable_getXProps: #​55813
  • Remove next-typescript check in webpack config: #​55819
  • Correctly mark turbo sessions in telemetry: #​55835
  • feat(turbopack): construct output path with distDir next.js config: #​55613
  • Remove extra type: #​55837
  • Update rust toolchain to nightly-2023-09-21: #​55774
  • Ensure next-swc-loader types are used: #​55846
  • Use swc for runtime bundling: #​55842
  • fix bugs pertaining to server actions + navigation: #​55853
  • Ensure opentelemetry mismatched version error bubbles: #​55868
  • test: re-enabled the disabled manifest test: #​55810
  • Remove unnecessary Object.assign: #​55882
  • Move experimental.runtime warning to config loading: #​55880
  • Add experimental.strictNextHead to Turbopack: #​55915
  • Loose types of app routes return value: #​55849
  • Add trailingSlash, basePath, and assetPrefix to Turbopack: #​55921
  • app router: ensure static prefetch renders loading.js: #​55950
Documentation Changes
  • add tip for case sensitivity of imports: #​55662
  • Docs - Fix VSCode Full Stack Debugging Regex Pattern: #​55670
  • Feedback: Remove line saying server actions is dynamic-only: #​55746
  • Update 01-pages-and-layouts.mdx: #​55795
  • fix typo in API Reference - Image Component: #​55776
  • Update 01-pages-and-layouts.mdx: #​55795
  • fix typo in API Reference - Image Component: #​55776
  • docs: useFormState: #​55564
  • Update 10-testing.mdx: #​55801
  • Revert "fix typo in API Reference - Image Component": #​55889
  • Fix missing async keyword in function declaration: #​55887
  • docs: Add note that Server Actions work with static routes: #​55626
  • docs: Add example on query parameters in route handlers: #​55789
Example Changes
Misc Changes
  • Upgrade to latest NAPI-RS infra: #​55505
  • ci(tests): enable turbopack /e2e tests: #​55681
  • chore: bump nissuer: #​55723
  • improve CI log: #​55736
  • fix(cna): separate dependencies/devDependencies: #​55730
  • misc: improve profiling script: #​55732
  • test(fixture): prevent start failure teardowns whole process: #​55760
  • Update fnm setup for CI: #​55765
  • test(turbopack): explicitly clean up instance for turbopack: #​55772
  • Update flakey next-image tests: #​55838
  • Update flakey next-image tests: #​55838
  • Allow filtering individual test cases inside test files: #​55786
  • Move client-navigation test to test/development: #​55888
  • Ensure Turbopack passing test list is sorted: #​55948
Credits

Huge thanks to @​sokra, @​ztanner, @​anonrig, @​huozhi, @​mayank1513, @​travisanderson, @​wyattjoh, @​jridgewell, @​ryanagillie, @​Brooooooklyn, @​kwonoj, @​balazsorban44, @​naruaway, @​S3Prototype, @​feedthejim, @​joulev, @​icyJoseph, @​ijjk, @​ForsakenHarmony, @​timneutkens, @​wbinnssmith, @​sdkdeepa, @​sdaigo, @​leerob, @​dominiksipowicz, @​joao-vasconcelos, and @​mostafaegouda for helping!

v13.5.2

Compare Source

Core Changes
Documentation Changes
  • create-next-app templates: Change bun run dev commands to bun dev: #​55603
  • docs: move optimizePackageImports to experimental: #​55614
  • fix(docs): internationalization middleware example: #​55645
Example Changes
  • fix: examples/with-fauna/package.json to reduce vulnerabilities: #​55594
  • fix: examples/with-grafbase/package.json to reduce vulnerabilities: #​55593
  • chore(examples): upgrade next-translate dependencies: #​55637
Misc Changes
  • chore: run repro validation only on bug reports: #​55610
  • Run unit tests in a separate job: #​55621
  • Run unit tests in a single job run: #​55625
Credits

Huge thanks to @​padmaia, @​mayank1513, @​jakeboone02, @​balazsorban44, @​kwonoj, @​huozhi, @​Yovach, @​ztanner, @​wyattjoh, @​GabenGar, @​timneutkens, and @​shuding for helping!

v13.5.1

Compare Source

Core Changes
  • Update font data: #​54257
  • add experimental https support to next dev: #​54016
  • Fix emotion-js transform for server components: #​54284
  • Handle basePath for redirect(): #​54277
  • Remove unused array in router-server: #​54278
  • app-router: tweak prefetch cache status heuristics: #​53864
  • Adds nonce to preinit scripts: #​54059
  • Fix default export of server action utility aliases: #​54254
  • fix: improve error message when output: export in app router: #​54202
  • ci(trace): allow to opt in to upload full trace: #​54347
  • fix: server actions blocking navigation events: #​54307
  • Skip getStaticPaths check for non-dynamic app routes: #​54351
  • OpenTel: ensure that exceptions are recorded on an active span: #​54131
  • Testmode: intercept rewrite fetches: #​54259
  • Polyfill Array.prototype.at: #​44436
  • Fix missing locale info for middleware data request: #​54357
  • fix: minimum node version 16.14.0: #​54331
  • Merge app renderer process: #​54143
  • Fix data route ordering in dev: #​54364
  • fix(app): enable React Strict Mode by default: #​53375
  • Fix swc compiling of client components when directive appears later than exports: #​54392
  • Upgrade vendored react: #​54399
  • Code clean up: #​54405
  • Upgrade precompiled ua-parser-js: #​54404
  • Fix compilation of next/dynamic with ssr: false in App Router: #​54411
  • refactor: Use swc AST to determine use client and server directives: #​54358
  • Fix not found css not being preloaded while navigation: #​53906
  • Optimize webpack memory cache garbage collection: #​54397
  • Use push for Server Action redirections: #​54458
  • Decreased watchpack aggregate timeout: #​54461
  • Generate prefetch RSC paylod during build for SSR paths: #​54403
  • remove HMR polling in favor of more targeted events: #​54406
  • Trace upload fixup: #​54455
  • fix: custom incremental cache handlers should work when transpiled: #​54472
  • upgrade Edge Runtime dependency: #​54489
  • fix infinite navigate events when Promise is proxied: #​54394
  • Implement named_import_transform: #​54530
  • fix resolve routes behavior when matching a dynamic segment: #​54539
  • Turbopack: add edge support for pages apis: #​54449
  • chore(eslint): bump ESLint plugins: #​54490
  • Skip copying signal field for revalidate: #​54533
  • Fix missing new line for certain logs: #​54442
  • update turbopack: #​54558
  • fix(DX): More precise error messages for export const config deprecation: #​54492
  • Revert "Decreased watchpack aggregate timeout": #​54515
  • Forms and mutations docs.: #​54314
  • optimize_barrel SWC transform and new optimizePackageImports config: #​54572
  • Reuse edgeConditionNames variable: #​54594
  • Update font data: #​54585
  • Add cleanup logic to worker.ts: #​54500
  • chore: add extra error info for rsc info helper: #​54609
  • Fix router CPU profiling: #​54497
  • Turbopack: add middleware support for next.rs api dev mode: #​54555
  • Rename hot-reloader to hot-reloader-webpack: #​54628
  • Implement hot-reloader interface: #​54629
  • Remove this as any cases: #​54642
  • Implement hot reloader interface for Turbopack: #​54632
  • Fix weight values above 900 not working with Google Fonts: #​54339
  • add support for app pages to next.rs api: #​54668
  • Remove unused cssnano-simple file: #​54658
  • File Reader Improvements: #​54645
  • Add new permanentRedirect function in App Router: #​54047
  • Default app router not found : #​54199
  • Cleanup of /_next/data handling in server: #​54689
  • Trace uploader: fix git binary on windows: #​54580
  • fix(next/image): import error preload is not exported from react-dom: #​54688
  • turbopack: should only create _not-found when path_prefix is root: #​54687
  • fix app routes: #​54701
  • refactor: share utils and optimize segments normalization: #​54611
  • Improve barrel optimizer with loader caching and wilcard exports: #​54695
  • Move getBabelConfigFile to separate file: #​54716
  • Reimplement getBabelConfigFile to be simpler: #​54741
  • Fix memory watcher reboot: #​54760
  • Misc Typescript updates: #​54734
  • Fix unexpected full hmr reload when editing _app: #​54690
  • update turbopack: #​54768
  • Use variable for common isNodeOrEdgeCompilation condition: #​54763
  • Turbopack: Implement HMR in next-api : #​54772
  • Add @visx/visx to the import optimization list: #​54778
  • Remove experimental.appDir as it's stable: #​54785
  • Short circut 404's for /favicon.ico in development: #​54747
  • Remove additional appDir checks: #​54788
  • Remove experimental.pageEnv: #​54789
  • Update list of Next.js options in next.rs: #​54798
  • Fixes for Turbopack HMR: #​54790
  • Fix the build manifest path for /: #​54744
  • Allow any number of onFetch handlers for a single test: #​54846
  • Update @​vercel/og to latest: #​54849
  • fix(turbopack): edge api entry path should not have /route suffix: #​54851
  • Don't send tracing spans if performance.measure doesn't return measurements: #​54808
  • Fix performance measures crashing the app #​54858
  • Update tag handling for app cache: #​53321
  • Simplify getPagePaths logic: #​54908
  • Debug tracing: time devserver startup: #​54537
  • Update turbopack: #​54909
  • Add types for hot reloader send method: #​54932
  • Fix typo in hot-reloader: #​54944
  • Ensure that barrel files behind wildcards are transformed into shortpath: #​54951
  • Fix group routes custom root not-found: #​54931
  • fix: server actions firing twice after navigation: #​54948
  • docs: fix document format for next_private_export_map: #​54952
  • Unify serverError hmr event: #​54962
  • Add serverError action to list of HMR events: #​54964
  • fix(next-swc): skips client/server only checks when running with Jest to unblock testing: #​54891
  • Remove pong HMR event as it is not used: #​54965
  • Add turbopack-connected HMR event: #​54976
  • Redesign nextjs logging: #​54713
  • chore: bump undici: #​55007
  • chore: restore options to opt-in for server-side transpilation: #​55010
  • upgrade edge-runtime: #​55005
  • [functions-config-manifest] use correct extra config for pages router: #​54786
  • Client-side HMR message types: #​55009
  • perf: use split chunks for the node server: #​54988
  • Remove react-hot-toast from the optimizePackageImports list: #​55029
  • Experimental server optimization: #​54925
  • Fix duplicated dynamic metadata routes in dev mode: #​55026
  • Adjust optimizePackageImports: #​55040
  • server: enable minification by default: #​54960
  • webpack: tweak config for split chunks: #​55054
  • fix(perf): lazy load babel/code-frame: #​55024
  • remove --turbo, use --experimental-turbo as --turbo: #​55063
  • fix: skipTrailingSlashRedirect being ignored in pages: #​55067
  • Debug tracing: include session and anonymous ids: #​55021
  • Next SWC: Constrain Vc cell values with Send: #​55077
  • test(next-dev): migrate styled-jsx integration test: #​55079
  • perf: add bundled rendering runtimes: #​52997
  • chore: add structured app page path type: #​55070
  • Fixed i18n data route RegExp: #​55109
  • chore: upgrade to TypeScript 5.2.2: #​55105
  • fix: ensure mpa navigation render side effects are only fired once: #​55032
  • Revert "perf: add bundled rendering runtimes (#​52997)": #​55117
  • Strip internal routing headers: #​55114
  • Add option to support log full request url in verbose mode: #​55111
  • Filter out pages tree view for app dir only output: #​55120
  • Check for type of route handler returned value at build time (via the TS plugin) and at runtime: #​51394
  • Set test headers via page.router API: #​55087
  • server: re-land bundled runtimes: #​55139
  • feat(turbopack): add dynamic metadata support: #​54995
  • server: require hook hotfix : #​55146
  • Revert swc versions to one that doesn't use lightningcss: #​55148
  • feat: support expanding urls in nexturbo (and fix static files): #​55147
  • Update font data: #​55155
  • server: remove turbopack-specific code when compiling with webpack: #​55226
  • Ensure ImageResponse extends Response: #​55187
  • Remove render workers in favor of esm loader: #​54813
  • test(turbopack): migrate 404-related tests from next-dev: #​55243
  • feat: add reserved port validation: #​55237
  • build: fix externals resolution when importing from next/dist: #​55269
  • Make open editor icon size non-shrink in error overlay: #​55273
  • build: fix minimal trace caching: #​55279
  • reafactor: renamed pathname -> page: #​55282
  • feat(next-dev): reenable turbopack beta message: #​55116
  • Add libsql to external package list: #​55266
  • fix: removed unused intercepting route definition references: #​55285
  • refactor(next-font): use next-transform-font: #​55252
  • Remove unused option and unified ready message into start server: #​55289
  • remove --experimental-turbo from supported next-dev args: #​55300
  • test(next-dev): clean up 404 tests: #​55292
  • Use NextJsHotReloaderInterface in router-server: #​55317
  • server: switch pages to react dom edge renderer: #​55318
  • Logging improvements: #​55298
  • Updates Mozilla links to not include language preference: #​55326
  • fix react-server-dom-webpack cache invalidation: #​55287
  • docs: add explicit units to isrMemoryCacheSize option: #​55108
  • feat(turbopack): attach type metadata for static metadata item: #​55340
  • fix duplicated error logging when start server: #​55328
  • Revert react-server-dom require change: #​55345
  • fix turbopack HMR, fix disconnect detection: #​55361
  • Fix CPU profile generation: #​55365
  • fix memory leak in require.cache cleanup: #​55377
  • WEB-1135: Update examples and schema for Turbopack loaders config change: #​54584
  • feat(turbopack): support next.js specific node polyfills: #​55343
  • Turbopack: Allow Pages entrypoint template to import user's .ts files: #​55296
  • Revert "feat(turbopack): support next.js specific node polyfills": #​55385
  • Remove leftover worker code and types: #​55383
  • run validation logic for TURBOPACK too: #​55379
  • more turbopack HMR fixes and test case: #​55368
  • Revert "Revert react-server-dom require change": #​55382
  • Set standalone server default hostname to 0.0.0.0: #​54445
  • Revert "Revert "feat(turbopack): support next.js specific node polyfills"": #​55392
  • Update React from dd480ef to d6dcad6.: #​55399
  • Memoize serverDistDir generation: #​55375
  • Remove IncomingMessage type where unused: #​55387
  • Remove unused file: #​55378
  • Update useParams typing to assume a given shape: #​55126
  • Remove setLazyProp from the hot path of all requests: #​55391
  • fix: server actions initiated from static pages: #​51534
  • Turbopack: log hmr compile changes: #​55406
  • fix: server actions initiated from static pages: #​51534
  • Turbopack: log hmr compile changes: #​55406
  • Update turbopack: #​55402
  • fix: sort imports to ensure consistent hash: #​55358
  • fix manifest load errors when using assetPrefix: #​55416
  • Turbopack: remap next/head on client in App Pages: #​55419
  • Ensure etags are not generated for static files when disabled: #​55376
  • use atomic writes to avoid seeing incomplete files: #​55424
  • fix server-side changes events: #​55437
  • server: bundle vendored react: #​55362
  • fix: move sort to loader to also sort query string: #​55425
  • Don't log error about root_task_dispose: #​55458
  • Skip JSON.parse in loadClientReferenceManifest: #​55457
  • Restrict useFormState in Server Components: #​55417
  • Generate middlewareManifestPath only once: #​55489
  • Test Mode: report onFetch interceptions in the test: #​55456
  • Turbopack: Setup HMR for client-only changes in App dir: #​55464
  • Remove esm loader: #​55509
  • update turbopack: #​55515
  • Remove process.env reading in require hook: #​55520
  • Allow server-only in server targets and client-only in client components targets to be available: #​55394
  • Make useSearchParams and useParams compatible between app and pages router: #​55280
  • fix(next-core): enable image extensions: #​55460
  • build: add aliases for react-dom/server usage in server bundles: #​55536
  • fix: run turbopack in forked process: #​55545
  • fix next.js own build on windows: #​55544
  • Fix notFound status code with ISR in app: #​55542
  • Disable client-only for middleware and pages api layer: #​55541
  • Fix missing module.compiled trace file and unhandledRejection in ensurePage: #​55553
  • Add mui-core to the default optimizePackageImports list: #​55554
  • Consolidate experimental React opt-in & add ppr flag: #​55560
  • Add react-icons to optimizePackageImports: #​55572
  • Fix useState function initialiser case for optimize_server_react transform: #​55551
  • Update supported config options for Turbopack: #​55556
  • Fix react packages are not bundled for metadata routes: #​55579
  • improve internal error logging: #​55582
  • fix styled-jsx alias: #​55581
Documentation Changes
  • docs: Bump minimum Node.js version to 16.14: #​54285
  • Docs: Fix broken links: #​54340
  • Docs: Add notes that revalidation is not available in the Edge runtime / only Node.js: #​54338
  • Docs: Update template.js section: #​54370
  • Docs: Clarify status codes w/ streaming: #​54374
  • Docs: Document manifest metadata file: #​54380
  • Docs: Refer users to IDE or MDN for manifest object options: #​54385
  • Docs: Remove runtime configuration from /app docs: #​54336
  • docs: Remove unneeded word in caching docs: #​54451
  • docs: Add next-i18n-router as a resource for internationalized routing: #​52344
  • Update 10-testing.mdx: #​54107
  • docs: Rewrite Rendering Section and React Essentials Page: #​51579
  • Docs: Fix formatting issues in the rendering docs: #​54517
  • docs: fix broken link missing leading slash: #​54520
  • docs: Add missing parameters to both useSelectedLayoutSegment & useSelectedLayoutSegments: #​53602
  • chore(docs): add example of sanity image to loaderFile config: #​54529
  • docs: fix source files hash calculation: #​54509
  • docs: update 10-route-handlers.mdx: #​54605
  • Docs: Update Edge runtime and data revalidation information: #​54499
  • Update revalidatePath to revalidateTag: #​54633
  • docs: Add JS code snippets for forms: #​54577
  • docs: updates generateMetadata function signature: #​54638
  • docs: fix small typo: #​54656
  • Update revalidatePath.mdx: #​54631
  • Fixed typo in Building your application > 03. Rendering section: #​54764
  • (Docs) Add missing JS-Code, cookies function names updated accordingly.: #​54703
  • docs: clarify data type in Forms and Mutations section: #​54630
  • docs: Change Vite guide title: #​54774
  • docs: remove typo in use-selected-layout-segments.mdx: #​54767
  • chore: verify missing/invalid/private reproduction links: #​54724
  • docs: fix syntax error in i18n example code block: #​54749
  • docs: Add JS/TS code switchers to Middleware: #​54726
  • docs: define router instance in code block: #​54707
  • Fix typo in description of error.js: #​54933
  • docs: Minor formatting fix in Pages Router SSG: #​54915
  • docs: add maxDuration in API Routes config: #​54844
  • docs: add missing word in client components: #​54830
  • docs: Clarify the ability to access current route segments in layouts: #​53349
  • docs: Update Vercel YouTube channel url: #​54912
  • docs: Move general info about next.config.* to its index page: #​53542
  • docs: Fix typo in app/building-your-application/caching: #​54841
  • docs: Add template API reference: #​54938
  • Update eslint dependencies note in docs: #​55023
  • docs: Fix typo in getting-started/project-structure: #​55035
  • docs: fix typo: #​54973
  • docs: add missing quotation mark: #​54968
  • docs: Remove app reference on pages doc for runtimes.: #​55058
  • docs: example of generated nonce to use base64 encoding as per spec: #​55039
  • Update 01-server-components.mdx: #​55085
  • docs: fix nested list: #​55178
  • docs: use satisfies for TypeScript code blocks: #​55205
  • docs: satisfies follow up: #​55234
  • Fix typo: #​55245
  • docs: clarify setting cookies docs: #​55149
  • Update docs for revalidatePath fix: #​55083
  • Update route-segment-config.mdx for fix broken link: #​55212
  • docs: Add some App Router FAQs: #​55186
  • Update 03-forms-and-mutations.mdx: #​55386
  • docs: optimizePackageImports: #​55185
  • docs: Update streaming section.: #​55408
  • Add route groups example to revalidatePath doc: #​55543
  • chore: Fix heading hierarchy in revalidateTag documentation: #​55470
  • chore: replace issue triaing actions with nissuer: #​55525
Example Changes
  • Update Contentful example for App Router.: #​54205
  • set hostname to 0.0.0.0: #​54342
  • (Example) Add CMS Sitecore XM Cloud Example: #​54535
  • updated sitecore deploy button: #​54678
  • (Example) Update with-segment-analytics to use segmentio/analytics-next and app layout: #​52327
  • update dependencies: #​53334
  • example: Add elements.update() to ensure latest payment amount is reflected: #​54848
  • fix: Fix grammar issues on README.md: #​54921
  • Fix: slug type issue: #​54616
  • chore: upgrade playwright example: #​53584
  • Update Jest and Vitest example for App Router.: #​54989
  • examples: Update strict-csp example with better nonce: #​55131
  • Fix/security: #​55189
  • examples: upgrade @​makeswift/runtime from 0.2.2 to 0.10.13: #​55203
  • examples: update KeystoneJS version: #​55201
  • fix: upgrade recoil from 0.7.6 to 0.7.7: #​55222
  • chore(examples): upgrade @keystone-next/keystone: #​55210
  • fix: upgrade date-fns from 2.28.0 to 2.30.0: #​55274
  • fix: upgrade sharp from 0.29.3 to 0.32.5: #​55254
  • fix: upgrade react-native-web from 0.11.7 to 0.19.7: #​55221
  • fix: upgrade @​emotion/css from 11.10.0 to 11.11.2: #​55352
  • example: fix example error: #​54599
  • fix: examples/cms-keystonejs-embedded/package.json to reduce vulnerabilities: #​55354
  • Hotfix for missing application/json header in Prepr example: #​55517
  • Type Error on Event Type payment_intent webhook: #​55493
  • Correct spelling in playwright docs: #​55557
Misc Changes
  • Add test for using custom font in metadata image routes: #​54274
  • Update swc_core to v0.79.69: #​54190
  • docs: update a small typo in 02-app/01-building-your-application/06-optimizing/01-images.mdx: #​54311
  • update readme in nextjs testing: #​54322
  • add test case for CSP with bootstrap scripts and preinit modules: #​54348
  • Fix windows next-swc builds: #​54353
  • test: add case for marking _document with edge runtime: #​54316
  • Update timeout for release stats: #​54363
  • Update swc_core to v0.79.70: #​54368
  • chore(ci): add socket.yaml: #​54446
  • Update install-native script to avoid pnpm cache: #​54462
  • Fix failing TS test from new release: #​54523
  • Enable verbose logging for turbo in CI: #​54525
  • Update flakey image component tests: #​54526
  • Update runner labels for MR stats: #​54524
  • chore(ci): emit env vars that impact ci results: #​54534
  • Break-up install and build steps for MR stats: #​54536
  • Update release stats install/build executing: #​54576
  • Add missing install env for release stats: #​54581
  • modify bench scripts to not conflict with dev task: #​54600
  • Implement granular rust caching: #​54582
  • chore: update gitattributes with linguist-vendored: #​54683
  • Consider cargo config in granular cache key: #​54700
  • Updating Third party capital version. : #​54418
  • chore: label invalid issues: #​54826
  • chore: update triaging docs: #​54828
  • use pnpm for next-with-deps: #​54847
  • chore: fix autolabeler: #​54916
  • Update codeowners: #​54966
  • Update ready check for MR stats: #​55022
  • chore(ci): bump pnpm v8.6.11 to v8.7.1: #​54873
  • test: merge base path tests: #​55069
  • Update pull_request_template.md: #​55098
  • Reenable app-static usePathname tests: #​55065
  • enable all passing turbopack tests for CI: #​55100
  • test(nexttestsetup): teardown nextinstance gracefully: #​55144
  • tests(next-dev): migrate basic tailwind tests for turbopack: #​55118
  • test(fixture): improve finding ports to reduce flaky: #​55151
  • Test with latest node@18: #​54000
  • fix: upgrade listr2 from 5.0.5 to 5.0.8: #​55223
  • Update codeowners: #​55355
  • fix: added support for tests to add resolutions for deps: #​55398
  • Update swc_core to v0.83.12: #​55216
  • add test for turbopack refresh error: #​55447
  • fix inconsistency with pnpm lockfile: #​55440
  • chore: remove replay from issue template: #​55397
  • test(integration): fix --turbo tests fixture setup: #​55293
  • Disable flakey middleware-dev-error test: #​55539
  • test(turbopack): enable async storage tests: #​55413
  • docs: add bun run dev command to template readme for create-next-app: #​55504
  • chore(third-parties): replace rimraf with rm.mjs: #​55547
Credits

Huge thanks to @​ztanner, @​huozhi, @​icyJoseph, @​kdy1, @​timneutkens, @​feedthejim, @​nbhargava, @​shuding, @​lauthieb, @​leerob, @​styfle, @​tonskton, @​delbaoliveira, @​m4salah, @​gnoff, @​kwonoj, @​ijjk, @​dvoytenko, @​sloanesturz, @​balazsorban44, @​wyattjoh, @​wbinnssmith, @​dcporter44, @​Kikobeats, @​uzairali001, @​A7med3bdulBaset, @​sokra, @​ClementDreptin, @​vvo, @​Vector73, @​ah100101, @​chanyeinthaw, @​emiliosheinz, @​dikaio, @​indraantoor, @​steven-tey, @​krychaxp, @​smaeda-ks, @​janicklas-ralph, @​EdPutans, @​vinaykulk621, @​michaelangeloio, @​mateuszaliyev, @​lukebussey, @​jridgewell, @​Xvezda, @​Aryan9592, @​sadaffathali, @​mayank1513, @​ForsakenHarmony, @​jsteele-stripe, @​okoyecharles, @​rob-johansen, @​imageck, @​ecklf, @​Sylith1231, @​SonMooSans, @​rousan, @​robertwbradford, @​hiddenest, @​innowhat, @​sand4rt, @​feugy, @​ryota-murakami, @​hyeewooon, @​mewcoder, @​CSY54, @​csi-lk, @​daltonmcphaden, @​sidgaikwad, @​joulev, @​danaugrs, @​olingern, @​penberg, @​sdaigo, @​manovotny, @​arsenykruglikov, @​remorses, @​alexandreferreirafr, @​acdlite, @​li-jia-nan, @​wesleydebruijn, @​Kevintjuhz, @​ytkg, @​roigecode, @​hoop71, @​romeobravo, and @​padmaia for helping!

v13.5.0

Compare Source

v13.4.19

Compare Source

Core Changes
  • fix: invalid module transform for @headlessui/react: #​54206
  • chore: remove unnecessary type cast in dev-build-watcher: #​54221
  • fix process.env not being available in standalone mode: #​54203
  • Fix missing devPageFiles collection: #​54224
  • Add Route and LinkProps stub generics: #​54226
  • Use createClientModuleProxy from Flight Server: #​54232
  • Add default not found to loader tree of group routes root layer: #​54228
  • feat(image): add support for custom loaderFile when loader: default: #​53417
  • Fix renamed export of Server Actions: #​54241
  • Ensures App Router Link respects scroll-behavior: smooth when only hash is changed.: #​54243
Misc Changes
  • Update dd-trace used for internal tools: #​54214
  • (Fix)Broken upgrading.mdx link : #​54234
  • chore: skip CI run on forks: #​54219
  • chore(ci): bump cancel-workflow-action@0.11.0: #​54246
Credits

Huge thanks to @​opnay, @​styfle, @​timneutkens, @​ztanner, @​shuding, @​huozhi, @​vinaykulk621, @​balazsorban44, @​goguda, and @​coreyleelarson for helping!

v13.4.18

Compare Source

Core Changes
  • refactor: remove edge condition for module proxy path: #​54167
  • Remove unused variables: #​54149
  • chore: improve ts types for position in dev-build-watcher: #​54124
  • Turbopack: Strip relative path prefix when generating PageLoaderAsset: #​54040
  • Add size property to ReadonlySearchParams: #​53144
  • Assign default not-found boundary if custom not-found is not present for root layer only: #​54185
  • Allow range version for eslint config: #​53751
  • Automatically modularizeImports for the popular @​headlessui/react library: #​54188
  • fix bfcache restoration behavior: #​54198
Misc Changes
Credits

Huge thanks to @​huozhi, @​shuding, @​styfle, @​jridgewell, @​bencmbrook, @​cramforce, and @​ztanner for helping!

v13.4.17

Compare Source

Core Changes
  • fix(next/image): empty blur image when animated #​54028
  • Do not output pages 404 in tree view if app not-found is used: #​54051
  • Fix scroll bailout logic when targeting fixed/sticky elements: #​53873
  • Debug tracing: add updated modules and page to HMR span: #​53698
  • fix(next-swc): coerce mdxrs default options: #​54068
  • fix: don't add forceConsistentCasingInFileNames to tsconfig when ts version >= 5.0: #​51564
  • fix(47299): allow testing pages with metadata in jsdom test environment: #​53578
  • upgrade edge-runtime dependency: #​54117
  • Fix root not-found page tree loader structure: #​54080
  • chore: remove as any type cast: #​54074
  • chore: refactor to use fs.promises.rm(): #​54076
  • Refactor layout router creation in app-render: #​54126
  • chore(image): remove apple silicon workaround for versions older than node@16.5.0: #​54125
  • fix routing bug when bfcache is hit following an mpa navigation: #​54081
  • Tracing: add opt-in flag to send a subset of development traces to url: #​53880
  • fix(edge): override init when cloning with NextRequest: #​54108
  • OpenTel: remove the internal (ipc) fetched from traces in a non-verbose mode: #​54083
  • cleanup: remove unnecessary effect dep: #​54134
  • Next build: use exported handle_issues from turbopack: #​52972
  • node-web-streams: remove tee shim, use ReadableStream.tee: #​54079
  • fix: cookies().has() breaks in app-route: #​54112
  • Revert "fix(47299): allow testing pages with metadata in jsdom test environment": #​54160
Documentation Changes
  • fix missing ' in data-fetching/fetching-caching-and-revalidating: #​54058
Example Changes
  • Update Docker example to remove HOSTNAME: #​54102
Misc Changes
  • chore: hide "same on new version" without link: #​54048
  • chore(ci): small notes for the build steps: #​54073
  • chore: update lock bot wording: #​54099
  • Update swc_core to v0.79.59: #​54082
  • install-native.mjs: include packageManager field: #​54132
Credits

Huge thanks to @​balazsorban44, @​huozhi, @​ztanner, @​williamli, @​wbinnssmith, @​kwonoj, @​stefanprobst, @​feugy, @​timneutkens, @​kdy1, @​Kikobeats, @​styfle, @​dvoytenko, @​MaxLeiter, and @​devjiwonchoi for helping!

v13.4.16

Compare Source

Core Changes
  • Concept: test mode for Playwright and similar integration tools: #​52520
  • Turbopack: fix hiding node_modules warnings in error overlay.: #​54022
  • ci(next-swc): print glibc version when build: #​54026
  • Adjust internal action proxy export: #​54004
Documentation Changes
  • Update 05-client-side-rendering.mdx with latest tanstack query version: #​54009
  • Open Graph Image font declaration moved to correct place: #​53998
  • Update opengraph-image.mdx: Fix typo: #​54020
Misc Changes
  • Remove extra label from runner: #​54002
  • add standalone testcase for ipv6 hostnames: #​53999
  • release: add release log generation script: #​54006
  • test(ci): refine test suite name unique: #​54013
  • Leverage previous swc build images: #​54027
  • chore: mark build folder indexable: #​54029
  • Move turbo outside of build for docker swc builds: #​54035
Credits

Huge thanks to @​ijjk, @​ztanner, @​huozhi, @​lacymorrow, @​dvoytenko, @​kylemcd, @​kwonoj, @​tibi1220, @​wbinnssmith, and @​shuding for helping!

v13.4.15

Compare Source

Core Changes
  • Fix action failures due to state tree encoding: #​53655
  • Initial HMR Nexturbo API implementation: #​52950
  • Turbopack: add edge app routes : #​53387
  • Turbopack: Hide Turbo Engine internals: #​53007
  • add unit test case for next.rs api: #​53679
  • Fix not-found rendering in production with edge: #​53687
  • fix(next/image): don't call ReactDOM.preload if missing, such as jest: #​53443
  • Add docs page for uncaught DynamicServerErrors: #​53402
  • Consolidate Server and Routing process into one process: #​53523
  • fix: Update outdated transform imports lucide-react: #​53697
  • Update font data: #​53759
  • Add warnings for static generation bail outs: #​53761
  • Sort root entries per pageExtensions config for consistency: #​53769
  • improve error message for conflicting parallel segments: #​53803
  • Add changeFrequency and priority attributes to sitemaps: #​48484
  • Ensure we set cache-control: no-cache for actions: #​53824
  • Reuse RenderWorker type: #​53782
  • fix: normalize backslash in getStaticPaths() for windows: #​53876
  • Delete errorneous empty content length header: #​53843
  • Turbopack: more tests and bugfixes for next.rs api: #​53809
  • Add @heroicons/react to modularizeImports: #​53902
  • Turbopack: Fix debugging in napi for next-api: #​53889
  • Fix/match resource: #​53796
  • Use summary_large_image as twitter card if images present by default: #​53919
  • Turbopack: Emit whether server or client assets changed: #​53879
  • Limit sharp's concurrency: #​53385
  • enable @​vercel/og support for turbopack: #​53917
  • feat(image): DataURL placeholder support for : #​53442
  • Recover not found errors from flight data to render with proper boundary: #​53703
  • Update React to 18.3.0-canary-1a001dac6-20230812: #​53881
  • add "expect" to list of forbidden IPC headers: #​53947
  • Update swc runners config: #​53939
  • Better IPv6 support for next-server: #​53131
Documentation Changes
  • Update 11-middleware.mdx: Added Switcher: #​53977
  • Fix doc grammatical errors: #​53672
  • Fix a link in incrementalCacheHandlerPath.mdx: #​53718
  • Fix typo in data fetching documentation: #​53772
  • Docs: Add option for fetching data using route handlers - from the client: #​53793
  • docs: Add more information about Server Actions: #​53805
  • docs: document cache tagging mechanism: #​53806
  • chore(docs): add missing "try it out": #​53815
  • docs: Opting out of scrolling with next/link and useRouter.: #​53804
  • chore(docs): note cache-control header for preview/draft mode: #​53825
  • Include instructions for bun package manager: #​53590
  • Docs: Update confusing wording in intercepting routes: #​53854
  • (docs) Fixes Server Actions example: #​53920
  • fix typo: #​53908
  • Docs: fix pnpm command for saving dev deps (#​53937): #​53938
  • The extra word 'the' has been deleted: #​53951
Example Changes
  • [Examples] Update Example Prepr CMS: #​49224
  • Update to with-supertokens example app: #​53434
  • docs(with-stripe-typescript): Update README demo link: #​53662
  • (example) update github-pages example: #​52168
  • chore: add light/dark mode theme detection to image component example: #​53760
Misc Changes
Credits

Huge thanks to @​iamarpitpatidar, @​pythagoras-yamamoto, @​alexkirsz, @​sokra, @​jsteele-stripe, @​tknickman, @​gaojude, @​styfle, @​janicklas-ralph, @​huozhi, @​ijjk, @​vinaykulk621, @​balazsorban44, @​ztanner, @​timneutkens, @​ericfennis, @​JohnAdib, @​MiLk, @​kwonoj, @​delbaoliveira, @​leerob, @​LuudJanssen, @​lucasconstantino, @​davecarlson, @​colinhacks, @​shuding, @​jridgewell, @​jantimon, @​Banbarashik, @​ForsakenHarmony, @​kdy1, @​dvoytenko, @​arturbien, @​gnoff, @​hsrvms, and @​DuCanhGH, @​tim-hanssen, @​Aryan9592, and @​rishabhpoddar for helping!

v13.4.13

Compare Source

Core Changes
  • Improve internal web stream utils: #​53004
  • fix: Add Next-Url to http vary in consideration of intercept routes.: #​52746
  • update Turbopack: #​53098
  • Add app, error, and document entrypoints: #​53013
  • Turbopack: use edge environment in server-side rendering of client components too: #​53099
  • refactor(codemod): replace chalk with picocolors: #​53115
  • move webpack specific logic into a separate file: #​53114
  • feat(turbopack): emit MODULE_FEATURE telemetry from turbopack: #​52356
  • Fix not found hangs the build with overridden node env: #​53106
  • chore: update warning message from yarn add sharp to npm i sharp: #​53130
  • fix(edge): allow Request cloning via NextRequest: #​53157
  • chore: extract common get-validated-args: #​53165
  • Fix minimal basePath handling: #​53174
  • Updates @​typescript-eslint/parser to 6.1.0: #​52848
  • fix(next/image): washed out blur placeholder: #​52583
  • Handle basePath app-dir minimal case: #​53189
Documentation Changes
  • (Docs) add missing import.: #​52992
  • Fix formData code snippet in route handler docs: #​52532
  • docs: remove unneeded good to know section during installation: #​53078
  • docs: fix typo in 08-parallel-routes.mdx: #​53069
  • chore(docs): Extend the options for custom server init: #​52851
  • (Docs) Add missing import for useRef(): #​53015
  • (Docs) Remove FormData type on formData defined in .js file: #​53014
  • docs: fix codeblock for redirect: #​53120
  • chore(docs): client-side data fetching loading state: #​53164
Example Changes
  • feat: remove unused global variable: #​51767
Misc Changes
  • chore(ci): always run validate-docs-links action: #​53022
  • update install-native postinstall to use pnpm: #​53080
  • chore(ci): make validate-docs-links required: #​53123
  • chore(test): fix flaky tsconfig.json test: #​53132
  • chore(ci): fix validate-docs-links for non-MR: #​53129
  • Temporarily skip flakey action revalidate: #​53134
Credits

Huge thanks to @​vinaykulk621, @​Lantianyou, @​styfle, @​shuding, @​joulev, @​AkifumiSato, @​trigaten, @​HurSungYun, @​DevLab2425, @​sokra, @​alexkirsz, @​ztanner, @​leerob, @​SukkaW, @​kwonoj, @​huozhi, @​ijjk, @​balazsorban44, @​daniel-web-developer, @​ky1ejs, and @​arturbien for helping!

v13.4.12

Compare Source

Core Changes
  • Separate routing code from render servers: #​52492
  • Move Pages API rendering into bundle: #​52149
  • update Turbopack: #​52986
  • Turbopack: Refactoring module references: #​52930
  • Increase timeout for 404 tests: #​52998
  • Reland "Refine the not-found rendering process for app router": #​52985
  • Revert "Separate routing code from render servers (#​52492)": #​53016
Documentation Changes
  • "Clarify the 'Existing Projects' section of the TypeScript docs:: #​52944
  • Update 02-dynamic-routes.mdx: #​52975
  • chore(docs): fix broken link: #​53021
Misc Changes
  • Update to latest version of turborepo: #​52979
  • Update swc_core to v0.79.22: #​52945
  • chore(ci): add pnpm workspace for github actions: #​52976
  • Changed package manager for install-native.mjs to pnpm: #​52971
  • update CODEOWNERS config: #​53017
Credits

Huge thanks to @​ijjk, @​wyattjoh, @​sokra, @​kdy1, @​alexkirsz, @​styfle, @​ShaunFerris, @​syedtaqi95, @​Heidar-An, @​huozhi, and @​ztanner for helping!

v13.4.11

Compare Source

Core Changes
  • fix: add missing <preload> for next/image in App Router: #​52425
  • Support metadata exports for server components not-found: #​52678
  • feat(next-swc): try to fallback native bindings with MODULE_NOT_FOUND: #​52667
  • Turbopack: Vc and Turbo Engine type system improvements : #​51792
  • Fix runtime edge not-found handling: #​52754
  • fix: forward NavigateOptions in adaptForAppRouterInstance: #​52498
  • fix(output): do not slice pathname unless ends with .txt: #​52640
  • Fix tagsManifest initialization check: #​52776
  • Turbopack: Experimental dev app pages support: #​52680
  • Turbopack: move Asset::ident to more specific traits: #​52683
  • Fix tracking of ContextModule: #​52795
  • Set process.title for router and render workers: #​52779
  • fix Remove unnecessary await: #​52800
  • Revert "perf: improve URL validation performance": #​52818
  • Refactor the client entry plugin: #​52798
  • Turbopack: Add manifest generation to pages: #​52793
  • Turbopack: move references() to specific traits: #​52822
  • Update default moduleResolution in tsconfig.json from node to bundler: #​51957
  • Turbopack: Next.rs API improvements: #​52856
  • update turbopack: #​52899
  • Update vendor @​vercel/og: #​52897
  • Fixed:#​52853 Lacking 'color' attribute in IconDescriptor Metadata: #​52902
  • Support basePath with edge runtime for Custom App Routes: #​52910
  • improve error DX on pages with RSC build errors: #​52843
  • fix: allow smooth scrolling if only hash changes (pages & app): #​52915
  • add edge support for next.rs API: #​52885
  • Allow general language codes in the Metadata API: #​52920
  • Fix client reference manifest for interception routes: #​52961
  • Refine the not-found rendering process for app router: #​52790
  • app-router: prefetching tweaks: #​52949
  • Revert "Refine the not-found rendering process for app router": #​52977
Documentation Changes
  • Update mention of route handlers for forms: #​52781
  • (Docs) add missing js version for generateMetadata.: #​52763
  • docs : fix typo in React cache example: #​52787
  • chore(docs): Add mentioning of HOSTNAME env variable for standalone output: #​52804
  • Fix typo in docs: #​52815
  • Update 02-edge-and-nodejs-runtimes.mdx: #​52888
  • chore(docs): add Typescript statically typed links mention in link doc: #​52847
  • chore(docs): fix typo in generate metadata docs: #​52904
  • fix example component in MDX documentation: #​52753
  • wrong content for next.config.mjs for MDX Plugins: #​52738
  • Update 06-lazy-loading.mdx: Incorrect filename in Example on "Importing Named Imports": #​52932
  • Change "publically" to "publicly" in the routing docs: #​52966
Example Changes
  • examples: export force-dynamic from all dynamic routes: #​52916
Misc Changes
  • chore: add "please simplify reproduction" comment: #​52631
  • update job concurrency: #​52788
  • Lock node version to 18.16: #​52894
  • Update runs-on tags
  • chore: add GitHub Action to manage "+1" comments: #​52866
Credits

Huge thanks to @​styfle, @​huozhi, @​balazsorban44, @​kwonoj, @​alexkirsz, @​ijjk, @​Jeffrey-Zutt, @​timneutkens, @​vinaykulk621, @​Ryan-Dia, @​sokra, @​shuding, @​steppefox, @​hiro0218, @​rjsdnql123, @​feedthejim, @​fgiuliani, @​steven-tey, @​AntoineBourin, @​adamrhunter, @​darshanjain-entrepreneur, @​s0h311, @​wyattjoh, @​ztanner, @​djreillo, @​dijonmusters, and @​cassidoo for helping!

v13.4.10

Compare Source

Core Changes
  • Fix trailing slash with locale domain: #​52343
  • perf: use fs.readdirSync with withFileTypes: #​52340
  • Make get_client_chunking_context independent of context: #​51928
  • perf: use fs.opendir for better resource usage: #​52341
  • fix: metadatabase warning message: #​52363
  • perf: simplify getShortDynamicParamType on app-render: #​52355
  • fix: prevent infinite dev refresh on nested parallel routes: #​52362
  • turbopack: add incremental cache for node.js app rendering: #​52172
  • Refactor metadata og and twitter title to be always presented: #​52320
  • perf: reduce system calls on eslint plugin: #​52359
  • Turbopack: Use a different chunking context for web entry: #​52404
  • Temporarily revert change to pages render: #​52407
  • Remove integration tests now in vercel/turbo: #​52413
  • Update Rust nightly toolchain: #​51757
  • Cache concurrent ensurePage requests for the same page: #​52360
  • [turbopack]: Remove skipped integration tests: #​52421
  • Fix metadata layer webpack rule for server-only: #​52403
  • Override file based images with social images property: #​52416
  • Split the client reference manifest file to be generated per-entry: #​52450
  • fix(standalone): fixed output: "standalone" crashing build when there is no app/ page: #​51993
  • fix: add aws packages to default serverComponentsExternalPackages: #​52388
  • refactor: avoid unnecessary async scopes in eslint: #​52418
  • Ensure useParams return array for catch-all routes: #​52494
  • turbopack: Module Trait: #​52401
  • Fix tracking of client reference manifest: #​52505
  • perf: create an experimental bundled version of the next server: #​52206
  • Chore: Remove redundant intersection type: #​52453
  • perf: Refactor recursiveReadDirSync: #​52517
  • add version to function config manifest: #​52507
  • Turbopack: Source trait: #​52511
  • Update id handling for fonts: #​52559
  • feat(turbopack): support swc transform plugins : #​50401
  • feat(babel-loader): provide migration help message for babel config: #​52565
  • Support global-error for ssr fallback: #​52573
  • Fix ISR case with bot requests: #​52581
  • fix(next/jest): jest can not load server-only code: #​52393
  • Turbopack: App Router build POC: #​52036
  • Avoid loading Next.js config again in render workers: #​52587
  • Add more extensions to next-types-plugin for Node16/NodeNext: #​52562
  • feat(next-swc): report native bindings load err code: #​52570
  • Move App Pages rendering into bundle: #​52290
  • feat(turbopack): support native webp: #​52285
  • Set sizes prop to any for svg icons: #​52609
  • Turbopack: OutputAsset trait: #​52606
  • chore(deps): bump react@18.3.0-canary-9377e1010-20230712: #​52649
  • Ensure root layout only render once per request: #​52589
  • Fix bundle path normalization for /index routes: #​52650
  • Turobpack: Next.rs API (part 1): #​52259
  • Clean up promises after resolving: #​52656
  • Catch layout error in global-error: #​52654
  • Fix per-entry client reference manifest for grouped and named segments: #​52664
Documentation Changes
  • chore(docs): fix link to useSearchParams: #​52348
  • docs: Clarify create-next-app requires public GitHub URLs.: #​52367
  • remove unnecessary dot.: #​52387
  • fix metadata-related typo in MDX documentation: #​52446
  • docs: Simplify message in React essentials section.: #​52469
  • docs: Improve error handling docs for server-side errors.: #​52302
  • docs: Add Playwright/Cypress Discord links: #​52084
  • docs: Add Kuma to CSS-in-JS supported list.: #​52438
  • docs: clarify fetch request de-duplication: #​52100
  • docs: Update TypeScript plugin section for VS Code prompt: #​52111
  • docs: Improve hydration mismatch error guide.: #​52481
  • docs: add Supabase loader for next/image: #​52480
  • docs: fix the incrementalCacheHandlerPath: #​52124
  • fixed error #​52486 fetchUsers to fetchUser: #​52487
  • Update 08-parallel-routes.mdx: #​52419
  • docs: Add formData example for Route Handlers: #​52358
  • chore(docs): Typesafe metadata object: #​52252
  • docs: Update _app and _document: #​52479
  • docs: add CDN optimization as possible hydration error cause: #​52489
  • docs: correct TypeScript spelling on the home page: #​52500
  • chore(docs): fix a few typos in image loader docs: #​52508
  • docs: fix grammar on Server Actions: #​52556
  • Fixed grammar in 03-react-essentials.mdx: #​52597
  • docs: fix typo in CSS Modules Description: #​52599
  • docs: Fix typo in generate-static-params.mdx: #​52595
  • docs: move MUI to supported list: #​52584
  • docs: Add missing closing tag for react hydration error message.: #​52607
Example Changes
  • examples: Update Convex to latest version (0.19): #​52473
  • Update examples: counter.tsx - Don't need empty space: #​52576
Misc Changes
  • Update swc_core to v0.79.13: #​52371
  • chore(ci): fix turbo input path globs: #​52414
  • fix(create-next-app): click event blockage under 1024px by adjusting z-index: #​52074
  • chore: add label to locked threads: #​52497
  • fix: not-found.tsx with output: export: #​52526
  • use npm pack instead of yarn pack: #​52563
  • ci: skip build-native for docs only change: #​52571
  • Remove unnecessary body-parser: #​52580
Credits

Huge thanks to @​ijjk, @​anonrig, @​alexkirsz, @​gfgabrielfranca, @​styfle, @​ztanner, @​leerob, @​sokra, @​huozhi, @​Bitbbot, @​wyattjoh, @​kdy1, @​wbinnssmith, @​shuding, @​jridgewell, @​BrennanColberg, @​Nick-Mazuk, @​delbaoliveira, @​thomasballinger, @​lucgagan, @​nroland013, @​SonMooSans, @​jenewland1999, @​thorwebdev, @​jyunhanlin, @​darshanjain-entrepreneur, @​DuCanhGH, @​Gnadhi, @​yagogmaisp, @​carlos-menezes, @​balazsorban44, @​ryo-manba, @​timneutkens, @​feedthejim, @​vamcs, @​matepapp, @​SleeplessOne1917, @​ecklf, @​djreillo, @​kwonoj, @​gnoff, @​feugy, @​karlhorky, @​starunaway, @​FernandVEYRIER, @​Ryan-Dia, @​Terro216, @​anthonyshew, and @​suhaotian for helping!

v13.4.9

Compare Source

Core Changes
  • Reland "ReverseTopological -> AdjacencyMap"": #​52142
  • Change the Server Actions feature flag to be validated at compile time: #​52147
  • Fix modularizeImports transform of antd: #​52148
  • fix: next.config.js with unstable_getImgProps(): #​52153
  • update tests list to include all passing tests: #​52026
  • Support scroll: false for Link component for app router: #​51869
  • Memoize useRouter from next/navigation when used in Pages Router: #​52177
  • chore(deps): bump react 18.3.0-canary-1fdacbefd-20230630: #​52005
  • fix: infinite dev reloads when parallel route is treated a page entry: #​52061
  • disable flaky test cases: #​52184
  • Revert "chore(deps): bump react 18.3.0-canary-1fdacbefd-20230630": #​52192
  • update turbopack: #​52186
  • Update CustomModuleType import: #​52133
  • Skip build-time dynamic code checks for specific polyfills in the Edge runtime: #​52009
  • Update Turbopack: #​52198
  • Use base36 for the RSC query: #​52204
  • Fix dynamicParams check in TS plugin: #​52211
  • Fix tree shaking for image generation module: #​51950
  • fix env reloading for turbopack: #​52194
  • Remove zod from require-hook: #​52197
  • Optimize watch ignore: #​52238
  • Remove the outdated error for find page dir: #​52274
  • Disable flakey turbopack env test: #​52295
  • skip hot reload sync event for applying hmr updates: #​52270
  • Handle 409s in fetch cache: #​51652
  • chore: remove experimental appDir: true from tests: #​52291
  • fix: correct modularizeImports for antd & ant-design/icons: #​52169
  • Update checksum algorithm to SHA1: #​52102
  • chore(deps): bump react to 7118f5d: #​52282
  • Update eslint-plugin-react-hooks to 5.0.0-canary-7118f5dd7-20230705: #​52275
  • Named page chunks: #​51921
  • chore: fix next dev turbopack benchmark: #​52328
  • Fix to use keep-alive in standalone mode: #​50221
  • Use 127.0.0.1 as the default host for the standalone server #​52283
Documentation Changes
  • Update generate-image-metadata.mdx: #​52230
  • docs(mdx): Add clearer instructions on the storage location of mdx-components files.: #​52187
  • docs: Improve some of the error messages pages.: #​52271
  • fix wrong Link import: #​52298
  • Document redirect parameters: #​51987
  • Add manual installation instructions for pages: #​51995
  • Update 10-router-handlers.mdx: #​52098
  • Add app router example: #​52066
  • doc: update typo in instrumentation page: #​52311
Example Changes
  • Remove legacy head.js in examples: #​52292
Misc Changes
  • Update test result step: #​52154
  • Update result job condition: #​52155
  • fix workflow needs: #​52180
  • chore: update issue template option to "App Router": #​52287
  • msic: disable otel esm test: #​52325
  • Test Progressive Enhancement of Server Actions: #​52062
  • fix(create-next-app): add missing metadata type: #​52299
Credits

Huge thanks to @​huozhi, @​shuding, @​ijjk, @​styfle, @​sokra, @​timneutkens, @​ztanner, @​alexkirsz, @​simonswiss, @​feikerwu, @​lubakravche, @​leerob, @​masnormen, @​bottxiang, @​acdlite, @​delbaoliveira, @​feedthejim, @​mhmdrioaf, @​tyler-lutz, @​sebmarkbage, @​vincenthongzy, @​yigithanyucedag, and @​doinki for helping!

v13.4.8

Compare Source

For a more detailed summary of recent performance improvements around compilation, please see this comment.


Core Changes
  • Auto fill title/images/description from openGraph for twitter if missing: #​51453
  • Route Module Updates: #​51433
  • fix(typo): rename var name in comment: #​51531
  • feat: support for numeric separators in revalidate config: #​51438
  • Support response aborting: #​51594
  • Next Build Turbo POC (2): #​51546
  • bugfix: route interception with dynamic paths: #​51526
  • add edge rendering for app dir for Turbopack: #​51631
  • Pages Error Route Module Rendering: #​51374
  • Revert "add edge rendering for app dir for Turbopack": #​51659
  • Update cache handling in draft mode: #​51663
  • Add esm entry for next/server and alias @​vercel/og: #​51651
  • Hot reload when conflicted pages detected and when conflicts are resolved: #​51516
  • Fix standalone rendering for unmatched _next routes: #​51611
  • add edge rendering for app dir for Turbopack: #​51666
  • Revert "Update swc_core to v0.78.15": #​51716
  • type check tests (and convert next-test-utils.js to ts) : #​51071
  • Add default modularizeImports that breaks up @​mui/icons-material, @​mui/material, date-fns, lodash, lodash-es, ramda, react-bootstrap: #​50900
  • Move Pages render out of server: #​51678
  • Add url to patched fetch response: #​51665
  • Correct Flight client's condition for SSR and createServerReference: #​51723
  • Update manual basePath with trailingSlash: #​51726
  • feat: add body parser limit for server actions: #​51104
  • fix: handle 404 errors in HotReload client: #​51637
  • Add critical next config value to github info: #​51715
  • Fix not-found handling in turbopack: #​51735
  • Allow matching against user-agent in rewrites that match headers: #​48271
  • revalidate should be more than a boolean: #​51627
  • Rename serverActionsSizeLimit as serverActionsBodySizeLimit and add docs: #​51755
  • Fix HMR for missing dependencies in next-app-loader: #​51778
  • fix: interception rewrites should support catch-all segments: #​51787
  • Remove execSync: #​51785
  • Remove unncessary source matching from loader: #​51775
  • Fix NODE_OPTIONS='--inspect' not running expected: #​51467
  • Fix tree-shaking for metadata image functions on the Edge runtime: #​51762
  • Add WATCHPACK_WATCHER_LIMIT=20: #​51826
  • Simplify Flight manifest plugin: #​51589
  • performance: don't compile on hover on dev: #​51830
  • Refactor next-font-manifest-plugin: #​51835
  • feat: Introduce eslint rule for async client components: #​51547
  • fix: webpack target should match node engines: #​51852
  • Enable compression for Webpack's cache during dev: #​51851
  • perf: only require nextjs-require-cache-hot-reloader related API in dev mode: #​51834
  • fix: build stats should properly report root page size in appDir: #​51854
  • Optimize client entry creation: #​51849
  • Fix white screen when navigating to pages in certain cases: #​51866
  • Fix missing request body in DELETE and OPTIONS Route Handlers: #​51874
  • make stdout blocking on macos: #​51883
  • Fix windows fill metadata dynamic path: #​51885
  • Support relative url for openGraph.url and itunes.appArgument: #​51877
  • feat(next-dev): add a new experimental flag: #​51895
  • next/node-polyfill-web-streams: fix web stream polyfill for Node v16: #​51901
  • node-polyfill-web-streams: require from stream/web instead of stream: #​51906
  • Add retries and clear message to font fetching: #​51890
  • performance: enable minification for the server bundles: #​51831
  • Simplify module context invalidation: #​51905
  • Reduce the client bundle size of App Router: #​51806
  • fix turbopack mdx import map: #​51881
  • error recovery during turbopack hydration: #​51882
  • Ensure edge runtime Pages API/App Route handlers AbortSignal aborts on client disconnect: #​51727
  • adds payload to server-external-packages.json: #​51933
  • fix(next): improve error for using outside of document: #​45056
  • Support react profiling option for app dir client components: #​51947
  • Add cpu-features to server external packages: #​51946
  • Add unstable_getImgProps export from next/image: #​51205
  • Fix eslint async client component: #​51952
  • fix modularizeImports with @​mui/material: #​51953
  • Fix entrypoints.get and entrypoints.stream from turbopack: #​50733
  • Optimize next-app-loader file resolution: #​51924
  • fix(typedRoutes): added missing anchor props to LinkRestProps: #​51977
  • Update turbopack and swc_core to v0.78.24: #​51943
  • export config into functions config manifest: #​51700
  • Add shared input filesystem: #​51879
  • Make sure DevEx can approve docs MRs / Remove Spaces: #​51996
  • Filter invalid image descriptor from metadata images: #​51992
  • Fix NextRequest constructor parameters: #​52001
  • Update edge-runtime to latest: #​51944
  • Increase time and size windows for cached on-demand entries: #​52019
  • Avoid disposing middleware and instrumentation hook during development: #​52022
  • Update displayed error message for rsc case: #​52004
  • Refactor some loaders to be synchronous: #​51997
  • Optimize inlined Flight data array format: #​52028
  • Revert "Optimize inlined Flight data array format": #​52039
  • Refactor ContentSources to RouteTree: #​51660
  • Fix font missing during server HMR: #​52033
  • Enable Pages Route Module Rendering for Edge: #​51894
  • Ensure non-implicit unstable_cache tags are propagated: #​52058
  • Delegate static analyzation task to the router worker: #​52104
  • Add default modularizeImports for antd / ant-design/icons / ahooks: #​52031
  • Avoid unnecessary resolveExternal calls: #​52053
  • Remove EnvironmentIntention: #​51965
  • fix: env hot reload for RSC pages: #​51930
Documentation Changes
  • added good to know in /app based pages and layout in nested layouts: #​51558
  • docs: Add Panda CSS to CSS-in-JS docs.: #​51484
  • Add docs for src directory to include tailwindcss: #​51619
  • Add page router documentation: #​51626
  • docs: Add 'DO NOT EDIT' comment: #​51600
  • Fix validator action breaking when MRs originate from forks: #​51668
  • docs: fix generated app icons file extensions: #​51562
  • Fix typo in 01-typescript.mdx: #​51669
  • fix(docs): added missing dot: #​51718
  • Update 01-images.mdx: #​51532
  • Add app to tailwind.config.js in fonts documentation.: #​51671
  • Update docs for Google Analytics 4: #​51405
  • Fix Typo in Optimizing - Open Telemetry docs: #​51729
  • docs: improve minor grammar mistake: #​51758
  • fix: typo into 03-css-in-js.mdx page: #​51761
  • docs: Add updated next/image video.: #​51790
  • docs(deploy): fix GitHub Actions cache key: #​51789
  • Fix usage of article "an" before a consonant sound: #​51803
  • Update 10-router-handlers.mdx: #​51850
  • [docs] fix angle bracket in mdx: #​51920
  • [docs] Replace the term "hole" with "slot": #​51919
  • [docs] fix curly brackets in mdx: #​51916
  • Add separate links in shared documentation: #​51733
  • Fix run-on sentence: #​51956
  • docs: make custom image loader a client component.: #​51858
  • docs: clarify reactStrictMode: true by default: #​51931
  • Remove unnecessary mention of scroll false: #​51964
  • Update next lint section: #​51898
  • Docs: Fix broken link: #​51991
  • chore(docs): explain NODE_ENV environment variable: #​52003
  • fix(create-next-app): consolidate messages to "Would you like to use": #​52011
  • Docs: Fix missing typings for typescript example: #​52076
  • docs: Fix broken link: #​52092
Example Changes
  • examples: improve with-supabase example: #​51442
  • examples: add missing supabase-js dependency for with-supabase example: #​51703
  • docs: update with-next-translate example using appdir: #​51720
  • fix some issues on examples/app-dir-i18n-routing: #​51576
  • chore(examples): relax pinned versions to fix npm install fail due to peer deps issue: #​51636
  • Avoiding try-catch block on examples/app-dir-i18n-routing: #​51786
  • [examples] Update styling for with-supabase example: #​51751
Misc Changes
  • chore: make next/src/build files indexable on github: #​51647
  • fix lockfile: #​51650
  • Remove the 'notify' modifier on .vercel.approvers: #​51655
  • Move the Next.js team back to github codeowners: #​51657
  • Revert "[Docs] Fix validator action breaking when MRs originate from …: #​51674
  • Update swc_core to v0.78.15: #​51269
  • Update link validator: use checks, fail on MR from forked repo: #​51706
  • Update page.tsx tw className: #​49040
  • Update needs for build and deploy: #​51731
  • Ensure we run cargo-integration on next change: #​51736
  • Update swc_core to v0.78.24: #​51857
  • Revert "Update swc_core to v0.78.24": #​51940
  • Update codeowners: #​51935
  • lint fix
  • Ensure metadata test is not affected by other tests: #​51973
  • Remove test skip: #​51988
  • Loosen metatdata test matcher: #​52007
  • chore(script): improve markdown changelog output in sync-react.js: #​52052
  • chore(script): fix typo in sync-react.js pull request url: #​52057
  • fix app-hmr-changes.test.ts by updating next-tweet: #​52046
  • link validator: log broken links for MRs from forks: #​51963
  • Renable flaky tests disabled before: #​51680
Credits

Huge thanks to @​huozhi, @​wyattjoh, @​dijonmusters, @​danger-ahead, @​bre30kra69cs, @​leerob, @​Yash-Singh1, @​jridgewell, @​alexkirsz, @​ztanner, @​sokra, @​krmeda, @​tyler-lutz, @​ijjk, @​delbaoliveira, @​bigyanse, @​kdy1, @​2-NOW, @​ForsakenHarmony, @​Mingyu-Song, @​morganfeeney, @​timneutkens, @​aralroca, @​nickmccurdy, @​adamjmcgrath, @​shuding, @​devjiwonchoi, @​angel1254mc, @​cxa, @​ibash, @​mohanraj-r, @​kevinmitch14, @​iaurg, @​steebchen, @​Cow258, @​charlesbdudley, @​feedthejim, @​tyhopp, @​Drblessing, @​styfle, @​kwonoj, @​MaxLeiter, @​milovangudelj, @​SukkaW, @​jacobsfletch, @​JoshuaKGoldberg, @​zignis, @​ChristianIvicevic, @​mrxbox98, @​oliviertassinari, @​balazsorban44, @​fsansalvadore, @​DuCanhGH, @​tvthatsme, @​gnoff, and @​SonMooSans for helping!

v13.4.7

Compare Source

Core Changes
  • Route Module Updates Redux: #​51373
  • Lock down server IPC address: #​51378
  • Revert "Route Module Updates Redux": #​51409
  • Fix bundling of Server Actions: #​51367
  • Fix pnpm lock: #​51503
  • router: add layout and other file supports to parallel routes: #​51413
  • Next Build Turbo POC: #​49942
  • add edge rendering for app dir for Turbopack: #​50830
  • Fix shared action module in two layers: #​51510
  • Revert "Next Build Turbo POC (#​49942)": #​51538
  • Fix font styles on react dev overlay: #​51518
  • fix typo in x-next-revalidate-tag-token header: #​51432
  • Add docs links to RSC errors: #​51557
  • Moved new line to warnOnce call: #​51552
  • Update id env prefix: #​51588
  • router: support layout/special files as direct children of parallel routes: #​51604
  • use env var to switch next.js to turbopack mode: #​51353
  • Revert "add edge rendering for app dir for Turbopack": #​51617
  • Ensure upgrade request has request meta: #​51590
  • Revert "Fix standalone not found": #​51506
Documentation Changes
  • docs: Add streaming AI example.: #​51382
  • docs: remove copy mentioning appDir as an experimental feature: #​51403
  • examples: update with-supabase example to App Router: #​51335
  • Fix typo in image alt: #​51487
  • docs: add better examples to next/image docs.: #​51457
  • Go directly to caching section: #​51501
  • fix(typo): add missing word: #​51490
  • fix(typo): add missing comma: #​51489
  • Remove duplicate bullet point in app router migration docs: #​51440
  • fix: missing come: #​51437
  • Linted MDX: #​51530
  • docs: Fix typo: #​51517
  • Migrate validate links script from next-site and setup GitHub action: #​51365
  • Remove extra word in env key error: #​51512
  • Remove duplicate word in 11-draft-mode.mdx: #​51580
  • Broken link at 01-static-and-dynamic-rendering.mdx: #​51582
  • refactor tests for readability: #​51051
Example Changes
  • Upgrade with-redux example to app router: #​49994
Misc Changes
Credits

Huge thanks to @​wyattjoh, @​ijjk, @​dvakatsiienko, @​leerob, @​kwonoj, @​nickmccurdy, @​brunoeduardodev, @​dijonmusters, @​shuding, @​tyler-lutz, @​huozhi, @​feedthejim, @​alexkirsz, @​sonam-serchan, @​vicsantizo, @​leodr, @​wiscaksono, @​sokra, @​delbaoliveira, @​ztanner, @​hustLer2k, @​joshuabaker, and @​ForsakenHarmony for helping!

v13.4.6

Compare Source

Core Changes
  • Fix windows metadata slashes: #​51088
  • Do not merge chunkGroups' CSS files: #​51103
  • Add unique search query for RSC requests to be cacable on CDN: #​50970
  • add turbopack integration tests to CI: #​50904
  • Add option for debugging CPU usage: #​51174
  • Prefer module fields for RSC server layer: #​51179
  • Update next/head warning to link to the correct docs page: #​51013
  • Revert "Do not merge chunkGroups' CSS files": #​51193
  • fix: helpful error when output: export and next export -o: #​51191
  • Strip _rsc query for navigation between app and page: #​51195
  • Fix standalone not found: #​51172
  • fix(cli): add all available options to cli commands, format them consistently: #​48708
  • update storybook example (copy from vercel/vercel): #​50865
  • chore: remove useless duplicate code: #​50705
  • fix: app router hash scrolling should respect scroll-padding: #​51268
  • Fix build error about trace file and edge route: #​50808
  • chore(router): fix typo in comment: #​50581
  • Add mikroORM to external package list: #​50487
  • [docs] Clarify that merely changing extension does not load .md f…: #​49785
  • Correct build workers perf issue: #​51271
  • Remove edge functions tracking in dev server: #​51122
  • app router: fix double fetch on prefetch={false}: #​51292
  • Invalidate client cache when cookies have changed in Server Actions: #​51290
  • feat(turbopack): enable sassOptions: #​51259
  • Route Module Cleanup: #​50936
  • Validate i18n locale domain: #​50220
  • chore: add dark mode for dev overlay: #​48601
  • chore: update next/font/google font list: #​49969
  • fix: Incorrect build size outputs for app dir: #​50768
  • Simplify server CSS handling: #​51018
  • Allow configuring analyzerMode in bundle-analyzer: #​47468
  • Revert "Prefer module fields for RSC server layer": #​51316
  • Fix Server Actions compiler: #​51318
  • Revert "Route Module Cleanup": #​51322
  • test(next-dev): hard fail if next-dev runs with turbopack intenral flag: #​51308
  • Revert "test(next-dev): hard fail if next-dev runs with turbopack intenral flag": #​51327
  • Update Next.js code owners: #​51319
  • Fix CSS deploy id case: #​51325
  • Update turbopack: #​51336
  • Fix shared layer bundling in Edge Runtime: #​51348
Documentation Changes
  • Update 01-images.mdx: #​51133
  • Update next-image-unconfigured-host.md with correct Remote Patterns Documentation link to new docs: #​49750
  • Fixes the link from components/fonts to api/fonts: #​51169
  • Docs: Fix useSearchParams link: #​51151
  • docs: Improve Actions docs.: #​51145
  • docs: clarify usePathname usage as client hook.: #​51146
  • Fix a typo: #​51176
  • docs: fix prettier error: #​51182
  • Update static assets page to filter out information: #​51180
  • Makes codeblock language and filename extensions consistent: #​51056
  • Fix a mistake URL in "docs/generate-metadata.mdx/metadataBase": #​51199
  • Add separate lines to eslint prompt in 02-eslint.mdx: #​51143
  • [Docs][CSS-in-JS]: Update Vanilla Extract link: #​51192
  • Fix typo on strategy: #​51189
  • app-icons: correct valid route segments for icon/favicon/apple-icon : #​51188
  • docs: fix typos: #​51185
  • Adds Note to Good to know consistency: #​51080
  • docs: fix prettier lint: #​51222
  • [docs] Add missing Edge Runtime APIs: #​51224
  • docs: Add Tolgee to internationalization section: #​49754
  • Clarify the limitations of NEXT_PUBLIC_: #​49105
  • Update 02-fonts.mdx: #​51249
  • Fix middleware documentation: #​48876
  • docs: fixed a typo in parallel routes: #​51267
  • Update module-path-aliases.md: #​43592
  • CSS concatenation order matches the import order: #​39889
  • Fix broken link: #​51281
  • Fix broken links: #​51285
  • Update images.mdx: #​51275
  • Docs: Remove extra word in 03-scripts.mdx: #​51304
  • Update example of Server Actions HoC: #​51299
  • Adds env suggestions: #​51312
  • docs: fix the url of router event: #​51339
Example Changes
  • Fix with typescript stripe example fixes #​50541: #​50574
  • fix: cypress component testing - fixes #​50283: #​50303
  • fix deprecated configureStore in with-redux-saga example: #​50342
  • Show how to utilize the provided .env file in the docker-compose file: #​50712
  • update(examples): Update with-sentry example: #​47855
  • Update Player.tsx to improve code readability and styling.: #​50275
  • Update Docker examples to use Compose v2 command: #​51134
  • with-facebook-pixel: new implementation with app folder: #​49880
  • change strapi example to latest one - fixes #​51332: #​51334
  • Auth0 V2 migration update: #​45302
  • examples: migrate with-elasticsearch to TypeScript: #​44842
Misc Changes
  • Fix getting last stable release stats: #​51106
  • ci(workflow): consolidate bytesize upload workflow: #​51110
  • ci(workflow): enable test trace upload: #​51107
  • Increase remote cache timeout for swc builds: #​51270
  • Update flakey rsc streaming test: #​51274
  • fix trigger release step
  • Update flakey build output test: #​51307
  • Skip cargo bench job on release: #​51311
  • Ensure swc is copied for release stats: #​51315
  • Update flakey deploy tests: #​51314
  • Update e2e deploy tests to continue: #​51321
Credits

Huge thanks to @​ijjk, @​huozhi, @​kwonoj, @​shuding, @​shozibabbas, @​omarhoumz, @​jamespearson, @​tristndev, @​sokra, @​leerob, @​AldeonMoriak, @​delbaoliveira, @​manovotny, @​styfle, @​mirismaili, @​tyler-lutz, @​SuttonJack, @​jeremydouglas, @​MaxLeiter, @​Kikobeats, @​JanCizmar, @​mltsy, @​WilderDev, @​Guilleo03, @​Willem-Jaap, @​escwxyz, @​wiredacorn, @​Ethan-Arrowood, @​BaffinLee, @​ztanner, @​greatSumini, @​ciruz, @​kijikunnn, @​DustinsCode, @​riqwan, @​joostdecock, @​nikolovlazar, @​Bowens20832, @​JohnAlbin, @​timneutkens, @​feedthejim, @​wyattjoh, @​gidgudgod, @​maxproske, @​dunklesToast, @​yyuemii, @​mPaella, @​mknichel, @​niko20, @​jyunhanlin, @​mkcy3, and @​valentinpolitov for helping!

v13.4.5

Compare Source

Core Changes
  • Fix static metadata routes runtime when root layout is in edge runtime: #​50351
  • Ensure App Router and Pages Router modules can't share chunks: #​50327
  • Fix CJS optimizer: #​50376
  • fix: edge runtime with next/legacy/image: #​50343
  • Next.js Turbo build: turbopack-ecmascript-runtime and ChunkData: #​50375
  • fix: eslint not ignoring "/app": #​50261
  • Pages Route Module: #​50070
  • Upgrade vendored @​vercel/og: #​50395
  • Fix runtime:edge with large next.config.js: #​50396
  • Rename header conversion functions: #​50389
  • Refactor internal modules: #​50338
  • Add new build and test workflow: #​50436
  • Add cache-control header on 304 response: #​50408
  • App Router: fix relative query/hash handling in next/link and router push/replace: #​49521
  • Revert "land: Include charset=utf-8 with x-component Content-Type header": #​50472
  • Optimize Next.js bootup compilation: #​50379
  • Fix CSS duplication related problems: #​50406
  • update swc_core and turbopack: #​50519
  • Fix global SCSS on Node.js <= 14: #​50185
  • [edge] bump @​edge-runtime/* package suite: #​49092
  • packages/font: run update-google-fonts script: #​50608
  • [turbopack]: Fix HEAD requests: #​50366
  • Add experimental id handling: #​50470
  • fix @vercel/turbopack-node types (and more turbopack updates): #​50605
  • Add new Google-InspectionTool token to known bot UA list: #​50467
  • Ensure user-installed opentelemetry package has the minimal required version: #​50554
  • Remove cssFiles field: #​50610
  • Perf: reduce metadata RSC payload: #​50678
  • Fix image loader file emission path for edge runtime: #​50683
  • fix: a11y issues in the overlay component (HMR): #​49782
  • next/font: tolerate missing unused fields in capsize map: #​50708
  • fix: conditional cookies in draft mode: #​50660
  • Optimize next-app-loader resolving speed: #​50745
  • Improve compile time on large application: #​50792
  • fix(next-swc): reenable filesystem cache: #​50651
  • Update fetch dynamic error handling: #​50822
  • Shrink the react key size in metadata RSC payload: #​50739
  • Bail out of 404 page when favicon.ico doesn't exist: #​50795
  • Pages Route Module Rendering: #​50404
  • upgrade edge-runtime dependency: #​50636
  • Update id config handling: #​50847
  • [turbopack]: Use tip-of-branch for benchmarks: #​50615
  • Fill basic twitter metadata with opengraph when missing: #​50854
  • Add layer to module trace: #​50851
  • Add additional font-loader spans for tracing: #​50889
  • Update react to latest versions: #​50604
  • fix: App Router with assetPrefix: /: #​49622
  • Polish error page styling: #​50916
  • Update next-swc handling for MR stats: #​50933
  • Add experimental caseSensitiveRoutes config: #​50869
  • update turbopack: #​50819
  • Revert "update turbopack": #​50942
  • Fix shorthand prop wrongly handled in the Server Actions compiler: #​50937
  • Revert "Revert "update turbopack"": #​50947
  • Update codeowners to use Vercel Spaces: #​50841
  • Drop the chunks field in the client manifest for SSR: #​50959
  • Invalidate prefetch cache when a tag or path has been revalidated on the server: #​50848
  • Bump @​types/node: #​50940
  • Pick esm main fields and condition names first for RSC server layer: #​50548
  • Bump to typescript@5.1: #​50557
  • Move required chunk collection to the upper level: #​50983
  • Upgrade webpack to 5.86.0: #​50992
  • Turbopack next/font/google: Use capsize's xWidthAvg to compute fallbacks: #​50878
  • Fix usage of router.refresh() with Draft Mode in App Router: #​50941
  • chore: mark forceOptimisticNavigation as internal: #​47905
  • Fix rsc payload fetch failures due to state tree encoding: #​51017
  • edge: use JSON parse instead of inlining the manifests objects: #​50960
  • Fix esm module import warning for middleware loader: #​51014
  • Updates prettier to latest version.: #​51000
  • Ensure headers instance is serialized: #​51047
  • Ensure id handling applies for dynamic import in pages: #​51049
  • Avoid server insertion react key warning: #​51053
  • fix: verbatimModuleSyntax: true support in tsconfig.json: #​48018
  • Update app router revalidate handling on deploy: #​51062
  • Apply optimization to middleware when using babel: #​51067
  • fix: moduleResolution: bundler support in tsconfig.json: #​51065
  • Fix another case with app router revalidation: #​51076
  • Remove redundant condition: #​51070
Documentation Changes
  • [Next Docs] Migrate new docs from next-site to Next.js repo: #​50701
  • fix: add missed / at useSelectedLayoutSegment at App routing/Pages and Layout: #​50956
  • Adds missing async to Opengraph Image code example.: #​50990
  • docs: Correct useFormStatus to be a client component: #​50991
  • Update create-next-app docs: #​50981
  • Update 12-colocation.mdx: #​50975
  • Add appDir-specific guidance for next-router-not-mounted error: #​50076
  • Adds missing JavaScript codeblock in Opengraph Image API reference: #​50996
  • Update 10-router-handlers.mdx - Switcher Created + Small Syntax Improvement: #​51003
  • Update 02-eslint.mdx: #​50986
  • Fix typos in 01-contribution-guide.mdx: #​51006
  • fix revalidateTag import: #​51005
  • Fix Typo in Metadata API Description: #​51024
  • Clarify a few things about the instrumentation.ts file: #​51034
  • Add section on how to preview docs changes on VSCode: #​51019
  • Adds the "why" for next/image optimization: #​51066
  • Remove html from summaries: #​51008
  • Removes PORT from .env concatenation example: #​51063
  • Adds missing and in How to Use These Docs section: #​51058
  • docs: Clarify manual graceful shutdown in dev server: #​51078
  • Update 03-linking-and-navigating.mdx: #​51084
  • Fixed phrasing (extra verb): #​51054
Example Changes
  • Update Vanilla Extract Example: #​50394
  • Added Azure Cosmos DB started code, containing a minimal app and README.md: #​49128
Misc Changes
  • Update build and test workflow branch
  • Update workflow cancel handling: #​50442
  • Update env in new workflow
  • Break up large test suites: #​50458
  • Update flakey rsc manifest test: #​50506
  • disable test case for Turbopack: #​50530
  • chore: Update swc_core to v0.76.37: #​50311
  • Remove old CI workflow: #​50584
  • Update test concurrency: #​50588
  • Ensure final workflow job always runs: #​50589
  • Update telemetry failure logs: #​50601
  • Fix required check job: #​50620
  • Ensure swc builds are triggered eagerly: #​50632
  • chore: Enable share-generics: #​50673
  • ci(workflow): allow to trigger native builds manually: #​50703
  • Add hello-world test for pages and app: #​50780
  • ci(workflow): enable datadog traces for the tests: #​50619
  • Revert "ci(workflow): enable datadog traces for the tests": #​50815
  • ci(workflow): upload Turbopack bytesize to datadog pipeline: #​50600
  • change(create-next-app): Get-pkg-manager logic change.: #​50372
  • Update MR stats next-swc build: #​50824
  • add auto labeling for edge team: #​50842
  • Add turbo summary artifact for swc builds: #​50857
  • Update MR stats workflow: #​50853
  • Optimize cloning for MR stats: #​50859
  • ci(workflow): loosen condtions for uploading turbopack bytesize: #​50820
  • Add ignores to fix jest-haste failures: #​50875
  • better rust setup in CI: #​50905
  • remove unused dev dep ts-node: #​50939
  • fix rust install being skipped when it shouldn't be: #​50946
  • [Next Docs] Update Git Workflow: #​50579
  • ci(workflow): enable test trace again: #​50817
  • Only upload turbopack metrics on cache miss: #​50945
  • Fix workflow check
  • Fix windows build check
  • Add corepack env for linkPackages: #​50973
  • Add test for hidden form fields at the beginning of a Server Action form: #​50978
  • Add max job timeout for build workflow: #​50998
  • chore: pin to npm@9.6.7: #​51044
  • chore: drop unused @webassemblyjs: #​51045
  • chore: remove skip to renable tsconfig tests: #​51061
  • Update response cache test: #​51072
  • ci(workflow): generate run summary for all build targets: #​51057
  • Fix race condition with publish: #​51105
Credits

Huge thanks to @​huozhi, @​ijjk, @​timneutkens, @​shuding, @​styfle, @​alexkirsz, @​devjiwonchoi, @​wyattjoh, @​SuttonJack, @​sokra, @​smaeda-ks, @​keyz, @​kdy1, @​Schniz, @​MaxLeiter, @​jridgewell, @​ForsakenHarmony, @​koba04, @​wbinnssmith, @​kwonoj, @​vinaykulk621, @​Kikobeats, @​gnoff, @​delbaoliveira, @​jiwooIncludeJeong, @​manovotny, @​ethanmick, @​tyler-lutz, @​didemkkaslan, @​itsmingjie, @​v1k1, @​thepatrick00, @​taylorbryant, @​kvnang, @​balazsorban44, @​alainkaiser, @​feedthejim, @​simPod, @​svarunid, and @​pauek for helping!

v13.4.4

Compare Source

Core Changes
  • test(turbopack): script to sync latest test lists: #​50008
  • Pages Module Transition: #​49962
  • Server Actions: Fix member expr in closure captured values: #​50020
  • Error in next export when serverActions is enabled: #​50039
  • [turbopack]: Update renamed SubpathValue: #​49636
  • Fix default metadata is missing in root not-found: #​50044
  • Always defer close tags to be the suffix of body stream: #​50056
  • Fix types of cookies(): #​50052
  • Fix client references extraction of CJS exports analysis: #​50059
  • Add x-forwarded-* headers to turbopack renders: #​50012
  • Remove node-sass from peerDependencies: #​50065
  • Add optional generic parameter to NextResponse: #​47526
  • feat(turbopack): initial sass-loader support: #​49882
  • update test snapshots: #​50159
  • [create-next-app]: respecting the user's init.defaultBranch git con…: #​49960
  • Update swc_core to v0.76.18: #​50137
  • Fix navigating on not-found: #​50047
  • Fix env variables set in next.config.js: #​50179
  • Add warning for edge with force-static: #​50182
  • fix: add missing draftMode type to GetServerSidePropsContext: #​50184
  • Fix react fetch deduping without next cache: #​50187
  • Fix pages react alias: #​50128
  • Add the node condition to import resolution: #​50007
  • test(turbopack): run next.js integration tests with denylist: #​50172
  • Move debugging variable into useEffect: #​50210
  • refactor webpack loaders: #​49535
  • Fix static workers distributing: #​50194
  • Ensure NEXT_DYNAMIC_NO_SSR_CODE has a unique name: #​50219
  • fix: Added blockfrost-js, lucid-cardano & mongoose package to srvExtPackages to prevent issue #​49783 from happening.: #​49938
  • change static path to /_next/static/media: #​50207
  • Add special route types to the link type declaration: #​50066
  • fix: NODE_OPTIONS='--inspect' in next dev for debugging: #​48019
  • enable more test cases for turbopack: #​50154
  • feat(next-swc): Implement CJS optimizer: #​49972
  • Fix alias for react-dom/server: #​50238
  • Revert "feat(next-swc): Implement CJS optimizer": #​50247
  • Fix free port handling: #​50248
  • feat(next-swc): Add CJS optimizer again: #​50249
  • Fix edge case in the CJS optimizer: #​50258
  • Remove static analysis of process.env: #​50260
  • Update next start listening to behave consistently: #​50293
  • Update server invoke-request: #​50296
  • Update unstable_cache key to include args: #​50301
  • Add root detection utils: #​50305
  • fix sass handling after refactoring: #​50259
  • Alias next/server for edge runtime: #​50268
  • [turbopack]: Serve _devMiddlewareManifest.json from router: #​50241
  • Fix catch-all edge app route: #​50313
  • land: Include charset=utf-8 with x-component Content-Type header: #​50314
  • do not apply sass loader on existing loaders: #​50308
  • Add missing react-dom/client alias: #​50324
  • Fix missing error when using Actions on the client layer without enabling the feature flag: #​50257
  • remove allowlist, only use denylist, enable newly passing tests: #​50325
  • Fix SWC loader options for files outside of RSC layers: #​50341
Documentation Changes
  • Update app-static-to-dynamic-error.md: #​50085
  • Update invalid-new-link-with-extra-anchor.md: #​50036
Example Changes
  • fix: use node copyFile for cross-platform support: #​48740
  • Clerk example updates: #​50021
  • Fix TypeScript error in with-mongodb example: #​50094
  • Use correct casing in filenames: #​50223
Misc Changes
Credits

Huge thanks to @​kwonoj, @​wyattjoh, @​shuding, @​huozhi, @​jridgewell, @​ijjk, @​karlhorky, @​lycuid, @​MarkAtOmniux, @​darshkpatel, @​johnta0, @​kdy1, @​sokra, @​timneutkens, @​devagrawal09, @​ibrahemid, @​styfle, @​JesseKoldewijn, @​padmaia, @​Cow258, @​javivelasco, and @​05lazy for helping!

v13.4.3

Compare Source

Core Changes
  • Optimize trace span relationships: #​49697
  • refactor(next-core): deprecate custom_ecmascript_transforms: #​49629
  • Remove old-space-size filtering from dev server: #​49727
  • Rework client router filter handling: #​49741
  • fix(image): preload should respect referrerPolicy: #​49584
  • Fix cookies().set missing in types: #​49806
  • fix: Disable tracing/release_max_level_off for wasm, too: #​49639
  • Apply user-defined PostCSS transforms to foreign code: #​49463
  • add @​swc/core to server external packages: #​49721
  • turbo-binding -> turbopack-binding: #​49816
  • refactor(next-core): consolidate react_refresh options: #​49822
  • add support for globally providing mdx components to turbopack: #​49818
  • Refactor pages structure: #​49802
  • Fix conflict when re-exporting multiple Client References: #​49468
  • refactor(next-core): move transforms to plugin: #​49621
  • Fix chained .bind of Server Actions: #​49874
  • Fix port value for metadataBase: #​49924
  • Introduce NextMode: #​49852
  • Port sorted-routes.ts to Rust: #​48334
  • Move build workers count change behind flag: #​49937
  • Update default for appDocumentPreloading config for minimalMode: #​49952
  • Add @​vercel/og to external server packages: #​49944
  • Fix custom server React resolution with app dir and pages both presented: #​49805
  • Error in next export when serverActions is enabled: #​49959
  • Reset not-found and error boundary when navigating: #​49855
  • Revert "Error in next export when serverActions is enabled": #​50019
  • fix: warning fetch for [object Request] specified: #​50003
  • Remove custom handling for prebundled react env: #​49954
  • fix: set cookies followed by redirect(): #​49965
Example Changes
  • chore: update examples to use draft mode: #​49720
  • Add mdx page example to examples/app-dir-mdx: #​47082
  • Update with-supertokens example: #​49804
  • with-clerk example updated to app router: #​49717
  • Upgrading react-ga to react-ga4: #​48932
  • update with-turbopack example: #​49332
Misc Changes
  • Add trace-to-jaeger to workspace: #​49692
  • refactor(scripts): apply fmt: #​49716
  • refactor(scripts): fix clippy errors: #​49719
  • chore(turbopack): Update swc_core to v0.76.6: #​49792
  • Fix going back to page after applying hash link: #​50006
  • build(cargo): update turbopack: #​50013
  • Suggest a replay in the bug issue template: #​50022
Credits

Huge thanks to @​timneutkens, @​kwonoj, @​styfle, @​ijjk, @​alexanderbluhm, @​Fonger, @​shuding, @​kdy1, @​alexkirsz, @​souporserious, @​ForsakenHarmony, @​rishabhpoddar, @​devagrawal09, @​DevEsteves, @​huozhi, and @​padmaia for helping!

v13.4.2

Compare Source

Core Changes
  • make sure server component externals only apply to files resolvable by node: #​49147
  • Fix link not being GC'd sometimes: #​49318
  • Fix issue where nextP is not replaced in searchParams: #​49315
  • Add typescript version to next-info: #​49346
  • Upgrade React to 18.3.0-canary-16d053d59-20230506: #​49402
  • Remove empty config warning: #​49435
  • app-router: add startTransition call to revalidate dispatcher: #​49453
  • Inline static data buffer instead of using fs read: #​49323
  • Revert "Temporarily disable app dir export integration test": #​49311
  • Add link to Server Actions docs.: #​49384
  • Replace metadata clone with custom handler in dev: #​49343
  • Add request-async-storage to the shared layer: #​49470
  • Fix revalidate: false detection in app: #​49473
  • Fix metadata image route encoding: #​49482
  • Fix actions redirect handling: #​49483
  • Restrict useOptimistic and useFormStatus APIs on the server layer: #​49331
  • Fix external rewrite with body: #​49487
  • fix: better error message with an invalid assetPrefix: #​49403
  • Fix Node Crypto polyfill: #​49288
  • Fix: Router.query contains _next when using middleware with dynamic routes: #​48753
  • type: update React.CSSProperties type to Record: #​49186
  • Fix server CSS imports and HMR not working properly in specific conditions: #​49462
  • Fix HMR support for server layer imported SASS and SCSS: #​49534
  • Support .bind syntax with Action functions: #​49422
  • ci(test): enable turbopack test: #​49466
  • feat(next-core): relay transform plugin: #​48899
  • Fix canonical url for dynamic routes: #​49512
  • Add experimental compile/generate handling: #​49491
  • chore: cross-platform rm -rf script: #​49529
  • refactor(next-core): remove ast cloning in custom transform: #​49560
  • fix: a11y issues in react-dev-overlay: #​49460
  • Add tests for HMR: #​49206
  • Add stub Route type for typedRoutes: #​48099
  • Add test for appdir referenced images: #​49242
  • feat: Allow trace-level logging for non-published release builds: #​49564
  • Fix unexpected object mutation while resolving Open Graph: #​49514
  • actions: forward fetch rejections to the action handler: #​49577
  • actions: make cookies.set revalidate: #​49582
  • interception route: fix route groups breaking the referrer computation: #​49602
  • Allow export decl with any init value in the actions compiler: #​49600
  • Handle unstable_cache in pages: #​49624
  • Update cache method handling during build: #​49633
  • Fix fetchCache and no-store handling: #​49638
  • interception routes: fix rewrites order: #​49615
  • Ensure initialHeaders are normalized: #​49643
  • app-router: add support for parallel routes in useParams: #​49595
  • Add puppeteer to external packages list: #​49597
  • Add playwright to external package list: #​49649
  • actions: fill prefetchCache with revalidation payload: #​49576
  • Rename Turbopack/tasks crates to common prefixes: #​49446
  • chore(jest): Simplify isServer expression: #​48330
  • Add missing config vars into Webpack cache key: #​49663
  • misc: Apply MR comments from #​49206: #​49647
  • fix: Standalone node http server starts accepting requests before next handler is ready: #​49548
  • Update links from beta to stable docs.: #​49349
Documentation Changes
  • Fix error message about preconnect 📝: #​40360
  • [docs] Add iOS hydration mismatch details to error page: #​43584
  • Add note about custom distDir to standalone build docs: #​48592
  • Add --use-yarn flag to create-next-app: #​49407
Misc Changes
Credits

Huge thanks to @​shuding, @​ijjk, @​ForsakenHarmony, @​timneutkens, @​huozhi, @​sanjaiyan-dev, @​acdlite, @​feedthejim, @​styfle, @​leerob, @​koba04, @​g12i, @​cesarkohl, @​darshkpatel, @​josh, @​li-jia-nan, @​kwonoj, @​gabschne, @​alexkirsz, @​karlhorky, @​jridgewell, @​sokra, @​kdy1, @​akd-io, @​runjuu, @​jocarrd, @​nnnnoel, and @​ferdingler for helping!

v13.4.1

Compare Source

Core Changes
  • actions: update location header: #​49223
  • Fix serving images referenced from app directory: #​49236
  • Update dev logs to include request timings: #​49191
  • Support incrementalCacheHandlerPath for standalone output: #​48694
  • Apply basePath for metadata image: #​49226
  • Fix Server Actions defined in both layers in one entry: #​49248
  • Update tags handling during server action redirect: #​49227
  • Add experimental verboseRequestLogs flag: #​49250
  • Fix require-hook with just pages on deploy: #​49274
Misc Changes
  • Upgrade react types: #​49222
  • Remove experimental config from create-next-app: #​49241
Credits

Huge thanks to @​feedthejim, @​jridgewell, @​ijjk, @​ikryvorotenko, @​huozhi, @​shuding, and @​timneutkens for helping!

v13.4.0

Compare Source

Core Changes
  • More fluent GraphTraversal API: #​49028
  • fix GlobalError interop and add test case: #​49033
  • Add flag to switch to the experimental channel: #​48896
  • Fix extra block element in body: #​49034
  • Fixed next-types-plugin causing Typescript errors when "type": "module" is set: #​49027
  • Fixed middleware's edge-chunks not being copied in copyTracedFiles: #​48723
  • Rename experimentalReact: #​49046
  • app router: don't unmount/remount on search param changes: #​49047
  • style: remove useless React.Fragment tag on next/image: #​48997
  • feat: add draft mode to next/headers: #​48789
  • Fix next dev failing for app when __NEXT_DISABLE_MEMORY_WATCHER is set: #​49056
  • fix(next-core): interop non string record values in env: #​49057
  • feat(next-core): support capsize for google font fallback: #​48967
  • chore: use includes replace indexOf: #​48901
  • feat: make enableUndici: true default and remove node-fetch: #​49061
  • fix(next_core): do not apply user config to internal assets: #​48210
  • update turbopack: #​49071
  • allow to use different blur placeholder modes: #​49070
  • Use route metadata to trace in node-file-trace: #​49080
  • fix quoted env vars from next config: #​49090
  • find and handle not-found page in app dir: #​49095
  • Update revalidate handling for app: #​49062
  • Update turbopack warning: #​49051
  • Add validation to server methods: #​49104
  • use ws instead of undici.WebSocket: #​49100
  • chore: rename draft mode enabled to isEnabled: #​49096
  • add test cases for error handling: #​49093
  • improve test case stability: #​49036
  • Optimize non-dynamic metadata routes to static in production build: #​49109
  • Allow setting runtime in layouts in type declarations: #​49117
  • Tweak app cache handling for paths: #​49108
  • add test case for non-enumerable exports: #​49106
  • Skip handler for POST requests when no action ID is found: #​49119
  • Fix edge runtime detection from layouts: #​49126
  • Fix cross-worker revalidate API: #​49101
  • app router: Fix infinite redirect loop in MPA navigation: #​49058
  • Only read digest from error instance: #​49132
  • Static generate dynamic sitemaps: #​49114
  • Remove writing vscode config: #​49133
  • Revert "Fix cross-worker revalidate API": #​49138
  • Revert "Revert "Fix cross-worker revalidate API" (#​49138)": #​49141
  • fix(ts): make ReadonlyHeaders more compatible with Headers: #​49075
  • app-router: update prefetch heuristic to traverse until until we hit a loading boundary: #​49077
  • Forward response to edge runtime for response modification: #​49145
  • Polyfill Blob for Node.js < 18: #​49156
  • Update compilation target of @​next/react-dev-overlay: #​49153
  • Fix CSS module imports not included in root not-found file: #​49155
  • app-router: fix stale cache handling: #​49160
  • Add support for app global and segment 404 pages: #​49085
  • Tests for Sass warnings: #​49151
  • Ensure latest react-dom types for experimental release channel are used: #​49049
  • Update cache methods for app dir: #​49165
  • Search for lockfiles to find Turbopack root: #​49110
  • Allow webpack config, but warn if no turbo config: #​49170
  • Add a generic type for unstable_cache: #​49166
  • Upgrade React to 18.3.0-canary-b7972822b-20230503: #​49158
  • Fix server component transforms: #​49135
  • Fix React channel env missing in custom server: #​49168
  • app router: support side effects on server requests: #​48939
  • Fix multipart/form-data handling in the Edge runtime: #​49177
  • Upgrade React to 18.3.0-canary-aef7ce554-20230503: #​49181
  • remove startup message by default: #​49157
  • add test case for bindings in member props: #​49134
  • Add test case for App Route cookies: #​49124
  • Fix standalone mode with appDir running in a single process: #​49116
  • Enable progressive enhanced form actions through decodeAction: #​49187
  • Use special annotation for $$bound if no closure argument is attached: #​49188
  • Add warning for missing metadataBase in social images: #​49180
  • Allow override icon rel: #​49194
  • actions: fix redirect on the edge: #​49197
  • update turbopack: #​49196
  • Fix incorrect React env in particular case: #​49202
  • Add SWC test cases: #​49189
  • action: add Readable.toWeb "polyfill" for node 16: #​49201
  • add missing alias for next/dynamic in app dir: #​49199
  • render app pages with original url: #​49198
  • action: support not found: #​49209
  • types: upgrade react/react-dom types: #​49213
  • Fix metadata routes prerender cache for standalone mode: #​49208
  • Turbopack alpha -> beta: #​49103
  • Enable App Router for all applications: #​49088
Documentation Changes
  • fix: wrong link in docs: #​49001
  • Simplify CNA prompts a bit: #​49063
  • Update create-next-app App Router question: #​49111
  • chore(docs): update next-image-unconfigured-host.md: #​49175
Example Changes
Misc Changes
  • chore: Update swc_core to v0.75.41: #​48982
  • Fix failing test on canary branch: #​49038
  • Remove unused font from tailwind app/page.tsx: #​49035
  • Add test case for file uploads: #​49048
  • chore(cli): remove Route Handlers from App Router templates: #​49076
  • Fix flaky test: #​49178
  • disable optimistic_updates: #​49211
  • test: temporary disable flaky checking: #​49217
Credits

Huge thanks to @​kdy1, @​alexkirsz, @​sokra, @​shuding, @​dciug, @​albertothedev, @​DuCanhGH, @​feedthejim, @​li-jia-nan, @​styfle, @​kwonoj, @​patrick91, @​timneutkens, @​balazsorban44, @​ijjk, @​padmaia, @​Kikobeats, @​huozhi, @​sophiebits, @​eps1lon, @​reconbot, @​acdlite, @​jridgewell, and @​sebmarkbage for helping!

v13.3.4

Compare Source

Core Changes
  • Ensure app/layout.tsx can export preferredRegion: #​49031
Credits

Huge thanks to @​timneutkens for helping!

v13.3.3

Compare Source

Core Changes
  • Fix duplicated Edge Runtime warnings: #​48987
  • Update type of preferredRegion: #​49003
  • Remove unused context providers: #​48267
  • Update TS plugin type for preferredRegion: #​49011
  • Fix CSS ordering issue with HMR: #​49010
Credits

Huge thanks to @​shuding, and @​timneutkens for helping!

v13.3.2

Compare Source

Core Changes
  • Refactor require hooks: #​48506
  • Use decodeReplyFromBusboy in node runtime: #​48686
  • Do not suggest adding "use client" if using next/router in app: #​48680
  • Reland "app-router: new client-side cache semantics": #​48695
  • fix: TS plugin showing warning for global-error file's reset prop: #​48756
  • Add support for draft mode: #​48669
  • Compile Next.js core client-side files using default target: #​48750
  • Lazy DevHtmlAsset chunk generation: #​48768
  • Update naming for Next.js Analytics: #​48618
  • Add support for async instrumentation register: #​48575
  • Prefer realpathSync.native over realpathSync: #​48698
  • Fix issue with instrumentation in a standalone build: #​48615
  • Polyfill FormData for Node.js < 18: #​48783
  • Error on legacy runtime config under app dir: #​48774
  • Fix Windows path in route join (#​48603): #​48779
  • Add missing repository prop to package.json: #​48803
  • fix: Update @swc/helpers to v0.5.1: #​48808
  • Fix hash apply after server-patch action: #​48813
  • Improve typing of resolve metadata: #​48670
  • Only track client entry modules in the client reference manifest: #​48814
  • Vendor react@experimental: #​48697
  • fix query for app dir in turbopack: #​48828
  • Polyfill FormData with edge-runtime primitives: #​48826
  • Add async context to server request handler: #​48626
  • Fix accessing strict of undefined in writeConfigurationDefaults: #​48799
  • update turbopack: #​48846
  • Fix issues where saving next.config.js too quickly could result in multiple dev servers running at once: #​48857
  • Fix scrolling on navigation in app: #​48863
  • Implement MutableRequestCookies in server entries: #​48847
  • refactor(next-swc): turbopack_ecmascript_plugins: #​48671
  • edge: expose Websocket constructor: #​48870
  • add missing aliases for next/dynamic and next/head: #​48871
  • Update the mutableCookies class to accept extra options: #​48877
  • Support generate dynamic sitemaps for dynamic routes: #​48867
  • refactor(next-core): emit unsupported package warning: #​48837
  • update turbopack: #​48893
  • External vercel og for nodejs runtime: #​48844
  • Make prefetch not async: #​48897
  • Ensure require-hook env is set properly on deploy: #​48902
  • add support for static implicit metadata in turbopack: #​48823
  • Update min Node.js version to v16: #​48903
  • Fix scrolling when invisible element is targeted: #​48874
  • Preload css: #​48840
  • Selectively load runtime CSS modules to avoid rule duplication: #​48866
  • Ensure PAGE is checked in all cases: #​48862
  • add missing exports for static generation bailout: #​48910
  • Change Server Reference creation on client: #​48824
  • Upgrade Edge Runtime: #​46818
  • fix: explicit undefined typecheck: #​48920
  • fix: Enable CJS annotations for next.js files: #​48811
  • turbopack: parse and propagate output: 'export': #​48046
  • fixes #​48794 : When using pageExtensions like "page.jsx", global css import not working: #​48795
  • chore: expose globalThis.crypto when not available: #​48941
  • Fix dynamic routes for generateImageMetadata: #​48928
  • Correct some jest types: #​48923
  • Error for missing dynamic generated id and refactor metadata image url: #​48953
  • fix: bump minimum Node.js version to 16.8.0: #​48957
  • allow using the nodejs runtime for route handlers when using turbopack: #​48791
  • fix(turbopack): ignore underscore_started path: #​48792
  • Use ProxiedAsset instead of css_chunk_root_path to expose RSC CSS chunks: #​48946
  • Remove un-necessary undici warnings: #​48970
  • Ensure WebSocket is polyfilled for node runtime as well: #​48924
  • Support preferredRegion and Support runtime/preferredRegion on layouts: #​48959
  • preload fonts using ReactDOM.preload: #​48931
  • Cleanup "started server on" message: #​48972
  • add image metadata for svg: #​48947
  • fix: error when image width={Infinity}: #​48855
  • add test case for esm commonjs interop: #​48940
  • Update resolve rule for @swc/helpers: #​48980
  • Update google fonts: #​48984
  • Fix scroll when loading.js/ts is used: #​48986
  • Add test case for #​48506: #​48696
  • Add npm package provenance on publish: #​48693
  • Revert "Add npm package provenance on publish (#​48693)"
  • fix: npm publish provenance permissions: #​48757
  • Add missing repository prop to package.json in swc-wasm: #​48805
  • test: disable client cache flaky test: #​48890
Documentation Changes
Credits

Huge thanks to @​shuding, @​huozhi, @​wyattfry, @​styfle, @​sreetamdas, @​afonsojramos, @​timneutkens, @​alexkirsz, @​chriswdmr, @​jankaifer, @​pn-code, @​kdy1, @​sokra, @​kwonoj, @​martin-wahlberg, @​Kikobeats, @​JTaylor0196, @​sebmarkbage, @​ijjk, @​gnoff, @​jridgewell, @​sagarpreet-xflowpay, @​balazsorban44, @​cprussin, @​ForsakenHarmony, and @​li-jia-nan for helping!

v13.3.1

Compare Source

Core Changes
  • Fix query normalize on edge deploy: #​48045
  • Change metadata routes suffix to number and chars: #​48026
  • fix: show error when "next start" is used with "output" config: #​47989
  • Update query param prefix to reduce length: #​48051
  • turbopack: bind server to IPv6 loopback: #​47948
  • turbopack: pass ENV vars to route handlers: #​48048
  • parallel routes: fix layout not re-rendering: #​48066
  • Fix fallback detection logic when multiple generateStaticParams are needed: #​47982
  • Next Cache Telemetry: #​47939
  • Remove change leftover from experimental precompiled server: #​48107
  • Support og image with edge: #​48086
  • Add flag to control app document preloading: #​48115
  • Re-land "Vendor react@experimental under an experimentalReact flag": #​48041
  • Add experimental React related warning: #​47986
  • Fix next-flight-loader resourcePath in Windows: #​48152
  • Enable opening source file in build error overlay: #​48194
  • Update next/font/google data: #​48195
  • Fix documentation link for transpilePackages in NextConfig: #​48121
  • Remove warning for metadataBase fallback: #​48196
  • Fix typeof expression in layout router: #​48245
  • fix: Shift route-announcer to top of layout parent: #​44853
  • Chunking Refactor pt. 2: #​47961
  • Opt-into worker mode when appDir is enabled: #​47857
  • app-router: add batching support for RSC router payloads: #​48253
  • interception routes: add new sibling matcher marker + validation: #​48276
  • parallel routes: remove the per-route default 404 handler: #​48286
  • ensure original matcher source is free of mutations: #​47980
  • Add suffix to static metadata images: #​48202
  • Update metadata interface types: #​48259
  • parallel route: fix payload not being sent on refetch: #​48294
  • feat(turbopack): support initial compiler.emotion / compiler.styledComponents flag: #​47991
  • Support alt.txt for static metadata og image: #​48290
  • Fix missing favicon when other icon exist: #​48311
  • Fix app dir vanilla-extract support: #​48306
  • Auto collect custom manifest into metadata: #​48310
  • feat(turbopack): initial mdxrs config support: #​47886
  • refactor shared logic for turbopack-cli: #​48307
  • Fix dev case when proxying to self: #​48318
  • app router: fix scrolling behaviour for parallel routes: #​48346
  • interception routes: fix support for route groups: #​48351
  • Add body to router request to fix socket hang up: #​48039
  • Fix dev getStaticPaths/generateStaticParams calling: #​48322
  • Update App Route Signature: #​48348
  • fix: typo localy --> locally: #​48193
  • [create-next-app]: add mdx files to tailwind content config: #​48188
  • Ensure we handle 204 responses in fetch: #​48354
  • Fix fetch cache body handling and update edge-runtime deps: #​48365
  • Move normalizing of query for edge: #​48373
  • provide the PORT env var based on server port, update turbopack: #​48347
  • feat: generate image metadata: #​48362
  • Allow some more options for Turbopack: #​48401
  • Add pg (Postgres) to server components external packages.: #​48402
  • chore: add export ImageResponseOptions: #​48418
  • chore: fix a typo in a local variable name: #​48456
  • Fix turbo cache for @​next/env: #​48466
  • Consolidate two appDir if branches: #​48459
  • parallel routes: fix catch-all routes taking precedence in dev: #​48424
  • parallel routes: fix next-provided default.js not being resolved if the config doesn't specify .js: #​48446
  • interception routes: support middleware rewrites: #​48450
  • interception routes: fix production rewrites: #​48451
  • parallel routes: fix incorrect optimistic tree when there are multiple parallel routes: #​48449
  • Refactor entries.ts: #​48460
  • Fix misordered CSS resources: #​48244
  • Revert "Re-land "Vendor react@experimental under an experimentalReact flag"": #​48478
  • Change CacheFs methods to return Buffer: #​48237
  • app dir fixes: #​48025
  • Rename originUrl to fetchUrl: #​48315
  • Make jest config serializable: #​47620
  • Drop object config export support for app dir: #​48489
  • Fix server references handling in the edge runtime: #​48502
  • feat(next-swc): force teardown heap profiler if exists: #​47769
  • fix(turbopack/transform_options): enforce default react runtime: #​48400
  • Update swc_core to v0.75.23: #​48098
  • update swc_core and dependencies to 0.75.23: #​48521
  • Fixed image-optimizer crashing when using outputFileTracing: #​48513
  • Remove unused code from test-pack turbo task: #​48487
  • Fix static opt of routes generation for static metadata files: #​48528
  • feat(turbopack): support modularizeImports next.js config: #​48511
  • refactor: move resolving metadata process into async Metadata component: #​48536
  • Update history in useInsertionEffect: #​48553
  • Fix instrumentation.js initialization in prod on Vercel: #​48557
  • Prefer to use deployment url for metadata routes on production: #​48556
  • Fallback to deployment vercel url if metadataBase is not set on prod: #​48570
  • build(cargo): move workspaces manifest to top level: #​48198
  • Remove expired link resources via MutationObserver during development: #​48578
  • prettier fix for next-swc: #​47873
  • Fix chunk file names in flight manifest: #​48583
  • Adding missing fields to the Manifest type: #​48552
  • Add updated app dir cache handling: #​48516
  • Upgrade React: #​48589
  • use structured images with metainfo (blur placeholder): #​48531
  • Land reverted fix for chunk file names: #​48625
  • remove amp error in app dir: #​48620
  • Add test case for #​48583 and ignore hot-update scripts: #​48587
  • Exclude app from _devPagesManifest.js in turbopack: #​48633
  • replace defined values and add __NEXT_HAS_REWRITES define: #​48628
  • implement /_next/image for local requests: #​48622
  • Add export runtime test for pages and fully remove experimental.runtime: #​48630
  • Upgrade @types/react to latest 18.x: #​48645
  • app-router: new client-side cache semantics: #​48383
  • Fix typo in fetchType annotation: #​48646
  • Ensure latest React types for experimental release channel are used: #​48641
  • Fix writeConfigurationDefaults.ts to correctly suggest changes in monorepos: #​48668
  • Revert "app-router: new client-side cache semantics": #​48678
  • fix snapshots broken by prettier (also fix .prettierignore): #​48586
  • Reland app-router: new client-side cache semantics: #​48685
  • Revert "Reland app-router: new client-side cache semantics": #​48688
Documentation Changes
  • Update deployment.md: #​48062
  • Docs: Describe how to manually configure open telemetry: #​48071
  • Fix typo in script.md: #​48225
  • Add information about deploy to open telemetry docs: #​48241
  • docs: fix grammar for dynamic routes catch-all explanation and give better examples: #​48181
  • Fix grammar and typos in OTEL docs: #​48235
  • Update instrumentation.md: #​48394
  • typo: #​48495
  • docs: fix minimum Node.js version to 14.18.0: #​48545
  • Docs: Unify note formatting: #​48417
  • Fix TYPO in otel docs: #​48623
Example Changes
  • Fix the typo on README.md: #​48274
  • fix: Adding search field decorator: #​48350
  • Update Mux example logo to new Mux brand: #​48654
Misc Changes
Credits

Huge thanks to @​huozhi, @​styfle, @​jridgewell, @​feedthejim, @​cjmling, @​shuding, @​nabsul, @​motopods, @​hanneslund, @​tunamagur0, @​jankaifer, @​apeltop, @​maranomynet, @​alexkirsz, @​y-tsubuku, @​sokra, @​EndangeredMassa, @​ykzts, @​AviAvinav, @​kwonoj, @​adilansari, @​ForsakenHarmony, @​wyattjoh, @​charkour, @​timneutkens, @​delbaoliveira, @​agadzik, @​Just-Moh-it, @​rodrigofeijao, @​padmaia, @​leerob, @​juliusmarminge, @​koba04, @​cprussin, @​Phiction, @​DuCanhGH, @​jessewarren-aa, @​sophiebits, @​ryo-manba, @​Yovach, @​ijjk, @​dylanjha, and @​eps1lon for helping!

v13.3.0

Compare Source

Core Changes
  • Add Zod and router state validation: #​46962
  • Support default arrow function export in server boundary #​46977
  • Generate fixed route path for favicon.ico: #​46997
  • update turbopack: #​46994
  • Update next/font/google data: #​46988
  • fix: added jsdom & canvas to the external packages list - fixes #​46893: #​46990
  • Add auto-detection of image/x-icon content type: #​47013
  • fix: exclude 'mdx-bundler' from being bundled in server components: #​46992
  • Add /route subpath to metadata static routes: #​47030
  • Ensure router.refresh() matches revalidatePath('/') behavior: #​46723
  • Reorganize client references manifest: #​46777
  • Opt-in to dynamic rendering when reading searchParams: #​46205
  • Fix CSS not being bundled in app dir: #​45787
  • feat(standalone): allow configuring KEEP_ALIVE_TIMEOUT via env var: #​46052
  • i18n Improvements: #​47174
  • Support manifest.json static and dynamic route: #​47240
  • Ensure config and fetch revalidate are honored: #​47255
  • feat: add fetchPriority to next/image: #​47222
  • chore: add missing ts type in next-edge-app-route-loader: #​47243
  • Split app-render functions into separate files: #​47282
  • fix: typo in output:export error messages: #​47252
  • fix: handle different cases of React fetchPriority: #​47302
  • [edge] limit the api surface of util: #​47292
  • parallel routes: fix duplicate dev warning: #​47317
  • next/font/local prep: compartmentalize next/font/google: #​47213
  • Improve OTEL spans naming: #​47209
  • fix invalid comment in parseParameter function: #​47291
  • Add searchParams to leaf cache key: #​47312
  • Remove duplicated if statement: #​47322
  • Add a .catch to shared router for ssg fetching.: #​47265
  • parallel routes: fix nested routes: #​47323
  • [Nitpick] Remove unnecessary await in base-server: #​47313
  • Warn about default exports with App Routes: #​47263
  • Add better-sqlite3 to server external packages: #​47327
  • Change App Route Route Handler signature: #​47268
  • Calling turbopack from the next build CLI: #​46602
  • Update Turbopack to turbopack-230321.1: #​47342
  • parallel routes: fix HMR refetch issue: #​47343
  • Fix bad route path for custom metadata routes: #​47286
  • Fix POST fetch request cache heuristic in POST route handler: #​47333
  • Fix: only apply metadata dynamic image routes convention for app dir: #​47367
  • Marks app paths in dev as supporting dynamic html: #​46848
  • fix: add pretty error for exportPathMap with app dir: #​47371
  • Skip extra swc builds: #​47378
  • Simplify moduleProxy alias: #​47381
  • Skip warning if there is app directory for no-html-link-for-pages rule: #​42516
  • Catch redirect() in root layout: #​47345
  • Add useParams(): #​47373
  • Refactor ES chunk evaluate logic into a Runtime trait: #​47116
  • Add more spans into OTEL instrumentation to wrap all user defined functions: #​47368
  • Support HOC cases in server entries: #​47379
  • Support dynamic routes for social images and icons: #​47372
  • Fix build spinner in TTY env: #​47383
  • upgrade vendored React to 18.3.0-next-12a1d140e-20230321: #​47405
  • Add default meta tags to error page: #​47404
  • Extend not-found.js to catch all unmatched routes: #​47328
  • Add optional match support of rewrites and redirects in typedRoutes: #​47398
  • Support dynamic routes for social images and icons: #​47425
  • turbopack: Implement streamed middleware: #​47264
  • Fix twitter metadata info merging: #​47433
  • improve source mapping of console output and errors: #​47388
  • Fix closure and rest params handling in SWC transform: #​47401
  • feat: change next build to emit output with output: export: #​47376
  • Error during dev if returning Response in pages API routes in Node.js runtime: #​47442
  • Add content hash for dynamic og image routes: #​47440
  • chore: add telemetry for output: export: #​47464
  • Update fetch cache memory handling: #​47465
  • add useReportWebVitals that makes use of web-vitals package: #​47319
  • Ignore folders prefixed by underscore (_) in App Router: #​47439
  • Finalize HOC support with server entries and add encodeReply & decodeReply: #​47438
  • Locale fixes for App Directory: #​47429
  • Fix useSelectedLayoutSegments including PAGE: #​47492
  • parallel routes: implement default route + fix bugs on navigation: #​47436
  • Add http.route into root otel span: #​47392
  • fix: typo in max cache size error message: #​47505
  • Fix other case for useSelectedLayoutSegments: #​47511
  • fix error handling and hanging problems: #​47457
  • restore dynamic directory embedding: #​47260
  • Remove head.js: #​47507
  • Return null for useParams in pages: #​47490
  • Clean up leftover loaders: #​46801
  • Feat(next-types-plugin): added support for Route Handlers: #​47185
  • Add warning when deopting page into client rendering entirely: #​47531
  • Integrating capsize latest: #​47428
  • Rename app-render/index.tsx to app-render/app-render.tsx: #​47285
  • refactor(relay): Use transform from swc/plugins repository: #​47441
  • remove unused turbo dependencies: #​47557
  • Add initial tree shaking refactorings: #​47559
  • next/font/local support for Turbopack: #​47369
  • Handle unknown platform triples in next-swc: #​47570
  • Fix fetch cache config and fetch revalidates: #​47573
  • Fix instrumentation not being called on edge in some cases: #​47495
  • Implement automatic font fallback support for next/font/local: #​47463
  • Document various structs and methods in next/font: #​47588
  • Fix race condition of invalidation: #​47586
  • add test case for nested imports: #​47580
  • Underscore Handling Fixes: #​47581
  • Move App Route handler logic into bundle: #​47582
  • Revert "Move App Route handler logic into bundle": #​47614
  • Make sure the global not found route doesn't conflict with existing /not-found route: #​47619
  • Fix robots.txt generation: #​47625
  • fix typescript errors in next-core: #​47607
  • Expose metadata types: #​47630
  • show most recent error first in turbopack error overlay: #​47414
  • Move App Route handler logic into bundle: #​47633
  • fix: handle output: export with use client: #​47635
  • provide Buffer polyfill to client and edge: #​47610
  • fix: image loaderFile with edge runtime: #​47659
  • Update vendored react to 18.3.0-next-85de6fde5-20230328: #​47675
  • fix: improve type of ExportPathMap: #​47676
  • Fix(next-types-plugin): remove unused imports: #​47667
  • resolve browser modules for edge api in turbopack: #​47604
  • build(next-swc): introduce turbo-binding: #​47512
  • Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328": #​47687
  • Fix next-types-plugin generated files for Node16/NodeNext: #​47571
  • Revert "Vendor @​vercel/og and expose ImageResponse (#​47657": #​47711
  • fix: handle empty src prop on next/image: #​47695
  • Add not found boundary and move head cache to app router: #​47688
  • Fix turbopack _devPagesManifest.json on next-site: #​47427
  • Update MetadataRoute to namespace: #​47674
  • Provide default metadataBase for local and vercel deployment: #​47568
  • Fix duplicated default metadata tags: #​47690
  • chore(docs): update next export to output: 'export': #​47717
  • Vendor @​vercel/og and expose ImageResponse : #​47715
  • Turbopack: Fix images.remotePatterns port/protocol serialization: #​47721
  • Combine Route Handlers with Route Modules: #​47679
  • feat(next-swc): add compile-time heap profiler flag: #​47729
  • Add NEXT_RUNTIME process env to turbopack: #​47713
  • Small fixes to copy of Turbopack errors: #​47734
  • fix: correctly handle Set-Cookie headers: #​47718
  • Support relative path for metadata alternates urls: #​47743
  • remove next-core package.json dev script: #​47746
  • Restart static paths worker after finishing task: #​47716
  • feat: bump minimum ts version to 4.5.2: #​47712
  • Turobpack: Implement Streaming App/API rendering: #​47476
  • Update app router filter handling: #​47761
  • fix: improve error message pages for output: export: #​47765
  • add consistent import sorting/grouping to rustfmt: #​47745
  • turbopack: ensure ENV values are available in middleware: #​47767
  • Fix skipMiddlewareUrlNormalize with i18n: #​47773
  • Fix typo in error overlay: #​47762
  • provide full polyfill for process: #​47764
  • Turbopack: Use SharedError for body streaming: #​47677
  • fix(export): make static export work with worker_threads: #​47784
  • Skip favicon.js for metadata: #​47790
  • Fix module resolving error in tracer: #​47786
  • Fix fetchCache config and On-Demand Revalidate handling: #​47803
  • Add computeWorkerKey to the static optimization worker: #​47792
  • fix(next-types-plugin): add ParamCheck type only for route.ts files: #​47739
  • fix: added tab and carriage to isWhitespace function to make robust: #​47785
  • Fix prefetch only being applied once: #​47797
  • Fix failing rust-check: #​47811
  • Move modularize imports for next/server to next-swc: #​47788
  • Add initial separated route resolving: #​47208
  • Fix dev ipc request on node v16: #​47825
  • Update render IPC handling: #​47835
  • Fix: fill route params for dynamic route metadata images url: #​47829
  • Enable context caching for middleware/edge functions in dev: #​47840
  • New app routes resolving logic for turbopack: #​47737
  • Polish metadata warnings: #​47853
  • Memory improvements to static workers: #​47823
  • Hide internal fetches OTel traces in dev mode and assert duplicate OTel spans are present only in dev mode: #​47822
  • feat(turbopack): support transform options: #​47365
  • Update dev IPC request: #​47877
  • Fix type plugin for NX workspaces: #​47534
  • Change package path from gitpkg.now.sh to gitpkg.vercel.app: #​47879
  • TS plugin: ensure error and global-error files are client components: #​47882
  • Decrease required open telemetry peer-dependency version: #​47861
  • router: implement route interceptions: #​47565
  • Fix issue where NextServer.prepare wouldn't be called when deployed: #​47899
  • Add missing module.hot.accept call to server CSS modules: #​47913
  • mark resolve issues inside a try block as warnings: #​47763
  • Hide not ENOENT errors for not found in ipc server: #​47854
  • Update react docs link: #​47891
  • turbopack: defer dev code evaluation until after page render IPC connects: #​47888
  • add test case for alias field: #​47856
  • add test case for ignore modules: #​47758
  • Small refactoring to build/index.ts: #​47935
  • Compare modules' layer when tracking server CSS changes: #​47927
  • Extend type for streamEntrypoints: #​47874
  • Add strict next head handling: #​47938
  • ChunkingContext refactor pt. 1: #​47693
  • Add dynamic parameter marker to router cache key: #​47957
  • Vendor react@experimental under an experimentalReact flag: #​47759
  • avoid duplicated error output: #​47954
  • add a warning when using implicit metadata: #​47928
  • Fallback to localhost for metadataBase when it's used and missing: #​47910
  • Fix app metadata in edge runtime: #​47941
  • Auto-restart dev server when next.config.js changes: #​47912
  • Unify Request types: #​47884
  • Update search params/route params handling on deploy: #​47930
  • turbopack: add vary header to app routes: #​47946
  • Check for null before reading value in useParams: #​47875
  • Fix metadata nested twitter props rendering: #​47972
  • Create unique route path for og under group routes: #​47985
  • allow turbopack HMR to recover from react errors without hard refresh: #​47771
  • Implement Route type for router APIs: #​47931
  • If prefetching detected as app route, pass "as" to handleHardNavigation instead of "url": #​47949
  • update turbopack: #​47994
  • Revert "update turbopack": #​48001
  • update turbopack: #​48006
  • Fix css applying for root not found: #​47992
  • fix code generation for loader tree: #​47987
  • interception routes: re-implementation: #​48027
  • parallel routes: return a 404 when a parallel route does not have a default page/do not match: #​47872
  • Update normalize revalidate params for named matches: #​48032
  • fix: handle error case for output: export in next dev: #​47768
  • report error when using "use server" on module level: #​47967
  • Only cache successful fetches: #​48033
  • Revert "Vendor react@experimental under an experimentalReact flag": #​48038
  • Replaced Reflect with ReflectAdapter: #​48000
Documentation Changes
Example Changes
  • fix typo: #​47235
  • chore(examples): fix Mongoose deprecation warning: #​47358
  • chore: fix localhost port: #​47413
  • Update to supertokens example app: #​47435
  • chore(examples): Fix for destroy is not a function error: #​47469
  • Updated the versus short form in ssg-ssr example in docs: #​47397
  • fix-(Examples) Updated link tags in Auth0 example code.: #​47518
  • Remove incorrect entries for pnpm debug log: #​47241
  • Use App Router for static export example.: #​47584
  • Update Convex example to convex@0.12.0: #​47175
  • Updates with-supertokens example app: #​47701
  • Update github link: #​47900
Misc Changes
  • Update next/font/google data: #​46988
  • fix: added jsdom & canvas to the external packages list - fixes #​46893: #​46990
  • Add auto-detection of image/x-icon content type: #​47013
  • fix: exclude 'mdx-bundler' from being bundled in server components: #​46992
  • Add /route subpath to metadata static routes: #​47030
  • test: update amp test to always check redbox: #​47050
  • Fix generateStaticParams check in app dir: #​47051
  • Fix URL anchor position in going-to-production.md: #​47056
  • Rewrite action transform in SWC: #​47049
  • Cleanup remove directive logic to reduce allocate: #​47055
  • Initial support of redirection in server handlers (#​46944
  • Move next-* crates from Turbopack: #​47019
  • chore(examples): upgrade Sentry to support Middleware: #​47067
  • Merge branch 'canary' into jrl-next-crates
  • Merge pull request #​47019 from vercel/jrl-next-crates
  • [with-jest]: Update to use automatic path aliases: #​46982
  • Update _mongoClientPromise type error: #​46985
  • Prevent handleDisconnect being called twice: #​46959
  • Fix next/image config injection during static generation: #​47007
  • Refactor renderers and RenderResult: #​46955
  • Update app route handler proxy handling: #​47088
  • Detect common invalid cases for the server directive: #​47069
  • Implement route announcer for app dir: #​47018
  • Fix: Update README templates in create-next-app: #​47037
  • chore(examples): fix @ts-ignore in Cloudinary config: #​47029
  • Add instructions to bug issue template: #​47090
  • Remove experimental fontLoaders option from next.config.js: #​46886
  • Verify router state query params can't grow out of control: #​47094
  • Fix(typedRoutes): fixed empty DynamicRoutes or StaticRoutes causing Route to turn into type string: #​46980
  • Dynamic routes for toplevel robots and sitemap: #​47091
  • Correctly list unsupported turbopack experimental options: #​47093
  • Continue page rendering after handling server requests: #​47089
  • fix(mdx): export NextMDXOptions interface: #​46441
  • updated zustand example to 4.3.6, changed out deprecated methods: #​46911
  • Fix #​46621 - include status code in cache: #​47096
  • Finish up otel example with working docker and small guide in readme: #​46819
  • Add @​feedthejim as a codeowner for docs, examples and errors: #​47104
  • Add support for scrolling to hash fragment: #​46995
  • re-enable next-dev-tests: #​47087
  • feat: add output: export support for appDir: #​47022
  • Refactor app-render to decouple type definitions (#​47128
  • update prettier in stats action: #​47158
  • Fix RenderOpts type import: #​47167
  • Implement custom Turbopack Next transformers: #​47137
  • Implement server entry creation in client layer (#​47127
  • chore(ci): automatically deploy selected examples: #​47130
  • fix: app dir with next dev and output: export: #​47171
  • Fix(typedRoutes): fixed files from directories other than pages and app getting into Route: #​47184
  • Not apply image loader to metadata images: #​47197
  • Adjust transpiler to support inlined server functions with annotations: #​47186
  • improve turbopack error overlay: #​47132
  • feat(cli): introduce --tailwind flag: #​46927
  • Align on next-transform-font: #​47179
  • Add OTEL tests: #​47149
  • Handle defaultLocale on client router filter: #​47180
  • fix build issue and future incompatibility: #​47176
  • fix: show error for api route handler with output: export: #​47219
  • Fix missing option in createFromFetch: #​47216
  • Fix failing CI checks: #​47223
  • docs: commentary correction for i18n app folder: #​47226
  • Support passing both closure arguments and parameters: #​47212
  • Fix deploy example: #​47228
  • next-swc: Switch to testing::fixture: #​47183
  • update turbopack: #​47205
  • Update router.md: #​47210
  • print reason for compilation: #​47190
  • [edge] support Node.js core modules in edge runtime: #​47191
  • Generate metadata images generation with app routes: #​47225
  • Emit late streaming meta tags: #​47207
  • fix: typo in message for experimental.runtime: #​47248
  • Fix loader rule with wrong matching conditions (#​47261
  • Fix contributing.md link in the rendering benchmark: #​47303
  • fix(cli): handle Tailwind CSS + src/ correctly: #​47238
  • Update failing e2e deploy test: #​47325
  • fix(cli): unify styles/content of templates: #​47294
  • Replace bg-opacity with bg-color/opacity in tailwindcss templates: #​47253
  • chore: fix issue labeler: #​47206
  • chore: add checkout step to issue labeler action: #​47346
  • Ensure all server entry exports are functions (#​47364)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@​users.noreply.github.com>
  • Don't set git config features.manyFiles on post install: #​47375
  • fix(cli): change file name from route.ts to route.js: #​47352
  • chore: tweak MR labeler pattern: #​47395
  • Revert "Support dynamic routes for social images and icons" (#​47416
  • Update failing e2e checks: #​47423
  • Add test for force-dynamic and catch-all routes (#​47418
  • Update CODEOWNERS
  • chore: reduce noisy logs when updating timing gist: #​47446
  • Update failing e2e deploy test: #​47453
  • chore: clean up CODEOWNERS: #​47451
  • chore: run all tests for next/image against app dir: #​47267
  • Update failing i18n e2e deploy test: #​47462
  • Add workflow to trigger release: #​47461
  • Fix trigger_release workflow type: #​47466
  • Update version script
  • Tweak trigger release cloning
  • chore: tweak CODEOWNERS: #​47491
  • Fix failing og api e2e test: #​47500
  • add auto labeling for turbopack/the web-tooling team: #​47502
  • Update flakey app dev tests: #​47504
  • Update release package.json scripts: #​47529
  • Update pre-compiled
  • Add ownership of build folder to Web Tooling team: #​47508
  • test(test-utils): correct --turbo error overlay lookup: #​46901
  • Update failing i18n e2e deploy test: #​47555
  • Update some flakey test cases: #​47556
  • Remove unneeded waiting in otel tests: #​47431
  • Improve client boundary source type detection (#​47532)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@​users.noreply.github.com>
  • ci(workflow): run checks for the test specific features: #​47572
  • Update test create-next-app running: #​47611
  • Fix rust-check
  • Update pnpm version for trigger release
  • Vendor @​vercel/og and expose ImageResponse (#​47657
  • test: disable the flaky test for parallel-routes-and-interception: #​47694
  • Handle async require when importing ESM in instrumentation.ts: #​47658
  • Run turbopack integration tests for next.js changes too: #​47608
  • Revert "Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328"" (#​47700
  • test: remove unreliable font test: #​47714
  • Update CODEOWNERS to override image wildcard: #​47722
  • chore(ci): fix codemod tests: #​47710
  • Add tests for Suspensey CSS: #​47708
  • Add test to ensure image generation works in the Node.js runtime: #​47719
  • test(turbopack): blocking CI for turbopack integration test: #​47709
  • Update publish canary to undraft automatically: #​47775
  • Update metadata e2e test on deploy: #​47776
  • Tweak canary undrafting: #​47777
  • Fix docs only check for test-native-integration: #​47800
  • Tweak Vercel CLI installing for E2E tests: #​47804
  • Fix flaky css test and remove unused tests deps: #​47806
  • (Fix)(Tests)Fix typo in unit testing: #​47644
  • Update to retry undrafting canary: #​47826
  • Update set-cookies deploy test: #​47836
  • Update flakey tests and add Node.js setup retrying: #​47871
  • Test disabling kodiak: #​47880
  • Ensure GH actions tests run for trunk branches: #​47883
  • Revert "Test disabling kodiak (#​47880)"
  • chore: update labels: #​47904
  • Disable Kodiak for testing
  • Add merge_group actions trigger
  • Run bench tests as part of CI: #​47849
  • Increase CI test timeout: #​47973
  • docs: Add "special" to the Alex allowlist: #​48021
  • Speed up native dev build: #​48028
Credits

Huge thanks to @​shuding, @​huozhi, @​sokra, @​hanneslund, @​JesseKoldewijn, @​kaguya3222, @​yangshun, @​ijjk, @​konomae, @​Brooooooklyn, @​jridgewell, @​zlrlyy, @​JohnDaly, @​abhiyandhakal, @​benjie, @​johnnyomair, @​nk980113, @​dirheimerb, @​DerTimonius, @​DuCanhGH, @​padmaia, @​stafyniaksacha, @​Gladowar, @​zek, @​jankaifer, @​styfle, @​balazsorban44, @​wbinnssmith, @​chibicode, @​ForsakenHarmony, @​franktronics, @​FSaldanha, @​Schniz, @​raisedadead, @​AdamKatzDev, @​wyattjoh, @​leerob, @​meesvandongen, @​vladikoff, @​feedthejim, @​tka5, @​pyjun01, @​gdborton, @​M3kH, @​aretrace, @​shivanshubisht, @​alexkirsz, @​agrattan0820, @​vinaykulk621, @​heyitsuzair, @​mrkldshv, @​timneutkens, @​furkanmavili, @​swaminator, @​EndangeredMassa, @​DevEsteves, @​rishabhpoddar, @​schehata, @​molebox, @​dlehmhus, @​akshaynox, @​sp00ls, @​janicklas-ralph, @​tomryanx, @​kwonoj, @​karlhorky, @​kdy1, @​dante-robinson, @​lachlanjc, @​ianmacartney, @​hotters, @​isaackatayev, @​insik-han, @​jayair, @​ivanhofer, @​javivelasco, @​SukkaW, @​visshaljagtap, @​imranbarbhuiya, @​nivak-monarch, @​HarshaVardhanReddyDuvvuru, @​ianldgs, @​ricardofiorani, @​swarnava, @​gustavostz, and @​nabsul for helping!

v13.2.4

Compare Source

Core Changes
  • Check if server error already had its message updated: #​46367
  • [next/jest] Support path aliases from tsconfig/jsconfig: #​45815
  • List unsupported Turbopack config keys: #​46582
  • Support named exports for server references: #​46558
  • Fix(typedRoutes): fixed StaticRoutes and DynamicRoutes being empty causing invalid syntax: #​46620
  • Fix IntelliSense for generateMetadata: #​46624
  • Update vendored React packages to next-41110021f: #​46636
  • Add request callback in Flight client: #​46650
  • fix: distDir in verifyTypeScriptSetup for nextLint: #​46630
  • Updates next/image eslint message to denote that costs may be incurred.: #​46640
  • Ensure default config passes schema checks: #​46656
  • Use separate workers for webpackBuildWorker: #​46666
  • Fix static to dynamic on revalidate: #​46668
  • Fix the Next.js router in Turbopack when there are no middlewares: #​46681
  • build(cargo): update turbopack: #​46685
  • Add build worker exit tracking and enable tests: #​46698
  • Support force-static on App Routes: #​46693
  • Add viewport field userScalable: #​46696
  • Update static build workers: #​46705
  • Refactor build context for better plugin state sharing: #​46706
  • Support multi title for alternates: #​46700
  • Ensure test-unit includes package unit tests: #​46707
  • Disallow wildcard export in server entries: #​46710
  • Add test for router.refresh preserving unaffected segments: #​46687
  • Failing test for SWC shakeExports and JSX: #​35735
  • Fix originalRequest not available for edge requests: #​46741
  • Fix require cache conflict between app and pages: #​46736
  • Fix Web app manifests docs: #​46617
  • Update client router filter to separate redirects handling: #​46752
  • Add support for output: export config: #​46744
  • Pass through original matcher source in manifest: #​46753
  • Use browser navigation when RSC payload fails to fetch: #​46674
  • Use set to track CSS imports: #​46772
  • Fix middleware notFound: true handling: #​46759
  • Only check app/ for no-head-element-rule: #​46773
  • Fix redundant TS plugin warning: #​46769
  • Correct server reference manifest in prod build: #​46683
  • add argon2 to serverComponentsExternalPackages auto-optOut list: #​46779
  • Refactor SWC transform to support named default export: #​46778
  • Remove experimental.runtime and emit warning when used: #​46631
  • Fix(typedRoutes): fixed type Route resolving to type any: #​46679
  • Improve the readability of full page refresh error in dev mode: #​46634
  • Port error overlay hydration error to pages directory: #​46677
  • eslint rule for script strategy should work properly in app/: #​46609
  • fix: Add NODE_OPTIONS for debugging in next-dev: #​46757
Documentation Changes
  • Documentation: Update link-no-children error page for new link: #​46514
  • chore(docs): add snippets for common image loaders: #​46647
  • Fix the doc on how to use the turbo loader in option-less format: #​46665
  • Fix custom server error handling in the docs: #​46671
  • docs: clarified the wording: #​46691
  • Update script.md: #​46680
  • next/font refactoring and additional unit tests: #​46731
Example Changes
Misc Changes
  • test(utils): support turbopack-based overlay error text lookup #​46589
  • chore: improve repo templates: #​46629
  • Update app-static test page #​46645
  • test: add preconnect tests and move error tests: #​46652
  • Refactor and add more tests to next/font/local: #​46627
  • Add script to automate updating vendored React version: #​46663
  • Refactor next/font/google and add additional comments: #​46692
  • Ensure app chunk URLs are encoded properly #​46749
  • Adjust API route loader #​46726
  • test: refactor metadata tests to test multi matches easier: #​46746
  • Support mdx-components file in src directory: #​46763
  • Fix middleware 404 prefetch case: #​46782
  • Update view-source.tsx: #​46790
  • chore: add jsdoc to output in next.config.js: #​46804
  • next/font tests: support Turbopack css module format: #​46658
  • update dynamic-import.md example: #​46787
  • Change @​next/font to next/font in examples: #​46836
  • Update vendored React: #​46826
  • Revert "Update vendored React": #​46861
  • Update fetch cache handling with POST requests: #​46856
  • Remove extra exports from filter utils: #​46860
  • test(unit): add cases for cssnano simple: #​46862
  • Ensure chained middleware rewrites work properly: #​46866
  • chore: improve MR labeling, fix, sort, add new team member: #​46675
  • chore: add App Router template to bug report: #​46872
  • Add a timeout to next/font/google in dev: #​46834
  • Support unnamed default export expression #​46888
  • Only run toSource in next/font codemod if there are changes: #​46877
  • Add more JSDoc to types: #​46897
  • Fix TS plugin showing warning for error file's reset prop: #​46898
  • Fix conflict dev entry key between app and pages: #​46832
  • Update app-static e2e test: #​46900
  • Revert "Revert "Update vendored React"": #​46881
  • Add retry to the hmr acceptance test: #​46902
  • Fix with-jest and with-jest-babel example test snapshot failure: #​46885
  • Update generateStaticParams handling with fetch cache: #​46906
  • Fix unexpected hoist meta tags by react in app dir: #​46917
  • Update turbopack to 230308.1: #​46909
  • Support default export expression for variables: #​46896
  • Reduce the number of hydration error tests: #​46930
  • Update Turbopack to 230308.3: #​46935
  • Use https_proxy environment variable in next/font/google: #​46822
  • Validate req.url in renderer: #​46923
  • Validate the router state header on the server: #​46925
  • Rename FontLoaderManifest to NextFontManifest and add better comments: #​46922
  • Revalidate generateStaticParams/Paths in background in dev: #​46940
  • Support re-exporting unnamed function expression: #​46936
  • Support static file robots.txt and sitemap.xml as metadata route: #​46963
  • Update vendored react: #​46970
  • Move error overlay recovery tests to new file: #​46965
  • Improve RSC compiler error in external module: #​46953
  • Update Turbopack to 230309.2: #​46971
  • Use turbo remote cache for build-native-test: #​46975
  • Do not re-assign process.env: #​46914
Credits

Huge thanks to @​hanneslund, @​ijjk, @​JohnDaly, @​jridgewell, @​divslinger, @​shuding, @​DuCanhGH, @​balazsorban44, @​acdlite, @​teobler, @​styfle, @​manovotny, @​huozhi, @​smorimoto, @​Dannymx, @​Janpot, @​alexkirsz, @​nohr, @​Humboorgir, @​wyattjoh, @​timneutkens, @​overlookmotel, @​HaNdTriX, @​proustibat, @​fedeya, @​wbinnssmith, @​irekrog, @​JanKaifer, @​SukkaW, @​rayrw, @​kdy1, @​seiry, and @​unflxw for helping!

v13.2.3

Compare Source

Core Changes
  • build(cargo): update turbopack: #​46581
  • Fix(typedRoutes): fixed Webpack crashing without redirects/rewrites: #​46591
  • Fix async generateMetadata type in ts plugin: #​46596
  • Async Storage Cleanup: #​46586
  • Ensure URL can be passed to fetch correctly #​46592
  • Fix static to dynamic error in dev: #​46597
  • Add page path to repeated slashes in href error: #​46557
  • Implement middleware support for Turbopack: #​46397
Credits

Huge thanks to @​jridgewell, @​DuCanhGH, @​wyattjoh, and @​hanneslund for helping!

v13.2.2

Compare Source

Core Changes
  • fix(ts): correctly augment next when typedRoutes: true: #​46332
  • feat(cssnano-simple): merge into next repo: #​46380
  • Dedupe next/font preload tags: #​46354
  • Print command for current packet manager in @​next/font warning: #​46359
  • Loader refactoring: #​46304
  • Support server-only inside pages/api: #​46328
  • fix: improve next.config.js validation for images prop: #​46326
  • Revert "Support server-only inside pages/api": #​46388
  • Add relative app dir field: #​46393
  • test(integration): properly pipe turbopack binary stdouts: #​46382
  • chore: improve error when exporting metadata from client component: #​46334
  • Update server reference syntax and tests: #​46389
  • Fix SWC error wrongly formatted : #​46412
  • Fix(typedRoutes): replaced readFile + replaceAll, hid utils types, fixed duplication in type Route, fixed route groups on Windows: #​46378
  • Ensure fetch fields are detected with RequestInit: #​46398
  • Ensure SERVER_REFERENCE_MANIFEST is included in output files: #​46420
  • Fix duplicate link type asset generation: #​46421
  • chore: show large data warning once per page on prod: #​46323
  • fixed spelling mistake: #​46446
  • Fix(typedRoutes): export createServer from 'next/types/index.d.ts': #​46462
  • chore: Loss of precision due to Date now amplification: #​46344
  • Fix next/font/google config not being used: #​46484
  • Add @​latest to next/font codemod warning: #​46486
  • Add error for styled-jsx in Server Component: #​46482
  • Refactor style loader code: #​46490
  • Fix SWC's auto_cjs handling: #​46448
  • Add theme color media support for metadata: #​46502
  • Fix(typedRoutes): fixed 'next' imports on TS < 5.0: #​46507
  • fix: codemod should preserve type only import: #​46512
  • Add interactive-widget optional property to Viewport type: #​46506
  • Update router filter to be less sensitive: #​46515
  • Update fetch cache internal handling: #​46522
  • Upgrade precompiled react packages: #​46365
  • fix(error-overlay): hide "Learn more" when up-to-date: #​46488
  • Refactor route types to include rewrites and redirects: #​46327
  • Added bcrypt to the serverComponentsExternalPackages auto-optOut list: #​46532
  • feat: add support for the src folder for the instrumentation hook: #​46529
  • Fix viewport typing and refactor constants: #​46569
  • Fix shared entries/invalidators module scope: #​46533
  • Fix CSS imports not included in entries with a custom extension: #​46571
  • fix: should not warn when image unmounts: #​46567
  • fix: generate next-env.d.ts file during next lint command: #​46249
  • Fix infinite invalidations loop in app dir (#​46526)
  • Use og:image instead of og:image:url: #​46570
  • Fix usage of textDecoder to not break utf8 characters: #​46564
  • Fix app client child entry not being disposed when deleting the file: #​46583
  • Fix: canonical should allow relative urls: #​46584
Documentation Changes
Example Changes
Misc Changes
  • test(next-script): teardown next-dev instance via jest hooks: #​46383
  • Apply filtering after rewrite as well (#​46390
  • Fix fetch cache key inputs and encoding (#​46392
  • Fix failing app-static deploy test: #​46395
  • Cover 1st-party examples with tests (#​45270)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@​users.noreply.github.com> Co-authored-by: Tim Neutkens tim@timneutkens.nl
  • Updates cms-sanity example to use Sanity v3 (#​45662
  • Support Two-letter Language Codes(ISO-639-1) to metadata HrefLang types (#​46285
  • [next/codemod]: Preserve type-only imports when using next-image-to-legacy-image (#​46460
  • Remove incorrect comment (#​46467)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@​users.noreply.github.com>
  • dynamic = "error" violations should be shown in error overlay (#​45893
  • Fix typo from next-font (#​46468
  • Add image generation test to app route: #​46449
  • Remove baseUrl from create-next-app ts/jsconfig.json: #​46458
  • Update fetch cache key (#​46513
Credits

Huge thanks to @​balazsorban44, @​delbaoliveira, @​SukkaW, @​ijjk, @​hanneslund, @​JanKaifer, @​GitRowin, @​shuding, @​styfle, @​mjunix, @​kwonoj, @​thiskevinwang, @​DuCanhGH, @​SethFalco, @​yun-jay, @​harrytothemoon, @​timneutkens, @​huozhi, @​thomasballinger, @​aretrace, @​JesseKoldewijn, @​feedthejim, @​serkanbektas, @​teobler, and @​vadzim for helping!

v13.2.1

Compare Source

Core Changes
  • Fix / having wrong file size in build output: #​46314
  • Fix client filter case with redirects: #​46317
  • Handle same page reload case in filter: #​46324
Misc Changes
  • fix(cli): add navigation compat types to default next-env.d.ts: #​46321
  • Migrate create-next-app and e2e tests to Metadata API.: #​45819
  • Update isStale checking for fetch cache (#​46331
Credits

Huge thanks to @​JanKaifer, @​balazsorban44, @​ijjk, and @​leerob for helping!

v13.2.0

Compare Source

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: 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!

v13.1.6

Compare Source

Core Changes
  • Add debug info to static bailout message: #​45192
  • Fix dynamic no ssr with babel transform: #​45091
  • Fix React.lazy preloading during SSR: #​45160
  • Fix error overlay links in parenthesis: #​45155
  • Add build time error if error.js is missing "use client": #​44961
  • Show component stack in error overlay on hydration error: #​45089
  • Reduce component stack spacing for components without metadata: #​45218
  • Revert "Revert "Revert "Revert "Initial support for metadata (#​44729)"" (#​45113)"": #​45196
  • Update handling of autoscrolling on navigation in app: #​43845
  • perf: avoid sync re-renders when using next/link and next/image: #​45165
  • Support metadata icons field: #​45105
  • Add editor links to RSC build error: #​45179
  • misc: change strategy for link prefetch test: #​45234
  • Add handling for app/pages manifest race condition: #​45244
  • Update transform exports and tests: #​45251
  • Attach exports information in SWC transforms: #​45261
  • Update app cache handling in development: #​45248
  • TS plugin: warn about amp config in app: #​45254
  • Fix typo in TS plugin: #​45279
  • Allow metadata related exports in TS plugin: #​45282
  • build(cargo): update turbopack to turbopack-230125.1: #​45283
  • [edge] improve fetch stack traces in edge runtime: #​44750
  • Move router reducer to separate file: #​45236
  • add next.config.js options currently supported by turbopack: #​45309
  • Update debug logs for app cache: #​45291
  • Improved pnpm clean: #​45312
  • Fix:Manage Firefox and Safari Network error message: #​44929
  • build(cargo): update turbopack to turbopack-230126.1: #​45322
  • add pageExtensions as a supported turbopack option: #​45321
  • Ensure we warn for middleware with next export: #​45288
  • Add unit test for shouldHardNavigate: #​45303
  • Add unit test for redirect.ts: #​45223
  • Add test for fillCacheWithNewSubTreeData: #​45298
  • Add test for isNavigatingToNewRootLayout: #​45305
  • Remove unused optimistic tree parameters: #​45264
  • Ensure invalidateCacheBelowFlightSegmentPath file name is in line with the rest: #​45299
  • Resolve metadata fields: #​45237
  • Add turbopack route resolve handling: #​45314
  • Remove extra .ts from test file: #​45328
  • Add test for createOptimisticTree: #​45330
  • Clean up resolved todos: #​45332
  • add turbopackLoaders to config validation: #​45337
Documentation Changes
  • Update example test file name in cypress example: #​45146
  • chore: fix invalid-new-link error typo: #​45157
  • Update testing.md: #​45216
  • Update no-html-link-for-pages.md: #​45247
  • Update getting-started documentation: #​45284
Example Changes
  • Update README.md for examples/with-mqtt-js: #​45162
  • Pin library version in Convex example: #​45206
  • Updates with-supertokens example app: #​45214
Misc Changes
  • Re-prompt on invalid import alias: #​45194
  • create-next-app: warn if project dir isn't empty before prompts: #​45195
  • Add timeout for actions/cache restoring: #​45198
  • Update testing.md to reflect that we don't use yarn anymore: #​45185
  • fix: add src prefix on index page: #​45150
  • Ensure ctrl + c handling works with CNA prompts correctly: #​45205
  • Fix turbo cache miss due to depending on gitignored files: #​45166
  • Allow unit tests to be written in packages/next/src: #​45222
  • Run dev tests against default CNA templates: #​45211
  • Increase cache timeout for swc built files: #​45243
  • refactor(create-next-app): simplify import alias validation logic: #​45241
  • ci(workflow): notify new releases to vercel/turbo via repo_dispatch: #​45201
  • Revert "Fix new-error command": #​45221
  • Update flakey test cases: #​45290
  • Update flakey polyfills and acceptance tests: #​45313
  • Add docs on how to use MDX with app: #​44923
  • Update flakey fetch stack test: #​45318
  • Enable JS CNA tests for turbopack: #​45323
Credits

Huge thanks to @​MaxLeiter, @​CachorroC, @​ijjk, @​asadnq, @​huozhi, @​JanKaifer, @​ilyasmez, @​juliusmarminge, @​thomasballinger, @​tissawd, @​hanneslund, @​shuding, @​timneutkens, @​feedthejim, @​ClemensPaumgarten, @​kwonoj, @​Angelfire, @​rishabhpoddar, @​HyunseungLee-Travis, @​wbinnssmith, @​Schniz, @​ForsakenHarmony, @​wyattjoh, and @​dtrucs for helping!

v13.1.5

Compare Source

Core Changes
Example Changes
  • update Mux Player to latest, pin to ^1 and pin upchunk to ^3 add Mux …: #​45121
Misc Changes
Credits

Huge thanks to @​shuding, @​dylanjha, @​ijjk, @​Brooooooklyn, @​timneutkens, @​hanneslund, @​feedthejim, and @​JanKaifer for helping!

v13.1.4

Compare Source

Core Changes
Documentation Changes
  • Fix broken argument for rewrites on link reference docs: #​45073
  • Cannot redeclare block-scoped variable 'cookie'.: #​45079
Misc Changes
Credits

Huge thanks to @​guilhermefront, @​shuding, @​kdy1, @​iamrobins, @​hanneslund, @​feugy, and @​jridgewell for helping!

v13.1.3

Compare Source

Core Changes
  • Refactor next dynamic: #​44832
  • Add built-in server-only and client-only: #​44861
  • Handle empty module from the next dynamic loader: #​44873
  • Update pre-compiled: #​44874
  • Use sequentialRead while encoding images with sharp: #​44881
  • Move server-external-packages to JSON: #​44910
  • fix standalone wrong url being logged: #​44887
  • Custom RSC compiler error message in pages/: #​44865
  • Replace eslint rule for no-shadow with typescript-eslint/no-shadow: #​44936
  • Ensure rootLayoutIncluded is set on partial render: #​44958
  • Fix force-static description in next-typescript: #​44951
  • Fix CSS imports being tracked multiple times: #​44938
  • Use withoutEnlargement instead of sharp.metadata(): #​44890
  • Update res.revalidate to pass through headers: #​44981
  • Add experimental.allowedRevalidateHeaderKeys config: #​44985
  • Gracefully handle telemetry not being available: #​44986
  • Add proper error when app path switches static to dynamic: #​44989
  • Ensure force-dynamic is honored during build: #​45015
  • Fix turbo usage in tests: #​44715
  • Add project directory rename/remove handling: #​44911
  • chore: open dev overlay error links in new tab: #​45018
  • Remove next-app-loader from import trace: #​44996
  • Ensure additional windows are not created on Windows OS: #​45022
  • Don't dispaly "Error: " twice when router isn't mounted: #​45038
  • Display the reason of hydration error in error overlay: #​44857
  • Fix typescript plugin: #​44128
  • Add shiki and vscode-oniguruma to default server-external packages: #​44968
  • Fix error when CSS @​import fails to resolve: #​45010
  • Fix next/dynamic non ssr in pages when appDir is enabled: #​45066
Documentation Changes
  • Update building-forms.md: #​44862
  • Prompt for custom import alias and store preferences in CNA: #​44872
  • Next/Script documentation beforeInteractive inconsistency: #​44898
  • fix(docs): update broken link for preset.ts: #​44916
  • Fix Node.js version to 14.6.0 in Upgrading guide.: #​44939
  • update redirects.md: #​44960
  • Add AsyncLocalStorage to edge-runtime APIs: #​44975
Example Changes
  • Removes title warning from cms example: #​44894
  • Fix with-stencil example: #​44964
  • refactor: Latest Tigris sdk and example using decorators: #​44256
Misc Changes
  • port type: needs investigation into linear: #​44823
  • Create new action that will auto-label issues that have some activity after we mark them as "verify-canary" or "add repro"": #​44815
  • test(snapshot): allow snapshot test not invalidate with --turbo: #​43545
  • Remove extra styled-components disabled test: #​44870
  • Fix prepublish compiled handling: #​44914
  • Update test env variable passing: #​44912
  • Support Prefer Offline for testing: #​44935
  • Update test env for E2E deploy mode: #​44937
  • Update build env for test timings: #​44970
  • Update to skip test timings on docs change: #​44971
  • Update some flakey acceptance tests: #​44984
  • Optimize to skip upload for non-publish swc builds: #​44987
  • Update codesandbox link in issue template: #​44995
  • Update test timings token env: #​45014
  • Remove useless ts-ignores: #​45025
  • Fix release stats: #​45027
  • Remove legacy safari test: #​45055
Credits

Huge thanks to @​huozhi, @​ijjk, @​kwonoj, @​josuareich, @​Brooooooklyn, @​JanKaifer, @​rajavijayasaradhi, @​rortan134, @​IgnisDa, @​ChanhyukPark-Tech, @​hanneslund, @​wyattjoh, @​leerob, @​kristian240, @​deli-ght, @​shuding, @​ITJesse, @​dunklesToast, @​therealrinku, @​adilansari, @​reiss-d, and @​selenecodes for helping!

v13.1.2

Compare Source

Core Changes
  • Add special error message for class component in server component: #​44265
  • Update license year: #​44403
  • Move core files to src folder and move JS files to TypeScript: #​44405
  • refactor: add warning helper for removed experimental option: #​44213
  • types: remove config.experimental.profiling: #​44507
  • chore: addresses leftover from #​44045: #​44080
  • Fix cookie parsing removing extra =: #​44218
  • Update server-external-packages to include aws-crt: #​44214
  • Collapse sequences of call stack frames from React and Next.js in the error overlay: #​44137
  • Update json5 dependency to latest: #​44548
  • Improve errors caused by client hook called in a server component: #​44538
  • Remove unused target: es5 from tsconfig.json: #​44567
  • Make static page prefetch apply on navigation in app dir: #​44502
  • Improve errors caused by Next.js client hook called in a server component: #​44588
  • Add updated flush handling on sigterm: #​44614
  • chore: improves console warnings related to edge runtime: #​44563
  • hmr error improvements: #​30616
  • feat(standalone): allow configuring HOSTNAME via env var: #​44627
  • Add experimental pre-compiled next-server: #​43198
  • Fix check-precompiled for next-server: #​44669
  • Refactor use of AsyncLocalStorage: #​44668
  • Add required default value for the ids parameter: #​44694
  • Start client compiler when server components are finished compiling: #​44716
  • fix: support runtime value when using multiple declarations per export: #​44732
  • land(Fix: Add trailing slash to locale redirect based on next config): #​44735
  • Fix IPv6 hostname formatting in CLI: #​43491
  • Hydration error link is appended multiple times in app-dir: #​44741
  • Improve errors caused by Class Component rendered in a server component.: #​44726
  • Update jsonwebtoken: #​44748
  • @​next/font: Add preconnect tag when fonts are used but not preloaded in app-dir: #​44746
  • Ensure folder exists for standalone server: #​44745
  • chore: Update swc_core to v0.53.0: #​44707
  • Revert "chore: Update swc_core to v0.53.0": #​44760
  • chore: fix typo: #​44761
  • Fix app ISR handling with no generateStaticParams: #​44787
  • Update to latest version of pnpm: #​44791
  • Fix router.refresh() resetting state and Suspense boundaries: #​44775
  • Fix capitalization in formatted server errors: #​44798
  • examples: Bump SWR to v2.0.0: #​44790
  • Fix image emittion for pure client image: #​44831
Documentation Changes
  • Update custom-app.md: #​44351
  • Update next/head docs.: #​44454
  • uses spelling: #​44399
  • Update Turbopack docs.: #​44468
  • Fix link to next-image-to-legacy-image codemod: #​44471
  • Add module transpilation docs: #​44518
  • Update TypeScript API Route example: #​44517
  • Update config-shared docs link: #​44547
  • Docs: Update next/font to @next/font: #​44573
  • Improve modularized imports docs and add config options to example: #​44560
  • Remove old links in docs.: #​44580
  • Test navigation between multiple root layouts: #​43762
  • [docs/bugfix] fix code example for "Prefixing the Default Locale" - NEXT_LOCALE cookie usage: #​44587
  • Correct link to full list of Permissions-Policy permissions: #​44607
  • Update subset validation in @​next/font/google and fix CJK bug: #​44594
  • Update mdx docs example to show merging config: #​44656
  • docs: clarify default basePath value: #​44642
  • docs(middleware): add _next/image to match ignore: #​44659
  • Update redirects.md to fix a typo.: #​44677
  • Fix broken links in @​next/font API reference: #​44714
  • Add missing modularizeImports on config snippets: #​44734
  • Update prompts for CNA and add default @​/* alias: #​44672
  • Clarify middleware.ts location in docs: #​44788
Example Changes
  • Update with-sentry README.md Next.js version: #​44374
  • fix link to index page in Image Component Example: #​44388
  • Update get-api-cookie.ts: #​44466
  • Update .gitignore in pwa example: #​44391
  • Use the stable GraphQL Yoga v3 in the GraphQL example: #​44488
  • [examples] add @​types/testing-library__jest-dom package: #​44533
  • Improvements to Cloudinary Example: #​44572
  • Create i18n example using app-dir and middleware: #​44257
  • Add lang, generateStaticParams, and server-only for i18n example: #​44597
  • remove unnecessary babel.config.js in react native web example: #​43939
  • Update to with-supertokens example: #​44640
  • Add support for rendering MDX as a server component: #​44651
  • Update: SharedModal.tsx swipe bug in with-cloudinary: #​44771
  • [example] Add missing package in app dir i18n example: #​44820
Misc Changes
  • docs: add pnpm to template readme: #​44427
  • Added actual error message to log output: #​44453
  • Fix isolated tests on windows and update azure config: #​44457
  • docs: Update GitHub CLI clone command in developing.md: #​44509
  • Cache package lock when running tests to speed up installation: #​44520
  • Test server component error recovery in dev: #​44155
  • Fix taskr watching core files
  • add testonly variants for all test modes and refactored test as alias of testheadless: #​44528
  • Use test timings token when available: #​44549
  • Remove un-used app-dir test fixture: #​44546
  • Fix prettierignore_staged for compiled: #​44550
  • Revert "Use turbo for packing files in test setup (#​44074)": #​44566
  • Remove extra pnp test: #​44576
  • Update CNA tests running: #​44577
  • misc: fix benchmark script: #​44592
  • Change NextInstance.fetch Signature: #​44575
  • Update CNA test skipping: #​44606
  • Disable telemetry for pnpm next when contributing locally: #​44610
  • Update flakey styled-components test: #​44613
  • Temporarily disable Azure e2e tests: #​44616
  • Fix docs only change for canary: #​44617
  • Fix font unit test on Azure: #​44618
  • Fix paths for check-examples script: #​44661
  • Change test template to use TS and improve template for app-dir: #​44227
  • Replace usage of example.com in gssp-redirect tests: #​44664
  • Ensure yarn is used for next-with-deps: #​44666
  • Recommend next-with-deps for running examples: #​44667
  • Fix new-error command: #​44720
  • @​next/font/google unknown font error: #​44713
  • Migrate set-output usage to $GITHB_OUTPUT: #​44757
  • Add simple test that custom server works: #​44536
  • Migrate basic-basepath tests into basic: #​44776
  • Autolabel with linear when labeled with kind: bug: #​44774
  • Exposing NextFont types: #​44772
  • Fix set output handling for DOCS_CHANGE env: #​44789
  • Fix echoing DOCS_CHANGE result
  • Correctly handle @​next/font/google fonts without any preloadable subsets: #​44809
  • Update release stats for newer pnpm version: #​44828
  • Fix FreeBSD next-swc build: #​44833
Credits

Huge thanks to @​shuding, @​chogyejin, @​ijjk, @​smeubank, @​h4x0rlol, @​leerob, @​arch-user-france1, @​konojunya, @​nora-soderlund, @​IDrumsey, @​dirheimerb, @​timneutkens, @​BrandNewLifeJackie26, @​hyeongrok7874, @​ardatan, @​chibicode, @​JanKaifer, @​hanneslund, @​abir-taheer, @​SukkaW, @​promer94, @​feugy, @​fli, @​seawatts, @​awareness481, @​delbaoliveira, @​Nutlope, @​styfle, @​feedthejim, @​wyattjoh, @​Cielquan, @​NiedziolkaMichal, @​nissy-dev, @​balazsorban44, @​raulfdm, @​sokra, @​rishabhpoddar, @​wbinnssmith, @​CuriosBasant, @​gurkerl83, @​akshitsinha, @​ianldgs, @​kdy1, @​sorrycc, @​tapaskumar05, @​stuartkeith, @​EmilianoGarciaLopez, @​valentinpolitov, and @​huozhi for helping!

v13.1.1

Compare Source

Core Changes
  • Exclude srcset from svg image: #​44308
  • Fix CSS resource path not matched in __entry_css_files__: #​44310
  • Fix next/image 404 when basePath and trailingSlash defined: #​44312
Documentation Changes
  • Remove experimental for modularizeImports from docs and example: #​44311
Example Changes
  • Updated dependencies for with-tailwindcss example: #​44289
Misc Changes
  • Use turbo for packing files in test setup: #​44074
Credits

Huge thanks to @​JanKaifer, @​Nutlope, @​styfle, and @​chibicode for helping!

v13.1.0

Compare Source

Core Changes
  • Fix windows slashes for app client entry: #​44052
  • Hash both pitch and main loader for server CSS imports: #​44063
  • Add tracing for testing tools: #​44046
  • Run packing in tests in parallel: #​44048
  • feat: app dir error-global component: #​44066
  • Fix ignoring dev warning for preload component: #​44065
  • refactor(next-swc): introduce next-binding to consolidate dependencies.: #​43473
  • Add lodash to server components external packages: #​44022
  • Fix dev session stopped handling: #​44112
  • Add jsdoc/no-types eslint rule for TypeScript files: #​44049
  • Revert "Remove useState from next/image (#​43587)": #​44094
  • should not contain pages css in app dir: #​44151
  • Upgrade undici to 5.14.0 to fix fetch redirect bug: #​44133
  • build(cargo): fix turbopack + next-swc build: #​43983
  • Align onRecoverableError callback between pages and app dir: #​44161
  • build(cargo): update turbopack: #​44167
  • Update styled-jsx: #​44070
  • Fix crash in GraalVM: #​44176
  • Also check error.message as digest for recoverable errors in pages: #​44185
  • Move options to stable: #​44195
  • Move transpilePackages out of experimental: #​44194
  • Fix CSS resources being duplicated in app dir: #​44168
  • Add telemetry for stable features: #​44201
  • Add warning for experimental flags that have moved: #​44202
  • build(cargo): bump up turbopack: #​44206
  • Bump @vercel/nft@0.22.6: #​44193
  • Disable Image Optimization API when next.config.js has unoptimized: true: #​44205
  • Honour distDir in type generation: #​44207
  • Only once for the next/head usage in app dir: #​44233
  • Enable allowMiddlewareResponseBody by default: #​44224
  • Move modularizeImports out of experimental: #​44240
  • Update config validation for latest turbopack changes: #​44223
  • build(cargo): update turbopack: #​44241
  • update turbopack for bugfixes: #​44251
Documentation Changes
  • docs: Add explanation about font-display: #​44001
  • Test that adding query can be detected by useSearchParams: #​43969
  • Add static test for useSelectedLayoutSegments: #​43955
  • Docs: Update deployment.md with Firebase, Amplify and Cloudflare: #​44092
  • Add test for rewriting in middleware in app-dir: #​43971
  • docs: Add missing type to import statement: #​44111
  • docs: update next/dynamic docs: #​44067
  • Update disabling-http-keep-alive.md for server-side only: #​43374
  • docs: fix spelling error: #​44191
  • Write tests for navigation between app-dir and pages: #​43881
  • Add docs for middleware flags: #​44235
Example Changes
  • Updates with-supertokens example: #​44042
  • Fix styled-components setup in turbo example: #​44165
  • update with-turbopack example for postcss/tailwind support: #​44261
Misc Changes
  • Run packing in tests in parallel
  • Revert "Run packing in tests in parallel"
  • Remove extra turbo test: #​44073
  • Implement new core test API: #​44086
  • Refactor more tests to createNextDescribe: #​44104
  • Add types as a default dependency into tests: #​44140
  • Suggest contributors to use shallow clone: #​44158
  • Update pnpm new-test to use createNextDescribe: #​44147
  • Update README templates to include snippet on next/font: #​44088
  • Wrap CSS variable in var: #​44153
  • Ensure next.url is used instead of next.appPort: #​44163
  • test: add test for notFound during streaming: #​44078
  • Fix test template example: #​44170
  • Remove devcontainer network host argument: #​44157
  • Fix pnpm install on Azure: #​44179
  • Enable ReactRefreshLogBox scss test: #​44180
  • Increase recommended git clone depth: #​44181
  • Document how chain works in BrowserInterface and chain to browser.eval: #​44085
  • Remove browser.refresh in app tests: #​44186
  • Move tests into their test folder: #​44183
  • Add test checking that repeated edits won't cause hydration issues: #​44189
  • Update labeler.json with current next.js team members: #​44231
Credits

Huge thanks to @​shuding, @​hanneslund, @​rishabhpoddar, @​JanKaifer, @​huozhi, @​timneutkens, @​kwonoj, @​IamManchanda, @​styfle, @​nyedidikeke, @​jaslong, @​jueungrace, @​longzheng, @​akshitsinha, @​Brooooooklyn, @​gish, and @​sokra for helping!

v13.0.7

Compare Source

Core Changes
  • Update react next tag: #​43617
  • fix(jest): pattern when detecting packages to transpile in next/jest: #​43546
  • Adding head element checking for root layout: #​43597
  • Revert: 'Minimized runtime errors in app dir': #​43648
  • fix: properly handle trailingSlash: true and rewrites: #​43641
  • @​next/font fallback fonts order fix: #​43633
  • Update cache handling for app: #​43659
  • Remove resolved app directory todos: #​43672
  • Fix typo in comment: #​43685
  • perf: disable prefetching for links in viewport in development for app routes: #​43730
  • Remove additional <div> at each segment level in app: #​43717
  • Revert "Adding head element checking for root layout": #​43760
  • fix ci pnpm lock error: #​43767
  • Force reflow when setting scrollBehavior: #​43673
  • Remove __webpack_exports__ from error overlay: #​43715
  • Fix chunk hash logic in hot-reloader for server components: #​43778
  • Assign layer to app client entries: #​43197
  • Remove notifications emitted during pnpm dev: #​43801
  • Display error digest if presented: #​43742
  • Fix HMR issue after patching the client module: #​43819
  • Implement loadable with lazy and suspense for next dynamic: #​42589
  • Do not attach CSS checksum for production build: #​43827
  • Provide error hints for invalid layout props via the TS plugin: #​43835
  • Refactor code: #​43828
  • Unhandled errors and rejections opens as minimized in app dir error overlay: #​43844
  • docs: add readme with development instructions for next/swc: #​43834
  • Use proxy to ensure Flight is referencing to the latest module during development: #​43823
  • memory: fix 2 memory leaks in next-dev: #​43859
  • Refactoring in @​next/font: #​43848
  • build(cargo): bump up swc_core, turbopack: #​43652
  • Move prefetch bailout to start of the prefetch function for pages: #​43731
  • Alias next/head to noop for rsc and add upgration warning: #​43885
  • Update freebsd build: #​43866
  • Fix error message for invalid runtime option in app dir: #​43900
  • fix: forwarding props to no ssr dynamic: #​43901
  • Improve type checking error message for invalid props: #​43903
  • Improve type checking error message for invalid props: #​43903
  • Support for named slots in type checking: #​43906
  • Fix next/dynamic types for resolving named export module: #​43923
  • Add auto completion for prop names and types to the TS plugin: #​43909
  • Skip creating VSCode config and .gitignore if running in CI: #​43935
  • Add helpful error for createContext used in Server Components: #​43747
  • Increase stack trace limit on the server: #​43800
  • Refactor image optimization util: #​43868
  • useSearchParams - bailout to client rendering during static generation: #​43603
  • Open server component errors fullscreen: #​43887
  • next-dev: restart dev server exceeds the memory limits: #​43958
  • Fix: status log when NEXT_TELEMETRY_DISABLED env is set: #​43948
  • Erase dynamic ssr:false imports on server: #​43974
  • use a function expression to access arguments binding: #​43987
  • Added support for query params on not found pages: #​43836
  • Update no-img-element lint rule: #​43982
  • Fix: fix pages in Route Groups returning 500 with output: "standalone": #​43746
  • Add default head for app dir: #​43963
  • Fix browser navigation buttons not working with shallow routing and middleware: #​43919
  • Fast refresh should recover from event handler errors in app dir: #​43882
  • Fix module error for findDOMNode on edge: #​43998
  • Adding data attr to inlined font definition: #​44008
  • Replace taskr.watch for core compilation: #​44027
  • Fix .images.remotePatterns[0].port warning: #​44032
  • Fix app client entry key for windows: #​44011
  • feat: enables 'edge' as a possible runtime for API routes: #​44045
Documentation Changes
  • docs: Add notes about NEXT_MANUAL_SIG_HANDLE: #​43686
  • Changes vercel/examples links from linking to GitHub repo to template marketplace: #​43780
  • docs(migrating): fix broken react-router link: #​43843
  • Update compiler.md: #​43872
  • Add docs for missing support on custom routes: #​44007
  • docs: fix wording: #​44020
  • not ie 11 is dead: #​44029
Example Changes
  • Add with-cloudinary example: #​43250
  • examples(with-turbopack): Fix styling page default active stylingNav: #​42739
  • Fixed broken Cloudinary example: #​43646
  • Convert with-why-did-you-render example to TypeScript: #​43736
  • chore(examples): Remove deprecated function from chakra: #​43784
  • chore(examples): Update convex example: #​43741
  • Update dependencies for Convex demo: #​43855
  • Convert with-gsap, with-mqtt-js, with-mux-video examples to Typescript: #​43874
  • Fix with-webassembly example and convert to Typescript: #​43677
  • corrected /examples/github-pages readme: #​43766
  • chore: add repro links in "verify canary" comment: #​43979
  • Move Google Analytics script to the
  • : #​43838
Misc Changes
  • Apply publish step optimizations: #​43620
  • Update create-next-app template: #​43482
  • Update test config: #​43661
  • Update flakey app logbox test: #​43682
  • Update flakey GSSP preview test: #​43702
  • Fix typos in 1.bug_report.yml: #​43697
  • Disable jest autorun in this repo: #​43727
  • Build test binary in Docker image: #​43745
  • Update bug report template to make it clear we require repro: #​43735
  • Add tests for server component HMR: #​43779
  • Add tests for rendering null and undefined in RSC: #​43768
  • Remove swcMinify from Next config in CNA template: #​43782
  • Remove serverComponents from next.conf.js because it's unused: #​43805
  • Add test for providing correct params to layouts: #​43775
  • Fix test binary generation and update test config: #​43790
  • Lock pnpm version during publish: #​43820
  • ci(actions): pin prod-test action image: #​43748
  • Upgrade playwright to 1.28.1: #​43818
  • modify rd email: #​43837
  • Test imports of all file types: #​43751
  • test: client component under server component with ssr:false: #​43853
  • Delete duplicate SECURITY.md: #​43856
  • Clarify e2e dependency on yarn in contributin docs: #​43287
  • test: use react latest: #​43884
  • Update @​next/font data: #​43883
  • Update flakey dev context tests: #​43951
  • Add VSCode settings and recommended extensions for Next.js repository: #​43954
  • Add Web Tooling team to codeowners: #​43981
  • Update docs change files list: #​43984
  • Fix e2e deploy test setup: #​43990
Credits

Huge thanks to @​Nutlope, @​huozhi, @​m7yue, @​BRKalow, @​Andarist, @​hanneslund, @​jueungrace, @​balazsorban44, @​ijjk, @​mmaaaaz, @​Alfred-Mountfield, @​soonoo, @​JanKaifer, @​feedthejim, @​Brooooooklyn, @​shuding, @​manovotny, @​maxproske, @​AnujSsStw, @​thomasballinger, @​kwonoj, @​aaronbrown-vercel, @​saseungmin, @​styfle, @​timneutkens, @​aziyatali, @​labyrinthitis, @​padmaia, @​mattpr, @​gnoff, @​wyattjoh, @​aarnadlr, @​DuCanhGH, @​kleintorres, @​janicklas-ralph, @​theevilhead, @​Nfinished, and @​feugy for helping!

v13.0.6

Compare Source

Core Changes
  • test(integration): allow to run --turbo dev server tests dynamically : #​42967
  • Ensure loaderFile is included in webpack cache key: #​43315
  • Improve @​next/font error handling: #​43298
  • Improve RSC plugin to provide better errors: #​42435
  • fix appDir returning 404 in production with "output": "standalone": #​43268
  • Fix outputting un-necessary trace files for edge functions: #​43304
  • fix: apply default export interop to pages/_app: #​43335
  • Fix package resolution issue in app dir: #​43349
  • Get correct chunks in flight-manifest on Windows: #​43334
  • Resolve RSC / HTML rendering errors in error overlay: #​43332
  • App directory next/link dynamic href dev error: #​43074
  • Add ref forwarding for next/image: #​43193
  • Always transform styled-jsx for rsc and error with client-only condition: #​43386
  • dynamic = 'error' should only throw if page didn't get exported: #​43377
  • fix output: "standalone" returning 500 error on certain pages when built without pages/: #​43336
  • Fix "apply() is only allowed in ready status (state: idle)" HMR errors: #​43242
  • Add gSP and gSSP checks for both server and client layers in the SWC transform: #​43391
  • Make sure the TS plugin works for src/app: #​43412
  • Remove stack trace from full reload warning: #​43453
  • Upgrade compiled undici: #​43481
  • Fix missing cleanup process in flight plugin globals: #​43297
  • Fix matchers in middleware manifest: #​43549
  • rsc: bundle legacy head as client component: #​43425
  • Remove useState from next/image: #​43587
  • Group redirect status imports: #​43480
  • Fix Failed to copy traced files for Edge functions and handle its files with middleware-manifest.json: #​43326
  • Update next/link default legacyBehavior: #​42623
  • fix: Dynamic Usage Error when using previewData with generateStaticParams and appDir: #​43395
  • Minimized runtime errors in app dir: #​43511
Documentation Changes
  • Add link back to font video in Font docs.: #​43440
  • docs: update known Safari bug: #​43513
  • Add yarn berry dependency upgrade example for Next 12 to 13 upgrade documentation.: #​43472
  • Clarify that publicRuntimeConfig and serverRuntimeConfig do not work with Output File Tracing: #​43443
  • adding note that edge api routes are not supported with ISR: #​43572
  • Improve docs for URL Imports: #​43615
Example Changes
  • chore(examples): Deprecate cms-strapi: #​43325
  • Add example commands for creating reproductions: #​43375
  • updates with-supertokens example: #​43379
  • Fix with-docker-compose example: #​43419
  • chore(examples): fix CLI commands for MobX examples: #​43534
  • Simplify and convert with-vercel-fetch example to TypeScript: #​43403
  • chore(examples): reference main prop in README.md in Firebase example: #​43434
  • chore(examples): Update active-class-name example: #​43581
  • Fix deploy button in with-xata example: #​43608
Misc Changes
  • Avoid turbo cache miss on root package change: #​43309
  • Add .pnpm-store to .gitignore: #​43366
  • Update @​next/font/google fonts: #​43385
  • Catch errors when calculating avg font width: #​43503
  • chore: update issue verifier: #​43339
  • chore: fix issue validator
  • chore: move comments of issue validator
  • chore: hardcode path for issue validator
  • chore: add area dropdown to bug report template: #​43228
  • chore: fix issue verifier issues
  • Merge branch 'canary' of https://github.com/vercel/next.js into canary
  • chore: fix issue verifier
  • chore: don't comment twice
  • chore: disable auto-labeling
  • Fix "infer pnpm with example" test outside test suite: #​43487
  • chore: add issue labeler: #​43599
  • chore: fix issue labeler: #​43606
  • Changed output mode on app directory test application: #​43607
  • Fix output: standalone test for app directory: #​43618
Credits

Huge thanks to @​kwonoj, @​hanneslund, @​ijjk, @​shuding, @​DuCanhGH, @​chibicode, @​artechventure, @​JanKaifer, @​huozhi, @​colinking, @​rishabhpoddar, @​maxproske, @​wyattjoh, @​leerob, @​alantoa, @​Haschikeks, @​balazsorban44, @​matthew-heath, @​AaronJY, @​dtinth, @​styfle, @​leoortizz, @​ValentinH, @​brvnonascimento, @​joshuaslate, @​SferaDev, and @​timeyoutakeit for helping!

v13.0.5

Compare Source

Core Changes
  • Remove unnecessary async function when preloading async components: #​42957
  • Add force-static handling for app dir: #​43061
  • Add experimental outputFileTracingIgnores config: #​43103
  • Leverage outputFileTracingIgnores for next-server trace as well: #​43108
  • Remove unstable_revalidate: #​43119
  • types: better type definition for internal utils: #​43070
  • Eagerly build swc binaries on change: #​43142
  • chore: Update swc_core to v0.43.23: #​42977
  • fix(next-swc/relay): make pages directory optional: #​43116
  • Remove the timestamp query for CSS resources: #​43185
  • Update experimental skipTrailingSlashRedirect handling: #​43201
  • Avoid bundling appDir rendering into pages edge SSR bundle: #​43184
  • Alias esm next document to avoid mismatch react context: #​43192
  • Fix middleware not executed when pages directory is empty: #​43205
  • Remove app routes from _devPagesManifest: #​43188
  • Fix HMR error: "Cannot read properties of null (reading 'length')": #​43145
  • fix(ts): re-export PageComponent and LayoutComponent types: #​43226
  • Fix app routes are not correctly matched when src directory is used: #​43234
  • chore: add firebase-admin to default serverComponentsExternalPackages list: #​43249
  • Fix React.cache() in layout/page file: #​43187
  • build(cargo): bump up turbopack: #​43273
  • fix(next-swc): aarch64 build: #​43275
  • Add fallback aliases for React: #​43203
  • fix: apply default export interop to next/error: #​43238
  • Remove unused use-sync-external-store dependency: #​43281
  • Imageloader: collect images serverside to include images from staticp…: #​41554
  • Update precompiled react: #​43288
  • Resolve next api for layouts to esm for edge runtime: #​43302
  • Refactor code: #​43291
  • Show error for invalid page props in the TS plugin: #​43300
  • docs: add error link when missing appDir: true: #​43293
Documentation Changes
  • Add note in next/link docs about anchor props: #​43064
  • Remove unneeded async in docs.: #​43161
  • Add JWT example to error page.: #​43162
  • Updated typo in the documentation: #​43160
  • Add missing quote in next/script example: #​43196
  • Add a note about the auto-created empty directory: #​43219
  • docs: Add default browserslist configuration as a starting point: #​43260
Example Changes
  • chore: Updating Tigris example to use stable release: #​43058
  • examples(with-ant-design): bump antd v5.0.0: #​43062
  • fix: Wrong link to source in "responsive" image example: #​43081
  • chore(examples): with-msw update msw: #​43224
  • Fix With Passport example: #​43232
  • chore(examples): update Next.js in with-redux-reducer: #​43237
  • Updates supertokens example app SSR behaviour: #​43218
  • docs: add missing AppProps import: #​43136
  • Convert more jsx/styled-components examples to TypeScript: #​43117
  • Convert with-videojs, with-yoga, with-zones examples to TypeScript: #​43280
Misc Changes
Credits

Huge thanks to @​hanneslund, @​adilansari, @​chunsch, @​bennettdams, @​maxproske, @​SukkaW, @​kdy1, @​orionmiz, @​leerob, @​shuding, @​aziyatali, @​NiedziolkaMichal, @​huozhi, @​colinking, @​juliusmarminge, @​andykenward, @​Yutsuten, @​balazsorban44, @​FomichRoman, @​rishabhpoddar, @​arturbien, @​ADTC, @​JanKaifer, @​ijjk, @​kwonoj, @​joliss, @​Andarist, and @​Laityned for helping!

v13.0.4

Compare Source

Core Changes
  • Show link to the docs for route segment config options: #​42779
  • fix: Fix regression of swc minifier: #​42790
  • Add additional item to RSC payload, preparing for head.tsx on navigation: #​42791
  • Use window.location directly instead of parsing into URL: #​42888
  • feat(next-swc/relay): Add javascript to language: #​42894
  • types(#​42003): better typing for next/link: #​42117
  • Ensure query is provided correctly with middleware rewrites: #​42818
  • feat(next/swc): allow to run custom turbopack binary: #​42656
  • fix: Error: NEXT_REDIRECT crashing server in prod: #​42793
  • Update caching for swc turbo builds: #​42929
  • Handle head.js on client-side navigation: #​42904
  • feat(jest): respect transpilePackages in tests: #​42987
  • App files ending with page registred as page files: #​42996
  • Allow generateStaticParams to be a synchronous function in app directory: #​42942
  • chore(eslint-config-next): bump eslint-import-resolver-typescript: #​43010
  • Ensure next.config.js function is handled for turbo: #​43015
  • Fix app page check on windows: #​43022
  • Add middleware prefetching config: #​42936
  • Fix middleware prefetch cases: #​43056
  • Ensure backslash is correctly handled in find-page-file: #​43057
  • Fix app render: escape segment value #​42626: #​42823
Documentation Changes
  • docs: fix middleware docs cookie example: #​42816
  • Update docs/advanced-features/debugging.md: #​42842
  • docs(edge-api-routes): fixes example: #​42903
  • Update SFCC example to use TypeScript + @next/font: #​42865
  • Add more details to invalid-next-config doc: #​42917
  • typo: #​42968
  • Document regions config for experimental-edge: #​43009
  • docs: Add examples of using multiple weights and styles: #​43031
Example Changes
  • chore(examples): next/future/image -> next/image: #​42794
  • docs(examples): auth0 update callback URL: #​42855
  • Updates Apollo Server Examples to use Apollo Server 4 & @​as-integrations/next: #​42771
  • Improve with-algolia-react-instantsearch example and convert to TypeScript: #​42617
  • Convert blog cover images to next/image: #​42908
  • Make cover image full width: #​42916
  • Convert with-app-layout example to TypeScript: #​42930
  • Tigris example with Next.js: #​42662
  • feat(examples): with-grafbase: #​42898
  • docs(examples): add postgres.js example: #​42962
  • Remove with-atlaskit example: #​42973
  • Remove with-carbon-components example: #​42976
  • Remove with-cerebral example: #​42980
  • Remove swcMinify option from example configs: #​43012
  • Convert with-cssed, with-csx, with-styled-jsx examples to TypeScript: #​43018
  • feat(examples): use experimental edge runtime with grafbase: #​42992
Misc Changes
  • Update bundle analyzer dependency and output: #​42797
  • Update to latest version of turbo CLI: #​42803
  • Fix cache collision for swc darwin: #​42960
  • Fix build-wasm-dev docs skip: #​42961
  • Update deployment used for e2e test: #​42969
  • test(integration): update test fixture: #​42966
  • Fix test retry cleanup: #​43011
  • Update test wasm timeout: #​43014
  • @​next/font/google variable fonts without weight range: #​43036
  • Update build-wasm to checkout directly: #​43054
Credits

Huge thanks to @​shuding, @​balazsorban44, @​kdy1, @​huozhi, @​reyrodrigez, @​andykenward, @​idoob, @​maxproske, @​KoltonG, @​timneutkens, @​feugy, @​leerob, @​steven-tey, @​SukkaW, @​kwonoj, @​adilansari, @​hanneslund, @​notrab, @​zekicaneksi, @​silvioprog, @​joulev, @​chanceaclark, and @​Marcus-Rise for helping!

v13.0.3

Compare Source

Core Changes
  • bump @​typescript-eslint/parser version to support TS 4.8: #​42439
  • chore: Update swc_core to v0.40.40: #​42326
  • Add telemetry for turbotrace: #​42486
  • Fix undici warning in Node.js 18: #​42477
  • Ensure RSC is detecting correctly during revalidate: #​42508
  • fix: correctly mention generateStaticParams in error: #​42524
  • Re-enable sandbox cache and update AsyncLocalStorage usage: #​42547
  • Check properly whether SWC is used or not when using forceSwcTransforms: #​42531
  • Show inlined error if the "use client" directive is not before other statements/expressions: #​42507
  • Refactor error codes in the TS plugin: #​42585
  • Fix server html insertion target: #​42591
  • next/compat/router: #​42502
  • Fix scrolling on router.refresh: #​42583
  • Fix relative TypeScript path in monorepos: #​42586
  • Aggregate updates using addStatusHandler and Promise.resolve instead of setTimeout: #​42350
  • fix(next/dev): bubble up unhandled exception from --turbo: #​42594
  • Rename RSC and Router headers: #​42482
  • Ensure build trace ignores apply correctly when nested: #​42606
  • Include @​prisma/client in default external packages: #​42624
  • Replace global with globalThis: #​42627
  • Colocate styles with special entries: #​42506
  • Add lazy initialize of router cache nodes: #​42629
  • Add telemetry for @​next/font: #​42579
  • Also create head when creating root layout: #​42571
  • feat: add --no-mangling to next build + fix --profile option: #​42633
  • update react builtin deps for next channel: #​42639
  • Ensure skip normalize is handled correctly: #​42642
  • @​next/font/google fetch error dev: #​42637
  • Add missing matcher support: #​42660
  • Remove useless async declaration and replace regexp to plain string in AMP postProcessor: #​42495
  • @​next/font error messages: #​42689
  • Adopt script rejection pattern for link onerror.: #​42645
  • Fix @​next/font imports from outside of the root directory: #​42678
  • Ensure appDir is included in webpack configVars: #​42710
  • Fix replaceAll usage in post-process: #​42714
  • Use import to load page and layout: #​42325
  • Alias next public api to esm on edge runtime: #​42709
  • fix: publish compat folder: #​42613
  • Change condition to check for string attribute in lint rules utility function: #​42625
  • Fix as option with optional catch all routes url object syntax: #​42355
  • fix comma splice in verifyRootLayout.ts: #​42324
  • build(next-swc): update turbopack to latest: #​42733
  • @​next/font return types: #​42753
  • Eagerly bundle external ESM dependencies for pages: #​42741
  • Handle hydration replaceState for static page with searchParams: #​42744
  • Add test case for image generation: #​42693
  • Don't pushState when already on the url: #​42735
  • fix: enable emotion import map: #​42750
  • Fix resolving for esm package with only exports.import condition: #​42767
  • Track page counts during builds: #​42766
Documentation Changes
  • Fix Static Generation link on Pages page: #​42462
  • Docs: Fix invalid tsconfig importSource syntax: #​42465
  • Update response-helpers.md: #​42378
  • react-version.md: Update minimum React version for Next.js 13: #​42490
  • Included negative matcher docs in upgrade guide: #​42489
  • Edit Upgrade docs to correct new-link codemod: #​42501
  • Update turbopack docs to use create-next-app@latest: #​42528
  • Remove all custom server integration examples: #​42549
  • [docs] Document middleware response changes: #​42295
  • Convert with-absolute-imports example to TypeScript: #​42529
  • docs/next/link: Mention middleware + dynamic routes changes: #​42607
  • fix typo in api-reference next/sever: #​42669
  • font api updates: #​42724
Example Changes
  • Include app directory in Tailwind config: #​42407
  • Removed duplicate MONGODB_URI check in example: #​42518
  • Convert middleware-matcher example to TypeScript: #​42520
  • Convert custom-server-express example to TypeScript: #​42110
  • Example: fixed tailwind ver in readme: #​42551
  • (with-supertokens example): Fixes infinite redirect issue for unauthorised error during SSR: #​42634
  • chore: update scripts to work on windows: #​42632
  • example fix url: #​42695
Misc Changes
  • Reuse file when shared by several google font variants: #​42480
  • Fix replaceAll usage in font loader: #​42550
  • Fix default value handling for CNA in CI: #​42596
  • chore: encourage adding reproductions to issues: #​42667
  • Fix CSS handling rules: #​42615
  • Update to latest version of turbo CLI: #​42711
Credits

Huge thanks to @​lucasassisrosa, @​kdy1, @​ijjk, @​jakemstar, @​lachlanjc, @​ws-jm, @​davidnx, @​steven-tey, @​Brooooooklyn, @​hanneslund, @​josephcsoti, @​fantaasm, @​timneutkens, @​sivtu, @​leerob, @​balazsorban44, @​maxproske, @​rightones, @​bot08, @​shuding, @​huozhi, @​wyattjoh, @​ethomson, @​alexkirsz, @​kwonoj, @​MaxLeiter, @​rishabhpoddar, @​feedthejim, @​gnoff, @​moetazaneta, @​superbahbi, @​NOCELL, @​ademilter, @​nathanhammond, @​imranbarbhuiya, @​mrkldshv, @​cvolant, @​hughlilly, @​ismaelrumzan, and @​sQVe for helping!

v13.0.2

Compare Source

Core Changes
  • Hybrid App Hooks Support: #​41767
  • Add sqlite3 to the default list of server externals: #​42294
  • Improve the error message when custom export fields are used in an entry: #​42221
  • Add preload for layouts / components: #​41519
  • Add mongodb to default server externals: #​42313
  • refactor(next/turbo): consolidate turbo devserver logic: #​42315
  • [middleware] add tests for body reading methods #​37980: #​41718
  • Handle dynamic css-in-js styles under suspense: #​42293
  • Fix page folder being wrongly resolved as page file: #​42348
  • Update dev process exit handling: #​42367
  • Ensure edge runtime doesn't propagate cache on fetch as Cloudflare doesn't support it.: #​42362
  • Add prisma to the external package list: #​42323
  • Local font family name: #​42286
  • useSelectedLayoutSegment at the current level: #​42299
  • Stop writing window specific paths in vscode configuration: #​42338
  • Ensure Undici is enabled for appDir in all cases: #​42382
  • fix: usage of wasm in an appDir page file using the edge runtime: #​41689
  • feat(next/mdx): support experimental mdx-rs loader: #​41919
  • Fix CSS modules imports not collected due to race conditions: #​42392
  • Fix entry creation on Windows: #​42421
  • Mock @​next/font when using next/jest: #​42413
  • Avoid breaking useRouter() type change: #​42430
  • Do not strip loader arg in dynamic for server components: #​42426
  • Clarify app and pages file conflicting files: #​42415
  • Change usePathname to return string | null: #​42380
  • Fix undici warning showing unexpectedly: #​42444
  • Remove static generation bail-out from usePathname: #​42440
Documentation Changes
  • docs(script): explain expected next/script behavior on client-side navigation: #​42260
  • Add path for information in cookie setting: #​42146
  • Update wording to remove beta FUD and keep evergreen: #​42337
  • update font optimization page: #​42266
  • Fix broken link on the upgrading guide: #​42340
  • Fix typo: docs/api-reference/next/font.md: #​42344
  • Update getting-started.md: #​42353
  • Fix typo in usage of onError in script.md: #​42368
  • Fix negative lookahead example in middleware.md: #​42320
  • Update customizing-postcss-config.md: #​42331
  • update middleware cookies example: #​42341
  • Fix Docs API Reference font.md broken link: #​42418
  • fixed missing <Link /> keyword: #​42422
  • Fix docs for next/image upgrade guide: #​42424
  • Revert font-optimization.md syntax: #​42403
  • Fix invalid markdown lang: #​42442
Misc Changes
  • Update app-dir E2E tests for deploy: #​42269
  • create-next-app: add head to template: #​42357
  • Update flakey SIGINT test: #​42370
  • Fix typo in app / hello.js template: #​42335
  • [eslint-plugin] Stop warning for head element in app/layout on Windows: #​42336
  • Update default eslint choice for CNA setup: #​42371
  • Update swc builds: #​42393
  • Add meta tag to default app template: #​42394
  • examples: Fix with-turbopack typo: #​42410
  • Google fonts single request: #​42406
Credits

Huge thanks to @​wyattjoh, @​shuding, @​ijjk, @​timneutkens, @​kwonoj, @​balazsorban44, @​Kikobeats, @​BLUE-DEVIL1134, @​timeyoutakeit, @​huozhi, @​ismaelrumzan, @​mnajdova, @​aleksa-codes, @​delbaoliveira, @​gruz0, @​meenie, @​danmindru, @​inokawa, @​hanneslund, @​oBusk, @​BRKalow, @​devvspaces, @​lucasassisrosa, @​adictonator, @​m7yue, @​styfle, and @​chibicode for helping!

v13.0.1

Compare Source

Core Changes
  • Rest of options in experimental.turbotrace and documentation: #​41817
  • Fix revalidate check in client component: #​41917
  • Add data attribute to div to distinguish it: #​41889
  • Fix lint cli help: #​41783
  • [Doc] Update inline documentation for next/link: #​41871
  • feat(edge): split NextCookies to RequestCookies and ResponseCookies: #​41526
  • Show error message when using legacy props on new next/image: #​41930
  • Upgrade Edge Runtime: #​41987
  • Revert "Include frameworks in main-app": #​41997
  • fix(next/dev): do not suppress error from bindings: #​41989
  • Fix page static info extractor for app dir: #​42001
  • Add never return type for redirect() and notFound(): #​42009
  • Google fonts multiple weights & styles: #​42008
  • Merge app internal chunk into main chunk for layouts: #​41902
  • Fix build type error of page params: #​42019
  • Allow disabling Strict mode in app: #​41894
  • Update react next channel: #​42021
  • Fix turbo custom config detection: #​42022
  • Fix css modules imports in client components: #​42077
  • fix: Data URL images with 'fill' are always triggering 'missing sizes' warning: #​42030
  • types: leverage webpack types and remove casting: #​42104
  • Fix CSS imports from outside of the app dir when src folder is present: #​42108
  • Remove react root condition and always use concurrent mode: #​42141
  • Keep react-dom/server.node in precompiled: #​42138
  • Warn when legacy prop detected on next/image: #​42102
  • Fix failing codemod test url-to-withrouter: #​42109
  • Improve TypeScript plugin error when the configuration is not statically analyzable: #​42062
  • Ensure app revalidate has correct default: #​42168
  • Update turbo crates: #​42014
  • Update vscode config handling: #​42169
  • fix: allow resolving large JSON data in server components: #​42025
  • issue-41925 fix: skip duplicate props when transferring props from anchor to link: #​42158
  • Ensure we detect config correctly with turbo flag: #​42201
  • update turbo version: #​42228
  • Fix CSS modules imports from outside of the root directory: #​42106
  • Default font config fix: #​42235
  • Multiple local font weights and styles: #​42232
  • Optimize bundle size for appDir: #​42252
  • Add event for dev process stop: #​42255
  • Add E2E test for @​vercel/og API route: #​42258
Documentation Changes
  • [Doc] Update Next.js + Static Web Apps: #​41857
  • Update the documentation.: #​41758
  • Fix invalid markdown lang: #​41926
  • Fix more incorrect markdown langs: #​41939
  • Update font links and add missing error: #​41910
  • docs: Update the version history in the middleware page: #​41949
  • Fix typo: docs/basic-features/font-optimization.md: #​41967
  • Fix broken link in @next/font docs: #​42002
  • Add link from next/image docs to example: #​42020