0.49.0
Breaking Changes
-
ClientOptionsis now#[non_exhaustive](#1230). The struct must now be constructed with the builder-style setters:// Before let options = sentry::ClientOptions { dsn: "https://examplePublicKey@o0.ingest.sentry.io/0", debug: true, release: Some("my-app@1.0.0".into()), ..Default::default() }; // After let options = sentry::ClientOptions::new() .dsn("https://examplePublicKey@o0.ingest.sentry.io/0") .debug(true) .release("my-app@1.0.0");
-
Updated the
sentry-opentelemetryintegration to support OpenTelemetry 0.32. Users of the integration must update their OpenTelemetry dependencies from 0.29 to 0.32 (#1262). -
The
logsandmetricsfeatures are now enabled by default in thesentrycrate. This does not break the API, but may cause new telemetry to be sent to Sentry: log and tracing integrations can send structured logs, and applications can send metrics without adding the feature flags. Disable these features explicitly if this additional telemetry is not desired (#1251). -
Removed the public
ClientOptions::sample_ratefield. UseClientOptions::event_sampling_strategyto inspect the configured event sampling strategy, and use the existingClientOptions::sample_rate(...)builder setter to configure fixed-rate sampling. -
Removed the public
ClientOptions::sample_ratefield. UseClientOptions::event_sampling_strategyto inspect the configured event sampling strategy, and use the existingClientOptions::sample_rate(...)builder setter to configure fixed-rate sampling (#1228). -
Removed the public
ClientOptions::traces_sample_rateandClientOptions::traces_samplerfields. UseClientOptions::traces_sampling_strategyto inspect the configured traces sampling strategy, and use the existingClientOptions::traces_sample_rate(...)andClientOptions::traces_sampler(...)builder setters to configure fixed-rate and callback-based sampling (#1227). -
EnvelopeItemnow storesEventandTransactionpayloads inBoxvalues. Code that constructs or pattern-matches these variants must account for the additional indirection (#1255). -
The
sentry_log::RecordMappingenum'sEventnow stores the event in aBox(#1269). -
sentry_slog::RecordMappingis now#[non_exhaustive]and theEventvariant now stores a boxedEvent<'static>(#1270) -
The
sentry_tracing::EventMappingenum'sEventvariant is now stored in aBox(#1272)
New Features
- Added
TracePropagationContextas the preferred type for Sentry trace propagation metadata. The existingSentryTracetype remains available for backwards compatibility (#1212). - Added
Dsn::org_id, which parses the Sentry SaaS organization ID from DSN hosts such aso123.ingest.sentry.io(#1202). - Added
ClientOptions::org_idandClientOptions::strict_trace_continuation(#1203). These options control how traces are continued and can help prevent traces from third-party services, which happen to be instrumented with Sentry, from being continued.
Improvements
- Improved trace continuation safety by rejecting incoming traces with incompatible
sentry-org_idvalues when starting transactions, according to strict trace continuation rules (#1218).
Fixes
- Restored the reqwest transport's pre-0.13 protocol features by disabling HTTP/2 and native-TLS ALPN (#1258).
EnvelopeErroris now#[non_exhaustive]to allow adding new error variants without a breaking change (#1254).