Requested by: @chargome
Merge target: master
Quick links:
Assign the accepted label to this issue to approve the release.
Targets
Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.
📋 Changelog
Important Changes
-
feat(node-core): Add OTLP integration for node-core/light (#19729)
Added otlpIntegration at @sentry/node-core/light/otlp for users who manage
their own OpenTelemetry setup and want to send trace data to Sentry without
adopting the full @sentry/node SDK.
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 nodeRuntimeMetricsIntegration and bunRuntimeMetricsIntegration automatically 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 embedContent API, creating gen_ai.embeddings spans.
-
feat(browser): Add elementTimingIntegration for tracking element render and load times (#19869)
The new elementTimingIntegration captures Element Timing API data as Sentry metrics. It emits element_timing.render_time and element_timing.load_time distribution metrics for elements annotated with the elementtiming HTML 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-trace and baggage headers 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)
Requested by: @chargome
Merge target: master
Quick links:
Assign the accepted label to this issue to approve the release.
Targets
Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.
📋 Changelog
Important Changes
feat(node-core): Add OTLP integration for node-core/light (#19729)
Added
otlpIntegrationat@sentry/node-core/light/otlpfor users who managetheir own OpenTelemetry setup and want to send trace data to Sentry without
adopting the full
@sentry/nodeSDK.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.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.Other Changes
sentry-traceandbaggageheaders on outgoing requests (#19960)Internal Changes
nodeRuntimeMetricsIntegration(#19989)