diff --git a/docs/contributing/pages/components.mdx b/docs/contributing/pages/components.mdx
index 26b368d4bc2792..1f3b64654558d4 100644
--- a/docs/contributing/pages/components.mdx
+++ b/docs/contributing/pages/components.mdx
@@ -106,6 +106,33 @@ Attributes:
- `src` (string) - the URL of the Arcade embed
+## AvailableSince
+
+Display version availability information in a consistent format. Use this component to indicate when a feature, API, or configuration option became available in an SDK.
+
+
+
+```markdown {tabTitle:Basic Usage}
+
+```
+
+Attributes:
+
+- `version` (string) - required, the version number (e.g., "10", "8.5.0")
+
+**When to use:**
+
+- Use `AvailableSince` to indicate when a feature or option first became available
+- For prominent minimum version requirements, use the [`VersionRequirement`](#versionrequirement) component instead
+
+**Examples in the wild:**
+
+The `AvailableSince` component is automatically used within:
+- `SdkOption` component for configuration options
+- `SdkApi` component for API methods
+
+You can also use it directly in MDX content to indicate availability for features or entire sections.
+
## Expandable
Render an expandable section to provide additional information to users on demand.
diff --git a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx
index bcf3543a101a08..3a30e19bfb7c80 100644
--- a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx
+++ b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx
@@ -100,7 +100,7 @@ If you want to add your own http/node-fetch instrumentation, you have to follow
### Custom HTTP Instrumentation
-_Available since SDK version 8.35.0_
+
You can add your own `@opentelemetry/instrumentation-http` instance in your OpenTelemetry setup. However, in this case, you need to disable span creation in Sentry's `httpIntegration`:
diff --git a/docs/platforms/javascript/common/tracing/instrumentation/index.mdx b/docs/platforms/javascript/common/tracing/instrumentation/index.mdx
index b5fea730282140..cd2e104aaa24b5 100644
--- a/docs/platforms/javascript/common/tracing/instrumentation/index.mdx
+++ b/docs/platforms/javascript/common/tracing/instrumentation/index.mdx
@@ -109,7 +109,7 @@ To add spans that aren't active, you can create independent spans. This is usefu
### Setting an inactive span active (browser only)
- _Available Since: `10.15.0`_
+
In browser environments, you might run into use cases, where the callback-based span APIs are not sufficient.
In such cases (see example below), you can use `startInactiveSpan` to start an initially inactive span and then
@@ -231,7 +231,7 @@ Sentry maintains a [list of well-known span operations](https://develop.sentry.d
### Updating the Span Name
-_Available since: v8.47.0_
+
You can update the name of a span at any time:
diff --git a/docs/platforms/javascript/guides/nestjs/features/sentry-cron-decorator.mdx b/docs/platforms/javascript/guides/nestjs/features/sentry-cron-decorator.mdx
index 9f9333bcca6499..591926e6dab4c6 100644
--- a/docs/platforms/javascript/guides/nestjs/features/sentry-cron-decorator.mdx
+++ b/docs/platforms/javascript/guides/nestjs/features/sentry-cron-decorator.mdx
@@ -3,9 +3,7 @@ title: SentryCron Decorator
description: "Learn about Sentry's SentryCron decorator."
---
-
- The `@SentryCron` decorator is available from version `@sentry/nestjs` 8.16.0 and up.
-
+
The NestJS SDK includes a `@SentryCron` decorator that can be used to augment the native NestJS `@Cron` decorator to
send check-ins to Sentry before and after each cron job run.
diff --git a/docs/platforms/javascript/guides/nestjs/features/sentry-traced-decorator.mdx b/docs/platforms/javascript/guides/nestjs/features/sentry-traced-decorator.mdx
index fd3842ce562bf4..c08d303f1b7e97 100644
--- a/docs/platforms/javascript/guides/nestjs/features/sentry-traced-decorator.mdx
+++ b/docs/platforms/javascript/guides/nestjs/features/sentry-traced-decorator.mdx
@@ -3,9 +3,7 @@ title: SentryTraced Decorator
description: "Learn about Sentry's SentryTraced decorator."
---
-
- The `@SentryTraced` decorator is available from version `@sentry/nestjs` 8.15.0 and up.
-
+
The NestJS SDK includes a `@SentryTraced` decorator that will create spans whenever the method it decorates is invoked.
This feature enables more granular performance monitoring and helps you gather detailed insights into the performance
diff --git a/docs/platforms/javascript/guides/nuxt/features/nitro-server-features.mdx b/docs/platforms/javascript/guides/nuxt/features/nitro-server-features.mdx
index 60306dd165e6ba..df613a17a2f3bd 100644
--- a/docs/platforms/javascript/guides/nuxt/features/nitro-server-features.mdx
+++ b/docs/platforms/javascript/guides/nuxt/features/nitro-server-features.mdx
@@ -7,13 +7,13 @@ The Sentry Nuxt SDK automatically instruments various Nitro server APIs to provi
## Server Middleware
-Available from version `@sentry/nuxt` 10.17.0 and up.
+
The Sentry Nuxt SDK automatically instruments [server middleware handlers](https://nuxt.com/docs/4.x/guide/directory-structure/server#server-middleware) in addition to server event handlers. This includes the handler functions and their `onBeforeResponse` and `onRequest` callbacks.
## Cache
-Available from version `@sentry/nuxt` 10.21.0 and up.
+
The Sentry Nuxt SDK automatically instruments [cache APIs](https://nitro.build/guide/cache) for the following Nitro functions:
@@ -25,7 +25,7 @@ This provides spans in your transactions that represent cache operations and the
## Storage
-Available from version `@sentry/nuxt` 10.21.0 and up.
+
The Sentry Nuxt SDK automatically instruments [storage APIs](https://nuxt.com/docs/4.x/guide/directory-structure/server#server-storage) (also known as KV storage) and common operations.
@@ -33,7 +33,7 @@ Keep in mind that only the storage mounts configured under `nitro.storage` in yo
## Database
-Available from version `@sentry/nuxt` 10.21.0 and up.
+
The Sentry Nuxt SDK automatically instruments Nitro's [database API](https://nitro.build/guide/database). This provides spans in your transactions that represent database query operations and their durations, enabling you to identify slow queries, track query frequency, and optimize your database interactions.
diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/options.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/options.mdx
index faa2bc7416a703..4a407b71caa267 100644
--- a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/options.mdx
+++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/options.mdx
@@ -34,7 +34,7 @@ If you are using Sentry in your mobile app, read our [frequently asked questions
-This options is available since SDK version `0.13.0`
+
diff --git a/platform-includes/distributed-tracing/custom-instrumentation/javascript.mdx b/platform-includes/distributed-tracing/custom-instrumentation/javascript.mdx
index 92c34537130cee..1808848c520eab 100644
--- a/platform-includes/distributed-tracing/custom-instrumentation/javascript.mdx
+++ b/platform-includes/distributed-tracing/custom-instrumentation/javascript.mdx
@@ -40,7 +40,7 @@ The two services are now connected with your custom distributed tracing implemen
### Starting a New Trace
-Available since SDK version `8.5.0`.
+
In case the SDK's [default behavior](../#trace-duration) for the trace duration does not fit your needs, you can manually start a new trace that will no longer be connected to the current (distributed) trace.
This means that spans or errors collected by the SDK during this new trace will not be connected to spans or errors collected before or after this new trace.
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.nextjs.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.nextjs.mdx
index 20c2657921eb2a..c09d7b0f389679 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.nextjs.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.nextjs.mdx
@@ -73,7 +73,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+_
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.node.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.node.mdx
index d3c38d3be6a437..75d844e7937514 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.node.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.node.mdx
@@ -64,7 +64,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.nuxt.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.nuxt.mdx
index 13504ee1b13c81..37dfe88b9a049c 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.nuxt.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.nuxt.mdx
@@ -63,7 +63,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.remix.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.remix.mdx
index 0c8752d091596a..6f0a95ec7bc82d 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.remix.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.remix.mdx
@@ -102,7 +102,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.solidstart.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.solidstart.mdx
index 832122f3a600ae..02a15881625ccd 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.solidstart.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.solidstart.mdx
@@ -96,7 +96,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.sveltekit.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.sveltekit.mdx
index 75153c8af809c9..b10ba832dd964c 100644
--- a/platform-includes/distributed-tracing/how-to-use/javascript.sveltekit.mdx
+++ b/platform-includes/distributed-tracing/how-to-use/javascript.sveltekit.mdx
@@ -73,7 +73,7 @@ If your app crashes while a user is uploading a photo, you can trace exactly whe
### Strict Trace Continuation
-_Available since SDK version 10_
+
When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry.
By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service,
diff --git a/src/components/availableSince.tsx b/src/components/availableSince.tsx
new file mode 100644
index 00000000000000..b12b703d3e2fc2
--- /dev/null
+++ b/src/components/availableSince.tsx
@@ -0,0 +1,21 @@
+type AvailableSinceProps = {
+ version: string;
+};
+
+/**
+ * AvailableSince displays version availability information in a consistent format.
+ *
+ * Use this component to indicate when a feature, API, or option became available.
+ *
+ * @param version - The version number (e.g., "10.0.0", "8.5.0")
+ */
+export function AvailableSince({
+ version,
+}: AvailableSinceProps) {
+ return (
+
+ Available since: v{version.replace(/^v/, '')}
+
+ );
+}
+
diff --git a/src/components/sdkApi.tsx b/src/components/sdkApi.tsx
index 761bd782144658..3854a2fb658174 100644
--- a/src/components/sdkApi.tsx
+++ b/src/components/sdkApi.tsx
@@ -4,6 +4,7 @@ import {getCurrentPlatform} from 'sentry-docs/docTree';
import {serverContext} from 'sentry-docs/serverContext';
import {PlatformCategory} from 'sentry-docs/types';
+import {AvailableSince} from './availableSince';
import {Expandable} from './expandable';
import {codeToJsx} from './highlightCode';
import {SdkDefinition} from './sdkDefinition';
@@ -54,11 +55,7 @@ export function SdkApi({
Only available on Server
)}
{codeToJsx(signature, lang)}
- {availableSince && (
-
- Available Since: {availableSince}
-
- )}
+ {availableSince && }
{parameters.length ? (
diff --git a/src/components/sdkOption.tsx b/src/components/sdkOption.tsx
index c877764af3b769..f4e642b6a2dce0 100644
--- a/src/components/sdkOption.tsx
+++ b/src/components/sdkOption.tsx
@@ -2,6 +2,7 @@ import {getCurrentPlatformOrGuide} from 'sentry-docs/docTree';
import {serverContext} from 'sentry-docs/serverContext';
import {PlatformCategory} from 'sentry-docs/types';
+import {AvailableSince} from './availableSince';
import {SdkDefinition, SdkDefinitionTable} from './sdkDefinition';
type Props = {
diff --git a/src/mdxComponents.ts b/src/mdxComponents.ts
index 48bbccc71fc6a0..c4ddb6e0c7a4f7 100644
--- a/src/mdxComponents.ts
+++ b/src/mdxComponents.ts
@@ -1,5 +1,6 @@
import {Alert} from './components/alert';
import {Arcade} from './components/arcade';
+import {AvailableSince} from './components/availableSince';
import {Break} from './components/break';
import {Card} from './components/card';
import {CliChecksumTable} from './components/cliChecksumTable';
@@ -56,6 +57,7 @@ export function mdxComponents(
return {
Alert,
Arcade,
+ AvailableSince,
Break,
Card,
CliChecksumTable,