Version 10.0.0
marks a release of the Sentry JavaScript SDKs that contains breaking changes. The goal of this release is to primarily upgrade the underlying OpenTelemetry dependencies to v2 with minimal breaking changes.
How To Upgrade
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 9 to version 10. Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v9-to-v10/
A comprehensive migration guide outlining all changes can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md
Breaking Changes
- feat!: Bump to OpenTelemetry v2 (#16872)
- feat(browser)!: Remove FID web vital collection (#17076)
- feat(core)!: Remove
BaseClient
(#17071) - feat(core)!: Remove
enableLogs
andbeforeSendLog
experimental options (#17063) - feat(core)!: Remove
hasTracingEnabled
(#17072) - feat(core)!: Remove deprecated logger (#17061)
- feat(replay)!: Promote
_experiments.autoFlushOnFeedback
option as default (#17220) - chore(deps)!: Bump bundler plugins to v4 (#17089)
Other Changes
- feat(astro): Implement Request Route Parametrization for Astro 5 (#17105)
- feat(astro): Parametrize routes on client-side (#17133)
- feat(aws): Add
SentryNodeServerlessSDKv10
v10 AWS Lambda Layer (#17069) - feat(aws): Create unified lambda layer for ESM and CJS (#17012)
- feat(aws): Detect SDK source for AWS Lambda layer (#17128)
- feat(core): Add missing openai tool calls attributes (#17226)
- feat(core): Add shared
flushIfServerless
function (#17177) - feat(core): Implement
strictTraceContinuation
(#16313) - feat(core): MCP server instrumentation without breaking Miniflare (#16817)
- feat(deps): bump @prisma/instrumentation from 6.11.1 to 6.12.0 (#17117)
- feat(meta): Unify detection of serverless environments and add Cloud Run (#17168)
- feat(nestjs): Switch to OTel core instrumentation (#17068)
- feat(node-native): Upgrade
@sentry-internal/node-native-stacktrace
to0.2.2
(#17207) - feat(node): Add
shouldHandleError
option tofastifyIntegration
(#16845) - feat(node): Add firebase integration (#16719)
- feat(node): Instrument stream responses for openai (#17110)
- feat(react-router): Add
createSentryHandleError
(#17235) - feat(react-router): Automatically flush on serverless for loaders/actions (#17234)
- feat(react-router): Automatically flush on Vercel for request handlers (#17232)
- fix(astro): Construct parametrized route during runtime (#17190)
- fix(aws): Add layer build output to nx cache (#17148)
- fix(aws): Fix path to packages directory (#17112)
- fix(aws): Resolve all Sentry packages to local versions in layer build (#17106)
- fix(aws): Use file link in dependency version (#17111)
- fix(cloudflare): Allow non uuid workflow instance IDs (#17121)
- fix(cloudflare): Avoid turning DurableObject sync methods into async (#17184)
- fix(core): Fix OpenAI SDK private field access by binding non-instrumented fns (#17163)
- fix(core): Fix operation name for openai responses API (#17206)
- fix(core): Update ai.response.object to gen_ai.response.object (#17153)
- fix(nextjs): Flush in route handlers (#17223)
- fix(nextjs): Handle async params in url extraction (#17162)
- fix(nextjs): Update stackframe calls for next v15.5 (#17156)
- fix(node): Add mechanism to
fastifyIntegration
error handler (#17208) - fix(node): Ensure tool errors for
vercelAiIntegration
have correct trace connected (#17132) - fix(node): Fix exports for openai instrumentation (#17238)
- fix(node): Handle stack traces with data URI filenames (#17218)
- fix(react): Memoize wrapped component to prevent rerenders (#17230)
- fix(remix): Ensure source maps upload fails silently if Sentry CLI fails (#17082)
- fix(replay): Fix re-sampled sessions after a click (#17008)
- fix(svelte): Do not insert preprocess code in script module in Svelte 5 (#17114)
- fix(sveltekit): Align error status filtering and mechanism in
handleErrorWithSentry
(#17157)
Work in this release was contributed by @richardjelinek-fastest. Thank you for your contribution!
Bundle size 📦
Path | Size |
---|---|
@sentry/browser | 23.21 KB |
@sentry/browser - with treeshaking flags | 21.82 KB |
@sentry/browser (incl. Tracing) | 38.49 KB |
@sentry/browser (incl. Tracing, Replay) | 75.68 KB |
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 65.78 KB |
@sentry/browser (incl. Tracing, Replay with Canvas) | 80.27 KB |
@sentry/browser (incl. Tracing, Replay, Feedback) | 92.11 KB |
@sentry/browser (incl. Feedback) | 39.5 KB |
@sentry/browser (incl. sendFeedback) | 27.78 KB |
@sentry/browser (incl. FeedbackAsync) | 32.56 KB |
@sentry/react | 24.9 KB |
@sentry/react (incl. Tracing) | 40.41 KB |
@sentry/vue | 27.54 KB |
@sentry/vue (incl. Tracing) | 40.25 KB |
@sentry/svelte | 23.23 KB |
CDN Bundle | 24.69 KB |
CDN Bundle (incl. Tracing) | 38.37 KB |
CDN Bundle (incl. Tracing, Replay) | 73.61 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) | 78.91 KB |
CDN Bundle - uncompressed | 72.13 KB |
CDN Bundle (incl. Tracing) - uncompressed | 113.57 KB |
CDN Bundle (incl. Tracing, Replay) - uncompressed | 225.11 KB |
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 237.62 KB |
@sentry/nextjs (client) | 42.42 KB |
@sentry/sveltekit (client) | 38.91 KB |
@sentry/node-core | 46.41 KB |
@sentry/node | 142.76 KB |
@sentry/node - without tracing | 89.48 KB |
@sentry/aws-serverless | 100.67 KB |