Skip to content

0.49.0

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 29 Jul 10:49

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).