Requested by: @szokeasaurusrex
Merge target: (default)
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
Breaking Changes
-
ClientOptions is 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-opentelemetry integration to support OpenTelemetry 0.32. Users of the integration must update their OpenTelemetry dependencies from 0.29 to 0.32 (#1262).
-
The logs and metrics features are now enabled by default in the sentry crate. 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_rate field. Use ClientOptions::event_sampling_strategy to inspect the configured event sampling strategy, and use the existing ClientOptions::sample_rate(...) builder setter to configure fixed-rate sampling.
-
Removed the public ClientOptions::sample_rate field. Use ClientOptions::event_sampling_strategy to inspect the configured event sampling strategy, and use the existing ClientOptions::sample_rate(...) builder setter to configure fixed-rate sampling (#1228).
-
Removed the public ClientOptions::traces_sample_rate and ClientOptions::traces_sampler fields. Use ClientOptions::traces_sampling_strategy to inspect the configured traces sampling strategy, and use the existing ClientOptions::traces_sample_rate(...) and ClientOptions::traces_sampler(...) builder setters to configure fixed-rate and callback-based sampling (#1227).
-
EnvelopeItem now stores Event and Transaction payloads in Box values. Code that constructs or pattern-matches these variants must account for the additional indirection (#1255).
-
The sentry_log::RecordMapping enum's Event now stores the event in a Box (#1269).
-
sentry_slog::RecordMapping is now #[non_exhaustive] and the Event variant now stores a boxed Event<'static> (#1270)
-
The sentry_tracing::EventMapping enum's Event variant is now stored in a Box (#1272)
New Features
Improvements
- Improved trace continuation safety by rejecting incoming traces with incompatible
sentry-org_id values 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).
EnvelopeError is now #[non_exhaustive] to allow adding new error variants without a breaking change (#1254).
Requested by: @szokeasaurusrex
Merge target: (default)
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
Breaking Changes
ClientOptionsis now#[non_exhaustive](#1230). The struct must now be constructed with the builder-style setters: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
TracePropagationContextas the preferred type for Sentry trace propagation metadata. The existingSentryTracetype remains available for backwards compatibility (#1212).Dsn::org_id, which parses the Sentry SaaS organization ID from DSN hosts such aso123.ingest.sentry.io(#1202).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
sentry-org_idvalues when starting transactions, according to strict trace continuation rules (#1218).Fixes
EnvelopeErroris now#[non_exhaustive]to allow adding new error variants without a breaking change (#1254).