Important Changes
-
AI integrations no longer report errors that propagate to the caller (#23638, #23639, #23640)
Across all AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, and LangGraph), the SDK no longer sends an event to Sentry for errors that the AI framework propagates to your code. Previously the instrumentation reported these as unhandled (
handled: false) before your own error handling ran, so an error your code caught still showed up in Sentry as an unhandled crash. The span is still marked as errored and the error still propagates, so reporting is left to your application: if your code does not handle the error, it reaches Sentry's global error handlers and is captured as unhandled, just like any other uncaught error. Errors that a provider surfaces as data on an otherwise successful response (such as Anthropic error-shaped responses or Google GenAI blocked content) are still captured, since your code never sees them propagate. -
feat(v10/cloudflare): Add
rpcTracePropagationBindings(#23737, #23738)The new
rpcTracePropagationBindingsoption names theenvbindings that outgoing RPC calls propagate trace context to. Strings match a binding name exactly, regular expressions match by pattern, and the default empty array propagates to nothing. RPC has no headers to carry trace context, so the SDK appends it as a trailing argument that only a Sentry-instrumented receiver removes again. List only the bindings whose receiver you know runs Sentry. Setting the option takes precedence overenableRpcTracePropagation, which is now deprecated. When you build with the Sentry Cloudflare Vite plugin, the bindings that resolve to this worker (its own Durable Objects and self service bindings) are derived from your wrangler config and added for you.
Other Changes
- fix(v10/astro): support astro v7 route patterns properly (#23657)
- fix(v10/bundler-plugins): Preserve full file path in component annotation source maps (#23595)
- fix(v10/core): Store child span timeout handle in
_childSpanTimeoutID(#23673) - fix(v10/node): Only end the process session when it is still ok (#23731)
- fix(v10/react-router): Use react-router's own instrumentation types instead of a mirrored copy (#23589)
- fix(v10/replay): Suppress Worker destroyed error on session expiry (#23654)
- fix(v10/server-utils): Keep orchestrion registration out of tree-shaking (#23591)
- fix(v10/server-utils): Stop shipping orchestrion bundler plugins as production dependencies (#23667)
- fix(v10/server-utils): Support openai v7 in auto-instrumentation (#23713)
- fix(v10/sveltekit): Detect native tracing in flattened SvelteKit 3 config (#23656)
Internal Changes
- chore(v10): Add external contributor to CHANGELOG.md (#23626)
- docs(v10): Changelog + contributor credit for AI caller-handled error fixes (#23641)
- test(v10/e2e): Fix scripts for nuxt dev server (#23658)
- test(v10/e2e): Look up events via the organization trace endpoint (#23680)
- test(v10/e2e): Look up the symbolicated event via the eventids endpoint (#23681)
Work in this release was contributed by @ryanrho-mercor, @lux-in-tenebris-lucet, and @suhailopensource. Thank you for your contributions!
Bundle size 📦
| Path | Size |
|---|---|
| @sentry/browser | 27.1 KB |
| @sentry/browser - with treeshaking flags | 25.58 KB |
| @sentry/browser (incl. Tracing) | 45.54 KB |
| @sentry/browser (incl. Tracing + Span Streaming) | 47.28 KB |
| @sentry/browser (incl. Tracing, Profiling) | 50.17 KB |
| @sentry/browser (incl. Tracing, Replay) | 83.87 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 73.74 KB |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 88.49 KB |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 100.83 KB |
| @sentry/browser (incl. Feedback) | 43.87 KB |
| @sentry/browser (incl. sendFeedback) | 31.78 KB |
| @sentry/browser (incl. FeedbackAsync) | 36.79 KB |
| @sentry/browser (incl. Metrics) | 28.16 KB |
| @sentry/browser (incl. Logs) | 28.38 KB |
| @sentry/browser (incl. Metrics & Logs) | 29.06 KB |
| @sentry/react | 28.86 KB |
| @sentry/react (incl. Tracing) | 47.74 KB |
| @sentry/vue | 32.4 KB |
| @sentry/vue (incl. Tracing) | 47.46 KB |
| @sentry/svelte | 27.12 KB |
| CDN Bundle | 29.43 KB |
| CDN Bundle (incl. Tracing) | 47.45 KB |
| CDN Bundle (incl. Logs, Metrics) | 30.98 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) | 48.72 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) | 69.34 KB |
| CDN Bundle (incl. Tracing, Replay) | 84.09 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) | 85.37 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 89.76 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) | 91 KB |
| CDN Bundle - uncompressed | 87.76 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 143.4 KB |
| CDN Bundle (incl. Logs, Metrics) - uncompressed | 92.36 KB |
| CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed | 147.29 KB |
| CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed | 214.26 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 259.91 KB |
| CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed | 263.78 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 273.29 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed | 277.15 KB |
| @sentry/nextjs (client) | 50.22 KB |
| @sentry/sveltekit (client) | 45.94 KB |
| @sentry/core/server | 78.64 KB |
| @sentry/core/browser | 65.18 KB |
| @sentry/node-core | 61.77 KB |
| @sentry/node | 122.8 KB |
| @sentry/node (incl. diagnostics channel injection) | 165.83 KB |
| @sentry/node/import (ESM hook with diagnostics-channel injection) | 166 B |
| @sentry/node/light | 50.21 KB |
| @sentry/node - without tracing | 73.19 KB |
| @sentry/aws-serverless | 82.24 KB |
| @sentry/cloudflare (withSentry) - minified | 197.54 KB |
| @sentry/cloudflare (withSentry) | 485.89 KB |