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)
Internal Changes
- 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)
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 |