Official Sentry SDK for the Vercel Edge Runtime
Last release 3 days ago
24 Aug 2026
Ships on a steady schedule
a new release about every 1 weeks
Nearly every release is documented
notes for 249 of 263 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
324 releases ยท first in 2023
Release timeline
324 releases since 2023Releases
- 11.0.0-alpha.112 Aug 2026pre-release
Release notes
Open source โThis is an alpha release of the upcoming major release of version 11.
This release does not yet entail a comprehensive changelog as version 11 is not yet stable.For this release's iteration of the migration guide, see the Migration Guide as per
11.0.0-alpha.1.Please note that the migration guide is work in progress and subject to change.
Bundle size ๐ฆ
Path Size @sentry/browser 29.59 KB @sentry/browser - with treeshaking flags 27.81 KB @sentry/browser - with treeshaking flags tracing without tracing 26.19 KB @sentry/browser (incl. Tracing) 47.4 KB @sentry/browser (incl. Tracing + Span Streaming) 47.41 KB @sentry/browser (incl. Tracing, Profiling) 50.23 KB @sentry/browser (incl. Tracing, Replay) 85.87 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 75.54 KB @sentry/browser (incl. Tracing, Replay with Canvas) 90.47 KB @sentry/browser (incl. Tracing, Replay, Feedback) 102.88 KB @sentry/browser (incl. Feedback) 46.51 KB @sentry/browser (incl. sendFeedback) 34.3 KB @sentry/browser (incl. FeedbackAsync) 39.33 KB @sentry/browser (incl. Metrics) 30.56 KB @sentry/browser (incl. Logs) 30.81 KB @sentry/browser (incl. Metrics & Logs) 31.46 KB @sentry/react 31.34 KB @sentry/react (incl. Tracing) 49.54 KB @sentry/vue 34.48 KB @sentry/vue (incl. Tracing) 49.3 KB @sentry/svelte 29.6 KB CDN Bundle 30.87 KB CDN Bundle (incl. Tracing) 47.71 KB CDN Bundle (incl. Logs, Metrics) 33.03 KB CDN Bundle (incl. Tracing, Logs, Metrics) 49.63 KB CDN Bundle (incl. Replay, Logs, Metrics) 72.61 KB CDN Bundle (incl. Tracing, Replay) 84.42 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.25 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.99 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 91.93 KB CDN Bundle - uncompressed 91.64 KB CDN Bundle (incl. Tracing) - uncompressed 143.23 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 97.89 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 148.89 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 223.81 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.69 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 265.34 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.07 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 278.7 KB @sentry/nextjs (client) 52.03 KB @sentry/sveltekit (client) 47.8 KB @sentry/core/server 63.88 KB @sentry/core/browser 50.56 KB @sentry/node 115.22 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 0 B @sentry/node - without tracing 80.17 KB @sentry/aws-serverless 89.35 KB @sentry/cloudflare (withSentry) - minified 208.87 KB @sentry/cloudflare (withSentry) 515.92 KB - 11.0.0-alpha.07 Aug 2026pre-release
Release notes
Open source โThis is an alpha release of the upcoming major release of version 11.
This release does not yet entail a comprehensive changelog as version 11 is not yet stable.For this release's iteration of the migration guide, see the Migration Guide as per
11.0.0-alpha.0.Please note that the migration guide is work in progress and subject to change.
Bundle size ๐ฆ
Path Size @sentry/browser 29.64 KB @sentry/browser - with treeshaking flags 27.89 KB @sentry/browser - with treeshaking flags tracing without tracing 26.24 KB @sentry/browser (incl. Tracing) 46.69 KB @sentry/browser (incl. Tracing + Span Streaming) 46.71 KB @sentry/browser (incl. Tracing, Profiling) 51.33 KB @sentry/browser (incl. Tracing, Replay) 85.15 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 74.83 KB @sentry/browser (incl. Tracing, Replay with Canvas) 89.76 KB @sentry/browser (incl. Tracing, Replay, Feedback) 102.11 KB @sentry/browser (incl. Feedback) 46.57 KB @sentry/browser (incl. sendFeedback) 34.35 KB @sentry/browser (incl. FeedbackAsync) 39.4 KB @sentry/browser (incl. Metrics) 30.68 KB @sentry/browser (incl. Logs) 30.92 KB @sentry/browser (incl. Metrics & Logs) 31.57 KB @sentry/react 31.4 KB @sentry/react (incl. Tracing) 48.9 KB @sentry/vue 34.63 KB @sentry/vue (incl. Tracing) 48.66 KB @sentry/svelte 29.66 KB CDN Bundle 31.59 KB CDN Bundle (incl. Tracing) 47.01 KB CDN Bundle (incl. Logs, Metrics) 33.1 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.3 KB CDN Bundle (incl. Replay, Logs, Metrics) 71.52 KB CDN Bundle (incl. Tracing, Replay) 83.73 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.99 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.42 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.69 KB CDN Bundle - uncompressed 93.64 KB CDN Bundle (incl. Tracing) - uncompressed 140.22 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 98.15 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 144.11 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 219.93 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 256.69 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 260.56 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 270.07 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 273.93 KB @sentry/nextjs (client) 51.39 KB @sentry/sveltekit (client) 47.14 KB @sentry/core/server 64.24 KB @sentry/core/browser 50.79 KB @sentry/node 116.67 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 0 B @sentry/node - without tracing 81.49 KB @sentry/aws-serverless 90.61 KB @sentry/cloudflare (withSentry) - minified 209.86 KB @sentry/cloudflare (withSentry) 518.34 KB - 10.71.024 Aug 2026
Release notes
Open source โImportant Changes
- feat(v10/core)!: Enable logs by default (#23311)
The
enableLogsclient option now defaults totrue, so Sentry Logs work without any manual opt-in. Nothing is captured unless you call theSentry.logger.*APIs or add a log-forwarding integration (such asconsoleLoggingIntegration,pinoIntegration, or the winston transport), and you can setenableLogs: falseto opt out. Although a default change like this would normally land in a major release, we are shipping it in a minor after careful consideration, since it sends no data on its own and only takes effect once you actively use the logging APIs or a logging integration.Other Changes
- feat(v10/core): Deprecate
scope.clear()method (#23231) - fix(v10/core): Bound child span tracking on long-lived spans (#23406)
- fix(v10/core): Read Supabase PostgREST headers from
Headersinstances (#23241) - fix(v10/hono): Use
captureExceptionfrom scope, not fromClient(#23280) - fix(v10/nuxt): Delete source maps after Nitro finishes building (#23508)
- fix(v10/react-router): Carry multi-byte UTF-8 across SSR stream chunk boundaries (#23421)
- fix(v10/react): Match TanStack Router pageload against the router location (#23494)
- test(v10/nextjs): Add e2e app for a user-owned OpenTelemetry setup (#23278)
Bundle size ๐ฆ
Path Size @sentry/browser 27.1 KB @sentry/browser - with treeshaking flags 25.58 KB @sentry/browser (incl. Tracing) 45.51 KB @sentry/browser (incl. Tracing + Span Streaming) 47.25 KB @sentry/browser (incl. Tracing, Profiling) 50.15 KB @sentry/browser (incl. Tracing, Replay) 83.83 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.71 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.45 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.79 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.72 KB @sentry/vue 32.4 KB @sentry/vue (incl. Tracing) 47.43 KB @sentry/svelte 27.12 KB CDN Bundle 29.43 KB CDN Bundle (incl. Tracing) 47.43 KB CDN Bundle (incl. Logs, Metrics) 30.98 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.7 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.32 KB CDN Bundle (incl. Tracing, Replay) 84.05 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.72 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.96 KB CDN Bundle - uncompressed 87.76 KB CDN Bundle (incl. Tracing) - uncompressed 143.35 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.36 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.24 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.2 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.79 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.67 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.17 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 277.04 KB @sentry/nextjs (client) 50.2 KB @sentry/sveltekit (client) 45.92 KB @sentry/core/server 78.73 KB @sentry/core/browser 65.27 KB @sentry/node-core 61.77 KB @sentry/node 122.94 KB @sentry/node (incl. diagnostics channel injection) 147.78 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.21 KB @sentry/node - without tracing 73.19 KB @sentry/aws-serverless 82.24 KB @sentry/cloudflare (withSentry) - minified 197.31 KB @sentry/cloudflare (withSentry) 485.11 KB - 10.70.010 Aug 2026
Release notes
Open source โ- feat(v10/core): Support stable MCP SDK v2 (#22986)
- feat(v10/deps): Bump
@sentry/node-cpu-profilerto 2.4.3 (#22992) - feat(v10/solid,solidstart): Support
@solidjs/routerv1 (#23163) - fix(v10/cloudflare): Fork the isolation scope for Durable Object methods (#23189)
- fix(v10/cloudflare): Get original waituntil in workflows (#23192)
- fix(v10/cloudflare): Instrument DO RPC methods on the prototype, not a Proxy (#23190)
- fix(v10/cloudflare): Set agent conversation id on the
onRequestpath (#22985) - fix(v10/cloudflare): Set conversation id independent of session name (#23193)
- fix(v10/cloudflare): Try/catch on non-configurable prototypes (#23191)
- fix(v10/cloudflare): Use gen_ai.agent.name for class names (#22987)
- fix(v10/core,browser): Handle errors from other realms (#23201)
- fix(v10/core): Sample errors after
beforeSendwhile preserving session updates (#22819) - fix(v10/hono): Include originalException in captured exception hint (#22990)
- fix(v10/nextjs):
meriyahissue forstandalonebuild (#23055) - fix(v10/nextjs): Remove tracing from middleware wrappers (#22904)
- fix(v10/profiling-node): Respect profileSessionSampleRate in trace profile lifecycle (#22940)
- fix(v10/react-router): Preserve
sourcemaps.disablewhenunstable_sentryVitePluginOptionsis set (#22966) - fix(v10/react): Remove routes from shared set on
<Routes>unmount (#22948) - fix(v10/sveltekit): Export
metricsfrom worker entry point (#23027)
- test(v10/e2e): Add missing
@sentry/coredep to nextjs-16-userfeedback (#23009) - test(v10/e2e): Fix failing
sveltekit-3test (#23016) - test(v10/e2e): Fix type error in nextjs ai-error tests (#23011)
- test(v10/e2e): Pin tanstackstart-react e2e deps to unblock tunnel tests (#23048)
Work in this release was contributed by @davidmurdoch, @Jxxunnn, and @kamilogorek. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 27.09 KB @sentry/browser - with treeshaking flags 25.58 KB @sentry/browser (incl. Tracing) 45.5 KB @sentry/browser (incl. Tracing + Span Streaming) 47.24 KB @sentry/browser (incl. Tracing, Profiling) 50.13 KB @sentry/browser (incl. Tracing, Replay) 83.82 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.7 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.42 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.78 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.7 KB @sentry/vue 32.39 KB @sentry/vue (incl. Tracing) 47.41 KB @sentry/svelte 27.12 KB CDN Bundle 29.43 KB CDN Bundle (incl. Tracing) 47.41 KB CDN Bundle (incl. Logs, Metrics) 30.97 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.69 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.32 KB CDN Bundle (incl. Tracing, Replay) 84.03 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.31 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.71 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.94 KB CDN Bundle - uncompressed 87.76 KB CDN Bundle (incl. Tracing) - uncompressed 143.3 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.36 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.19 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.2 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.75 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.62 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.13 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.99 KB @sentry/nextjs (client) 50.19 KB @sentry/sveltekit (client) 45.91 KB @sentry/core/server 78.66 KB @sentry/core/browser 65.21 KB @sentry/node-core 61.76 KB @sentry/node 122.92 KB @sentry/node (incl. diagnostics channel injection) 147.77 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.2 KB @sentry/node - without tracing 73.18 KB @sentry/aws-serverless 82.22 KB @sentry/cloudflare (withSentry) - minified 197.26 KB @sentry/cloudflare (withSentry) 484.82 KB - 10.69.029 Jul 2026
Release notes
Open source โImportant Changes
- feat(v10/cloudflare): Add
instrumentAgentWithSentryfor Cloudflare Agents (#22786)
The Cloudflare SDK adds a new
instrumentAgentWithSentryAPI for Cloudflare Agents. It works likeinstrumentDurableObjectWithSentryforAgentclasses from theagentsSDK and additionally creates spans for@callableRPC methods and automatically sets theconversationIdbased on the agent's name. When building with the Sentry Vite plugin, Agents are instrumented automatically (#22788).Other Changes
- feat(v10/cloudflare): Add Spotlight integration for local dev event forwarding (#22796)
- feat(v10/cloudflare): Add wranglerConfigPath to Vite options (#22803)
- feat(v10/cloudflare): Filter framework-internal Durable Object storage spans (#22770)
- feat(v10/cloudflare): Instrument Agents automatically (#22788)
- feat(v10/cloudflare): Rotate agent conversation id on chat clear (#22787)
- fix(v10/cloudflare): Also skip cf: prefixed DOs (#22802)
- fix(v10/cloudflare): Filter
CREATE INDEXspans oncf_-prefixed tables (#22767) - fix(v10/cloudflare): Prevent AI provider skips (#22771)
- fix(v10/core): Summarize SQLite upserts so Durable Object
cf_spans stay filtered (#22766) - fix(v10/effect): Set
sentry.originon logs fromSentryEffectLogger(#22806) - fix(v10/gatsby): Add React 19 to peer dependency range (#22675)
- fix(v10/node): Unpin
@apm-js-collab/code-transformer-bundler-plugins(#22678) - fix(v10/server-utils): Do not inject dc into client bundle (#22765)
- test(v10/cloudflare): Pin mcp as agent depends on it (#22769)
Bundle size ๐ฆ
Path Size @sentry/browser 27.11 KB @sentry/browser - with treeshaking flags 25.59 KB @sentry/browser (incl. Tracing) 45.51 KB @sentry/browser (incl. Tracing + Span Streaming) 47.25 KB @sentry/browser (incl. Tracing, Profiling) 50.15 KB @sentry/browser (incl. Tracing, Replay) 83.84 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.71 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.44 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.79 KB @sentry/browser (incl. Feedback) 43.88 KB @sentry/browser (incl. sendFeedback) 31.79 KB @sentry/browser (incl. FeedbackAsync) 36.8 KB @sentry/browser (incl. Metrics) 28.17 KB @sentry/browser (incl. Logs) 28.39 KB @sentry/browser (incl. Metrics & Logs) 29.07 KB @sentry/react 28.87 KB @sentry/react (incl. Tracing) 47.72 KB @sentry/vue 32.41 KB @sentry/vue (incl. Tracing) 47.43 KB @sentry/svelte 27.13 KB CDN Bundle 29.45 KB CDN Bundle (incl. Tracing) 47.42 KB CDN Bundle (incl. Logs, Metrics) 30.99 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.7 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.34 KB CDN Bundle (incl. Tracing, Replay) 84.04 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.32 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.71 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.94 KB CDN Bundle - uncompressed 87.8 KB CDN Bundle (incl. Tracing) - uncompressed 143.35 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.4 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.23 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.24 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.79 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.66 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.17 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 277.03 KB @sentry/nextjs (client) 50.2 KB @sentry/sveltekit (client) 45.92 KB @sentry/core/server 78.56 KB @sentry/core/browser 65.22 KB @sentry/node-core 61.78 KB @sentry/node 122.95 KB @sentry/node (incl. diagnostics channel injection) 147.79 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.21 KB @sentry/node - without tracing 73.19 KB @sentry/aws-serverless 82.24 KB @sentry/cloudflare (withSentry) - minified 195.81 KB @sentry/cloudflare (withSentry) 481.16 KB - feat(v10/cloudflare): Add
- 10.68.024 Jul 2026
Release notes
Open source โ- feat(cloudflare): Add @sentry/cloudflare/vite orchestrion plugin (#21967)
- feat(nestjs): Support WebSocket errors in SentryGlobalFilter (#22224)
- feat(node,server-utils): Set
cache.keyon dataloader spans and capture redis delete operations ascache.remove(#22389) - feat(server-utils): Allow integrations to be part of marker (#22094)
- feat(server-utils): Migrate
FirebaseInstrumentationto orchestrion (#22141) - feat(server-utils): Warn when bundler config has instrumented module in external (#22379)
- feat(v10): Add
http.routeattribute tohttp.serverspans with parameterized routes (#22564) - feat(v10): Add
url.fullandurl.pathtohttp.serverspans (#22533) - feat(v10/cloudflare): Auto-instrument Durable Object classes (#22541)
- feat(v10/cloudflare): Auto-instrument the worker entry with withSentry (#22540)
- feat(v10/cloudflare): Auto-instrument WorkerEntrypoint classes (#22543)
- feat(v10/cloudflare): Auto-instrument Workflow classes (#22542)
- feat(v10/cloudflare): Read wrangler config and resolve the Sentry options module (#22538)
- feat(v10/core): Add
instrumentStateGraphAPI (#22491) - feat(v10/core): Add
url.fullattribute to core fetch instrumentation (#22436) - feat(v10/core): Support filtering
stackFrameVariablesby variable name (#22526) - feat(v10/react-router): Make instrumentation API the default (#22525)
- fix(cloudflare,deno,node): Align types of vercelai (#22343)
- fix(core): Instrument Anthropic client in place instead of via a deep proxy (#22305)
- fix(replay): Set text/javascript MIME type on compression worker Blob (#22377)
- fix(sveltekit): Adapt frame rewriting for kit 3 (#22407)
- fix(v10): Pin
@apm-js-collab/code-transformer-bundler-pluginsto 0.7.1 (#22497) - fix(v10/cloudflare): Import prismaIntegration from server-utils (#22535)
- fix(v10/core): Avoid
functionToStringIntegrationcausing infinite recursions (#22527) - fix(v10/core): Avoid propagating
baggage: "undefined"when DSC is missing (#22440)
- chore: Add external contributor to CHANGELOG.md (#22342)
- chore: Add external contributor to CHANGELOG.md (#22405)
- chore(deps): Bump axios from 1.16.0 to 1.18.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#22395)
- chore(deps): Bump morgan from 1.10.0 to 1.11.0 (#22187)
- chore(size-limit): weekly auto-bump (#22182)
- ci(v10): Add
v10to build and license-compliance branch filters (#22499) - feat(deps): Bump axios from 1.16.0 to 1.18.0 (#22396)
- ref(server-utils): Remove unneeded orchestrion config (#22384)
- ref(server-utils): Small fastify cleanup (#22385)
- test: Remove unnecessary test waits (#22383)
- test(sveltekit-3): Fix import
defineEnvVarsfrom@sveltejs/kit/env(#22390) - test(v10/cloudflare): Add Vite-build support to the integration-test runner (#22539)
Work in this release was contributed by @psh4607 and @trinitiwowka. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 27.11 KB @sentry/browser - with treeshaking flags 25.59 KB @sentry/browser (incl. Tracing) 45.51 KB @sentry/browser (incl. Tracing + Span Streaming) 47.25 KB @sentry/browser (incl. Tracing, Profiling) 50.15 KB @sentry/browser (incl. Tracing, Replay) 83.84 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.71 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.44 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.79 KB @sentry/browser (incl. Feedback) 43.88 KB @sentry/browser (incl. sendFeedback) 31.79 KB @sentry/browser (incl. FeedbackAsync) 36.8 KB @sentry/browser (incl. Metrics) 28.17 KB @sentry/browser (incl. Logs) 28.39 KB @sentry/browser (incl. Metrics & Logs) 29.07 KB @sentry/react 28.87 KB @sentry/react (incl. Tracing) 47.72 KB @sentry/vue 32.41 KB @sentry/vue (incl. Tracing) 47.43 KB @sentry/svelte 27.13 KB CDN Bundle 29.45 KB CDN Bundle (incl. Tracing) 47.42 KB CDN Bundle (incl. Logs, Metrics) 30.99 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.69 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.34 KB CDN Bundle (incl. Tracing, Replay) 84.04 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.32 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.71 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.94 KB CDN Bundle - uncompressed 87.8 KB CDN Bundle (incl. Tracing) - uncompressed 143.35 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.4 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.23 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.24 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.79 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.66 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.17 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 277.03 KB @sentry/nextjs (client) 50.2 KB @sentry/sveltekit (client) 45.92 KB @sentry/core/server 78.45 KB @sentry/core/browser 65.16 KB @sentry/node-core 61.77 KB @sentry/node 122.9 KB @sentry/node (incl. diagnostics channel injection) 147.76 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.21 KB @sentry/node - without tracing 73.19 KB @sentry/aws-serverless 82.24 KB @sentry/cloudflare (withSentry) - minified 193.11 KB @sentry/cloudflare (withSentry) 475.28 KB - 10.67.020 Jul 2026
Release notes
Open source โImportant Changes
-
feat(sveltekit): Add support for SvelteKit 3 (#22264)
The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically.
Other Changes
- feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in (#22143)
- feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation (#22126)
- feat(cloudflare): Instrument Cloudflare rate limiter bindings (#22035)
- feat(core): Instrument workers-ai-provider (#22119)
- feat(core): Rename
queryParamstourlQueryParams(#22217) - feat(mongodb): implement orchestrion mongodb integration (#22308)
- feat(mongoose): implement orchestrion mongoose integration (#22202)
- feat(node): Rewrite tedious instrumentation to orchestrion tracing channels (#22238)
- feat(nuxt): Add
_experimental.useDiagnosticsChannelInjection(#22323) - feat(remix): Add orchestrion-based remix instrumentation (#22244)
- feat(replay): Allow skipping the final flush on stop() via { flush: false } (#22300)
- feat(server-utils): Add @opentelemetry/instrumentation-koa orchestrion integration (#22146)
- feat(server-utils): Add orchestrion aws-sdk channel integration core (#22142)
- feat(server-utils): Allow passing custom transforms to orchestrion (#22319)
- feat(server-utils): Port Bedrock aws-sdk extension and add integration tests (#22166)
- feat(server-utils): Port S3, Kinesis, DynamoDB, SecretsManager and StepFunctions aws-sdk extensions (#22164)
- feat(server-utils): Port SQS, SNS and Lambda aws-sdk extensions with trace propagation (#22165)
- feat(server-utils): Rewrite
SentryLangChainInstrumentationto orchestrion (#22266) - feat(server-utils): Rewrite
SentryLangGraphInstrumentationto orchestrion (#22268) - feat(vue): Set
navigation.route.idfrom the route name (#22372) - fix(bundler): do not import type from optional peer dep (#22304)
- fix(cloudflare): Bind Durable Object built-in handlers (#22340)
- fix(cloudflare): Instrument custom WorkerEntrypoint RPC methods (#22310)
- fix(cloudflare): Route DO teardown through original
waitUntil(#22339) - fix(cloudflare): Skip spans for Cloudflare-internal Durable Object SQL queries (#22376)
- fix(core): Prevent functionToStringIntegration from throwing on cross-origin realms (#22273)
- fix(core): Prevent infinite recursion when console is instrumented twice (#21959)
- fix(nextjs): Mark internal chunk frames as not
in_app(#22354) - fix(node): Register tracer provider when OTel API global pre-exists with a different version (#22374)
- fix(node-native): Don't drop breadcrumbs from event loop block events (#22322)
- fix(serve-rutils): Orchestrion diagnostics for async and require (#22327)
- fix(server-utils): Only skip loader thread (#22336)
- fix(sveltekit): Detect SvelteKit server build via Vite Environment API (#21629)
- fix(vercelai): Avoid double-capturing v4 tool errors in orchestrion mode (#22293)
- fix(vue): Support pinia 4 in peer dependency range (#22324)
- chore: Add external contributor to CHANGELOG.md (#22357)
- chore: Add external contributor to CHANGELOG.md (#22359)
- chore: Remove
@apm-js-collab/code-transformeras a dependency (#22317) - chore(changelog): Add callout for SvelteKit 3 support (#22371)
- chore(ci): Use openrouter keys for claude in ci (#22381)
- chore(skills): Add libraries to framework update watcher (#22326)
- docs(agents): Prefer reusing existing utils before adding new ones (#22370)
- feat(deps): Bump @opentelemetry/semantic-conventions from 1.42.0 to 1.43.0 in the opentelemetry group (#22333)
- fix(skills): Make sure digest file is written/read correctly (#22330)
- ref: Omit redundant
captureError: falsefrom tracing-channel callsites (#22368) - ref: Use base keys from conventions for dynamic suffix attribute keys (#22356)
- ref(core): Replace
sentry.span.sourceattribute withsentry.segment.name.source(#22358) - ref(server-utils): Collapse express route/use into one orchestrion channel (#22331)
- ref(server-utils): Share one orchestrion channel across OpenAI chat/responses/conversations (#22332)
- refactor(nextjs): Change ESM interop. to remove lazy loading (#22193)
- test(cloudflare): Add tests for
ignoreSpanswith continued traces (#22316) - test(cloudflare): Proof that AI providers work OOTB on Cloudflare (#22313)
Work in this release was contributed by @PeterWadie and @akshitsinha. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 27.09 KB @sentry/browser - with treeshaking flags 25.57 KB @sentry/browser (incl. Tracing) 45.47 KB @sentry/browser (incl. Tracing + Span Streaming) 47.24 KB @sentry/browser (incl. Tracing, Profiling) 50.16 KB @sentry/browser (incl. Tracing, Replay) 83.81 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.7 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.43 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.78 KB @sentry/browser (incl. Feedback) 43.88 KB @sentry/browser (incl. sendFeedback) 31.79 KB @sentry/browser (incl. FeedbackAsync) 36.81 KB @sentry/browser (incl. Metrics) 28.16 KB @sentry/browser (incl. Logs) 28.37 KB @sentry/browser (incl. Metrics & Logs) 29.06 KB @sentry/react 28.85 KB @sentry/react (incl. Tracing) 47.69 KB @sentry/vue 32.4 KB @sentry/vue (incl. Tracing) 47.39 KB @sentry/svelte 27.13 KB CDN Bundle 29.44 KB CDN Bundle (incl. Tracing) 47.39 KB CDN Bundle (incl. Logs, Metrics) 30.99 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.67 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.31 KB CDN Bundle (incl. Tracing, Replay) 84.02 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.3 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.69 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.93 KB CDN Bundle - uncompressed 87.77 KB CDN Bundle (incl. Tracing) - uncompressed 143.29 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.37 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.17 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.18 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.71 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.58 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 273.09 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.95 KB @sentry/nextjs (client) 50.16 KB @sentry/sveltekit (client) 45.88 KB @sentry/core/server 78.25 KB @sentry/core/browser 65 KB @sentry/node-core 61.73 KB @sentry/node 122.72 KB @sentry/node (incl. diagnostics channel injection) 145.93 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.12 KB @sentry/node - without tracing 73.16 KB @sentry/aws-serverless 82.18 KB @sentry/cloudflare (withSentry) - minified 192.88 KB @sentry/cloudflare (withSentry) 474.48 KB Release notes
Open source โImportant Changes
-
feat(sveltekit): Add support for SvelteKit 3 (#22264)
The SvelteKit SDK now supports the pre-release of SvelteKit 3, including client-side pageload and navigation tracing and server-side native tracing, alongside continued SvelteKit 2 support. No Sentry-specific setup changes are required. The SDK detects your SvelteKit version and picks the right implementation automatically.
Other Changes
- feat(aws-serverless): Use orchestrion aws-sdk integration under diagnostics-channel opt-in (#22143)
- feat(cloudflare): Auto-instrument Workers AI binding via env instrumentation (#22126)
- feat(cloudflare): Instrument Cloudflare rate limiter bindings (#22035)
- feat(core): Instrument workers-ai-provider (#22119)
- feat(core): Rename
queryParamstourlQueryParams(#22217) - feat(mongodb): implement orchestrion mongodb integration (#22308)
- feat(mongoose): implement orchestrion mongoose integration (#22202)
- feat(node): Rewrite tedious instrumentation to orchestrion tracing channels (#22238)
- feat(nuxt): Add
_experimental.useDiagnosticsChannelInjection(#22323) - feat(remix): Add orchestrion-based remix instrumentation (#22244)
- feat(replay): Allow skipping the final flush on stop() via { flush: false } (#22300)
- feat(server-utils): Add @opentelemetry/instrumentation-koa orchestrion integration (#22146)
- feat(server-utils): Add orchestrion aws-sdk channel integration core (#22142)
- feat(server-utils): Allow passing custom transforms to orchestrion (#22319)
- feat(server-utils): Port Bedrock aws-sdk extension and add integration tests (#22166)
- feat(server-utils): Port S3, Kinesis, DynamoDB, SecretsManager and StepFunctions aws-sdk extensions (#22164)
- feat(server-utils): Port SQS, SNS and Lambda aws-sdk extensions with trace propagation (#22165)
- feat(server-utils): Rewrite
SentryLangChainInstrumentationto orchestrion (#22266) - feat(server-utils): Rewrite
SentryLangGraphInstrumentationto orchestrion (#22268) - feat(vue): Set
navigation.route.idfrom the route name (#22372) - fix(bundler): do not import type from optional peer dep (#22304)
- fix(cloudflare): Bind Durable Object built-in handlers (#22340)
- fix(cloudflare): Instrument custom WorkerEntrypoint RPC methods (#22310)
- fix(cloudflare): Route DO teardown through original
waitUntil(#22339) - fix(cloudflare): Skip spans for Cloudflare-internal Durable Object SQL queries (#22376)
- fix(core): Prevent functionToStringIntegration from throwing on cross-origin realms (#22273)
- fix(core): Prevent infinite recursion when console is instrumented twice (#21959)
- fix(nextjs): Mark internal chunk frames as not
in_app(#22354) - fix(node): Register tracer provider when OTel API global pre-exists with a different version (#22374)
- fix(node-native): Don't drop breadcrumbs from event loop block events (#22322)
- fix(serve-rutils): Orchestrion diagnostics for async and require (#22327)
- fix(server-utils): Only skip loader thread (#22336)
- fix(sveltekit): Detect SvelteKit server build via Vite Environment API (#21629)
- fix(vercelai): Avoid double-capturing v4 tool errors in orchestrion mode (#22293)
- fix(vue): Support pinia 4 in peer dependency range (#22324)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add external contributor to CHANGELOG.md (#22357)
- chore: Add external contributor to CHANGELOG.md (#22359)
- chore: Remove
@apm-js-collab/code-transformeras a dependency (#22317) - chore(changelog): Add callout for SvelteKit 3 support (#22371)
- chore(ci): Use openrouter keys for claude in ci (#22381)
- chore(skills): Add libraries to framework update watcher (#22326)
- docs(agents): Prefer reusing existing utils before adding new ones (#22370)
- feat(deps): Bump @opentelemetry/semantic-conventions from 1.42.0 to 1.43.0 in the opentelemetry group (#22333)
- fix(skills): Make sure digest file is written/read correctly (#22330)
- ref: Omit redundant
captureError: falsefrom tracing-channel callsites (#22368) - ref: Use base keys from conventions for dynamic suffix attribute keys (#22356)
- ref(core): Replace
sentry.span.sourceattribute withsentry.segment.name.source(#22358) - ref(server-utils): Collapse express route/use into one orchestrion channel (#22331)
- ref(server-utils): Share one orchestrion channel across OpenAI chat/responses/conversations (#22332)
- refactor(nextjs): Change ESM interop. to remove lazy loading (#22193)
- test(cloudflare): Add tests for
ignoreSpanswith continued traces (#22316) - test(cloudflare): Proof that AI providers work OOTB on Cloudflare (#22313)
</details>
Work in this release was contributed by @PeterWadie and @akshitsinha. Thank you for your contributions!
Other Changes
- fix(replay): Set
text/javascriptMIME type on the compression worker Blob (#22377)
-
- 10.66.016 Jul 2026
Release notes
Open source โ- chore(node-core): Deprecate
@sentry/node-corepackage (#22285) - chore(tanstackstart): Deprecate
@sentry/tanstackstartpackage (#22284) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks (#22172)
- feat(bun): Add
initWithoutDefaultIntegrationsandgetDefaultIntegrationsWithoutPerformance(#22036) - feat(bundlers): Add orchestrion bundler plugins (#22124)
- feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions (#22180)
- feat(core): Add and use
dataCollection.databaseQueryData(for e.g. Supabase filter values and mutation bodies) (#22219) - feat(core): Add and use
dataCollection.graphQL(#22221) - feat(core): Add stringify helper and make AI-tracing serializers safe (#22163)
- feat(nestjs): Add orchestrion diagnostics-channel instrumentation (#22176)
- feat(nextjs): Add opt-in for orchestrion instrumentation (#22043)
- feat(node): Rewrite knex instrumentation to orchestrion tracing channels (#22237)
- feat(server-utils): Capture and log orchestrion stats (#22269)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-kafkajsto orchestrion (#21923) - feat(server-utils): Migrate
@opentelemetry/instrumentation-mysql2to orchestrion (#22229) - feat(server-utils): Rewrite
@opentelemetry/instrumentation-dataloaderto orchestrion (#22236) - feat(server-utils): Rewrite
@opentelemetry/instrumentation-generic-poolto orchestrion (#22240) - feat(sveltekit): Detect SvelteKit 3 native tracing from the Vite plugin (#21580)
- fix: Include bundler CJS exports to fix Node warning (#22286)
- fix(browser-utils): Remove readystatechange listener to prevent memory leaks (#22216)
- fix(browser): Propagate trace data from active span if
http.clientspan is non-recording (#22246) - fix(core): Preserve propagation across ignored spans (#22277)
- fix(node): move dc integration swap to _init (#22173)
- fix(react-router): Correct url attributes for history and relative navigations (#22131)
- fix(react): Preserve parent path prefix for descendant route names in
react-router(#22225) - fix(server-utils): Dedupe ioredis orchestrion span for offline-queued commands (#22279)
- fix(vue): Refresh pageload URL attrs on TanStack onResolved (#22140)
- chore: Add external contributor to CHANGELOG.md (#22295)
- chore: Do not treat flaky test issues as bug (#22272)
- chore: stub modules for orchestrion configs, channels (#22195)
- chore: Update claude PR instructions (#22241)
- chore(changelog): Add external contributor to next changelog (#22234)
- chore(ci): Temporarily assign node/node-core reviews to whole JS SDK team (#22226)
- chore(ci): Temporarily assign orchestrion reviews to whole JS SDK team (#22215)
- chore(deps): Bump orchestrion dependencies to latest (#22287)
- chore(deps): Bump
@sentry/conventionsto 0.16.0 (#22270) - chore(gitignore): Add
.pnpm-storeto gitignore (#22223) - chore(skills): Add bump-conventions skill (#22271)
- fix(ci): Improve flaky test issue deduplication (#22042)
- fix(ci): Unblock external-contributors checkout on fork PR merges (#22235)
- ref(build): Replace ts-node with tsx for build and CI scripts (#22186)
- ref(core): Remove redundant log buffer flush (#22278)
- ref(nestjs): extract shared span helpers (#22175)
- ref(node): Refactor some otel internals in http integrations (#22292)
- ref(nuxt): Build the Nuxt module in-house instead of @nuxt/module-builder (#22190)
- ref(server-utils): Move prisma instrumentation to server-utils (#22222)
- test(anr): Use pure-JS busy work so ANR stack samples capture longWork (#22133)
- test(browser-integration): Fix local runs referencing renamed
type-checkcommand (#22243) - test(e2e): Add E2E test app for orchestrion instrumentations on Remix (#22218)
- test(nextjs): Add orchestrion e2e test app (#22080)
- test(node-integration-tests): Free up CI disk space to prevent ENOSPC failures (#22132)
- test(node-integration-tests): Reuse Docker Compose containers across tests (#22128)
- test(react-router): Add orchestrion based e2e test app (#22185)
- test(sveltekit): Add SvelteKit 3 e2e app (#21540)
- test(tanstackstart): Deterministically match the server-side error event (#22137)
Work in this release was contributed by @dobladov and @PeterWadie. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 27.07 KB @sentry/browser - with treeshaking flags 25.55 KB @sentry/browser (incl. Tracing) 45.46 KB @sentry/browser (incl. Tracing + Span Streaming) 47.2 KB @sentry/browser (incl. Tracing, Profiling) 50.12 KB @sentry/browser (incl. Tracing, Replay) 83.77 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.65 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.37 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.74 KB @sentry/browser (incl. Feedback) 43.85 KB @sentry/browser (incl. sendFeedback) 31.76 KB @sentry/browser (incl. FeedbackAsync) 36.77 KB @sentry/browser (incl. Metrics) 28.14 KB @sentry/browser (incl. Logs) 28.37 KB @sentry/browser (incl. Metrics & Logs) 29.04 KB @sentry/react 28.84 KB @sentry/react (incl. Tracing) 47.65 KB @sentry/vue 32.37 KB @sentry/vue (incl. Tracing) 47.38 KB @sentry/svelte 27.1 KB CDN Bundle 29.42 KB CDN Bundle (incl. Tracing) 47.37 KB CDN Bundle (incl. Logs, Metrics) 30.96 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.64 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.28 KB CDN Bundle (incl. Tracing, Replay) 83.99 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.26 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.65 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.88 KB CDN Bundle - uncompressed 87.67 KB CDN Bundle (incl. Tracing) - uncompressed 143.15 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 92.27 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.03 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 214.07 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.56 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 263.43 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 272.94 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.8 KB @sentry/nextjs (client) 50.15 KB @sentry/sveltekit (client) 45.87 KB @sentry/core/server 76.76 KB @sentry/core/browser 63.43 KB @sentry/node-core 61.69 KB @sentry/node 122.47 KB @sentry/node (incl. diagnostics channel injection) 137.35 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.39 KB @sentry/node/light 50.1 KB @sentry/node - without tracing 72.93 KB @sentry/aws-serverless 81.93 KB @sentry/cloudflare (withSentry) - minified 177.76 KB @sentry/cloudflare (withSentry) 440.12 KB Release notes
Open source โ- chore(node-core): Deprecate
@sentry/node-corepackage (#22285) - chore(tanstackstart): Deprecate
@sentry/tanstackstartpackage (#22284) - deps(server-utils): bump @apm-js-collab/code-transformer and tracing-hooks (#22172)
- feat(bun): Add
initWithoutDefaultIntegrationsandgetDefaultIntegrationsWithoutPerformance(#22036) - feat(bundlers): Add orchestrion bundler plugins (#22124)
- feat(cloudflare): Support Cloudflare types v5 & newer wrangler versions (#22180)
- feat(core): Add and use
dataCollection.databaseQueryData(for e.g. Supabase filter values and mutation bodies) (#22219) - feat(core): Add and use
dataCollection.graphQL(#22221) - feat(core): Add stringify helper and make AI-tracing serializers safe (#22163)
- feat(nestjs): Add orchestrion diagnostics-channel instrumentation (#22176)
- feat(nextjs): Add opt-in for orchestrion instrumentation (#22043)
- feat(node): Rewrite knex instrumentation to orchestrion tracing channels (#22237)
- feat(server-utils): Capture and log orchestrion stats (#22269)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-kafkajsto orchestrion (#21923) - feat(server-utils): Migrate
@opentelemetry/instrumentation-mysql2to orchestrion (#22229) - feat(server-utils): Rewrite
@opentelemetry/instrumentation-dataloaderto orchestrion (#22236) - feat(server-utils): Rewrite
@opentelemetry/instrumentation-generic-poolto orchestrion (#22240) - feat(sveltekit): Detect SvelteKit 3 native tracing from the Vite plugin (#21580)
- fix: Include bundler CJS exports to fix Node warning (#22286)
- fix(browser-utils): Remove readystatechange listener to prevent memory leaks (#22216)
- fix(browser): Propagate trace data from active span if
http.clientspan is non-recording (#22246) - fix(core): Preserve propagation across ignored spans (#22277)
- fix(node): move dc integration swap to _init (#22173)
- fix(react-router): Correct url attributes for history and relative navigations (#22131)
- fix(react): Preserve parent path prefix for descendant route names in
react-router(#22225) - fix(server-utils): Dedupe ioredis orchestrion span for offline-queued commands (#22279)
- fix(vue): Refresh pageload URL attrs on TanStack onResolved (#22140)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add external contributor to CHANGELOG.md (#22295)
- chore: Do not treat flaky test issues as bug (#22272)
- chore: stub modules for orchestrion configs, channels (#22195)
- chore: Update claude PR instructions (#22241)
- chore(changelog): Add external contributor to next changelog (#22234)
- chore(ci): Temporarily assign node/node-core reviews to whole JS SDK team (#22226)
- chore(ci): Temporarily assign orchestrion reviews to whole JS SDK team (#22215)
- chore(deps): Bump orchestrion dependencies to latest (#22287)
- chore(deps): Bump
@sentry/conventionsto 0.16.0 (#22270) - chore(gitignore): Add
.pnpm-storeto gitignore (#22223) - chore(skills): Add bump-conventions skill (#22271)
- fix(ci): Improve flaky test issue deduplication (#22042)
- fix(ci): Unblock external-contributors checkout on fork PR merges (#22235)
- ref(build): Replace ts-node with tsx for build and CI scripts (#22186)
- ref(core): Remove redundant log buffer flush (#22278)
- ref(nestjs): extract shared span helpers (#22175)
- ref(node): Refactor some otel internals in http integrations (#22292)
- ref(nuxt): Build the Nuxt module in-house instead of @nuxt/module-builder (#22190)
- ref(server-utils): Move prisma instrumentation to server-utils (#22222)
- test(anr): Use pure-JS busy work so ANR stack samples capture longWork (#22133)
- test(browser-integration): Fix local runs referencing renamed
type-checkcommand (#22243) - test(e2e): Add E2E test app for orchestrion instrumentations on Remix (#22218)
- test(nextjs): Add orchestrion e2e test app (#22080)
- test(node-integration-tests): Free up CI disk space to prevent ENOSPC failures (#22132)
- test(node-integration-tests): Reuse Docker Compose containers across tests (#22128)
- test(react-router): Add orchestrion based e2e test app (#22185)
- test(sveltekit): Add SvelteKit 3 e2e app (#21540)
- test(tanstackstart): Deterministically match the server-side error event (#22137)
</details>
Work in this release was contributed by @dobladov and @PeterWadie. Thank you for your contributions!
- chore(node-core): Deprecate
- 10.65.010 Jul 2026
Release notes
Open source โ- feat(angular): Set
urlattributes on pageload and navigation spans (#21985) - feat(astro): Set
url.templateon pageload spans (#22011) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection (#22079)
- feat(browser): Set
url.pathandurl.fullon pageload and navigation spans (#21952) - feat(bun): warn when externalizing instrumented deps (#21999)
- feat(core): Require
attributesonSerializedStreamedSpan(#22052) - feat(ember): Set
url.template,url.pathandurl.fullon router spans (#22095) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels (#21824)
- feat(nextjs): Set
urlattributes on pageload and navigation spans (#22006) - feat(react): Set
url.template,url.pathandurl.fullon routing spans (#22087) - feat(react-router): Set
url.template,url.pathandurl.fullon pageload and navigation spans (#22018) - feat(remix): Set
url.templateon pageload and navigation spans (#22025) - feat(server-utils): Add orchestrion support for Vercel AI v4 (#22139)
- feat(server-utils): Add requiresParentSpan option to bindTracingChannelToSpan (#22113)
- feat(server-utils): Capture usage and output on streamed Vercel AI v7 spans (#22000)
- feat(server-utils): Implement orchestrion-based express integration (#21889)
- feat(server-utils): Instrument graphql v17 via native tracing channels (#21804)
- feat(solid): Set
urlattributes on solid router and tanstack router spans (#22090) - feat(sveltekit): Set
url.template,url.pathandurl.fullon pageload and navigation spans (#22027) - feat(vue, nuxt): Set
url.templateand URL attributes on router spans (#22063) - fix(browser): Send web vital span
sentry.segment.nameattribute (#22024) - fix(cloudflare): Honor newTarget in instrumentDurableObjectWithSentry construct trap (#22104)
- fix(opentelemetry): Fall back to
'sentry.origin': manualwhen backfilling OTel data (#22102) - fix(replay): Prevent rrweb recording from dying when the emit callback throws (#21409)
- fix(replay): Skip client reports for replay failures after stop (#22177)
- perf(vite): add fast component annotation transform (#22089)
- ref(server-utils): Add orchestrion support for Vercel AI v5 (#21979)
- chore: Add external contributor to CHANGELOG.md (#22111)
- chore: Reinstate changelog anchor (#22022)
- chore(cloudflare): Ignore import patterns (#22008)
- chore(deps-dev): bump vite from 7.3.2 to 7.3.5 in /dev-packages/e2e-tests/test-applications/tanstackstart-react-orchestrion (#22041)
- chore(deps): bump vite from 8.0.1 to 8.0.16 in /dev-packages/bundler-plugin-integration-tests/fixtures/vite8 (#21664)
- chore(opentelemetry): Add worker as export | sort exports (#21859)
- chore(size-limit): weekly auto-bump (#21812)
- ci: Only run cloudflare & bundler plugin tests when necessary (#22130)
- ci(deps): bump actions/checkout from 6 to 7 (#21898)
- ci(deps): Bump anthropics/claude-code-action from 1.0.124 to 1.0.161 (#21896)
- ci(deps): Bump getsentry/craft from 2.26.9 to 2.26.14 (#21900)
- ci(deps): Bump getsentry/github-workflows/validate-pr from 71588ddf95134f804e82c5970a8098588e2eaecd to 4013fc6e1aeb1be1f9d3b4d232624f0ec1afa613 (#21897)
- ci(deps): bump pnpm/action-setup from 5.0.0 to 6.0.9 (#21899)
- feat(core): add isObjectLike guard and consolidate non-null-object checks (#22155)
- feat(core): add uniq array util and consolidate call sites (#22152)
- feat(deps): Bump @growthbook/growthbook from 1.6.1 to 1.6.5 (#21940)
- feat(deps): Bump @opentelemetry/semantic-conventions from 1.41.1 to 1.42.0 in the opentelemetry group (#22147)
- feat(deps): Bump dotenv from 16.0.3 to 17.4.2 (#22150)
- feat(deps): Bump js-yaml from 3.14.2 to 3.15.0 (#21864)
- feat(deps): Bump nock from 13.5.5 to 14.0.16 (#22149)
- feat(server-utils): Migrate @opentelemetry/instrumentation-amqplib to orchestrion (#21981)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-graphqlto orchestrion (#21885) - feat(server-utils): Migrate
@opentelemetry/instrumentation-redisto orchestrion (#21925) - feat(server-utils): Migrate Google GenAI integration to orchestrion (#21970)
- feat(server-utils): Migrate postgres.js instrumentation to orchestrion (#21983)
- ref: remove unused addOriginToSpan copies (#22153)
- ref(angular): Streamline
urlattribute creation (#22091) - ref(core): Use common span attribute keys from Sentry conventions (#22081)
- ref(nitro, nuxt): inline
== nullchecks for nullish detection (#22154) - ref(node): Refactor http instrumentation away from OTEL (#21974)
- ref(redis): expose diagnostics-channel subscription as an integration (#21963)
- test: Avoid unnecessary definedness checks for
attributesonSerializedStreamedSpanobjects (#22060) - test: Remove fixed container_name from node integration test docker-compose files (#22134)
- test(browser): Give profiling envelope tests headroom against CI timeouts (#22067)
- test(browser): Stabilize flaky manual-mode profile_chunk test (#22040)
- test(bun-integration-tests): Type-check test suites in CI (#22059)
- test(bundler-plugins): Test bundler plugins on more node versions (#22105)
- test(cloudflare-integration-tests): Type-check test suites in CI (#22068)
- test(cloudflare): Add headroom for wrangler cold-start in integration tests (#22083)
- test(e2e): Add Astro 7 with Orchestrion test (#22005)
- test(e2e): Add E2E test app for orchestrion instrumentations on TanStack Start (#22020)
- test(e2e): Add test for SvelteKit with orchestrion (#22014)
- test(e2e): De-flake remix-hydrogen client tests (#22051)
- test(e2e): Gate hydrogen-react-router-7 client clicks on hydration (#22061)
- test(e2e): Pin @cloudflare/vite-plugin to 1.43.1 in Cloudflare E2E test apps (#22115)
- test(e2e): Use official @module-federation/vite (#21605)
- test(nitro): Guard throwing-route request in nitro-3 errors test (#22039)
- test(node-core): Fix flaky withMonitor span order assertion (#22129)
- test(node-integration-tests): Enable Node compile cache for scenario child processes (#22084)
- test(node-integration-tests): Make runner completion event-driven instead of polling (#22085)
- test(node-integration-tests): Surface early scenario exit instead of hanging (#22136)
- test(node-integration-tests): Type-check test suites in CI (#22054)
- test(node): Consolidate flaky DB readiness handling into a shared waitForConnection helper (#22058)
- test(node): Fix flaky negative sampling (static) envelope ordering (#22038)
- test(node): Retry initial tedious connection until the DB is ready (#22050)
- test(node): Update vercel AI v7 version in tests & skip on Node 18 (#21984)
- test(node): Wait for Postgres readiness in pg integration test scenarios (#22045)
- test(server-utils): Remove graphql unit tests that replicated SDK async-context logic (#22103)
- test(server-utils): Remove hapi unit test that replicated SDK async-context logic (#22100)
- test(server-utils): Remove ioredis unit test that replicated SDK async-context logic (#22099)
- test(server-utils): Remove mongoose unit test that replicated SDK async-context logic (#22101)
- test(server-utils): Remove postgres.js unit test that replicated SDK async-context logic (#22097)
- test(server-utils): Remove redis unit tests that replicated SDK async-context logic (#22098)
Work in this release was contributed by @martijnwalraven. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 26.96 KB @sentry/browser - with treeshaking flags 25.43 KB @sentry/browser (incl. Tracing) 45.26 KB @sentry/browser (incl. Tracing + Span Streaming) 47.01 KB @sentry/browser (incl. Tracing, Profiling) 49.94 KB @sentry/browser (incl. Tracing, Replay) 83.62 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.49 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.22 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.58 KB @sentry/browser (incl. Feedback) 43.73 KB @sentry/browser (incl. sendFeedback) 31.64 KB @sentry/browser (incl. FeedbackAsync) 36.65 KB @sentry/browser (incl. Metrics) 28.01 KB @sentry/browser (incl. Logs) 28.25 KB @sentry/browser (incl. Metrics & Logs) 28.92 KB @sentry/react 28.71 KB @sentry/react (incl. Tracing) 47.48 KB @sentry/vue 32.26 KB @sentry/vue (incl. Tracing) 47.2 KB @sentry/svelte 26.98 KB CDN Bundle 29.3 KB CDN Bundle (incl. Tracing) 47.2 KB CDN Bundle (incl. Logs, Metrics) 30.84 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.48 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.16 KB CDN Bundle (incl. Tracing, Replay) 83.82 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 85.11 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.49 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.74 KB CDN Bundle - uncompressed 87.23 KB CDN Bundle (incl. Tracing) - uncompressed 142.65 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.83 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.53 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.63 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 259.06 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 262.92 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 272.44 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.29 KB @sentry/nextjs (client) 49.97 KB @sentry/sveltekit (client) 45.7 KB @sentry/core/server 76.58 KB @sentry/core/browser 63.25 KB @sentry/node-core 61.25 KB @sentry/node 122.41 KB @sentry/node (incl. diagnostics channel injection) 135.36 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.54 KB @sentry/node - without tracing 72.31 KB @sentry/aws-serverless 81.31 KB @sentry/cloudflare (withSentry) - minified 177.22 KB @sentry/cloudflare (withSentry) 438.45 KB Release notes
Open source โ- feat(angular): Set
urlattributes on pageload and navigation spans (#21985) - feat(astro): Set
url.templateon pageload spans (#22011) - feat(aws-serverless): Replace OTel Lambda instrumentation with handler redirection (#22079)
- feat(browser): Set
url.pathandurl.fullon pageload and navigation spans (#21952) - feat(bun): warn when externalizing instrumented deps (#21999)
- feat(core): Require
attributesonSerializedStreamedSpan(#22052) - feat(ember): Set
url.template,url.pathandurl.fullon router spans (#22095) - feat(mysql2): Instrument mysql2 >= 3.20.0 via native tracing channels (#21824)
- feat(nextjs): Set
urlattributes on pageload and navigation spans (#22006) - feat(react): Set
url.template,url.pathandurl.fullon routing spans (#22087) - feat(react-router): Set
url.template,url.pathandurl.fullon pageload and navigation spans (#22018) - feat(remix): Set
url.templateon pageload and navigation spans (#22025) - feat(server-utils): Add orchestrion support for Vercel AI v4 (#22139)
- feat(server-utils): Add requiresParentSpan option to bindTracingChannelToSpan (#22113)
- feat(server-utils): Capture usage and output on streamed Vercel AI v7 spans (#22000)
- feat(server-utils): Implement orchestrion-based express integration (#21889)
- feat(server-utils): Instrument graphql v17 via native tracing channels (#21804)
- feat(solid): Set
urlattributes on solid router and tanstack router spans (#22090) - feat(sveltekit): Set
url.template,url.pathandurl.fullon pageload and navigation spans (#22027) - feat(vue, nuxt): Set
url.templateand URL attributes on router spans (#22063) - fix(browser): Send web vital span
sentry.segment.nameattribute (#22024) - fix(cloudflare): Honor newTarget in instrumentDurableObjectWithSentry construct trap (#22104)
- fix(opentelemetry): Fall back to
'sentry.origin': manualwhen backfilling OTel data (#22102) - fix(replay): Prevent rrweb recording from dying when the emit callback throws (#21409)
- fix(replay): Skip client reports for replay failures after stop (#22177)
- perf(vite): add fast component annotation transform (#22089)
- ref(server-utils): Add orchestrion support for Vercel AI v5 (#21979)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add external contributor to CHANGELOG.md (#22111)
- chore: Reinstate changelog anchor (#22022)
- chore(cloudflare): Ignore import patterns (#22008)
- chore(deps-dev): bump vite from 7.3.2 to 7.3.5 in /dev-packages/e2e-tests/test-applications/tanstackstart-react-orchestrion (#22041)
- chore(deps): bump vite from 8.0.1 to 8.0.16 in /dev-packages/bundler-plugin-integration-tests/fixtures/vite8 (#21664)
- chore(opentelemetry): Add worker as export | sort exports (#21859)
- chore(size-limit): weekly auto-bump (#21812)
- ci: Only run cloudflare & bundler plugin tests when necessary (#22130)
- ci(deps): bump actions/checkout from 6 to 7 (#21898)
- ci(deps): Bump anthropics/claude-code-action from 1.0.124 to 1.0.161 (#21896)
- ci(deps): Bump getsentry/craft from 2.26.9 to 2.26.14 (#21900)
- ci(deps): Bump getsentry/github-workflows/validate-pr from 71588ddf95134f804e82c5970a8098588e2eaecd to 4013fc6e1aeb1be1f9d3b4d232624f0ec1afa613 (#21897)
- ci(deps): bump pnpm/action-setup from 5.0.0 to 6.0.9 (#21899)
- feat(core): add isObjectLike guard and consolidate non-null-object checks (#22155)
- feat(core): add uniq array util and consolidate call sites (#22152)
- feat(deps): Bump @growthbook/growthbook from 1.6.1 to 1.6.5 (#21940)
- feat(deps): Bump @opentelemetry/semantic-conventions from 1.41.1 to 1.42.0 in the opentelemetry group (#22147)
- feat(deps): Bump dotenv from 16.0.3 to 17.4.2 (#22150)
- feat(deps): Bump js-yaml from 3.14.2 to 3.15.0 (#21864)
- feat(deps): Bump nock from 13.5.5 to 14.0.16 (#22149)
- feat(server-utils): Migrate @opentelemetry/instrumentation-amqplib to orchestrion (#21981)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-graphqlto orchestrion (#21885) - feat(server-utils): Migrate
@opentelemetry/instrumentation-redisto orchestrion (#21925) - feat(server-utils): Migrate Google GenAI integration to orchestrion (#21970)
- feat(server-utils): Migrate postgres.js instrumentation to orchestrion (#21983)
- ref: remove unused addOriginToSpan copies (#22153)
- ref(angular): Streamline
urlattribute creation (#22091) - ref(core): Use common span attribute keys from Sentry conventions (#22081)
- ref(nitro, nuxt): inline
== nullchecks for nullish detection (#22154) - ref(node): Refactor http instrumentation away from OTEL (#21974)
- ref(redis): expose diagnostics-channel subscription as an integration (#21963)
- test: Avoid unnecessary definedness checks for
attributesonSerializedStreamedSpanobjects (#22060) - test: Remove fixed container_name from node integration test docker-compose files (#22134)
- test(browser): Give profiling envelope tests headroom against CI timeouts (#22067)
- test(browser): Stabilize flaky manual-mode profile_chunk test (#22040)
- test(bun-integration-tests): Type-check test suites in CI (#22059)
- test(bundler-plugins): Test bundler plugins on more node versions (#22105)
- test(cloudflare-integration-tests): Type-check test suites in CI (#22068)
- test(cloudflare): Add headroom for wrangler cold-start in integration tests (#22083)
- test(e2e): Add Astro 7 with Orchestrion test (#22005)
- test(e2e): Add E2E test app for orchestrion instrumentations on TanStack Start (#22020)
- test(e2e): Add test for SvelteKit with orchestrion (#22014)
- test(e2e): De-flake remix-hydrogen client tests (#22051)
- test(e2e): Gate hydrogen-react-router-7 client clicks on hydration (#22061)
- test(e2e): Pin @cloudflare/vite-plugin to 1.43.1 in Cloudflare E2E test apps (#22115)
- test(e2e): Use official @module-federation/vite (#21605)
- test(nitro): Guard throwing-route request in nitro-3 errors test (#22039)
- test(node-core): Fix flaky withMonitor span order assertion (#22129)
- test(node-integration-tests): Enable Node compile cache for scenario child processes (#22084)
- test(node-integration-tests): Make runner completion event-driven instead of polling (#22085)
- test(node-integration-tests): Surface early scenario exit instead of hanging (#22136)
- test(node-integration-tests): Type-check test suites in CI (#22054)
- test(node): Consolidate flaky DB readiness handling into a shared waitForConnection helper (#22058)
- test(node): Fix flaky negative sampling (static) envelope ordering (#22038)
- test(node): Retry initial tedious connection until the DB is ready (#22050)
- test(node): Update vercel AI v7 version in tests & skip on Node 18 (#21984)
- test(node): Wait for Postgres readiness in pg integration test scenarios (#22045)
- test(server-utils): Remove graphql unit tests that replicated SDK async-context logic (#22103)
- test(server-utils): Remove hapi unit test that replicated SDK async-context logic (#22100)
- test(server-utils): Remove ioredis unit test that replicated SDK async-context logic (#22099)
- test(server-utils): Remove mongoose unit test that replicated SDK async-context logic (#22101)
- test(server-utils): Remove postgres.js unit test that replicated SDK async-context logic (#22097)
- test(server-utils): Remove redis unit tests that replicated SDK async-context logic (#22098)
</details>
Work in this release was contributed by @martijnwalraven. Thank you for your contribution!
- feat(angular): Set
- 10.64.07 Jul 2026
Release notes
Open source โImportant Changes
-
feat(cloudflare): Add
nodejs_compatentrypoint (#21881)The Cloudflare SDK now ships a dedicated
@sentry/cloudflare/nodejs_compatentrypoint for Workers running with thenodejs_compatflag. This entrypoint unlocks Node SDK features on Cloudflare, including theprismaIntegration(#21882) and AI v7 support for thevercelAiIntegration(#21917).This entrypoint is a drop-in replacement, so you can switch your imports from
@sentry/cloudflaredirectly to@sentry/cloudflare/nodejs_compat. To use it, your Worker must set thenodejs_compatcompatibility flag inwrangler.toml/wrangler.jsonc. This will become the default entrypoint in v11. -
feat: Use Sentry's minimal OpenTelemetry tracer provider by default (#21666, #21680, #21842)
The Node SDK now registers Sentry's own minimal
SentryTracerProviderby default, which creates native Sentry spans directly instead of routing them through the full OpenTelemetry SDK span pipeline. This reduces overhead for the common case where you don't need the full OpenTelemetry tracing stack.If you rely on OpenTelemetry SDK features that the minimal provider doesn't support, you can opt out and fall back to the full OpenTelemetry
BasicTracerProviderby settingopenTelemetryBasicTracerProvider: truein yourSentry.init()options. Providing customopenTelemetrySpanProcessorsalso forces the full provider automatically.
Other Changes
- feat(bun,deno,node): pg orchestrion instrumentation (#21826)
- feat(bun): enable new mysql, pg integrations in 'bun build' (#21828)
- feat(cloudflare): Enable AI v7 support for Cloudflare in the /nodejs_compat entrypoint (#21917)
- feat(cloudflare): Expose prismaIntegration in nodejs_compat export (#21882)
- feat(core): Add
sentry.trace_lifecycleattribute (#21850) - feat(core): Add deferred segment-span transaction capture (#21839)
- feat(deps): Bump OpenTelemetry dependencies to latest (#21988)
- feat(mongoose): Instrument mongoose >= 9.7 via native tracing channels (#21803)
- feat(replays): Record segment names that occur during replay (#21851)
- fix(browser): Accept precisely-typed GrowthBook class in growthbookIntegration (#21825)
- fix(browser): Flush telemetry when page is hidden (#21862)
- fix(cloudflare): Catch potential errors during flush and dispose (#21976)
- fix(core): Capture Anthropic stream stop_reason from message_delta (#21907)
- fix(core): Print getTraceMetaTags in 1 line to prevent hydration errors (#22004)
- fix(nextjs): Add immutable browser chunks to upload assets (#21978)
- fix(nextjs): Handle
Middleware.executeroot spans on Node.js runtime (#22013) - fix(react/solid/vue): Instrument TanStack Router navigations via
onBeforeLoad/onResolved(#21975)
- chore: Add experimentalUseDiagnosticsChannelInjection in node size-limit (#21992)
- chore: Add external contributor to CHANGELOG.md (#21945)
- chore: Clarify usage of hoistTransitiveImports option (#21888)
- chore: Make @sentry/conventions sideEffect free during bundling (#22015)
- chore: Remove runtime ESM/CJS switching (#21761)
- chore(ci): Replace
app-idwithclient-idin GH workflows (#21914) - chore(cloudflare): Disallow Node SDK usage outside of nodejs_compat (#21884)
- chore(cloudflare): Disallow server-utils usage outside of nodejs_compat (#21918)
- chore(node-core): Move isCjs to its own file to prevent sideEffects (#21856)
- ci: Increase Node integration test timeout to 20 minutes (#21903)
- deps(server-utils): Bump @apm-js-collab/tracing-hooks to 0.10.1 (#21892)
- feat(server-utils): Implement orchestrion-based instrumentation for vercel-ai v6 (#21658)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-ioredisto orchestrion (#21849) - feat(server-utils): Migrate Anthropic integration to orchestrion (#21902)
- feat(server-utils): Migrate OpenAI integration to orchestrion (#21877)
- feat(server-utils): Rewrite
@opentelemetry/instrumentation-hapito orchestrion (#21866) - ref(core): Add
@sentry/conventionsto@sentry/coreand align versions (#21855) - ref(deno): add deno-integration-tests dev-package (#21827)
- ref(node-core): Move node fetch instrumentation into node-core (#21873)
- ref(node): Fold breadcrumb & trace propagation into node fetch instrumentation (#21872)
- ref(node): Refactor orchestrion config into separate files (#21957)
- ref(node): Streamline Prisma v5 instrumentation (#21980)
- ref(node): Use
@sentry/conventionsand vendor remaining semantic conventions (#21893) - test(browser): Fix web worker route-registration race in debug ID test (#21920)
- test(e2e): Fix failing nitro-3 e2e test due to broken dependency (#21895)
- test(e2e): Revert nf3 dependency override in nitro-3 e2e test (#21951)
- test(e2e): Use
injectDiagnosticsfor orchestrion marker (#21987) - test(google-genai): Move google-genai integration tests to use a real client (#21909)
- test(nextjs): Tolerate aborted navigation in streaming RSC error E2E test (#21847)
- test(node): Attempt to unflake docker-based node integration tests (#21905)
- test(node): Automatically run all node-integration tests with orchestrion (#21911)
- test(node): Collapse mysql span streaming tests into same suite (#21890)
- test(node): Ensure logs are auto-printed when a test fails (#21887)
- test(node): Improve tests for Prisma v5 (#21876)
- test(node): Migrate fs & contextLines-filename integration tests to helpers (#21958)
- test(node): Migrate http client span tests to createCjsTests (#21956)
- test(node): Migrate logging integration tests to create*Tests helpers (#21955)
- test(node): Refactor remaining express integrations tests to new runner (#21949)
- test(node): Update pg-native tests to use
additionalDependencies(#21878) - tests(core): Move anthropic node integration tests to use a real client (#21906)
Work in this release was contributed by @codr and @zenato. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 26.94 KB @sentry/browser - with treeshaking flags 25.42 KB @sentry/browser (incl. Tracing) 45.16 KB @sentry/browser (incl. Tracing + Span Streaming) 46.89 KB @sentry/browser (incl. Tracing, Profiling) 49.82 KB @sentry/browser (incl. Tracing, Replay) 83.53 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.38 KB @sentry/browser (incl. Tracing, Replay with Canvas) 88.12 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.48 KB @sentry/browser (incl. Feedback) 43.71 KB @sentry/browser (incl. sendFeedback) 31.62 KB @sentry/browser (incl. FeedbackAsync) 36.63 KB @sentry/browser (incl. Metrics) 28 KB @sentry/browser (incl. Logs) 28.23 KB @sentry/browser (incl. Metrics & Logs) 28.9 KB @sentry/react 28.7 KB @sentry/react (incl. Tracing) 47.38 KB @sentry/vue 32.25 KB @sentry/vue (incl. Tracing) 46.98 KB @sentry/svelte 26.97 KB CDN Bundle 29.3 KB CDN Bundle (incl. Tracing) 47.11 KB CDN Bundle (incl. Logs, Metrics) 30.83 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.38 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.15 KB CDN Bundle (incl. Tracing, Replay) 83.73 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.99 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.38 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.64 KB CDN Bundle - uncompressed 87.26 KB CDN Bundle (incl. Tracing) - uncompressed 142.54 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.85 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.42 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.62 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 258.91 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 262.78 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 272.29 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.15 KB @sentry/nextjs (client) 49.75 KB @sentry/sveltekit (client) 45.56 KB @sentry/core/server 76.54 KB @sentry/core/browser 63.21 KB @sentry/node-core 61.73 KB @sentry/node 120.85 KB @sentry/node (incl. diagnostics channel injection) 126.65 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.53 KB @sentry/node - without tracing 73.06 KB @sentry/aws-serverless 83.59 KB @sentry/cloudflare (withSentry) - minified 177.42 KB @sentry/cloudflare (withSentry) 438.86 KB Release notes
Open source โImportant Changes
-
feat(cloudflare): Add
nodejs_compatentrypoint (#21881)The Cloudflare SDK now ships a dedicated
@sentry/cloudflare/nodejs_compatentrypoint for Workers running with thenodejs_compatflag. This entrypoint unlocks Node SDK features on Cloudflare, including theprismaIntegration(#21882) and AI v7 support for thevercelAiIntegration(#21917).This entrypoint is a drop-in replacement, so you can switch your imports from
@sentry/cloudflaredirectly to@sentry/cloudflare/nodejs_compat. To use it, your Worker must set thenodejs_compatcompatibility flag inwrangler.toml/wrangler.jsonc. This will become the default entrypoint in v11. -
feat: Use Sentry's minimal OpenTelemetry tracer provider by default (#21666, #21680, #21842)
The Node SDK now registers Sentry's own minimal
SentryTracerProviderby default, which creates native Sentry spans directly instead of routing them through the full OpenTelemetry SDK span pipeline. This reduces overhead for the common case where you don't need the full OpenTelemetry tracing stack.If you rely on OpenTelemetry SDK features that the minimal provider doesn't support, you can opt out and fall back to the full OpenTelemetry
BasicTracerProviderby settingopenTelemetryBasicTracerProvider: truein yourSentry.init()options. Providing customopenTelemetrySpanProcessorsalso forces the full provider automatically.
Other Changes
- feat(bun,deno,node): pg orchestrion instrumentation (#21826)
- feat(bun): enable new mysql, pg integrations in 'bun build' (#21828)
- feat(cloudflare): Enable AI v7 support for Cloudflare in the /nodejs_compat entrypoint (#21917)
- feat(cloudflare): Expose prismaIntegration in nodejs_compat export (#21882)
- feat(core): Add
sentry.trace_lifecycleattribute (#21850) - feat(core): Add deferred segment-span transaction capture (#21839)
- feat(deps): Bump OpenTelemetry dependencies to latest (#21988)
- feat(mongoose): Instrument mongoose >= 9.7 via native tracing channels (#21803)
- feat(replays): Record segment names that occur during replay (#21851)
- fix(browser): Accept precisely-typed GrowthBook class in growthbookIntegration (#21825)
- fix(browser): Flush telemetry when page is hidden (#21862)
- fix(cloudflare): Catch potential errors during flush and dispose (#21976)
- fix(core): Capture Anthropic stream stop_reason from message_delta (#21907)
- fix(core): Print getTraceMetaTags in 1 line to prevent hydration errors (#22004)
- fix(nextjs): Add immutable browser chunks to upload assets (#21978)
- fix(nextjs): Handle
Middleware.executeroot spans on Node.js runtime (#22013) - fix(react/solid/vue): Instrument TanStack Router navigations via
onBeforeLoad/onResolved(#21975)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add experimentalUseDiagnosticsChannelInjection in node size-limit (#21992)
- chore: Add external contributor to CHANGELOG.md (#21945)
- chore: Clarify usage of hoistTransitiveImports option (#21888)
- chore: Make @sentry/conventions sideEffect free during bundling (#22015)
- chore: Remove runtime ESM/CJS switching (#21761)
- chore(ci): Replace
app-idwithclient-idin GH workflows (#21914) - chore(cloudflare): Disallow Node SDK usage outside of nodejs_compat (#21884)
- chore(cloudflare): Disallow server-utils usage outside of nodejs_compat (#21918)
- chore(node-core): Move isCjs to its own file to prevent sideEffects (#21856)
- ci: Increase Node integration test timeout to 20 minutes (#21903)
- deps(server-utils): Bump @apm-js-collab/tracing-hooks to 0.10.1 (#21892)
- feat(server-utils): Implement orchestrion-based instrumentation for vercel-ai v6 (#21658)
- feat(server-utils): Migrate
@opentelemetry/instrumentation-ioredisto orchestrion (#21849) - feat(server-utils): Migrate Anthropic integration to orchestrion (#21902)
- feat(server-utils): Migrate OpenAI integration to orchestrion (#21877)
- feat(server-utils): Rewrite
@opentelemetry/instrumentation-hapito orchestrion (#21866) - ref(core): Add
@sentry/conventionsto@sentry/coreand align versions (#21855) - ref(deno): add deno-integration-tests dev-package (#21827)
- ref(node-core): Move node fetch instrumentation into node-core (#21873)
- ref(node): Fold breadcrumb & trace propagation into node fetch instrumentation (#21872)
- ref(node): Refactor orchestrion config into separate files (#21957)
- ref(node): Streamline Prisma v5 instrumentation (#21980)
- ref(node): Use
@sentry/conventionsand vendor remaining semantic conventions (#21893) - test(browser): Fix web worker route-registration race in debug ID test (#21920)
- test(e2e): Fix failing nitro-3 e2e test due to broken dependency (#21895)
- test(e2e): Revert nf3 dependency override in nitro-3 e2e test (#21951)
- test(e2e): Use
injectDiagnosticsfor orchestrion marker (#21987) - test(google-genai): Move google-genai integration tests to use a real client (#21909)
- test(nextjs): Tolerate aborted navigation in streaming RSC error E2E test (#21847)
- test(node): Attempt to unflake docker-based node integration tests (#21905)
- test(node): Automatically run all node-integration tests with orchestrion (#21911)
- test(node): Collapse mysql span streaming tests into same suite (#21890)
- test(node): Ensure logs are auto-printed when a test fails (#21887)
- test(node): Improve tests for Prisma v5 (#21876)
- test(node): Migrate fs & contextLines-filename integration tests to helpers (#21958)
- test(node): Migrate http client span tests to createCjsTests (#21956)
- test(node): Migrate logging integration tests to create*Tests helpers (#21955)
- test(node): Refactor remaining express integrations tests to new runner (#21949)
- test(node): Update pg-native tests to use
additionalDependencies(#21878) - tests(core): Move anthropic node integration tests to use a real client (#21906)
</details>
Work in this release was contributed by @codr and @zenato. Thank you for your contribution!
-
- 10.63.01 Jul 2026
Release notes
Open source โ- feat(browser): Add
url.fullattribute to resource spans (#21846) - feat(core): Add
extendIntegrationmethod (#21759) - feat(core): Add
isTracingSuppressedto the async context strategy (#21785) - feat(core): Pass normalizedRequest to the sampling context for root spans (#21833)
- feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection (#21786)
- feat(node): Expose channel-based, streamlined
fastifyIntegration(#21706) - fix(browser): Defer sending session envelope until browser is idle (#21844)
- fix(core): Improve waiting for tracing channel bindings (#21815)
- fix(core): Serialize streamed span status message to
sentry.status.messageattribute (#21811) - fix(nextjs): Don't inject trace meta tags when Cache Components is enabled (#21141)
- fix(opentelemetry): Strip leading ? and # from inferred http.query and http.fragment (#21848)
- fix(tanstackstart-react): Drop server transactions for tunnel route requests (#21769)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add external contributor to CHANGELOG.md (#21832)
- chore: Hoist transitive imports for bundles (#21858)
- chore: Mark http.query/http.fragment stripping for v11 url.query migration (#21852)
- docs: Use Cloudflare nodejs_compat flag (#21659)
- feat(server-utils): Add lru-memoizer diagnostics-channel integration (#21786)
- feat(server-utils): Expose channel-based, streamlined
fastifyIntegration(#21706) - feat(server-utils): Restore caller context for callback tracing channels (#21863)
- ref(core): Move
spanStreamingIntegrationsetup intoServerRuntimeClient(#21814) - ref(node): Infer orchestrion integration names (#21834)
- ref(node): Move node-fetch instrumentation away from InstrumentBase (#21778)
- ref(node): Streamline Prisma instrumentation (v6 and v7) (#21819)
- ref(node): Streamline vendored mysql instrumentation (#21568)
- ref(server-utils): Ensure ts3.8 has diagnostics channel shim (#21845)
- ref(server-utils): Move mysql orchestrion integration onto bindTracingChannelToSpan (#21865)
- ref(server-utils): Set error attributes on span and simplify error info extraction (#21822)
- test: Introduce .unordered in node-integration-tests (#21697)
- test(cloudflare): Align CF types and compat flags (#21835)
- test(e2e/hono): Isolate request-data extraction tests onto a dedicated route (#21869)
- test(node-integration): Harden knex mysql2 healthcheck to fix flaky test (#21868)
- test(node-integration-tests): Fix flaky postgresjs basic transaction/error ordering (#21870)
- test(node-integration-tests): Retry transient docker compose up failures (#21860)
- test(nuxt): Test
mysqlinstrumentation with orchestrion bundler plugin (#21782)
</details>
Work in this release was contributed by @suzunn. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 26.97 KB @sentry/browser - with treeshaking flags 25.44 KB @sentry/browser (incl. Tracing) 44.99 KB @sentry/browser (incl. Tracing + Span Streaming) 46.7 KB @sentry/browser (incl. Tracing, Profiling) 49.65 KB @sentry/browser (incl. Tracing, Replay) 83.31 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.16 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.88 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.26 KB @sentry/browser (incl. Feedback) 43.75 KB @sentry/browser (incl. sendFeedback) 31.66 KB @sentry/browser (incl. FeedbackAsync) 36.67 KB @sentry/browser (incl. Metrics) 28.01 KB @sentry/browser (incl. Logs) 28.25 KB @sentry/browser (incl. Metrics & Logs) 28.92 KB @sentry/react 28.72 KB @sentry/react (incl. Tracing) 47.24 KB @sentry/vue 32.08 KB @sentry/vue (incl. Tracing) 46.81 KB @sentry/svelte 27 KB CDN Bundle 29.32 KB CDN Bundle (incl. Tracing) 46.89 KB CDN Bundle (incl. Logs, Metrics) 30.84 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.19 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.13 KB CDN Bundle (incl. Tracing, Replay) 83.51 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.75 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.18 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.39 KB CDN Bundle - uncompressed 87.32 KB CDN Bundle (incl. Tracing) - uncompressed 141.94 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.92 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 145.82 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.54 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 258.17 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 262.03 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.54 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 275.4 KB @sentry/nextjs (client) 49.57 KB @sentry/sveltekit (client) 45.37 KB @sentry/core/server 75.93 KB @sentry/core/browser 62.56 KB @sentry/node-core 60.03 KB @sentry/node 119.21 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.27 KB @sentry/node - without tracing 71.49 KB @sentry/aws-serverless 82.12 KB @sentry/cloudflare (withSentry) - minified 176.39 KB @sentry/cloudflare (withSentry) 436.46 KB Release notes
Open source โ- feat(browser): Add
url.fullattribute to resource spans (#21846) - feat(core): Add
extendIntegrationmethod (#21759) - feat(core): Add
isTracingSuppressedto the async context strategy (#21785) - feat(core): Pass normalizedRequest to the sampling context for root spans (#21833)
- feat(node): Add lru-memoizer diagnostics-channel integration to experimentalUseDiagnosticsChannelInjection (#21786)
- feat(node): Expose channel-based, streamlined
fastifyIntegration(#21706) - fix(browser): Defer sending session envelope until browser is idle (#21844)
- fix(core): Improve waiting for tracing channel bindings (#21815)
- fix(core): Serialize streamed span status message to
sentry.status.messageattribute (#21811) - fix(nextjs): Don't inject trace meta tags when Cache Components is enabled (#21141)
- fix(opentelemetry): Strip leading ? and # from inferred http.query and http.fragment (#21848)
- fix(tanstackstart-react): Drop server transactions for tunnel route requests (#21769)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add external contributor to CHANGELOG.md (#21832)
- chore: Hoist transitive imports for bundles (#21858)
- chore: Mark http.query/http.fragment stripping for v11 url.query migration (#21852)
- docs: Use Cloudflare nodejs_compat flag (#21659)
- feat(server-utils): Add lru-memoizer diagnostics-channel integration (#21786)
- feat(server-utils): Expose channel-based, streamlined
fastifyIntegration(#21706) - feat(server-utils): Restore caller context for callback tracing channels (#21863)
- ref(core): Move
spanStreamingIntegrationsetup intoServerRuntimeClient(#21814) - ref(node): Infer orchestrion integration names (#21834)
- ref(node): Move node-fetch instrumentation away from InstrumentBase (#21778)
- ref(node): Streamline Prisma instrumentation (v6 and v7) (#21819)
- ref(node): Streamline vendored mysql instrumentation (#21568)
- ref(server-utils): Ensure ts3.8 has diagnostics channel shim (#21845)
- ref(server-utils): Move mysql orchestrion integration onto bindTracingChannelToSpan (#21865)
- ref(server-utils): Set error attributes on span and simplify error info extraction (#21822)
- test: Introduce .unordered in node-integration-tests (#21697)
- test(cloudflare): Align CF types and compat flags (#21835)
- test(e2e/hono): Isolate request-data extraction tests onto a dedicated route (#21869)
- test(node-integration): Harden knex mysql2 healthcheck to fix flaky test (#21868)
- test(node-integration-tests): Fix flaky postgresjs basic transaction/error ordering (#21870)
- test(node-integration-tests): Retry transient docker compose up failures (#21860)
- test(nuxt): Test
mysqlinstrumentation with orchestrion bundler plugin (#21782)
</details>
Work in this release was contributed by @suzunn. Thank you for your contribution!
- feat(browser): Add
- 10.62.026 Jun 2026
Release notes
Open source โImportant Changes
-
feat(server-runtimes): Add v7 support for
vercelAiIntegration(#21613)The
vercelAiIntegrationnow supports v7 of theaipackage. Note that v7 is not yet supported on Cloudflare.
Other Changes
- fix(node): Avoid failing at runtime if tracingChannel is not available (#21783)
- fix(sveltekit): Avoid capturing preloaded 400 errors on client (#21784)
Work in this release was contributed by @hyunbinseo. Thank you for your contribution!
<details> <summary><strong>Internal Changes</strong></summary>
- chore(github): Update tracked packages (#21789)
- feat(core): Add spanKindToName helper for reverse span-kind lookup (#21780)
- ref(aws-serverless): Streamline AwsLambda instrumentation (#21758)
- ref(node): Fix server-utils name for VercelAI integration (#21809)
- ref(node): Streamline amqplib instrumentation (#21753)
- ref(node): Streamline Firebase instrumentation (#21748)
- test: Pin webpack to 5.107.0 (#21781)
- test(e2e): Add
no-browser-sessionlighthouse e2e test mode (#21787) - test(e2e): Add more test modes, pre-init and element timing (#21760)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.83 KB @sentry/browser - with treeshaking flags 25.3 KB @sentry/browser (incl. Tracing) 44.89 KB @sentry/browser (incl. Tracing + Span Streaming) 46.6 KB @sentry/browser (incl. Tracing, Profiling) 49.57 KB @sentry/browser (incl. Tracing, Replay) 83.22 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.06 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.8 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.17 KB @sentry/browser (incl. Feedback) 43.61 KB @sentry/browser (incl. sendFeedback) 31.5 KB @sentry/browser (incl. FeedbackAsync) 36.52 KB @sentry/browser (incl. Metrics) 27.87 KB @sentry/browser (incl. Logs) 28.11 KB @sentry/browser (incl. Metrics & Logs) 28.78 KB @sentry/react 28.59 KB @sentry/react (incl. Tracing) 47.15 KB @sentry/vue 31.86 KB @sentry/vue (incl. Tracing) 46.71 KB @sentry/svelte 26.85 KB CDN Bundle 29.18 KB CDN Bundle (incl. Tracing) 46.77 KB CDN Bundle (incl. Logs, Metrics) 30.7 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.08 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.12 KB CDN Bundle (incl. Tracing, Replay) 83.4 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.65 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.05 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.28 KB CDN Bundle - uncompressed 86.86 KB CDN Bundle (incl. Tracing) - uncompressed 141.63 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.45 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 145.51 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.5 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 257.86 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 261.72 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.24 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 275.09 KB @sentry/nextjs (client) 49.48 KB @sentry/sveltekit (client) 45.28 KB @sentry/core/server 75.64 KB @sentry/core/browser 62.31 KB @sentry/node-core 60.07 KB @sentry/node 120.54 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.22 KB @sentry/node - without tracing 71.88 KB @sentry/aws-serverless 82.42 KB @sentry/cloudflare (withSentry) - minified 176.08 KB @sentry/cloudflare (withSentry) 435.78 KB Release notes
Open source โImportant Changes
-
feat(server-runtimes): Add v7 support for
vercelAiIntegration(#21613)The
vercelAiIntegrationnow supports v7 of theaipackage. Note that v7 is not yet supported on Cloudflare.
Other Changes
- fix(node): Avoid failing at runtime if tracingChannel is not available (#21783)
- fix(sveltekit): Avoid capturing preloaded 400 errors on client (#21784)
Work in this release was contributed by @hyunbinseo. Thank you for your contribution!
<details> <summary><strong>Internal Changes</strong></summary>
- chore(github): Update tracked packages (#21789)
- feat(core): Add spanKindToName helper for reverse span-kind lookup (#21780)
- ref(aws-serverless): Streamline AwsLambda instrumentation (#21758)
- ref(node): Fix server-utils name for VercelAI integration (#21809)
- ref(node): Streamline amqplib instrumentation (#21753)
- ref(node): Streamline Firebase instrumentation (#21748)
- test: Pin webpack to 5.107.0 (#21781)
- test(e2e): Add
no-browser-sessionlighthouse e2e test mode (#21787) - test(e2e): Add more test modes, pre-init and element timing (#21760)
</details>
-
- 10.61.025 Jun 2026
Release notes
Open source โImportant Changes
-
feat(core): Enable
streamGenAiSpansby default (#21732)The SDK now extracts all
gen_aispans out of a transaction and sends them as v2 envelope items by default. This prevents gen_ai spans from being dropped when the transaction payload exceeds size limits. Because they are no longer constrained by transaction size limits, AI message data is also no longer truncated by default. SetenableTruncation: trueon the respective AI integration to re-enable truncation. To keep the previous behavior, setstreamGenAiSpans: false.Self-hosted Sentry users should opt out with
streamGenAiSpans: false, since streamed gen_ai spans may not be ingested by their Sentry instance.
Other Changes
- feat(cloudflare): Add batch, exec, and withSession D1 instrumentation (#21292)
- feat(cloudflare): Instrument SQL API in sqlite durable objects (#21656)
- feat(core): Add
db.query.summaryfunctionality (#21670) - feat(core): Add top-level
Sentry.setAttribute(s)APIs (#21705) - fix(hono): Name transactions after the matched route handler (#21700)
- fix(react-router): Bump peerDependencies for react-router 8 (#21762)
- fix(replays): Record replay
trace_idswith span streaming (#21714)
<details> <summary><strong>Internal Changes</strong></summary>
- build: add rollup plugin for compile-time ESM/CJS code branching (#21715)
- chore: Fix version bump for bundler plugin fixtures (#21707)
- chore(node-integration-tests): Improve node test runner naming (#21685)
- docs: Update contributing guide for E2E tests (#21763)
- feat: Adopt
bindTracingChannelToSpanacross runtimes (#21642) - feat: Remove Otel from
fsIntegration(#21654) - feat(deps): Bump http-proxy-middleware from 2.0.9 to 2.0.10 (#21709)
- feat(server-utils): Add tracingChannel-to-span binding (#21641)
- fix(tests): Add dedicated route for Hono query_string tests (#21731)
- ref: Export SPAN_KIND from core and drop OTel SpanKind imports (#21668)
- test: Make bundler plugins tests work after release
- test: Remove duplicated test (#21699)
- test: retry npm install on network hiccups (#21689)
- test(cloudflare): Increase node count for memory tests (#21719)
- test(e2e): Add
sentry-sdk-initmeasure and marks (#21687) - test(e2e): Add more lighthouse react e2e test SDK init modes (#21711)
- test(node): Add esm/cjs specific test runner utils (#21729)
- test(node): Increase cron integration test timeout to 60s (#21704)
- test(node): Streamline amqplib tests (#21723)
- test(node): Update mysql tests for better coverage and correctness (#21684)
- test(node): Use different ports for redis tests (#21727)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.83 KB @sentry/browser - with treeshaking flags 25.3 KB @sentry/browser (incl. Tracing) 44.89 KB @sentry/browser (incl. Tracing + Span Streaming) 46.6 KB @sentry/browser (incl. Tracing, Profiling) 49.57 KB @sentry/browser (incl. Tracing, Replay) 83.22 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.06 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.8 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.17 KB @sentry/browser (incl. Feedback) 43.61 KB @sentry/browser (incl. sendFeedback) 31.5 KB @sentry/browser (incl. FeedbackAsync) 36.52 KB @sentry/browser (incl. Metrics) 27.87 KB @sentry/browser (incl. Logs) 28.11 KB @sentry/browser (incl. Metrics & Logs) 28.78 KB @sentry/react 28.59 KB @sentry/react (incl. Tracing) 47.15 KB @sentry/vue 31.86 KB @sentry/vue (incl. Tracing) 46.71 KB @sentry/svelte 26.85 KB CDN Bundle 29.18 KB CDN Bundle (incl. Tracing) 46.77 KB CDN Bundle (incl. Logs, Metrics) 30.7 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.08 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.12 KB CDN Bundle (incl. Tracing, Replay) 83.4 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.65 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.05 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.28 KB CDN Bundle - uncompressed 86.86 KB CDN Bundle (incl. Tracing) - uncompressed 141.63 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.45 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 145.51 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.5 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 257.86 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 261.72 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.24 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 275.09 KB @sentry/nextjs (client) 49.48 KB @sentry/sveltekit (client) 45.28 KB @sentry/core/server 75.47 KB @sentry/core/browser 62.14 KB @sentry/node-core 60.07 KB @sentry/node 119.78 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.22 KB @sentry/node - without tracing 71.83 KB @sentry/aws-serverless 82.75 KB @sentry/cloudflare (withSentry) - minified 176.08 KB @sentry/cloudflare (withSentry) 435.78 KB Release notes
Open source โImportant Changes
-
feat(core): Enable
streamGenAiSpansby default (#21732)The SDK now extracts all
gen_aispans out of a transaction and sends them as v2 envelope items by default. This prevents gen_ai spans from being dropped when the transaction payload exceeds size limits. Because they are no longer constrained by transaction size limits, AI message data is also no longer truncated by default. SetenableTruncation: trueon the respective AI integration to re-enable truncation. To keep the previous behavior, setstreamGenAiSpans: false.Self-hosted Sentry users should opt out with
streamGenAiSpans: false, since streamed gen_ai spans may not be ingested by their Sentry instance.
Other Changes
- feat(cloudflare): Add batch, exec, and withSession D1 instrumentation (#21292)
- feat(cloudflare): Instrument SQL API in sqlite durable objects (#21656)
- feat(core): Add
db.query.summaryfunctionality (#21670) - feat(core): Add top-level
Sentry.setAttribute(s)APIs (#21705) - fix(hono): Name transactions after the matched route handler (#21700)
- fix(react-router): Bump peerDependencies for react-router 8 (#21762)
- fix(replays): Record replay
trace_idswith span streaming (#21714)
<details> <summary><strong>Internal Changes</strong></summary>
- build: add rollup plugin for compile-time ESM/CJS code branching (#21715)
- chore: Fix version bump for bundler plugin fixtures (#21707)
- chore(node-integration-tests): Improve node test runner naming (#21685)
- docs: Update contributing guide for E2E tests (#21763)
- feat: Adopt
bindTracingChannelToSpanacross runtimes (#21642) - feat: Remove Otel from
fsIntegration(#21654) - feat(deps): Bump http-proxy-middleware from 2.0.9 to 2.0.10 (#21709)
- feat(server-utils): Add tracingChannel-to-span binding (#21641)
- fix(tests): Add dedicated route for Hono query_string tests (#21731)
- ref: Export SPAN_KIND from core and drop OTel SpanKind imports (#21668)
- test: Make bundler plugins tests work after release
- test: Remove duplicated test (#21699)
- test: retry npm install on network hiccups (#21689)
- test(cloudflare): Increase node count for memory tests (#21719)
- test(e2e): Add
sentry-sdk-initmeasure and marks (#21687) - test(e2e): Add more lighthouse react e2e test SDK init modes (#21711)
- test(node): Add esm/cjs specific test runner utils (#21729)
- test(node): Increase cron integration test timeout to 60s (#21704)
- test(node): Streamline amqplib tests (#21723)
- test(node): Update mysql tests for better coverage and correctness (#21684)
- test(node): Use different ports for redis tests (#21727)
</details>
-
- 10.60.023 Jun 2026
Release notes
Open source โOther Changes
- feat(cloudflare): Add R2 bucket auto-instrumentation (#21327)
- feat(core): Add
bindScopeToEmitterto bind a scope to an event emitter (#21594) - feat(deps): Bump @hapi/wreck from 18.1.0 to 18.1.2 (#21178)
- fix(browser): Ensure
url.fullandhttp.urlattributes have the same values onhttp.clientspans (#21660) - fix(server-utils): Avoid directly importing
tracingChannelfor Node v18 compatibility (#21662) - fix(server-utils): Remove optional
vitepeer dependency (#21677)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add bundler-plugins to craft (#21701)
- chore: Cleanup unused imports of
@opentelemetry/core(#21679) - fix(bundler-plugins): Integration with monorepo build (#21479)
- ref(core): Gate updateName() custom source on an OTel inference brand (#21649)
- ref(core/opentelemetry): Move OTel span data inference from
captureSpantoSentrySpanProcessor(#21648) - ref(node): Remove unused sql-common helper and
@opentelemetry/coredep (#21688) - ref(node): Streamline kafkajs instrumentation (#21647)
- ref(node): Streamline undici (node-fetch) instrumentation (#21650)
- ref(vercel-edge): Drop unused
@opentelemetry/semantic-conventionsdependency (#21691) - ref(vercel-edge): Remove
@opentelemetry/resourcesdependency (#21690)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.83 KB @sentry/browser - with treeshaking flags 25.3 KB @sentry/browser (incl. Tracing) 44.89 KB @sentry/browser (incl. Tracing + Span Streaming) 46.6 KB @sentry/browser (incl. Tracing, Profiling) 49.56 KB @sentry/browser (incl. Tracing, Replay) 83.18 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 73.02 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.76 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.12 KB @sentry/browser (incl. Feedback) 43.61 KB @sentry/browser (incl. sendFeedback) 31.5 KB @sentry/browser (incl. FeedbackAsync) 36.52 KB @sentry/browser (incl. Metrics) 27.87 KB @sentry/browser (incl. Logs) 28.11 KB @sentry/browser (incl. Metrics & Logs) 28.78 KB @sentry/react 28.59 KB @sentry/react (incl. Tracing) 47.14 KB @sentry/vue 31.86 KB @sentry/vue (incl. Tracing) 46.71 KB @sentry/svelte 26.85 KB CDN Bundle 29.16 KB CDN Bundle (incl. Tracing) 46.76 KB CDN Bundle (incl. Logs, Metrics) 30.68 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.06 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.07 KB CDN Bundle (incl. Tracing, Replay) 83.24 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.48 KB CDN Bundle (incl. Tracing, Replay, Feedback) 88.94 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.17 KB CDN Bundle - uncompressed 86.76 KB CDN Bundle (incl. Tracing) - uncompressed 141.52 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.35 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 145.4 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.25 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 257.6 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 261.47 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 270.98 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 274.83 KB @sentry/nextjs (client) 49.48 KB @sentry/sveltekit (client) 45.28 KB @sentry/core/server 74.51 KB @sentry/core/browser 61.96 KB @sentry/node-core 60.18 KB @sentry/node 120.71 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.31 KB @sentry/node/light 49.37 KB @sentry/node - without tracing 71.97 KB @sentry/aws-serverless 82.9 KB @sentry/cloudflare (withSentry) - minified 171.59 KB @sentry/cloudflare (withSentry) 427.58 KB Release notes
Open source โOther Changes
- feat(cloudflare): Add R2 bucket auto-instrumentation (#21327)
- feat(core): Add
bindScopeToEmitterto bind a scope to an event emitter (#21594) - feat(deps): Bump @hapi/wreck from 18.1.0 to 18.1.2 (#21178)
- fix(browser): Ensure
url.fullandhttp.urlattributes have the same values onhttp.clientspans (#21660) - fix(server-utils): Avoid directly importing
tracingChannelfor Node v18 compatibility (#21662) - fix(server-utils): Remove optional
vitepeer dependency (#21677)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add bundler-plugins to craft (#21701)
- chore: Cleanup unused imports of
@opentelemetry/core(#21679) - fix(bundler-plugins): Integration with monorepo build (#21479)
- ref(core): Gate updateName() custom source on an OTel inference brand (#21649)
- ref(core/opentelemetry): Move OTel span data inference from
captureSpantoSentrySpanProcessor(#21648) - ref(node): Remove unused sql-common helper and
@opentelemetry/coredep (#21688) - ref(node): Streamline kafkajs instrumentation (#21647)
- ref(node): Streamline undici (node-fetch) instrumentation (#21650)
- ref(vercel-edge): Drop unused
@opentelemetry/semantic-conventionsdependency (#21691) - ref(vercel-edge): Remove
@opentelemetry/resourcesdependency (#21690)
</details>
- 10.59.019 Jun 2026
Release notes
Open source โImportant Changes
-
feat(react-router): Add support for React Router v8 (#21633)
The SDK now supports React Router v8, in both the framework and SPA (
@sentry/react) modes. -
feat(react): Add version-agnostic React Router SPA exports (#21633)
@sentry/reactnow exports version-agnostic wrappers for React Router v6+ SPA instrumentation. The new exports replace the version-specificV6/V7variants, which are now deprecated:Deprecated New reactRouterV6BrowserTracingIntegration/V7reactRouterBrowserTracingIntegrationwithSentryReactRouterV6Routing/V7wrapReactRouterRoutingwrapCreateBrowserRouterV6/V7wrapCreateBrowserRouterwrapCreateMemoryRouterV6/V7wrapCreateMemoryRouterwrapUseRoutesV6/V7wrapUseRoutesThe deprecated exports continue to work and will be removed in the next major version.
Other Changes
- feat(aws-serverless): Instrument aws-sdk clients >= 3.1046.0 (#21548)
- feat(bun): Add orchestrion bun build plugin (#21410)
- feat(cloudflare): Instrument sync KV (#21316)
- feat(core): Disable gen_ai message truncation by default when
streamGenAiSpansis enabled (#21603) - feat(deno): Add orchestrion deno runtime hook (#21451)
- feat(hono): Extend peer dependency range (#21550)
- feat(node): Collapse orchestrion opt-in to a single option (#20900)
- fix: Diagnostics channel Node v18 (#21631)
- fix(browser): Clean up pageload readystatechange listener (#21632)
- fix(core): Capture scopes on span before emitting
spanStartevent (#21644) - fix(core): Defer TwP sampling by reading trace state from the scope (#21549)
- fix(core): Prevent outgoing HTTP instrumentation from crashing on
//request paths (#21645) - fix(core): Set
productionas defaultsentry.environmentattribute value on streamed spans (#21637) - fix(nextjs): Register safe random ID context at module load (#21573)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Change deprecation/deprecation to oxlint equivalent (#21604)
- chore: Switch license headers to SPDX format (#21357)
- chore(deps-dev): Bump esbuild from 0.20.0 to 0.28.1 (#21511)
- chore(deps): Bump esbuild from 0.25.0 to 0.28.1 in /dev-packages/e2e-tests/test-applications/node-profiling-esm (#21514)
- chore(deps): Bump react-router-6 to 6.30.4 (#21566)
- ci: Assign server team as codeowner for server-utils package (#21601)
- ci: Dedup flaky test issues across esm/cjs variants (#21595)
- ci: Do not apply Bug label to flaky test issues (#21593)
- ci: Pin react-router latest and add eslint disable for deprecated attribute (#21624)
- ci(deps): Bump actions/download-artifact from 7 to 8 (#21303)
- ci(security-fixes): Enable cron trigger (#21547)
- docs: Clarify comment and PR-body guidelines for agents (#21596)
- feat(deps-dev): Bump @sveltejs/kit from 2.53.3 to 2.60.1 in /dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5 (#21212)
- feat(deps-dev): Bump esbuild from 0.19.12 to 0.28.1 in /dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev (#21512)
- feat(deps): Bump @babel/core from 7.29.0 to 7.29.6 (#21574)
- feat(deps): Bump @prisma/adapter-pg from 7.2.0 to 7.8.0 (#21106)
- feat(deps): Bump hono from 4.12.21 to 4.12.25 (#21610)
- feat(deps): Bump launch-editor from 2.12.0 to 2.14.1 (#21577)
- feat(deps): Bump protobufjs from 7.5.9 to 7.6.4 (#21578)
- feat(deps): Bump vite from 5.4.21 to 6.4.3 (#21576)
- fix(node): Restore eslint-disable in vendored tedious instrumentation (#21616)
- ref(aws-serverless): Remove unused parts of vendored aws-sdk instrumentation (#21563)
- ref(aws-serverless): Streamline aws-sdk instrumentation (#21564)
- ref(aws-serverless): Use
@sentry/conventions(#21597) - ref(build): Switch TypeScript moduleResolution to
bundler(#21559) - ref(ci): Dedupe matrix test failures in CI failure reporter (#21538)
- ref(ci): Skip PR review reminders for changes-requested PRs (#21526)
- ref(nestjs): Set nest span op/origin at span creation (#21531)
- ref(nestjs): Use
@sentry/conventions(#21492) - ref(nextjs): Use
@sentry/conventions(#21493) - ref(node-core): Use
@sentry/conventions(#21494) - ref(node): Set generic-pool span origin at span creation (#21533)
- ref(node): Streamline connect (#21404)
- ref(node): Streamline graphql instrumentation (#21556)
- ref(node): Streamline hapi instrumentation (#21602)
- ref(node): Streamline ioredis instrumentation (#21560)
- ref(node): Streamline knex instrumentation (#21561)
- ref(node): Streamline koa (#21554)
- ref(node): Streamline mongodb instrumentation (#21619)
- ref(node): Streamline mongoose instrumentation (#21481)
- ref(node): Streamline mysql2 instrumentation (#21509)
- ref(node): Streamline pg instrumentation (#21583)
- ref(node): Streamline redis instrumentation (#21582)
- ref(node): Streamline tedious instrumentation (#21598)
- ref(node): Streamline vendored fs instrumentation (#21532)
- ref(opentelemetry): Use
@sentry/conventions(#21495) - ref(protocol): Strictly type profile chunk platform item header (#21562)
- ref(react-router): Use
@sentry/conventions(#21496) - ref(remix): Use
@sentry/conventions(#21497) - ref(server-utils): Move orchestrion into server-utils
- ref(server-utils): Use
@sentry/conventions(#21490) - ref(tanstackstart-react): Use
@sentry/conventions(#21498) - test(cloudflare): Add mTLS instrumentation test (#21569)
- test(cloudflare): Increasing timeout and exit with reason (#21571)
- test(cloudflare): Prevent spurious unhandled rejection in integration test runner (#21545)
- test(cloudflare): Remove mock in DO tests (#21634)
- test(cloudflare): Skip flaky DO RPC private-fields integration test (#21544)
- test(hono): Fix flaky query_string transaction matcher (#21542)
- test(node-core): Fix flaky cron instrumentation test (#21553)
- test(node): Make amqplib integration test order-independent (#21541)
- test(node): Make amqplib v1 integration test order-independent (#21534)
- test(node): Use random port in hono tracing scenario to avoid CI flakes (#21536)
- test(remix-hydrogen): Fix flaky navigation transaction test (#21535)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.8 KB @sentry/browser - with treeshaking flags 25.27 KB @sentry/browser (incl. Tracing) 44.83 KB @sentry/browser (incl. Tracing + Span Streaming) 47.03 KB @sentry/browser (incl. Tracing, Profiling) 49.5 KB @sentry/browser (incl. Tracing, Replay) 83.11 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.96 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.7 KB @sentry/browser (incl. Tracing, Replay, Feedback) 100.07 KB @sentry/browser (incl. Feedback) 43.58 KB @sentry/browser (incl. sendFeedback) 31.49 KB @sentry/browser (incl. FeedbackAsync) 36.51 KB @sentry/browser (incl. Metrics) 27.86 KB @sentry/browser (incl. Logs) 28.09 KB @sentry/browser (incl. Metrics & Logs) 28.76 KB @sentry/react 28.56 KB @sentry/react (incl. Tracing) 47.08 KB @sentry/vue 31.82 KB @sentry/vue (incl. Tracing) 46.66 KB @sentry/svelte 26.83 KB CDN Bundle 29.16 KB CDN Bundle (incl. Tracing) 47.19 KB CDN Bundle (incl. Logs, Metrics) 30.67 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.45 KB CDN Bundle (incl. Replay, Logs, Metrics) 69.05 KB CDN Bundle (incl. Tracing, Replay) 83.63 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.86 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.34 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.56 KB CDN Bundle - uncompressed 86.72 KB CDN Bundle (incl. Tracing) - uncompressed 142.7 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.31 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.58 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213.21 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 258.78 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 262.65 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 272.16 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 276.02 KB @sentry/nextjs (client) 49.42 KB @sentry/sveltekit (client) 45.21 KB @sentry/core/server 74.43 KB @sentry/core/browser 61.85 KB @sentry/node-core 60.45 KB @sentry/node 121.76 KB @sentry/node/import (ESM hook with diagnostics-channel injection) 68.4 KB @sentry/node/light 49.78 KB @sentry/node - without tracing 72.53 KB @sentry/aws-serverless 83.37 KB @sentry/cloudflare (withSentry) - minified 170.46 KB @sentry/cloudflare (withSentry) 426.62 KB Release notes
Open source โImportant Changes
-
feat(react-router): Add support for React Router v8 (#21633)
The SDK now supports React Router v8, in both the framework and SPA (
@sentry/react) modes. -
feat(react): Add version-agnostic React Router SPA exports (#21633)
@sentry/reactnow exports version-agnostic wrappers for React Router v6+ SPA instrumentation. The new exports replace the version-specificV6/V7variants, which are now deprecated:Deprecated New reactRouterV6BrowserTracingIntegration/V7reactRouterBrowserTracingIntegrationwithSentryReactRouterV6Routing/V7wrapReactRouterRoutingwrapCreateBrowserRouterV6/V7wrapCreateBrowserRouterwrapCreateMemoryRouterV6/V7wrapCreateMemoryRouterwrapUseRoutesV6/V7wrapUseRoutesThe deprecated exports continue to work and will be removed in the next major version.
Other Changes
- feat(aws-serverless): Instrument aws-sdk clients >= 3.1046.0 (#21548)
- feat(bun): Add orchestrion bun build plugin (#21410)
- feat(cloudflare): Instrument sync KV (#21316)
- feat(core): Disable gen_ai message truncation by default when
streamGenAiSpansis enabled (#21603) - feat(deno): Add orchestrion deno runtime hook (#21451)
- feat(hono): Extend peer dependency range (#21550)
- feat(node): Collapse orchestrion opt-in to a single option (#20900)
- fix: Diagnostics channel Node v18 (#21631)
- fix(browser): Clean up pageload readystatechange listener (#21632)
- fix(core): Capture scopes on span before emitting
spanStartevent (#21644) - fix(core): Defer TwP sampling by reading trace state from the scope (#21549)
- fix(core): Prevent outgoing HTTP instrumentation from crashing on
//request paths (#21645) - fix(core): Set
productionas defaultsentry.environmentattribute value on streamed spans (#21637) - fix(nextjs): Register safe random ID context at module load (#21573)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Change deprecation/deprecation to oxlint equivalent (#21604)
- chore: Switch license headers to SPDX format (#21357)
- chore(deps-dev): Bump esbuild from 0.20.0 to 0.28.1 (#21511)
- chore(deps): Bump esbuild from 0.25.0 to 0.28.1 in /dev-packages/e2e-tests/test-applications/node-profiling-esm (#21514)
- chore(deps): Bump react-router-6 to 6.30.4 (#21566)
- ci: Assign server team as codeowner for server-utils package (#21601)
- ci: Dedup flaky test issues across esm/cjs variants (#21595)
- ci: Do not apply Bug label to flaky test issues (#21593)
- ci: Pin react-router latest and add eslint disable for deprecated attribute (#21624)
- ci(deps): Bump actions/download-artifact from 7 to 8 (#21303)
- ci(security-fixes): Enable cron trigger (#21547)
- docs: Clarify comment and PR-body guidelines for agents (#21596)
- feat(deps-dev): Bump @sveltejs/kit from 2.53.3 to 2.60.1 in /dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5 (#21212)
- feat(deps-dev): Bump esbuild from 0.19.12 to 0.28.1 in /dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev (#21512)
- feat(deps): Bump @babel/core from 7.29.0 to 7.29.6 (#21574)
- feat(deps): Bump @prisma/adapter-pg from 7.2.0 to 7.8.0 (#21106)
- feat(deps): Bump hono from 4.12.21 to 4.12.25 (#21610)
- feat(deps): Bump launch-editor from 2.12.0 to 2.14.1 (#21577)
- feat(deps): Bump protobufjs from 7.5.9 to 7.6.4 (#21578)
- feat(deps): Bump vite from 5.4.21 to 6.4.3 (#21576)
- fix(node): Restore eslint-disable in vendored tedious instrumentation (#21616)
- ref(aws-serverless): Remove unused parts of vendored aws-sdk instrumentation (#21563)
- ref(aws-serverless): Streamline aws-sdk instrumentation (#21564)
- ref(aws-serverless): Use
@sentry/conventions(#21597) - ref(build): Switch TypeScript moduleResolution to
bundler(#21559) - ref(ci): Dedupe matrix test failures in CI failure reporter (#21538)
- ref(ci): Skip PR review reminders for changes-requested PRs (#21526)
- ref(nestjs): Set nest span op/origin at span creation (#21531)
- ref(nestjs): Use
@sentry/conventions(#21492) - ref(nextjs): Use
@sentry/conventions(#21493) - ref(node-core): Use
@sentry/conventions(#21494) - ref(node): Set generic-pool span origin at span creation (#21533)
- ref(node): Streamline connect (#21404)
- ref(node): Streamline graphql instrumentation (#21556)
- ref(node): Streamline hapi instrumentation (#21602)
- ref(node): Streamline ioredis instrumentation (#21560)
- ref(node): Streamline knex instrumentation (#21561)
- ref(node): Streamline koa (#21554)
- ref(node): Streamline mongodb instrumentation (#21619)
- ref(node): Streamline mongoose instrumentation (#21481)
- ref(node): Streamline mysql2 instrumentation (#21509)
- ref(node): Streamline pg instrumentation (#21583)
- ref(node): Streamline redis instrumentation (#21582)
- ref(node): Streamline tedious instrumentation (#21598)
- ref(node): Streamline vendored fs instrumentation (#21532)
- ref(opentelemetry): Use
@sentry/conventions(#21495) - ref(protocol): Strictly type profile chunk platform item header (#21562)
- ref(react-router): Use
@sentry/conventions(#21496) - ref(remix): Use
@sentry/conventions(#21497) - ref(server-utils): Move orchestrion into server-utils
- ref(server-utils): Use
@sentry/conventions(#21490) - ref(tanstackstart-react): Use
@sentry/conventions(#21498) - test(cloudflare): Add mTLS instrumentation test (#21569)
- test(cloudflare): Increasing timeout and exit with reason (#21571)
- test(cloudflare): Prevent spurious unhandled rejection in integration test runner (#21545)
- test(cloudflare): Remove mock in DO tests (#21634)
- test(cloudflare): Skip flaky DO RPC private-fields integration test (#21544)
- test(hono): Fix flaky query_string transaction matcher (#21542)
- test(node-core): Fix flaky cron instrumentation test (#21553)
- test(node): Make amqplib integration test order-independent (#21541)
- test(node): Make amqplib v1 integration test order-independent (#21534)
- test(node): Use random port in hono tracing scenario to avoid CI flakes (#21536)
- test(remix-hydrogen): Fix flaky navigation transaction test (#21535)
</details>
-
- 10.58.015 Jun 2026
Release notes
Open source โImportant Changes
-
feat(hono): Add support for the Deno runtime (#21450)
@sentry/hononow supports the Deno runtime via a new@sentry/hono/denoentry point. Install@sentry/denoas a peer dependency and initialize Sentry through thesentry()middleware:import { Hono } from 'hono'; import { sentry } from '@sentry/hono/deno'; const app = new Hono(); app.use( sentry(app, { dsn: '__DSN__', // or Deno.env.get('SENTRY_DSN') tracesSampleRate: 1.0, }), ); Deno.serve(app.fetch); -
feat(core): Extract objects as structured logs in
consoleLoggingIntegration(#21385)The
consoleLoggingIntegrationnow extracts structured log attributes when the first argument is a plain object.// Object keys become log attributes console.log({ userId: 123, action: 'login' }, 'User logged in'); // โ attributes: { userId: 123, action: "login" } // Non-object first args use template + parameters (unchanged) console.log('Hello', 'world', 123); // โ sentry.message.template: "Hello {} {}" -
feat(react-router): Stabilize the instrumentation API (#21470)
React Router's instrumentation API is now stable โ the
@experimentalmarkers have been removed fromcreateSentryServerInstrumentation,createSentryClientInstrumentation, and the related helpers and types. The manual server wrapperswrapServerLoaderandwrapServerActionare now deprecated in favor of it. Exportinstrumentations = [Sentry.createSentryServerInstrumentation()]from yourentry.server.tsxto instrument all loaders and actions without wrapping them individually.
Other Changes
- feat(hono): Add HTTP connection info to server spans (#21408)
- feat(node-core): Attach log message and fields to pino error events (#21422)
- feat(react-router): Always build client instrumentation and deprecate
useInstrumentationAPI(#21432) - feat(react-router): Rename client navigation roots from the route pattern (#21463)
- fix(astro): Resolve middleware export types (#21414)
- fix(browser): Ignore
__sentry_wrapped__inherited fromFunction.prototype(#21506) - fix(core): Avoid double counting cached input tokens for Vercel AI SDK v6 (#21488)
- fix(core): Keep
safeJoinside-effect-free for DOM elements (#21356) - fix(deno): Use correct paths for
moduleandtypesfields inpackage.json(#21449) - fix(nextjs): Mark redirect server actions as
okinstead ofinternal_error(#21521) - fix(react-router): Mark instrumentation API active on invocation (#21420)
- fix(redis): Bring span attributes into alignment with conventions
- fix(sveltekit): Add
defaultexports condition (#21472) - fix(tanstackstart-react): Preserve middleware context types (#21441)
- perf(core): Reuse unchanged Vercel AI messages JSON
Work in this release was contributed by @archievi, @AyaanFaisal21, @itosa-kazu, and @bkchr. Thank you for your contributions!
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Pin OTel to <2.8.0 in ts 3.8 test app (#21474)
- chore(ci): Add dependabot auto-triage pipeline (#21318)
- chore(dependabot): Group react-router packages to bump in unison (#21442)
- chore(deps-dev): Bump the react-router group across 1 directory with 3 updates (#21448)
- chore(deps): Bump @hapi/content from 6.0.1 to 6.0.2 (#21180)
- chore(deps): Bump getsentry/craft from 2.26.2 to 2.26.9 (#21444)
- chore(deps): Bump hono from 4.12.18 to 4.12.21 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#21340)
- chore(deps): Bump nx to
22.7.5(#21527) - chore(deps): Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#21302)
- chore(size-limit): weekly auto-bump (#21501)
- ci(dependabot-triage): Add outcome step (#21507)
- ci(deps): Bump actions/github-script from 7 to 9 (#21300)
- ci(deps): Bump anthropics/claude-code-action from 1.0.124 to 1.0.142 (#21445)
- feat(deps): Bump shell-quote from 1.8.3 to 1.8.4 (#21412)
- feat(deps): Bump the remix group with 4 updates (#21447)
- feat(nestjs): Migrate vendored nest instrumentation to Sentry APIs (#21516)
- ref: Remove unused
SENTRY_BUILD_PRESERVE_MODULESenv check from rollup configs (#21487) - ref: Rename published internal packages (#21371)
- ref(nestjs): Streamline nestjs-core (#21434)
- ref(node): Drop eslint-ignores and oxlint exemption in generic-pool instrumentation (#21435)
- ref(node): Migrate vendored generic-pool instrumentation to Sentry APIs (#21523)
- ref(node): Streamline dataloader instrumentation (#21475)
- ref(node): Streamline generic-pool (#21363)
- test: Skip nuxt-5 E2E test (#21524)
- test(astro): Add Astro 7 e2e app (#21471)
- test(node): Remove generic-pool fake unit test (#21439)
- test(node): Replace lru-memoizer fake unit test with integration coverage (#21437)
- test(react-router): Add Redis-backed DB-span coverage to rr7 (#21398)
- test(react-router): Finalize instrumentation api e2e coverage (#21468)
- test(react-router): Fix e2e tests (#21485)
- test(react-router): Verify client fetch instrumentation hook fires (#21402)
- test(tanstackstart-react): Initialize Sentry from a dedicated client init file (#21397)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.76 KB @sentry/browser - with treeshaking flags 25.23 KB @sentry/browser (incl. Tracing) 44.63 KB @sentry/browser (incl. Tracing + Span Streaming) 46.82 KB @sentry/browser (incl. Tracing, Profiling) 49.32 KB @sentry/browser (incl. Tracing, Replay) 82.93 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.78 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.51 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.9 KB @sentry/browser (incl. Feedback) 43.52 KB @sentry/browser (incl. sendFeedback) 31.45 KB @sentry/browser (incl. FeedbackAsync) 36.44 KB @sentry/browser (incl. Metrics) 27.8 KB @sentry/browser (incl. Logs) 28.03 KB @sentry/browser (incl. Metrics & Logs) 28.71 KB @sentry/react 28.51 KB @sentry/react (incl. Tracing) 46.88 KB @sentry/vue 31.66 KB @sentry/vue (incl. Tracing) 46.48 KB @sentry/svelte 26.78 KB CDN Bundle 29.09 KB CDN Bundle (incl. Tracing) 47.07 KB CDN Bundle (incl. Logs, Metrics) 30.6 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.33 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.97 KB CDN Bundle (incl. Tracing, Replay) 83.52 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.74 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.23 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.45 KB CDN Bundle - uncompressed 86.51 KB CDN Bundle (incl. Tracing) - uncompressed 142.38 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 91.11 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.26 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 213 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 258.46 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 262.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.84 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 275.7 KB @sentry/nextjs (client) 49.27 KB @sentry/sveltekit (client) 45.04 KB @sentry/core/server 74.29 KB @sentry/core/browser 61.74 KB @sentry/node-core 60.28 KB @sentry/node 127.39 KB @sentry/node - without tracing 72.37 KB @sentry/aws-serverless 84.26 KB @sentry/cloudflare (withSentry) - minified 169.62 KB @sentry/cloudflare (withSentry) 423.68 KB Release notes
Open source โImportant Changes
-
feat(hono): Add support for the Deno runtime (#21450)
@sentry/hononow supports the Deno runtime via a new@sentry/hono/denoentry point. Install@sentry/denoas a peer dependency and initialize Sentry through thesentry()middleware:import { Hono } from 'hono'; import { sentry } from '@sentry/hono/deno'; const app = new Hono(); app.use( sentry(app, { dsn: '__DSN__', // or Deno.env.get('SENTRY_DSN') tracesSampleRate: 1.0, }), ); Deno.serve(app.fetch); -
feat(core): Extract objects as structured logs in
consoleLoggingIntegration(#21385)The
consoleLoggingIntegrationnow extracts structured log attributes when the first argument is a plain object.// Object keys become log attributes console.log({ userId: 123, action: 'login' }, 'User logged in'); // โ attributes: { userId: 123, action: "login" } // Non-object first args use template + parameters (unchanged) console.log('Hello', 'world', 123); // โ sentry.message.template: "Hello {} {}" -
feat(react-router): Stabilize the instrumentation API (#21470)
React Router's instrumentation API is now stable โ the
@experimentalmarkers have been removed fromcreateSentryServerInstrumentation,createSentryClientInstrumentation, and the related helpers and types. The manual server wrapperswrapServerLoaderandwrapServerActionare now deprecated in favor of it. Exportinstrumentations = [Sentry.createSentryServerInstrumentation()]from yourentry.server.tsxto instrument all loaders and actions without wrapping them individually.
Other Changes
- feat(hono): Add HTTP connection info to server spans (#21408)
- feat(node-core): Attach log message and fields to pino error events (#21422)
- feat(react-router): Always build client instrumentation and deprecate
useInstrumentationAPI(#21432) - feat(react-router): Rename client navigation roots from the route pattern (#21463)
- fix(astro): Resolve middleware export types (#21414)
- fix(browser): Ignore
__sentry_wrapped__inherited fromFunction.prototype(#21506) - fix(core): Avoid double counting cached input tokens for Vercel AI SDK v6 (#21488)
- fix(core): Keep
safeJoinside-effect-free for DOM elements (#21356) - fix(deno): Use correct paths for
moduleandtypesfields inpackage.json(#21449) - fix(nextjs): Mark redirect server actions as
okinstead ofinternal_error(#21521) - fix(react-router): Mark instrumentation API active on invocation (#21420)
- fix(redis): Bring span attributes into alignment with conventions
- fix(sveltekit): Add
defaultexports condition (#21472) - fix(tanstackstart-react): Preserve middleware context types (#21441)
- perf(core): Reuse unchanged Vercel AI messages JSON
Work in this release was contributed by @archievi, @AyaanFaisal21, @itosa-kazu, and @bkchr. Thank you for your contributions!
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Pin OTel to <2.8.0 in ts 3.8 test app (#21474)
- chore(ci): Add dependabot auto-triage pipeline (#21318)
- chore(dependabot): Group react-router packages to bump in unison (#21442)
- chore(deps-dev): Bump the react-router group across 1 directory with 3 updates (#21448)
- chore(deps): Bump @hapi/content from 6.0.1 to 6.0.2 (#21180)
- chore(deps): Bump getsentry/craft from 2.26.2 to 2.26.9 (#21444)
- chore(deps): Bump hono from 4.12.18 to 4.12.21 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#21340)
- chore(deps): Bump nx to
22.7.5(#21527) - chore(deps): Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#21302)
- chore(size-limit): weekly auto-bump (#21501)
- ci(dependabot-triage): Add outcome step (#21507)
- ci(deps): Bump actions/github-script from 7 to 9 (#21300)
- ci(deps): Bump anthropics/claude-code-action from 1.0.124 to 1.0.142 (#21445)
- feat(deps): Bump shell-quote from 1.8.3 to 1.8.4 (#21412)
- feat(deps): Bump the remix group with 4 updates (#21447)
- feat(nestjs): Migrate vendored nest instrumentation to Sentry APIs (#21516)
- ref: Remove unused
SENTRY_BUILD_PRESERVE_MODULESenv check from rollup configs (#21487) - ref: Rename published internal packages (#21371)
- ref(nestjs): Streamline nestjs-core (#21434)
- ref(node): Drop eslint-ignores and oxlint exemption in generic-pool instrumentation (#21435)
- ref(node): Migrate vendored generic-pool instrumentation to Sentry APIs (#21523)
- ref(node): Streamline dataloader instrumentation (#21475)
- ref(node): Streamline generic-pool (#21363)
- test: Skip nuxt-5 E2E test (#21524)
- test(astro): Add Astro 7 e2e app (#21471)
- test(node): Remove generic-pool fake unit test (#21439)
- test(node): Replace lru-memoizer fake unit test with integration coverage (#21437)
- test(react-router): Add Redis-backed DB-span coverage to rr7 (#21398)
- test(react-router): Finalize instrumentation api e2e coverage (#21468)
- test(react-router): Fix e2e tests (#21485)
- test(react-router): Verify client fetch instrumentation hook fires (#21402)
- test(tanstackstart-react): Initialize Sentry from a dedicated client init file (#21397)
</details>
-
- 10.57.09 Jun 2026
Release notes
Open source โImportant Changes
-
feat(angular): Add support for Angular 22 (#21330)
@sentry/angularnow officially supports Angular 22. -
ref(core): Deprecate
sendDefaultPiiin favor ofdataCollection(#21277)sendDefaultPiiis deprecated and will be removed in v11. The newdataCollectionoption lets you control each category of collected data.sendDefaultPii: truestill works and maps to enabling alldataCollectioncategories.dataCollection.userInfodefaults totruewhendataCollectionis provided, meaning auto-populateduser.*fields (e.g. IP address from a request) are collected by default. Data you set explicitly (like viaSentry.setUser()) is always sent regardless. WhendataCollectionis not set at all, the legacysendDefaultPiibehavior applies (userInfo: falseby default) to preserve backward compatibility.Note that an empty
dataCollection: {}falls back to more permissive defaults thansendDefaultPii: false, so replicate the old behavior by opting out explicitly:Sentry.init({ dataCollection: { userInfo: false, genAI: { inputs: false, outputs: false }, httpBodies: [], httpHeaders: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, cookies: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, queryParams: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, }, });
Other Changes
- feat: Use
dataCollection.frameContextLinesfor ContextLines integration (#21323) - feat(cloudflare): Auto instrument D1 based on env (#21276)
- feat(core): Change default of
dataCollection.userInfototrue(#21348) - feat(core): Default
dataCollection.httpBodiesto all valid body types (#21352) - feat(hono): Filter noisy transactions (
faviconetc) (#21365) - fix(cloudflare): Don't track negatively sampled spans (#21367)
- fix(core): Use
safeDateNowcalls fornew Date()reads (#21351) - fix(nextjs): Shim
pinoIntegrationon edge runtime (#21347) - fix(node): Prevent PostgresJs integration from emitting duplicate spans per query (#21364)
- fix(node-core): Read
__SENTRY_SERVER_MODULES__lazily so Turbopack injection is honored (#21339) - fix(react): Detect React Router v6/v7 navigations in a layout effect to propagate the correct trace (#21326)
- fix(react): Remove unused
react.componentStackevent context (#21183) - fix(replays): Record
sentry._internal.replay_is_bufferingfor spans (#21297)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Bump volta node version from 20.19.2 to 20.19.5 (#21359)
- chore: Remove git:* allowed permissions (#21328)
- chore(deps-dev): Bump eslint-plugin-regexp from 1.15.0 to 3.1.0 (#21104)
- chore(deps-dev): Bump react-router from 7.13.0 to 7.15.0 (#21337)
- chore(size-limit): weekly auto-bump (#21344)
- docs(remix): Add notice about capturing http bodies for form data keys (#21296)
- feat(deps): Bump @types/aws-lambda from 8.10.150 to 8.10.161 (#21105)
- feat(deps): Bump axios from 1.15.2 to 1.16.0 (#21251)
- feat(deps): Bump hono from 4.12.18 to 4.12.21 (#21341)
- ref(browser): Split web vitals integration (#21210)
- ref(node): Streamline lru-memoizer instrumentation (#21350)
- ref(node): Streamline sql-common (#21360)
- test(e2e): Migrate
sendDefaultPiitodataCollectionoption (#21288) - test(nextjs): Remove assertion on conditional span (#21329)
- test(node): Move node integration tests to data collection (#21283)
</details>
Work in this release was contributed by @zhongrenfei1-hub. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 26.57 KB @sentry/browser - with treeshaking flags 25.05 KB @sentry/browser (incl. Tracing) 44.44 KB @sentry/browser (incl. Tracing + Span Streaming) 46.62 KB @sentry/browser (incl. Tracing, Profiling) 49.11 KB @sentry/browser (incl. Tracing, Replay) 82.73 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.6 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.31 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.71 KB @sentry/browser (incl. Feedback) 43.33 KB @sentry/browser (incl. sendFeedback) 31.28 KB @sentry/browser (incl. FeedbackAsync) 36.25 KB @sentry/browser (incl. Metrics) 27.62 KB @sentry/browser (incl. Logs) 27.86 KB @sentry/browser (incl. Metrics & Logs) 28.54 KB @sentry/react 28.34 KB @sentry/react (incl. Tracing) 46.66 KB @sentry/vue 31.47 KB @sentry/vue (incl. Tracing) 46.29 KB @sentry/svelte 26.6 KB CDN Bundle 28.89 KB CDN Bundle (incl. Tracing) 46.83 KB CDN Bundle (incl. Logs, Metrics) 30.36 KB CDN Bundle (incl. Tracing, Logs, Metrics) 48.05 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.72 KB CDN Bundle (incl. Tracing, Replay) 83.34 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.49 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.02 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.18 KB CDN Bundle - uncompressed 85.72 KB CDN Bundle (incl. Tracing) - uncompressed 141.58 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 90.1 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 145.25 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 211.99 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 257.67 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 261.32 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 271.04 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 274.69 KB @sentry/nextjs (client) 49.08 KB @sentry/sveltekit (client) 44.85 KB @sentry/core/server 74.18 KB @sentry/core/browser 61.62 KB @sentry/node-core 60.28 KB @sentry/node 127.37 KB @sentry/node - without tracing 72.37 KB @sentry/aws-serverless 84.26 KB @sentry/cloudflare (withSentry) - minified 169.62 KB @sentry/cloudflare (withSentry) 423.68 KB Release notes
Open source โImportant Changes
-
feat(angular): Add support for Angular 22 (#21330)
@sentry/angularnow officially supports Angular 22. -
ref(core): Deprecate
sendDefaultPiiin favor ofdataCollection(#21277)sendDefaultPiiis deprecated and will be removed in v11. The newdataCollectionoption lets you control each category of collected data.sendDefaultPii: truestill works and maps to enabling alldataCollectioncategories.dataCollection.userInfodefaults totruewhendataCollectionis provided, meaning auto-populateduser.*fields (e.g. IP address from a request) are collected by default. Data you set explicitly (like viaSentry.setUser()) is always sent regardless. WhendataCollectionis not set at all, the legacysendDefaultPiibehavior applies (userInfo: falseby default) to preserve backward compatibility.Note that an empty
dataCollection: {}falls back to more permissive defaults thansendDefaultPii: false, so replicate the old behavior by opting out explicitly:Sentry.init({ dataCollection: { userInfo: false, genAI: { inputs: false, outputs: false }, httpBodies: [], httpHeaders: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, cookies: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, queryParams: { deny: ['forwarded', '-ip', 'remote-', 'via', '-user'] }, }, });
Other Changes
- feat: Use
dataCollection.frameContextLinesfor ContextLines integration (#21323) - feat(cloudflare): Auto instrument D1 based on env (#21276)
- feat(core): Change default of
dataCollection.userInfototrue(#21348) - feat(core): Default
dataCollection.httpBodiesto all valid body types (#21352) - feat(hono): Filter noisy transactions (
faviconetc) (#21365) - fix(cloudflare): Don't track negatively sampled spans (#21367)
- fix(core): Use
safeDateNowcalls fornew Date()reads (#21351) - fix(nextjs): Shim
pinoIntegrationon edge runtime (#21347) - fix(node): Prevent PostgresJs integration from emitting duplicate spans per query (#21364)
- fix(node-core): Read
__SENTRY_SERVER_MODULES__lazily so Turbopack injection is honored (#21339) - fix(react): Detect React Router v6/v7 navigations in a layout effect to propagate the correct trace (#21326)
- fix(react): Remove unused
react.componentStackevent context (#21183) - fix(replays): Record
sentry._internal.replay_is_bufferingfor spans (#21297)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Bump volta node version from 20.19.2 to 20.19.5 (#21359)
- chore: Remove git:* allowed permissions (#21328)
- chore(deps-dev): Bump eslint-plugin-regexp from 1.15.0 to 3.1.0 (#21104)
- chore(deps-dev): Bump react-router from 7.13.0 to 7.15.0 (#21337)
- chore(size-limit): weekly auto-bump (#21344)
- docs(remix): Add notice about capturing http bodies for form data keys (#21296)
- feat(deps): Bump @types/aws-lambda from 8.10.150 to 8.10.161 (#21105)
- feat(deps): Bump axios from 1.15.2 to 1.16.0 (#21251)
- feat(deps): Bump hono from 4.12.18 to 4.12.21 (#21341)
- ref(browser): Split web vitals integration (#21210)
- ref(node): Streamline lru-memoizer instrumentation (#21350)
- ref(node): Streamline sql-common (#21360)
- test(e2e): Migrate
sendDefaultPiitodataCollectionoption (#21288) - test(nextjs): Remove assertion on conditional span (#21329)
- test(node): Move node integration tests to data collection (#21283)
</details>
Work in this release was contributed by @zhongrenfei1-hub. Thank you for your contribution!
-
- 10.56.02 Jun 2026
Release notes
Open source โImportant Changes
-
feat(deno): Redis diagnostics channel based integration for Deno (#21087)
Adds Redis integration support for Deno, covering both
redisandioredisclients.
Other Changes
- feat(cloudflare): Only capture workflow step error on final retry attempt (#21025)
- feat(hono): Emit warning if
@sentry/nodewas imported instead of@sentry/hono/node(#21240) - feat(node): Use ioredis tracing channels (#21187)
- fix(browser): Correctly parse sampleRate when
consistentTraceSamplingis enabled (#21281) - fix(cloudflare): Fix
instrumentDurableObjectWithSentrybreaking Cloudflare Agents (#21101) - fix(cloudflare): Wait for span links to be set (#21167)
- fix(core): Use
WeakReffor Span-Scope circular references (#21242) - fix(node): Vendor
InstrumentationNodeModuleFileto fix Bun--bytecodecrash (#21262) - fix(profiling-node): Ensure node version support warning includes latest 26 (#21229)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Ignore scheduled_tasks.lock (#21252)
- chore: Promote lint warnings to errors (#21213)
- chore(docs): Document how to support a new node version (#21228)
- chore(size-limit): Weekly auto-bump (#21243)
- chore(skills): Add linear-project-status skill (#21214)
- chore(skills): Add linear-project-update skill (#21233)
- chore(skills): Improve triage-issue skill (#21257)
- chore(skills): Update linear-project-status skill with more details & context (#21234)
- feat(deps): Bump axios from 1.15.0 to 1.16.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#21263)
- feat(server-utils): Initial scaffolding (#21200)
- ref(cloudflare): Move D1 instrumentation (#21266)
- ref(node): Refactor usage of
hrTimeutilities from@opentelemetry/core(#21191) - ref(node): Stop mutating OTel RPC metadata to set
http.route(#21193) - ref(opentelemetry): Vendor minimal
TraceStateimplementation (#21192) - test(browser): Add unit test for http client header collection behavior (#21273)
- test(browser): Move browser integration tests to
dataCollection(#21282) - test(cloudflare): Remove vitest in CF e2e tests (#21259)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.57 KB @sentry/browser - with treeshaking flags 25.05 KB @sentry/browser (incl. Tracing) 44.19 KB @sentry/browser (incl. Tracing + Span Streaming) 46.37 KB @sentry/browser (incl. Tracing, Profiling) 49.06 KB @sentry/browser (incl. Tracing, Replay) 82.86 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.67 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.45 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.78 KB @sentry/browser (incl. Feedback) 43.32 KB @sentry/browser (incl. sendFeedback) 31.27 KB @sentry/browser (incl. FeedbackAsync) 36.24 KB @sentry/browser (incl. Metrics) 27.61 KB @sentry/browser (incl. Logs) 27.85 KB @sentry/browser (incl. Metrics & Logs) 28.53 KB @sentry/react 28.35 KB @sentry/react (incl. Tracing) 46.41 KB @sentry/vue 31.46 KB @sentry/vue (incl. Tracing) 46.06 KB @sentry/svelte 26.59 KB CDN Bundle 28.88 KB CDN Bundle (incl. Tracing) 46.7 KB CDN Bundle (incl. Logs, Metrics) 30.35 KB CDN Bundle (incl. Tracing, Logs, Metrics) 47.91 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.69 KB CDN Bundle (incl. Tracing, Replay) 83.19 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) 88.92 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.04 KB CDN Bundle - uncompressed 85.64 KB CDN Bundle (incl. Tracing) - uncompressed 140.75 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 90.03 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 144.42 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 211.83 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 256.74 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 260.4 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 270.12 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 273.77 KB @sentry/nextjs (client) 48.88 KB @sentry/sveltekit (client) 44.64 KB @sentry/core/server 74.16 KB @sentry/core/browser 61.61 KB @sentry/node-core 60.25 KB @sentry/node 127.35 KB @sentry/node - without tracing 72.33 KB @sentry/aws-serverless 84.24 KB @sentry/cloudflare (withSentry) - minified 167.82 KB @sentry/cloudflare (withSentry) 419.43 KB Release notes
Open source โImportant Changes
-
feat(deno): Redis diagnostics channel based integration for Deno (#21087)
Adds Redis integration support for Deno, covering both
redisandioredisclients.
Other Changes
- feat(cloudflare): Only capture workflow step error on final retry attempt (#21025)
- feat(hono): Emit warning if
@sentry/nodewas imported instead of@sentry/hono/node(#21240) - feat(node): Use ioredis tracing channels (#21187)
- fix(browser): Correctly parse sampleRate when
consistentTraceSamplingis enabled (#21281) - fix(cloudflare): Fix
instrumentDurableObjectWithSentrybreaking Cloudflare Agents (#21101) - fix(cloudflare): Wait for span links to be set (#21167)
- fix(core): Use
WeakReffor Span-Scope circular references (#21242) - fix(node): Vendor
InstrumentationNodeModuleFileto fix Bun--bytecodecrash (#21262) - fix(profiling-node): Ensure node version support warning includes latest 26 (#21229)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Ignore scheduled_tasks.lock (#21252)
- chore: Promote lint warnings to errors (#21213)
- chore(docs): Document how to support a new node version (#21228)
- chore(size-limit): Weekly auto-bump (#21243)
- chore(skills): Add linear-project-status skill (#21214)
- chore(skills): Add linear-project-update skill (#21233)
- chore(skills): Improve triage-issue skill (#21257)
- chore(skills): Update linear-project-status skill with more details & context (#21234)
- feat(deps): Bump axios from 1.15.0 to 1.16.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#21263)
- feat(server-utils): Initial scaffolding (#21200)
- ref(cloudflare): Move D1 instrumentation (#21266)
- ref(node): Refactor usage of
hrTimeutilities from@opentelemetry/core(#21191) - ref(node): Stop mutating OTel RPC metadata to set
http.route(#21193) - ref(opentelemetry): Vendor minimal
TraceStateimplementation (#21192) - test(browser): Add unit test for http client header collection behavior (#21273)
- test(browser): Move browser integration tests to
dataCollection(#21282) - test(cloudflare): Remove vitest in CF e2e tests (#21259)
</details>
-
- 10.55.028 May 2026
Release notes
Open source โImportant Changes
-
feat(hono): Promote
@sentry/honoto stable and deprecatehonoIntegration(#21208)The
@sentry/honoSDK is now stable. See the Sentry Hono SDK docs to get started. -
docs(tanstackstart-react): Promote SDK status to beta (#21175)
This release promotes the
@sentry/tanstackstart-reactSDK to beta. For details on how to use it, check out the Sentry TanStack Start SDK docs. Please reach out on GitHub if you have any feedback or concerns. -
feat(hono): Add
shouldHandleErroroption tosentry()middleware (#21205)The
sentry()middleware now accepts ashouldHandleErrorcallback to control which errors are captured and sent to Sentry. By default, 3xx/4xx HTTP errors are ignored and 5xx errors and plainErrorobjects are captured. Returntruefrom the callback to capture an error,falseto suppress it.app.use( sentry(app, { dsn: '__DSN__', shouldHandleError(error) { const status = (error as { status?: number })?.status; // Capture 401/403 in addition to the default 5xx errors return status === 401 || status === 403 || typeof status !== 'number' || status >= 500; }, }), ); -
test(tanstackstart-react): Move initialization to client entry point (#21161)
Change the recommended setup for the SDK to do
Sentry.init()in the client entry file to capture telemetry that is emitted ahead of page hydration. -
feat(tanstackstart-react): Add distributed tracing (#21144)
Server and client traces are now automatically connected, allowing you to see the full request lifecycle from server-side rendering through client-side hydration in a single trace.
-
feat(tanstackstart-react): Add server-side route parametrization (#21147)
Server transaction names are now parametrized automatically (e.g.,
GET /users/123becomesGET /users/$userId), improving transaction grouping in Sentry. -
feat(tanstackstart-react): Show readable server function names in traces (#21190)
Server function spans now show human-readable names (e.g.,
GET /_serverFn/greetinstead ofGET /_serverFn/a10e70b3...). Thetanstackstart.function.hash.sha256span attribute has been renamed totanstackstart.function.id.
Other Changes
- feat(core): Migrate request data to
dataCollection(#21071) - feat(hono): Add warning in Bun for double init (#21195)
- feat(hono): Instrument main-app inline middleware spans (#20999)
- feat(metrics): Migrate metrics to use
dataCollectioninstead ofsendDefaultPii(#21078) - feat(tanstackstart-react): Enable component tracking (#21149)
- feat(tanstackstart-react): Filter noisy dev transactions (#21145)
- fix(cloudflare): Use original waitUntil to not create a deadlock (#21197)
- fix(elysia): Widen accepted
Elysiaapp type to support Elysia options (#21164) - fix(tanstackstart-react): Add server-side replayIntegration no-op stub (#21148)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(changelog): clarify array attributes impact on
beforeSend*callbacks (#21186) - chore(ci): Update bugbot instructions (#21168)
- chore(sentry-cli): Upgrade to 2.58.6 (#21165)
- chore(size-limit): weekly auto-bump (#21123)
- feat(deps-dev): Bump @sveltejs/kit from 2.52.2 to 2.60.1 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages (#21162)
- fix(e2e): Fix
astro-6e2e test build by relaxing astro version range (#21211) - meta(agents): Update AI commit attribution guidance (#21166)
- ref(browser): Extract browser-specific
normalizecode out of core (#21172) - ref(node): Stop custom-handling normalization of Domain/DomainEmitter (#21182)
- ref(node): Stop using
registerSpanErrorInstrumentation()on server (#21169) - test(nitro-3): Update e2e tests for h3 route handler tracing (#21152)
- test(nuxt): Fix flaky test and add note about hydration timing to skill (#21054)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.52 KB @sentry/browser - with treeshaking flags 25.01 KB @sentry/browser (incl. Tracing) 44.18 KB @sentry/browser (incl. Tracing + Span Streaming) 46.35 KB @sentry/browser (incl. Tracing, Profiling) 49.04 KB @sentry/browser (incl. Tracing, Replay) 82.83 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.65 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.42 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.76 KB @sentry/browser (incl. Feedback) 43.29 KB @sentry/browser (incl. sendFeedback) 31.23 KB @sentry/browser (incl. FeedbackAsync) 36.2 KB @sentry/browser (incl. Metrics) 27.58 KB @sentry/browser (incl. Logs) 27.81 KB @sentry/browser (incl. Metrics & Logs) 28.49 KB @sentry/react 28.3 KB @sentry/react (incl. Tracing) 46.39 KB @sentry/vue 31.45 KB @sentry/vue (incl. Tracing) 46.05 KB @sentry/svelte 26.55 KB CDN Bundle 28.85 KB CDN Bundle (incl. Tracing) 46.68 KB CDN Bundle (incl. Logs, Metrics) 30.31 KB CDN Bundle (incl. Tracing, Logs, Metrics) 47.89 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.65 KB CDN Bundle (incl. Tracing, Replay) 83.18 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.32 KB CDN Bundle (incl. Tracing, Replay, Feedback) 88.92 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.05 KB CDN Bundle - uncompressed 85.52 KB CDN Bundle (incl. Tracing) - uncompressed 140.7 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 89.91 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 144.37 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 211.71 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 256.69 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 260.34 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 270.07 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 273.71 KB @sentry/nextjs (client) 48.85 KB @sentry/sveltekit (client) 44.6 KB @sentry/core/server 74.15 KB @sentry/core/browser 61.61 KB @sentry/node-core 60.5 KB @sentry/node 127.33 KB @sentry/node - without tracing 72.62 KB @sentry/aws-serverless 84.54 KB @sentry/cloudflare (withSentry) - minified 167.48 KB @sentry/cloudflare (withSentry) 419.23 KB Release notes
Open source โImportant Changes
-
feat(hono): Promote
@sentry/honoto stable and deprecatehonoIntegration(#21208)The
@sentry/honoSDK is now stable. See the Sentry Hono SDK docs to get started. -
docs(tanstackstart-react): Promote SDK status to beta (#21175)
This release promotes the
@sentry/tanstackstart-reactSDK to beta. For details on how to use it, check out the Sentry TanStack Start SDK docs. Please reach out on GitHub if you have any feedback or concerns. -
feat(hono): Add
shouldHandleErroroption tosentry()middleware (#21205)The
sentry()middleware now accepts ashouldHandleErrorcallback to control which errors are captured and sent to Sentry. By default, 3xx/4xx HTTP errors are ignored and 5xx errors and plainErrorobjects are captured. Returntruefrom the callback to capture an error,falseto suppress it.app.use( sentry(app, { dsn: '__DSN__', shouldHandleError(error) { const status = (error as { status?: number })?.status; // Capture 401/403 in addition to the default 5xx errors return status === 401 || status === 403 || typeof status !== 'number' || status >= 500; }, }), ); -
test(tanstackstart-react): Move initialization to client entry point (#21161)
Change the recommended setup for the SDK to do
Sentry.init()in the client entry file to capture telemetry that is emitted ahead of page hydration. -
feat(tanstackstart-react): Add distributed tracing (#21144)
Server and client traces are now automatically connected, allowing you to see the full request lifecycle from server-side rendering through client-side hydration in a single trace.
-
feat(tanstackstart-react): Add server-side route parametrization (#21147)
Server transaction names are now parametrized automatically (e.g.,
GET /users/123becomesGET /users/$userId), improving transaction grouping in Sentry. -
feat(tanstackstart-react): Show readable server function names in traces (#21190)
Server function spans now show human-readable names (e.g.,
GET /_serverFn/greetinstead ofGET /_serverFn/a10e70b3...). Thetanstackstart.function.hash.sha256span attribute has been renamed totanstackstart.function.id.
Other Changes
- feat(core): Migrate request data to
dataCollection(#21071) - feat(hono): Add warning in Bun for double init (#21195)
- feat(hono): Instrument main-app inline middleware spans (#20999)
- feat(metrics): Migrate metrics to use
dataCollectioninstead ofsendDefaultPii(#21078) - feat(tanstackstart-react): Enable component tracking (#21149)
- feat(tanstackstart-react): Filter noisy dev transactions (#21145)
- fix(cloudflare): Use original waitUntil to not create a deadlock (#21197)
- fix(elysia): Widen accepted
Elysiaapp type to support Elysia options (#21164) - fix(tanstackstart-react): Add server-side replayIntegration no-op stub (#21148)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(changelog): clarify array attributes impact on
beforeSend*callbacks (#21186) - chore(ci): Update bugbot instructions (#21168)
- chore(sentry-cli): Upgrade to 2.58.6 (#21165)
- chore(size-limit): weekly auto-bump (#21123)
- feat(deps-dev): Bump @sveltejs/kit from 2.52.2 to 2.60.1 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages (#21162)
- fix(e2e): Fix
astro-6e2e test build by relaxing astro version range (#21211) - meta(agents): Update AI commit attribution guidance (#21166)
- ref(browser): Extract browser-specific
normalizecode out of core (#21172) - ref(node): Stop custom-handling normalization of Domain/DomainEmitter (#21182)
- ref(node): Stop using
registerSpanErrorInstrumentation()on server (#21169) - test(nitro-3): Update e2e tests for h3 route handler tracing (#21152)
- test(nuxt): Fix flaky test and add note about hydration timing to skill (#21054)
</details>
-
- 10.54.026 May 2026
Release notes
Open source โImportant Changes
-
feat(core): Support array attributes for spans, logs, and metrics (#20427)
Arrays of primitive values (
string,number,boolean) are now accepted as attribute values. Arrays containing non-primitive elements will be dropped and won't show up in Sentry. Array attributes on logs and metrics were previously stringified and will now be sent as actual arrays instead. If you have custom rules that process attribute values in anybeforeSend*callbacks (e.g., data scrubbing), you may need to update them to correctly handle array values.For instance, here's how you can update a
beforeSendLogcallback to handle arrays:beforeSendLog: log => { const attributes = log.attributes; Object.keys(attributes).forEach(key => { const value = attributes[key]; if (typeof value === 'string') { attributes[key] = scrubData(value); } if (Array.isArray(value)) { attributes[key] = value.map(v => (typeof v === 'string' ? scrubData(v) : v)); } }); return log; }; -
feat(browser): Add
fetchStreamPerformanceIntegrationfor streamed response tracking (#20778)A new integration that tracks the performance of streamed fetch responses. Use this to measure time-to-first-byte and streaming duration for APIs that return chunked/streamed data. This replaces the now deprecated
trackFetchStreamPerformanceoption. -
feat(core): Add
dataCollectionclient option (#20965)Adds a new
dataCollectionclient option for controlling what data the SDK collects and sends to Sentry. This provides a centralized way to configure data collection behavior across different SDK features. In the future, this option will be used for fine-granular data filtering, while the simplesendDefaultPiiboolean option will be deprecated and removed in a future release. -
feat(hono): Add
hono.requestspans for internal.request()calls (#20843)The Hono SDK now creates spans for internal
.request()calls, providing better visibility into request handling within Hono applications.
Other Changes
- feat(core): Add data collection filtering utilities (#20989)
- feat(core): Convert scope contexts to segment span attributes in span streaming (#20828)
- feat(core): Emit
sentry.sdk.integrationson streamed segment spans (#20428) - feat(core): HTTP server diagnostics channel utility (#20779)
- feat(core): Migrate span streaming envelope to
dataCollection(#21080) - feat(core): Migrate Supabase integration to
dataCollection(#21085) - feat(core): Migrate trpc to
dataCollection(#21072) - feat(deno): Instrument
node:httpon versions that support it (#21009) - feat(ember): Extract ember-specific logic into custom
browserTracingIntegration(#20702) - feat(logs): Migrate log envelope user inference to
dataCollection(#21073) - feat(nuxt): Allow custom configuration files paths in Nuxt module (#20650)
- feat(replay): Update example worker script (#20899)
- feat(serverless): Add server-only context span attributes via processSegmentSpan hooks (#20842)
- fix(astro): Avoid injecting meta tags into
<head>inside attribute values (#21089) - fix(astro): Use explicit ResponseInit when injecting meta tags in response (#21021)
- fix(browser): Add a synthetic stack trace to DOMException with empty stack traces if
attachStacktraceis true (#19988) - fix(browser): Fix internal frame detection in minified bundles (#20802)
- fix(cloudflare): Avoid repeated flush lock wrapping (#21156)
- fix(cloudflare): Skip SDK initialization for OPTIONS/HEAD requests (#21090)
- fix(cloudflare, vercel-edge): Disable timer-based flush for serverless runtimes (#20889)
- fix(core): Sanitize lone surrogates in log body and attributes (#20245)
- fix(deno): Support
Deno.serveinstrumentation on Deno 2.8 (#21155) - fix(hono): Preserve middleware handler metadata (#20954)
- fix(hono): Use generic Hono type in Bun/Node (#21060)
- fix(nextjs): Widen
projectoption type tostring | string[](#21067) - fix(node): Improve
http.clientdouble-wrap message (#20705) - fix(node): Preserve CallbackManager handlers in LangChain instrumentation (#20849)
- fix(react-router): Do not re-write origin on router state changes (#21056)
- fix(replay): Set
sentry.replay_idattribute on streamed spans (#20897) - fix(replay): Set
replay_idon DSC after buffer-to-session conversion (#20686) - fix(solidstart): Use nitro module for build hooks to preserve preset hooks (#20861)
- ref(core): Rename
types-hoisttotypes(#20979)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add compatibility function for
sendDefaultPii(#20967) - chore: Add size-limit for core/server, core/browser (#20990)
- chore: Bump rrweb deps to v2.43.0 (#20844)
- chore(build): Replace sucrase with esbuild (#20865)
- chore(deps): Bump nitropack from 2.13.1 to 2.13.4 (#20713)
- chore(deps): Bump ws from 8.20.0 to 8.20.1 (#20998)
- chore(deps): Remove redundant yarn resolutions (#20877)
- feat(deps): Bump @tootallnate/once from 1.1.2 to 2.0.1 (#21108)
- feat(deps): Bump devalue from 4.3.3 to 5.8.1 (#20893)
- feat(deps): Bump protobufjs from 7.5.5 to 7.5.9 (#20846)
- ref(aws-serverless): Vendor aws-sdk instrumentation (#20988)
- ref(http): Use shared snippets for filtering headers and cookies (#20970)
- ref(nestjs): Vendor nestjs-core instrumentation (#20996)
- ref(node): Remove unused
@opentelemetry/instrumentation-httpdependency (#21113) - ref(node): Vendor
@fastify/otel(#21099) - ref(node): Vendor
@opentelemetry/instrumentation-pg(#21102) - ref(node): Vendor
@opentelemetry/sql-common(#21140) - ref(node): Vendor
@prisma/instrumentation(#21098) - ref(node): Vendor amqplib instrumentation (#21003)
- ref(node): Vendor connect instrumentation (#20955)
- ref(node): Vendor dataloader instrumentation (#20950)
- ref(node): Vendor fs instrumentation (#20964)
- ref(node): Vendor generic-pool instrumentation (#20949)
- ref(node): Vendor graphql instrumentation (#21096)
- ref(node): Vendor hapi instrumentation (#21057)
- ref(node): Vendor kafkajs instrumentation (#21005)
- ref(node): Vendor knex instrumentation (#20963)
- ref(node): Vendor koa instrumentation (#20956)
- ref(node): Vendor lru-memoizer instrumentation (#20948)
- ref(node): Vendor minimal types for dataloader and generic-pool instrumentations (#21013)
- ref(node): Vendor mongodb instrumentation (#20966)
- ref(node): Vendor mongoose instrumentation (#21058)
- ref(node): Vendor mysql instrumentation (#21016)
- ref(node): Vendor mysql2 instrumentation (#21031)
- ref(node): Vendor tedious instrumentation (#21010)
</details>
Work in this release was contributed by @abcang, @ahmadio, @delorge, @mdnanocom, and @victorgarciaesgi. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 26.68 KB @sentry/browser - with treeshaking flags 25.13 KB @sentry/browser (incl. Tracing) 44.25 KB @sentry/browser (incl. Tracing + Span Streaming) 46.44 KB @sentry/browser (incl. Tracing, Profiling) 49.12 KB @sentry/browser (incl. Tracing, Replay) 82.93 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.68 KB @sentry/browser (incl. Tracing, Replay with Canvas) 87.53 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.85 KB @sentry/browser (incl. Feedback) 43.46 KB @sentry/browser (incl. sendFeedback) 31.38 KB @sentry/browser (incl. FeedbackAsync) 36.38 KB @sentry/browser (incl. Metrics) 27.74 KB @sentry/browser (incl. Logs) 27.97 KB @sentry/browser (incl. Metrics & Logs) 28.65 KB @sentry/react 28.37 KB @sentry/react (incl. Tracing) 46.43 KB @sentry/vue 31.49 KB @sentry/vue (incl. Tracing) 46.07 KB @sentry/svelte 26.71 KB CDN Bundle 29.03 KB CDN Bundle (incl. Tracing) 46.72 KB CDN Bundle (incl. Logs, Metrics) 30.48 KB CDN Bundle (incl. Tracing, Logs, Metrics) 47.94 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.88 KB CDN Bundle (incl. Tracing, Replay) 83.34 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 84.47 KB CDN Bundle (incl. Tracing, Replay, Feedback) 89.07 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 90.21 KB CDN Bundle - uncompressed 85.75 KB CDN Bundle (incl. Tracing) - uncompressed 140.91 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 90.13 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 144.58 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 211.93 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 256.91 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 260.56 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 270.28 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 273.93 KB @sentry/nextjs (client) 48.86 KB @sentry/sveltekit (client) 44.73 KB @sentry/core/server 74.69 KB @sentry/core/browser 61.75 KB @sentry/node-core 61.12 KB @sentry/node 128.03 KB @sentry/node - without tracing 73.26 KB @sentry/aws-serverless 85.2 KB @sentry/cloudflare (withSentry) - minified 169.45 KB @sentry/cloudflare (withSentry) 423.36 KB Release notes
Open source โImportant Changes
-
feat(core): Support array attributes for spans, logs, and metrics (#20427)
Arrays of primitive values (
string,number,boolean) are now accepted as attribute values. Arrays containing non-primitive elements will be dropped and won't show up in Sentry. Array attributes on logs and metrics were previously stringified and will now be sent as actual arrays instead. If you have custom rules that process attribute values in anybeforeSend*callbacks (e.g., data scrubbing), you may need to update them to correctly handle array values.For instance, here's how you can update a
beforeSendLogcallback to handle arrays:beforeSendLog: log => { const attributes = log.attributes; Object.keys(attributes).forEach(key => { const value = attributes[key]; if (typeof value === 'string') { attributes[key] = scrubData(value); } if (Array.isArray(value)) { attributes[key] = value.map(v => (typeof v === 'string' ? scrubData(v) : v)); } }); return log; }; -
feat(browser): Add
fetchStreamPerformanceIntegrationfor streamed response tracking (#20778)A new integration that tracks the performance of streamed fetch responses. Use this to measure time-to-first-byte and streaming duration for APIs that return chunked/streamed data. This replaces the now deprecated
trackFetchStreamPerformanceoption. -
feat(core): Add
dataCollectionclient option (#20965)Adds a new
dataCollectionclient option for controlling what data the SDK collects and sends to Sentry. This provides a centralized way to configure data collection behavior across different SDK features. In the future, this option will be used for fine-granular data filtering, while the simplesendDefaultPiiboolean option will be deprecated and removed in a future release. -
feat(hono): Add
hono.requestspans for internal.request()calls (#20843)The Hono SDK now creates spans for internal
.request()calls, providing better visibility into request handling within Hono applications.
Other Changes
- feat(core): Add data collection filtering utilities (#20989)
- feat(core): Convert scope contexts to segment span attributes in span streaming (#20828)
- feat(core): Emit
sentry.sdk.integrationson streamed segment spans (#20428) - feat(core): HTTP server diagnostics channel utility (#20779)
- feat(core): Migrate span streaming envelope to
dataCollection(#21080) - feat(core): Migrate Supabase integration to
dataCollection(#21085) - feat(core): Migrate trpc to
dataCollection(#21072) - feat(deno): Instrument
node:httpon versions that support it (#21009) - feat(ember): Extract ember-specific logic into custom
browserTracingIntegration(#20702) - feat(logs): Migrate log envelope user inference to
dataCollection(#21073) - feat(nuxt): Allow custom configuration files paths in Nuxt module (#20650)
- feat(replay): Update example worker script (#20899)
- feat(serverless): Add server-only context span attributes via processSegmentSpan hooks (#20842)
- fix(astro): Avoid injecting meta tags into
<head>inside attribute values (#21089) - fix(astro): Use explicit ResponseInit when injecting meta tags in response (#21021)
- fix(browser): Add a synthetic stack trace to DOMException with empty stack traces if
attachStacktraceis true (#19988) - fix(browser): Fix internal frame detection in minified bundles (#20802)
- fix(cloudflare): Avoid repeated flush lock wrapping (#21156)
- fix(cloudflare): Skip SDK initialization for OPTIONS/HEAD requests (#21090)
- fix(cloudflare, vercel-edge): Disable timer-based flush for serverless runtimes (#20889)
- fix(core): Sanitize lone surrogates in log body and attributes (#20245)
- fix(deno): Support
Deno.serveinstrumentation on Deno 2.8 (#21155) - fix(hono): Preserve middleware handler metadata (#20954)
- fix(hono): Use generic Hono type in Bun/Node (#21060)
- fix(nextjs): Widen
projectoption type tostring | string[](#21067) - fix(node): Improve
http.clientdouble-wrap message (#20705) - fix(node): Preserve CallbackManager handlers in LangChain instrumentation (#20849)
- fix(react-router): Do not re-write origin on router state changes (#21056)
- fix(replay): Set
sentry.replay_idattribute on streamed spans (#20897) - fix(replay): Set
replay_idon DSC after buffer-to-session conversion (#20686) - fix(solidstart): Use nitro module for build hooks to preserve preset hooks (#20861)
- ref(core): Rename
types-hoisttotypes(#20979)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add compatibility function for
sendDefaultPii(#20967) - chore: Add size-limit for core/server, core/browser (#20990)
- chore: Bump rrweb deps to v2.43.0 (#20844)
- chore(build): Replace sucrase with esbuild (#20865)
- chore(deps): Bump nitropack from 2.13.1 to 2.13.4 (#20713)
- chore(deps): Bump ws from 8.20.0 to 8.20.1 (#20998)
- chore(deps): Remove redundant yarn resolutions (#20877)
- feat(deps): Bump @tootallnate/once from 1.1.2 to 2.0.1 (#21108)
- feat(deps): Bump devalue from 4.3.3 to 5.8.1 (#20893)
- feat(deps): Bump protobufjs from 7.5.5 to 7.5.9 (#20846)
- ref(aws-serverless): Vendor aws-sdk instrumentation (#20988)
- ref(http): Use shared snippets for filtering headers and cookies (#20970)
- ref(nestjs): Vendor nestjs-core instrumentation (#20996)
- ref(node): Remove unused
@opentelemetry/instrumentation-httpdependency (#21113) - ref(node): Vendor
@fastify/otel(#21099) - ref(node): Vendor
@opentelemetry/instrumentation-pg(#21102) - ref(node): Vendor
@opentelemetry/sql-common(#21140) - ref(node): Vendor
@prisma/instrumentation(#21098) - ref(node): Vendor amqplib instrumentation (#21003)
- ref(node): Vendor connect instrumentation (#20955)
- ref(node): Vendor dataloader instrumentation (#20950)
- ref(node): Vendor fs instrumentation (#20964)
- ref(node): Vendor generic-pool instrumentation (#20949)
- ref(node): Vendor graphql instrumentation (#21096)
- ref(node): Vendor hapi instrumentation (#21057)
- ref(node): Vendor kafkajs instrumentation (#21005)
- ref(node): Vendor knex instrumentation (#20963)
- ref(node): Vendor koa instrumentation (#20956)
- ref(node): Vendor lru-memoizer instrumentation (#20948)
- ref(node): Vendor minimal types for dataloader and generic-pool instrumentations (#21013)
- ref(node): Vendor mongodb instrumentation (#20966)
- ref(node): Vendor mongoose instrumentation (#21058)
- ref(node): Vendor mysql instrumentation (#21016)
- ref(node): Vendor mysql2 instrumentation (#21031)
- ref(node): Vendor tedious instrumentation (#21010)
</details>
Work in this release was contributed by @abcang, @ahmadio, @delorge, @mdnanocom, and @victorgarciaesgi. Thank you for your contributions!
-
- 10.53.112 May 2026
Release notes
Open source โ- fix(core): Don't gate user data for streamed spans at scope read time (#20827)
- fix(core): Include subpath type shims in published package (#20835)
- ref(hono): Consolidate route patching and add clarification comments (#20829)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps): Bump next from 15.5.15 to 15.5.18 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#20821)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 26.22 KB @sentry/browser - with treeshaking flags 24.69 KB @sentry/browser (incl. Tracing) 43.69 KB @sentry/browser (incl. Tracing + Span Streaming) 45.62 KB @sentry/browser (incl. Tracing, Profiling) 48.56 KB @sentry/browser (incl. Tracing, Replay) 82.4 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.08 KB @sentry/browser (incl. Tracing, Replay with Canvas) 86.99 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.33 KB @sentry/browser (incl. Feedback) 43 KB @sentry/browser (incl. sendFeedback) 30.92 KB @sentry/browser (incl. FeedbackAsync) 35.91 KB @sentry/browser (incl. Metrics) 27.27 KB @sentry/browser (incl. Logs) 27.42 KB @sentry/browser (incl. Metrics & Logs) 28.08 KB @sentry/react 27.92 KB @sentry/react (incl. Tracing) 45.9 KB @sentry/vue 31.01 KB @sentry/vue (incl. Tracing) 45.5 KB @sentry/svelte 26.24 KB CDN Bundle 28.55 KB CDN Bundle (incl. Tracing) 46.04 KB CDN Bundle (incl. Logs, Metrics) 29.89 KB CDN Bundle (incl. Tracing, Logs, Metrics) 47.14 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.3 KB CDN Bundle (incl. Tracing, Replay) 82.55 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 83.6 KB CDN Bundle (incl. Tracing, Replay, Feedback) 88.23 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 89.3 KB CDN Bundle - uncompressed 83.97 KB CDN Bundle (incl. Tracing) - uncompressed 138.12 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 88.07 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 141.5 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 209.97 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 254.05 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 257.42 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 267.43 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 270.79 KB @sentry/nextjs (client) 48.36 KB @sentry/sveltekit (client) 44.17 KB @sentry/node-core 59.39 KB @sentry/node 162.07 KB @sentry/node - without tracing 72.21 KB @sentry/aws-serverless 105.52 KB @sentry/cloudflare (withSentry) - minified 166.63 KB @sentry/cloudflare (withSentry) 420.32 KB Release notes
Open source โ- fix(core): Don't gate user data for streamed spans at scope read time (#20827)
- fix(core): Include subpath type shims in published package (#20835)
- ref(hono): Consolidate route patching and add clarification comments (#20829)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps): Bump next from 15.5.15 to 15.5.18 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#20821)
</details>
- 10.53.012 May 2026
Release notes
Open source โImportant Changes
-
feat(core): Add
streamGenAiSpansoptions to stream gen_ai spans (#20785)Adds a new
streamGenAiSpansoption that controls howgen_aispans are sent to Sentry. When set, the SDK extracts allgen_aispans out of a transaction and sends them as v2 envelope items.Enable this option if gen_ai spans are being dropped because the transaction payload exceeds size limits.
Sentry.init({ dsn: 'https://[email protected]/0', streamGenAiSpans: true, });
Other Changes
- feat(browser): Migrate browser profiling thread data to span attributes (#20800)
- feat(core): Add
addConsoleInstrumentationFilterutility (#20790) - feat(core): Add
applicationKeytoBuildTimeOptionsBase(#20789) - feat(core): split exports by browser/server for bundle size (#20435)
- feat(nextjs): Add top-level
applicationKeyoption (#20794) - feat(node): Support Node 26 (#20710)
- feat(profiling-node): Bump
@sentry-internal/node-cpu-profilerto 2.4.0 (#20720) - fix(cloudflare): avoid flush lock self-wait (#20719)
- fix(hono): Capture transaction name on request for correct culprit (#20801)
- fix(mcp): retroactively wrap handlers registered before wrapMcpServerWithSentry (#20699)
- fix(node-core): Guard against undefined util.getSystemErrorMap (#20660)
- fix(replay): Capture aborted/errored fetch requests in replay network tab (#20722)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: bump replay dependencies (#20746)
- chore: Typo intergation -> integration (#20799)
- chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.24.1 to 7.29.4 (#20773)
- chore(deps): Bump next from 15.5.15 to 15.5.18 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#20818)
- chore(deps): Bump next from 16.2.4 to 16.2.6 in /dev-packages/e2e-tests/test-applications/nextjs-16-streaming (#20811)
- chore(deps): Bump rollup from 4.59.0 to 4.60.3 (#20716)
- ci: Ensure PR reminder workflow considers new sub teams (#20814)
- ci: Remove codecov reporting (#20803)
- feat(deps): Bump bundler plugins to 5.3.0 (#20820)
- feat(deps): Bump fast-uri from 3.0.6 to 3.1.2 (#20774)
- feat(deps): Bump hono from 4.12.16 to 4.12.18 (#20777)
- test(cloudflare-hono): fix 'occured' -> 'occurred' typo in error log (#20783)
- test(deps): Bump hono from 4.12.14 to 4.12.16 (#20712)
- test(deps): Bump hono from 4.12.14 to 4.12.18 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#20776)
- test(e2e): Pin astro version in astro-6 test app (#20709)
</details>
Work in this release was contributed by @dmmulroy and @SAY-5. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 26.22 KB @sentry/browser - with treeshaking flags 24.69 KB @sentry/browser (incl. Tracing) 43.69 KB @sentry/browser (incl. Tracing + Span Streaming) 45.63 KB @sentry/browser (incl. Tracing, Profiling) 48.56 KB @sentry/browser (incl. Tracing, Replay) 82.4 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 72.08 KB @sentry/browser (incl. Tracing, Replay with Canvas) 86.99 KB @sentry/browser (incl. Tracing, Replay, Feedback) 99.33 KB @sentry/browser (incl. Feedback) 43 KB @sentry/browser (incl. sendFeedback) 30.92 KB @sentry/browser (incl. FeedbackAsync) 35.91 KB @sentry/browser (incl. Metrics) 27.27 KB @sentry/browser (incl. Logs) 27.42 KB @sentry/browser (incl. Metrics & Logs) 28.08 KB @sentry/react 27.92 KB @sentry/react (incl. Tracing) 45.91 KB @sentry/vue 31.01 KB @sentry/vue (incl. Tracing) 45.5 KB @sentry/svelte 26.24 KB CDN Bundle 28.55 KB CDN Bundle (incl. Tracing) 46.05 KB CDN Bundle (incl. Logs, Metrics) 29.89 KB CDN Bundle (incl. Tracing, Logs, Metrics) 47.15 KB CDN Bundle (incl. Replay, Logs, Metrics) 68.3 KB CDN Bundle (incl. Tracing, Replay) 82.57 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 83.62 KB CDN Bundle (incl. Tracing, Replay, Feedback) 88.24 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 89.32 KB CDN Bundle - uncompressed 83.97 KB CDN Bundle (incl. Tracing) - uncompressed 138.15 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 88.07 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 141.53 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 209.97 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 254.08 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 257.44 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 267.46 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 270.81 KB @sentry/nextjs (client) 48.36 KB @sentry/sveltekit (client) 44.17 KB @sentry/node-core 59.4 KB @sentry/node 162.08 KB @sentry/node - without tracing 72.22 KB @sentry/aws-serverless 105.53 KB @sentry/cloudflare (withSentry) - minified 166.66 KB @sentry/cloudflare (withSentry) 420.38 KB Release notes
Open source โImportant Changes
-
feat(core): Add
streamGenAiSpansoptions to stream gen_ai spans (#20785)Adds a new
streamGenAiSpansoption that controls howgen_aispans are sent to Sentry. When set, the SDK extracts allgen_aispans out of a transaction and sends them as v2 envelope items.Enable this option if gen_ai spans are being dropped because the transaction payload exceeds size limits.
Sentry.init({ dsn: 'https://[email protected]/0', streamGenAiSpans: true, });
Other Changes
- feat(browser): Migrate browser profiling thread data to span attributes (#20800)
- feat(core): Add
addConsoleInstrumentationFilterutility (#20790) - feat(core): Add
applicationKeytoBuildTimeOptionsBase(#20789) - feat(core): split exports by browser/server for bundle size (#20435)
- feat(nextjs): Add top-level
applicationKeyoption (#20794) - feat(node): Support Node 26 (#20710)
- feat(profiling-node): Bump
@sentry-internal/node-cpu-profilerto 2.4.0 (#20720) - fix(cloudflare): avoid flush lock self-wait (#20719)
- fix(hono): Capture transaction name on request for correct culprit (#20801)
- fix(mcp): retroactively wrap handlers registered before wrapMcpServerWithSentry (#20699)
- fix(node-core): Guard against undefined util.getSystemErrorMap (#20660)
- fix(replay): Capture aborted/errored fetch requests in replay network tab (#20722)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: bump replay dependencies (#20746)
- chore: Typo intergation -> integration (#20799)
- chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.24.1 to 7.29.4 (#20773)
- chore(deps): Bump next from 15.5.15 to 15.5.18 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#20818)
- chore(deps): Bump next from 16.2.4 to 16.2.6 in /dev-packages/e2e-tests/test-applications/nextjs-16-streaming (#20811)
- chore(deps): Bump rollup from 4.59.0 to 4.60.3 (#20716)
- ci: Ensure PR reminder workflow considers new sub teams (#20814)
- ci: Remove codecov reporting (#20803)
- feat(deps): Bump bundler plugins to 5.3.0 (#20820)
- feat(deps): Bump fast-uri from 3.0.6 to 3.1.2 (#20774)
- feat(deps): Bump hono from 4.12.16 to 4.12.18 (#20777)
- test(cloudflare-hono): fix 'occured' -> 'occurred' typo in error log (#20783)
- test(deps): Bump hono from 4.12.14 to 4.12.16 (#20712)
- test(deps): Bump hono from 4.12.14 to 4.12.18 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#20776)
- test(e2e): Pin astro version in astro-6 test app (#20709)
</details>
Work in this release was contributed by @dmmulroy and @SAY-5. Thank you for your contributions!
-
- 10.52.07 May 2026
Release notes
Open source โImportant Changes
-
Beta release of the official Hono Sentry SDK
This release marks the beta release of the
@sentry/honoSentry SDK. For details on how to use it, check out the Sentry Hono SDK docs. Please reach out on GitHub if you have any feedback or concerns. -
feat(browser): Add
ingest_settingsto v2 log envelope payload (#20453)Inference of user data (e.g. IP address, browser name/version) on log events is now gated behind the
sendDefaultPiioption. Previously, this data was always inferred by default.
Other Changes
- docs(hono): Add new docs link and move to BETA release (#20666)
- feat(browser): Add
ingest_settingsto v2 metrics envelope payload (#20454) - feat(browser): Migrate spotlight event processor to
ignoreSpans(#20595) - feat(cloudflare): Capture request body via httpServerIntegration (#20614)
- feat(cloudflare): Support rpc trace propagation for WorkerEntrypoint (#20523)
- feat(cloudflare): Support tracing for queue producer (#20529)
- feat(core): Apply request data to segment spans in span streaming (#20654)
- feat(core): Migrate Vercel AI event processor to span streaming (#20608)
- feat(deno): Add
processSegmentSpanto Deno context integration (#20613) - feat(http): Portable node:http client instrumentation (#20393)
- feat(nitro): Add unstorage tracing channel instrumentation (#20615)
- feat(node-core): Add
processSegmentSpanto node context integration (#20678) - feat(node): Use diagnostics_channel for redis >= 5.12.0 (#20573)
- feat(node): Vendor ioredis, redis instrumentations (#20510)
- feat(replay): Reset replay id from DSC on session expiry/refresh (#20129)
- fix: Bump fast-xml-parser to fix vulnerability (#20644)
- fix: Bump vite versions to fix vulnerability (#20646)
- fix(core): Drain buffers in flush() when there is no transport (#20207)
- fix(core): Guard against undefined chained in copyProps (#20637)
- fix(deps): Bump rollup-plugin-license to fix lodash vulnerabilities (#20636)
- fix(deps): Bump transitive deps for medium security fixes (#20683)
- fix(hono): Do not capture 3xx and 4xx errors and add tests (#20640)
- fix(nextjs): Skip build modification when SRI is enabled (#20694)
- fix(opentelemetry): Respect OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES (#20509)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Remove
bundle-analyzer-scenariosdev packages (#20680) - chore(deps): Bump @hono/node-server from 1.19.10 to 1.19.13 (#20117)
- chore(deps): Bump @nestjs packages to fix path-to-regexp ReDoS (#20642)
- chore(deps): Bump axios from 1.15.0 to 1.15.2 (#20665)
- chore(deps): Bump ip-address from 10.1.0 to 10.2.0 (#20695)
- chore(deps): Bump simple-git from 3.33.0 to 3.36.0 (#20696)
- chore(deps): Bump vulnerable testem version (#20634)
- ci(deps): Bump actions/checkout from 4 to 6 (#20620)
- ci(deps): Bump actions/create-github-app-token from 2 to 3 (#20079)
- ci(deps): Bump denoland/setup-deno from 2.0.3 to 2.0.4 (#20080)
- ci(deps): Bump getsentry/craft from 2.24.1 to 2.26.2 (#20621)
- feat(deps): Bump @xmldom/xmldom from 0.8.12 to 0.8.13 (#20457)
- feat(deps): Bump follow-redirects from 1.15.11 to 1.16.0 (#20267)
- feat(deps): Bump hono from 4.12.12 to 4.12.14 (#20340)
- fix(tests): Use stable instrumentations api in rr tests (#20690)
- ref(tests): Rename streamed http.client span test folders (#20602)
- test(browser): Fix browserTracingIntegration unit test (#20604)
- test(browser): Fix flaky browser integration test for profiles (#20587)
- test(browser): Fix flaky loader test (#20596)
- test(browser): Fix flaky loader test (#20655)
- test(browser): Make browser profiling test less flaky (#20664)
- test(cloudflare): Add e2e test for MCPAgent with DurableObject instrumentation (#20601)
- test(cloudflare): Add integration tests for scheduled, D1, and workflow (#20609)
- test(cloudflare): Reduce flakiness for cloudflare with sub workers (#20632)
- test(cloudflare): Use Node v24 for Cloudflare e2e tests (#20628)
- test(deps): Bump Next.js in E2E test apps to fix Server Components DoS (#20633)
- test(e2e): Add node-express-streaming E2E test app (#20684)
- test(e2e): Add span streaming test app for Cloudflare Workers (#20681)
- test(e2e): Add span streaming test app for next 16 (#20648)
- test(e2e): Add span streaming test app for React Router 7 SPA (#20677)
- test(e2e): Remove remaining
npmrcpointing to Verdaccio (#20611) - test(nextjs): Fix flaky node runtime metrics E2E tests (#20624)
- test(node): Fix ANR test for flakiness (#20656)
- test(node): Fix flaky node cron test (#20661)
- test(node): Unflake mongodb test (#20662)
- test(react-router): Fix flaky E2E tests (#20630)
- test(test-utils): Add MemoryProfiler for heap snapshot testing via CDP (#20555)
</details>
Work in this release was contributed by @sbs44. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 25.68 KB @sentry/browser - with treeshaking flags 24.2 KB @sentry/browser (incl. Tracing) 43.13 KB @sentry/browser (incl. Tracing + Span Streaming) 45.3 KB @sentry/browser (incl. Tracing, Profiling) 47.99 KB @sentry/browser (incl. Tracing, Replay) 81.67 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 71.37 KB @sentry/browser (incl. Tracing, Replay with Canvas) 86.25 KB @sentry/browser (incl. Tracing, Replay, Feedback) 98.57 KB @sentry/browser (incl. Feedback) 42.42 KB @sentry/browser (incl. sendFeedback) 30.38 KB @sentry/browser (incl. FeedbackAsync) 35.35 KB @sentry/browser (incl. Metrics) 26.95 KB @sentry/browser (incl. Logs) 27.08 KB @sentry/browser (incl. Metrics & Logs) 27.76 KB @sentry/react 27.38 KB @sentry/react (incl. Tracing) 45.31 KB @sentry/vue 30.45 KB @sentry/vue (incl. Tracing) 44.94 KB @sentry/svelte 25.7 KB CDN Bundle 28.23 KB CDN Bundle (incl. Tracing) 45.83 KB CDN Bundle (incl. Logs, Metrics) 29.62 KB CDN Bundle (incl. Tracing, Logs, Metrics) 46.91 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.84 KB CDN Bundle (incl. Tracing, Replay) 82.15 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 83.2 KB CDN Bundle (incl. Tracing, Replay, Feedback) 87.84 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 88.89 KB CDN Bundle - uncompressed 82.89 KB CDN Bundle (incl. Tracing) - uncompressed 137.15 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 86.99 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 140.53 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 208.3 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 252.48 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 255.85 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 265.86 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 269.22 KB @sentry/nextjs (client) 47.75 KB @sentry/sveltekit (client) 43.6 KB @sentry/node-core 59.05 KB @sentry/node 161.63 KB @sentry/node - without tracing 71.76 KB @sentry/aws-serverless 105.11 KB @sentry/cloudflare (withSentry) - minified 165.38 KB @sentry/cloudflare (withSentry) 417.48 KB Release notes
Open source โImportant Changes
-
Beta release of the official Hono Sentry SDK
This release marks the beta release of the
@sentry/honoSentry SDK. For details on how to use it, check out the Sentry Hono SDK docs. Please reach out on GitHub if you have any feedback or concerns. -
feat(browser): Add
ingest_settingsto v2 log envelope payload (#20453)Inference of user data (e.g. IP address, browser name/version) on log events is now gated behind the
sendDefaultPiioption. Previously, this data was always inferred by default.
Other Changes
- docs(hono): Add new docs link and move to BETA release (#20666)
- feat(browser): Add
ingest_settingsto v2 metrics envelope payload (#20454) - feat(browser): Migrate spotlight event processor to
ignoreSpans(#20595) - feat(cloudflare): Capture request body via httpServerIntegration (#20614)
- feat(cloudflare): Support rpc trace propagation for WorkerEntrypoint (#20523)
- feat(cloudflare): Support tracing for queue producer (#20529)
- feat(core): Apply request data to segment spans in span streaming (#20654)
- feat(core): Migrate Vercel AI event processor to span streaming (#20608)
- feat(deno): Add
processSegmentSpanto Deno context integration (#20613) - feat(http): Portable node:http client instrumentation (#20393)
- feat(nitro): Add unstorage tracing channel instrumentation (#20615)
- feat(node-core): Add
processSegmentSpanto node context integration (#20678) - feat(node): Use diagnostics_channel for redis >= 5.12.0 (#20573)
- feat(node): Vendor ioredis, redis instrumentations (#20510)
- feat(replay): Reset replay id from DSC on session expiry/refresh (#20129)
- fix: Bump fast-xml-parser to fix vulnerability (#20644)
- fix: Bump vite versions to fix vulnerability (#20646)
- fix(core): Drain buffers in flush() when there is no transport (#20207)
- fix(core): Guard against undefined chained in copyProps (#20637)
- fix(deps): Bump rollup-plugin-license to fix lodash vulnerabilities (#20636)
- fix(deps): Bump transitive deps for medium security fixes (#20683)
- fix(hono): Do not capture 3xx and 4xx errors and add tests (#20640)
- fix(nextjs): Skip build modification when SRI is enabled (#20694)
- fix(opentelemetry): Respect OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES (#20509)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Remove
bundle-analyzer-scenariosdev packages (#20680) - chore(deps): Bump @hono/node-server from 1.19.10 to 1.19.13 (#20117)
- chore(deps): Bump @nestjs packages to fix path-to-regexp ReDoS (#20642)
- chore(deps): Bump axios from 1.15.0 to 1.15.2 (#20665)
- chore(deps): Bump ip-address from 10.1.0 to 10.2.0 (#20695)
- chore(deps): Bump simple-git from 3.33.0 to 3.36.0 (#20696)
- chore(deps): Bump vulnerable testem version (#20634)
- ci(deps): Bump actions/checkout from 4 to 6 (#20620)
- ci(deps): Bump actions/create-github-app-token from 2 to 3 (#20079)
- ci(deps): Bump denoland/setup-deno from 2.0.3 to 2.0.4 (#20080)
- ci(deps): Bump getsentry/craft from 2.24.1 to 2.26.2 (#20621)
- feat(deps): Bump @xmldom/xmldom from 0.8.12 to 0.8.13 (#20457)
- feat(deps): Bump follow-redirects from 1.15.11 to 1.16.0 (#20267)
- feat(deps): Bump hono from 4.12.12 to 4.12.14 (#20340)
- fix(tests): Use stable instrumentations api in rr tests (#20690)
- ref(tests): Rename streamed http.client span test folders (#20602)
- test(browser): Fix browserTracingIntegration unit test (#20604)
- test(browser): Fix flaky browser integration test for profiles (#20587)
- test(browser): Fix flaky loader test (#20596)
- test(browser): Fix flaky loader test (#20655)
- test(browser): Make browser profiling test less flaky (#20664)
- test(cloudflare): Add e2e test for MCPAgent with DurableObject instrumentation (#20601)
- test(cloudflare): Add integration tests for scheduled, D1, and workflow (#20609)
- test(cloudflare): Reduce flakiness for cloudflare with sub workers (#20632)
- test(cloudflare): Use Node v24 for Cloudflare e2e tests (#20628)
- test(deps): Bump Next.js in E2E test apps to fix Server Components DoS (#20633)
- test(e2e): Add node-express-streaming E2E test app (#20684)
- test(e2e): Add span streaming test app for Cloudflare Workers (#20681)
- test(e2e): Add span streaming test app for next 16 (#20648)
- test(e2e): Add span streaming test app for React Router 7 SPA (#20677)
- test(e2e): Remove remaining
npmrcpointing to Verdaccio (#20611) - test(nextjs): Fix flaky node runtime metrics E2E tests (#20624)
- test(node): Fix ANR test for flakiness (#20656)
- test(node): Fix flaky node cron test (#20661)
- test(node): Unflake mongodb test (#20662)
- test(react-router): Fix flaky E2E tests (#20630)
- test(test-utils): Add MemoryProfiler for heap snapshot testing via CDP (#20555)
</details>
Work in this release was contributed by @sbs44. Thank you for your contribution!
-
- 10.51.029 Apr 2026
Release notes
Open source โImportant Changes
-
feat(cloudflare): Add trace propagation for RPC method calls (#20343)
Trace context is now propagated across Cloudflare Workers RPC calls, connecting traces between Workers and Durable Objects. This feature is opt-in and requires setting
enableRpcTracePropagation: truein your SDK configuration:// Worker export default Sentry.withSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), handler, ); // Durable Object export const MyDurableObject = Sentry.instrumentDurableObjectWithSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), MyDurableObjectBase, ); -
feat(hono)!: Change setup for
@sentry/hono/node(initin external file) (#20497)To improve Node.js instrumentation, the
sentry()middleware exported from@sentry/hono/nodeno longer accepts configuration options. Instead, you must configure the SDK by callingSentry.init()in a dedicated instrumentation file that runs before your application code (read more in the Hono SDK readme:// instrument.mjs (or instrument.ts) import * as Sentry from '@sentry/hono/node'; Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0, }); -
feat(nitro): Add
@sentry/nitroSDK (#19224)A new
@sentry/nitropackage provides first-class Sentry support for Nitro applications, with HTTP handler and error instrumentation, middleware tracing, request isolation, and build-time source map uploading viawithSentryConfig. Read more in the Nitro SDK docs and the Nitro SDK readme.
Other Changes
- deps(minimatch): Upgrade patch version to use new
brace-expansionpeer-dep (#20198) - docs: Add deprecation notices to
binscripts (#20570) - feat(astro): Drop prerendered http.server filter via
ignoreSpans(#20513) - feat(aws-serverless): Validate extension tunnel DSN against
SENTRY_DSN(#20528) - feat(browser): Add
ingest_settingsto span v2 envelope payload (#20411) - feat(browser): Add support for streamed spans in
httpContextIntegration(#20464) - feat(core): Backfill otel attributes on streamed spans (#20439)
- feat(core): clear up integrations on dispose (#20407)
- feat(core): Instrument langgraph createReactAgent (#20344)
- feat(core): Support attribute matching in
ignoreSpans(#20512) - feat(feedback): allow error messages to be customized (#20474)
- feat(hono): Support middleware spans defined in app groups (#20465)
- feat(nextjs): Filter unwanted segments when span streaming is enabled (#20384)
- feat(nextjs): Migrate edge event processors to span-first APIs (#20551)
- feat(nextjs): Migrate server event processors to span-first APIs (#20527)
- feat(nextjs): Set global attribute for turbopack usage (#20558)
- feat(nitro): Nitro SDK (#19224)
- feat(react-router): Clean up bogus
*http.route attribute on segment spans (#20471) - feat(react-router): Drop low-quality transactions via
ignoreSpans(#20514) - feat(sveltekit): Support span streaming in
svelteKitSpansEnhancementintegration (#20496) - feat(tanstackstart-react): Add dynamic tunnel route helper and generator (#20264)
- fix: update prisma v7 spans descriptions (#20456)
- fix(core): Avoid parse-time SyntaxError on Safari <16.4 in postgresjs (#20498)
- fix(core): Ensure
isSentryRequesthandles subdomains properly (#20530) - fix(core): Ensure ip address headers are stripped when lower case (#20484)
- fix(core): Filter more cookie names for PII (#20485)
- fix(core): Use symbol for normalization checks (#20486)
- fix(hono): Distinguish
.use()middleware in sub-apps from.all()handlers (#20554) - fix(nextjs): Ensure we do not match tunnel endpoints too broadly (#20488)
- fix(opentelemetry): Add conditional browser export to avoid node deps (#20556)
- fix(replay): Avoid main-thread blocking in WorkerHandler under event bursts (#20548)
- fix(replay): Ensure
maskAttributesworks withmaskAllText=false(#20491) - fix(supabase): Consider
sendDefaultPiifor supabase integration (#20490)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add size limit reports on PRs for Cloudflare (#20055)
- chore: Update CODEOWNERS (#20559)
- chore(build): Opt-out of nx analytics (#20487)
- chore(ci): Automatically bump size limit every week (#20531)
- chore(ci): Bump pnpm/action-setup to v5 and pin to commit SHA (#20462)
- chore(ci): Do not report flaky test issues if we cannot find a test name (#20589)
- chore(ci): Streamline CI setup to split bundle, layer, tarball generation (#20396)
- chore(ci): Vendor nx-affected-list action, drop dkhunt27 dependency (#20463)
- chore(e2e): Add vue and vue-router to nuxt-4 canary build step to fix rollup resolution (#20519)
- chore(e2e): Remove @tanstack/start-plugin-core override (#20518)
- chore(size-limit): weekly auto-bump (#20572)
- chore(skill): Add skill for writing unit and E2E tests (#20561)
- chore(test): Reduce unneeded
idleTimeouttest config (#20467) - ci(size-bump): Fix path in size-limit auto-bump workflow (#20566)
- fix(e2e/tanstackstart-react): pin @tanstack/start-plugin-core to unblock CI (#20482)
- fix(tests): Remove nitro canary test job (#20473)
- ref(browser): Use
safeSetSpanJSONAttributesin cultureContext integration (#20481) - test(browser): Unflake some more tests (#20591)
- test(nextjs): Pin
eslint-config-nextpackage to major (#20552) - test(node): Fix flaky ANR test (#20592)
- test(node): Fix flaky worker thread integration test (#20588)
- test(node): Unflake postgres tests (#20593)
- test(node): Update timeout for cron integration tests (#20586)
- test(supabase): Stop supabase before initializing (#20563)
- test(tanstack): Prefix test labels (#20569)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.54 KB @sentry/browser - with treeshaking flags 24.06 KB @sentry/browser (incl. Tracing) 43.08 KB @sentry/browser (incl. Tracing + Span Streaming) 45.07 KB @sentry/browser (incl. Tracing, Profiling) 47.91 KB @sentry/browser (incl. Tracing, Replay) 81.5 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 71.23 KB @sentry/browser (incl. Tracing, Replay with Canvas) 86.07 KB @sentry/browser (incl. Tracing, Replay, Feedback) 98.42 KB @sentry/browser (incl. Feedback) 42.38 KB @sentry/browser (incl. sendFeedback) 30.24 KB @sentry/browser (incl. FeedbackAsync) 35.3 KB @sentry/browser (incl. Metrics) 26.8 KB @sentry/browser (incl. Logs) 26.95 KB @sentry/browser (incl. Metrics & Logs) 27.62 KB @sentry/react 27.25 KB @sentry/react (incl. Tracing) 45.26 KB @sentry/vue 30.3 KB @sentry/vue (incl. Tracing) 44.87 KB @sentry/svelte 25.57 KB CDN Bundle 28.16 KB CDN Bundle (incl. Tracing) 45.61 KB CDN Bundle (incl. Logs, Metrics) 29.54 KB CDN Bundle (incl. Tracing, Logs, Metrics) 46.68 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.71 KB CDN Bundle (incl. Tracing, Replay) 81.91 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 82.95 KB CDN Bundle (incl. Tracing, Replay, Feedback) 87.59 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 88.66 KB CDN Bundle - uncompressed 82.57 KB CDN Bundle (incl. Tracing) - uncompressed 136.41 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 86.67 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 139.79 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 207.73 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 251.45 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 254.82 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 264.83 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 268.18 KB @sentry/nextjs (client) 47.7 KB @sentry/sveltekit (client) 43.52 KB @sentry/node-core 57.57 KB @sentry/node 166.25 KB @sentry/node - without tracing 94.54 KB @sentry/aws-serverless 111 KB @sentry/cloudflare (withSentry) - minified 160.29 KB @sentry/cloudflare (withSentry) 405.47 KB Release notes
Open source โImportant Changes
-
feat(cloudflare): Add trace propagation for RPC method calls (#20343)
Trace context is now propagated across Cloudflare Workers RPC calls, connecting traces between Workers and Durable Objects. This feature is opt-in and requires setting
enableRpcTracePropagation: truein your SDK configuration:// Worker export default Sentry.withSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), handler, ); // Durable Object export const MyDurableObject = Sentry.instrumentDurableObjectWithSentry( env => ({ dsn: env.SENTRY_DSN, enableRpcTracePropagation: true, }), MyDurableObjectBase, ); -
feat(hono)!: Change setup for
@sentry/hono/node(initin external file) (#20497)To improve Node.js instrumentation, the
sentry()middleware exported from@sentry/hono/nodeno longer accepts configuration options. Instead, you must configure the SDK by callingSentry.init()in a dedicated instrumentation file that runs before your application code (read more in the Hono SDK readme:// instrument.mjs (or instrument.ts) import * as Sentry from '@sentry/hono/node'; Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0, }); -
feat(nitro): Add
@sentry/nitroSDK (#19224)A new
@sentry/nitropackage provides first-class Sentry support for Nitro applications, with HTTP handler and error instrumentation, middleware tracing, request isolation, and build-time source map uploading viawithSentryConfig. Read more in the Nitro SDK docs and the Nitro SDK readme.
Other Changes
- deps(minimatch): Upgrade patch version to use new
brace-expansionpeer-dep (#20198) - docs: Add deprecation notices to
binscripts (#20570) - feat(astro): Drop prerendered http.server filter via
ignoreSpans(#20513) - feat(aws-serverless): Validate extension tunnel DSN against
SENTRY_DSN(#20528) - feat(browser): Add
ingest_settingsto span v2 envelope payload (#20411) - feat(browser): Add support for streamed spans in
httpContextIntegration(#20464) - feat(core): Backfill otel attributes on streamed spans (#20439)
- feat(core): clear up integrations on dispose (#20407)
- feat(core): Instrument langgraph createReactAgent (#20344)
- feat(core): Support attribute matching in
ignoreSpans(#20512) - feat(feedback): allow error messages to be customized (#20474)
- feat(hono): Support middleware spans defined in app groups (#20465)
- feat(nextjs): Filter unwanted segments when span streaming is enabled (#20384)
- feat(nextjs): Migrate edge event processors to span-first APIs (#20551)
- feat(nextjs): Migrate server event processors to span-first APIs (#20527)
- feat(nextjs): Set global attribute for turbopack usage (#20558)
- feat(nitro): Nitro SDK (#19224)
- feat(react-router): Clean up bogus
*http.route attribute on segment spans (#20471) - feat(react-router): Drop low-quality transactions via
ignoreSpans(#20514) - feat(sveltekit): Support span streaming in
svelteKitSpansEnhancementintegration (#20496) - feat(tanstackstart-react): Add dynamic tunnel route helper and generator (#20264)
- fix: update prisma v7 spans descriptions (#20456)
- fix(core): Avoid parse-time SyntaxError on Safari <16.4 in postgresjs (#20498)
- fix(core): Ensure
isSentryRequesthandles subdomains properly (#20530) - fix(core): Ensure ip address headers are stripped when lower case (#20484)
- fix(core): Filter more cookie names for PII (#20485)
- fix(core): Use symbol for normalization checks (#20486)
- fix(hono): Distinguish
.use()middleware in sub-apps from.all()handlers (#20554) - fix(nextjs): Ensure we do not match tunnel endpoints too broadly (#20488)
- fix(opentelemetry): Add conditional browser export to avoid node deps (#20556)
- fix(replay): Avoid main-thread blocking in WorkerHandler under event bursts (#20548)
- fix(replay): Ensure
maskAttributesworks withmaskAllText=false(#20491) - fix(supabase): Consider
sendDefaultPiifor supabase integration (#20490)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add size limit reports on PRs for Cloudflare (#20055)
- chore: Update CODEOWNERS (#20559)
- chore(build): Opt-out of nx analytics (#20487)
- chore(ci): Automatically bump size limit every week (#20531)
- chore(ci): Bump pnpm/action-setup to v5 and pin to commit SHA (#20462)
- chore(ci): Do not report flaky test issues if we cannot find a test name (#20589)
- chore(ci): Streamline CI setup to split bundle, layer, tarball generation (#20396)
- chore(ci): Vendor nx-affected-list action, drop dkhunt27 dependency (#20463)
- chore(e2e): Add vue and vue-router to nuxt-4 canary build step to fix rollup resolution (#20519)
- chore(e2e): Remove @tanstack/start-plugin-core override (#20518)
- chore(size-limit): weekly auto-bump (#20572)
- chore(skill): Add skill for writing unit and E2E tests (#20561)
- chore(test): Reduce unneeded
idleTimeouttest config (#20467) - ci(size-bump): Fix path in size-limit auto-bump workflow (#20566)
- fix(e2e/tanstackstart-react): pin @tanstack/start-plugin-core to unblock CI (#20482)
- fix(tests): Remove nitro canary test job (#20473)
- ref(browser): Use
safeSetSpanJSONAttributesin cultureContext integration (#20481) - test(browser): Unflake some more tests (#20591)
- test(nextjs): Pin
eslint-config-nextpackage to major (#20552) - test(node): Fix flaky ANR test (#20592)
- test(node): Fix flaky worker thread integration test (#20588)
- test(node): Unflake postgres tests (#20593)
- test(node): Update timeout for cron integration tests (#20586)
- test(supabase): Stop supabase before initializing (#20563)
- test(tanstack): Prefix test labels (#20569)
</details>
-
- 10.50.023 Apr 2026
Release notes
Open source โImportant Changes
-
feat(effect): Support v4 beta (#20394)
The
@sentry/effectintegration now supports Effect v4 beta, enabling Sentry instrumentation for the latest Effect framework version. Read more in the Effect SDK readme. -
feat(hono): Add
@sentry/hono/bunfor Bun runtime (#20355)A new
@sentry/hono/bunentry point adds first-class support for running Hono applications instrumented with Sentry on the Bun runtime. Read more in the Hono SDK readme. -
feat(replay): Add replayStart/replayEnd client lifecycle hooks (#20369)
New
replayStartandreplayEndclient lifecycle hooks let you react to replay session start and end events in your application.
Other Changes
- feat(core): Emit
no_parent_spanclient outcomes for discarded spans requiring a parent (#20350) - feat(deps): Bump protobufjs from 7.5.4 to 7.5.5 (#20372)
- feat(hono): Add runtime packages as optional peer dependencies (#20423)
- feat(opentelemetry): Add tracingChannel utility for context propagation (#20358)
- fix(browser): Enrich graphqlClient spans for relative URLs (#20370)
- fix(browser): Filter implausible LCP values (#20338)
- fix(cloudflare): Use TransformStream to keep track of streams (#20452)
- fix(console): Re-patch console in AWS Lambda runtimes (#20337)
- fix(core): Correct
GoogleGenAIIstrumentedMethodtypo in type name - fix(core): Handle stateless MCP wrapper transport correlation (#20293)
- fix(hono): Remove undefined from options type (#20419)
- fix(node): Guard against null
httpVersionin outgoing request span attributes (#20430) - fix(node-core): Pass rejection reason instead of Promise as originalException (#20366)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Ignore claude worktrees (#20440)
- chore: Prevent test from creating zombie process (#20392)
- chore: Update size-limit (#20412)
- chore(dev-deps): Bump nx from 22.5.0 to 22.6.5 (#20458)
- chore(e2e-tests): Use tarball symlinks for E2E tests instead of verdaccio (#20386)
- chore(lint): Remove lint warnings (#20413)
- chore(test): Remove empty variant tests (#20443)
- chore(tests): Use verdaccio as node process instead of docker image (#20336)
- docs(readme): Update usage instructions for binary scripts (#20426)
- ref(node): Vendor undici instrumentation (#20190)
- test(aws-serverless): Ensure aws-serverless E2E tests run locally (#20441)
- test(aws-serverless): Split npm & layer tests (#20442)
- test(browser): Fix flaky sessions route-lifecycle test + upgrade axios (#20197)
- test(cloudflare): Use
.makeRequestAndWaitForEnvelopeto wait for envelopes (#20208) - test(effect): Rename effect e2e tests to a versioned folder (#20390)
- test(hono): Add E2E test for Hono on Cloudflare, Node and Bun (#20406)
- test(hono): Add E2E tests for middleware spans (#20451)
- test(nextjs): Unskip blocked cf tests (#20356)
- test(node): Refactor integration tests for
honoIntegration(#20397) - test(node): Use docker-compose healthchecks for service readiness (#20429)
- test(node-core): Fix minute-boundary race in session-aggregate tests (#20437)
- test(nuxt): Fix flaky database error test (#20447)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.27 KB @sentry/browser - with treeshaking flags 23.78 KB @sentry/browser (incl. Tracing) 42.78 KB @sentry/browser (incl. Tracing + Span Streaming) 44.44 KB @sentry/browser (incl. Tracing, Profiling) 47.59 KB @sentry/browser (incl. Tracing, Replay) 81.04 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 70.8 KB @sentry/browser (incl. Tracing, Replay with Canvas) 85.62 KB @sentry/browser (incl. Tracing, Replay, Feedback) 97.58 KB @sentry/browser (incl. Feedback) 41.7 KB @sentry/browser (incl. sendFeedback) 29.83 KB @sentry/browser (incl. FeedbackAsync) 34.72 KB @sentry/browser (incl. Metrics) 26.53 KB @sentry/browser (incl. Logs) 26.65 KB @sentry/browser (incl. Metrics & Logs) 27.33 KB @sentry/react 26.97 KB @sentry/react (incl. Tracing) 44.97 KB @sentry/vue 29.99 KB @sentry/vue (incl. Tracing) 44.55 KB @sentry/svelte 25.29 KB CDN Bundle 27.9 KB CDN Bundle (incl. Tracing) 45 KB CDN Bundle (incl. Logs, Metrics) 29.25 KB CDN Bundle (incl. Tracing, Logs, Metrics) 46.01 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.31 KB CDN Bundle (incl. Tracing, Replay) 81.19 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 82.19 KB CDN Bundle (incl. Tracing, Replay, Feedback) 86.53 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 87.59 KB CDN Bundle - uncompressed 81.63 KB CDN Bundle (incl. Tracing) - uncompressed 134.39 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 85.67 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 137.72 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 206.35 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 249.08 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 252.4 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 261.69 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 265 KB @sentry/nextjs (client) 47.44 KB @sentry/sveltekit (client) 43.18 KB @sentry/node-core 56.98 KB @sentry/node 171.53 KB @sentry/node - without tracing 95.99 KB @sentry/aws-serverless 112.62 KB Release notes
Open source โImportant Changes
-
feat(effect): Support v4 beta (#20394)
The
@sentry/effectintegration now supports Effect v4 beta, enabling Sentry instrumentation for the latest Effect framework version. Read more in the Effect SDK readme. -
feat(hono): Add
@sentry/hono/bunfor Bun runtime (#20355)A new
@sentry/hono/bunentry point adds first-class support for running Hono applications instrumented with Sentry on the Bun runtime. Read more in the Hono SDK readme. -
feat(replay): Add replayStart/replayEnd client lifecycle hooks (#20369)
New
replayStartandreplayEndclient lifecycle hooks let you react to replay session start and end events in your application.
Other Changes
- feat(core): Emit
no_parent_spanclient outcomes for discarded spans requiring a parent (#20350) - feat(deps): Bump protobufjs from 7.5.4 to 7.5.5 (#20372)
- feat(hono): Add runtime packages as optional peer dependencies (#20423)
- feat(opentelemetry): Add tracingChannel utility for context propagation (#20358)
- fix(browser): Enrich graphqlClient spans for relative URLs (#20370)
- fix(browser): Filter implausible LCP values (#20338)
- fix(cloudflare): Use TransformStream to keep track of streams (#20452)
- fix(console): Re-patch console in AWS Lambda runtimes (#20337)
- fix(core): Correct
GoogleGenAIIstrumentedMethodtypo in type name - fix(core): Handle stateless MCP wrapper transport correlation (#20293)
- fix(hono): Remove undefined from options type (#20419)
- fix(node): Guard against null
httpVersionin outgoing request span attributes (#20430) - fix(node-core): Pass rejection reason instead of Promise as originalException (#20366)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Ignore claude worktrees (#20440)
- chore: Prevent test from creating zombie process (#20392)
- chore: Update size-limit (#20412)
- chore(dev-deps): Bump nx from 22.5.0 to 22.6.5 (#20458)
- chore(e2e-tests): Use tarball symlinks for E2E tests instead of verdaccio (#20386)
- chore(lint): Remove lint warnings (#20413)
- chore(test): Remove empty variant tests (#20443)
- chore(tests): Use verdaccio as node process instead of docker image (#20336)
- docs(readme): Update usage instructions for binary scripts (#20426)
- ref(node): Vendor undici instrumentation (#20190)
- test(aws-serverless): Ensure aws-serverless E2E tests run locally (#20441)
- test(aws-serverless): Split npm & layer tests (#20442)
- test(browser): Fix flaky sessions route-lifecycle test + upgrade axios (#20197)
- test(cloudflare): Use
.makeRequestAndWaitForEnvelopeto wait for envelopes (#20208) - test(effect): Rename effect e2e tests to a versioned folder (#20390)
- test(hono): Add E2E test for Hono on Cloudflare, Node and Bun (#20406)
- test(hono): Add E2E tests for middleware spans (#20451)
- test(nextjs): Unskip blocked cf tests (#20356)
- test(node): Refactor integration tests for
honoIntegration(#20397) - test(node): Use docker-compose healthchecks for service readiness (#20429)
- test(node-core): Fix minute-boundary race in session-aggregate tests (#20437)
- test(nuxt): Fix flaky database error test (#20447)
</details>
-
- 10.50.0-alpha.021 Apr 2026pre-release
Release notes
Open source โThis is an internal alpha release to test sending
gen_ai.*spans as span v2 envelope items alongside legacy transactions: #20342Bundle size ๐ฆ
Path Size @sentry/browser 25.73 KB @sentry/browser - with treeshaking flags 24.22 KB @sentry/browser (incl. Tracing) 43.23 KB @sentry/browser (incl. Tracing + Span Streaming) 44.68 KB @sentry/browser (incl. Tracing, Profiling) 48.09 KB @sentry/browser (incl. Tracing, Replay) 81.5 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 71.26 KB @sentry/browser (incl. Tracing, Replay with Canvas) 86.08 KB @sentry/browser (incl. Tracing, Replay, Feedback) 98.08 KB @sentry/browser (incl. Feedback) 42.14 KB @sentry/browser (incl. sendFeedback) 30.29 KB @sentry/browser (incl. FeedbackAsync) 35.17 KB @sentry/browser (incl. Metrics) 26.78 KB @sentry/browser (incl. Logs) 26.91 KB @sentry/browser (incl. Metrics & Logs) 27.57 KB @sentry/react 27.44 KB @sentry/react (incl. Tracing) 45.45 KB @sentry/vue 30.48 KB @sentry/vue (incl. Tracing) 45.01 KB @sentry/svelte 25.75 KB CDN Bundle 28.14 KB CDN Bundle (incl. Tracing) 44.11 KB CDN Bundle (incl. Logs, Metrics) 29.48 KB CDN Bundle (incl. Tracing, Logs, Metrics) 45.17 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.51 KB CDN Bundle (incl. Tracing, Replay) 80.25 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 81.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) 85.64 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 86.7 KB CDN Bundle - uncompressed 82.29 KB CDN Bundle (incl. Tracing) - uncompressed 132 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 86.34 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 135.33 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 207.02 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 246.69 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 250.01 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 259.3 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 262.61 KB @sentry/nextjs (client) 47.89 KB @sentry/sveltekit (client) 43.63 KB @sentry/node-core 56.91 KB @sentry/node 171.1 KB @sentry/node - without tracing 95.98 KB @sentry/aws-serverless 112.84 KB - 10.49.016 Apr 2026
Release notes
Open source โImportant Changes
-
feat(browser): Add View Hierarchy integration (#14981)
A new
viewHierarchyIntegrationcaptures the DOM structure when an error occurs, providing a snapshot of the page state for debugging. Enable it in your Sentry configuration:import * as Sentry from '@sentry/browser'; Sentry.init({ dsn: '__DSN__', integrations: [Sentry.viewHierarchyIntegration()], }); -
feat(cloudflare): Split alarms into multiple traces and link them (#19373)
Durable Object alarms now create separate traces for each alarm invocation, with proper linking between related alarms for better observability.
-
feat(cloudflare): Enable RPC trace propagation with
enableRpcTracePropagation(#19991, #20345)A new
enableRpcTracePropagationoption enables automatic trace propagation for Cloudflare RPC calls via.fetch(), ensuring distributed traces flow correctly across service bindings. -
feat(core): Add
enableTruncationoption to AI integrations (#20167, #20181, #20182, #20183, #20184)All AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, LangGraph) now support an
enableTruncationoption to control whether large AI inputs/outputs are truncated. -
feat(opentelemetry): Vendor
AsyncLocalStorageContextManager(#20243)The OpenTelemetry context manager is now vendored internally, reducing external dependencies and ensuring consistent behavior across environments.
Other Changes
- feat(core): Export a reusable function to add tracing headers (#20076)
- feat(core): Expose
rewriteSourcestop level option (#20142) - feat(deps): bump defu from 6.1.4 to 6.1.6 (#20104)
- feat(node-native): Add support for V8 v14 (Node v25+) (#20125)
- feat(node): Include global scope for
eventLoopBlockIntegration(#20108) - fix(core, node): Support loading Express options lazily (#20211)
- fix(core): Set
conversation_idonly ongen_aispans (#20274) - fix(core): Use
ai.operationIdfor Vercel AI V6 operation name mapping (#20285) - fix(deno): Avoid inferring invalid span op from Deno tracer (#20128)
- fix(deno): Handle
reader.closedrejection fromreleaseLock()in streaming (#20187) - fix(nextjs): Preserve directive prologues in turbopack loaders (#20103)
- fix(nextjs): Skip custom browser tracing setup for bot user agents (#20263)
- fix(opentelemetry): Use WeakRef for context stored on scope to prevent memory leak (#20328)
- fix(replay): Use live click attributes in breadcrumbs (#20262)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add PR review reminder workflow (#20175)
- chore: Fix lint warnings (#20250)
- chore(bugbot): Add rules to flag test-flake-provoking patterns (#20192)
- chore(ci): Bump actions/cache to v5 and actions/download-artifact to v7 (#20249)
- chore(ci): Bump dorny/paths-filter from v3.0.1 to v4.0.1 (#20251)
- chore(ci): Remove codecov steps from jobs that produce no coverage/JUnit data (#20244)
- chore(ci): Remove craft changelog preview (#20271)
- chore(ci): Remove node-overhead GitHub Action (#20246)
- chore(ci): Replace pr-labels-action with native GitHub expressions (#20252)
- chore(ci): Skip flaky issue creation for optional tests (#20288)
- chore(deps-dev): Bump @sveltejs/kit from 2.53.3 to 2.57.1 (#20216)
- chore(deps-dev): Bump vite from 7.2.0 to 7.3.2 in /dev-packages/e2e-tests/test-applications/tanstackstart-react (#20107)
- chore(deps): Bump axios from 1.13.5 to 1.15.0 (#20180)
- chore(deps): Bump axios from 1.13.5 to 1.15.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#20179)
- chore(deps): Bump hono from 4.12.7 to 4.12.12 (#20118)
- chore(deps): Bump hono from 4.12.7 to 4.12.12 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#20119)
- chore(deps): Bump next from 16.1.7 to 16.2.3 in nextjs-16-cf-workers (#20289)
- chore(size-limit): Bump failing size limit scenario (#20186)
- ci: Add automatic flaky test detector (#18684)
- ci: Extract test names for flaky test issues (#20298)
- ci: Remove Docker container for Verdaccio package publishing (#20329)
- fix(ci): Prevent command injection in ci-metadata workflow (#19899)
- fix(e2e-tests): Remove flaky navigation breadcrumb assertions from parameterized-routes tests (#20202)
- fix(e2e): Add op check to waitForTransaction in React Router e2e tests (#20193)
- fix(node-integration-tests): Fix flaky kafkajs test race condition (#20189)
- ref(core): Add registry in Vercel ai integration (#20098)
- ref(core): Automatically disable truncation when span streaming is enabled in Anthropic AI integration (#20228)
- ref(core): Automatically disable truncation when span streaming is enabled in Google GenAI integration (#20229)
- ref(core): Automatically disable truncation when span streaming is enabled in LangChain integration (#20230)
- ref(core): Automatically disable truncation when span streaming is enabled in LangGraph integration (#20231)
- ref(core): Automatically disable truncation when span streaming is enabled in OpenAI integration (#20227)
- ref(core): Automatically disable truncation when span streaming is enabled in Vercel AI integration (#20232)
- ref(core): Merge embeddings operations constants (#20095)
- ref(core): Remove unused constants from vercel-ai-attributes.ts (#20096)
- ref(nextjs): Refactor
findInjectionIndexAfterDirectivesfor better readability (#20310) - ref(opentelemetry): Replace
@opentelemetry/resourceswith inlinegetSentryResource()(#20327) - test: Fix flaky ANR test by increasing blocking duration (#20239)
- test(bun): Add bun integration test folder (#20286)
- test(cloudflare): Skip flaky durableobject-spans test (#20282)
- test(openai): Use multi-message scenario in no-truncation test (#20194)
- test(react): Remove duplicated test mock (#20200)
- tests(ai): Fix streaming+truncation integration tests across AI integrations (#20326)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.18 KB @sentry/browser - with treeshaking flags 23.71 KB @sentry/browser (incl. Tracing) 42.59 KB @sentry/browser (incl. Tracing + Span Streaming) 44.26 KB @sentry/browser (incl. Tracing, Profiling) 47.37 KB @sentry/browser (incl. Tracing, Replay) 80.8 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 70.55 KB @sentry/browser (incl. Tracing, Replay with Canvas) 85.38 KB @sentry/browser (incl. Tracing, Replay, Feedback) 97.34 KB @sentry/browser (incl. Feedback) 41.59 KB @sentry/browser (incl. sendFeedback) 29.74 KB @sentry/browser (incl. FeedbackAsync) 34.62 KB @sentry/browser (incl. Metrics) 26.44 KB @sentry/browser (incl. Logs) 26.57 KB @sentry/browser (incl. Metrics & Logs) 27.24 KB @sentry/react 26.89 KB @sentry/react (incl. Tracing) 44.81 KB @sentry/vue 29.89 KB @sentry/vue (incl. Tracing) 44.38 KB @sentry/svelte 25.2 KB CDN Bundle 27.79 KB CDN Bundle (incl. Tracing) 43.64 KB CDN Bundle (incl. Logs, Metrics) 29.13 KB CDN Bundle (incl. Tracing, Logs, Metrics) 44.7 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.12 KB CDN Bundle (incl. Tracing, Replay) 79.74 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 80.79 KB CDN Bundle (incl. Tracing, Replay, Feedback) 85.13 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 86.17 KB CDN Bundle - uncompressed 81.17 KB CDN Bundle (incl. Tracing) - uncompressed 130.51 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 85.22 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 133.84 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 205.7 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 244.99 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 248.31 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 257.6 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 260.91 KB @sentry/nextjs (client) 47.28 KB @sentry/sveltekit (client) 43.02 KB @sentry/node-core 56.58 KB @sentry/node 170.68 KB @sentry/node - without tracing 95.57 KB @sentry/aws-serverless 112.42 KB Release notes
Open source โImportant Changes
-
feat(browser): Add View Hierarchy integration (#14981)
A new
viewHierarchyIntegrationcaptures the DOM structure when an error occurs, providing a snapshot of the page state for debugging. Enable it in your Sentry configuration:import * as Sentry from '@sentry/browser'; Sentry.init({ dsn: '__DSN__', integrations: [Sentry.viewHierarchyIntegration()], }); -
feat(cloudflare): Split alarms into multiple traces and link them (#19373)
Durable Object alarms now create separate traces for each alarm invocation, with proper linking between related alarms for better observability.
-
feat(cloudflare): Enable RPC trace propagation with
enableRpcTracePropagation(#19991, #20345)A new
enableRpcTracePropagationoption enables automatic trace propagation for Cloudflare RPC calls via.fetch(), ensuring distributed traces flow correctly across service bindings. -
feat(core): Add
enableTruncationoption to AI integrations (#20167, #20181, #20182, #20183, #20184)All AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, LangGraph) now support an
enableTruncationoption to control whether large AI inputs/outputs are truncated. -
feat(opentelemetry): Vendor
AsyncLocalStorageContextManager(#20243)The OpenTelemetry context manager is now vendored internally, reducing external dependencies and ensuring consistent behavior across environments.
Other Changes
- feat(core): Export a reusable function to add tracing headers (#20076)
- feat(core): Expose
rewriteSourcestop level option (#20142) - feat(deps): bump defu from 6.1.4 to 6.1.6 (#20104)
- feat(node-native): Add support for V8 v14 (Node v25+) (#20125)
- feat(node): Include global scope for
eventLoopBlockIntegration(#20108) - fix(core, node): Support loading Express options lazily (#20211)
- fix(core): Set
conversation_idonly ongen_aispans (#20274) - fix(core): Use
ai.operationIdfor Vercel AI V6 operation name mapping (#20285) - fix(deno): Avoid inferring invalid span op from Deno tracer (#20128)
- fix(deno): Handle
reader.closedrejection fromreleaseLock()in streaming (#20187) - fix(nextjs): Preserve directive prologues in turbopack loaders (#20103)
- fix(nextjs): Skip custom browser tracing setup for bot user agents (#20263)
- fix(opentelemetry): Use WeakRef for context stored on scope to prevent memory leak (#20328)
- fix(replay): Use live click attributes in breadcrumbs (#20262)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add PR review reminder workflow (#20175)
- chore: Fix lint warnings (#20250)
- chore(bugbot): Add rules to flag test-flake-provoking patterns (#20192)
- chore(ci): Bump actions/cache to v5 and actions/download-artifact to v7 (#20249)
- chore(ci): Bump dorny/paths-filter from v3.0.1 to v4.0.1 (#20251)
- chore(ci): Remove codecov steps from jobs that produce no coverage/JUnit data (#20244)
- chore(ci): Remove craft changelog preview (#20271)
- chore(ci): Remove node-overhead GitHub Action (#20246)
- chore(ci): Replace pr-labels-action with native GitHub expressions (#20252)
- chore(ci): Skip flaky issue creation for optional tests (#20288)
- chore(deps-dev): Bump @sveltejs/kit from 2.53.3 to 2.57.1 (#20216)
- chore(deps-dev): Bump vite from 7.2.0 to 7.3.2 in /dev-packages/e2e-tests/test-applications/tanstackstart-react (#20107)
- chore(deps): Bump axios from 1.13.5 to 1.15.0 (#20180)
- chore(deps): Bump axios from 1.13.5 to 1.15.0 in /dev-packages/e2e-tests/test-applications/nestjs-basic (#20179)
- chore(deps): Bump hono from 4.12.7 to 4.12.12 (#20118)
- chore(deps): Bump hono from 4.12.7 to 4.12.12 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#20119)
- chore(deps): Bump next from 16.1.7 to 16.2.3 in nextjs-16-cf-workers (#20289)
- chore(size-limit): Bump failing size limit scenario (#20186)
- ci: Add automatic flaky test detector (#18684)
- ci: Extract test names for flaky test issues (#20298)
- ci: Remove Docker container for Verdaccio package publishing (#20329)
- fix(ci): Prevent command injection in ci-metadata workflow (#19899)
- fix(e2e-tests): Remove flaky navigation breadcrumb assertions from parameterized-routes tests (#20202)
- fix(e2e): Add op check to waitForTransaction in React Router e2e tests (#20193)
- fix(node-integration-tests): Fix flaky kafkajs test race condition (#20189)
- ref(core): Add registry in Vercel ai integration (#20098)
- ref(core): Automatically disable truncation when span streaming is enabled in Anthropic AI integration (#20228)
- ref(core): Automatically disable truncation when span streaming is enabled in Google GenAI integration (#20229)
- ref(core): Automatically disable truncation when span streaming is enabled in LangChain integration (#20230)
- ref(core): Automatically disable truncation when span streaming is enabled in LangGraph integration (#20231)
- ref(core): Automatically disable truncation when span streaming is enabled in OpenAI integration (#20227)
- ref(core): Automatically disable truncation when span streaming is enabled in Vercel AI integration (#20232)
- ref(core): Merge embeddings operations constants (#20095)
- ref(core): Remove unused constants from vercel-ai-attributes.ts (#20096)
- ref(nextjs): Refactor
findInjectionIndexAfterDirectivesfor better readability (#20310) - ref(opentelemetry): Replace
@opentelemetry/resourceswith inlinegetSentryResource()(#20327) - test: Fix flaky ANR test by increasing blocking duration (#20239)
- test(bun): Add bun integration test folder (#20286)
- test(cloudflare): Skip flaky durableobject-spans test (#20282)
- test(openai): Use multi-message scenario in no-truncation test (#20194)
- test(react): Remove duplicated test mock (#20200)
- tests(ai): Fix streaming+truncation integration tests across AI integrations (#20326)
</details>
-
- 10.48.09 Apr 2026
Release notes
Open source โImportant Changes
-
feat(aws-serverless): Ship Lambda extension in npm package for container image Lambdas (#20133)
The Sentry Lambda extension is now included in the npm package, enabling container image-based Lambda functions to use it. Copy the extension files into your Docker image and set the
tunneloption:RUN mkdir -p /opt/sentry-extension COPY node_modules/@sentry/aws-serverless/build/lambda-extension/sentry-extension /opt/extensions/sentry-extension COPY node_modules/@sentry/aws-serverless/build/lambda-extension/index.mjs /opt/sentry-extension/index.mjs RUN chmod +x /opt/extensions/sentry-extension /opt/sentry-extension/index.mjsSentry.init({ dsn: '__DSN__', tunnel: 'http://localhost:9000/envelope', });This works with any Sentry SDK (
@sentry/aws-serverless,@sentry/sveltekit,@sentry/node, etc.). -
feat(cloudflare): Support basic WorkerEntrypoint (#19884)
withSentrynow supports instrumenting classes extending Cloudflare'sWorkerEntrypoint. This instrumentsfetch,scheduled,queue, andtailhandlers.import * as Sentry from '@sentry/cloudflare'; import { WorkerEntrypoint } from 'cloudflare:workers'; class MyWorker extends WorkerEntrypoint { async fetch(request: Request): Promise<Response> { return new Response('Hello World!'); } } export default Sentry.withSentry(env => ({ dsn: env.SENTRY_DSN, tracesSampleRate: 1.0 }), MyWorker); -
ref(core): Unify .do* span ops to
gen_ai.generate_content(#20074)All Vercel AI
do*spans (ai.generateText.doGenerate,ai.streamText.doStream,ai.generateObject.doGenerate,ai.streamObject.doStream) now use a single unified span opgen_ai.generate_contentinstead of separate ops likegen_ai.generate_text,gen_ai.stream_text,gen_ai.generate_object, andgen_ai.stream_object. -
ref(core): Remove provider-specific AI span attributes in favor of
gen_aiattributes in sentry conventions (#20011)The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized
gen_ai.*equivalents instead:Removed attribute Replacement openai.response.idgen_ai.response.idopenai.response.modelgen_ai.response.modelopenai.usage.prompt_tokensgen_ai.usage.input_tokensopenai.usage.completion_tokensgen_ai.usage.output_tokensopenai.response.timestamp(removed, no replacement) anthropic.response.timestamp(removed, no replacement) If you reference these attributes in hooks (e.g.
beforeSendTransaction), update them to thegen_ai.*equivalents. -
feat(core): Support embeddings in LangChain (#20017)
Adds instrumentation for LangChain embeddings (
embedQuery,embedDocuments), creatinggen_ai.embeddingsspans. In Node.js, embedding classes from@langchain/openai,@langchain/google-genai,@langchain/mistralai, and@langchain/google-vertexaiare auto-instrumented. For other runtimes, use the newinstrumentLangChainEmbeddingsAPI:import * as Sentry from '@sentry/cloudflare'; import { OpenAIEmbeddings } from '@langchain/openai'; const embeddings = Sentry.instrumentLangChainEmbeddings(new OpenAIEmbeddings({ model: 'text-embedding-3-small' })); await embeddings.embedQuery('Hello world');
Other Changes
- feat(core): Support registerTool/registerResource/registerPrompt in MCP integration (#20071)
- feat(core, node): Portable Express integration (#19928)
- feat(deno): Add
denoRuntimeMetricsIntegration(#20023) - feat(deps): Bump bundler plugins to
5.2.0(#20122) - feat(deps): bump @hapi/content from 6.0.0 to 6.0.1 (#20102)
- feat(node, bun): Enforce minimum collection interval in runtime metrics integrations (#20068)
- feat(nuxt): Exclude tracing meta tags on cached pages in Nuxt 5 (#20168)
- feat(react-router): Export
sentryOnError(#20120) - fix(aws-serverless): Add timeout to _endSpan forceFlush to prevent Lambda hanging (#20064)
- fix(cloudflare): Ensure every request instruments functions (#20044)
- fix(core): Only attach
flagscontext to error events (#20116) - fix(core): Replace regex with string check in stack parser to prevent main thread blocking (#20089)
- fix(core): set span.status to error when MCP tool returns JSON-RPC error response (#20082)
- fix(gatsby): Fix errorHandler signature to match bundler-plugin-core API (#20048)
- ref(core): Do not emit spans for chats.create in google-genai (#19990)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Remove unused
tsconfig-templatefolder (#20067) - chore: Update validate-pr workflow (#20072)
- chore(deps-dev): Bump effect from 3.20.0 to 3.21.0 (#19999)
- chore(deps): Bump @xmldom/xmldom from 0.8.3 to 0.8.12 (#20066)
- chore(deps): Bump lodash.template from 4.5.0 to 4.18.1 (#20085)
- chore(oxlint): Add typeawareness into oxlintrc (#20075)
- ci(deps): Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.24.1 to 2.25.2 (#20081)
- ci(deps): Bump
mshick/add-pr-comment(#20078) - ref(core): Extract shared endStreamSpan for AI integrations (#20021)
- ref(core): Simplify addResponseAttributes in openai integration (#20013)
- test(angular): Bump TypeScript to ~6.0.0 in angular-21 E2E test app (#20134)
- test(nuxt): Make Nuxt 5 (nightly) E2E optional (#20113)
- tests(node): Add node integration tests for Vercel
ToolLoopAgent(#20087)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.12 KB @sentry/browser - with treeshaking flags 23.65 KB @sentry/browser (incl. Tracing) 41.7 KB @sentry/browser (incl. Tracing, Profiling) 46.21 KB @sentry/browser (incl. Tracing, Replay) 79.6 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.42 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84.2 KB @sentry/browser (incl. Tracing, Replay, Feedback) 96.12 KB @sentry/browser (incl. Feedback) 41.51 KB @sentry/browser (incl. sendFeedback) 29.67 KB @sentry/browser (incl. FeedbackAsync) 34.55 KB @sentry/browser (incl. Metrics) 26.4 KB @sentry/browser (incl. Logs) 26.55 KB @sentry/browser (incl. Metrics & Logs) 27.2 KB @sentry/react 26.84 KB @sentry/react (incl. Tracing) 43.96 KB @sentry/vue 29.84 KB @sentry/vue (incl. Tracing) 43.51 KB @sentry/svelte 25.14 KB CDN Bundle 27.74 KB CDN Bundle (incl. Tracing) 42.69 KB CDN Bundle (incl. Logs, Metrics) 29.09 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.75 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.99 KB CDN Bundle (incl. Tracing, Replay) 78.71 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.71 KB CDN Bundle (incl. Tracing, Replay, Feedback) 84.12 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 85.13 KB CDN Bundle - uncompressed 81.05 KB CDN Bundle (incl. Tracing) - uncompressed 126.6 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 85.1 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 129.93 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 205.2 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 240.74 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 244.06 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 253.35 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 256.66 KB @sentry/nextjs (client) 46.33 KB @sentry/sveltekit (client) 42.15 KB @sentry/node-core 56.5 KB @sentry/node 170.69 KB @sentry/node - without tracing 95.65 KB @sentry/aws-serverless 112.5 KB Release notes
Open source โImportant Changes
-
feat(aws-serverless): Ship Lambda extension in npm package for container image Lambdas (#20133)
The Sentry Lambda extension is now included in the npm package, enabling container image-based Lambda functions to use it. Copy the extension files into your Docker image and set the
tunneloption:RUN mkdir -p /opt/sentry-extension COPY node_modules/@sentry/aws-serverless/build/lambda-extension/sentry-extension /opt/extensions/sentry-extension COPY node_modules/@sentry/aws-serverless/build/lambda-extension/index.mjs /opt/sentry-extension/index.mjs RUN chmod +x /opt/extensions/sentry-extension /opt/sentry-extension/index.mjsSentry.init({ dsn: '__DSN__', tunnel: 'http://localhost:9000/envelope', });This works with any Sentry SDK (
@sentry/aws-serverless,@sentry/sveltekit,@sentry/node, etc.). -
feat(cloudflare): Support basic WorkerEntrypoint (#19884)
withSentrynow supports instrumenting classes extending Cloudflare'sWorkerEntrypoint. This instrumentsfetch,scheduled,queue, andtailhandlers.import * as Sentry from '@sentry/cloudflare'; import { WorkerEntrypoint } from 'cloudflare:workers'; class MyWorker extends WorkerEntrypoint { async fetch(request: Request): Promise<Response> { return new Response('Hello World!'); } } export default Sentry.withSentry(env => ({ dsn: env.SENTRY_DSN, tracesSampleRate: 1.0 }), MyWorker); -
ref(core): Unify .do* span ops to
gen_ai.generate_content(#20074)All Vercel AI
do*spans (ai.generateText.doGenerate,ai.streamText.doStream,ai.generateObject.doGenerate,ai.streamObject.doStream) now use a single unified span opgen_ai.generate_contentinstead of separate ops likegen_ai.generate_text,gen_ai.stream_text,gen_ai.generate_object, andgen_ai.stream_object. -
ref(core): Remove provider-specific AI span attributes in favor of
gen_aiattributes in sentry conventions (#20011)The following provider-specific span attributes have been removed from the OpenAI and Anthropic AI integrations. Use the standardized
gen_ai.*equivalents instead:Removed attribute Replacement openai.response.idgen_ai.response.idopenai.response.modelgen_ai.response.modelopenai.usage.prompt_tokensgen_ai.usage.input_tokensopenai.usage.completion_tokensgen_ai.usage.output_tokensopenai.response.timestamp(removed, no replacement) anthropic.response.timestamp(removed, no replacement) If you reference these attributes in hooks (e.g.
beforeSendTransaction), update them to thegen_ai.*equivalents. -
feat(core): Support embeddings in LangChain (#20017)
Adds instrumentation for LangChain embeddings (
embedQuery,embedDocuments), creatinggen_ai.embeddingsspans. In Node.js, embedding classes from@langchain/openai,@langchain/google-genai,@langchain/mistralai, and@langchain/google-vertexaiare auto-instrumented. For other runtimes, use the newinstrumentLangChainEmbeddingsAPI:import * as Sentry from '@sentry/cloudflare'; import { OpenAIEmbeddings } from '@langchain/openai'; const embeddings = Sentry.instrumentLangChainEmbeddings(new OpenAIEmbeddings({ model: 'text-embedding-3-small' })); await embeddings.embedQuery('Hello world');
Other Changes
- feat(core): Support registerTool/registerResource/registerPrompt in MCP integration (#20071)
- feat(core, node): Portable Express integration (#19928)
- feat(deno): Add
denoRuntimeMetricsIntegration(#20023) - feat(deps): Bump bundler plugins to
5.2.0(#20122) - feat(deps): bump @hapi/content from 6.0.0 to 6.0.1 (#20102)
- feat(node, bun): Enforce minimum collection interval in runtime metrics integrations (#20068)
- feat(nuxt): Exclude tracing meta tags on cached pages in Nuxt 5 (#20168)
- feat(react-router): Export
sentryOnError(#20120) - fix(aws-serverless): Add timeout to _endSpan forceFlush to prevent Lambda hanging (#20064)
- fix(cloudflare): Ensure every request instruments functions (#20044)
- fix(core): Only attach
flagscontext to error events (#20116) - fix(core): Replace regex with string check in stack parser to prevent main thread blocking (#20089)
- fix(core): set span.status to error when MCP tool returns JSON-RPC error response (#20082)
- fix(gatsby): Fix errorHandler signature to match bundler-plugin-core API (#20048)
- ref(core): Do not emit spans for chats.create in google-genai (#19990)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Remove unused
tsconfig-templatefolder (#20067) - chore: Update validate-pr workflow (#20072)
- chore(deps-dev): Bump effect from 3.20.0 to 3.21.0 (#19999)
- chore(deps): Bump @xmldom/xmldom from 0.8.3 to 0.8.12 (#20066)
- chore(deps): Bump lodash.template from 4.5.0 to 4.18.1 (#20085)
- chore(oxlint): Add typeawareness into oxlintrc (#20075)
- ci(deps): Bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.24.1 to 2.25.2 (#20081)
- ci(deps): Bump
mshick/add-pr-comment(#20078) - ref(core): Extract shared endStreamSpan for AI integrations (#20021)
- ref(core): Simplify addResponseAttributes in openai integration (#20013)
- test(angular): Bump TypeScript to ~6.0.0 in angular-21 E2E test app (#20134)
- test(nuxt): Make Nuxt 5 (nightly) E2E optional (#20113)
- tests(node): Add node integration tests for Vercel
ToolLoopAgent(#20087)
</details>
-
- 10.47.031 Mar 2026
Release notes
Open source โImportant Changes
-
feat(node-core): Add OTLP integration for node-core/light (#19729)
Added
otlpIntegrationat@sentry/node-core/light/otlpfor users who manage their own OpenTelemetry setup and want to send trace data to Sentry without adopting the full@sentry/nodeSDK.import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import * as Sentry from '@sentry/node-core/light'; import { otlpIntegration } from '@sentry/node-core/light/otlp'; const provider = new NodeTracerProvider(); provider.register(); Sentry.init({ dsn: '__DSN__', integrations: [ otlpIntegration({ // Export OTel spans to Sentry via OTLP (default: true) setupOtlpTracesExporter: true, }), ], });The integration links Sentry errors to OTel traces and exports spans to Sentry via OTLP.
-
feat(node, bun): Add runtime metrics integrations for Node.js and Bun (#19923, #19979)
New
nodeRuntimeMetricsIntegrationandbunRuntimeMetricsIntegrationautomatically collect runtime health metrics and send them to Sentry on a configurable interval (default: 30s). Collected metrics include memory (RSS, heap used/total), CPU utilization, event loop utilization, and process uptime. Node additionally collects event loop delay percentiles (p50, p99). Extra metrics like CPU time and external memory are available as opt-in.// Node.js import * as Sentry from '@sentry/node'; Sentry.init({ dsn: '...', integrations: [Sentry.nodeRuntimeMetricsIntegration()], }); // Bun import * as Sentry from '@sentry/bun'; Sentry.init({ dsn: '...', integrations: [Sentry.bunRuntimeMetricsIntegration()], }); -
feat(core): Support embedding APIs in google-genai (#19797)
Adds instrumentation for the Google GenAI
embedContentAPI, creatinggen_ai.embeddingsspans. -
feat(browser): Add
elementTimingIntegrationfor tracking element render and load times (#19869)The new
elementTimingIntegrationcaptures Element Timing API data as Sentry metrics. It emitselement_timing.render_timeandelement_timing.load_timedistribution metrics for elements annotated with theelementtimingHTML attribute.import * as Sentry from '@sentry/browser'; Sentry.init({ dsn: '__DSN__', integrations: [Sentry.browserTracingIntegration(), Sentry.elementTimingIntegration()], });<img src="hero.jpg" elementtiming="hero-image" />
Other Changes
- feat(nuxt): Add middleware instrumentation compatibility for Nuxt 5 (#19968)
- feat(nuxt): Support parametrized SSR routes in Nuxt 5 (#19977)
- feat(solid): Add route parametrization for Solid Router (#20031)
- fix(core): Guard nullish response in supabase PostgREST handler (#20033)
- fix(node): Deduplicate
sentry-traceandbaggageheaders on outgoing requests (#19960) - fix(node): Ensure startNewTrace propagates traceId in OTel environments (#19963)
- fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) (#20020)
- fix(opentelemetry): Convert seconds timestamps in span.end() to milliseconds (#19958)
- fix(profiling): Disable profiling in worker threads (#20040)
- fix(react-router): Disable debug ID injection in Vite plugin to prevent double injection (#19890)
- refactor(browser): Reduce browser package bundle size (#19856)
- feat(deps): Bump OpenTelemetry dependencies (#20046)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add shared validate-pr composite action (#20025)
- chore: Update validate-pr action to latest version (#20027)
- chore(deps): Bump @apollo/server from 5.4.0 to 5.5.0 (#20007)
- chore(deps): Bump amqplib from 0.10.7 to 0.10.9 (#20000)
- chore(deps): Bump srvx from 0.11.12 to 0.11.13 (#20001)
- chore(deps-dev): Bump node-forge from 1.3.2 to 1.4.0 (#20012)
- chore(deps-dev): Bump yaml from 2.8.2 to 2.8.3 (#19985)
- ci(deps): Bump actions/upload-artifact from 6 to 7 (#19569)
- docs(release): Update publishing-a-release.md (#19982)
- feat(deps): Bump babel-loader from 10.0.0 to 10.1.1 (#19997)
- feat(deps): Bump handlebars from 4.7.7 to 4.7.9 (#20008)
- fix(browser-tests): Pin axios to 1.13.5 to avoid compromised 1.14.1 (#20047)
- fix(ci): Update validate-pr action to remove draft enforcement (#20035)
- fix(ci): Update validate-pr action to remove draft enforcement (#20037)
- fix(e2e): Pin @opentelemetry/api to 1.9.0 in ts3.8 test app (#19992)
- ref(browser-tests): Add waitForMetricRequest helper (#20002)
- ref(core): Consolidate getOperationName into one shared utility (#19971)
- ref(core): Introduce instrumented method registry for AI integrations (#19981)
- test(deno): Expand Deno E2E test coverage (#19957)
- test(e2e): Add e2e tests for
nodeRuntimeMetricsIntegration(#19989)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.04 KB @sentry/browser - with treeshaking flags 23.57 KB @sentry/browser (incl. Tracing) 41.16 KB @sentry/browser (incl. Tracing, Profiling) 45.67 KB @sentry/browser (incl. Tracing, Replay) 79.04 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.91 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.64 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.62 KB @sentry/browser (incl. Feedback) 41.42 KB @sentry/browser (incl. sendFeedback) 29.59 KB @sentry/browser (incl. FeedbackAsync) 34.46 KB @sentry/browser (incl. Metrics) 26.32 KB @sentry/browser (incl. Logs) 26.46 KB @sentry/browser (incl. Metrics & Logs) 27.12 KB @sentry/react 26.76 KB @sentry/react (incl. Tracing) 43.44 KB @sentry/vue 29.37 KB @sentry/vue (incl. Tracing) 43.02 KB @sentry/svelte 25.06 KB CDN Bundle 27.65 KB CDN Bundle (incl. Tracing) 42.09 KB CDN Bundle (incl. Logs, Metrics) 28.99 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.12 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.87 KB CDN Bundle (incl. Tracing, Replay) 78.13 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.14 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.54 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.55 KB CDN Bundle - uncompressed 80.72 KB CDN Bundle (incl. Tracing) - uncompressed 124.81 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 84.77 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 128.14 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 204.87 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 238.95 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 242.26 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.56 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.86 KB @sentry/nextjs (client) 45.79 KB @sentry/sveltekit (client) 41.62 KB @sentry/node-core 54.45 KB @sentry/node 168.93 KB @sentry/node - without tracing 93.76 KB @sentry/aws-serverless 110.13 KB Release notes
Open source โImportant Changes
-
feat(node-core): Add OTLP integration for node-core/light (#19729)
Added
otlpIntegrationat@sentry/node-core/light/otlpfor users who manage their own OpenTelemetry setup and want to send trace data to Sentry without adopting the full@sentry/nodeSDK.import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import * as Sentry from '@sentry/node-core/light'; import { otlpIntegration } from '@sentry/node-core/light/otlp'; const provider = new NodeTracerProvider(); provider.register(); Sentry.init({ dsn: '__DSN__', integrations: [ otlpIntegration({ // Export OTel spans to Sentry via OTLP (default: true) setupOtlpTracesExporter: true, }), ], });The integration links Sentry errors to OTel traces and exports spans to Sentry via OTLP.
-
feat(node, bun): Add runtime metrics integrations for Node.js and Bun (#19923, #19979)
New
nodeRuntimeMetricsIntegrationandbunRuntimeMetricsIntegrationautomatically collect runtime health metrics and send them to Sentry on a configurable interval (default: 30s). Collected metrics include memory (RSS, heap used/total), CPU utilization, event loop utilization, and process uptime. Node additionally collects event loop delay percentiles (p50, p99). Extra metrics like CPU time and external memory are available as opt-in.// Node.js import * as Sentry from '@sentry/node'; Sentry.init({ dsn: '...', integrations: [Sentry.nodeRuntimeMetricsIntegration()], }); // Bun import * as Sentry from '@sentry/bun'; Sentry.init({ dsn: '...', integrations: [Sentry.bunRuntimeMetricsIntegration()], }); -
feat(core): Support embedding APIs in google-genai (#19797)
Adds instrumentation for the Google GenAI
embedContentAPI, creatinggen_ai.embeddingsspans. -
feat(browser): Add
elementTimingIntegrationfor tracking element render and load times (#19869)The new
elementTimingIntegrationcaptures Element Timing API data as Sentry metrics. It emitselement_timing.render_timeandelement_timing.load_timedistribution metrics for elements annotated with theelementtimingHTML attribute.import * as Sentry from '@sentry/browser'; Sentry.init({ dsn: '__DSN__', integrations: [Sentry.browserTracingIntegration(), Sentry.elementTimingIntegration()], });<img src="hero.jpg" elementtiming="hero-image" />
Other Changes
- feat(nuxt): Add middleware instrumentation compatibility for Nuxt 5 (#19968)
- feat(nuxt): Support parametrized SSR routes in Nuxt 5 (#19977)
- feat(solid): Add route parametrization for Solid Router (#20031)
- fix(core): Guard nullish response in supabase PostgREST handler (#20033)
- fix(node): Deduplicate
sentry-traceandbaggageheaders on outgoing requests (#19960) - fix(node): Ensure startNewTrace propagates traceId in OTel environments (#19963)
- fix(nuxt): Use virtual module for Nuxt pages data (SSR route parametrization) (#20020)
- fix(opentelemetry): Convert seconds timestamps in span.end() to milliseconds (#19958)
- fix(profiling): Disable profiling in worker threads (#20040)
- fix(react-router): Disable debug ID injection in Vite plugin to prevent double injection (#19890)
- refactor(browser): Reduce browser package bundle size (#19856)
- feat(deps): Bump OpenTelemetry dependencies (#20046)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add shared validate-pr composite action (#20025)
- chore: Update validate-pr action to latest version (#20027)
- chore(deps): Bump @apollo/server from 5.4.0 to 5.5.0 (#20007)
- chore(deps): Bump amqplib from 0.10.7 to 0.10.9 (#20000)
- chore(deps): Bump srvx from 0.11.12 to 0.11.13 (#20001)
- chore(deps-dev): Bump node-forge from 1.3.2 to 1.4.0 (#20012)
- chore(deps-dev): Bump yaml from 2.8.2 to 2.8.3 (#19985)
- ci(deps): Bump actions/upload-artifact from 6 to 7 (#19569)
- docs(release): Update publishing-a-release.md (#19982)
- feat(deps): Bump babel-loader from 10.0.0 to 10.1.1 (#19997)
- feat(deps): Bump handlebars from 4.7.7 to 4.7.9 (#20008)
- fix(browser-tests): Pin axios to 1.13.5 to avoid compromised 1.14.1 (#20047)
- fix(ci): Update validate-pr action to remove draft enforcement (#20035)
- fix(ci): Update validate-pr action to remove draft enforcement (#20037)
- fix(e2e): Pin @opentelemetry/api to 1.9.0 in ts3.8 test app (#19992)
- ref(browser-tests): Add waitForMetricRequest helper (#20002)
- ref(core): Consolidate getOperationName into one shared utility (#19971)
- ref(core): Introduce instrumented method registry for AI integrations (#19981)
- test(deno): Expand Deno E2E test coverage (#19957)
- test(e2e): Add e2e tests for
nodeRuntimeMetricsIntegration(#19989)
</details>
-
- 10.46.025 Mar 2026
Release notes
Open source โImportant Changes
-
feat(elysia):
@sentry/elysia- Alpha Release (#19509)New Sentry SDK for the Elysia web framework, supporting both Bun and Node.js runtimes.
Note: This is an alpha release. Please report any issues or feedback on GitHub.
Features
- Automatic error capturing โ 5xx errors captured via global
onErrorhook; 3xx/4xx ignored by default. Customizable withshouldHandleError. - Automatic tracing โ Lifecycle spans for every Elysia phase (Request, Parse, Transform, BeforeHandle, Handle, AfterHandle, MapResponse, AfterResponse, Error) with parameterized route names (e.g.
GET /users/:id). - Distributed tracing โ
sentry-traceandbaggageheaders propagated automatically on incoming/outgoing requests.
Usage
import * as Sentry from '@sentry/elysia'; import { Elysia } from 'elysia'; Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0 }); const app = Sentry.withElysia(new Elysia()); app.get('/', () => 'Hello World'); app.listen(3000); - Automatic error capturing โ 5xx errors captured via global
Other Changes
- feat(nuxt): Conditionally use plugins based on Nitro version (v2/v3) (#19955)
- fix(cloudflare): Forward
ctxargument toWorkflow.douser callback (#19891) - fix(cloudflare): Send correct events in local development (#19900)
- fix(core): Do not overwrite user provided conversation id in Vercel (#19903)
- fix(core): Preserve
.withResponse()on Anthropic instrumentation (#19935) - fix(core): Send
internal_erroras span status for Vercel error spans (#19921) - fix(core): Truncate content array format in Vercel (#19911)
- fix(deps): bump fast-xml-parser to 5.5.8 in @azure/core-xml chain (#19918)
- fix(deps): bump socket.io-parser to 4.2.6 to fix CVE-2026-33151 (#19880)
- fix(nestjs): Add
nodeto nest metadata (#19875) - fix(serverless): Add node to metadata (#19878)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(ci): Fix "Gatbsy" typo in issue package label workflow (#19905)
- chore(claude): Enable Claude Code Intelligence (LSP) (#19930)
- chore(deps): bump mongodb-memory-server-global from 10.1.4 to 11.0.1 (#19888)
- chore(deps-dev): bump @react-router/node from 7.13.0 to 7.13.1 (#19544)
- chore(deps-dev): bump effect from 3.19.19 to 3.20.0 (#19926)
- chore(deps-dev): bump qunit-dom from 3.2.1 to 3.5.0 (#19546)
- chore(node-integration-tests): Remove unnecessary
file-typedependency (#19824) - chore(remix): Replace glob with native recursive fs walk (#19531)
- feat(deps): bump stacktrace-parser from 0.1.10 to 0.1.11 (#19887)
- fix(craft): Add missing mainDocsUrl for @sentry/effect SDK (#19860)
- fix(deps): bump next to 15.5.14 in nextjs-15 and nextjs-15-intl E2E test apps (#19917)
- fix(deps): update lockfile to resolve [email protected] (#19933)
- ref(core): Remove duplicate
buildMethodPathutility from openai (#19969) - ref(elysia): Drop
@elysiajs/opentelemetrydependency (#19947) - ref(nuxt): Extract core logic for storage/database to prepare for Nuxt v5 (#19920)
- ref(nuxt): Extract handler patching to extra plugin for Nitro v2/v3 (#19915)
- ref(sveltekit): Replace recast + @babel/parser with acorn (#19533)
- test(astro): Re-enable server island tracing e2e test in Astro 6 (#19872)
- test(cloudflare): Enable multi-worker tests for CF integration tests (#19938)
</details>
Work in this release was contributed by @roli-lpci. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 25.08 KB @sentry/browser - with treeshaking flags 23.6 KB @sentry/browser (incl. Tracing) 41.67 KB @sentry/browser (incl. Tracing, Profiling) 46.22 KB @sentry/browser (incl. Tracing, Replay) 79.57 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.4 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84.15 KB @sentry/browser (incl. Tracing, Replay, Feedback) 96.1 KB @sentry/browser (incl. Feedback) 41.48 KB @sentry/browser (incl. sendFeedback) 29.64 KB @sentry/browser (incl. FeedbackAsync) 34.57 KB @sentry/browser (incl. Metrics) 26.33 KB @sentry/browser (incl. Logs) 26.46 KB @sentry/browser (incl. Metrics & Logs) 27.13 KB @sentry/react 26.8 KB @sentry/react (incl. Tracing) 43.96 KB @sentry/vue 29.42 KB @sentry/vue (incl. Tracing) 43.48 KB @sentry/svelte 25.1 KB CDN Bundle 27.69 KB CDN Bundle (incl. Tracing) 42.55 KB CDN Bundle (incl. Logs, Metrics) 28.54 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.39 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.69 KB CDN Bundle (incl. Tracing, Replay) 78.52 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.4 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.96 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.82 KB CDN Bundle - uncompressed 80.76 KB CDN Bundle (incl. Tracing) - uncompressed 125.61 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.56 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 128.41 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 204.32 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.75 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 242.53 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 252.36 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 255.13 KB @sentry/nextjs (client) 46.29 KB @sentry/sveltekit (client) 42.11 KB @sentry/node-core 55.08 KB @sentry/node 169.44 KB @sentry/node - without tracing 94.16 KB @sentry/aws-serverless 110.78 KB Release notes
Open source โImportant Changes
-
feat(elysia):
@sentry/elysia- Alpha Release (#19509)New Sentry SDK for the Elysia web framework, supporting both Bun and Node.js runtimes.
Note: This is an alpha release. Please report any issues or feedback on GitHub.
Features
- Automatic error capturing โ 5xx errors captured via global
onErrorhook; 3xx/4xx ignored by default. Customizable withshouldHandleError. - Automatic tracing โ Lifecycle spans for every Elysia phase (Request, Parse, Transform, BeforeHandle, Handle, AfterHandle, MapResponse, AfterResponse, Error) with parameterized route names (e.g.
GET /users/:id). - Distributed tracing โ
sentry-traceandbaggageheaders propagated automatically on incoming/outgoing requests.
Usage
import * as Sentry from '@sentry/elysia'; import { Elysia } from 'elysia'; Sentry.init({ dsn: '__DSN__', tracesSampleRate: 1.0 }); const app = Sentry.withElysia(new Elysia()); app.get('/', () => 'Hello World'); app.listen(3000); - Automatic error capturing โ 5xx errors captured via global
Other Changes
- feat(nuxt): Conditionally use plugins based on Nitro version (v2/v3) (#19955)
- fix(cloudflare): Forward
ctxargument toWorkflow.douser callback (#19891) - fix(cloudflare): Send correct events in local development (#19900)
- fix(core): Do not overwrite user provided conversation id in Vercel (#19903)
- fix(core): Preserve
.withResponse()on Anthropic instrumentation (#19935) - fix(core): Send
internal_erroras span status for Vercel error spans (#19921) - fix(core): Truncate content array format in Vercel (#19911)
- fix(deps): bump fast-xml-parser to 5.5.8 in @azure/core-xml chain (#19918)
- fix(deps): bump socket.io-parser to 4.2.6 to fix CVE-2026-33151 (#19880)
- fix(nestjs): Add
nodeto nest metadata (#19875) - fix(serverless): Add node to metadata (#19878)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(ci): Fix "Gatbsy" typo in issue package label workflow (#19905)
- chore(claude): Enable Claude Code Intelligence (LSP) (#19930)
- chore(deps): bump mongodb-memory-server-global from 10.1.4 to 11.0.1 (#19888)
- chore(deps-dev): bump @react-router/node from 7.13.0 to 7.13.1 (#19544)
- chore(deps-dev): bump effect from 3.19.19 to 3.20.0 (#19926)
- chore(deps-dev): bump qunit-dom from 3.2.1 to 3.5.0 (#19546)
- chore(node-integration-tests): Remove unnecessary
file-typedependency (#19824) - chore(remix): Replace glob with native recursive fs walk (#19531)
- feat(deps): bump stacktrace-parser from 0.1.10 to 0.1.11 (#19887)
- fix(craft): Add missing mainDocsUrl for @sentry/effect SDK (#19860)
- fix(deps): bump next to 15.5.14 in nextjs-15 and nextjs-15-intl E2E test apps (#19917)
- fix(deps): update lockfile to resolve [email protected] (#19933)
- ref(core): Remove duplicate
buildMethodPathutility from openai (#19969) - ref(elysia): Drop
@elysiajs/opentelemetrydependency (#19947) - ref(nuxt): Extract core logic for storage/database to prepare for Nuxt v5 (#19920)
- ref(nuxt): Extract handler patching to extra plugin for Nitro v2/v3 (#19915)
- ref(sveltekit): Replace recast + @babel/parser with acorn (#19533)
- test(astro): Re-enable server island tracing e2e test in Astro 6 (#19872)
- test(cloudflare): Enable multi-worker tests for CF integration tests (#19938)
</details>
Work in this release was contributed by @roli-lpci. Thank you for your contributions!
Important Changes
-
feat(node): Add
nodeRuntimeMetricsIntegrationfor automatic Node.js runtime metrics (#19923)The new
nodeRuntimeMetricsIntegrationautomatically collects Node.js runtime health metrics and sends them to Sentry. Eight metrics are emitted by default every 30 seconds: memory (RSS, heap used/total), CPU utilization, event loop delay (p50, p99), event loop utilization, and process uptime. Additional metrics are available as opt-in.import * as Sentry from '@sentry/node'; Sentry.init({ dsn: '...', integrations: [Sentry.nodeRuntimeMetricsIntegration()], });
-
- 10.45.019 Mar 2026
Release notes
Open source โImportant Changes
-
feat(remix): Server Timing Headers Trace Propagation (#18653)
The Remix SDK now supports automatic trace propagation via
Server-Timingresponse headers to continue pageload traces on the client side. This means, you no longer have to define a custommetafunction to add Sentry<meta>tags to your page as previously. We'll update out Remix tracing docs after this release.
Other Changes
- fix(cloudflare): Use correct env types for
withSentry(#19836) - fix(core): Align error span status message with core
SpanStatusTypefor langchain/google-genai (#19863) - fix(deno): Clear pre-existing OTel global before registering TracerProvider (#19723)
- fix(nextjs): Skip tracing for tunnel requests (#19861)
- fix(node-core): Recycle propagationContext for each request (#19835)
- ref(core): Simplify core utility functions for smaller bundle (#19854)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps): bump next from 16.1.5 to 16.1.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#19851)
- ci(release): Switch from action-prepare-release to Craft (#18763)
- fix(deps): bump devalue 5.6.3 to 5.6.4 to fix CVE-2026-30226 (#19849)
- fix(deps): bump file-type to 21.3.2 and @nestjs/common to 11.1.17 (#19847)
- fix(deps): bump flatted 3.3.1 to 3.4.2 to fix CVE-2026-32141 (#19842)
- fix(deps): bump hono 4.12.5 to 4.12.7 in cloudflare-hono E2E test app (#19850)
- fix(deps): bump next to 15.5.13/16.1.7 to fix CVE-2026-1525, CVE-202-33036 and related (#19870)
- fix(deps): bump tar 7.5.10 to 7.5.11 to fix CVE-2026-31802 (#19846)
- fix(deps): bump undici 6.23.0 to 6.24.1 to fix multiple CVEs (#19841)
- fix(deps): bump unhead 2.1.4 to 2.1.12 to fix CVE-2026-31860 and CVE-2026-31873 (#19848)
- test(nextjs): Skip broken ISR tests (#19871)
- test(react): Add gql tests for react router (#19844)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.93 KB @sentry/browser - with treeshaking flags 23.47 KB @sentry/browser (incl. Tracing) 41.51 KB @sentry/browser (incl. Tracing, Profiling) 46.07 KB @sentry/browser (incl. Tracing, Replay) 79.41 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.22 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.97 KB @sentry/browser (incl. Feedback) 41.35 KB @sentry/browser (incl. sendFeedback) 29.49 KB @sentry/browser (incl. FeedbackAsync) 34.43 KB @sentry/browser (incl. Metrics) 26.18 KB @sentry/browser (incl. Logs) 26.32 KB @sentry/browser (incl. Metrics & Logs) 26.99 KB @sentry/react 26.66 KB @sentry/react (incl. Tracing) 43.81 KB @sentry/vue 29.29 KB @sentry/vue (incl. Tracing) 43.34 KB @sentry/svelte 24.95 KB CDN Bundle 27.54 KB CDN Bundle (incl. Tracing) 42.37 KB CDN Bundle (incl. Logs, Metrics) 28.39 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.22 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.52 KB CDN Bundle (incl. Tracing, Replay) 78.35 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.24 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.77 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.64 KB CDN Bundle - uncompressed 80.39 KB CDN Bundle (incl. Tracing) - uncompressed 125.24 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.19 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 128.04 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.92 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.35 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 242.14 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.96 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.74 KB @sentry/nextjs (client) 46.17 KB @sentry/sveltekit (client) 41.95 KB @sentry/node-core 54.96 KB @sentry/node 169.14 KB @sentry/node - without tracing 94 KB @sentry/aws-serverless 110.61 KB Release notes
Open source โImportant Changes
-
feat(remix): Server Timing Headers Trace Propagation (#18653)
The Remix SDK now supports automatic trace propagation via
Server-Timingresponse headers to continue pageload traces on the client side. This means, you no longer have to define a custommetafunction to add Sentry<meta>tags to your page as previously. We'll update out Remix tracing docs after this release.
Other Changes
- fix(cloudflare): Use correct env types for
withSentry(#19836) - fix(core): Align error span status message with core
SpanStatusTypefor langchain/google-genai (#19863) - fix(deno): Clear pre-existing OTel global before registering TracerProvider (#19723)
- fix(nextjs): Skip tracing for tunnel requests (#19861)
- fix(node-core): Recycle propagationContext for each request (#19835)
- ref(core): Simplify core utility functions for smaller bundle (#19854)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps): bump next from 16.1.5 to 16.1.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#19851)
- ci(release): Switch from action-prepare-release to Craft (#18763)
- fix(deps): bump devalue 5.6.3 to 5.6.4 to fix CVE-2026-30226 (#19849)
- fix(deps): bump file-type to 21.3.2 and @nestjs/common to 11.1.17 (#19847)
- fix(deps): bump flatted 3.3.1 to 3.4.2 to fix CVE-2026-32141 (#19842)
- fix(deps): bump hono 4.12.5 to 4.12.7 in cloudflare-hono E2E test app (#19850)
- fix(deps): bump next to 15.5.13/16.1.7 to fix CVE-2026-1525, CVE-202-33036 and related (#19870)
- fix(deps): bump tar 7.5.10 to 7.5.11 to fix CVE-2026-31802 (#19846)
- fix(deps): bump undici 6.23.0 to 6.24.1 to fix multiple CVEs (#19841)
- fix(deps): bump unhead 2.1.4 to 2.1.12 to fix CVE-2026-31860 and CVE-2026-31873 (#19848)
- test(nextjs): Skip broken ISR tests (#19871)
- test(react): Add gql tests for react router (#19844)
</details>
-
- 10.44.017 Mar 2026
Release notes
Open source โImportant Changes
-
feat(effect): Add
@sentry/effectSDK (Alpha) (#19644)This release introduces
@sentry/effect, a new SDK for Effect.ts applications. The SDK provides Sentry integration via composable Effect layers for both Node.js and browser environments.Compose the
effectLayerwith optional tracing, logging, and metrics layers to instrument your Effect application:import * as Sentry from '@sentry/effect'; import * as Layer from 'effect/Layer'; import * as Logger from 'effect/Logger'; const SentryLive = Layer.mergeAll( Sentry.effectLayer({ dsn: '__DSN__', tracesSampleRate: 1.0, enableLogs: true }), Layer.setTracer(Sentry.SentryEffectTracer), Logger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger), Sentry.SentryEffectMetricsLayer, );Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(astro): Add Astro 6 support (#19745)
This release enables full support for Astro v6 by adjusting our Astro SDK's middleware to some Astro-internal changes. We cannot yet guarantee full support for server-islands, due to a bug in Astro v6 but we'll follow up on this once the bug is fixed.
-
feat(hono): Add basic instrumentation for Node runtime (#19817)
Adds a new package
@sentry/hono/node(alpha) with basic instrumentation for Hono applications running in Node.js. The Hono middleware for Cloudflare (@sentry/hono/cloudflare- alpha) comes with fixes, and it's now possible to access the Cloudflare Worker Bindings (env) from the options' callback.Start using the new Hono middlewares by installing
@sentry/honoand importing the respective middleware for your runtime. More instructions can be found in the Hono readme.Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(nestjs): Instrument
@nestjs/bullmq@Processordecorator (#19759)Automatically capture exceptions and create transactions for BullMQ queue processors in NestJS applications.
When using the
@Processordecorator from@nestjs/bullmq, the SDK now automatically wraps theprocess()method to createqueue.processtransactions with proper isolation scopes, preventing breadcrumb and scope leakage between jobs and HTTP requests. Errors thrown in processors are captured with theauto.queue.nestjs.bullmqmechanism type.Requires
@nestjs/bullmqv10.0.0 or later. -
feat(nestjs): Instrument
@nestjs/scheduledecorators (#19735)Automatically capture exceptions thrown in
@Cron,@Interval, and@Timeoutdecorated methods.Previously, exceptions in
@Cronmethods were only captured if you used theSentryCrondecorator. Now they are captured automatically. The exception mechanism type changed fromauto.cron.nestjs.asynctoauto.function.nestjs.cron. If you have Sentry queries or alerts that filter on the old mechanism type, update them accordingly. -
feat(node): Expose
headersToSpanAttributesoption onnativeNodeFetchIntegration()(#19770)Response headers like
http.response.header.content-lengthwere previously captured automatically on outgoing fetch spans but are now opt-in since@opentelemetry/[email protected]. You can now configure which headers to capture via theheadersToSpanAttributesoption.Sentry.init({ integrations: [ Sentry.nativeNodeFetchIntegration({ headersToSpanAttributes: { requestHeaders: ['x-custom-header'], responseHeaders: ['content-length', 'content-type'], }, }), ], });
Other Changes
- feat(browser/cloudflare): Export conversation id from browser and cloudflare runtimes (#19820)
- feat(bun): Set http response header attributes instead of response context headers (#19821)
- feat(core): Add
sentry.timestamp.sequenceattribute for timestamp tie-breaking (#19421) - feat(deno): Set http response header attributes instead of response context headers (#19822)
- feat(deps): Bump OpenTelemetry dependencies (#19682)
- feat(nestjs): Use more specific span origins for NestJS guards, pipes, interceptors, and exception filters (#19751)
- feat(nextjs): Vercel queue instrumentation (#19799)
- feat(node): Avoid OTEL instrumentation for outgoing requests on Node 22+ (#17355)
- feat(deps): bump hono from 4.12.5 to 4.12.7 (#19747)
- feat(deps): bump mysql2 from 3.14.4 to 3.19.1 (#19787)
- feat(deps): bump simple-git from 3.30.0 to 3.33.0 (#19744)
- feat(deps): bump yauzl from 3.2.0 to 3.2.1 (#19809)
- fix(browser): Skip browserTracingIntegration setup for bot user agents (#19708)
- fix(cloudflare): Recreate client when previous one was disposed (#19727)
- fix(core): Align Vercel embedding spans with semantic conventions (#19795)
- fix(core): Fallback to
sendDefaultPiisetting in langchain and langgraph in non-node environments (#19813) - fix(core): Improve Vercel AI SDK instrumentation attributes (#19717)
- fix(hono): Align error mechanism (#19831)
- fix(hono): Allow passing env and fix type issues (#19825)
- fix(nestjs): Fork isolation scope in
@nestjs/event-emitterinstrumentation (#19725) - fix(nextjs): Log correct
lastEventIdwhen error is thrown in component render (#19764) - fix(nextjs): Strip sourceMappingURL comments after deleting source maps in turbopack builds (#19814)
- fix(nuxt): Upload client source maps (#19805)
- fix(profiling-node): Fix NODE_VERSION rendered as [object Object] in warning (#19788)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add oxlint migration commits to blame ignore (#19784)
- chore: add oxlint typescript program suppression to workspace settings (#19692)
- chore: Bump oxlint and oxfmt (#19771)
- chore: Clean up lint and format script names (#19719)
- chore(agents): Be more explicit on linting and formatting (#19803)
- chore(ci): Extract metadata workflow (#19680)
- chore(deps): bump tedious from 18.6.1 to 19.2.1 (#19786)
- chore(deps-dev): bump file-type from 20.5.0 to 21.3.1 (#19748)
- chore(effect): Add Effect to craft, README and issue templates (#19837)
- chore(lint): Rule adjustments and fix warnings (#19612)
- chore(skills): Add
skill-creatorand update managed agent skills (#19713) - docs(changelog): Add entry for
@sentry/honoalpha release (#19828) - docs(hono): Document usage without
"*"(#19756) - docs(new-release): Document
sdkNamefor craft (#19736) - docs(new-release): Update docs based on new Craft flow (#19731)
- ref(cloudflare): Prepare for WorkerEntrypoint (#19742)
- ref(nestjs): Move event instrumentation unit tests to separate file (#19738)
- style: Auto changes made from "yarn fix" (#19710)
- test(astro,cloudflare): Add an E2E test for Astro 6 on Cloudflare (#19781)
- test(browser): Add simulated mfe integration test (#19768)
- test(e2e): Add MFE e2e test using
vite-plugin-federation(#19778) - test(nextjs): Add vercel queue tests to next-16 (#19798)
- tests(core): Fix flaky metric sequence number test (#19754)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.04 KB @sentry/browser - with treeshaking flags 23.57 KB @sentry/browser (incl. Tracing) 41.62 KB @sentry/browser (incl. Tracing, Profiling) 46.17 KB @sentry/browser (incl. Tracing, Replay) 79.51 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.33 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84.11 KB @sentry/browser (incl. Tracing, Replay, Feedback) 96.07 KB @sentry/browser (incl. Feedback) 41.45 KB @sentry/browser (incl. sendFeedback) 29.6 KB @sentry/browser (incl. FeedbackAsync) 34.53 KB @sentry/browser (incl. Metrics) 26.29 KB @sentry/browser (incl. Logs) 26.43 KB @sentry/browser (incl. Metrics & Logs) 27.09 KB @sentry/react 26.75 KB @sentry/react (incl. Tracing) 43.9 KB @sentry/vue 29.38 KB @sentry/vue (incl. Tracing) 43.44 KB @sentry/svelte 25.06 KB CDN Bundle 27.62 KB CDN Bundle (incl. Tracing) 42.49 KB CDN Bundle (incl. Logs, Metrics) 28.46 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.32 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.61 KB CDN Bundle (incl. Tracing, Replay) 78.45 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.86 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.74 KB CDN Bundle - uncompressed 80.69 KB CDN Bundle (incl. Tracing) - uncompressed 125.55 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.49 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 128.35 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 204.22 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.66 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 242.45 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 252.27 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 255.05 KB @sentry/nextjs (client) 46.26 KB @sentry/sveltekit (client) 42.06 KB @sentry/node-core 55.03 KB @sentry/node 169.1 KB @sentry/node - without tracing 94.09 KB @sentry/aws-serverless 110.68 KB Release notes
Open source โImportant Changes
-
feat(effect): Add
@sentry/effectSDK (Alpha) (#19644)This release introduces
@sentry/effect, a new SDK for Effect.ts applications. The SDK provides Sentry integration via composable Effect layers for both Node.js and browser environments.Compose the
effectLayerwith optional tracing, logging, and metrics layers to instrument your Effect application:import * as Sentry from '@sentry/effect'; import * as Layer from 'effect/Layer'; import * as Logger from 'effect/Logger'; const SentryLive = Layer.mergeAll( Sentry.effectLayer({ dsn: '__DSN__', tracesSampleRate: 1.0, enableLogs: true }), Layer.setTracer(Sentry.SentryEffectTracer), Logger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger), Sentry.SentryEffectMetricsLayer, );Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(astro): Add Astro 6 support (#19745)
This release enables full support for Astro v6 by adjusting our Astro SDK's middleware to some Astro-internal changes. We cannot yet guarantee full support for server-islands, due to a bug in Astro v6 but we'll follow up on this once the bug is fixed.
-
feat(hono): Add basic instrumentation for Node runtime (#19817)
Adds a new package
@sentry/hono/node(alpha) with basic instrumentation for Hono applications running in Node.js. The Hono middleware for Cloudflare (@sentry/hono/cloudflare- alpha) comes with fixes, and it's now possible to access the Cloudflare Worker Bindings (env) from the options' callback.Start using the new Hono middlewares by installing
@sentry/honoand importing the respective middleware for your runtime. More instructions can be found in the Hono readme.Alpha features are still in progress, may have bugs and might include breaking changes. Please reach out on GitHub if you have any feedback or concerns.
-
feat(nestjs): Instrument
@nestjs/bullmq@Processordecorator (#19759)Automatically capture exceptions and create transactions for BullMQ queue processors in NestJS applications.
When using the
@Processordecorator from@nestjs/bullmq, the SDK now automatically wraps theprocess()method to createqueue.processtransactions with proper isolation scopes, preventing breadcrumb and scope leakage between jobs and HTTP requests. Errors thrown in processors are captured with theauto.queue.nestjs.bullmqmechanism type.Requires
@nestjs/bullmqv10.0.0 or later. -
feat(nestjs): Instrument
@nestjs/scheduledecorators (#19735)Automatically capture exceptions thrown in
@Cron,@Interval, and@Timeoutdecorated methods.Previously, exceptions in
@Cronmethods were only captured if you used theSentryCrondecorator. Now they are captured automatically. The exception mechanism type changed fromauto.cron.nestjs.asynctoauto.function.nestjs.cron. If you have Sentry queries or alerts that filter on the old mechanism type, update them accordingly. -
feat(node): Expose
headersToSpanAttributesoption onnativeNodeFetchIntegration()(#19770)Response headers like
http.response.header.content-lengthwere previously captured automatically on outgoing fetch spans but are now opt-in since@opentelemetry/[email protected]. You can now configure which headers to capture via theheadersToSpanAttributesoption.Sentry.init({ integrations: [ Sentry.nativeNodeFetchIntegration({ headersToSpanAttributes: { requestHeaders: ['x-custom-header'], responseHeaders: ['content-length', 'content-type'], }, }), ], });
Other Changes
- feat(browser/cloudflare): Export conversation id from browser and cloudflare runtimes (#19820)
- feat(bun): Set http response header attributes instead of response context headers (#19821)
- feat(core): Add
sentry.timestamp.sequenceattribute for timestamp tie-breaking (#19421) - feat(deno): Set http response header attributes instead of response context headers (#19822)
- feat(deps): Bump OpenTelemetry dependencies (#19682)
- feat(nestjs): Use more specific span origins for NestJS guards, pipes, interceptors, and exception filters (#19751)
- feat(nextjs): Vercel queue instrumentation (#19799)
- feat(node): Avoid OTEL instrumentation for outgoing requests on Node 22+ (#17355)
- feat(deps): bump hono from 4.12.5 to 4.12.7 (#19747)
- feat(deps): bump mysql2 from 3.14.4 to 3.19.1 (#19787)
- feat(deps): bump simple-git from 3.30.0 to 3.33.0 (#19744)
- feat(deps): bump yauzl from 3.2.0 to 3.2.1 (#19809)
- fix(browser): Skip browserTracingIntegration setup for bot user agents (#19708)
- fix(cloudflare): Recreate client when previous one was disposed (#19727)
- fix(core): Align Vercel embedding spans with semantic conventions (#19795)
- fix(core): Fallback to
sendDefaultPiisetting in langchain and langgraph in non-node environments (#19813) - fix(core): Improve Vercel AI SDK instrumentation attributes (#19717)
- fix(hono): Align error mechanism (#19831)
- fix(hono): Allow passing env and fix type issues (#19825)
- fix(nestjs): Fork isolation scope in
@nestjs/event-emitterinstrumentation (#19725) - fix(nextjs): Log correct
lastEventIdwhen error is thrown in component render (#19764) - fix(nextjs): Strip sourceMappingURL comments after deleting source maps in turbopack builds (#19814)
- fix(nuxt): Upload client source maps (#19805)
- fix(profiling-node): Fix NODE_VERSION rendered as [object Object] in warning (#19788)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add oxlint migration commits to blame ignore (#19784)
- chore: add oxlint typescript program suppression to workspace settings (#19692)
- chore: Bump oxlint and oxfmt (#19771)
- chore: Clean up lint and format script names (#19719)
- chore(agents): Be more explicit on linting and formatting (#19803)
- chore(ci): Extract metadata workflow (#19680)
- chore(deps): bump tedious from 18.6.1 to 19.2.1 (#19786)
- chore(deps-dev): bump file-type from 20.5.0 to 21.3.1 (#19748)
- chore(effect): Add Effect to craft, README and issue templates (#19837)
- chore(lint): Rule adjustments and fix warnings (#19612)
- chore(skills): Add
skill-creatorand update managed agent skills (#19713) - docs(changelog): Add entry for
@sentry/honoalpha release (#19828) - docs(hono): Document usage without
"*"(#19756) - docs(new-release): Document
sdkNamefor craft (#19736) - docs(new-release): Update docs based on new Craft flow (#19731)
- ref(cloudflare): Prepare for WorkerEntrypoint (#19742)
- ref(nestjs): Move event instrumentation unit tests to separate file (#19738)
- style: Auto changes made from "yarn fix" (#19710)
- test(astro,cloudflare): Add an E2E test for Astro 6 on Cloudflare (#19781)
- test(browser): Add simulated mfe integration test (#19768)
- test(e2e): Add MFE e2e test using
vite-plugin-federation(#19778) - test(nextjs): Add vercel queue tests to next-16 (#19798)
- tests(core): Fix flaky metric sequence number test (#19754)
</details>
-
- 10.43.010 Mar 2026
Release notes
Open source โImportant Changes
-
feat(nextjs): Add Turbopack support for React component name annotation (#19604)
We added experimental support for React component name annotation in Turbopack builds. When enabled, JSX elements are annotated with
data-sentry-component,data-sentry-element, anddata-sentry-source-fileattributes at build time. This enables searching Replays by component name, seeing component names in breadcrumbs, and performance monitoring โ previously only available with webpack builds.This feature requires Next.js 16+ and is currently behind an experimental flag:
// next.config.ts import { withSentryConfig } from '@sentry/nextjs'; export default withSentryConfig(nextConfig, { _experimental: { turbopackReactComponentAnnotation: { enabled: true, ignoredComponents: ['Header', 'Footer'], // optional }, }, }); -
feat(hono): Instrument middlewares
app.use()(#19611)Hono middleware registered via
app.use()is now automatically instrumented, creating spans for each middleware invocation.
Other Changes
- feat(node-core,node): Add
tracePropagationoption to http and fetch integrations (#19712) - feat(hono): Use parametrized names for errors (#19577)
- fix(browser): Fix missing traces for user feedback (#19660)
- fix(cloudflare): Use correct Proxy receiver in
instrumentDurableObjectStorage(#19662) - fix(core): Standardize Vercel AI span descriptions to align with GenAI semantic conventions (#19624)
- fix(deps): Bump hono to 4.12.5 to fix multiple vulnerabilities (#19653)
- fix(deps): Bump svgo to 4.0.1 to fix DoS via entity expansion (#19651)
- fix(deps): Bump tar to 7.5.10 to fix hardlink path traversal (#19650)
- fix(nextjs): Align Turbopack module metadata injection with webpack behavior (#19645)
- fix(node): Prevent duplicate LangChain spans from double module patching (#19684)
- fix(node-core,vercel-edge): Use HEROKU_BUILD_COMMIT env var for default release (#19617)
- fix(sveltekit): Fix file system race condition in source map cleaning (#19714)
- fix(tanstackstart-react): Add workerd and worker export conditions (#19461)
- fix(vercel-ai): Prevent tool call span map memory leak (#19328)
- feat(deps): Bump @sentry/rollup-plugin from 5.1.0 to 5.1.1 (#19658)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Migrate to oxlint (#19134)
- chore(aws-serverless): Don't build layer in
build:devcommand (#19586) - chore(ci): Allow triage action to run on issues from external users (#19701)
- chore(deps): Bump immutable from 4.0.0 to 4.3.8 (#19637)
- chore(e2e): Expand microservices E2E application with auto-tracing tests (#19652)
- chore(hono): Prepare readme and add craft entry (#19583)
- chore(sourcemaps): Make sourcemaps e2e test more generic (#19678)
- chore(tanstackstart-react): Add link to docs in README (#19697)
- feat(deps): Bump @hono/node-server from 1.19.4 to 1.19.10 (#19634)
- feat(deps): Bump underscore from 1.12.1 to 1.13.8 (#19616)
- test(angular): Fix failing canary test (#19639)
- test(nextjs): Add sourcemaps test for nextjs turbopack (#19647)
- tests(e2e): Add microservices e2e for nestjs (#19642)
- tests(e2e): Add websockets e2e for nestjs (#19630)
</details>
Work in this release was contributed by @dmmulroy, @lithdew, and @smorimoto. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 25.04 KB @sentry/browser - with treeshaking flags 23.57 KB @sentry/browser (incl. Tracing) 41.45 KB @sentry/browser (incl. Tracing, Profiling) 46 KB @sentry/browser (incl. Tracing, Replay) 79.35 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.22 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.94 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.91 KB @sentry/browser (incl. Feedback) 41.45 KB @sentry/browser (incl. sendFeedback) 29.6 KB @sentry/browser (incl. FeedbackAsync) 34.53 KB @sentry/browser (incl. Metrics) 26.18 KB @sentry/browser (incl. Logs) 26.31 KB @sentry/browser (incl. Metrics & Logs) 26.97 KB @sentry/react 26.75 KB @sentry/react (incl. Tracing) 43.73 KB @sentry/vue 29.38 KB @sentry/vue (incl. Tracing) 43.27 KB @sentry/svelte 25.06 KB CDN Bundle 27.52 KB CDN Bundle (incl. Tracing) 42.26 KB CDN Bundle (incl. Logs, Metrics) 28.34 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.08 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.5 KB CDN Bundle (incl. Tracing, Replay) 78.27 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.11 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.66 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.51 KB CDN Bundle - uncompressed 80.45 KB CDN Bundle (incl. Tracing) - uncompressed 125.09 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.22 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.86 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.98 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.24 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 241.99 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.85 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.59 KB @sentry/nextjs (client) 46.09 KB @sentry/sveltekit (client) 41.9 KB @sentry/node-core 51.04 KB @sentry/node 170.67 KB @sentry/node - without tracing 95.14 KB @sentry/aws-serverless 110.58 KB Release notes
Open source โImportant Changes
-
feat(nextjs): Add Turbopack support for React component name annotation (#19604)
We added experimental support for React component name annotation in Turbopack builds. When enabled, JSX elements are annotated with
data-sentry-component,data-sentry-element, anddata-sentry-source-fileattributes at build time. This enables searching Replays by component name, seeing component names in breadcrumbs, and performance monitoring โ previously only available with webpack builds.This feature requires Next.js 16+ and is currently behind an experimental flag:
// next.config.ts import { withSentryConfig } from '@sentry/nextjs'; export default withSentryConfig(nextConfig, { _experimental: { turbopackReactComponentAnnotation: { enabled: true, ignoredComponents: ['Header', 'Footer'], // optional }, }, }); -
feat(hono): Instrument middlewares
app.use()(#19611)Hono middleware registered via
app.use()is now automatically instrumented, creating spans for each middleware invocation.
Other Changes
- feat(node-core,node): Add
tracePropagationoption to http and fetch integrations (#19712) - feat(hono): Use parametrized names for errors (#19577)
- fix(browser): Fix missing traces for user feedback (#19660)
- fix(cloudflare): Use correct Proxy receiver in
instrumentDurableObjectStorage(#19662) - fix(core): Standardize Vercel AI span descriptions to align with GenAI semantic conventions (#19624)
- fix(deps): Bump hono to 4.12.5 to fix multiple vulnerabilities (#19653)
- fix(deps): Bump svgo to 4.0.1 to fix DoS via entity expansion (#19651)
- fix(deps): Bump tar to 7.5.10 to fix hardlink path traversal (#19650)
- fix(nextjs): Align Turbopack module metadata injection with webpack behavior (#19645)
- fix(node): Prevent duplicate LangChain spans from double module patching (#19684)
- fix(node-core,vercel-edge): Use HEROKU_BUILD_COMMIT env var for default release (#19617)
- fix(sveltekit): Fix file system race condition in source map cleaning (#19714)
- fix(tanstackstart-react): Add workerd and worker export conditions (#19461)
- fix(vercel-ai): Prevent tool call span map memory leak (#19328)
- feat(deps): Bump @sentry/rollup-plugin from 5.1.0 to 5.1.1 (#19658)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Migrate to oxlint (#19134)
- chore(aws-serverless): Don't build layer in
build:devcommand (#19586) - chore(ci): Allow triage action to run on issues from external users (#19701)
- chore(deps): Bump immutable from 4.0.0 to 4.3.8 (#19637)
- chore(e2e): Expand microservices E2E application with auto-tracing tests (#19652)
- chore(hono): Prepare readme and add craft entry (#19583)
- chore(sourcemaps): Make sourcemaps e2e test more generic (#19678)
- chore(tanstackstart-react): Add link to docs in README (#19697)
- feat(deps): Bump @hono/node-server from 1.19.4 to 1.19.10 (#19634)
- feat(deps): Bump underscore from 1.12.1 to 1.13.8 (#19616)
- test(angular): Fix failing canary test (#19639)
- test(nextjs): Add sourcemaps test for nextjs turbopack (#19647)
- tests(e2e): Add microservices e2e for nestjs (#19642)
- tests(e2e): Add websockets e2e for nestjs (#19630)
</details>
Work in this release was contributed by @dmmulroy, @lithdew, and @smorimoto. Thank you for your contributions!
-
- 10.42.03 Mar 2026
Release notes
Open source โ- feat(consola): Enhance Consola integration to extract first-param object as searchable attributes (#19534)
- fix(astro): Do not inject withSentry into Cloudflare Pages (#19558)
- fix(core): Do not remove promiseBuffer entirely (#19592)
- fix(deps): Bump fast-xml-parser to 4.5.4 for CVE-2026-25896 (#19588)
- fix(react-router): Set correct transaction name when navigating with object argument (#19590)
- ref(nuxt): Use
addVitePlugininstead of deprecatedvite:extendConfig(#19464)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps-dev): bump @sveltejs/kit from 2.52.2 to 2.53.3 (#19571)
- chore(deps): Bump @sveltejs/kit to 2.53.3 in sveltekit-2-svelte-5 E2E test (#19594)
- ci(deps): bump actions/checkout from 4 to 6 (#19570)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 25.02 KB @sentry/browser - with treeshaking flags 23.57 KB @sentry/browser (incl. Tracing) 41.44 KB @sentry/browser (incl. Tracing, Profiling) 45.99 KB @sentry/browser (incl. Tracing, Replay) 79.35 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.21 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.93 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.91 KB @sentry/browser (incl. Feedback) 41.44 KB @sentry/browser (incl. sendFeedback) 29.58 KB @sentry/browser (incl. FeedbackAsync) 34.52 KB @sentry/browser (incl. Metrics) 26.17 KB @sentry/browser (incl. Logs) 26.31 KB @sentry/browser (incl. Metrics & Logs) 26.96 KB @sentry/react 26.74 KB @sentry/react (incl. Tracing) 43.72 KB @sentry/vue 29.37 KB @sentry/vue (incl. Tracing) 43.26 KB @sentry/svelte 25.05 KB CDN Bundle 27.51 KB CDN Bundle (incl. Tracing) 42.25 KB CDN Bundle (incl. Logs, Metrics) 28.33 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.07 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.49 KB CDN Bundle (incl. Tracing, Replay) 78.26 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.1 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.65 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.5 KB CDN Bundle - uncompressed 80.42 KB CDN Bundle (incl. Tracing) - uncompressed 125.07 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.19 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.83 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.96 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.21 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 241.96 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.82 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.56 KB @sentry/nextjs (client) 46.08 KB @sentry/sveltekit (client) 41.89 KB @sentry/node-core 51.01 KB @sentry/node 170.6 KB @sentry/node - without tracing 95.09 KB @sentry/aws-serverless 110.53 KB Release notes
Open source โ- feat(consola): Enhance Consola integration to extract first-param object as searchable attributes (#19534)
- fix(astro): Do not inject withSentry into Cloudflare Pages (#19558)
- fix(core): Do not remove promiseBuffer entirely (#19592)
- fix(deps): Bump fast-xml-parser to 4.5.4 for CVE-2026-25896 (#19588)
- fix(react-router): Set correct transaction name when navigating with object argument (#19590)
- ref(nuxt): Use
addVitePlugininstead of deprecatedvite:extendConfig(#19464)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(deps-dev): bump @sveltejs/kit from 2.52.2 to 2.53.3 (#19571)
- chore(deps): Bump @sveltejs/kit to 2.53.3 in sveltekit-2-svelte-5 E2E test (#19594)
- ci(deps): bump actions/checkout from 4 to 6 (#19570)
</details>
- 10.41.02 Mar 2026
Release notes
Open source โImportant Changes
-
feat(core,cloudflare,deno): Add
instrumentPostgresJsSqlinstrumentation (#19566)Added a new instrumentation helper for the
postgres(postgres.js) library, designed for SDKs that are not based on OpenTelemetry (e.g. Cloudflare, Deno). This wraps a postgres.jssqltagged template instance so that all queries automatically create Sentry spans.import postgres from 'postgres'; import * as Sentry from '@sentry/cloudflare'; // or '@sentry/deno' export default Sentry.withSentry(env => ({ dsn: '__DSN__' }), { async fetch(request, env, ctx) { const sql = Sentry.instrumentPostgresJsSql(postgres(env.DATABASE_URL)); // All queries now create Sentry spans const users = await sql`SELECT * FROM users WHERE id = ${userId}`; return Response.json(users); }, });The instrumentation is available in
@sentry/core,@sentry/cloudflare, and@sentry/deno. -
feat(nextjs): Add Turbopack support for
thirdPartyErrorFilterIntegration(#19542)We added experimental support for the
thirdPartyErrorFilterIntegrationwith Turbopack builds.This feature requires Next.js 16+ and is currently behind an experimental flag:
// next.config.ts import { withSentryConfig } from '@sentry/nextjs'; export default withSentryConfig(nextConfig, { _experimental: { turbopackApplicationKey: 'my-app-key', }, });Then configure the integration in your client instrumentation file with a matching key:
// instrumentation-client.ts import * as Sentry from '@sentry/nextjs'; Sentry.init({ integrations: [ Sentry.thirdPartyErrorFilterIntegration({ filterKeys: ['my-app-key'], behaviour: 'apply-tag-if-exclusively-contains-third-party-frames', }), ], });
Other Changes
- feat(core,cloudflare): Add dispose to the client for proper cleanup (#19506)
- feat(deps): Bump rxjs from 7.8.1 to 7.8.2 (#19545)
- feat(nextjs): Use
not: foreigncondition in turbopack loaders (#19502) - feat(react-router): Include middleware function names and indices (#19109)
- fix(consola): Normalize extra keys from consola (#19511)
- fix(core): Improve message truncation for multimodal content and normalize streaming span names (#19500)
- fix(core): Strip inline media from multimodal content before stringification (#19540)
- fix(deps): Bump transitive rollup deps to patch CVE-2026-27606 (#19565)
- fix(langchain): Use runName argument in handleChainStart to fix unknown_chain spans (#19554)
- fix(nestjs): Improve control flow exception filtering (#19524)
- fix(tanstackstart-react): Flush events in server entry point for serverless environments (#19513)
- fix(vue): Avoid triggering deprecated next callback from router instrumentation (#19476)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Updating minimatch (#19434)
- chore(agents): Add
dotagents(#19526) - chore(agents): Add nested
AGENTS.mdfor browser (#19551) - chore(agents): Add nested
AGENTS.mdfor nextjs (#19556) - chore(agents): Consolidate SDK dev rules into
AGENTS.md(#19521) - chore(agents): Migrate repo-wide cursor rules to skills (#19549)
- chore(agents): Remove stale cursor commands (#19560)
- chore(ci): Validate alert id (#19499)
- chore(deps): Bump rollup to 4.59.0 to fix path traversal vulnerability (#19538)
- chore(lint): Remove junit report file (#19491)
- chore(svelte,sveltekit): Use version range for magic-string (#19520)
- chore(tanstackstart): Fix leftover formatting issue (#19536)
- test(consola): Restructure tests (#19517)
- test(node): Test runName parameter in handleChainStart for langchain (#19562)
</details>
Work in this release was contributed by @YevheniiKotyrlo. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 25.02 KB @sentry/browser - with treeshaking flags 23.57 KB @sentry/browser (incl. Tracing) 41.44 KB @sentry/browser (incl. Tracing, Profiling) 45.99 KB @sentry/browser (incl. Tracing, Replay) 79.35 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.21 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.93 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.91 KB @sentry/browser (incl. Feedback) 41.44 KB @sentry/browser (incl. sendFeedback) 29.58 KB @sentry/browser (incl. FeedbackAsync) 34.52 KB @sentry/browser (incl. Metrics) 26.17 KB @sentry/browser (incl. Logs) 26.31 KB @sentry/browser (incl. Metrics & Logs) 26.96 KB @sentry/react 26.74 KB @sentry/react (incl. Tracing) 43.72 KB @sentry/vue 29.37 KB @sentry/vue (incl. Tracing) 43.26 KB @sentry/svelte 25.05 KB CDN Bundle 27.51 KB CDN Bundle (incl. Tracing) 42.25 KB CDN Bundle (incl. Logs, Metrics) 28.33 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.07 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.49 KB CDN Bundle (incl. Tracing, Replay) 78.26 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.1 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.65 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.5 KB CDN Bundle - uncompressed 80.42 KB CDN Bundle (incl. Tracing) - uncompressed 125.07 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.19 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.83 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.96 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.21 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 241.96 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.82 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.56 KB @sentry/nextjs (client) 46.08 KB @sentry/sveltekit (client) 41.89 KB @sentry/node-core 51.01 KB @sentry/node 170.59 KB @sentry/node - without tracing 95.1 KB @sentry/aws-serverless 110.53 KB Release notes
Open source โImportant Changes
-
feat(core,cloudflare,deno): Add
instrumentPostgresJsSqlinstrumentation (#19566)Added a new instrumentation helper for the
postgres(postgres.js) library, designed for SDKs that are not based on OpenTelemetry (e.g. Cloudflare, Deno). This wraps a postgres.jssqltagged template instance so that all queries automatically create Sentry spans.import postgres from 'postgres'; import * as Sentry from '@sentry/cloudflare'; // or '@sentry/deno' export default Sentry.withSentry(env => ({ dsn: '__DSN__' }), { async fetch(request, env, ctx) { const sql = Sentry.instrumentPostgresJsSql(postgres(env.DATABASE_URL)); // All queries now create Sentry spans const users = await sql`SELECT * FROM users WHERE id = ${userId}`; return Response.json(users); }, });The instrumentation is available in
@sentry/core,@sentry/cloudflare, and@sentry/deno. -
feat(nextjs): Add Turbopack support for
thirdPartyErrorFilterIntegration(#19542)We added experimental support for the
thirdPartyErrorFilterIntegrationwith Turbopack builds.This feature requires Next.js 16+ and is currently behind an experimental flag:
// next.config.ts import { withSentryConfig } from '@sentry/nextjs'; export default withSentryConfig(nextConfig, { _experimental: { turbopackApplicationKey: 'my-app-key', }, });Then configure the integration in your client instrumentation file with a matching key:
// instrumentation-client.ts import * as Sentry from '@sentry/nextjs'; Sentry.init({ integrations: [ Sentry.thirdPartyErrorFilterIntegration({ filterKeys: ['my-app-key'], behaviour: 'apply-tag-if-exclusively-contains-third-party-frames', }), ], });
Other Changes
- feat(core,cloudflare): Add dispose to the client for proper cleanup (#19506)
- feat(deps): Bump rxjs from 7.8.1 to 7.8.2 (#19545)
- feat(nextjs): Use
not: foreigncondition in turbopack loaders (#19502) - feat(react-router): Include middleware function names and indices (#19109)
- fix(consola): Normalize extra keys from consola (#19511)
- fix(core): Improve message truncation for multimodal content and normalize streaming span names (#19500)
- fix(core): Strip inline media from multimodal content before stringification (#19540)
- fix(deps): Bump transitive rollup deps to patch CVE-2026-27606 (#19565)
- fix(langchain): Use runName argument in handleChainStart to fix unknown_chain spans (#19554)
- fix(nestjs): Improve control flow exception filtering (#19524)
- fix(tanstackstart-react): Flush events in server entry point for serverless environments (#19513)
- fix(vue): Avoid triggering deprecated next callback from router instrumentation (#19476)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Updating minimatch (#19434)
- chore(agents): Add
dotagents(#19526) - chore(agents): Add nested
AGENTS.mdfor browser (#19551) - chore(agents): Add nested
AGENTS.mdfor nextjs (#19556) - chore(agents): Consolidate SDK dev rules into
AGENTS.md(#19521) - chore(agents): Migrate repo-wide cursor rules to skills (#19549)
- chore(agents): Remove stale cursor commands (#19560)
- chore(ci): Validate alert id (#19499)
- chore(deps): Bump rollup to 4.59.0 to fix path traversal vulnerability (#19538)
- chore(lint): Remove junit report file (#19491)
- chore(svelte,sveltekit): Use version range for magic-string (#19520)
- chore(tanstackstart): Fix leftover formatting issue (#19536)
- test(consola): Restructure tests (#19517)
- test(node): Test runName parameter in handleChainStart for langchain (#19562)
</details>
Work in this release was contributed by @YevheniiKotyrlo. Thank you for your contribution!
-
- 10.41.0-beta.026 Feb 2026pre-release
Release notes
Open source โThis is an internal beta release to test adding traces by timestamp to replay events for EAP trace association: https://github.com/getsentry/sentry-javascript/pull/18048.
Bundle size ๐ฆ
Path Size @sentry/browser 25.02 KB @sentry/browser - with treeshaking flags 23.56 KB @sentry/browser (incl. Tracing) 41.44 KB @sentry/browser (incl. Tracing, Profiling) 45.99 KB @sentry/browser (incl. Tracing, Replay) 79.43 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.27 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.98 KB @sentry/browser (incl. Feedback) 41.44 KB @sentry/browser (incl. sendFeedback) 29.58 KB @sentry/browser (incl. FeedbackAsync) 34.52 KB @sentry/browser (incl. Metrics) 26.17 KB @sentry/browser (incl. Logs) 26.3 KB @sentry/browser (incl. Metrics & Logs) 26.96 KB @sentry/react 26.74 KB @sentry/react (incl. Tracing) 43.72 KB @sentry/vue 29.37 KB @sentry/vue (incl. Tracing) 43.23 KB @sentry/svelte 25.05 KB CDN Bundle 27.51 KB CDN Bundle (incl. Tracing) 42.24 KB CDN Bundle (incl. Logs, Metrics) 28.33 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.07 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.57 KB CDN Bundle (incl. Tracing, Replay) 78.33 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.16 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.71 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.56 KB CDN Bundle - uncompressed 80.42 KB CDN Bundle (incl. Tracing) - uncompressed 125.06 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.19 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.83 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 204.23 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.49 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 242.24 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 252.1 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.84 KB @sentry/nextjs (client) 46.07 KB @sentry/sveltekit (client) 41.89 KB @sentry/node-core 50.97 KB @sentry/node 170.4 KB @sentry/node - without tracing 95.06 KB @sentry/aws-serverless 110.49 KB - 10.40.024 Feb 2026
Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Add global sentry exception middlewares (#19330)
The
sentryGlobalRequestMiddlewareandsentryGlobalFunctionMiddlewareglobal middlewares capture unhandled exceptions thrown in TanStack Start API routes and server functions. Add them as the first entries in therequestMiddlewareandfunctionMiddlewarearrays ofcreateStart():import { createStart } from '@tanstack/react-start/server'; import { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from '@sentry/tanstackstart-react'; export default createStart({ requestMiddleware: [sentryGlobalRequestMiddleware, myRequestMiddleware], functionMiddleware: [sentryGlobalFunctionMiddleware, myFunctionMiddleware], }); -
feat(tanstackstart-react)!: Export Vite plugin from
@sentry/tanstackstart-react/vitesubpath (#19182)The
sentryTanstackStartVite plugin is now exported from a dedicated subpath. Update your import:- import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; -
fix(node-core): Reduce bundle size by removing apm-js-collab and requiring pino >= 9.10 (#18631)
In order to keep receiving pino logs, you need to update your pino version to >= 9.10, the reason for the support bump is to reduce the bundle size of the node-core SDK in frameworks that cannot tree-shake the apm-js-collab dependency.
-
fix(browser): Ensure user id is consistently added to sessions (#19341)
Previously, the SDK inconsistently set the user id on sessions, meaning sessions were often lacking proper coupling to the user set for example via
Sentry.setUser(). Additionally, the SDK incorrectly skipped starting a new session for the first soft navigation after the pageload. This patch fixes these issues. As a result, metrics around sessions, like "Crash Free Sessions" or "Crash Free Users" might change. This could also trigger alerts, depending on your set thresholds and conditions. We apologize for any inconvenience caused!While we're at it, if you're using Sentry in a Single Page App or meta framework, you might want to give the new
'page'session lifecycle a try! This new mode no longer creates a session per soft navigation but continues the initial session until the next hard page refresh. Check out the docs to learn more! -
ref!(gatsby): Drop Gatsby v2 support (#19467)
We drop support for Gatsby v2 (which still relies on webpack 4) for a critical security update in https://github.com/getsentry/sentry-javascript-bundler-plugins/releases/tag/5.0.0
Other Changes
- feat(astro): Add support for Astro on CF Workers (#19265)
- feat(cloudflare): Instrument async KV API (#19404)
- feat(core): Add framework-agnostic tunnel handler (#18892)
- feat(deno): Export logs API from Deno SDK (#19313)
- feat(deno): Export metrics API from Deno SDK (#19305)
- feat(deno): instrument Deno.serve with async context support (#19230)
- feat(deps): bump babel-loader from 8.2.5 to 10.0.0 (#19303)
- feat(deps): bump body-parser from 1.20.4 to 2.2.2 (#19191)
- feat(deps): Bump hono from 4.11.7 to 4.11.10 (#19440)
- feat(deps): bump qs from 6.14.1 to 6.14.2 (#19310)
- feat(deps): bump the opentelemetry group with 4 updates (#19425)
- feat(feedback): Add
setTheme()to dynamically update feedback widget color scheme (#19430) - feat(nextjs): Add
sourcemaps.filesToDeleteAfterUploadas a top-level option (#19280) - feat(node): Add
ignoreConnectSpansoption topostgresIntegration(#19291) - feat(node): Bump to latest @fastify/otel (#19452)
- fix: Bump bundler plugins to v5 (#19468)
- fix: updated the codecov config (#19350)
- fix(aws-serverless): Prevent crash in
isPromiseAllSettledResultwith null/undefined array elements (#19346) - fix(bun) Export pinoIntegration from @sentry/node (#17990)
- fix(core,browser): Delete SentryNonRecordingSpan from fetch/xhr map (#19336)
- fix(core): Explicitly flush log buffer in
client.close()(#19371) - fix(core): Langgraph state graph invoke accepts null to resume (#19374)
- fix(core): Wrap decodeURI in node stack trace parser to handle malformed URIs (#19400)
- fix(deps): Bump nuxt devDependency to fix CVE-2026-24001 (#19249)
- fix(deps): Bump to latest version of each minimatch major (#19486)
- fix(nextjs): Apply environment from
optionsif set (#19274) - fix(nextjs): Don't set
sentry.drop_transactionattribute on spans whenskipOpenTelemetrySetupis enabled (#19333) - fix(nextjs): Normalize trailing slashes in App Router route parameterization (#19365)
- fix(nextjs): Return correct lastEventId for SSR pages (#19240)
- fix(nextjs): Set parameterized transaction name for non-transaction events (#19316)
- fix(node-core): Align pino mechanism type with spec conventions (#19363)
- fix(nuxt): Use
options.rootDirinstead ofoptions.srcDir(#19343)
<details> <summary><strong>Internal Changes</strong></summary>
- test(nextjs): Add bun e2e test app (#19318)
- test(nextjs): Deactivate canary test for cf-workers (#19483)
- tests(langchain): Fix langchain v1 internal error tests (#19409)
- ref(nuxt): Remove
defineNitroPluginwrapper (#19334) - ref(cloudflare): Move internal files and functions around (#19369)
- chore: Add external contributor to CHANGELOG.md (#19395)
- chore: Add github action to notify stale PRs (#19361)
- chore: add oxfmt changes to blame ignore rev list (#19366)
- chore: Enhance AI integration guidelines with runtime-specific placemโฆ (#19296)
- chore: Ignore
lerna.jsonfor prettier (#19288) - chore: migrate to oxfmt (#19200)
- chore: Revert to lerna v8 (#19294)
- chore: Unignore HTML files and reformat with oxfmt (#19311)
- chore(ci): Adapt max turns of triage issue agent (#19473)
- chore(ci): Add
environmentto triage action (#19375) - chore(ci): Add
id-token: writepermission to triage workflow (#19381) - chore(ci): Move monorepo to nx (#19325)
- chore(cursor): Add rules for fetching develop docs (#19377)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2 (#19441)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing (#19446)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages (#19462)
- chore(deps-dev): Bump @sveltejs/kit from 2.50.1 to 2.52.2 (#19442)
- chore(deps-dev): bump @testing-library/react from 13.0.0 to 15.0.5 (#19194)
- chore(deps-dev): bump @types/ember__debug from 3.16.5 to 4.0.8 (#19429)
- chore(deps-dev): bump ember-resolver from 13.0.2 to 13.1.1 (#19301)
- chore(deps): Bump @actions/glob from 0.4.0 to 0.6.1 (#19427)
- chore(deps): bump agents from 0.2.32 to 0.3.10 in /dev-packages/e2e-tests/test-applications/cloudflare-mcp (#19326)
- chore(deps): Bump hono from 4.11.7 to 4.11.10 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#19438)
- chore(deps): Bump Sentry CLI to latest v2 (#19477)
- chore(deps): Bump transitive dep
fast-xml-parser(#19433) - chore(deps): upgrade tar to 7.5.9 to fix CVE-2026-26960 (#19445)
- chore(github): Add
allowedToolsto Claude GitHub action (#19386) - chore(github): Add workflow to trigger
triage-issueskill (#19358) - chore(github): Add write tool for markdown report (#19387)
- chore(github): Change tool permission path (#19389)
- chore(llm): Add
triage-issueskill (#19356) - chore(llm): Better defense against prompt injection in triage skill (#19410)
- chore(llm): Make cross-repo search optional and remove file cleanup (#19401)
- chore(node-core): Make @sentry/opentelemetry not a peer dep in nodeโฆ (#19308)
- chore(repo): Allow WebFetch for Sentry docs in Claude settings (#18890)
- chore(repo): Increase number of concurrently running nx tasks (#19443)
- chore(skills): Add security notes for injection defense (#19379)
- chore(triage-action): Fix JSON parsing (#19471)
- chore(triage-issue): Improve triage prompt for accuracy (#19454)
- chore(triage-skill): Add GitHub parsing python util script (#19405)
- chore(triage-skill): Increase
num_turnsand add script to post summary (#19456) - ci(fix-security-vulnerability): Add id token write permission (#19412)
- ci(fix-security-vulnerability): Be specific about how to fetch the alert page (#19414)
- ci(fix-security-vulnerability): Run fetch alert first before executing skill (#19418)
- ci(fix-security-vulnerability): Use opus 4.6 (#19416)
- ci(github): Add tilde to file path to not exact-match (#19392)
- ci(triage-skill): Allow
Writeand removermpermission (#19397) - ci(triage-skill): Run on opened issues (#19423)
- docs(nuxt): Remove duplicated setup instructions (#19422)
- feat(ci): Add security vulnerability skill action (#19355) </details>
Work in this release was contributed by @LudvigHz and @jadengis. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 25.02 KB @sentry/browser - with treeshaking flags 23.56 KB @sentry/browser (incl. Tracing) 41.43 KB @sentry/browser (incl. Tracing, Profiling) 45.98 KB @sentry/browser (incl. Tracing, Replay) 79.34 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.2 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.92 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.9 KB @sentry/browser (incl. Feedback) 41.43 KB @sentry/browser (incl. sendFeedback) 29.58 KB @sentry/browser (incl. FeedbackAsync) 34.51 KB @sentry/browser (incl. Metrics) 26.16 KB @sentry/browser (incl. Logs) 26.3 KB @sentry/browser (incl. Metrics & Logs) 26.96 KB @sentry/react 26.73 KB @sentry/react (incl. Tracing) 43.71 KB @sentry/vue 29.36 KB @sentry/vue (incl. Tracing) 43.23 KB @sentry/svelte 25.04 KB CDN Bundle 27.5 KB CDN Bundle (incl. Tracing) 42.24 KB CDN Bundle (incl. Logs, Metrics) 28.32 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43.06 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.49 KB CDN Bundle (incl. Tracing, Replay) 78.25 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.1 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.64 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.5 KB CDN Bundle - uncompressed 80.41 KB CDN Bundle (incl. Tracing) - uncompressed 125.06 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.18 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.82 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.94 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.2 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 241.95 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.81 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.55 KB @sentry/nextjs (client) 46.07 KB @sentry/sveltekit (client) 41.88 KB @sentry/node-core 50.95 KB @sentry/node 169.38 KB @sentry/node - without tracing 95.04 KB @sentry/aws-serverless 110.47 KB Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Add global sentry exception middlewares (#19330)
The
sentryGlobalRequestMiddlewareandsentryGlobalFunctionMiddlewareglobal middlewares capture unhandled exceptions thrown in TanStack Start API routes and server functions. Add them as the first entries in therequestMiddlewareandfunctionMiddlewarearrays ofcreateStart():import { createStart } from '@tanstack/react-start/server'; import { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from '@sentry/tanstackstart-react/server'; export default createStart({ requestMiddleware: [sentryGlobalRequestMiddleware, myRequestMiddleware], functionMiddleware: [sentryGlobalFunctionMiddleware, myFunctionMiddleware], }); -
feat(tanstackstart-react)!: Export Vite plugin from
@sentry/tanstackstart-react/vitesubpath (#19182)The
sentryTanstackStartVite plugin is now exported from a dedicated subpath. Update your import:- import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; -
fix(node-core): Reduce bundle size by removing apm-js-collab and requiring pino >= 9.10 (#18631)
In order to keep receiving pino logs, you need to update your pino version to >= 9.10, the reason for the support bump is to reduce the bundle size of the node-core SDK in frameworks that cannot tree-shake the apm-js-collab dependency.
-
fix(browser): Ensure user id is consistently added to sessions (#19341)
Previously, the SDK inconsistently set the user id on sessions, meaning sessions were often lacking proper coupling to the user set for example via
Sentry.setUser(). Additionally, the SDK incorrectly skipped starting a new session for the first soft navigation after the pageload. This patch fixes these issues. As a result, metrics around sessions, like "Crash Free Sessions" or "Crash Free Users" might change. This could also trigger alerts, depending on your set thresholds and conditions. We apologize for any inconvenience caused!While we're at it, if you're using Sentry in a Single Page App or meta framework, you might want to give the new
'page'session lifecycle a try! This new mode no longer creates a session per soft navigation but continues the initial session until the next hard page refresh. Check out the docs to learn more! -
ref!(gatsby): Drop Gatsby v2 support (#19467)
We drop support for Gatsby v2 (which still relies on webpack 4) for a critical security update in https://github.com/getsentry/sentry-javascript-bundler-plugins/releases/tag/5.0.0
Other Changes
- feat(astro): Add support for Astro on CF Workers (#19265)
- feat(cloudflare): Instrument async KV API (#19404)
- feat(core): Add framework-agnostic tunnel handler (#18892)
- feat(deno): Export logs API from Deno SDK (#19313)
- feat(deno): Export metrics API from Deno SDK (#19305)
- feat(deno): instrument Deno.serve with async context support (#19230)
- feat(deps): bump babel-loader from 8.2.5 to 10.0.0 (#19303)
- feat(deps): bump body-parser from 1.20.4 to 2.2.2 (#19191)
- feat(deps): Bump hono from 4.11.7 to 4.11.10 (#19440)
- feat(deps): bump qs from 6.14.1 to 6.14.2 (#19310)
- feat(deps): bump the opentelemetry group with 4 updates (#19425)
- feat(feedback): Add
setTheme()to dynamically update feedback widget color scheme (#19430) - feat(nextjs): Add
sourcemaps.filesToDeleteAfterUploadas a top-level option (#19280) - feat(node): Add
ignoreConnectSpansoption topostgresIntegration(#19291) - feat(node): Bump to latest @fastify/otel (#19452)
- fix: Bump bundler plugins to v5 (#19468)
- fix: updated the codecov config (#19350)
- fix(aws-serverless): Prevent crash in
isPromiseAllSettledResultwith null/undefined array elements (#19346) - fix(bun) Export pinoIntegration from @sentry/node (#17990)
- fix(core,browser): Delete SentryNonRecordingSpan from fetch/xhr map (#19336)
- fix(core): Explicitly flush log buffer in
client.close()(#19371) - fix(core): Langgraph state graph invoke accepts null to resume (#19374)
- fix(core): Wrap decodeURI in node stack trace parser to handle malformed URIs (#19400)
- fix(deps): Bump nuxt devDependency to fix CVE-2026-24001 (#19249)
- fix(deps): Bump to latest version of each minimatch major (#19486)
- fix(nextjs): Apply environment from
optionsif set (#19274) - fix(nextjs): Don't set
sentry.drop_transactionattribute on spans whenskipOpenTelemetrySetupis enabled (#19333) - fix(nextjs): Normalize trailing slashes in App Router route parameterization (#19365)
- fix(nextjs): Return correct lastEventId for SSR pages (#19240)
- fix(nextjs): Set parameterized transaction name for non-transaction events (#19316)
- fix(node-core): Align pino mechanism type with spec conventions (#19363)
- fix(nuxt): Use
options.rootDirinstead ofoptions.srcDir(#19343)
<details> <summary><strong>Internal Changes</strong></summary>
- test(nextjs): Add bun e2e test app (#19318)
- test(nextjs): Deactivate canary test for cf-workers (#19483)
- tests(langchain): Fix langchain v1 internal error tests (#19409)
- ref(nuxt): Remove
defineNitroPluginwrapper (#19334) - ref(cloudflare): Move internal files and functions around (#19369)
- chore: Add external contributor to CHANGELOG.md (#19395)
- chore: Add github action to notify stale PRs (#19361)
- chore: add oxfmt changes to blame ignore rev list (#19366)
- chore: Enhance AI integration guidelines with runtime-specific placemโฆ (#19296)
- chore: Ignore
lerna.jsonfor prettier (#19288) - chore: migrate to oxfmt (#19200)
- chore: Revert to lerna v8 (#19294)
- chore: Unignore HTML files and reformat with oxfmt (#19311)
- chore(ci): Adapt max turns of triage issue agent (#19473)
- chore(ci): Add
environmentto triage action (#19375) - chore(ci): Add
id-token: writepermission to triage workflow (#19381) - chore(ci): Move monorepo to nx (#19325)
- chore(cursor): Add rules for fetching develop docs (#19377)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2 (#19441)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing (#19446)
- chore(deps-dev): Bump @sveltejs/kit from 2.49.5 to 2.52.2 in /dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages (#19462)
- chore(deps-dev): Bump @sveltejs/kit from 2.50.1 to 2.52.2 (#19442)
- chore(deps-dev): bump @testing-library/react from 13.0.0 to 15.0.5 (#19194)
- chore(deps-dev): bump @types/ember__debug from 3.16.5 to 4.0.8 (#19429)
- chore(deps-dev): bump ember-resolver from 13.0.2 to 13.1.1 (#19301)
- chore(deps): Bump @actions/glob from 0.4.0 to 0.6.1 (#19427)
- chore(deps): bump agents from 0.2.32 to 0.3.10 in /dev-packages/e2e-tests/test-applications/cloudflare-mcp (#19326)
- chore(deps): Bump hono from 4.11.7 to 4.11.10 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#19438)
- chore(deps): Bump Sentry CLI to latest v2 (#19477)
- chore(deps): Bump transitive dep
fast-xml-parser(#19433) - chore(deps): upgrade tar to 7.5.9 to fix CVE-2026-26960 (#19445)
- chore(github): Add
allowedToolsto Claude GitHub action (#19386) - chore(github): Add workflow to trigger
triage-issueskill (#19358) - chore(github): Add write tool for markdown report (#19387)
- chore(github): Change tool permission path (#19389)
- chore(llm): Add
triage-issueskill (#19356) - chore(llm): Better defense against prompt injection in triage skill (#19410)
- chore(llm): Make cross-repo search optional and remove file cleanup (#19401)
- chore(node-core): Make @sentry/opentelemetry not a peer dep in nodeโฆ (#19308)
- chore(repo): Allow WebFetch for Sentry docs in Claude settings (#18890)
- chore(repo): Increase number of concurrently running nx tasks (#19443)
- chore(skills): Add security notes for injection defense (#19379)
- chore(triage-action): Fix JSON parsing (#19471)
- chore(triage-issue): Improve triage prompt for accuracy (#19454)
- chore(triage-skill): Add GitHub parsing python util script (#19405)
- chore(triage-skill): Increase
num_turnsand add script to post summary (#19456) - ci(fix-security-vulnerability): Add id token write permission (#19412)
- ci(fix-security-vulnerability): Be specific about how to fetch the alert page (#19414)
- ci(fix-security-vulnerability): Run fetch alert first before executing skill (#19418)
- ci(fix-security-vulnerability): Use opus 4.6 (#19416)
- ci(github): Add tilde to file path to not exact-match (#19392)
- ci(triage-skill): Allow
Writeand removermpermission (#19397) - ci(triage-skill): Run on opened issues (#19423)
- docs(nuxt): Remove duplicated setup instructions (#19422)
- feat(ci): Add security vulnerability skill action (#19355) </details>
Work in this release was contributed by @LudvigHz and @jadengis. Thank you for your contributions!
-
- 10.39.016 Feb 2026
Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Auto-instrument server function middleware (#19001)
The
sentryTanstackStartVite plugin now automatically instruments middleware increateServerFn().middleware([...])calls. This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry(). -
feat(nextjs): New experimental automatic vercel cron monitoring (#19192)
Setting
_experimental.vercelCronMonitoringtotruein your Sentry configuration will automatically create Sentry cron monitors for your Vercel Cron Jobs.Please note that this is an experimental unstable feature and subject to change.
// next.config.ts export default withSentryConfig(nextConfig, { _experimental: { vercelCronMonitoring: true, }, }); -
feat(node-core): Add node-core/light (#18502)
This release adds a new light-weight
@sentry/node-core/lightexport to@sentry/node-core. The export acts as a light-weight SDK that does not depend on OpenTelemetry and emits no spans.Use this SDK when:
- You only need error tracking, logs or metrics without tracing data (no spans)
- You want to minimize bundle size and runtime overhead
- You don't need spans emitted by OpenTelemetry instrumentation
It supports error tracking and reporting, logs, metrics, automatic request isolation (requires Node.js 22+) and basic tracing via our
Sentry.startSpan*APIs.Install the SDK by running
npm install @sentry/node-coreand add Sentry at the top of your application's entry file:
import * as Sentry from '@sentry/node-core/light'; Sentry.init({ dsn: '__DSN__', });
Other Changes
- feat(browser): Add mode option for the browser session integration (#18997)
- feat(browser): Include culture context with events (#19148)
- feat(browser): Trace continuation from server-timing headers (#18673)
- feat(core,cloudflare): Enable certain fields with env variables (#19245)
- feat(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 (#19149)
- feat(deps): bump @sentry/bundler-plugin-core from 4.8.0 to 4.9.0 (#19190)
- feat(deps): Bump
globin@sentry/react-router(#19162) - feat(deps): bump hono from 4.11.1 to 4.11.7 (#19068)
- feat(hono): Add base for Sentry Hono middleware (Cloudflare) (#18787)
- feat(nextjs): Set cloudflare runtime (#19084)
- feat(node-core): Add outgoing fetch trace propagation to light mode (#19262)
- feat(react): Add
lazyRouteManifestoption to resolve lazy-route names (#19086) - feat(vercel-ai): Add rerank support and fix token attribute mapping (#19144)
- fix(core): Avoid blocking the process for weightBasedFlushing (#19174)
- fix(core): Avoid blocking the process when calling
flushon empty buffer (#19062) - fix(core): Ensure partially set SDK metadata options are preserved (#19102)
- fix(core): Fix truncation to only keep last message in vercel (#19080)
- fix(core): Intercept .withResponse() to preserve OpenAI stream instrumentation (#19122)
- fix(core): Prevent infinite recursion when event processor throws (#19110)
- fix(core): Record client report with reason for HTTP 413 responses (#19093)
- fix(core): Remove outdated
_experiments.enableMetricsreferences from metrics JSDoc (#19252) - fix(core): Respect event.event_id in scope.captureEvent return value (#19113)
- fix(core): use sessionId for MCP transport correlation (#19172)
- fix(deps): Bump
@nestjs/platform-expressto11.1.13(#19206) - fix(deps): Bump diff to 5.2.2 (#19228)
- fix(deps): Bump js-yaml to 3.14.2 and 4.1.1 (#19216)
- fix(deps): Bump lodash to 4.17.23 (#19211)
- fix(deps): Bump mdast-util-to-hast to 13.2.1 (#19205)
- fix(deps): Bump node-forge to 1.3.2 (#19183)
- fix(deps): Bump react-router to 6.30.3 (#19212)
- fix(deps): Bump sinon to
21.0.1in@sentry/ember(#19246) - fix(deps): Bump vite to 5.4.21 (#19214)
- fix(nextjs): Expose an event id when
captureUnderscoreErrorExceptioncaptures an exception (#19185) - fix(nextjs): Populate SENTRY_SERVER_MODULES in Turbopack (#19231)
- fix(node): Use snake_case for Fastify's
request-handlerop. (#18729) - fix(nuxt): Avoid logging database skip warning when
debugis disabled (#19095) - fix(nuxt): Respect configured environment settings (#19243)
- fix(profiling-node): 137 ABI should not be pruned for node 24 (#19236)
- fix(replay): Improve error messages when compression worker fails to load (#19008)
- fix(svelte): Bump svelte dev dependency to
3.59.2(#19208) - fix(sveltekit): Detect used adapter via
svelte.config.js(#19270) - fix(tanstackstart-react): Use
auto.middleware.tanstackstartas middleware trace origin (#19137) - ref(core): Move
shouldPropagateTraceForUrlfrom opentelemetry to core (#19254) - ref(core): Move shouldPropagateTraceForUrl from opentelemetry to core (#19258)
- ref(sveltekit): Use
untrackto read route id without invalidation (#19272)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add cursor rules for AI integrations contributions (#19167)
- chore: Add Makefiles for dev-packages to make it convenient to run tests (#19203)
- chore: bump prettier to 3.8 (#19198)
- chore(bugbot): Add rule to flag not-unref'd timers (#19082)
- chore(deps-dev): bump @sveltejs/kit from 2.49.5 to 2.50.1 (#19089)
- chore(deps-dev): bump ts-node from 10.9.1 to 10.9.2 (#19189)
- chore(deps-dev): bump vite from 3.2.11 to 5.4.21 (#19227)
- chore(deps-dev): bump webpack from 5.95.0 to 5.104.1 (#19199)
- chore(deps-dev): bump yaml from 2.2.2 to 2.8.2 (#19087)
- chore(deps): Bump Apollo Server from v3 to v5 in integration tests (#19202)
- chore(deps): Bump express in test utils + e2e apps (#19159)
- chore(deps): Bump Lerna to v9 (#19244)
- chore(deps): Bump mongoose in integration tests (#19175)
- chore(deps): Bump solidjs to 1.9.11 to fix
serovalalerts (#19150) - chore(deps): Bump webpack from 5.97.0 to 5.104.0 in ember-classic e2e test (#19239)
- chore(deps): Bump webpack from 5.104.0 to 5.104.1 in ember-classic e2e test (#19247)
- chore(e2e): Add banner to readme (#19138)
- chore(llm): Add skill for fixing security vulnerabilities (#19178)
- chore(node-core): Fix node-core integration test assertions (#19219)
- ci: Ignore ticket creation for base branches other than develop/master (#19103)
- ci(e2e): Remove
nextjs-turbocanary tests (#19118) - ref: Removes unused eslint rule (via yarn fix) (#19266)
- test(e2e): Bump
nextjs-t3to next 15 (#19130) - test(e2e): Migrate test app
nextjs-turbointonextjs-15(#19107)
</details>
Work in this release was contributed by @limbonaut and @rfoel. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 24.96 KB @sentry/browser - with treeshaking flags 23.51 KB @sentry/browser (incl. Tracing) 41.37 KB @sentry/browser (incl. Tracing, Profiling) 45.93 KB @sentry/browser (incl. Tracing, Replay) 79.28 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.14 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.85 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.73 KB @sentry/browser (incl. Feedback) 41.3 KB @sentry/browser (incl. sendFeedback) 29.53 KB @sentry/browser (incl. FeedbackAsync) 34.4 KB @sentry/browser (incl. Metrics) 26.11 KB @sentry/browser (incl. Logs) 26.25 KB @sentry/browser (incl. Metrics & Logs) 26.91 KB @sentry/react 26.69 KB @sentry/react (incl. Tracing) 43.67 KB @sentry/vue 29.31 KB @sentry/vue (incl. Tracing) 43.18 KB @sentry/svelte 24.98 KB CDN Bundle 27.45 KB CDN Bundle (incl. Tracing) 42.19 KB CDN Bundle (incl. Logs, Metrics) 28.27 KB CDN Bundle (incl. Tracing, Logs, Metrics) 43 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.43 KB CDN Bundle (incl. Tracing, Replay) 78.2 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 79.05 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.5 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.37 KB CDN Bundle - uncompressed 80.29 KB CDN Bundle (incl. Tracing) - uncompressed 124.93 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 83.06 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 127.7 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 203.82 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.07 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 241.83 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.57 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 254.32 KB @sentry/nextjs (client) 45.94 KB @sentry/sveltekit (client) 41.81 KB @sentry/node-core 50.93 KB @sentry/node 162.61 KB @sentry/node - without tracing 91.75 KB @sentry/aws-serverless 106.89 KB Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Auto-instrument server function middleware (#19001)
The
sentryTanstackStartVite plugin now automatically instruments middleware increateServerFn().middleware([...])calls. This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry(). -
feat(nextjs): New experimental automatic vercel cron monitoring (#19192)
Setting
_experimental.vercelCronMonitoringtotruein your Sentry configuration will automatically create Sentry cron monitors for your Vercel Cron Jobs.Please note that this is an experimental unstable feature and subject to change.
// next.config.ts export default withSentryConfig(nextConfig, { _experimental: { vercelCronMonitoring: true, }, }); -
feat(node-core): Add node-core/light (#18502)
This release adds a new light-weight
@sentry/node-core/lightexport to@sentry/node-core. The export acts as a light-weight SDK that does not depend on OpenTelemetry and emits no spans.Use this SDK when:
- You only need error tracking, logs or metrics without tracing data (no spans)
- You want to minimize bundle size and runtime overhead
- You don't need spans emitted by OpenTelemetry instrumentation
It supports error tracking and reporting, logs, metrics, automatic request isolation (requires Node.js 22+) and basic tracing via our
Sentry.startSpan*APIs.Install the SDK by running
npm install @sentry/node-coreand add Sentry at the top of your application's entry file:
import * as Sentry from '@sentry/node-core/light'; Sentry.init({ dsn: '__DSN__', });
Other Changes
- feat(browser): Add mode option for the browser session integration (#18997)
- feat(browser): Include culture context with events (#19148)
- feat(browser): Trace continuation from server-timing headers (#18673)
- feat(core,cloudflare): Enable certain fields with env variables (#19245)
- feat(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 (#19149)
- feat(deps): bump @sentry/bundler-plugin-core from 4.8.0 to 4.9.0 (#19190)
- feat(deps): Bump
globin@sentry/react-router(#19162) - feat(deps): bump hono from 4.11.1 to 4.11.7 (#19068)
- feat(hono): Add base for Sentry Hono middleware (Cloudflare) (#18787)
- feat(nextjs): Set cloudflare runtime (#19084)
- feat(node-core): Add outgoing fetch trace propagation to light mode (#19262)
- feat(react): Add
lazyRouteManifestoption to resolve lazy-route names (#19086) - feat(vercel-ai): Add rerank support and fix token attribute mapping (#19144)
- fix(core): Avoid blocking the process for weightBasedFlushing (#19174)
- fix(core): Avoid blocking the process when calling
flushon empty buffer (#19062) - fix(core): Ensure partially set SDK metadata options are preserved (#19102)
- fix(core): Fix truncation to only keep last message in vercel (#19080)
- fix(core): Intercept .withResponse() to preserve OpenAI stream instrumentation (#19122)
- fix(core): Prevent infinite recursion when event processor throws (#19110)
- fix(core): Record client report with reason for HTTP 413 responses (#19093)
- fix(core): Remove outdated
_experiments.enableMetricsreferences from metrics JSDoc (#19252) - fix(core): Respect event.event_id in scope.captureEvent return value (#19113)
- fix(core): use sessionId for MCP transport correlation (#19172)
- fix(deps): Bump
@nestjs/platform-expressto11.1.13(#19206) - fix(deps): Bump diff to 5.2.2 (#19228)
- fix(deps): Bump js-yaml to 3.14.2 and 4.1.1 (#19216)
- fix(deps): Bump lodash to 4.17.23 (#19211)
- fix(deps): Bump mdast-util-to-hast to 13.2.1 (#19205)
- fix(deps): Bump node-forge to 1.3.2 (#19183)
- fix(deps): Bump react-router to 6.30.3 (#19212)
- fix(deps): Bump sinon to
21.0.1in@sentry/ember(#19246) - fix(deps): Bump vite to 5.4.21 (#19214)
- fix(nextjs): Expose an event id when
captureUnderscoreErrorExceptioncaptures an exception (#19185) - fix(nextjs): Populate SENTRY_SERVER_MODULES in Turbopack (#19231)
- fix(node): Use snake_case for Fastify's
request-handlerop. (#18729) - fix(nuxt): Avoid logging database skip warning when
debugis disabled (#19095) - fix(nuxt): Respect configured environment settings (#19243)
- fix(profiling-node): 137 ABI should not be pruned for node 24 (#19236)
- fix(replay): Improve error messages when compression worker fails to load (#19008)
- fix(svelte): Bump svelte dev dependency to
3.59.2(#19208) - fix(sveltekit): Detect used adapter via
svelte.config.js(#19270) - fix(tanstackstart-react): Use
auto.middleware.tanstackstartas middleware trace origin (#19137) - ref(core): Move
shouldPropagateTraceForUrlfrom opentelemetry to core (#19254) - ref(core): Move shouldPropagateTraceForUrl from opentelemetry to core (#19258)
- ref(sveltekit): Use
untrackto read route id without invalidation (#19272)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Add cursor rules for AI integrations contributions (#19167)
- chore: Add Makefiles for dev-packages to make it convenient to run tests (#19203)
- chore: bump prettier to 3.8 (#19198)
- chore(bugbot): Add rule to flag not-unref'd timers (#19082)
- chore(deps-dev): bump @sveltejs/kit from 2.49.5 to 2.50.1 (#19089)
- chore(deps-dev): bump ts-node from 10.9.1 to 10.9.2 (#19189)
- chore(deps-dev): bump vite from 3.2.11 to 5.4.21 (#19227)
- chore(deps-dev): bump webpack from 5.95.0 to 5.104.1 (#19199)
- chore(deps-dev): bump yaml from 2.2.2 to 2.8.2 (#19087)
- chore(deps): Bump Apollo Server from v3 to v5 in integration tests (#19202)
- chore(deps): Bump express in test utils + e2e apps (#19159)
- chore(deps): Bump Lerna to v9 (#19244)
- chore(deps): Bump mongoose in integration tests (#19175)
- chore(deps): Bump solidjs to 1.9.11 to fix
serovalalerts (#19150) - chore(deps): Bump webpack from 5.97.0 to 5.104.0 in ember-classic e2e test (#19239)
- chore(deps): Bump webpack from 5.104.0 to 5.104.1 in ember-classic e2e test (#19247)
- chore(e2e): Add banner to readme (#19138)
- chore(llm): Add skill for fixing security vulnerabilities (#19178)
- chore(node-core): Fix node-core integration test assertions (#19219)
- ci: Ignore ticket creation for base branches other than develop/master (#19103)
- ci(e2e): Remove
nextjs-turbocanary tests (#19118) - ref: Removes unused eslint rule (via yarn fix) (#19266)
- test(e2e): Bump
nextjs-t3to next 15 (#19130) - test(e2e): Migrate test app
nextjs-turbointonextjs-15(#19107)
</details>
Work in this release was contributed by @limbonaut and @rfoel. Thank you for your contributions!
-
- 10.39.0-alpha.013 Feb 2026pre-release
Release notes
Open source โThis preview release includes updates to our Span Streaming PoC implementation. Use at your own risk.
New:
- Browser: SDKs now also use a span buffer, flushing periodically, on span amount limit and on segment span end
- Browser: It's now enough to only register
spanStreamingIntegrationinSentry.init.()to opt into span streaming - Browser:
sentry.replay_idattribute is attached to spans started during an active replay - Browser:
sentry.profiler_idattribute is attached to spans started while the continuous profiler is running - Browser: Web vital spans are sent as v2 spans
- Browser:
spanStreamingIntegrationis now exported from CDN bundles supporting tracing
Known issues:
- Missing data from various integrations and framework SDKs
ignoreSpansis not yet applied
Untested:
- Meta frameworks or framework SDKs building on top of @sentry/browser or @sentry/node. Likely, data is missing, noisy spans are not filtered, etc.
Usage (At your own risk)
Browser
Sentry.init({ dsn: '...', integrations: [ Sentry.browserTracingIntegration(), Sentry.spanStreamingIntegration(), ] })Server (Node)
Sentry.init({ dsn: '...', traceLifecycle: 'stream', })Bundle size ๐ฆ
Path Size @sentry/browser 25.93 KB @sentry/browser - with treeshaking flags 24.43 KB @sentry/browser (incl. Tracing) 42.78 KB @sentry/browser (incl. Tracing, Profiling) 47.43 KB @sentry/browser (incl. Tracing, Replay) 80.71 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 70.51 KB @sentry/browser (incl. Tracing, Replay with Canvas) 85.27 KB @sentry/browser (incl. Tracing, Replay, Feedback) 97.17 KB @sentry/browser (incl. Feedback) 42.23 KB @sentry/browser (incl. sendFeedback) 30.48 KB @sentry/browser (incl. FeedbackAsync) 35.33 KB @sentry/browser (incl. Metrics) 26.87 KB @sentry/browser (incl. Logs) 27.02 KB @sentry/browser (incl. Metrics & Logs) 27.66 KB @sentry/react 27.62 KB @sentry/react (incl. Tracing) 45.03 KB @sentry/vue 30.51 KB @sentry/vue (incl. Tracing) 44.58 KB @sentry/svelte 25.95 KB CDN Bundle 28.18 KB CDN Bundle (incl. Tracing) 44.63 KB CDN Bundle (incl. Logs, Metrics) 29.01 KB CDN Bundle (incl. Tracing, Logs, Metrics) 45.44 KB CDN Bundle (incl. Replay, Logs, Metrics) 67.21 KB CDN Bundle (incl. Tracing, Replay) 80.67 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 81.53 KB CDN Bundle (incl. Tracing, Replay, Feedback) 86 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 86.84 KB CDN Bundle - uncompressed 82.31 KB CDN Bundle (incl. Tracing) - uncompressed 132.71 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 135.48 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 205.92 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 247.08 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 249.84 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 259.58 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 262.33 KB @sentry/nextjs (client) 47.4 KB @sentry/sveltekit (client) 43.23 KB @sentry/node-core 51.8 KB @sentry/node 165.43 KB @sentry/node - without tracing 94.67 KB @sentry/aws-serverless 109.55 KB - 10.38.029 Jan 2026
Release notes
Open source โImportant Changes
- feat(tanstackstart-react): Auto-instrument request middleware (#18989)
The
sentryTanstackStartVite plugin now automatically instrumentsmiddlewarearrays increateFileRoute(). This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry().Other Changes
- feat: Use v4.8.0 bundler plugins (#18993)
- feat(browser): Add
logs.metricsbundle (#19020) - feat(browser): Add
replay.logs.metricsbundle (#19021) - feat(browser): Add
tracing.replay.logs.metricsbundle (#19039) - feat(deps): bump import-in-the-middle from 2.0.1 to 2.0.6 (#19042)
- feat(node): Add AI manual instrumentation exports to Node (#19063)
- feat(wasm): initialised sentryWasmImages for webworkers (#18812)
- fix(core): Classify custom
AggregateErrors as exception groups (#19053) - fix(nextjs): Turn off debugID injection if sourcemaps are explicitly disabled (#19010)
- fix(react): Avoid
String(key)to fix Symbol conversion error (#18982) - fix(react): Prevent lazy route handlers from updating wrong navigation span (#18898)
<details> <summary><strong>Internal Changes</strong></summary>
- feat(deps-dev): bump @types/rsvp from 4.0.4 to 4.0.9 (#19038)
- ci(build): Run full test suite on new bundle with logs+metrics (#19065)
- ci(deps): bump actions/create-github-app-token from 1 to 2 (#19028)
- ci(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (#19029)
- chore: Add external contributor to CHANGELOG.md (#19005)
- chore(aws-serverless): Fix local cache issues (#19081)
- chore(dependabot): Allow all packages to update (#19024)
- chore(dependabot): Update ignore patterns and add more groups (#19037)
- chore(dependabot): Update ignore patterns and add more groups (#19043)
- chore(deps-dev): bump @edge-runtime/types from 3.0.1 to 4.0.0 (#19032)
- chore(deps-dev): bump @vercel/nft from 0.29.4 to 1.3.0 (#19030)
- chore(deps): bump @actions/artifact from 2.1.11 to 5.0.3 (#19031)
- chore(deps): bump hono from 4.11.4 to 4.11.7 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#19009)
- chore(deps): bump next from 16.0.9 to 16.1.5 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#19012)
- chore(deps): Bump trpc v11 dependency in e2e test (#19061)
- chore(deps): Bump wrangler to 4.61.0 (#19023)
- chore(deps): Upgrade @remix-run deps to 2.17.4 (#19040)
- chore(deps): Upgrade
nextversions 15 and 16 (#19057) - chore(deps): Upgrade Lerna to v8 (#19050)
- chore(deps): Upgrade next to 14.2.35 (#19055)
- chore(deps): Upgrade react-router, @react-router/node, @react-router/serve, @react-router/dev to 7.13.0 (#19026)
- chore(llm): Add claude skill + cursor command for adding new cdn bundles (#19048)
- chore(llm): Ignore local Claude settings (#18893)
- chore(react): Update react-router-5 dev dependency to another than 5.0.0 (#19047)
- chore(release): Add generate-changelog script (#18999)
- chore(remix): Upgrade @remix-run/router to ^1.23.2 (#19045)
- chore(solidstart): Bump peer dependencies of @solidjs/start (#19051)
- chore(solidstart): Upgrade Vinxi to update h3 peer dependency (#19018)
- chore(tests): Reject messages from unknown origins in integration tests (#19016)
</details>
Work in this release was contributed by @harshit078. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 24.73 KB @sentry/browser - with treeshaking flags 23.27 KB @sentry/browser (incl. Tracing) 41.16 KB @sentry/browser (incl. Tracing, Profiling) 45.69 KB @sentry/browser (incl. Tracing, Replay) 78.87 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.76 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.46 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.37 KB @sentry/browser (incl. Feedback) 41.06 KB @sentry/browser (incl. sendFeedback) 29.31 KB @sentry/browser (incl. FeedbackAsync) 34.19 KB @sentry/browser (incl. Metrics) 25.81 KB @sentry/browser (incl. Logs) 25.96 KB @sentry/browser (incl. Metrics & Logs) 26.61 KB @sentry/react 26.42 KB @sentry/react (incl. Tracing) 43.34 KB @sentry/vue 29.07 KB @sentry/vue (incl. Tracing) 42.91 KB @sentry/svelte 24.75 KB CDN Bundle 27.25 KB CDN Bundle (incl. Tracing) 41.93 KB CDN Bundle (incl. Logs, Metrics) 28.07 KB CDN Bundle (incl. Tracing, Logs, Metrics) 42.73 KB CDN Bundle (incl. Replay, Logs, Metrics) 66.09 KB CDN Bundle (incl. Tracing, Replay) 77.8 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 78.65 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.13 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.03 KB CDN Bundle - uncompressed 79.7 KB CDN Bundle (incl. Tracing) - uncompressed 124.17 KB CDN Bundle (incl. Logs, Metrics) - uncompressed 82.47 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 126.94 KB CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 202.96 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 238.04 KB CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 240.8 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 250.54 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 253.29 KB @sentry/nextjs (client) 45.63 KB @sentry/sveltekit (client) 41.52 KB @sentry/node-core 50.85 KB @sentry/node 162.19 KB @sentry/node - without tracing 91.64 KB @sentry/aws-serverless 106.79 KB Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Auto-instrument request middleware (#18989)
The
sentryTanstackStartVite plugin now automatically instrumentsmiddlewarearrays increateFileRoute(). This captures performance data without requiring manual wrapping withwrapMiddlewaresWithSentry().
Other Changes
- feat: Use v4.8.0 bundler plugins (#18993)
- feat(browser): Add
logs.metricsbundle (#19020) - feat(browser): Add
replay.logs.metricsbundle (#19021) - feat(browser): Add
tracing.replay.logs.metricsbundle (#19039) - feat(deps): bump import-in-the-middle from 2.0.1 to 2.0.6 (#19042)
- feat(node): Add AI manual instrumentation exports to Node (#19063)
- feat(wasm): initialised sentryWasmImages for webworkers (#18812)
- fix(core): Classify custom
AggregateErrors as exception groups (#19053) - fix(nextjs): Turn off debugID injection if sourcemaps are explicitly disabled (#19010)
- fix(react): Avoid
String(key)to fix Symbol conversion error (#18982) - fix(react): Prevent lazy route handlers from updating wrong navigation span (#18898)
<details> <summary><strong>Internal Changes</strong></summary>
- feat(deps-dev): bump @types/rsvp from 4.0.4 to 4.0.9 (#19038)
- ci(build): Run full test suite on new bundle with logs+metrics (#19065)
- ci(deps): bump actions/create-github-app-token from 1 to 2 (#19028)
- ci(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (#19029)
- chore: Add external contributor to CHANGELOG.md (#19005)
- chore(aws-serverless): Fix local cache issues (#19081)
- chore(dependabot): Allow all packages to update (#19024)
- chore(dependabot): Update ignore patterns and add more groups (#19037)
- chore(dependabot): Update ignore patterns and add more groups (#19043)
- chore(deps-dev): bump @edge-runtime/types from 3.0.1 to 4.0.0 (#19032)
- chore(deps-dev): bump @vercel/nft from 0.29.4 to 1.3.0 (#19030)
- chore(deps): bump @actions/artifact from 2.1.11 to 5.0.3 (#19031)
- chore(deps): bump hono from 4.11.4 to 4.11.7 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#19009)
- chore(deps): bump next from 16.0.9 to 16.1.5 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#19012)
- chore(deps): Bump trpc v11 dependency in e2e test (#19061)
- chore(deps): Bump wrangler to 4.61.0 (#19023)
- chore(deps): Upgrade @remix-run deps to 2.17.4 (#19040)
- chore(deps): Upgrade
nextversions 15 and 16 (#19057) - chore(deps): Upgrade Lerna to v8 (#19050)
- chore(deps): Upgrade next to 14.2.35 (#19055)
- chore(deps): Upgrade react-router, @react-router/node, @react-router/serve, @react-router/dev to 7.13.0 (#19026)
- chore(llm): Add claude skill + cursor command for adding new cdn bundles (#19048)
- chore(llm): Ignore local Claude settings (#18893)
- chore(react): Update react-router-5 dev dependency to another than 5.0.0 (#19047)
- chore(release): Add generate-changelog script (#18999)
- chore(remix): Upgrade @remix-run/router to ^1.23.2 (#19045)
- chore(solidstart): Bump peer dependencies of @solidjs/start (#19051)
- chore(solidstart): Upgrade Vinxi to update h3 peer dependency (#19018)
- chore(tests): Reject messages from unknown origins in integration tests (#19016)
</details>
Work in this release was contributed by @harshit078. Thank you for your contribution!
- 10.37.027 Jan 2026
Release notes
Open source โImportant Changes
-
feat(core): Introduces a new
Sentry.setConversationId()API to track multi turn AI conversations across API calls. (#18909)You can now set a conversation ID that will be automatically applied to spans within that scope. This allows you to link traces from the same conversation together.
import * as Sentry from '@sentry/node'; // Set conversation ID for all subsequent spans Sentry.setConversationId('conv_abc123'); // All AI spans will now include the gen_ai.conversation.id attribute await openai.chat.completions.create({...});This is particularly useful for tracking multiple AI API calls that are part of the same conversation, allowing you to analyze entire conversation flows in Sentry. The conversation ID is stored on the isolation scope and automatically applied to spans via the new
conversationIdIntegration. -
feat(tanstackstart-react): Auto-instrument global middleware in
sentryTanstackStartVite plugin (#18844)The
sentryTanstackStartVite plugin now automatically instrumentsrequestMiddlewareandfunctionMiddlewarearrays increateStart(). This captures performance data without requiring manual wrapping.Auto-instrumentation is enabled by default. To disable it:
// vite.config.ts sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', autoInstrumentMiddleware: false, });
Other Changes
- feat(core): simplify truncation logic to only keep the newest message (#18906)
- feat(core): Support new client discard reason
invalid(#18901) - feat(deps): Bump OpenTelemetry instrumentations (#18934)
- feat(nextjs): Update default ignore list for sourcemaps (#18938)
- feat(node): pass prisma instrumentation options through (#18900)
- feat(nuxt): Don't run source maps related code on Nuxt "prepare" (#18936)
- feat(replay): Update client report discard reason for invalid sessions (#18796)
- feat(winston): Add customLevelMap for winston transport (#18922)
- feat(react-router): Add support for React Router instrumentation API (#18580)
- fix(astro): Do not show warnings for valid options (#18947)
- fix(core): Report well known values in gen_ai.operation.name attribute (#18925)
- fix(node-core): ignore vercel
AbortErrorby default on unhandled rejection (#18973) - fix(nuxt): include sentry.config.server.ts in nuxt app types (#18971)
- fix(profiling): Add
platformto envelope item header (#18954) - fix(react): Defer React Router span finalization until lazy routes load (#18881)
- ref(core): rename
gen_ai.input.messages.original_lengthtosentry.sdk_meta.gen_ai.input.messages.original_length(#18970) - ref(core): rename
gen_ai.request.messagestogen_ai.input.messages(#18944) - ref(core): Set system message as separate attribute (#18978)
- deps: Bump version of sentry-bundler-plugins (#18972)
<details> <summary><strong>Internal Changes</strong></summary>
- chore(e2e): Add e2e claude skill (#18957)
- chore(e2e): Add Makefile to make running specific e2e test apps easier (#18953)
- chore(e2e): Modify e2e skill to also account for untracked files (#18959)
- ref(tests): use constants in ai integration tests and add missing ones (#18945)
- test(nextjs): Added nextjs CF workers test app (#18928)
- test(prisma): Move to yarn prisma (#18975)
</details>
Work in this release was contributed by @sebws, @harshit078, and @fedetorre. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 24.73 KB @sentry/browser - with treeshaking flags 23.27 KB @sentry/browser (incl. Tracing) 41.15 KB @sentry/browser (incl. Tracing, Profiling) 45.68 KB @sentry/browser (incl. Tracing, Replay) 78.86 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.75 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.46 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.36 KB @sentry/browser (incl. Feedback) 41.06 KB @sentry/browser (incl. sendFeedback) 29.31 KB @sentry/browser (incl. FeedbackAsync) 34.19 KB @sentry/browser (incl. Metrics) 25.81 KB @sentry/browser (incl. Logs) 25.95 KB @sentry/browser (incl. Metrics & Logs) 26.6 KB @sentry/react 26.42 KB @sentry/react (incl. Tracing) 43.33 KB @sentry/vue 29.07 KB @sentry/vue (incl. Tracing) 42.9 KB @sentry/svelte 24.74 KB CDN Bundle 27.24 KB CDN Bundle (incl. Tracing) 41.93 KB CDN Bundle (incl. Tracing, Logs, Metrics) 42.73 KB CDN Bundle (incl. Tracing, Replay) 77.82 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.12 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 84.01 KB CDN Bundle - uncompressed 79.69 KB CDN Bundle (incl. Tracing) - uncompressed 124.16 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 126.93 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 238.03 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 250.53 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 253.28 KB @sentry/nextjs (client) 45.63 KB @sentry/sveltekit (client) 41.51 KB @sentry/node-core 50.8 KB @sentry/node 162.16 KB @sentry/node - without tracing 91.59 KB @sentry/aws-serverless 106.74 KB Release notes
Open source โImportant Changes
-
feat(core): Introduces a new
Sentry.setConversationId()API to track multi turn AI conversations across API calls. (#18909)You can now set a conversation ID that will be automatically applied to spans within that scope. This allows you to link traces from the same conversation together.
import * as Sentry from '@sentry/node'; // Set conversation ID for all subsequent spans Sentry.setConversationId('conv_abc123'); // All AI spans will now include the gen_ai.conversation.id attribute await openai.chat.completions.create({...});This is particularly useful for tracking multiple AI API calls that are part of the same conversation, allowing you to analyze entire conversation flows in Sentry. The conversation ID is stored on the isolation scope and automatically applied to spans via the new
conversationIdIntegration. -
feat(tanstackstart-react): Auto-instrument global middleware in
sentryTanstackStartVite plugin (#18844)The
sentryTanstackStartVite plugin now automatically instrumentsrequestMiddlewareandfunctionMiddlewarearrays increateStart(). This captures performance data without requiring manual wrapping.Auto-instrumentation is enabled by default. To disable it:
// vite.config.ts sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', autoInstrumentMiddleware: false, });
Other Changes
- feat(core): simplify truncation logic to only keep the newest message (#18906)
- feat(core): Support new client discard reason
invalid(#18901) - feat(deps): Bump OpenTelemetry instrumentations (#18934)
- feat(nextjs): Update default ignore list for sourcemaps (#18938)
- feat(node): pass prisma instrumentation options through (#18900)
- feat(nuxt): Don't run source maps related code on Nuxt "prepare" (#18936)
- feat(replay): Update client report discard reason for invalid sessions (#18796)
- feat(winston): Add customLevelMap for winston transport (#18922)
- feat(react-router): Add support for React Router instrumentation API (#18580)
- fix(astro): Do not show warnings for valid options (#18947)
- fix(core): Report well known values in gen_ai.operation.name attribute (#18925)
- fix(node-core): ignore vercel
AbortErrorby default on unhandled rejection (#18973) - fix(nuxt): include sentry.config.server.ts in nuxt app types (#18971)
- fix(profiling): Add
platformto envelope item header (#18954) - fix(react): Defer React Router span finalization until lazy routes load (#18881)
- ref(core): rename
gen_ai.input.messages.original_lengthtosentry.sdk_meta.gen_ai.input.messages.original_length(#18970) - ref(core): rename
gen_ai.request.messagestogen_ai.input.messages(#18944) - ref(core): Set system message as separate attribute (#18978)
- deps: Bump version of sentry-bundler-plugins (#18972)
<details> <summary><strong>Internal Changes</strong></summary>
- chore(e2e): Add e2e claude skill (#18957)
- chore(e2e): Add Makefile to make running specific e2e test apps easier (#18953)
- chore(e2e): Modify e2e skill to also account for untracked files (#18959)
- ref(tests): use constants in ai integration tests and add missing ones (#18945)
- test(nextjs): Added nextjs CF workers test app (#18928)
- test(prisma): Move to yarn prisma (#18975)
</details>
Work in this release was contributed by @sebws, @harshit078, and @fedetorre. Thank you for your contributions!
-
- 10.36.021 Jan 2026
Release notes
Open source โ- feat(node): Add Prisma v7 support (#18908)
- feat(opentelemetry): Support
db.system.nameattribute for database spans (#18902) - feat(deps): Bump OpenTelemetry dependencies (#18878)
- fix(core): Sanitize data URLs in
http.clientspans (#18896) - fix(nextjs): Add ALS runner fallbacks for serverless environments (#18889)
- fix(node): Profiling debug ID matching (#18817)
<details> <summary><strong>Internal Changes</strong></summary>
- chore(deps-dev): bump @remix-run/server-runtime from 2.15.2 to 2.17.3 in /packages/remix (#18750)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.61 KB @sentry/browser - with treeshaking flags 23.15 KB @sentry/browser (incl. Tracing) 41.04 KB @sentry/browser (incl. Tracing, Profiling) 45.56 KB @sentry/browser (incl. Tracing, Replay) 78.74 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.63 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.32 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.24 KB @sentry/browser (incl. Feedback) 40.94 KB @sentry/browser (incl. sendFeedback) 29.19 KB @sentry/browser (incl. FeedbackAsync) 34.07 KB @sentry/browser (incl. Metrics) 25.69 KB @sentry/browser (incl. Logs) 25.84 KB @sentry/browser (incl. Metrics & Logs) 26.48 KB @sentry/react 26.3 KB @sentry/react (incl. Tracing) 43.22 KB @sentry/vue 28.95 KB @sentry/vue (incl. Tracing) 42.79 KB @sentry/svelte 24.63 KB CDN Bundle 27.13 KB CDN Bundle (incl. Tracing) 41.83 KB CDN Bundle (incl. Tracing, Logs, Metrics) 42.63 KB CDN Bundle (incl. Tracing, Replay) 77.67 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.98 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 83.87 KB CDN Bundle - uncompressed 79.36 KB CDN Bundle (incl. Tracing) - uncompressed 123.84 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 126.61 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 237.64 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 250.14 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 252.89 KB @sentry/nextjs (client) 45.53 KB @sentry/sveltekit (client) 41.4 KB @sentry/node-core 50.68 KB @sentry/node 161.54 KB @sentry/node - without tracing 91.46 KB @sentry/aws-serverless 106.6 KB Release notes
Open source โ- feat(node): Add Prisma v7 support (#18908)
- feat(opentelemetry): Support
db.system.nameattribute for database spans (#18902) - feat(deps): Bump OpenTelemetry dependencies (#18878)
- fix(core): Sanitize data URLs in
http.clientspans (#18896) - fix(nextjs): Add ALS runner fallbacks for serverless environments (#18889)
- fix(node): Profiling debug ID matching
<details> <summary><strong>Internal Changes</strong></summary>
- chore(deps-dev): bump @remix-run/server-runtime from 2.15.2 to 2.17.3 in /packages/remix (#18750)
</details>
- 10.35.019 Jan 2026
Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Add
sentryTanstackStartvite plugin to manage automatic source map uploads (#18712)You can now configure source maps upload for TanStack Start using the
sentryTanstackStartVite plugin:// vite.config.ts import { defineConfig } from 'vite'; import { sentryTanstackStart } from '@sentry/tanstackstart-react'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; export default defineConfig({ plugins: [ sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', }), tanstackStart(), ], });
Other Changes
- feat(browser): Add CDN bundle for
tracing.replay.feedback.logs.metrics(#18785) - feat(browser): Add shim package for logs (#18831)
- feat(cloudflare): Automatically set the release id when CF_VERSION_METADATA is enabled (#18855)
- feat(core): Add
ignoredclient report event drop reason (#18815) - feat(logs): Add
Logexports to browser and node packages (#18857) - feat(node-core,bun): Export processSessionIntegration from node-core and add it to bun (#18852)
- fix(core): Find the correct IP address regardless their case (#18880)
- fix(core): Check for AI operation id to detect a vercelai span (#18823)
- fix(ember): Use ES5 syntax in inline vendor scripts (#18858)
- fix(fetch): Shallow-clone fetch options to prevent mutation (#18867)
<details> <summary><strong>Internal Changes</strong></summary>
- chore(ci): Use javascript-sdk-gitflow app instead of personal token (#18829)
- chore(deps): Bump
@sveltejs/kitdevDependency to2.49.5(#18848) - chore(deps): Bump bundler plugins to ^4.6.2 (#18822)
- chore(deps): bump hono from 4.10.3 to 4.11.4 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#18806)
- chore(test): Bump svelte dependencies (#18850)
- chore(core): Comment out Error tests in langchain (#18837)
- meta(changelog): Fix entry for tanstack start vite plugin (#18883)
- test(e2e): Add testing app for User Feedback (#18877)
- test(fastify): Verify if upstream error is fixed and won't regress (#18838)
</details>
Work in this release was contributed by @rreckonerr. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 24.52 KB @sentry/browser - with treeshaking flags 23.06 KB @sentry/browser (incl. Tracing) 40.88 KB @sentry/browser (incl. Tracing, Profiling) 45.36 KB @sentry/browser (incl. Tracing, Replay) 78.58 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.51 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.18 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.09 KB @sentry/browser (incl. Feedback) 40.85 KB @sentry/browser (incl. sendFeedback) 29.1 KB @sentry/browser (incl. FeedbackAsync) 33.97 KB @sentry/browser (incl. Metrics) 25.6 KB @sentry/browser (incl. Logs) 25.75 KB @sentry/browser (incl. Metrics & Logs) 26.39 KB @sentry/react 26.21 KB @sentry/react (incl. Tracing) 43.05 KB @sentry/vue 28.87 KB @sentry/vue (incl. Tracing) 42.65 KB @sentry/svelte 24.53 KB CDN Bundle 27.02 KB CDN Bundle (incl. Tracing) 41.67 KB CDN Bundle (incl. Tracing, Logs, Metrics) 42.48 KB CDN Bundle (incl. Tracing, Replay) 77.51 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.82 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 83.71 KB CDN Bundle - uncompressed 79.18 KB CDN Bundle (incl. Tracing) - uncompressed 123.53 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 126.3 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 237.33 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 249.83 KB CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 252.58 KB @sentry/nextjs (client) 45.35 KB @sentry/sveltekit (client) 41.26 KB @sentry/node-core 50.72 KB @sentry/node 158.39 KB @sentry/node - without tracing 91.16 KB @sentry/aws-serverless 106.3 KB Release notes
Open source โImportant Changes
-
feat(tanstackstart-react): Add
sentryTanstackStartvite plugin to manage automatic source map uploads (#18712)You can now configure source maps upload for TanStack Start using the
sentryTanstackStartVite plugin:// vite.config.ts import { defineConfig } from 'vite'; import { sentryTanstackStart } from '@sentry/tanstackstart-react'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; export default defineConfig({ plugins: [ sentryTanstackStart({ authToken: process.env.SENTRY_AUTH_TOKEN, org: 'your-org', project: 'your-project', }), tanstackStart(), ], });
Other Changes
- feat(browser): Add CDN bundle for
tracing.replay.feedback.logs.metrics(#18785) - feat(browser): Add shim package for logs (#18831)
- feat(cloudflare): Automatically set the release id when CF_VERSION_METADATA is enabled (#18855)
- feat(core): Add
ignoredclient report event drop reason (#18815) - feat(logs): Add
Logexports to browser and node packages (#18857) - feat(node-core,bun): Export processSessionIntegration from node-core and add it to bun (#18852)
- fix(core): Find the correct IP address regardless their case (#18880)
- fix(core): Check for AI operation id to detect a vercelai span (#18823)
- fix(ember): Use ES5 syntax in inline vendor scripts (#18858)
- fix(fetch): Shallow-clone fetch options to prevent mutation (#18867)
<details> <summary><strong>Internal Changes</strong></summary>
- chore(ci): Use javascript-sdk-gitflow app instead of personal token (#18829)
- chore(deps): Bump
@sveltejs/kitdevDependency to2.49.5(#18848) - chore(deps): Bump bundler plugins to ^4.6.2 (#18822)
- chore(deps): bump hono from 4.10.3 to 4.11.4 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#18806)
- chore(test): Bump svelte dependencies (#18850)
- chore(core): Comment out Error tests in langchain (#18837)
- meta(changelog): Fix entry for tanstack start vite plugin (#18883)
- test(e2e): Add testing app for User Feedback (#18877)
- test(fastify): Verify if upstream error is fixed and won't regress (#18838)
</details>
Work in this release was contributed by @rreckonerr. Thank you for your contribution!
-
- 10.34.014 Jan 2026
Release notes
Open source โImportant Changes
-
feat(core): Add option to enhance the fetch error message (#18466)
You can now enable enhanced fetch error messages by setting the
enhancedFetchErrorMessageoption. When enabled, the SDK will include additional context in fetch error messages to help with debugging. -
feat(nextjs): Add routeManifestInjection option to exclude routes from client bundle (#18798)
A new
routeManifestInjectionoption allows you to exclude sensitive routes from being injected into the client bundle. -
feat(tanstackstart-react): Add
wrapMiddlewaresWithSentryfor manual middleware instrumentation (#18680)You can now wrap your middlewares using
wrapMiddlewaresWithSentry, allowing you to trace middleware execution in your TanStack Start application.import { createMiddleware } from '@tanstack/react-start'; import { wrapMiddlewaresWithSentry } from '@sentry/tanstackstart-react'; const loggingMiddleware = createMiddleware({ type: 'function' }).server(async ({ next }) => { console.log('Request started'); return next(); }); export const [wrappedLoggingMiddleware] = wrapMiddlewaresWithSentry({ loggingMiddleware });
Other Changes
- feat(browser): Add CDN bundle for
tracing.logs.metrics(#18784) - feat(core,node-core): Consolidate bun and node types with ServerRuntimeOptions (#18734)
- feat(nextjs): Remove tracing from generation function template (#18733)
- fix(core): Don't record outcomes for failed client reports (#18808)
- fix(deno,cloudflare): Prioritize name from params over name from options (#18800)
- fix(web-vitals): Add error handling for invalid object keys in
WeakMap(#18809)
<details> <summary><strong>Internal Changes</strong></summary>
- ref(nextjs): Split
withSentryConfig(#18777) - test(e2e): Pin @shopify/remix-oxygen to unblock ci (#18811)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.52 KB @sentry/browser - with treeshaking flags 23.06 KB @sentry/browser (incl. Tracing) 40.88 KB @sentry/browser (incl. Tracing, Profiling) 45.36 KB @sentry/browser (incl. Tracing, Replay) 78.58 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.51 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.17 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.08 KB @sentry/browser (incl. Feedback) 40.85 KB @sentry/browser (incl. sendFeedback) 29.1 KB @sentry/browser (incl. FeedbackAsync) 33.97 KB @sentry/browser (incl. Metrics) 25.6 KB @sentry/browser (incl. Logs) 25.75 KB @sentry/browser (incl. Metrics & Logs) 26.39 KB @sentry/react 26.21 KB @sentry/react (incl. Tracing) 43.05 KB @sentry/vue 28.87 KB @sentry/vue (incl. Tracing) 42.64 KB @sentry/svelte 24.53 KB CDN Bundle 26.96 KB CDN Bundle (incl. Tracing) 41.6 KB CDN Bundle (incl. Tracing, Logs, Metrics) 42.48 KB CDN Bundle (incl. Tracing, Replay) 77.43 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.72 KB CDN Bundle - uncompressed 78.99 KB CDN Bundle (incl. Tracing) - uncompressed 123.34 KB CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 126.29 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 237.15 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 249.64 KB @sentry/nextjs (client) 45.34 KB @sentry/sveltekit (client) 41.25 KB @sentry/node-core 50.69 KB @sentry/node 158.35 KB @sentry/node - without tracing 91.14 KB @sentry/aws-serverless 106.28 KB Release notes
Open source โImportant Changes
-
feat(core): Add option to enhance the fetch error message (#18466)
You can now enable enhanced fetch error messages by setting the
enhancedFetchErrorMessageoption. When enabled, the SDK will include additional context in fetch error messages to help with debugging. -
feat(nextjs): Add routeManifestInjection option to exclude routes from client bundle (#18798)
A new
routeManifestInjectionoption allows you to exclude sensitive routes from being injected into the client bundle. -
feat(tanstackstart-react): Add
wrapMiddlewaresWithSentryfor manual middleware instrumentation (#18680)You can now wrap your middlewares using
wrapMiddlewaresWithSentry, allowing you to trace middleware execution in your TanStack Start application.import { createMiddleware } from '@tanstack/react-start'; import { wrapMiddlewaresWithSentry } from '@sentry/tanstackstart-react'; const loggingMiddleware = createMiddleware({ type: 'function' }).server(async ({ next }) => { console.log('Request started'); return next(); }); export const [wrappedLoggingMiddleware] = wrapMiddlewaresWithSentry({ loggingMiddleware });
Other Changes
- feat(browser): Add CDN bundle for
tracing.logs.metrics(#18784) - feat(core,node-core): Consolidate bun and node types with ServerRuntimeOptions (#18734)
- feat(nextjs): Remove tracing from generation function template (#18733)
- fix(core): Don't record outcomes for failed client reports (#18808)
- fix(deno,cloudflare): Prioritize name from params over name from options (#18800)
- fix(web-vitals): Add error handling for invalid object keys in
WeakMap(#18809)
<details> <summary><strong>Internal Changes</strong></summary>
- ref(nextjs): Split
withSentryConfig(#18777) - test(e2e): Pin @shopify/remix-oxygen to unblock ci (#18811)
</details>
-
- 10.33.012 Jan 2026
Release notes
Open source โImportant Changes
-
feat(core): Apply scope attributes to metrics (#18738)
You can now set attributes on the SDK's scopes which will be applied to all metrics as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.metrics.count('clicks', 1, { attributes: { activeSince: 100 } }); Sentry.metrics.gauge('timeSinceRefresh', 4, { unit: 'hour' }); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.metrics.count('response_time', 283.33, { unit: 'millisecond' }); -
feat(tracing): Add Vercel AI SDK v6 support (#18741)
The Sentry SDK now supports the Vercel AI SDK v6. Tracing and error monitoring will work automatically with the new version.
-
feat(wasm): Add applicationKey option for third-party error filtering (#18762)
Adds support for applying an application key to WASM stack frames that can be then used in the
thirdPartyErrorFilterIntegrationfor detection of first-party code.Usage:
Sentry.init({ integrations: [ // Integration order matters: wasmIntegration needs to be before thirdPartyErrorFilterIntegration wasmIntegration({ applicationKey: 'your-custom-application-key' }), โโโโโ thirdPartyErrorFilterIntegration({ โ behaviour: 'drop-error-if-exclusively-contains-third-party-frames', โโ matching keys filterKeys: ['your-custom-application-key'] โโโโโโโโโโโโโโโโโโโโโโโโโโโ }), ], });
Other Changes
- feat(cloudflare): Support
propagateTraceparent(#18569) - feat(core): Add
ignoreSentryInternalFramesoption tothirdPartyErrorFilterIntegration(#18632) - feat(core): Add gen_ai.conversation.id attribute to OpenAI and LangGrโฆ (#18703)
- feat(core): Add recordInputs/recordOutputs options to MCP server wrapper (#18600)
- feat(core): Support IPv6 hosts in the DSN (#2996) (#17708)
- feat(deps): Bump bundler plugins to ^4.6.1 (#17980)
- feat(nextjs): Emit warning for conflicting treeshaking / debug settings (#18638)
- feat(nextjs): Print Turbopack note for deprecated webpack options (#18769)
- feat(node-core): Add
isolateTraceoption tonode-croninstrumentation (#18416) - feat(node): Use
process.on('SIGTERM')for flushing in Vercel functions (#17583) - feat(nuxt): Detect development environment and add dev E2E test (#18671)
- fix(browser): Forward worker metadata for third-party error filtering (#18756)
- fix(browser): Reduce number of
visibilitystateandpagehidelisteners (#18581) - fix(browser): Respect
tunnelindiagnoseSdkConnectivity(#18616) - fix(cloudflare): Consume body of fetch in the Cloudflare transport (#18545)
- fix(core): Set op on ended Vercel AI spans (#18601)
- fix(core): Subtract
performance.now()frombrowserPerformanceTimeOriginfallback (#18715) - fix(core): Update client options to allow explicit
undefined(#18024) - fix(feedback): Fix cases where the outline of inputs were wrong (#18647)
- fix(next): Ensure inline sourcemaps are generated for wrapped modules in Dev (#18640)
- fix(next): Wrap all Random APIs with a safe runner (#18700)
- fix(nextjs): Avoid Edge build warning from OpenTelemetry
process.argv0(#18759) - fix(nextjs): Remove polynomial regular expression (#18725)
- fix(node-core): Ignore worker threads in OnUncaughtException (#18689)
- fix(node): relax Fastify's
setupFastifyErrorHandlerargument type (#18620) - fix(nuxt): Allow overwriting server-side
defaultIntegrations(#18717) - fix(pino): Allow custom namespaces for
msganderr(#18597) - fix(react,solid,vue): Fix parametrization behavior for non-matched routes (#18735)
- fix(replay): Ensure replays contain canvas rendering when resumed after inactivity (#18714)
- fix(tracing): add gen_ai.request.messages.original_length attributes (#18608)
- ref(nextjs): Drop
resolvedependency (#18618) - ref(react-router): Use snake_case for span op names (#18617)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(bun): Fix
install-bun.jsversion check and improve upgrade feedback (#18492) - chore(changelog): Fix typo (#18648)
- chore(craft): Use version templating for aws layer (#18675)
- chore(deps): Bump IITM to ^2.0.1 (#18599)
- chore(e2e-tests): Upgrade
@trpc/serverand@trpc/client(#18722) - chore(e2e): Unpin react-router-7-framework-spa to ^7.11.0 (#18551)
- chore(nextjs): Bump next version in dev deps (#18661)
- chore(node-tests): Upgrade
@langchain/core(#18720) - chore(react): Inline
hoist-non-react-staticspackage (#18102) - chore(size-limit): Add size checks for metrics and logs (#18573)
- chore(tests): Add unordered mode to cloudflare test runner (#18596)
- ci(deps): bump actions/cache from 4 to 5 (#18654)
- ci(deps): Bump actions/create-github-app-token from 2.2.0 to 2.2.1 (#18656)
- ci(deps): bump actions/upload-artifact from 5 to 6 (#18655)
- ci(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#18657)
- doc: E2E testing documentation updates (#18649)
- ref(core): Extract and reuse
getCombinedScopeDatahelper (#18585) - ref(core): Remove dependence between
performance.timeOriginandperformance.timing.navigationStart(#18710) - ref(core): Streamline and test
browserPerformanceTimeOrigin(#18708) - ref(core): Strengthen
browserPerformanceTimeOriginreliability check (#18719) - ref(core): Use
serializeAttributesfor metric attribute serialization (#18582) - ref(node): Remove duplicate function
isCjs(#18662) - test(core): Improve unit test performance for offline transport tests (#18628)
- test(core): Use fake timers in promisebuffer tests to ensure deterministic behavior (#18659)
- test(e2e): Add e2e metrics tests in Next.js 16 (#18643)
- test(e2e): Pin agents package in cloudflare-mcp test (#18609)
- test(e2e): Pin solid/vue tanstack router to 1.41.8 (#18610)
- test(nestjs): Add canary test for latest (#18685)
- test(node-native): Increase worker block timeout (#18683)
- test(nuxt): Fix nuxt-4 dev E2E test (#18737)
- test(tanstackstart-react): Add canary test for latest (#18686)
- test(vue): Added canary and latest test variants to Vue tests (#18681)
</details>
Work in this release was contributed by @G-Rath, @gianpaj, @maximepvrt, @Mohataseem89, @sebws, and @xgedev. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 24.37 KB @sentry/browser - with treeshaking flags 22.92 KB @sentry/browser (incl. Tracing) 40.71 KB @sentry/browser (incl. Tracing, Profiling) 45.19 KB @sentry/browser (incl. Tracing, Replay) 78.43 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.37 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.93 KB @sentry/browser (incl. Feedback) 40.7 KB @sentry/browser (incl. sendFeedback) 28.95 KB @sentry/browser (incl. FeedbackAsync) 33.82 KB @sentry/browser (incl. Metrics) 25.44 KB @sentry/browser (incl. Logs) 25.59 KB @sentry/browser (incl. Metrics & Logs) 26.22 KB @sentry/react 26.05 KB @sentry/react (incl. Tracing) 42.9 KB @sentry/vue 28.72 KB @sentry/vue (incl. Tracing) 42.5 KB @sentry/svelte 24.39 KB CDN Bundle 26.83 KB CDN Bundle (incl. Tracing) 41.46 KB CDN Bundle (incl. Tracing, Replay) 77.31 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.6 KB CDN Bundle - uncompressed 78.62 KB CDN Bundle (incl. Tracing) - uncompressed 122.94 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 236.75 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 249.24 KB @sentry/nextjs (client) 45.2 KB @sentry/sveltekit (client) 41.08 KB @sentry/node-core 50.59 KB @sentry/node 158.26 KB @sentry/node - without tracing 91.06 KB @sentry/aws-serverless 106.2 KB Release notes
Open source โImportant Changes
-
feat(core): Apply scope attributes to metrics (#18738)
You can now set attributes on the SDK's scopes which will be applied to all metrics as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.metrics.count('clicks', 1, { attributes: { activeSince: 100 } }); Sentry.metrics.gauge('timeSinceRefresh', 4, { unit: 'hour' }); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.metrics.count('response_time', 283.33, { unit: 'millisecond' }); -
feat(tracing): Add Vercel AI SDK v6 support (#18741)
The Sentry SDK now supports the Vercel AI SDK v6. Tracing and error monitoring will work automatically with the new version.
-
feat(wasm): Add applicationKey option for third-party error filtering (#18762)
Adds support for applying an application key to WASM stack frames that can be then used in the
thirdPartyErrorFilterIntegrationfor detection of first-party code.Usage:
Sentry.init({ integrations: [ // Integration order matters: wasmIntegration needs to be before thirdPartyErrorFilterIntegration wasmIntegration({ applicationKey: 'your-custom-application-key' }), โโโโโ thirdPartyErrorFilterIntegration({ โ behaviour: 'drop-error-if-exclusively-contains-third-party-frames', โโ matching keys filterKeys: ['your-custom-application-key'] โโโโโโโโโโโโโโโโโโโโโโโโโโโ }), ], });
Other Changes
- feat(cloudflare): Support
propagateTraceparent(#18569) - feat(core): Add
ignoreSentryInternalFramesoption tothirdPartyErrorFilterIntegration(#18632) - feat(core): Add gen_ai.conversation.id attribute to OpenAI and LangGrโฆ (#18703)
- feat(core): Add recordInputs/recordOutputs options to MCP server wrapper (#18600)
- feat(core): Support IPv6 hosts in the DSN (#2996) (#17708)
- feat(deps): Bump bundler plugins to ^4.6.1 (#17980)
- feat(nextjs): Emit warning for conflicting treeshaking / debug settings (#18638)
- feat(nextjs): Print Turbopack note for deprecated webpack options (#18769)
- feat(node-core): Add
isolateTraceoption tonode-croninstrumentation (#18416) - feat(node): Use
process.on('SIGTERM')for flushing in Vercel functions (#17583) - feat(nuxt): Detect development environment and add dev E2E test (#18671)
- fix(browser): Forward worker metadata for third-party error filtering (#18756)
- fix(browser): Reduce number of
visibilitystateandpagehidelisteners (#18581) - fix(browser): Respect
tunnelindiagnoseSdkConnectivity(#18616) - fix(cloudflare): Consume body of fetch in the Cloudflare transport (#18545)
- fix(core): Set op on ended Vercel AI spans (#18601)
- fix(core): Subtract
performance.now()frombrowserPerformanceTimeOriginfallback (#18715) - fix(core): Update client options to allow explicit
undefined(#18024) - fix(feedback): Fix cases where the outline of inputs were wrong (#18647)
- fix(next): Ensure inline sourcemaps are generated for wrapped modules in Dev (#18640)
- fix(next): Wrap all Random APIs with a safe runner (#18700)
- fix(nextjs): Avoid Edge build warning from OpenTelemetry
process.argv0(#18759) - fix(nextjs): Remove polynomial regular expression (#18725)
- fix(node-core): Ignore worker threads in OnUncaughtException (#18689)
- fix(node): relax Fastify's
setupFastifyErrorHandlerargument type (#18620) - fix(nuxt): Allow overwriting server-side
defaultIntegrations(#18717) - fix(pino): Allow custom namespaces for
msganderr(#18597) - fix(react,solid,vue): Fix parametrization behavior for non-matched routes (#18735)
- fix(replay): Ensure replays contain canvas rendering when resumed after inactivity (#18714)
- fix(tracing): add gen_ai.request.messages.original_length attributes (#18608)
- ref(nextjs): Drop
resolvedependency (#18618) - ref(react-router): Use snake_case for span op names (#18617)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(bun): Fix
install-bun.jsversion check and improve upgrade feedback (#18492) - chore(changelog): Fix typo (#18648)
- chore(craft): Use version templating for aws layer (#18675)
- chore(deps): Bump IITM to ^2.0.1 (#18599)
- chore(e2e-tests): Upgrade
@trpc/serverand@trpc/client(#18722) - chore(e2e): Unpin react-router-7-framework-spa to ^7.11.0 (#18551)
- chore(nextjs): Bump next version in dev deps (#18661)
- chore(node-tests): Upgrade
@langchain/core(#18720) - chore(react): Inline
hoist-non-react-staticspackage (#18102) - chore(size-limit): Add size checks for metrics and logs (#18573)
- chore(tests): Add unordered mode to cloudflare test runner (#18596)
- ci(deps): bump actions/cache from 4 to 5 (#18654)
- ci(deps): Bump actions/create-github-app-token from 2.2.0 to 2.2.1 (#18656)
- ci(deps): bump actions/upload-artifact from 5 to 6 (#18655)
- ci(deps): bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#18657)
- doc: E2E testing documentation updates (#18649)
- ref(core): Extract and reuse
getCombinedScopeDatahelper (#18585) - ref(core): Remove dependence between
performance.timeOriginandperformance.timing.navigationStart(#18710) - ref(core): Streamline and test
browserPerformanceTimeOrigin(#18708) - ref(core): Strengthen
browserPerformanceTimeOriginreliability check (#18719) - ref(core): Use
serializeAttributesfor metric attribute serialization (#18582) - ref(node): Remove duplicate function
isCjs(#18662) - test(core): Improve unit test performance for offline transport tests (#18628)
- test(core): Use fake timers in promisebuffer tests to ensure deterministic behavior (#18659)
- test(e2e): Add e2e metrics tests in Next.js 16 (#18643)
- test(e2e): Pin agents package in cloudflare-mcp test (#18609)
- test(e2e): Pin solid/vue tanstack router to 1.41.8 (#18610)
- test(nestjs): Add canary test for latest (#18685)
- test(node-native): Increase worker block timeout (#18683)
- test(nuxt): Fix nuxt-4 dev E2E test (#18737)
- test(tanstackstart-react): Add canary test for latest (#18686)
- test(vue): Added canary and latest test variants to Vue tests (#18681)
</details>
Work in this release was contributed by @G-Rath, @gianpaj, @maximepvrt, @Mohataseem89, @sebws, and @xgedev. Thank you for your contributions!
-
- 10.32.119 Dec 2025
Release notes
Open source โ- fix(cloudflare): Add hono transaction name when error is thrown (#18529)
- fix(ember): Make
implementationfield optional (hashroutes) (#18564) - fix(vercelai): Fix input token count (#18574)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(lint): prefer 'unknown' to 'any', fix lint warnings
- chore(test): Remove
cloudflare-astroe2e test (#18567)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.24 KB @sentry/browser - with treeshaking flags 22.77 KB @sentry/browser (incl. Tracing) 40.62 KB @sentry/browser (incl. Tracing, Profiling) 45.12 KB @sentry/browser (incl. Tracing, Replay) 78.3 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.28 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.88 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.83 KB @sentry/browser (incl. Feedback) 40.57 KB @sentry/browser (incl. sendFeedback) 28.82 KB @sentry/browser (incl. FeedbackAsync) 33.7 KB @sentry/react 25.92 KB @sentry/react (incl. Tracing) 42.77 KB @sentry/vue 28.6 KB @sentry/vue (incl. Tracing) 42.39 KB @sentry/svelte 24.25 KB CDN Bundle 26.62 KB CDN Bundle (incl. Tracing) 41.25 KB CDN Bundle (incl. Tracing, Replay) 77.1 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.44 KB CDN Bundle - uncompressed 78.18 KB CDN Bundle (incl. Tracing) - uncompressed 122.47 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 236.27 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.74 KB @sentry/nextjs (client) 44.94 KB @sentry/sveltekit (client) 40.98 KB @sentry/node-core 50.4 KB @sentry/node 157.73 KB @sentry/node - without tracing 90.87 KB @sentry/aws-serverless 106.02 KB Release notes
Open source โ- fix(cloudflare): Add hono transaction name when error is thrown (#18529)
- fix(ember): Make
implementationfield optional (hashroutes) (#18564) - fix(vercelai): Fix input token count (#18574)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(lint): prefer 'unknown' to 'any', fix lint warnings
- chore(test): Remove
cloudflare-astroe2e test (#18567)
</details>
- 10.32.018 Dec 2025
Release notes
Open source โImportant Changes
-
feat(core): Apply scope attributes to logs (#18184)
You can now set attributes on the SDK's scopes which will be applied to all logs as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.logger.info(`user ${user.id} logged in`, { activeSince: 100 }); Sentry.logger.info(`updated ${user.id} last activity`); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.logger.warn('stale website version, reloading page'); -
feat(replay): Add Request body with
attachRawBodyFromRequestoption (#18501)To attach the raw request body (from
Requestobjects passed as the firstfetchargument) to replay events, you can now use theattachRawBodyFromRequestoption in the Replay integration:Sentry.init({ integrations: [ Sentry.replayIntegration({ attachRawBodyFromRequest: true, }), ], }); -
feat(tanstackstart-react): Trace server functions (#18500)
To enable tracing for server-side requests, you can now explicitly define a server entry point in your application and wrap your request handler with
wrapFetchWithSentry.// src/server.ts import { wrapFetchWithSentry } from '@sentry/tanstackstart-react'; import handler, { createServerEntry } from '@tanstack/react-start/server-entry'; export default createServerEntry( wrapFetchWithSentry({ fetch(request: Request) { return handler.fetch(request); }, }), ); -
feat(vue): Add TanStack Router integration (#18547)
The
@sentry/vuepackage now includes support for TanStack Router. UsetanstackRouterBrowserTracingIntegrationto automatically instrument pageload and navigation transactions with parameterized routes:import { createApp } from 'vue'; import { createRouter } from '@tanstack/vue-router'; import * as Sentry from '@sentry/vue'; import { tanstackRouterBrowserTracingIntegration } from '@sentry/vue/tanstackrouter'; const router = createRouter({ // your router config }); Sentry.init({ app, dsn: '__PUBLIC_DSN__', integrations: [tanstackRouterBrowserTracingIntegration(router)], tracesSampleRate: 1.0, });
Other Changes
- feat(core): Capture initialize attributes on MCP servers (#18531)
- feat(nextjs): Extract tracing logic from server component wrapper templates (#18408)
- feat(nextjs): added webpack treeshaking flags as config (#18359)
- fix(solid/tanstackrouter): Ensure web vitals are sent on pageload (#18542)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(changelog): Add entry for scope attributes (#18555)
- chore(changelog): Add entry for tanstack start wrapFetchWithSentry (#18558)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-incorrect-instrumentation (#18530)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-v5 (#18550)
- chore(e2e): Pin to react-router 7.10.1 in spa e2e test (#18548)
- chore(e2e): Remove check on
http.response_content_length_uncompressed(#18536) - chore(github): Add "Closes" to PR template (#18538)
- test(cloudflare-mcp): Unpin mcp sdk (#18528)
- test(nextjs): Add e2e tests for server component spans in next 16 (#18544)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.24 KB @sentry/browser - with treeshaking flags 22.77 KB @sentry/browser (incl. Tracing) 40.62 KB @sentry/browser (incl. Tracing, Profiling) 45.12 KB @sentry/browser (incl. Tracing, Replay) 78.3 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.28 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.88 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.82 KB @sentry/browser (incl. Feedback) 40.56 KB @sentry/browser (incl. sendFeedback) 28.82 KB @sentry/browser (incl. FeedbackAsync) 33.7 KB @sentry/react 25.92 KB @sentry/react (incl. Tracing) 42.77 KB @sentry/vue 28.6 KB @sentry/vue (incl. Tracing) 42.39 KB @sentry/svelte 24.25 KB CDN Bundle 26.62 KB CDN Bundle (incl. Tracing) 41.25 KB CDN Bundle (incl. Tracing, Replay) 77.1 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.44 KB CDN Bundle - uncompressed 78.18 KB CDN Bundle (incl. Tracing) - uncompressed 122.47 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 236.27 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.74 KB @sentry/nextjs (client) 44.93 KB @sentry/sveltekit (client) 40.98 KB @sentry/node-core 50.4 KB @sentry/node 157.71 KB @sentry/node - without tracing 90.87 KB @sentry/aws-serverless 106.02 KB Release notes
Open source โImportant Changes
-
feat(core): Apply scope attributes to logs (#18184)
You can now set attributes on the SDK's scopes which will be applied to all logs as long as the respective scopes are active. For the time being, only
string,numberandbooleanattribute values are supported.Sentry.getGlobalScope().setAttributes({ is_admin: true, auth_provider: 'google' }); Sentry.withScope(scope => { scope.setAttribute('step', 'authentication'); // scope attributes `is_admin`, `auth_provider` and `step` are added Sentry.logger.info(`user ${user.id} logged in`, { activeSince: 100 }); Sentry.logger.info(`updated ${user.id} last activity`); }); // scope attributes `is_admin` and `auth_provider` are added Sentry.logger.warn('stale website version, reloading page'); -
feat(replay): Add Request body with
attachRawBodyFromRequestoption (#18501)To attach the raw request body (from
Requestobjects passed as the firstfetchargument) to replay events, you can now use theattachRawBodyFromRequestoption in the Replay integration:Sentry.init({ integrations: [ Sentry.replayIntegration({ attachRawBodyFromRequest: true, }), ], }); -
feat(tanstackstart-react): Trace server functions (#18500)
To enable tracing for server-side requests, you can now explicitly define a server entry point in your application and wrap your request handler with
wrapFetchWithSentry.// src/server.ts import { wrapFetchWithSentry } from '@sentry/tanstackstart-react'; import handler, { createServerEntry } from '@tanstack/react-start/server-entry'; export default createServerEntry( wrapFetchWithSentry({ fetch(request: Request) { return handler.fetch(request); }, }), ); -
feat(vue): Add TanStack Router integration (#18547)
The
@sentry/vuepackage now includes support for TanStack Router. UsetanstackRouterBrowserTracingIntegrationto automatically instrument pageload and navigation transactions with parameterized routes:import { createApp } from 'vue'; import { createRouter } from '@tanstack/vue-router'; import * as Sentry from '@sentry/vue'; import { tanstackRouterBrowserTracingIntegration } from '@sentry/vue/tanstackrouter'; const router = createRouter({ // your router config }); Sentry.init({ app, dsn: '__PUBLIC_DSN__', integrations: [tanstackRouterBrowserTracingIntegration(router)], tracesSampleRate: 1.0, });
Other Changes
- feat(core): Capture initialize attributes on MCP servers (#18531)
- feat(nextjs): Extract tracing logic from server component wrapper templates (#18408)
- feat(nextjs): added webpack treeshaking flags as config (#18359)
- fix(solid/tanstackrouter): Ensure web vitals are sent on pageload (#18542)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(changelog): Add entry for scope attributes (#18555)
- chore(changelog): Add entry for tanstack start wrapFetchWithSentry (#18558)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-incorrect-instrumentation (#18530)
- chore(deps): bump @trpc/server from 10.45.2 to 10.45.3 in /dev-packages/e2e-tests/test-applications/node-express-v5 (#18550)
- chore(e2e): Pin to react-router 7.10.1 in spa e2e test (#18548)
- chore(e2e): Remove check on
http.response_content_length_uncompressed(#18536) - chore(github): Add "Closes" to PR template (#18538)
- test(cloudflare-mcp): Unpin mcp sdk (#18528)
- test(nextjs): Add e2e tests for server component spans in next 16 (#18544)
</details>
-
- 10.32.0-alpha.018 Dec 2025pre-release
Release notes
Open source โThis preview release includes updates to our Span Streaming PoC implementation. Use at your own risk.
- Attributes extracted from request and known contexts on scopes are applied to the segment span
- Scope attributes are applied to every span
- Added a simple interval, limit and
Sentry.flush-based span buffer for backend SDKs - Span-first can now also be tested in any of our server SDKs, including
@sentry/node,@sentry/cloudflare,@sentry/deno,@sentry/bunand@sentry/vercel-edge
Known issues:
- Missing data from various integrations and framework SDKs
ignoreSpansis not yet applied
Untested:
- Meta frameworks or framework SDKs building on top of
@sentry/browseror@sentry/node. Likely, data is missing, noisy spans are not filtered, etc.
Bundle size ๐ฆ
Path Size @sentry/browser 25.21 KB @sentry/browser - with treeshaking flags 23.74 KB @sentry/browser (incl. Tracing) 41.8 KB @sentry/browser (incl. Tracing, Profiling) 46.29 KB @sentry/browser (incl. Tracing, Replay) 79.57 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.36 KB @sentry/browser (incl. Tracing, Replay with Canvas) 84.13 KB @sentry/browser (incl. Tracing, Replay, Feedback) 96 KB @sentry/browser (incl. Feedback) 41.52 KB @sentry/browser (incl. sendFeedback) 29.77 KB @sentry/browser (incl. FeedbackAsync) 34.65 KB @sentry/react 26.89 KB @sentry/react (incl. Tracing) 43.98 KB @sentry/vue 29.73 KB @sentry/vue (incl. Tracing) 43.56 KB @sentry/svelte 25.23 KB CDN Bundle 27.49 KB CDN Bundle (incl. Tracing) 42.39 KB CDN Bundle (incl. Tracing, Replay) 78.21 KB CDN Bundle (incl. Tracing, Replay, Feedback) 83.57 KB CDN Bundle - uncompressed 80.62 KB CDN Bundle (incl. Tracing) - uncompressed 125.72 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 239.52 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 251.99 KB @sentry/nextjs (client) 46.12 KB @sentry/sveltekit (client) 42.21 KB @sentry/node-core 51.31 KB @sentry/node 160.53 KB @sentry/node - without tracing 93.78 KB @sentry/aws-serverless 108.68 KB - 10.31.016 Dec 2025
Release notes
Open source โImportant Changes
- feat(browser): Add support for GraphQL persisted operations (#18505)
The
graphqlClientIntegrationnow supports GraphQL persisted operations (queries). When a persisted query is detected, the integration will capture the operation hash and version as span attributes:graphql.persisted_query.hash.sha256- The SHA-256 hash of the persisted querygraphql.persisted_query.version- The version of the persisted query protocol
Additionally, the
graphql.documentattribute format has changed to align with OpenTelemetry semantic conventions. It now contains only the GraphQL query string instead of the full JSON request payload.Before:
"graphql.document": "{\"query\":\"query Test { user { id } }\"}"After:
"graphql.document": "query Test { user { id } }"Other Changes
- feat(node): Support
propagateTraceparentoption (#18476) - feat(bun): Expose spotlight option in TypeScript (#18436)
- feat(core): Add additional exports for
captureExceptionandcaptureMessageparameter types (#18521) - feat(core): Export
captureExceptionandcaptureMessageparameter types (#18509) - feat(core): Parse individual cookies from cookie header (#18325)
- feat(node): Add instrument OpenAI export to node (#18461)
- feat(nuxt): Bump
@sentry/vite-pluginand@sentry/rollup-pluginto 4.6.1 (#18349) - feat(profiling): Add support for Node v24 in the prune script (#18447)
- feat(tracing): strip inline media from messages (#18413)
- feat(node): Add ESM support for postgres.js instrumentation (#17961)
- fix(browser): Stringify span context in linked traces log statement (#18376)
- fix(google-cloud-serverless): Move @types/express to optional peerDeps (#18452)
- fix(node-core): passthrough node-cron context (#17835)
- fix(tanstack-router): Check for
fromLocationexistence before reporting pageload (#18463) - fix(tracing): add system prompt, model to google genai (#18424)
- fix(tracing): Set span operations for AI spans with model ID only (#18471)
- ref(browser): Improve profiling debug statement (#18507)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add external contributor to CHANGELOG.md (#18473)
- chore: upgrade Playwright to ~1.56.0 for WSL2 compatibility (#18468)
- chore(bugbot): Add testing conventions code review rules (#18433)
- chore(deps): bump next from 14.2.25 to 14.2.35 in /dev-packages/e2e-tests/test-applications/create-next-app (#18494)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-orpc (#18520)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-pages-dir (#18496)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18482)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18483)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18480)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18479)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18481)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18514)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18487)
- chore(tests): Added test variant flag (#18458)
- test(cloudflare-mcp): Pin mcp sdk to 1.24.0 (#18524)
</details>
Work in this release was contributed by @sebws and @TBeeren. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 24.23 KB @sentry/browser - with treeshaking flags 22.76 KB @sentry/browser (incl. Tracing) 40.58 KB @sentry/browser (incl. Tracing, Profiling) 45.08 KB @sentry/browser (incl. Tracing, Replay) 78.1 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.07 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.67 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.62 KB @sentry/browser (incl. Feedback) 40.54 KB @sentry/browser (incl. sendFeedback) 28.8 KB @sentry/browser (incl. FeedbackAsync) 33.68 KB @sentry/react 25.9 KB @sentry/react (incl. Tracing) 42.73 KB @sentry/vue 28.58 KB @sentry/vue (incl. Tracing) 42.35 KB @sentry/svelte 24.24 KB CDN Bundle 26.59 KB CDN Bundle (incl. Tracing) 41.23 KB CDN Bundle (incl. Tracing, Replay) 76.9 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.23 KB CDN Bundle - uncompressed 78.15 KB CDN Bundle (incl. Tracing) - uncompressed 122.44 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 235.75 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.21 KB @sentry/nextjs (client) 44.9 KB @sentry/sveltekit (client) 40.94 KB @sentry/node-core 50.39 KB @sentry/node 157.7 KB @sentry/node - without tracing 90.85 KB @sentry/aws-serverless 106 KB Release notes
Open source โImportant Changes
- feat(browser): Add support for GraphQL persisted operations (#18505)
The
graphqlClientIntegrationnow supports GraphQL persisted operations (queries). When a persisted query is detected, the integration will capture the operation hash and version as span attributes:graphql.persisted_query.hash.sha256- The SHA-256 hash of the persisted querygraphql.persisted_query.version- The version of the persisted query protocol
Additionally, the
graphql.documentattribute format has changed to align with OpenTelemetry semantic conventions. It now contains only the GraphQL query string instead of the full JSON request payload.Before:
"graphql.document": "{\"query\":\"query Test { user { id } }\"}"After:
"graphql.document": "query Test { user { id } }"Other Changes
- feat(node): Support
propagateTraceparentoption (#18476) - feat(bun): Expose spotlight option in TypeScript (#18436)
- feat(core): Add additional exports for
captureExceptionandcaptureMessageparameter types (#18521) - feat(core): Export
captureExceptionandcaptureMessageparameter types (#18509) - feat(core): Parse individual cookies from cookie header (#18325)
- feat(node): Add instrument OpenAI export to node (#18461)
- feat(nuxt): Bump
@sentry/vite-pluginand@sentry/rollup-pluginto 4.6.1 (#18349) - feat(profiling): Add support for Node v24 in the prune script (#18447)
- feat(tracing): strip inline media from messages (#18413)
- feat(node): Add ESM support for postgres.js instrumentation (#17961)
- fix(browser): Stringify span context in linked traces log statement (#18376)
- fix(google-cloud-serverless): Move @types/express to optional peerDeps (#18452)
- fix(node-core): passthrough node-cron context (#17835)
- fix(tanstack-router): Check for
fromLocationexistence before reporting pageload (#18463) - fix(tracing): add system prompt, model to google genai (#18424)
- fix(tracing): Set span operations for AI spans with model ID only (#18471)
- ref(browser): Improve profiling debug statement (#18507)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add external contributor to CHANGELOG.md (#18473)
- chore: upgrade Playwright to ~1.56.0 for WSL2 compatibility (#18468)
- chore(bugbot): Add testing conventions code review rules (#18433)
- chore(deps): bump next from 14.2.25 to 14.2.35 in /dev-packages/e2e-tests/test-applications/create-next-app (#18494)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-orpc (#18520)
- chore(deps): bump next from 14.2.32 to 14.2.35 in /dev-packages/e2e-tests/test-applications/nextjs-pages-dir (#18496)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18482)
- chore(deps): bump next from 15.5.7 to 15.5.9 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18483)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18480)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18479)
- chore(deps): bump next from 16.0.7 to 16.0.9 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18481)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18514)
- chore(deps): bump next from 16.0.9 to 16.0.10 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18487)
- chore(tests): Added test variant flag (#18458)
- test(cloudflare-mcp): Pin mcp sdk to 1.24.0 (#18524)
</details>
Work in this release was contributed by @sebws and @TBeeren. Thank you for your contributions!
- 10.30.011 Dec 2025
Release notes
Open source โ- feat(nextjs): Deprecate Webpack top-level options (#18343)
- feat(node): Capture scope when event loop blocked (#18040)
- fix(aws-serverless): Remove hyphens from AWS-lambda origins (#18353)
- fix(core): Parse method from Request object in fetch (#18453)
- fix(react): Add transaction name guards for rapid lazy-route navigations (#18346)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(ci): Fix double issue creation for unreferenced PRs (#18442)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18411)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18400)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18399)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18427)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18439)
- chore(publish): Fix publish order for
@sentry/types(#18429) - ci(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (#18362)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.23 KB @sentry/browser - with treeshaking flags 22.76 KB @sentry/browser (incl. Tracing) 40.57 KB @sentry/browser (incl. Tracing, Profiling) 45.06 KB @sentry/browser (incl. Tracing, Replay) 78.09 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.07 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.66 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.61 KB @sentry/browser (incl. Feedback) 40.54 KB @sentry/browser (incl. sendFeedback) 28.8 KB @sentry/browser (incl. FeedbackAsync) 33.68 KB @sentry/react 25.9 KB @sentry/react (incl. Tracing) 42.73 KB @sentry/vue 28.58 KB @sentry/vue (incl. Tracing) 42.34 KB @sentry/svelte 24.24 KB CDN Bundle 26.6 KB CDN Bundle (incl. Tracing) 41.24 KB CDN Bundle (incl. Tracing, Replay) 76.91 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.23 KB CDN Bundle - uncompressed 78.16 KB CDN Bundle (incl. Tracing) - uncompressed 122.45 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 235.76 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.23 KB @sentry/nextjs (client) 44.89 KB @sentry/sveltekit (client) 40.94 KB @sentry/node-core 50.06 KB @sentry/node 155.85 KB @sentry/node - without tracing 90.74 KB @sentry/aws-serverless 105.67 KB Release notes
Open source โ- feat(nextjs): Deprecate Webpack top-level options (#18343)
- feat(node): Capture scope when event loop blocked (#18040)
- fix(aws-serverless): Remove hyphens from AWS-lambda origins (#18353)
- fix(core): Parse method from Request object in fetch (#18453)
- fix(react): Add transaction name guards for rapid lazy-route navigations (#18346)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(ci): Fix double issue creation for unreferenced PRs (#18442)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15 (#18411)
- chore(deps): bump next from 15.5.4 to 15.5.7 in /dev-packages/e2e-tests/test-applications/nextjs-15-intl (#18400)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16 (#18399)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents (#18427)
- chore(deps): bump next from 16.0.0 to 16.0.7 in /dev-packages/e2e-tests/test-applications/nextjs-16-tunnel (#18439)
- chore(publish): Fix publish order for
@sentry/types(#18429) - ci(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (#18362)
</details>
- 10.29.04 Dec 2025
Release notes
Open source โImportant Changes
- feat(solid|solidstart): Bump accepted @solidjs/router range (#18395)
We expanded the supported version range for
@solidjs/routerto include0.14.xand0.15.xversions.Other Changes
- fix(logs): Add support for
msgin pino integration (#18389) - fix(node): Include system message in anthropic-ai messages span (#18332)
- fix(tracing): Add missing attributes in vercel-ai spans (#18333)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(tanstackstart-react): clean up re-exported types (#18393)
- ref(core): Avoid looking up openai integration options (#17695)
- test(nuxt): Relax captured unhandled error assertion (#18397)
- test(tanstackstart-react): Set up E2E test application (#18358)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.22 KB @sentry/browser - with treeshaking flags 22.76 KB @sentry/browser (incl. Tracing) 40.57 KB @sentry/browser (incl. Tracing, Profiling) 45.05 KB @sentry/browser (incl. Tracing, Replay) 78.08 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.05 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.65 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.61 KB @sentry/browser (incl. Feedback) 40.51 KB @sentry/browser (incl. sendFeedback) 28.8 KB @sentry/browser (incl. FeedbackAsync) 33.66 KB @sentry/react 25.9 KB @sentry/react (incl. Tracing) 42.72 KB @sentry/vue 28.56 KB @sentry/vue (incl. Tracing) 42.32 KB @sentry/svelte 24.24 KB CDN Bundle 26.57 KB CDN Bundle (incl. Tracing) 41.22 KB CDN Bundle (incl. Tracing, Replay) 76.9 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.23 KB CDN Bundle - uncompressed 78.09 KB CDN Bundle (incl. Tracing) - uncompressed 122.4 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 235.71 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.17 KB @sentry/nextjs (client) 44.88 KB @sentry/sveltekit (client) 40.92 KB @sentry/node-core 50.07 KB @sentry/node 155.79 KB @sentry/node - without tracing 90.68 KB @sentry/aws-serverless 105.61 KB Release notes
Open source โImportant Changes
- feat(solid|solidstart): Bump accepted @solidjs/router range (#18395)
We expanded the supported version range for
@solidjs/routerto include0.14.xand0.15.xversions.Other Changes
- fix(logs): Add support for
msgin pino integration (#18389) - fix(node): Include system message in anthropic-ai messages span (#18332)
- fix(tracing): Add missing attributes in vercel-ai spans (#18333)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(tanstackstart-react): clean up re-exported types (#18393)
- ref(core): Avoid looking up openai integration options (#17695)
- test(nuxt): Relax captured unhandled error assertion (#18397)
- test(tanstackstart-react): Set up E2E test application (#18358)
</details>
- 10.28.02 Dec 2025
Release notes
Open source โImportant Changes
- feat(core): Make
matcherparameter optional inmakeMultiplexedTransport(#10798)
The
matcherparameter inmakeMultiplexedTransportis now optional with a sensible default. This makes it much easier to use the multiplexed transport for sending events to multiple DSNs based on runtime configuration.Before:
import { makeFetchTransport, makeMultiplexedTransport } from '@sentry/browser'; const EXTRA_KEY = 'ROUTE_TO'; const transport = makeMultiplexedTransport(makeFetchTransport, args => { const event = args.getEvent(); if (event?.extra?.[EXTRA_KEY] && Array.isArray(event.extra[EXTRA_KEY])) { return event.extra[EXTRA_KEY]; } return []; }); Sentry.init({ transport, // ... other options }); // Capture events with routing info Sentry.captureException(error, { extra: { [EXTRA_KEY]: [ { dsn: 'https://[email protected]/project1', release: 'v1.0.0' }, { dsn: 'https://[email protected]/project2' }, ], }, });After:
import { makeFetchTransport, makeMultiplexedTransport, MULTIPLEXED_TRANSPORT_EXTRA_KEY } from '@sentry/browser'; // Just pass the transport generator - the default matcher handles the rest! Sentry.init({ transport: makeMultiplexedTransport(makeFetchTransport), // ... other options }); // Capture events with routing info using the exported constant Sentry.captureException(error, { extra: { [MULTIPLEXED_TRANSPORT_EXTRA_KEY]: [ { dsn: 'https://[email protected]/project1', release: 'v1.0.0' }, { dsn: 'https://[email protected]/project2' }, ], }, });The default matcher looks for routing information in
event.extra[MULTIPLEXED_TRANSPORT_EXTRA_KEY]. You can still provide a custom matcher function for advanced use cases.- feat(nextjs): Support cacheComponents on turbopack (#18304)
This release adds support for
cacheComponentson turbopack builds. We are working on adding support for this feature in webpack builds as well.Other Changes
- feat: Publish AWS Lambda Layer for Node 24 (#18327)
- feat(browser): Expose langchain instrumentation (#18342)
- feat(browser): Expose langgraph instrumentation (#18345)
- feat(cloudflare): Allow specifying a custom fetch in Cloudflare transport options (#18335)
- feat(core): Add
isolateTraceoption toSentry.withMonitor()(#18079) - feat(deps): bump @sentry/webpack-plugin from 4.3.0 to 4.6.1 (#18272)
- feat(nextjs): Add cloudflare
waitUntildetection (#18336) - feat(node): Add LangChain v1 support (#18306)
- feat(remix): Add parameterized transaction naming for routes (#17951)
- fix(cloudflare): Keep http root span alive until streaming responses are consumed (#18087)
- fix(cloudflare): Wait for async events to finish (#18334)
- fix(core):
continueTracedoesn't propagate given trace ID if active span exists (#18328) - fix(node-core): Handle custom scope in log messages without parameters (#18322)
- fix(opentelemetry): Ensure Sentry spans don't leak when tracing is disabled (#18337)
- fix(react-router): Use underscores in trace origin values (#18351)
- chore(tanstackstart-react): Export custom inits from tanstackstart-react (#18369)
- chore(tanstackstart-react)!: Remove empty placeholder implementations (#18338)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Allow URLs as issue (#18372)
- chore(changelog): Add entry for #18304 (#18329)
- chore(ci): Add action to track all PRs as issues (#18363)
- chore(github): Adjust
BUGBOT.mdrules to flag invalid op and origin values during review (#18352) - ci: Add action to create issue on gitflow merge conflicts (#18319)
- ci(deps): bump actions/checkout from 5 to 6 (#18268)
- ci(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#18361)
- test(cloudflare): Add typechecks for cloudflare-worker e2e test (#18321)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.22 KB @sentry/browser - with treeshaking flags 22.76 KB @sentry/browser (incl. Tracing) 40.57 KB @sentry/browser (incl. Tracing, Profiling) 45.05 KB @sentry/browser (incl. Tracing, Replay) 78.08 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.05 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.65 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.61 KB @sentry/browser (incl. Feedback) 40.51 KB @sentry/browser (incl. sendFeedback) 28.8 KB @sentry/browser (incl. FeedbackAsync) 33.66 KB @sentry/react 25.9 KB @sentry/react (incl. Tracing) 42.72 KB @sentry/vue 28.56 KB @sentry/vue (incl. Tracing) 42.32 KB @sentry/svelte 24.24 KB CDN Bundle 26.57 KB CDN Bundle (incl. Tracing) 41.22 KB CDN Bundle (incl. Tracing, Replay) 76.9 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.23 KB CDN Bundle - uncompressed 78.09 KB CDN Bundle (incl. Tracing) - uncompressed 122.4 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 235.71 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.17 KB @sentry/nextjs (client) 44.88 KB @sentry/sveltekit (client) 40.92 KB @sentry/node-core 50.06 KB @sentry/node 155.7 KB @sentry/node - without tracing 90.67 KB @sentry/aws-serverless 105.61 KB Release notes
Open source โImportant Changes
- feat(core): Make
matcherparameter optional inmakeMultiplexedTransport(#10798)
The
matcherparameter inmakeMultiplexedTransportis now optional with a sensible default. This makes it much easier to use the multiplexed transport for sending events to multiple DSNs based on runtime configuration.Before:
import { makeFetchTransport, makeMultiplexedTransport } from '@sentry/browser'; const EXTRA_KEY = 'ROUTE_TO'; const transport = makeMultiplexedTransport(makeFetchTransport, args => { const event = args.getEvent(); if (event?.extra?.[EXTRA_KEY] && Array.isArray(event.extra[EXTRA_KEY])) { return event.extra[EXTRA_KEY]; } return []; }); Sentry.init({ transport, // ... other options }); // Capture events with routing info Sentry.captureException(error, { extra: { [EXTRA_KEY]: [ { dsn: 'https://[email protected]/project1', release: 'v1.0.0' }, { dsn: 'https://[email protected]/project2' }, ], }, });After:
import { makeFetchTransport, makeMultiplexedTransport, MULTIPLEXED_TRANSPORT_EXTRA_KEY } from '@sentry/browser'; // Just pass the transport generator - the default matcher handles the rest! Sentry.init({ transport: makeMultiplexedTransport(makeFetchTransport), // ... other options }); // Capture events with routing info using the exported constant Sentry.captureException(error, { extra: { [MULTIPLEXED_TRANSPORT_EXTRA_KEY]: [ { dsn: 'https://[email protected]/project1', release: 'v1.0.0' }, { dsn: 'https://[email protected]/project2' }, ], }, });The default matcher looks for routing information in
event.extra[MULTIPLEXED_TRANSPORT_EXTRA_KEY]. You can still provide a custom matcher function for advanced use cases.- feat(nextjs): Support cacheComponents on turbopack (#18304)
This release adds support for
cacheComponentson turbopack builds. We are working on adding support for this feature in webpack builds as well.Other Changes
- feat: Publish AWS Lambda Layer for Node 24 (#18327)
- feat(browser): Expose langchain instrumentation (#18342)
- feat(browser): Expose langgraph instrumentation (#18345)
- feat(cloudflare): Allow specifying a custom fetch in Cloudflare transport options (#18335)
- feat(core): Add
isolateTraceoption toSentry.withMonitor()(#18079) - feat(deps): bump @sentry/webpack-plugin from 4.3.0 to 4.6.1 (#18272)
- feat(nextjs): Add cloudflare
waitUntildetection (#18336) - feat(node): Add LangChain v1 support (#18306)
- feat(remix): Add parameterized transaction naming for routes (#17951)
- fix(cloudflare): Keep http root span alive until streaming responses are consumed (#18087)
- fix(cloudflare): Wait for async events to finish (#18334)
- fix(core):
continueTracedoesn't propagate given trace ID if active span exists (#18328) - fix(node-core): Handle custom scope in log messages without parameters (#18322)
- fix(opentelemetry): Ensure Sentry spans don't leak when tracing is disabled (#18337)
- fix(react-router): Use underscores in trace origin values (#18351)
- chore(tanstackstart-react): Export custom inits from tanstackstart-react (#18369)
- chore(tanstackstart-react)!: Remove empty placeholder implementations (#18338)
<details> <summary><strong>Internal Changes</strong></summary>
- chore: Allow URLs as issue (#18372)
- chore(changelog): Add entry for #18304 (#18329)
- chore(ci): Add action to track all PRs as issues (#18363)
- chore(github): Adjust
BUGBOT.mdrules to flag invalid op and origin values during review (#18352) - ci: Add action to create issue on gitflow merge conflicts (#18319)
- ci(deps): bump actions/checkout from 5 to 6 (#18268)
- ci(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#18361)
- test(cloudflare): Add typechecks for cloudflare-worker e2e test (#18321)
</details>
- feat(core): Make
- 10.28.0-alpha.026 Nov 2025pre-release
Release notes
Open source โThis release is a preview release for sending spans in browser via spanV2 instead of transaction event envelopes. All of this is experimental and subject to change. Use at your own risk. More Details.
Changes from 10.24-alpha.1:
- add
sentry.segment.idcommon span attribute - rename attribute
user.usernametouser.name - remove
is_remote, addis_segmentspan attributes - remove
span.kindfield
Bundle size ๐ฆ
Path Size @sentry/browser 24.33 KB @sentry/browser - with treeshaking flags 22.85 KB @sentry/browser (incl. Tracing) 40.97 KB @sentry/browser (incl. Tracing, Profiling) 45.45 KB @sentry/browser (incl. Tracing, Replay) 78.51 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.45 KB @sentry/browser (incl. Tracing, Replay with Canvas) 83.09 KB @sentry/browser (incl. Tracing, Replay, Feedback) 95.02 KB @sentry/browser (incl. Feedback) 40.65 KB @sentry/browser (incl. sendFeedback) 28.91 KB @sentry/browser (incl. FeedbackAsync) 33.73 KB @sentry/react 26 KB @sentry/react (incl. Tracing) 43.13 KB @sentry/vue 28.97 KB @sentry/vue (incl. Tracing) 42.73 KB @sentry/svelte 24.34 KB CDN Bundle 26.65 KB CDN Bundle (incl. Tracing) 41.48 KB CDN Bundle (incl. Tracing, Replay) 77.16 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.48 KB CDN Bundle - uncompressed 78.21 KB CDN Bundle (incl. Tracing) - uncompressed 123.49 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 236.8 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 249.27 KB @sentry/nextjs (client) 45.3 KB @sentry/sveltekit (client) 41.33 KB @sentry/node-core 50.12 KB @sentry/node 155.97 KB @sentry/node - without tracing 90.8 KB @sentry/aws-serverless 105.68 KB - add
- 10.27.024 Nov 2025
Release notes
Open source โImportant Changes
-
feat(deps): Bump OpenTelemetry (#18239)
- Bump @opentelemetry/context-async-hooks from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/core from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/resources from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-base from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-node from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/instrumentation from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-amqplib from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-aws-sdk from 0.59.0 to 0.64.0
- Bump @opentelemetry/instrumentation-connect from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-dataloader from 0.22.0 to 0.26.0
- Bump @opentelemetry/instrumentation-express from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-fs from 0.24.0 to 0.28.0
- Bump @opentelemetry/instrumentation-generic-pool from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-graphql from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-hapi from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-http from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-ioredis from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-kafkajs from 0.14.0 to 0.18.0
- Bump @opentelemetry/instrumentation-knex from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-koa from 0.52.0 to 0.57.0
- Bump @opentelemetry/instrumentation-lru-memoizer from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-mongodb from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-mongoose from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-mysql from 0.50.0 to 0.54.0
- Bump @opentelemetry/instrumentation-mysql2 from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-nestjs-core from 0.50.0 to 0.55.0
- Bump @opentelemetry/instrumentation-pg from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-redis from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-tedious from 0.23.0 to 0.27.0
- Bump @opentelemetry/instrumentation-undici from 0.15.0 to 0.19.0
- Bump @prisma/instrumentation from 6.15.0 to 6.19.0
-
feat(browserprofiling): Add
manualmode and deprecate old profiling (#18189)Adds the
manuallifecycle mode for UI profiling (the default mode), allowing profiles to be captured manually withSentry.uiProfiler.startProfiler()andSentry.uiProfiler.stopProfiler(). The previous transaction-based profiling is withprofilesSampleRateis now deprecated in favor of the new UI Profiling withprofileSessionSampleRate.
Other Changes
- feat(core): Add
gibibyteandpebibytetoInformationUnittype (#18241) - feat(core): Add scope attribute APIs (#18165)
- feat(core): Re-add
_experiments.enableLogsoption (#18299) - feat(core): Use
maxValueLengthon error messages (#18301) - feat(deps): bump @sentry/bundler-plugin-core from 4.3.0 to 4.6.1 (#18273)
- feat(deps): bump @sentry/cli from 2.56.0 to 2.58.2 (#18271)
- feat(node): Add tracing support for AzureOpenAI (#18281)
- feat(node): Fix local variables capturing for out-of-app frames (#18245)
- fix(core): Add a PromiseBuffer for incoming events on the client (#18120)
- fix(core): Always redact content of sensitive headers regardless of
sendDefaultPii(#18311) - fix(metrics): Update return type of
beforeSendMetric(#18261) - fix(nextjs): universal random tunnel path support (#18257)
- ref(react): Add more guarding against wildcards in lazy route transactions (#18155)
- chore(deps): bump glob from 11.0.1 to 11.1.0 in /packages/react-router (#18243)
<details> <summary> <strong>Internal Changes</strong> </summary> - build(deps): bump hono from 4.9.7 to 4.10.3 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#18038) - chore: Add
bump_otel_instrumentationscursor command (#18253) - chore: Add external contributor to CHANGELOG.md (#18297) - chore: Add external contributor to CHANGELOG.md (#18300) - chore: Do not update opentelemetry (#18254) - chore(angular): Add Angular 21 Support (#18274) - chore(deps): bump astro from 4.16.18 to 5.15.9 in /dev-packages/e2e-tests/test-applications/cloudflare-astro (#18259) - chore(dev-deps): Update some dev dependencies (#17816) - ci(deps): Bump actions/create-github-app-token from 2.1.1 to 2.1.4 (#17825) - ci(deps): bump actions/setup-node from 4 to 6 (#18077) - ci(deps): bump actions/upload-artifact from 4 to 5 (#18075) - ci(deps): bump github/codeql-action from 3 to 4 (#18076) - doc(sveltekit): Update documentation link for SvelteKit guide (#18298) - test(e2e): Fix astro config in test app (#18282) - test(nextjs): Remove debug logs from e2e test (#18250) </details>Work in this release was contributed by @bignoncedric and @adam-kov. Thank you for your contributions!
Bundle size ๐ฆ
Path Size @sentry/browser 24.22 KB @sentry/browser - with treeshaking flags 22.76 KB @sentry/browser (incl. Tracing) 40.57 KB @sentry/browser (incl. Tracing, Profiling) 45.05 KB @sentry/browser (incl. Tracing, Replay) 78.08 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.05 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.65 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.61 KB @sentry/browser (incl. Feedback) 40.51 KB @sentry/browser (incl. sendFeedback) 28.8 KB @sentry/browser (incl. FeedbackAsync) 33.62 KB @sentry/react 25.9 KB @sentry/react (incl. Tracing) 42.71 KB @sentry/vue 28.56 KB @sentry/vue (incl. Tracing) 42.32 KB @sentry/svelte 24.24 KB CDN Bundle 26.53 KB CDN Bundle (incl. Tracing) 41.18 KB CDN Bundle (incl. Tracing, Replay) 76.85 KB CDN Bundle (incl. Tracing, Replay, Feedback) 82.18 KB CDN Bundle - uncompressed 77.97 KB CDN Bundle (incl. Tracing) - uncompressed 122.28 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 235.6 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 248.06 KB @sentry/nextjs (client) 44.88 KB @sentry/sveltekit (client) 40.92 KB @sentry/node-core 49.99 KB @sentry/node 155.51 KB @sentry/node - without tracing 90.65 KB @sentry/aws-serverless 105.54 KB Release notes
Open source โImportant Changes
-
feat(deps): Bump OpenTelemetry (#18239)
- Bump @opentelemetry/context-async-hooks from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/core from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/resources from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-base from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-node from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/instrumentation from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-amqplib from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-aws-sdk from 0.59.0 to 0.64.0
- Bump @opentelemetry/instrumentation-connect from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-dataloader from 0.22.0 to 0.26.0
- Bump @opentelemetry/instrumentation-express from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-fs from 0.24.0 to 0.28.0
- Bump @opentelemetry/instrumentation-generic-pool from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-graphql from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-hapi from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-http from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-ioredis from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-kafkajs from 0.14.0 to 0.18.0
- Bump @opentelemetry/instrumentation-knex from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-koa from 0.52.0 to 0.57.0
- Bump @opentelemetry/instrumentation-lru-memoizer from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-mongodb from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-mongoose from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-mysql from 0.50.0 to 0.54.0
- Bump @opentelemetry/instrumentation-mysql2 from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-nestjs-core from 0.50.0 to 0.55.0
- Bump @opentelemetry/instrumentation-pg from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-redis from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-tedious from 0.23.0 to 0.27.0
- Bump @opentelemetry/instrumentation-undici from 0.15.0 to 0.19.0
- Bump @prisma/instrumentation from 6.15.0 to 6.19.0
-
feat(browserprofiling): Add
manualmode and deprecate old profiling (#18189)Adds the
manuallifecycle mode for UI profiling (the default mode), allowing profiles to be captured manually withSentry.uiProfiler.startProfiler()andSentry.uiProfiler.stopProfiler(). The previous transaction-based profiling is withprofilesSampleRateis now deprecated in favor of the new UI Profiling withprofileSessionSampleRate.
Other Changes
- feat(core): Add
gibibyteandpebibytetoInformationUnittype (#18241) - feat(core): Add scope attribute APIs (#18165)
- feat(core): Re-add
_experiments.enableLogsoption (#18299) - feat(core): Use
maxValueLengthon error messages (#18301) - feat(deps): bump @sentry/bundler-plugin-core from 4.3.0 to 4.6.1 (#18273)
- feat(deps): bump @sentry/cli from 2.56.0 to 2.58.2 (#18271)
- feat(node): Add tracing support for AzureOpenAI (#18281)
- feat(node): Fix local variables capturing for out-of-app frames (#18245)
- fix(core): Add a PromiseBuffer for incoming events on the client (#18120)
- fix(core): Always redact content of sensitive headers regardless of
sendDefaultPii(#18311) - fix(metrics): Update return type of
beforeSendMetric(#18261) - fix(nextjs): universal random tunnel path support (#18257)
- ref(react): Add more guarding against wildcards in lazy route transactions (#18155)
- chore(deps): bump glob from 11.0.1 to 11.1.0 in /packages/react-router (#18243)
<details> <summary> <strong>Internal Changes</strong> </summary> - build(deps): bump hono from 4.9.7 to 4.10.3 in /dev-packages/e2e-tests/test-applications/cloudflare-hono (#18038) - chore: Add
bump_otel_instrumentationscursor command (#18253) - chore: Add external contributor to CHANGELOG.md (#18297) - chore: Add external contributor to CHANGELOG.md (#18300) - chore: Do not update opentelemetry (#18254) - chore(angular): Add Angular 21 Support (#18274) - chore(deps): bump astro from 4.16.18 to 5.15.9 in /dev-packages/e2e-tests/test-applications/cloudflare-astro (#18259) - chore(dev-deps): Update some dev dependencies (#17816) - ci(deps): Bump actions/create-github-app-token from 2.1.1 to 2.1.4 (#17825) - ci(deps): bump actions/setup-node from 4 to 6 (#18077) - ci(deps): bump actions/upload-artifact from 4 to 5 (#18075) - ci(deps): bump github/codeql-action from 3 to 4 (#18076) - doc(sveltekit): Update documentation link for SvelteKit guide (#18298) - test(e2e): Fix astro config in test app (#18282) - test(nextjs): Remove debug logs from e2e test (#18250) </details>Work in this release was contributed by @bignoncedric and @adam-kov. Thank you for your contributions!
-
- 10.26.019 Nov 2025
Release notes
Open source โImportant Changes
- feat(core): Instrument LangGraph Agent (#18114)
Adds support for instrumenting LangGraph StateGraph operations in Node. The LangGraph integration can be configured as follows:
Sentry.init({ dsn: '__DSN__', sendDefaultPii: false, // Even with PII disabled globally integrations: [ Sentry.langGraphIntegration({ recordInputs: true, // Force recording input messages recordOutputs: true, // Force recording response text }), ], });- feat(cloudflare/vercel-edge): Add manual instrumentation for LangGraph (#18112)
Instrumentation for LangGraph in Cloudflare Workers and Vercel Edge environments is supported by manually calling
instrumentLangGraph:import * as Sentry from '@sentry/cloudflare'; // or '@sentry/vercel-edge' import { StateGraph, START, END, MessagesAnnotation } from '@langchain/langgraph'; // Create and instrument the graph const graph = new StateGraph(MessagesAnnotation) .addNode('agent', agentFn) .addEdge(START, 'agent') .addEdge('agent', END); Sentry.instrumentLangGraph(graph, { recordInputs: true, recordOutputs: true, }); const compiled = graph.compile({ name: 'weather_assistant' }); await compiled.invoke({ messages: [{ role: 'user', content: 'What is the weather in SF?' }], });- feat(node): Add OpenAI SDK v6 support (#18244)
Other Changes
- feat(core): Support OpenAI embeddings API (#18224)
- feat(browser-utils): bump web-vitals to 5.1.0 (#18091)
- feat(core): Support truncation for LangChain integration request messages (#18157)
- feat(metrics): Add default
server.addressattribute on server runtimes (#18242) - feat(nextjs): Add URL to server-side transaction events (#18230)
- feat(node-core): Add mechanism to prevent wrapping ai providers multiple times(#17972)
- feat(replay): Bump limit for minReplayDuration (#18190)
- fix(browser): Add
okstatus to successfulidleSpans (#18139) - fix(core): Check
fetchsupport with data URL (#18225) - fix(core): Decrease number of Sentry stack frames for messages from
captureConsoleIntegration(#18096) - fix(core): Emit processed metric (#18222)
- fix(core): Ensure logs past
MAX_LOG_BUFFER_SIZEare not swallowed (#18207) - fix(core): Ensure metrics past
MAX_METRIC_BUFFER_SIZEare not swallowed (#18212) - fix(core): Fix logs and metrics flush timeout starvation with continuous logging (#18211)
- fix(core): Flatten gen_ai.request.available_tools in google-genai (#18194)
- fix(core): Stringify available tools sent from vercelai (#18197)
- fix(core/vue): Detect and skip normalizing Vue
VNodeobjects with highnormalizeDepth(#18206) - fix(nextjs): Avoid wrapping middleware files when in standalone mode (#18172)
- fix(nextjs): Drop meta trace tags if rendered page is ISR (#18192)
- fix(nextjs): Respect PORT variable for dev error symbolication (#18227)
- fix(nextjs): use LRU map instead of map for ISR route cache (#18234)
- fix(node):
tracingChannelexport missing in older node versions (#18191) - fix(node): Fix Spotlight configuration precedence to match specification (#18195)
- fix(react): Prevent navigation span leaks for consecutive navigations (#18098)
- ref(react-router): Deprecate ErrorBoundary exports (#18208)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Fix missing changelog quote we use for attribution placement (#18237)
- chore: move tip about prioritizing issues (#18071)
- chore(e2e): Pin
@embroider/addon-shimto 1.10.0 for the e2e ember-embroider (#18173) - chore(react-router): Fix casing on deprecation notices (#18221)
- chore(test): Use correct
testTimeoutfield in bundler-tests vitest config - chore(e2e): Bump zod in e2e tests (#18251)
- test(browser-integration): Fix incorrect tag value assertions (#18162)
- test(profiling): Add test utils to validate Profile Chunk envelope (#18170)
- ref(e2e-ember): Remove
@embroider/addon-shimoverride (#18180) - ref(browser): Move trace lifecycle listeners to class function (#18231)
- ref(browserprofiling): Move and rename profiler class to UIProfiler (#18187)
- ref(core): Move ai integrations from utils to tracing (#18185)
- ref(core): Optimize
Scope.setTagbundle size and adjust test (#18182)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.04 KB @sentry/browser - with treeshaking flags 22.59 KB @sentry/browser (incl. Tracing) 40.4 KB @sentry/browser (incl. Tracing, Profiling) 44.62 KB @sentry/browser (incl. Tracing, Replay) 77.95 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.89 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.52 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.46 KB @sentry/browser (incl. Feedback) 40.32 KB @sentry/browser (incl. sendFeedback) 28.61 KB @sentry/browser (incl. FeedbackAsync) 33.41 KB @sentry/react 25.7 KB @sentry/react (incl. Tracing) 42.3 KB @sentry/vue 28.43 KB @sentry/vue (incl. Tracing) 42.16 KB @sentry/svelte 24.07 KB CDN Bundle 26.32 KB CDN Bundle (incl. Tracing) 40.96 KB CDN Bundle (incl. Tracing, Replay) 76.66 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.99 KB CDN Bundle - uncompressed 77.1 KB CDN Bundle (incl. Tracing) - uncompressed 121.42 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 234.73 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 247.19 KB @sentry/nextjs (client) 44.66 KB @sentry/sveltekit (client) 40.78 KB @sentry/node-core 49.76 KB @sentry/node 155.53 KB @sentry/node - without tracing 90.65 KB @sentry/aws-serverless 104.08 KB Release notes
Open source โImportant Changes
- feat(core): Instrument LangGraph Agent (#18114)
Adds support for instrumenting LangGraph StateGraph operations in Node. The LangGraph integration can be configured as follows:
Sentry.init({ dsn: '__DSN__', sendDefaultPii: false, // Even with PII disabled globally integrations: [ Sentry.langGraphIntegration({ recordInputs: true, // Force recording input messages recordOutputs: true, // Force recording response text }), ], });- feat(cloudflare/vercel-edge): Add manual instrumentation for LangGraph (#18112)
Instrumentation for LangGraph in Cloudflare Workers and Vercel Edge environments is supported by manually calling
instrumentLangGraph:import * as Sentry from '@sentry/cloudflare'; // or '@sentry/vercel-edge' import { StateGraph, START, END, MessagesAnnotation } from '@langchain/langgraph'; // Create and instrument the graph const graph = new StateGraph(MessagesAnnotation) .addNode('agent', agentFn) .addEdge(START, 'agent') .addEdge('agent', END); Sentry.instrumentLangGraph(graph, { recordInputs: true, recordOutputs: true, }); const compiled = graph.compile({ name: 'weather_assistant' }); await compiled.invoke({ messages: [{ role: 'user', content: 'What is the weather in SF?' }], });- feat(node): Add OpenAI SDK v6 support (#18244)
Other Changes
- feat(core): Support OpenAI embeddings API (#18224)
- feat(browser-utils): bump web-vitals to 5.1.0 (#18091)
- feat(core): Support truncation for LangChain integration request messages (#18157)
- feat(metrics): Add default
server.addressattribute on server runtimes (#18242) - feat(nextjs): Add URL to server-side transaction events (#18230)
- feat(node-core): Add mechanism to prevent wrapping ai providers multiple times(#17972)
- feat(replay): Bump limit for minReplayDuration (#18190)
- fix(browser): Add
okstatus to successfulidleSpans (#18139) - fix(core): Check
fetchsupport with data URL (#18225) - fix(core): Decrease number of Sentry stack frames for messages from
captureConsoleIntegration(#18096) - fix(core): Emit processed metric (#18222)
- fix(core): Ensure logs past
MAX_LOG_BUFFER_SIZEare not swallowed (#18207) - fix(core): Ensure metrics past
MAX_METRIC_BUFFER_SIZEare not swallowed (#18212) - fix(core): Fix logs and metrics flush timeout starvation with continuous logging (#18211)
- fix(core): Flatten gen_ai.request.available_tools in google-genai (#18194)
- fix(core): Stringify available tools sent from vercelai (#18197)
- fix(core/vue): Detect and skip normalizing Vue
VNodeobjects with highnormalizeDepth(#18206) - fix(nextjs): Avoid wrapping middleware files when in standalone mode (#18172)
- fix(nextjs): Drop meta trace tags if rendered page is ISR (#18192)
- fix(nextjs): Respect PORT variable for dev error symbolication (#18227)
- fix(nextjs): use LRU map instead of map for ISR route cache (#18234)
- fix(node):
tracingChannelexport missing in older node versions (#18191) - fix(node): Fix Spotlight configuration precedence to match specification (#18195)
- fix(react): Prevent navigation span leaks for consecutive navigations (#18098)
- ref(react-router): Deprecate ErrorBoundary exports (#18208)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Fix missing changelog quote we use for attribution placement (#18237)
- chore: move tip about prioritizing issues (#18071)
- chore(e2e): Pin
@embroider/addon-shimto 1.10.0 for the e2e ember-embroider (#18173) - chore(react-router): Fix casing on deprecation notices (#18221)
- chore(test): Use correct
testTimeoutfield in bundler-tests vitest config - chore(e2e): Bump zod in e2e tests (#18251)
- test(browser-integration): Fix incorrect tag value assertions (#18162)
- test(profiling): Add test utils to validate Profile Chunk envelope (#18170)
- ref(e2e-ember): Remove
@embroider/addon-shimoverride (#18180) - ref(browser): Move trace lifecycle listeners to class function (#18231)
- ref(browserprofiling): Move and rename profiler class to UIProfiler (#18187)
- ref(core): Move ai integrations from utils to tracing (#18185)
- ref(core): Optimize
Scope.setTagbundle size and adjust test (#18182)
</details>
- 10.25.011 Nov 2025
Release notes
Open source โ- feat(browser): Include Spotlight in development bundles (#18078)
- feat(cloudflare): Add metrics exports (#18147)
- feat(core): Truncate request string inputs in OpenAI integration (#18136)
- feat(metrics): Add missing metric node exports (#18149)
- feat(node): Add
maxCacheKeyLengthto Redis integration (remove truncation) (#18045) - feat(vercel-edge): Add metrics export (#18148)
- fix(core): Only consider exception mechanism when updating session status from event with exceptions (#18137)
- ref(browser): Remove truncation when not needed (#18051)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(build): Fix incorrect versions after merge (#18154) </details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.02 KB @sentry/browser - with treeshaking flags 22.54 KB @sentry/browser (incl. Tracing) 40.26 KB @sentry/browser (incl. Tracing, Profiling) 44.44 KB @sentry/browser (incl. Tracing, Replay) 77.83 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.75 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.41 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.3 KB @sentry/browser (incl. Feedback) 40.3 KB @sentry/browser (incl. sendFeedback) 28.58 KB @sentry/browser (incl. FeedbackAsync) 33.39 KB @sentry/react 25.66 KB @sentry/react (incl. Tracing) 42.17 KB @sentry/vue 28.39 KB @sentry/vue (incl. Tracing) 41.99 KB @sentry/svelte 24.03 KB CDN Bundle 26.26 KB CDN Bundle (incl. Tracing) 40.8 KB CDN Bundle (incl. Tracing, Replay) 76.46 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.81 KB CDN Bundle - uncompressed 76.99 KB CDN Bundle (incl. Tracing) - uncompressed 121.03 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 234.35 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 246.81 KB @sentry/nextjs (client) 44.25 KB @sentry/sveltekit (client) 40.64 KB @sentry/node-core 49.57 KB @sentry/node 154.14 KB @sentry/node - without tracing 90.47 KB @sentry/aws-serverless 103.91 KB Release notes
Open source โ- feat(browser): Include Spotlight in development bundles (#18078)
- feat(cloudflare): Add metrics exports (#18147)
- feat(core): Truncate request string inputs in OpenAI integration (#18136)
- feat(metrics): Add missing metric node exports (#18149)
- feat(node): Add
maxCacheKeyLengthto Redis integration (remove truncation) (#18045) - feat(vercel-edge): Add metrics export (#18148)
- fix(core): Only consider exception mechanism when updating session status from event with exceptions (#18137)
- ref(browser): Remove truncation when not needed (#18051)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore(build): Fix incorrect versions after merge (#18154)
</details>
- 10.24.010 Nov 2025
Release notes
Open source โImportant Changes
-
feat(metrics): Add top level option
enableMetricsandbeforeSendMetric(#18088)This PR moves
enableMetricsandbeforeSendMetricout of the_experimentsoptions. The metrics feature will now be enabled by default (none of our integrations will auto-emit metrics as of now), but you can disable sending metrics viaenableMetrics: false. Metric options within_experimentsgot deprecated but will still work as of now, they will be removed with the next major version of our SDKs.
Other Changes
- feat(aws): Add
SENTRY_LAYER_EXTENSIONto configure using the lambda layer extension via env variables (#18101) - feat(core): Include all exception object keys instead of truncating (#18044)
- feat(metrics)!: Update types (#17907)
- feat(replay): ignore
background-imagewhenblockAllMediais enabled (#18019) - fix(nextjs): Delete css map files (#18131)
- fix(nextjs): Stop accessing sync props in template (#18113)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: X handle update (#18117)
- chore(eslint): Add eslint-plugin-regexp rule (dev-packages) (#18063)
- test(next): fix flakey tests (#18100)
- test(node-core): Proof that withMonitor doesn't create a new trace (#18057) </details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.02 KB @sentry/browser - with treeshaking flags 22.54 KB @sentry/browser (incl. Tracing) 40.26 KB @sentry/browser (incl. Tracing, Profiling) 44.43 KB @sentry/browser (incl. Tracing, Replay) 77.83 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.75 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.42 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.3 KB @sentry/browser (incl. Feedback) 40.3 KB @sentry/browser (incl. sendFeedback) 28.58 KB @sentry/browser (incl. FeedbackAsync) 33.39 KB @sentry/react 25.68 KB @sentry/react (incl. Tracing) 42.2 KB @sentry/vue 28.39 KB @sentry/vue (incl. Tracing) 41.99 KB @sentry/svelte 24.03 KB CDN Bundle 26.26 KB CDN Bundle (incl. Tracing) 40.79 KB CDN Bundle (incl. Tracing, Replay) 76.46 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.81 KB CDN Bundle - uncompressed 77 KB CDN Bundle (incl. Tracing) - uncompressed 121.06 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 234.37 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 246.83 KB @sentry/nextjs (client) 44.25 KB @sentry/sveltekit (client) 40.63 KB @sentry/node-core 49.57 KB @sentry/node 154.12 KB @sentry/node - without tracing 90.46 KB @sentry/aws-serverless 103.91 KB Release notes
Open source โImportant Changes
-
feat(metrics): Add top level option
enableMetricsandbeforeSendMetric(#18088)This PR moves
enableMetricsandbeforeSendMetricout of the_experimentsoptions. The metrics feature will now be enabled by default (none of our integrations will auto-emit metrics as of now), but you can disable sending metrics viaenableMetrics: false. Metric options within_experimentsgot deprecated but will still work as of now, they will be removed with the next major version of our SDKs.
Other Changes
- feat(aws): Add
SENTRY_LAYER_EXTENSIONto configure using the lambda layer extension via env variables (#18101) - feat(core): Include all exception object keys instead of truncating (#18044)
- feat(metrics)!: Update types (#17907)
- feat(replay): ignore
background-imagewhenblockAllMediais enabled (#18019) - fix(nextjs): Delete css map files (#18131)
- fix(nextjs): Stop accessing sync props in template (#18113)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: X handle update (#18117)
- chore(eslint): Add eslint-plugin-regexp rule (dev-packages) (#18063)
- test(next): fix flakey tests (#18100)
- test(node-core): Proof that withMonitor doesn't create a new trace (#18057)
</details>
-
- 10.23.05 Nov 2025
Release notes
Open source โ- feat(core): Send
user-agentheader with envelope requests in server SDKs (#17929) - feat(browser): Limit transport buffer size (#18046)
- feat(core): Remove default value of
maxValueLength: 250(#18043) - feat(react-router): Align options with shared build time options type (#18014)
- fix(browser-utils): cache element names for INP (#18052)
- fix(browser): Capture unhandled rejection errors for web worker integration (#18054)
- fix(cloudflare): Ensure types for cloudflare handlers (#18064)
- fix(nextjs): Update proxy template wrapping (#18086)
- fix(nuxt): Added top-level fallback exports (#18083)
- fix(nuxt): check for H3 error cause before re-capturing (#18035)
- fix(replay): Linked errors not resetting session id (#17854)
- fix(tracemetrics): Bump metrics buffer to 1k (#18039)
- fix(vue): Make
optionsparameter optional onattachErrorHandler(#18072) - ref(core): Set span status
internal_errorinstead ofunknown_error(#17909)
<details> <summary> <strong>Internal Changes</strong> </summary>
- fix(tests): un-override nitro dep version for nuxt-3 test (#18056)
- fix(e2e): Add p-map override to fix React Router 7 test builds (#18068)
- feat: Add a note to save changes before starting (#17987)
- test(browser): Add test for INP target name after navigation or DOM changes (#18033)
- chore: Add external contributor to CHANGELOG.md (#18032)
- chore(aws-serverless): Fix typo in timeout warning function name (#18031)
- chore(browser): upgrade fake-indexeddb to v6 (#17975)
- chore(tests): pass test flags through to the test command (#18062)
</details>
Work in this release was contributed by @hanseo0507. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 24.06 KB @sentry/browser - with treeshaking flags 22.58 KB @sentry/browser (incl. Tracing) 40.29 KB @sentry/browser (incl. Tracing, Profiling) 44.47 KB @sentry/browser (incl. Tracing, Replay) 77.64 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.58 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.23 KB @sentry/browser (incl. Tracing, Replay, Feedback) 94.12 KB @sentry/browser (incl. Feedback) 40.34 KB @sentry/browser (incl. sendFeedback) 28.62 KB @sentry/browser (incl. FeedbackAsync) 33.44 KB @sentry/react 25.71 KB @sentry/react (incl. Tracing) 42.23 KB @sentry/vue 28.45 KB @sentry/vue (incl. Tracing) 42.04 KB @sentry/svelte 24.07 KB CDN Bundle 26.27 KB CDN Bundle (incl. Tracing) 40.82 KB CDN Bundle (incl. Tracing, Replay) 76.24 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.6 KB CDN Bundle - uncompressed 77.04 KB CDN Bundle (incl. Tracing) - uncompressed 121.1 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 233.6 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 246.06 KB @sentry/nextjs (client) 44.3 KB @sentry/sveltekit (client) 40.69 KB @sentry/node-core 49.62 KB @sentry/node 154.18 KB @sentry/node - without tracing 90.52 KB @sentry/aws-serverless 103.93 KB Release notes
Open source โ- feat(core): Send
user-agentheader with envelope requests in server SDKs (#17929) - feat(browser): Limit transport buffer size (#18046)
- feat(core): Remove default value of
maxValueLength: 250(#18043) - feat(react-router): Align options with shared build time options type (#18014)
- fix(browser-utils): cache element names for INP (#18052)
- fix(browser): Capture unhandled rejection errors for web worker integration (#18054)
- fix(cloudflare): Ensure types for cloudflare handlers (#18064)
- fix(nextjs): Update proxy template wrapping (#18086)
- fix(nuxt): Added top-level fallback exports (#18083)
- fix(nuxt): check for H3 error cause before re-capturing (#18035)
- fix(replay): Linked errors not resetting session id (#17854)
- fix(tracemetrics): Bump metrics buffer to 1k (#18039)
- fix(vue): Make
optionsparameter optional onattachErrorHandler(#18072) - ref(core): Set span status
internal_errorinstead ofunknown_error(#17909)
<details> <summary> <strong>Internal Changes</strong> </summary>
- fix(tests): un-override nitro dep version for nuxt-3 test (#18056)
- fix(e2e): Add p-map override to fix React Router 7 test builds (#18068)
- feat: Add a note to save changes before starting (#17987)
- test(browser): Add test for INP target name after navigation or DOM changes (#18033)
- chore: Add external contributor to CHANGELOG.md (#18032)
- chore(aws-serverless): Fix typo in timeout warning function name (#18031)
- chore(browser): upgrade fake-indexeddb to v6 (#17975)
- chore(tests): pass test flags through to the test command (#18062)
</details>
Work in this release was contributed by @hanseo0507. Thank you for your contribution!
- feat(core): Send
- 10.22.024 Oct 2025
Release notes
Open source โImportant Changes
-
feat(node): Instrument cloud functions for firebase v2 (#17952)
We added instrumentation for Cloud Functions for Firebase v2, enabling automatic performance tracking and error monitoring. This will be added automatically if you have enabled tracing.
-
feat(core): Instrument LangChain AI (#17955)
Instrumentation was added for LangChain AI operations. You can configure what is recorded like this:
Sentry.init({ integrations: [ Sentry.langChainIntegration({ recordInputs: true, // Record prompts/messages recordOutputs: true, // Record responses }), ], });
Other Changes
- feat(cloudflare,vercel-edge): Add support for LangChain instrumentation (#17986)
- feat: Align sentry origin with documentation (#17998)
- feat(core): Truncate request messages in AI integrations (#17921)
- feat(nextjs): Support node runtime on proxy files (#17995)
- feat(node): Pass requestHook and responseHook option to OTel (#17996)
- fix(core): Fix wrong async types when instrumenting anthropic's stream api (#18007)
- fix(nextjs): Remove usage of chalk to avoid runtime errors (#18010)
- fix(node): Pino capture serialized
err(#17999) - fix(node): Pino child loggers (#17934)
- fix(react): Don't trim index route
/when getting pathname (#17985) - fix(react): Patch
spanEndfor potentially cancelled lazy-route transactions (#17962)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add required size_check for GH Actions (#18009)
- chore: Upgrade madge to v8 (#17957)
- test(hono): Fix hono e2e tests (#18000)
- test(react-router): Fix
getMetaTagTransformertests for Vitest compatibility (#18013) - test(react): Add parameterized route tests for
createHashRouter(#17789)
</details>
Bundle size ๐ฆ
Path Size @sentry/browser 24.05 KB @sentry/browser - with treeshaking flags 22.57 KB @sentry/browser (incl. Tracing) 40.01 KB @sentry/browser (incl. Tracing, Profiling) 44.2 KB @sentry/browser (incl. Tracing, Replay) 77.43 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.36 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.02 KB @sentry/browser (incl. Tracing, Replay, Feedback) 93.9 KB @sentry/browser (incl. Feedback) 40.33 KB @sentry/browser (incl. sendFeedback) 28.61 KB @sentry/browser (incl. FeedbackAsync) 33.42 KB @sentry/react 25.69 KB @sentry/react (incl. Tracing) 41.96 KB @sentry/vue 28.43 KB @sentry/vue (incl. Tracing) 41.75 KB @sentry/svelte 24.06 KB CDN Bundle 26.27 KB CDN Bundle (incl. Tracing) 40.65 KB CDN Bundle (incl. Tracing, Replay) 76.05 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.39 KB CDN Bundle - uncompressed 77.01 KB CDN Bundle (incl. Tracing) - uncompressed 120.55 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 232.89 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 245.35 KB @sentry/nextjs (client) 44.05 KB @sentry/sveltekit (client) 40.43 KB @sentry/node-core 49.56 KB @sentry/node 154.11 KB @sentry/node - without tracing 90.46 KB @sentry/aws-serverless 103.86 KB Release notes
Open source โImportant Changes
-
feat(node): Instrument cloud functions for firebase v2 (#17952)
We added instrumentation for Cloud Functions for Firebase v2, enabling automatic performance tracking and error monitoring. This will be added automatically if you have enabled tracing.
-
feat(core): Instrument LangChain AI (#17955)
Instrumentation was added for LangChain AI operations. You can configure what is recorded like this:
Sentry.init({ integrations: [ Sentry.langChainIntegration({ recordInputs: true, // Record prompts/messages recordOutputs: true, // Record responses }), ], });
Other Changes
- feat(cloudflare,vercel-edge): Add support for LangChain instrumentation (#17986)
- feat: Align sentry origin with documentation (#17998)
- feat(core): Truncate request messages in AI integrations (#17921)
- feat(nextjs): Support node runtime on proxy files (#17995)
- feat(node): Pass requestHook and responseHook option to OTel (#17996)
- fix(core): Fix wrong async types when instrumenting anthropic's stream api (#18007)
- fix(nextjs): Remove usage of chalk to avoid runtime errors (#18010)
- fix(node): Pino capture serialized
err(#17999) - fix(node): Pino child loggers (#17934)
- fix(react): Don't trim index route
/when getting pathname (#17985) - fix(react): Patch
spanEndfor potentially cancelled lazy-route transactions (#17962)
<details> <summary> <strong>Internal Changes</strong> </summary>
- chore: Add required size_check for GH Actions (#18009)
- chore: Upgrade madge to v8 (#17957)
- test(hono): Fix hono e2e tests (#18000)
- test(react-router): Fix
getMetaTagTransformertests for Vitest compatibility (#18013) - test(react): Add parameterized route tests for
createHashRouter(#17789)
</details>
-
- 10.21.021 Oct 2025
Release notes
Open source โImportant Changes
-
feat(browserProfiling): Add
tracelifecycle mode for UI profiling (#17619)Adds a new
tracelifecycle mode for UI profiling, allowing profiles to be captured for the duration of a trace. Amanualmode will be added in a future release. -
feat(nuxt): Instrument Database (#17899)
Adds instrumentation for Nuxt database operations, enabling better performance tracking of database queries.
-
feat(nuxt): Instrument server cache API (#17886)
Adds instrumentation for Nuxt's server cache API, providing visibility into cache operations.
-
feat(nuxt): Instrument storage API (#17858)
Adds instrumentation for Nuxt's storage API, enabling tracking of storage operations.
Other Changes
- feat(browser): Add
onRequestSpanEndhook to browser tracing integration (#17884) - feat(nextjs): Support Next.js proxy files (#17926)
- feat(replay): Record outcome when event buffer size exceeded (#17946)
- fix(cloudflare): copy execution context in durable objects and handlers (#17786)
- fix(core): Fix and add missing cache attributes in Vercel AI (#17982)
- fix(core): Improve uuid performance (#17938)
- fix(ember): Use updated version for
clean-css(#17979) - fix(nextjs): Don't set experimental instrumentation hook flag for next 16 (#17978)
- fix(nextjs): Inconsistent transaction naming for i18n routing (#17927)
- fix(nextjs): Update bundler detection (#17976)
<details> <summary> <strong>Internal Changes</strong> </summary>
- build: Update to typescript 5.8.0 (#17710)
- chore: Add external contributor to CHANGELOG.md (#17949)
- chore(build): Upgrade nodemon to 3.1.10 (#17956)
- chore(ci): Fix external contributor action when multiple contributions existed (#17950)
- chore(solid): Remove unnecessary import from README (#17947)
- test(nextjs): Fix proxy/middleware test (#17970)
</details>
Work in this release was contributed by @0xbad0c0d3. Thank you for your contribution!
Bundle size ๐ฆ
Path Size @sentry/browser 24.05 KB @sentry/browser - with treeshaking flags 22.57 KB @sentry/browser (incl. Tracing) 40.01 KB @sentry/browser (incl. Tracing, Profiling) 44.2 KB @sentry/browser (incl. Tracing, Replay) 77.43 KB @sentry/browser (incl. Tracing, Replay) - with treeshaking flags 67.36 KB @sentry/browser (incl. Tracing, Replay with Canvas) 82.02 KB @sentry/browser (incl. Tracing, Replay, Feedback) 93.9 KB @sentry/browser (incl. Feedback) 40.33 KB @sentry/browser (incl. sendFeedback) 28.61 KB @sentry/browser (incl. FeedbackAsync) 33.42 KB @sentry/react 25.69 KB @sentry/react (incl. Tracing) 41.96 KB @sentry/vue 28.43 KB @sentry/vue (incl. Tracing) 41.75 KB @sentry/svelte 24.06 KB CDN Bundle 26.27 KB CDN Bundle (incl. Tracing) 40.65 KB CDN Bundle (incl. Tracing, Replay) 76.05 KB CDN Bundle (incl. Tracing, Replay, Feedback) 81.39 KB CDN Bundle - uncompressed 77.01 KB CDN Bundle (incl. Tracing) - uncompressed 120.55 KB CDN Bundle (incl. Tracing, Replay) - uncompressed 232.89 KB CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 245.35 KB @sentry/nextjs (client) 44.05 KB @sentry/sveltekit (client) 40.43 KB @sentry/node-core 49.56 KB @sentry/node 150.82 KB @sentry/node - without tracing 90.44 KB @sentry/aws-serverless 103.84 KB Release notes
Open source โImportant Changes
-
feat(browserProfiling): Add
tracelifecycle mode for UI profiling (#17619)Adds a new
tracelifecycle mode for UI profiling, allowing profiles to be captured for the duration of a trace. Amanualmode will be added in a future release. -
feat(nuxt): Instrument Database (#17899)
Adds instrumentation for Nuxt database operations, enabling better performance tracking of database queries.
-
feat(nuxt): Instrument server cache API (#17886)
Adds instrumentation for Nuxt's server cache API, providing visibility into cache operations.
-
feat(nuxt): Instrument storage API (#17858)
Adds instrumentation for Nuxt's storage API, enabling tracking of storage operations.
Other Changes
- feat(browser): Add
onRequestSpanEndhook to browser tracing integration (#17884) - feat(nextjs): Support Next.js proxy files (#17926)
- feat(replay): Record outcome when event buffer size exceeded (#17946)
- fix(cloudflare): copy execution context in durable objects and handlers (#17786)
- fix(core): Fix and add missing cache attributes in Vercel AI (#17982)
- fix(core): Improve uuid performance (#17938)
- fix(ember): Use updated version for
clean-css(#17979) - fix(nextjs): Don't set experimental instrumentation hook flag for next 16 (#17978)
- fix(nextjs): Inconsistent transaction naming for i18n routing (#17927)
- fix(nextjs): Update bundler detection (#17976)
<details> <summary> <strong>Internal Changes</strong> </summary>
- build: Update to typescript 5.8.0 (#17710)
- chore: Add external contributor to CHANGELOG.md (#17949)
- chore(build): Upgrade nodemon to 3.1.10 (#17956)
- chore(ci): Fix external contributor action when multiple contributions existed (#17950)
- chore(solid): Remove unnecessary import from README (#17947)
- test(nextjs): Fix proxy/middleware test (#17970)
</details>
Work in this release was contributed by @0xbad0c0d3. Thank you for your contribution!
-