diff --git a/docs/02-app/02-api-reference/02-file-conventions/instrumentation.mdx b/docs/02-app/02-api-reference/02-file-conventions/instrumentation.mdx index 2c64b0c2e2cc5..a08b1d5df69de 100644 --- a/docs/02-app/02-api-reference/02-file-conventions/instrumentation.mdx +++ b/docs/02-app/02-api-reference/02-file-conventions/instrumentation.mdx @@ -62,6 +62,8 @@ export function register() { ### `onRequestError` (optional) +> This API is available in Next.js canary. + You can optionally export an `onRequestError` function to track and send **server** errors to an observability tool. ```ts filename="instrumentation.ts" switcher diff --git a/docs/02-app/02-api-reference/04-functions/fetch.mdx b/docs/02-app/02-api-reference/04-functions/fetch.mdx index fb9a9859c4cc9..7eb3757c63414 100644 --- a/docs/02-app/02-api-reference/04-functions/fetch.mdx +++ b/docs/02-app/02-api-reference/04-functions/fetch.mdx @@ -68,7 +68,10 @@ fetch(`https://...`, { cache: 'force-cache' | 'no-store' }) - If there is a match and it is fresh, it will be returned from the cache. - If there is no match or a stale match, Next.js will fetch the resource from the remote server and update the cache with the downloaded resource. -> **Good to know**: The `no-cache` option behaves the same way as `no-store` in Next.js. +> **Good to know**: +> +> - In version 15, the default cache option was changed from `'force-cache'` to `'no-store'`. If you're using an older version of Next.js, the default cache option is `'force-cache'`. +> - The `no-cache` option behaves the same way as `no-store` in Next.js. ### `options.next.revalidate` diff --git a/docs/02-app/02-api-reference/04-functions/unstable_after.mdx b/docs/02-app/02-api-reference/04-functions/unstable_after.mdx index 248936542e119..f4b13c3dc5bb0 100644 --- a/docs/02-app/02-api-reference/04-functions/unstable_after.mdx +++ b/docs/02-app/02-api-reference/04-functions/unstable_after.mdx @@ -1,10 +1,9 @@ --- -title: unstable_after (experimental) +title: unstable_after description: API Reference for the unstable_after function. +version: RC --- -> This API is **experimental** and subject to change. - `unstable_after()` allows you to schedule work to be executed after a response is finished. This is useful for tasks and other side effects that should not block the response, such as logging and analytics. It can be used in [Server Components](/docs/app/building-your-application/rendering/server-components) (including [`generateMetadata`](https://nextjs.org/docs/app/api-reference/functions/generate-metadata)), [Server Actions](/docs/app/building-your-application/data-fetching/server-actions-and-mutations), [Route Handlers](/docs/app/building-your-application/routing/route-handlers), and [Middleware](/docs/app/building-your-application/routing/middleware). diff --git a/docs/02-app/02-api-reference/04-functions/unstable_cache.mdx b/docs/02-app/02-api-reference/04-functions/unstable_cache.mdx index 28f09689c39b6..99416827c6a5f 100644 --- a/docs/02-app/02-api-reference/04-functions/unstable_cache.mdx +++ b/docs/02-app/02-api-reference/04-functions/unstable_cache.mdx @@ -1,6 +1,7 @@ --- -title: unstable_cache (experimental) +title: unstable_cache description: API Reference for the unstable_cache function. +version: unstable --- `unstable_cache` allows you to cache the results of expensive operations, like database queries, and reuse them across multiple requests. diff --git a/docs/02-app/02-api-reference/04-functions/unstable_noStore.mdx b/docs/02-app/02-api-reference/04-functions/unstable_noStore.mdx index 99d695455d5ea..aa289da672e5b 100644 --- a/docs/02-app/02-api-reference/04-functions/unstable_noStore.mdx +++ b/docs/02-app/02-api-reference/04-functions/unstable_noStore.mdx @@ -1,6 +1,7 @@ --- -title: unstable_noStore (experimental) +title: unstable_noStore description: API Reference for the unstable_noStore function. +version: unstable --- `unstable_noStore` can be used to declaratively opt out of static rendering and indicate a particular component should not be cached. diff --git a/docs/02-app/02-api-reference/04-functions/unstable_rethrow.mdx b/docs/02-app/02-api-reference/04-functions/unstable_rethrow.mdx index 3c38b3d4676fe..7a35302c22358 100644 --- a/docs/02-app/02-api-reference/04-functions/unstable_rethrow.mdx +++ b/docs/02-app/02-api-reference/04-functions/unstable_rethrow.mdx @@ -1,6 +1,7 @@ --- -title: unstable_rethrow (experimental) +title: unstable_rethrow description: API Reference for the unstable_rethrow function. +version: unstable --- `unstable_rethrow` can be used to avoid catching internal errors thrown by Next.js when attempting to handle errors thrown in your application code. diff --git a/docs/02-app/02-api-reference/05-next-config-js/cssChunking.mdx b/docs/02-app/02-api-reference/05-next-config-js/cssChunking.mdx index 41eb71236b81c..54a2a6c73c77a 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/cssChunking.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/cssChunking.mdx @@ -1,6 +1,7 @@ --- -title: cssChunking (Experimental) +title: cssChunking description: Use the `cssChunking` option to control how CSS files are chunked in your Next.js application. +version: experimental --- CSS Chunking is a strategy used to improve the performance of your web application by splitting and re-ordering CSS files into chunks. This allows you to load only the CSS that is needed for a specific route, instead of loading all the application's CSS at once. diff --git a/docs/02-app/02-api-reference/05-next-config-js/devIndicators.mdx b/docs/02-app/02-api-reference/05-next-config-js/devIndicators.mdx index b1978439770b2..e80c89c10270f 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/devIndicators.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/devIndicators.mdx @@ -22,6 +22,8 @@ description: Optimized pages include an indicator to let you know if it's being ## `appIsrStatus` (Static Indicator) +> This option is available in Next.js canary. + Next.js displays a static indicator in the bottom corner of the screen that signals if a route will be prerendered at build time. This makes it easier to understand whether a route is static or dynamic, and for you to identify if a route [opts out of static rendering](#static-route-not-showing-the-indicator). `. Learn more about [revalidating data](/docs/app/building ## Version History -| Version | Changes | -| --------- | ------------------------------------------------------------------------ | -| `v14.1.0` | Renamed `cacheHandler` is stable. | -| `v13.4.0` | `incrementalCacheHandlerPath` (experimental) supports `revalidateTag`. | -| `v13.4.0` | `incrementalCacheHandlerPath` (experimental) supports standalone output. | -| `v12.2.0` | `incrementalCacheHandlerPath` (experimental) is added. | +| Version | Changes | +| --------- | ------------------------------------------------------------ | +| `v14.1.0` | Renamed to `cacheHandler` and became stable. | +| `v13.4.0` | `incrementalCacheHandlerPath` support for `revalidateTag`. | +| `v13.4.0` | `incrementalCacheHandlerPath` support for standalone output. | +| `v12.2.0` | Experimental `incrementalCacheHandlerPath` added. | diff --git a/docs/02-app/02-api-reference/05-next-config-js/index.mdx b/docs/02-app/02-api-reference/05-next-config-js/index.mdx index 97a9a98a46a4a..beb77d7029217 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/index.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/index.mdx @@ -97,6 +97,8 @@ module.exports = (phase, { defaultConfig }) => { ## TypeScript +> This feature is available from Next.js canary. + If you are using TypeScript in your project, you can use [`next.config.ts`](/docs/app/building-your-application/configuring/typescript#type-checking-nextconfigts) to use TypeScript in your configuration: ```ts filename="next.config.ts" diff --git a/docs/02-app/02-api-reference/05-next-config-js/mdxRs.mdx b/docs/02-app/02-api-reference/05-next-config-js/mdxRs.mdx index 63589df468538..41423f9965ac3 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/mdxRs.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/mdxRs.mdx @@ -1,10 +1,9 @@ --- -title: mdxRs (experimental) +title: mdxRs description: Use the new Rust compiler to compile MDX files in the App Router. +version: experimental. --- -> **Warning**: The `mdxRs` configuration is an experimental feature. This configuration strategy will likely change in the future. - For experimental use with `@next/mdx`. Compiles MDX files using the new Rust compiler. ```js filename="next.config.js" diff --git a/docs/02-app/02-api-reference/05-next-config-js/ppr.mdx b/docs/02-app/02-api-reference/05-next-config-js/ppr.mdx index ec05e68baf3dd..85db31271f652 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/ppr.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/ppr.mdx @@ -1,7 +1,7 @@ --- -title: Partial Prerendering -nav_title: ppr (experimental) -description: Learn how to enable Partial Prerendering (experimental) in Next.js. +title: ppr +description: Learn how to enable Partial Prerendering in Next.js. +version: experimental related: title: Learn more about Partial Prerendering links: @@ -10,8 +10,6 @@ related: Partial Prerendering (PPR) enables you to combine static and dynamic components together in the same route. Learn more about [PPR](/docs/app/building-your-application/rendering/partial-prerendering). -> **Note:** Partial Prerendering is an **experimental** feature and subject to change. It is not ready for production use. - ## Using Partial Prerendering ### Incremental Adoption (Version 15) @@ -109,3 +107,8 @@ const nextConfig = { module.exports = nextConfig ``` + +| Version | Changes | +| --------- | ------------------------------ | +| `v15.0.0` | `incremental` value introduced | +| `v14.0.0` | experimental `ppr` introduced | diff --git a/docs/02-app/02-api-reference/05-next-config-js/reactCompiler.mdx b/docs/02-app/02-api-reference/05-next-config-js/reactCompiler.mdx index 2551ee4cbd7b0..9a7fd8bfc7cfe 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/reactCompiler.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/reactCompiler.mdx @@ -1,11 +1,10 @@ --- -title: reactCompiler (experimental) +title: reactCompiler description: Enable the React Compiler to automatically optimize component rendering. +version: RC --- -> This feature is **experimental** and may change in future releases. - -Next.js 15 introduced experimental support for the [React Compiler](https://react.dev/learn/react-compiler). The compiler improves performance by automatically optimizing component rendering. This reduces the amount of manual memoization developers have to do through APIs such as `useMemo` and `useCallback`. +Next.js 15 RC introduced support for the [React Compiler](https://react.dev/learn/react-compiler). The compiler improves performance by automatically optimizing component rendering. This reduces the amount of manual memoization developers have to do through APIs such as `useMemo` and `useCallback`. To use it, upgrade to Next.js 15, install the `babel-plugin-react-compiler`: diff --git a/docs/02-app/02-api-reference/05-next-config-js/serverComponentsHmrCache.mdx b/docs/02-app/02-api-reference/05-next-config-js/serverComponentsHmrCache.mdx index 3abfb7d37238b..8b1dd249537eb 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/serverComponentsHmrCache.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/serverComponentsHmrCache.mdx @@ -1,6 +1,7 @@ --- title: severComponentsHmrCache description: Configure whether fetch responses in Server Components are cached across HMR refresh requests. +version: RC --- The experimental `serverComponentsHmrCache` option allows you to cache `fetch` responses in Server Components across Hot Module Replacement (HMR) refreshes in local development. This results in faster responses and reduced costs for billed API calls. diff --git a/docs/02-app/02-api-reference/05-next-config-js/staleTimes.mdx b/docs/02-app/02-api-reference/05-next-config-js/staleTimes.mdx index 232765688ad5e..400f9860c10de 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/staleTimes.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/staleTimes.mdx @@ -1,10 +1,9 @@ --- -title: staleTimes (experimental) +title: staleTimes description: Learn how to override the invalidation time of the Client Router Cache. +version: experimental --- -> **Warning**: The `staleTimes` configuration is an experimental feature. This configuration strategy will likely change in the future. - `staleTimes` is an experimental feature that enables caching of page segments in the [client-side router cache](/docs/app/building-your-application/caching#client-side-router-cache). You can enable this experimental feature and provide custom revalidation times by setting the experimental `staleTimes` flag: @@ -42,5 +41,5 @@ You can learn more about the Client Router Cache [here](/docs/app/building-your- | Version | Changes | | --------- | ------------------------------------------------------ | -| `v15.0.0` | The "dynamic" staleTime default changed from 30s to 0s | +| `v15.0.0` | The `dynamic` staleTime default changed from 30s to 0s | | `v14.2.0` | experimental `staleTimes` introduced | diff --git a/docs/02-app/02-api-reference/05-next-config-js/turbo.mdx b/docs/02-app/02-api-reference/05-next-config-js/turbo.mdx index cb8b3fadb51b1..0f88bfc29439c 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/turbo.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/turbo.mdx @@ -1,7 +1,7 @@ --- -title: turbo (experimental) -nav_title: turbo +title: turbo description: Configure Next.js with Turbopack-specific options +version: experimental --- {/* The content of this doc is shared between the app and pages router. You can use the `Content` component to add content that is specific to the Pages Router. Any shared content should not be wrapped in a component. */} diff --git a/docs/02-app/02-api-reference/05-next-config-js/typedRoutes.mdx b/docs/02-app/02-api-reference/05-next-config-js/typedRoutes.mdx index a06d7a6644e02..08374181d304e 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/typedRoutes.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/typedRoutes.mdx @@ -1,7 +1,7 @@ --- -title: typedRoutes (experimental) -nav_title: typedRoutes +title: typedRoutes description: Enable experimental support for statically typed links. +version: experimental --- Experimental support for [statically typed links](/docs/app/building-your-application/configuring/typescript#statically-typed-links). This feature requires using the App Router as well as TypeScript in your project. diff --git a/docs/02-app/02-api-reference/05-next-config-js/urlImports.mdx b/docs/02-app/02-api-reference/05-next-config-js/urlImports.mdx index c0030cb06b408..53c147c3fa10d 100644 --- a/docs/02-app/02-api-reference/05-next-config-js/urlImports.mdx +++ b/docs/02-app/02-api-reference/05-next-config-js/urlImports.mdx @@ -1,14 +1,14 @@ --- title: urlImports -description: Configure Next.js to allow importing modules from external URLs (experimental). +description: Configure Next.js to allow importing modules from external URLs. +version: experimental --- {/* The content of this doc is shared between the app and pages router. You can use the `Content` component to add content that is specific to the Pages Router. Any shared content should not be wrapped in a component. */} URL imports are an experimental feature that allows you to import modules directly from external servers (instead of from the local disk). -> **Warning**: This feature is experimental. Only use domains that you trust to download and execute on your machine. Please exercise -> discretion, and caution until the feature is flagged as stable. +> **Warning**: Only use domains that you trust to download and execute on your machine. Please exercise discretion, and caution until the feature is flagged as stable. To opt-in, add the allowed URL prefixes inside `next.config.js`: diff --git a/docs/03-pages/02-api-reference/04-next-config-js/turbo.mdx b/docs/03-pages/02-api-reference/04-next-config-js/turbo.mdx index 9da02fce7d0fc..4595dbdb5ac17 100644 --- a/docs/03-pages/02-api-reference/04-next-config-js/turbo.mdx +++ b/docs/03-pages/02-api-reference/04-next-config-js/turbo.mdx @@ -1,7 +1,7 @@ --- -title: turbo (experimental) -nav_title: turbo +title: turbo description: Configure Next.js with Turbopack-specific options +version: experimental source: app/api-reference/next-config-js/turbo --- diff --git a/docs/03-pages/02-api-reference/04-next-config-js/urlImports.mdx b/docs/03-pages/02-api-reference/04-next-config-js/urlImports.mdx index 9f3e912550269..dacfffadf07dd 100644 --- a/docs/03-pages/02-api-reference/04-next-config-js/urlImports.mdx +++ b/docs/03-pages/02-api-reference/04-next-config-js/urlImports.mdx @@ -1,6 +1,7 @@ --- title: urlImports -description: Configure Next.js to allow importing modules from external URLs (experimental). +description: Configure Next.js to allow importing modules from external URLs. +version: experimental source: app/api-reference/next-config-js/urlImports ---