sentry-backtrace breaking changes

cargo

38 curated breaking changes across major versions of sentry-backtrace. Use this as a migration checklist before bumping dependencies.

38
changes
Breaking changes by transition
  • 0.47.0 \u2192 0.48.0breaking

    [`enable_metrics`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html#structfield.enable_metrics), used to enable sending metrics to Sentry ([#1073](https://github.com/getsentry/sentry-rust/pull/1073)).

  • 0.47.0 \u2192 0.48.0breaking

    There are several breakages related to the [SemVer feature additivity bug fixes](#semver-additivity-bug-fixes-2026-04):

  • 0.47.0 \u2192 0.48.0breaking

    [`sentry_core::ClientOptions`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html) fields [`before_send_log`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html#structfield.before_send_log), [`enable_logs`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html#structfield.enable_logs), [`auto_session_tracking`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html#structfield.auto_session_tracking), and [`session_m

  • 0.47.0 \u2192 0.48.0breaking

    Added the following metrics-related fields to the [`ClientOptions` struct in `sentry-core`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html). Both fields are no-ops, unless the `metrics` feature flag is enabled:

  • 0.47.0 \u2192 0.48.0breaking

    [`before_send_metric`](https://docs.rs/sentry-core/latest/sentry_core/struct.ClientOptions.html#structfield.before_send_metric), used to define a callback for filtering/pre-processing metrics before sending to Sentry ([#1064](https://github.com/getsentry/sentry-rust/pull/1064)).

  • 0.46.2 \u2192 0.47.0breaking

    `sentry_core::HubSwitchGuard` is now `!Send`, preventing it from being moved across threads ([#957](https://github.com/getsentry/sentry-rust/pull/957)).

  • 0.46.2 \u2192 0.47.0breaking

    Update reqwest from 0.12.25 to 0.13.1 ([#998](https://github.com/getsentry/sentry-rust/pull/998)). This change is breaking for users who use the [`RequestHttpTransport::with_client`](https://docs.rs/sentry/latest/sentry/transports/struct.ReqwestHttpTransport.html#method.with_client) method.

  • 0.45.0 \u2192 0.46.0breaking

    Removed the `ClientOptions` struct's `trim_backtraces` and `extra_border_frames` fields ([#925](https://github.com/getsentry/sentry-rust/pull/925)).

  • 0.45.0 \u2192 0.46.0breaking

    These fields configured backtrace trimming, which is being removed in this release.

  • 0.44.0 \u2192 0.45.0breaking

    Add custom variant to `AttachmentType` that holds an arbitrary String. ([#916](https://github.com/getsentry/sentry-rust/pull/916))

  • 0.43.0 \u2192 0.44.0breaking

    Breaking change: `sentry::integrations::log::LogFilter` has been changed to a `bitflags` struct.

  • 0.43.0 \u2192 0.44.0breaking

    If using a custom `mapper` instead, it's possible to return a `Vec<sentry::integrations::log::RecordMapping>` to map a `log` record to multiple items in Sentry.

  • 0.43.0 \u2192 0.44.0breaking

    feat(log): support combined LogFilters and RecordMappings ([#914](https://github.com/getsentry/sentry-rust/pull/914)) by @lcian

  • 0.43.0 \u2192 0.44.0breaking

    It's now possible to map a `log` record to multiple items in Sentry by combining multiple log filters in the filter, e.g. `log::Level::ERROR => LogFilter::Event | LogFilter::Log`.

  • 0.42.0 \u2192 0.43.0breaking

    Before this change, the span name would be set based on the `tracing` span target (`<module>::<function>` when using the `tracing::instrument` macro).

  • 0.42.0 \u2192 0.43.0breaking

    Before this change, the span op would be set based on the `tracing` span name.

  • 0.42.0 \u2192 0.43.0breaking

    ref(tracing): rework tracing to Sentry span name/op conversion ([#887](https://github.com/getsentry/sentry-rust/pull/887)) by @lcian

  • 0.42.0 \u2192 0.43.0breaking

    The `tracing` integration now uses the tracing span name as the Sentry span name by default.

  • 0.42.0 \u2192 0.43.0breaking

    The `tracing` integration now uses `<span target>::<span name>` as the default Sentry span op (i.e. `<module>::<function>` when using `tracing::instrument`).

  • 0.40.0 \u2192 0.41.0breaking

    It's now possible to map a `tracing` event to multiple items in Sentry by combining multiple event filters in the `event_filter`, e.g. `tracing::Level::ERROR => EventFilter::Event | EventFilter::Log`.

  • 0.40.0 \u2192 0.41.0breaking

    `ctx` in the signatures of `event_from_event`, `breadcrumb_from_event` and `log_from_event` has been changed to take `impl Into<Option<&'context Context<'context, S>>>` to avoid cloning the `Context` when mapping to multiple items.

  • 0.40.0 \u2192 0.41.0breaking

    feat(tracing): support combined EventFilters and EventMappings (#847) by @lcian

  • 0.40.0 \u2192 0.41.0breaking

    `EventFilter` has been changed to a `bitflags` struct.

  • 0.40.0 \u2192 0.41.0breaking

    It's also possible to use `EventMapping::Combined` to map a `tracing` event to multiple items in Sentry.

  • 0.39.0 \u2192 0.40.0breaking

    User attributes should be applied to logs regardless of `send_default_pii`. Therefore, that parameter was removed from `sentry_core::Scope::apply_to_log`.

  • 0.39.0 \u2192 0.40.0breaking

    refactor(logs): apply user attributes to log regardless of `send_default_pii` (#843) by @lcian

  • 0.38.1 \u2192 0.39.0breaking

    refactor: remove `debug-logs` feature (#820) by @lcian

  • 0.38.1 \u2192 0.39.0breaking

    The deprecated `debug-logs` feature of the `sentry` crate, used for the SDK's own internal logging, has been removed.

  • 0.37.0 \u2192 0.38.0breaking

    Using `EventFilter::Event` will always attach any error struct used within the `error` field passed to the `tracing` macro, as `EventFilter::Exception` did previously.

  • 0.37.0 \u2192 0.38.0breaking

    fix: use `release-health` flag in `sentry-actix` and remove it from subcrates where unneeded (#787) by @lcian

  • 0.37.0 \u2192 0.38.0breaking

    refactor(tracing): remove `EventFilter::exception` and always attach exception (#768) by @lcian

  • 0.37.0 \u2192 0.38.0breaking

    The `EventFilter::Exception` enum variant has been removed. Please use `EventFilter::Event` instead to achieve the same behavior.

  • 0.37.0 \u2192 0.38.0breaking

    The `error` field will also be attached to breadcrumbs as an `errors` field resembling the structure of Sentry events created from error structs.

  • 0.36.0 \u2192 0.37.0breaking

    This allows for compilation of the SDK on certain WASM targets.

  • 0.36.0 \u2192 0.37.0breaking

    The minimum supported Rust version has been raised to 1.81.

  • 0.36.0 \u2192 0.37.0breaking

    feat(core): introduce `release-health` feature (#749) by @pepperoni505

  • 0.36.0 \u2192 0.37.0breaking

    A new `release-health` feature flag was introduced that gates the [Release Health](https://docs.sentry.io/product/releases/health/) features of Sentry.

  • 0.36.0 \u2192 0.37.0breaking

    chore(msrv): `cargo update` and bump MSRV to 1.81 (#754) by @lcian

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/cargo/sentry-backtrace