Add a new plugin makeConfigInjectorPlugin within our existing vite plugin that updates the global vite config with sentry options
This PR implements consistent sampling across traces as outlined in (#15754)
This PR introduces a new instrumentDurableObjectWithSentry method to the SDK, which instruments durable objects. We capture both traces and errors automatically.
Prisma integration is enabled by default, it should work for both ESM and CJS.
Adds client-side instrumentation for react router's HydratedRouter. To enable it, simply replace browserTracingIntegration() with reactRouterTracingIntegration() in your client-side init call.
When running your application in ESM mode, there have been scenarios that resulted in the http/https emitting duplicate spans for incoming requests. This was apparently caused by us double-wrapping the modules for incoming request isolation.
In order to solve this problem, the modules are no longer monkey patched by us for request isolation. Instead, we register diagnosticschannel hooks to handle request isolation now. While this is generally not expected to break anything, there is one tiny change that _may affect you if you have been relying on very specific functionality:
The ignoreOutgoingRequests option of httpIntegration receives the RequestOptions as second argument. This type is not changed, however due to how the wrapping now works, we no longer pass through the full RequestOptions, but re-construct this partially based on the generated request. For the vast majority of cases, this should be fine, but for the sake of completeness, these are the only fields that may be available there going forward - other fields that may have existed before may no longer be set:
ignoreOutgoingRequests(url: string, {
method: string;
protocol: string;
host: string;
hostname: string; // same as host
path: string;
headers: OutgoingHttpHeaders;
})
SENTRY_RELEASE from env (#16201)http.server spans with 404 status by default (#16205)removeFromDom() from throwing (#16030)| Path | Size |
|---|---|
| @sentry/browser | 23.35 KB |
| @sentry/browser - with treeshaking flags | 23.19 KB |
| @sentry/browser (incl. Tracing) | 37.25 KB |
| @sentry/browser (incl. Tracing, Replay) | 74.47 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 68.34 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 79.12 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 90.93 KB |
| @sentry/browser (incl. Feedback) | 39.75 KB |
| @sentry/browser (incl. sendFeedback) | 27.98 KB |
| @sentry/browser (incl. FeedbackAsync) | 32.74 KB |
| @sentry/react | 25.16 KB |
| @sentry/react (incl. Tracing) | 39.24 KB |
| @sentry/vue | 27.63 KB |
| @sentry/vue (incl. Tracing) | 39.01 KB |
| @sentry/svelte | 23.38 KB |
| CDN Bundle | 24.55 KB |
| CDN Bundle (incl. Tracing) | 37.29 KB |
| CDN Bundle (incl. Tracing, Replay) | 72.33 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 77.64 KB |
| CDN Bundle - uncompressed | 71.62 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 110.34 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.63 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.15 KB |
| @sentry/nextjs (client) | 40.84 KB |
| @sentry/sveltekit (client) | 37.73 KB |
| @sentry/node | 144.43 KB |
| @sentry/node - without tracing | 96.3 KB |
| @sentry/aws-serverless | 120.66 KB |
Fetched March 31, 2026