diff --git a/docs/platforms/javascript/guides/cloudflare/frameworks/hydrogen-react-router.mdx b/docs/platforms/javascript/guides/cloudflare/frameworks/hydrogen-react-router.mdx
index 7e81d4baf69ba..7d3564242446d 100644
--- a/docs/platforms/javascript/guides/cloudflare/frameworks/hydrogen-react-router.mdx
+++ b/docs/platforms/javascript/guides/cloudflare/frameworks/hydrogen-react-router.mdx
@@ -307,7 +307,7 @@ import { reactRouter } from "@react-router/dev/vite";
import { hydrogen } from "@shopify/hydrogen/vite";
import { oxygen } from "@shopify/mini-oxygen/vite";
import { defineConfig } from "vite";
-import { sentryReactRouter } from "@sentry/react-router";
+import { sentryReactRouter } from "@sentry/react-router/vite";
export default defineConfig((config) => ({
plugins: [
diff --git a/docs/platforms/javascript/guides/react-router/index.mdx b/docs/platforms/javascript/guides/react-router/index.mdx
index 6ddfed33718bb..04ae1815318bf 100644
--- a/docs/platforms/javascript/guides/react-router/index.mdx
+++ b/docs/platforms/javascript/guides/react-router/index.mdx
@@ -1,6 +1,6 @@
---
title: React Router Framework
-description: Learn how to set up and configure Sentry in your React Router application (v7+) using the installation wizard, capture your first errors, and view them in Sentry.
+description: Learn how to set up and configure Sentry in your React Router application (v7.15+) using the installation wizard, capture your first errors, and view them in Sentry.
sdk: sentry.javascript.react-router
categories:
- javascript
@@ -14,13 +14,6 @@ categories:
platformName="React Router"
/>
-
- This SDK is currently in **beta**. Beta features are still in progress and may
- have bugs. Please reach out on
- [GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose) if
- you have any feedback or concerns.
-
-
If you're using React Router in data or declarative mode, follow the instructions in our [React guide for v7](/platforms/javascript/guides/react/features/react-router/v7) or [v8](/platforms/javascript/guides/react/features/react-router/v8).
diff --git a/docs/platforms/javascript/guides/react-router/manual-setup.mdx b/docs/platforms/javascript/guides/react-router/manual-setup.mdx
index 1d962a45d25b2..06e808cb7b486 100644
--- a/docs/platforms/javascript/guides/react-router/manual-setup.mdx
+++ b/docs/platforms/javascript/guides/react-router/manual-setup.mdx
@@ -1,16 +1,9 @@
---
title: "Manual Setup"
sidebar_order: 1
-description: "Learn how to manually set up Sentry in your React Router app (v7+) and capture your first errors."
+description: "Learn how to manually set up Sentry in your React Router app (v7.15+) and capture your first errors."
---
-
- This SDK is currently in **beta**. Beta features are still in progress and may
- have bugs. Please reach out on
- [GitHub](https://github.com/getsentry/sentry-javascript/issues/new/choose) if
- you have any feedback or concerns.
-
-
@@ -190,7 +183,7 @@ Sentry's OpenTelemetry-based auto-instrumentation (loaded through `instrument.se
- **Node 20:** Version \<20.19
- **Node 22:** Version \<22.12
-This restriction **doesn't** affect tracing for loaders, actions, middleware, and request handlers. Those are instrumented through React Router's [instrumentation API](https://reactrouter.com/how-to/instrumentation) (the `instrumentations` export shown below, React Router 7.15+), which works on all Node versions.
+This restriction **doesn't** affect tracing for loaders, actions, middleware, and request handlers. Those are instrumented through React Router's [instrumentation API](https://reactrouter.com/how-to/instrumentation) (the `instrumentations` export shown below), which works on all Node versions.
On unsupported Node versions, you'll only lose auto-instrumentation for lower-level operations such as outgoing HTTP requests and database queries.
@@ -244,7 +237,7 @@ Sentry.init({
Next, replace the default `handleRequest` and `handleError` functions in your `entry.server.tsx` file with Sentry's wrapped versions, and export `instrumentations` to enable automatic tracing.
-Exporting `instrumentations` uses React Router's [instrumentation API](https://reactrouter.com/how-to/instrumentation) (React Router 7.15+) to automatically create spans for all loaders, actions, middleware, and request handlers — no need to wrap them individually.
+Exporting `instrumentations` uses React Router's [instrumentation API](https://reactrouter.com/how-to/instrumentation) to automatically create spans for all loaders, actions, middleware, and request handlers — no need to wrap them individually.
@@ -269,7 +262,7 @@ Exporting `instrumentations` uses React Router's [instrumentation API](https://r
+});
+// Automatically instruments all server loaders, actions, middleware,
-+// and request handlers. Requires React Router 7.15+.
++// and request handlers.
+export const instrumentations = [Sentry.createSentryServerInstrumentation()];
// ... rest of your server entry
@@ -420,7 +413,7 @@ If you're deploying to platforms where you can't set the `NODE_OPTIONS` flag, im
```tsx {diff} {filename: entry.server.tsx}
-+import './instrument.server';
++import '../instrument.server';
import * as Sentry from '@sentry/react-router';
import { createReadableStreamFromReadable } from '@react-router/node';
import { renderToPipeableStream } from 'react-dom/server';
@@ -452,7 +445,7 @@ First, update `vite.config.ts` to include the `sentryReactRouter` plugin, making
```typescript {filename: vite.config.ts} {diff}
import { reactRouter } from '@react-router/dev/vite';
-import { sentryReactRouter, type SentryReactRouterBuildOptions } from '@sentry/react-router';
+import { sentryReactRouter, type SentryReactRouterBuildOptions } from '@sentry/react-router/vite';
import { defineConfig } from 'vite';
const sentryConfig: SentryReactRouterBuildOptions = {
@@ -506,14 +499,14 @@ Next, include the `sentryOnBuildEnd` hook in `react-router.config.ts`:
```typescript {filename: react-router.config.ts} {diff}
import type { Config } from "@react-router/dev/config";
-import { sentryOnBuildEnd } from "@sentry/react-router";
+import { sentryOnBuildEnd } from "@sentry/react-router/vite";
export default {
ssr: true,
buildEnd: async ({ viteConfig, reactRouterConfig, buildManifest }) => {
// ...
// Call this at the end of the hook
- +(await sentryOnBuildEnd({ viteConfig, reactRouterConfig, buildManifest }));
++ await sentryOnBuildEnd({ viteConfig, reactRouterConfig, buildManifest });
},
} satisfies Config;
```
diff --git a/platform-includes/getting-started-prerequisites/javascript.react-router.mdx b/platform-includes/getting-started-prerequisites/javascript.react-router.mdx
new file mode 100644
index 0000000000000..5de5e376f5010
--- /dev/null
+++ b/platform-includes/getting-started-prerequisites/javascript.react-router.mdx
@@ -0,0 +1,7 @@
+## Prerequisites
+
+You need:
+
+- A Sentry [account](https://sentry.io/signup/) and [project](/product/projects/)
+- Your application up and running
+- React Router version `7.15.0` or above (framework mode)