sentry-contexts breaking changes
cargo38 curated breaking changes across major versions of sentry-contexts. Use this as a migration checklist before bumping dependencies.
- 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.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
[`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.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
These fields configured backtrace trimming, which is being removed in this release.
- 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.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
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.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
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.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.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
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.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.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 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.39.0 \u2192 0.40.0breaking
refactor(logs): apply user attributes to log regardless of `send_default_pii` (#843) by @lcian
- 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.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
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
refactor(tracing): remove `EventFilter::exception` and always attach exception (#768) by @lcian
- 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
The `error` field will also be attached to breadcrumbs as an `errors` field resembling the structure of Sentry events created from error structs.
- 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.36.0 \u2192 0.37.0breaking
chore(msrv): `cargo update` and bump MSRV to 1.81 (#754) by @lcian
- 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
This allows for compilation of the SDK on certain WASM targets.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/sentry-contexts