Skip to content

v13.5.1

Compare
Choose a tag to compare
@sokra sokra released this 19 Sep 17:31
· 3384 commits to canary since this release

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 dd480ef92 to d6dcad6a8.: #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 PR stats: #54524
  • chore(ci): emit env vars that impact ci results: #54534
  • Break-up install and build steps for PR 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 PR 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!