PackageTrack
Sign in Get early access

sentry-backtrace

Sentry integration and utilities for dealing with stacktraces.

0.49.1 47M downloads/mo #1268 most downloaded on crates.io getsentry/sentry-rust

What this package is like to depend on

Last release 20 days ago

03 Aug 2026

Ships fairly regularly

a new release about every 5 weeks

Nearly every release is documented

notes for 58 of 59 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

59 releases · first in 2020

15 releases in the last 12 months

see the full history below

Release timeline

59 releases · Jun 2020 to Aug 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 59
  1. 0.49.1 03 Aug 2026
    Release notes

    Fixes

    • Preserve floating-point fields in tracing logs as numeric attributes (#1278).
    Open source →
    Release notes

    Fixes

    • Preserve floating-point fields in tracing logs as numeric attributes (#1278).
    • Fix a bug that prevented the Curl transport from respecting Sentry rate limits (#1279).
    Open source →
  2. 0.49.0 29 Jul 2026
    Release notes

    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://[email protected]/0",
          debug: true,
          release: Some("[email protected]".into()),
          ..Default::default()
      };
      
      // After
      let options = sentry::ClientOptions::new()
          .dsn("https://[email protected]/0")
          .debug(true)
          .release("[email protected]");
    • 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).
    Open source →
    Release notes

    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://[email protected]/0",
          debug: true,
          release: Some("[email protected]".into()),
          ..Default::default()
      };
      
      // After
      let options = sentry::ClientOptions::new()
          .dsn("https://[email protected]/0")
          .debug(true)
          .release("[email protected]");
      
    • 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).
    Open source →
  3. 0.48.5 14 Jul 2026
    Release notes

    Fixes

    • Fixed a bug that could cause the SDK to panic and, in some cases, panic while handling the panic, aborting the process (#1241).
    Open source →
    Release notes

    Fixes

    • Fixed a bug that could cause the SDK to panic and, in some cases, panic while handling the panic, aborting the process (#1241).
    Open source →
  4. 0.48.4 07 Jul 2026
    Release notes

    New Features

    Deprecations

    • Constructing ClientOptions with struct-literal syntax, including ..Default::default() functional update syntax, is deprecated and will stop compiling in the next breaking release, as we will mark ClientOptions as #[non_exhaustive] (#1221). Reading and assigning individual public fields will remain supported. Please migrate to the builder-style setters introduced in this release.
    Open source →
    Release notes

    New Features

    Deprecations

    • Constructing ClientOptions with struct-literal syntax, including ..Default::default() functional update syntax, is deprecated and will stop compiling in the next breaking release, as we will mark ClientOptions as #[non_exhaustive] (#1221). Reading and assigning individual public fields will remain supported. Please migrate to the builder-style setters introduced in this release.
    Open source →
  5. 0.48.3 25 Jun 2026
    Release notes

    The Sentry Rust SDK now reports data discarded by the SDK to Sentry’s Stats page. The SDK reports approximate counts for drops from transports, queues, rate-limit backoff, sampling, event processors, and before_send* callbacks, including span counts for dropped transactions and byte counts for dropped logs and metrics.

    New Features

    Deprecations

    Fixes

    • Fixed ureq transport handling for HTTP error statuses so 429 rate limits and 413 payload-too-large responses are processed correctly (#1177).

    Behavior Changes

    • Custom transport factories that implement TransportFactory::create_transport now receive ClientOptions reconstructed from TransportOptions. The reconstructed options include only transport-relevant fields, such as DSN, user agent, proxy settings, and TLS certificate validation settings. This may affect code that reads non-transport fields in create_transport, but the API remains source-compatible and this change is included in a minor/patch release (#1142).
    Open source →
    Release notes

    The Sentry Rust SDK now reports data discarded by the SDK to Sentry’s Stats page. The SDK reports approximate counts for drops from transports, queues, rate-limit backoff, sampling, event processors, and before_send* callbacks, including span counts for dropped transactions and byte counts for dropped logs and metrics.

    New Features

    Deprecations

    Fixes

    • Fixed ureq transport handling for HTTP error statuses so 429 rate limits and 413 payload-too-large responses are processed correctly (#1177).

    Behavior Changes

    • Custom transport factories that implement TransportFactory::create_transport now receive ClientOptions reconstructed from TransportOptions. The reconstructed options include only transport-relevant fields, such as DSN, user agent, proxy settings, and TLS certificate validation settings. This may affect code that reads non-transport fields in create_transport, but the API remains source-compatible and this change is included in a minor/patch release (#1142).
    Open source →
  6. 0.48.2 11 May 2026
    Release notes

    New Features

    • Added rustls-no-provider feature flag in the sentry crate to allow using the rustls transport with a different crypto provider (#1103).

    Fixes

    • Serialize attachment envelope headers as JSON to correctly encode header values (#1109).
    • Use checked arithmetic to handle possible overflows (#1119, #1121, #1122).
    Open source →
    Release notes

    New Features

    • Added rustls-no-provider feature flag in the sentry crate to allow using the rustls transport with a different crypto provider (#1103).

    Fixes

    • Serialize attachment envelope headers as JSON to correctly encode header values (#1109).
    • Use checked arithmetic to handle possible overflows (#1119, #1121, #1122).
    Open source →
  7. 0.48.1 04 May 2026
    Release notes

    Fixes

    • Changed ClientOptions::enable_metrics to default to true, aligning metrics behavior with other Sentry SDKs (#1106). Metric capture APIs still require the metrics feature flag at compile time.
    Open source →
    Release notes

    Fixes

    • Changed ClientOptions::enable_metrics to default to true, aligning metrics behavior with other Sentry SDKs (#1106). Metric capture APIs still require the metrics feature flag at compile time.
    Open source →
  8. 0.48.0 28 Apr 2026
    Release notes

    Breaking Changes

    New Features

    📊📈💯 The Sentry-Rust SDK now supports emitting Sentry Metrics (#1073)!

    To get started, you will need to add the metrics feature flag when compiling the sentry crate. You will also need to enable metrics when initializing the SDK, like so:

    use sentry::ClientOptions;
    
    let _guard = sentry::init((
        "(your DSN here)",
        ClientOptions {
            enable_metrics: true,
            // ... other options ...
            ..Default::default()
        },
    ));

    You can then capture metrics as follows:

    use sentry::metrics;
    use sentry::types::protocol::latest::Unit;
    
    // We support counter, gauge, and distribution metrics.
    metrics::counter("example.counter", 1).capture();
    metrics::gauge("connections", 20).capture();
    metrics::distribution("response.time", 123.4)
        .unit(Unit::Millisecond) // units can also be set on gauges
        .attribute("http.status", 200) // attributes can be set on all metric types
        .capture();

    Fixes

    • Fixed several feature additivity SemVer violations, where enabling a feature flag could have introduced breaking changes. All known violations are fixed now, so simply enabling an additional feature flag in any Sentry SDK crate should no longer cause any public API breakages. Fixing these issues required us to break the public API in some places; those breakages are detailed above.
    Open source →
    Release notes

    Breaking Changes

    New Features

    📊📈💯 The Sentry-Rust SDK now supports emitting Sentry Metrics (#1073)!

    To get started, you will need to add the metrics feature flag when compiling the sentry crate. You will also need to enable metrics when initializing the SDK, like so:

    use sentry::ClientOptions;
    
    let _guard = sentry::init((
        "(your DSN here)",
        ClientOptions {
            enable_metrics: true,
            // ... other options ...
            ..Default::default()
        },
    ));
    

    You can then capture metrics as follows:

    use sentry::metrics;
    use sentry::types::protocol::latest::Unit;
    
    // We support counter, gauge, and distribution metrics.
    metrics::counter("example.counter", 1).capture();
    metrics::gauge("connections", 20).capture();
    metrics::distribution("response.time", 123.4)
        .unit(Unit::Millisecond) // units can also be set on gauges
        .attribute("http.status", 200) // attributes can be set on all metric types
        .capture();
    

    Fixes

    • <a name="semver-additivity-bug-fixes-2026-04"></a> Fixed several feature additivity SemVer violations, where enabling a feature flag could have introduced breaking changes. All known violations are fixed now, so simply enabling an additional feature flag in any Sentry SDK crate should no longer cause any public API breakages. Fixing these issues required us to break the public API in some places; those breakages are detailed above.
    Open source →
  9. 0.47.0 10 Mar 2026
    Release notes

    Breaking Changes

    • Update reqwest from 0.12.25 to 0.13.1 (#998). This change is breaking for users who use the RequestHttpTransport::with_client method.
    • sentry_core::HubSwitchGuard is now !Send, preventing it from being moved across threads (#957).

    New Features

    • Added a Envelope::into_items method, which returns an iterator over owned EnvelopeItems in the Envelope (#983).
    • Expose transport utilities (#949)

    Fixes

    • Fixed thread corruption bug where HubSwitchGuard could be dropped on wrong thread (#957).
    • We now fork the Hub every time a span is entered. This prevents data from leaking across spans (#957).
    Open source →
    Release notes

    Breaking Changes

    • Update reqwest from 0.12.25 to 0.13.1 (#998). This change is breaking for users who use the RequestHttpTransport::with_client method.
    • sentry_core::HubSwitchGuard is now !Send, preventing it from being moved across threads (#957).

    New Features

    • Added a Envelope::into_items method, which returns an iterator over owned EnvelopeItems in the Envelope (#983).
    • Expose transport utilities (#949)

    Fixes

    • Fixed thread corruption bug where HubSwitchGuard could be dropped on wrong thread (#957).
    • We now fork the Hub every time a span is entered. This prevents data from leaking across spans (#957).
    Open source →
  10. 0.46.2 04 Feb 2026
    Release notes

    New Features

    • Log HTTP 413 responses as oversized envelope discards in HTTP transports (#966)
    Open source →
    Release notes

    New Features

    • Log HTTP 413 responses as oversized envelope discards in HTTP transports (#966)

    Minimum Supported Rust Version

    • Bump minimum supported Rust version to 1.88 (#970).
    Open source →
  11. 0.46.1 07 Jan 2026
    Release notes

    Improvements

    • Make it possible to == Transaction/Span/TransactionOrSpan (#942)

    Dependencies

    • Update reqwest from 0.12.15 to 0.12.25 (#951)
    Open source →
  12. 0.46.0 24 Nov 2025
    Release notes

    Breaking changes

    • Removed the ClientOptions struct's trim_backtraces and extra_border_frames fields (#925).
      • These fields configured backtrace trimming, which is being removed in this release.

    Improvements

    • Removed backtrace trimming to align the Rust SDK with the general principle that Sentry SDKs should only truncate telemetry data when needed to comply with documented size limits (#925). This change ensures that as much data as possible remains available for debugging.
      • If you notice any new issues being created for existing errors after this change, please open an issue on GitHub.

    Fixes

    • fix: adjust sentry.origin for log integration (#919) by @lcian
    Open source →
  13. 0.45.0 08 Oct 2025
    Release notes

    Breaking changes

    • Add custom variant to AttachmentType that holds an arbitrary String. (#916)
    Open source →
  14. 0.44.0 07 Oct 2025
    Release notes

    Breaking changes

    • feat(log): support combined LogFilters and RecordMappings (#914) by @lcian
      • Breaking change: sentry::integrations::log::LogFilter has been changed to a bitflags struct.
      • 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.
      • 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.

    Behavioral changes

    • ref(log): send logs by default when logs feature flag is enabled (#915) by @lcian
      • If the logs feature flag is enabled, the default Sentry log logger now sends logs for all events at or above INFO.
    • ref(logs): enable logs by default if logs feature flag is used (#910) by @lcian
      • This changes the default value of sentry::ClientOptions::enable_logs to true.
      • This simplifies the setup of Sentry structured logs by requiring users to just add the log feature flag to the sentry dependency to opt-in to sending logs.
      • When the log feature flag is enabled, the tracing and log integrations will send structured logs to Sentry for all logs/events at or above INFO level by default.
    Open source →
  15. 0.43.0 24 Sep 2025
    Release notes

    Breaking changes

    • ref(tracing): rework tracing to Sentry span name/op conversion (#887) by @lcian
      • The tracing integration now uses the tracing span name as the Sentry span name by default.
      • Before this change, the span name would be set based on the tracing span target (<module>::<function> when using the tracing::instrument macro).
      • The tracing integration now uses <span target>::<span name> as the default Sentry span op (i.e. <module>::<function> when using tracing::instrument).
      • Before this change, the span op would be set based on the tracing span name.
      • Read below to learn how to customize the span name and op.
      • When upgrading, please ensure to adapt any queries, metrics or dashboards to use the new span names/ops.
    • ref(tracing): use standard code attributes (#899) by @lcian
      • Logs now carry the attributes code.module.name, code.file.path and code.line.number standardized in OTEL to surface the respective information, in contrast with the previously sent tracing.module_path, tracing.file and tracing.line.
    • fix(actix): capture only server errors (#877) by @lcian
      • The Actix integration now properly honors the capture_server_errors option (enabled by default), capturing errors returned by middleware only if they are server errors (HTTP status code 5xx).
      • Previously, if a middleware were to process the request after the Sentry middleware and return an error, our middleware would always capture it and send it to Sentry, regardless if it was a client, server or some other kind of error.
      • With this change, we capture errors returned by middleware only if those errors can be classified as server errors.
      • There is no change in behavior when it comes to errors returned by services, in which case the Sentry middleware only captures server errors exclusively.
    • fix: send trace origin correctly (#906) by @lcian
      • TraceContext now has an additional field origin, used to report which integration created a transaction.

    Behavioral changes

    • feat(tracing): send both breadcrumbs and logs by default (#878) by @lcian
      • If the logs feature flag is enabled, and enable_logs: true is set on your client options, the default Sentry tracing layer now sends logs for all events at or above INFO.

    Features

    • ref(tracing): rework tracing to Sentry span name/op conversion (#887) by @lcian

      • Additional special fields have been added that allow overriding certain data on the Sentry span:
        • sentry.op: override the Sentry span op.
        • sentry.name: override the Sentry span name.
        • sentry.trace: given a string matching a valid sentry-trace header (sent automatically by client SDKs), continues the distributed trace instead of starting a new one. If the value is not a valid sentry-trace header or a trace is already started, this value is ignored.
      • sentry.op and sentry.name can also be applied retroactively by declaring fields with value tracing::field::Empty and then recorded using tracing::Span::record.
      • Example usage:
        #[tracing::instrument(skip_all, fields(
            sentry.op = "http.server",
            sentry.name = "GET /payments",
            sentry.trace = headers.get("sentry-trace").unwrap_or(&"".to_owned()),
        ))]
        async fn handle_request(headers: std::collections::HashMap<String, String>) {
            // ...
        }
        
      • Additional attributes are sent along with each span by default:
        • sentry.tracing.target: corresponds to the tracing span's metadata.target()
        • code.module.name, code.file.path, code.line.number
    • feat(core): add Response context (#874) by @lcian

      • The Response context can now be attached to events, to include information about HTTP responses such as headers, cookies and status code.
      • Example:
        let mut event = Event::new();
        let response = ResponseContext {
            cookies: Some(r#""csrftoken": "1234567""#.to_owned()),
            headers: Some(headers_map),
            status_code: Some(500),
            body_size: Some(15),
            data: Some("Invalid request"),
        };
        event
            .contexts
            .insert("response".to_owned(), response.into());
        

    Fixes

    • build(panic): Fix build without other dependencies (#883) by @liskin
      • The sentry-panic crate now builds successfully when used as a standalone dependency.
    • fix(transport): add rate limits for logs (#894) by @giortzisg
    Open source →
  16. 0.42.0 29 Jul 2025
    Release notes

    Features

    • feat(log): support kv feature of log (#851) by @lcian
      • Attributes added to a log record using the kv feature are now recorded as attributes on the log sent to Sentry.
    • feat(types): add all the missing supported envelope headers (#867) by @lcian
    • feat(types): add setters for envelope headers (#868) by @lcian
      • It's now possible to set all of the envelope headers supported by the protocol when constructing envelopes.
    • feat(core): add some DSC fields to transaction envelope headers (#869) by @lcian
      • The SDK now sends additional envelope headers with transactions. This should solve some extrapolation issues for span metrics.

    Behavioral changes

    • feat: filter username and password in URLs (#864) by @lcian
      • Usernames and passwords that could be contained in URLs captured when using the Actix Web or axum integration are now always filtered out.
      • If the Request is created manually by the user, then these fields are not filtered out.
      • This information was already filtered by Relay, but should also be filtered by the SDK itself as a first line of defense.

    Fixes

    • docs: match description of debug option with behavior since PR #820 (#860) by @AlexTMjugador
    Open source →
  17. 0.41.0 23 Jun 2025
    Release notes

    Breaking changes

    • feat(tracing): support combined EventFilters and EventMappings (#847) by @lcian
      • EventFilter has been changed to a bitflags struct.
      • 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.
      • It's also possible to use EventMapping::Combined to map a tracing event to multiple items in Sentry.
      • 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.

    Features

    • feat(core): emit debug log when calling capture_log but logs are disabled (#849) by @lcian

    Fixes

    • fix(logs): stringify u64 attributes greater than i64::MAX (#846) by @lcian

    Dependencies

    • chore(deps): bump anyhow and disable its backtrace feature (#632) by @LunaBorowska
    Open source →
  18. 0.40.0 17 Jun 2025
    Release notes

    Breaking changes

    • refactor(logs): apply user attributes to log regardless of send_default_pii (#843) by @lcian
      • User attributes should be applied to logs regardless of send_default_pii. Therefore, that parameter was removed from sentry_core::Scope::apply_to_log.

    Features

    • feat(tracing): add support for logs (#840) by @lcian
      • To capture tracing events as Sentry structured logs, enable the logs feature of the sentry crate.
      • Then, initialize the SDK with enable_logs: true in your client options.
      • Finally, set up a custom event filter to map events to logs based on criteria such as severity. For example:
          let sentry_layer = sentry_tracing::layer().event_filter(|md| match *md.level() {
              tracing::Level::ERROR => EventFilter::Event,
              tracing::Level::TRACE => EventFilter::Ignore,
              _ => EventFilter::Log,
          });
      
    • feat(log): add support for logs (#841) by @lcian
      • To capture log records as Sentry structured logs, enable the logs feature of the sentry crate.
      • Then, initialize the SDK with enable_logs: true in your client options.
      • Finally, set up a custom event filter to map records to Sentry logs based on criteria such as severity. For example:
          let logger = sentry::integrations::log::SentryLogger::new().filter(|md| match md.level() {
              log::Level::Error => LogFilter::Event,
              log::Level::Trace => LogFilter::Ignore,
              _ => LogFilter::Log,
          });
      
    • refactor(logs): cache default attributes and add OS attributes (#842) by @lcian
      • os.name and os.version are now being attached to logs as default attributes.

    Fixes

    • fix(logs): send environment in sentry.environment default attribute (#837) by @lcian

    Behavioral changes

    • refactor(tracing): refactor internal code and improve docs (#839) by @lcian
      • Errors carried by breadcrumbs will now be stored in the breadcrumb data under their original field name.
      • Before, they were all stored under a single key called errors.

    Dependencies

    • chore(deps): upgrade ureq to 3.x (#835) by @algesten
    Open source →
  19. 0.39.0 10 Jun 2025
    Release notes

    Features

    Support for Sentry structured logs has been added to the SDK.

    • To set up logs, enable the logs feature of the sentry crate and set enable_logs to true in your client options.

    • Then, use the logger_trace!, logger_debug!, logger_info!, logger_warn!, logger_error! and logger_fatal! macros to capture logs.

    • To filter or update logs before they are sent, you can use the before_send_log client option.

    • Please note that breaking changes could occur until the API is finalized.

    • feat(logs): add log protocol types (#821) by @lcian

    • feat(logs): add ability to capture and send logs (#823) by @lcian & @Swatinem

    • feat(logs): add macro-based API (#827) by @lcian & @szokeasaurusrex

    • feat(logs): send logs in batches (#831) by @lcian

    Behavioral changes

    • feat(core): implement Tracing without Performance (#811) by @lcian
      • The SDK now implements Tracing without Performance, which makes it so that each Scope is associated with an object holding some tracing information.
      • This information is used as a fallback when capturing an event with tracing disabled or otherwise no ongoing span, to still allow related events to be linked by a trace.
      • A new API Scope::iter_trace_propagation_headers has been provided that will use the fallback tracing information if there is no current Span on the Scope.

    Breaking changes

    • refactor: remove debug-logs feature (#820) by @lcian
      • The deprecated debug-logs feature of the sentry crate, used for the SDK's own internal logging, has been removed.
    Open source →
  20. 0.38.1 13 May 2025
    Release notes

    Fixes

    • build: include sentry-actix optionally when release-health is enabled (#806) by @lcian
      • sentry-actix is now being included as a dependency only when explicitly added, either as a direct dependency or through the actix feature flag of the sentry crate.
      • Due to a mistake in the Cargo.toml, it was previously being included as a dependency by default when using just the sentry crate with default features.
    Open source →
  21. 0.38.0 09 May 2025
    Release notes

    OpenTelemetry integration

    An OpenTelemetry integration has been released. Please refer to the changelog entry below for the details.

    Breaking changes

    • refactor(tracing): remove EventFilter::exception and always attach exception (#768) by @lcian
      • The EventFilter::Exception enum variant has been removed. Please use EventFilter::Event instead to achieve the same behavior.
      • Using EventFilter::Event will always attach any error struct used within the error field passed to the tracing macro, as EventFilter::Exception did previously.
      • The error field will also be attached to breadcrumbs as an errors field resembling the structure of Sentry events created from error structs.
    • fix: use release-health flag in sentry-actix and remove it from subcrates where unneeded (#787) by @lcian
      • As a follow-up from the changes in the previous release, the ClientOptions fields auto_session_tracking and session_mode are now gated behind the release-health feature flag of the sentry crate.
      • If you depend on sentry with default-features = false, you need to include the release-health feature flag to benefit from the Release Health features of Sentry and have access to the aforementioned client options.
      • The release-health feature flag is used correctly in sentry-actix to enable compilation of that subcrate when it's disabled.
      • The release-health has been removed from the sentry-tracing and sentry-tower subcrates, where it was unnecessary.
    • refactor: remove Surf transport (#766) by @lcian
      • The Surf transport has been removed as the surf crate is unmaintained and it was holding back dependency upgrades.
      • If you really want to still use Surf, you can define a custom TransportFactory and pass it as the transport in your ClientOptions

    Behavioral changes

    • refactor: honor send_default_pii in sentry-actix and sentry-tower (#771) by @lcian
      • The client option send_default_pii (disabled by default) is now honored by sentry-actix and sentry-tower.
      • This means that potentially sensitive headers such as authorization, cookies, and those that usually contain the user's IP address are filtered and not sent to Sentry.
      • If you want to get back to the previous behavior and capture all headers, please set send_default_pii to true in your ClientOptions.
      • Please refer to our Data Collected page for a comprehensive view of the data collected by the SDK.
    • refactor(debug-images): force init DEBUG_META on integration init (#773) by @lcian
      • The DebugImages integration has been updated to init the DEBUG_META Lazy immediately.
      • Using this integration is known to cause issues in specific versions of the Linux kernel due to issues in a library it depends on.
      • Previously, on problematic systems the SDK would cause deadlock after capturing the first event. Now the SDK will panic on initialization instead. Please open an issue if you're affected.

    Features

    • feat(otel): add OpenTelemetry SpanProcessor, Propagator, Extractor (#779) by @lcian
      • A new integration for the opentelemetry crate has been released.
      • It can be used to capture spans created using the opentelemetry API and send them to Sentry.
      • Distributed tracing is also supported, provided that the upstream/downstream services support the Sentry or W3C distributed tracing metadata format.
      • Please refer to the subcrate's README or the crate docs to see an example of setup and usage.
    • feat: expose sentry-actix as a feature of sentry (#788) by @lcian
      • sentry-actix is now exposed by the sentry crate as sentry::integrations::actix, gated behind the actix feature flag.
      • Please update your dependencies to not depend on the sentry-actix subcrate directly.

    Dependencies

    • build(deps): bump openssl from 0.10.71 to 0.10.72 (#762) by @dependabot
    • build(deps): bump tokio from 1.44.1 to 1.44.2 (#763) by @dependabot
    • chore(deps): bump some dependencies and update Cargo.lock (#772) by @lcian

    Various fixes & improvements

    • Replace once_cell with std::sync::LazyLock (#776) by @FalkWoldmann
    • chore: update GH issue templates for Linear compatibility (#777) by @stephanie-anderson
    • chore: update issue templates with blank issue and Discord link (#778) by @lcian
    • refactor(core): fail with message if TLS backend not available (#784) by @lcian
    • build: add sentry-opentelemetry to workspace (#789) by @lcian
    • docs: update docs including OTEL and other integrations (#790) by @lcian
    • fix(otel): fix doctests (#794) by @lcian
    • fix(otel): fix span and trace ids for distributed tracing (#801) by @lcian
    • build(otel): exclude version from circular dev-dependencies (#802) by @lcian
    Open source →
  22. 0.37.0 01 Apr 2025
    Release notes

    Breaking changes

    • chore(msrv): cargo update and bump MSRV to 1.81 (#754) by @lcian
      • The minimum supported Rust version has been raised to 1.81.
    • feat(core): introduce release-health feature (#749) by @pepperoni505
      • A new release-health feature flag was introduced that gates the Release Health features of Sentry.
      • This allows for compilation of the SDK on certain WASM targets.
      • Release Health features were already present and enabled with no feature flag in previous versions.
      • The new feature flag will be enabled by default when using sentry, sentry-actix, sentry-tower or sentry-tracing with the default features.
      • If you're fine-tuning your feature flags, make sure to enable release-health to get back the previous behavior.
    • ref(metrics): remove features and code related to the old metrics beta (#740) by @lcian
      • The metrics feature and the code related to it has been removed from the crate, as the Sentry backend stopped ingesting metrics a while ago.
    • Switch to MIT license (#724) by @cleptric
      • The license for the crates has been changed to MIT.

    Features

    • feat(actix): capture HTTP request body (#731) by @pacifistes
      • The middleware for actix-web now supports capturing and attaching the request body to HTTP request transactions.
      • You need to enable send_default_pii in your client options for this to be enabled, and you can fine-tune the behavior using the new option max_request_body_size.
    • feat(core): transaction.set_data sets data on TraceContext (#739) by @lcian
      • transaction.set_data now sets data on TraceContext, as the SDK should not use the extra field.
    • ref(backtrace): add entries and extra logic for in-app detection (#756) by @lcian
    • feat(core): add more frames to be considered not in_app (#760) by @lcian
      • The logic used by the SDK to detect in-app stack frames has been improved. Now the SDK will mark more frames as not in-app.
      • A similar improvement has been added to the Sentry backend so that old versions of the SDK can benefit from improved in-app reporting.

    Fixes

    • fix(http): Finish transaction on drop (#727) by @Dav1dde
      • Fixed a bug where the current transaction was not finished (hence not sent to Sentry) when its corresponding future was dropped, e.g. due to a panic.
    • follow https://github.com/getsentry/sentry-rust/pull/439 for actix-web. fix https://github.com/getsentry/sentry-rust/issues/680 (#737) by @pavel-rosputko
      • The HTTP request metadata is now being correctly attached to transactions when using sentry-actix.
    • fix(tracing): wrap error with synthetic mechanism only if attaching stacktrace (#755) by @lcian
      • Fixed a bug that should result in improved grouping and issue titles for events reported by sentry-tracing when not capturing stack traces.
    • fix(actix): process request in other middleware using correct Hub (#758) by @lcian
      • The subsequent middleware in the chain when processing a request now execute within the correct Hub.
    • fix(anyhow): attach stacktrace only if error provides backtrace (#759) by @lcian
      • Fixed a bug where the SDK was providing incorrect stack traces when capturing an anyhow when the backtrace feature is enabled but RUST_BACKTRACE is not set.
      • This should result in correct grouping of the affected issues.

    Various fixes & improvements

    • Fix CS (#726) by @cleptric
    • fix(doctests): update prost (#750) by @lcian
    • chore(msrv): bump MSRV to 1.75 (#751) by @lcian
    • refactor(actix): simplify body_from_http (#757) by @robjtede
    • chore: prepare changelog for release (#761) by @lcian

    Dependencies

    • build(deps): bump openssl from 0.10.66 to 0.10.70 (#732) by @dependabot
    • build(deps): bump ring from 0.17.8 to 0.17.13 (#747) by @dependabot
    Open source →
  23. 0.36.0 07 Jan 2025
    Release notes

    Various fixes & improvements

    • feat(sentry-tower) Make SentryLayer and SentryService Sync if request isn't (#721) by @syphar
    • sentry-tower: Update axum dependency to v0.8 (#718) by @Turbo87
    • Allow retrieving user of scope (#715) by @thomaseizinger
    • Elide lifetimes where possible (#716) by @thomaseizinger
    • Replace release bot with GH app (#714) by @Jeffreyhung
    • Delay sampling of span to finish (#712) by @thomaseizinger
    Open source →
  24. 0.35.0 29 Nov 2024
    Release notes

    Fixes:

    • Envelopes will be discarded rather than blocking if the transport channel fills up (previously fixed in async-capable transports, now applied to the curl/ureq transports). (#701)
    Open source →
  25. 0.34.0 05 Jun 2024
    Release notes

    Features:

    • Renamed the UNSTABLE_metrics and UNSTABLE_cadence feature flags to metrics and metrics-cadence1 respectively.
    Open source →
  26. 0.33.0 27 May 2024
    Release notes

    Various fixes & improvements

    • ref(metrics): Add normalization and update set metrics hashing (#658) by @elramen
    • feat: add embedded-svc based http transport (#654) by @madmo
    Open source →
  27. 0.32.3 16 Apr 2024
    Release notes

    Compatiblity:

    • Raised the MSRV to 1.73.

    Improvements:

    • Slightly improved overhead of the tracing layer. (#642)

    Updates:

    • Updated reqwest to version 0.12.
    • Updated tonic to version 0.11.
    Open source →
  28. 0.32.2 30 Jan 2024
    Release notes

    Various fixes & improvements

    • feat(crons): Add new fields to MonitorConfig type (#638) by @szokeasaurusrex
    • build(deps): bump h2 from 0.3.22 to 0.3.24 (#635) by @dependabot
    • fix(hub): avoid deadlocks when emitting events (#633) by @Tuetuopay
    Open source →
  29. 0.32.1 18 Dec 2023
    Release notes

    Features:

    • Add experimental implementations for Sentry metrics and a cadence sink. These require to use the UNSTABLE_metrics and UNSTABLE_cadence feature flags. Note that these APIs are still under development and subject to change.
    Open source →
  30. 0.32.0 28 Nov 2023
    Release notes

    Features:

    • Updated sentry-tower dependencies, including axum and http.
    Open source →
  31. 0.31.8 10 Nov 2023
    Release notes

    Various fixes & improvements

    • MonitorSchedule constructor that validates crontab syntax (#625) by @szokeasaurusrex
    • fix(docs): Fix some doc errors that slipped in (#623) by @flub
    • docs(tower): Mention how to enable http feature from sentry crate (#622) by @flub
    • build(deps): bump rustix from 0.37.23 to 0.37.25 (#619) by @dependabot
    Open source →
  32. 0.31.7 14 Sep 2023
    Release notes

    Various fixes & improvements

    • The minimum supported Rust version was bumped to 1.68.0 due to requirements from dependencies. (#612)
    Open source →
  33. 0.31.6 28 Aug 2023
    Release notes

    Various fixes & improvements

    • Apply clippy fixes and cherry-pick PRs (#610) by @Swatinem
    • ref: Apply user field from scope to transaction event (#596) by @kamilogorek
    • Remove profiling support (#595) by @viglia
    • chore: upgrade webpki-roots 0.22.5 -> 0.23.0 (#593) by @boxdot
    Open source →
  34. 0.31.5 16 Jun 2023
    Release notes

    Various fixes & improvements

    • chore(deps): bump rustls (#592) by @utkarshgupta137
    Open source →
  35. 0.31.4 14 Jun 2023
    Release notes

    Various fixes & improvements

    • Apply scope metadata to transactions (#590) by @loewenheim
    Open source →
  36. 0.31.3 25 May 2023
    Release notes

    Various fixes & improvements

    • feat(tracing): Improve structure for tracing errors (#585) by @jan-auer
    Open source →
  37. 0.31.2 23 May 2023
    Release notes

    Various fixes & improvements

    • feat(crons): Add monitor check-in types to sentry-types (#577) by @evanpurkhiser
    Open source →
  38. 0.31.1 19 May 2023
    Release notes

    Features:

    • Add a new (tower-)axum-matched-path feature to use the MatchedPath as transaction name, along with attaching the request metadata to the transaction.

    Fixes:

    • Fix rate-limiting/filtering of raw envelopes.

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  39. 0.31.0 19 Apr 2023
    Release notes

    Breaking Changes:

    • Aligned profiling-related protocol types.

    Features:

    • Added a ProfilesSampler to the ClientOptions.

    Fixes:

    • Fix building ureq transport without the native-tls feature.
    • Fixed serialization of raw Envelopes, and added a new from_bytes_raw constructor.

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  40. 0.30.0 24 Feb 2023
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.66.0 due to CI workflow misconfiguration.

    Fixes:

    • Switch to checked version of from_secs_f64 in timestamp_to_datetime function to prevent panics (#554) by @olksdr

    Internal:

    • Disable unnecessary default regex features for sentry-backtrace (#552) by @xfix
    • Use correct Rust toolchain for MSRV jobs (#555) by @kamilogorek
    Open source →
  41. 0.29.3 09 Feb 2023
    Release notes

    Features:

    • debug_images is now a default feature. (#545
    • Added a from_path_raw function to Envelope that reads an envelope from a file without parsing anything. (#549)
    • Added a data method to performance::Span that gives access to the span's attached data. (#548)

    Fixes:

    • Envelopes will be discarded rather than blocking if the transport channel fills up. (#546)
    Open source →
  42. 0.29.2 25 Jan 2023
    Release notes

    Various fixes & improvements

    • fix: Prefer match_pattern over match_name in actix (#539) by @wuerges
    • feat(profiling): Add profile context to transaction. (#538) by @viglia
    • Re-disable scheduled jobs on forks (#537) by @MarijnS95
    • fix: Avoid Deadlock popping ScopeGuards out of order (#536) by @Swatinem
    • sentry-core: make TraceContext publicly readable (#534) by @tommilligan
    • sentry-core: make TransactionContext.trace_id readable (#533) by @tommilligan
    • docs: fix outdated native-tls/rustls info in README (#535) by @seritools
    • features: Make tower-http enable the tower feature (#532) by @Turbo87
    Open source →
  43. 0.29.1 01 Dec 2022
    Release notes

    Features:

    • Users of TransactionContext may now add custom context to it. This may be used by traces_sampler to decide sampling rates on a per-transaction basis. (#512)

    Fixes:

    • Correctly strip crates hashes for v0 symbol mangling. (#525)

    Internal:

    • Simplify Hub::run and SentryFuture by using a scope-guard for Hub switching. (#524, #529)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  44. 0.29.0 17 Nov 2022
    Release notes

    Features:

    • Allow traces_sampler to inspect well known properties of TransactionContext (#514)
    Open source →
  45. 0.28.0 04 Nov 2022
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.60.0 due to requirements from dependencies. (#498)
    • Added the traces_sampler option to ClientOptions. This allows the user to customise sampling rates on a per-transaction basis. (#510)

    Features:

    • Add support for Profiling feature. (#479)
    • Add SSL_VERIFY option to control certificate verification. (#508)
    • Add Windows OS version to OS context (#499)
    • Add a tower-http feature as a shortcut (#493)

    Internal:

    • Take advantage of weak features in Rust 1.60 for TLS enablement (#454)
    • Turn off pprof default features (#491)
    • Change session update logic to follow the spec (#477)
    • Extract public event_from_error fn in sentry-anyhow (#476)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  46. 0.27.0 20 Jun 2022
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.57.0 due to requirements from dependencies. (#472)
    • Add the rust-version field to the manifest. (#473)
    • Update to edition 2021. (#473)

    Features:

    • Implement Envelope::from_path and Envelope::from_slice. (#456)
    • Add basic attachment support. (#466)

    Internal:

    • Replace ancient lazy_static crate with once_cell or const slices. (#471)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  47. 0.26.0 20 May 2022
    Release notes

    Breaking Changes:

    • Updated the debugid and uuid dependencies to versions 0.8.0 and 1.0.0 respectively.

    Features:

    • Request data can now be attached to Transactions and Spans via set_transaction. (#439)
    • macOS versions are now reported instead of the Darwin kernel version. (#451)
    • Support capturing the error of functions instrumented with #[instrument(err)]. (#453)
    • Support capturing span data of instrumented functions. (#445)
    • Expose the debug_images function from sentry-debug-images.

    Fixes:

    • Generate a more correct request URL in the sentry-tower integration. (#460)
    • Do not panic on invalid HTTP(S)_PROXY env. (#450)

    Internal:

    • Project Ids in DSN are treated as opaque strings. (#452)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  48. 0.25.0 02 Mar 2022
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.54.0 due to requirements from dependencies.
    • Updated the sentry-actix integration to actix-web@4. (#437)

    Features:

    • Calling Scope::set_transaction will override the Transaction name of any currently running performance monitoring transaction. (#433)

    Fixes:

    • Make sure Spans/Transactions have a meaningful/non-empty name. (#434)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  49. 0.24.3 08 Feb 2022
    Release notes

    Features:

    • Added ureq transport support. (#419)
    • Added GpuContext to the Context. (#428)

    Fixes:

    • Remove unused serde_json feature from curl dependency. (#420)
    • sentry-tracing: When converting a tracing event to a sentry event, don't create an exception if the original event doesn't have one (#423)
    • sentry-tracing: Add line numbers and tags into custom Contexts sections. (#430)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  50. 0.24.2 25 Jan 2022
    Release notes

    Fixes:

    • Make sure sentry-core compiler without the client feature. (#416)
    • Fix incorrect wrapping of Service Futures in sentry-tower that could lead to memory leaks combined with the Http Service. (#417)
    Open source →
  51. 0.24.1 21 Jan 2022
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.53.0 due to requirements from dependencies.
    • The backtrace feature of sentry-anyhow is enabled by default. (#362)
    • The tracing-subscriber dependency of sentry-tracing has been bumped to version 0.3.x. (#377)
    • Scope::add_event_processor now takes a generic parameter instead of a boxed function.(#380)
    • The new performance monitoring APIs required changes to a few protocol types.
    • A few more constructors are now decorated with #[must_use].
    • Usage of chrono in public API types was removed in favor of SystemTime. (#409)

    Features:

    • Added manual APIs for performance monitoring and span/transaction collection. (#395)
    • Added span/transaction collection to sentry-tracing. (#350, #400)
    • Added a new crate sentry-tower and feature tower that enables integration with tower. (#356)
    • The new sentry-tower crate has a http feature which can be used to log request details and start new performance monitoring spans based on incoming distributed tracing headers. (#397)
    • Similarly, the sentry-actix integration also has the ability to start new performance monitoring spans based on incoming distributed tracing headers. (#411)
    • Added a new feature surf-h1 for using surf with the h1 client. (#357)
    • Added support for Span::record to sentry-tracing. (#364)
    • Errors captured in the tracing integration are being reported as sentry Exceptions. (#412)
    • Added Windows support for debug images. (#366)

    Fixes:

    • The tokio dependency is now only required for the curl, reqwest, and surf features. (#363)
    • The rate limiting implementation was updated to follow the expected behavior. (#410)

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  52. 0.24.0 21 Jan 2022

    Nothing published for this version

  53. 0.23.0 08 Jul 2021
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.46.0 due to requirements from dependencies.

    Features:

    • Added support for pre-aggregated Sessions using the new SessionMode::Request option. This requires Sentry 21.2.
    • Added a new Client::flush method to explicitly flush the transport and use that to make sure events are flushed out when using panic=abort.
    • Added a new flush hook to the Transport trait.
    • Exposed a new RateLimiter utility that transport implementations can use to drop envelopes early when the DSN is being rate limited.
    • Optionally allow capturing backtraces from anyhow errors.
    • Added new crate sentry-tracing and feature tracing that enables support to capture Events and Breadcrumbs from tracing logs.

    Fixes:

    • Honor the attach_stacktrace option correctly when capturing errors.
    • Added the missing addr_mode property to Frame.
    • Fixed extracting the error type from a anyhow::msg.

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  54. 0.22.0 13 Jan 2021
    Release notes

    Breaking Changes:

    • The minimum supported Rust version was bumped to 1.45.0.
    • The deprecated error-chain and failure integrations, features and crates were removed.

    Features:

    • The slog integration now supports capturing slog::KV pairs for both breadcrumbs and events.
    • Preliminary support for attachments was added to sentry-types and the Envelope. However, deeper integration into the SDK is not yet complete.

    Fixes:

    • Fix regression defaulting ClientOptions::environment from SENTRY_ENVIRONMENT.
    • The debug-images integration now captures the correct image_addr.
    • Do not send invalid exception events in the log and slog integrations. Both integrations no longer attach the location. To receive location information, set options.attach_stacktrace to true.
    • Process all event backtraces the same way.
    • Fix a panic in the session flusher.

    Updates:

    • Updated reqwest to version 0.11, which is based on tokio 1.
    • Removed usage of the abandoned im crate, thus solving a transitive RUSTSEC advisory.

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  55. 0.21.0 12 Nov 2020
    Release notes

    Breaking Changes:

    • Bump the minimum required Rust version to 1.42.0.
    • The actix integration / middleware is now compatible with actix-web 3.
    • Removed all deprecated exports and deprecated feature flags.
    • The failure integration / feature is now off-by-default along with its deprecation.
    • The log and slog integrations were re-designed, they now offer types that wrap a log::Log or slog::Drain and forward log events to the currently active sentry Hub based on an optional filter and an optional mapper.
    • The new log integration will not implicitly call log::set_max_level_filter anymore, and users need to do so manually.

    Features:

    • The SDK will now set a default environment based on debug_assertions.
    • Session updates are now sent lazily.
    • Add the new end_session_with_status global and Hub functions which allow ending a Release Health Session with an explicit SessionStatus.

    Deprecations:

    • The error-chain and failure integration was officially deprecated and will be removed soon.
    Open source →
  56. 0.20.1 15 Sep 2020
    Release notes

    Fixes:

    • Fixed a deadlock when nesting configure_scope calls.
    • Improved transport shutdown logic and fixed a potential deadlock on shutdown.
    Open source →
  57. 0.20.0 09 Sep 2020
    Release notes

    Highlights:

    • The Rust SDK now has experimental support for Release Health Sessions using the start_session and end_session API (global and on the Hub).

    Breaking Changes:

    • The Transport was changed to work on Envelopes instead of Events. The send_event trait function was removed in favor of send_envelope.

    Features:

    • The Envelope, SessionUpdate, and other related types have been added to the sentry_types::protocol::v7 module.
    • A clear_breadcrumbs method was added to Scope.
    • sentry_contexts::utils is now public.

    Fixes:

    • Panic events now have a proper mechanism.

    Deprecations:

    • The Future and FutureExt exports have been renamed to SentryFuture and SentryFutureExt respectively.

    Thank you:

    Features, fixes and improvements in this release have been contributed by:

    Open source →
  58. 0.19.1 28 Aug 2020
    Release notes

    Fixes:

    • Better deal with concurrent Hub access.
    Open source →
  59. 0.19.0 18 Jun 2020
    Release notes

    Highlights:

    The sentry crate has been split up into a sentry-core, and many smaller per-integration crates. Application users should continue using the sentry crate, but library users and integration/transport authors are encouraged to use the sentry-core crate instead.

    Additionally, sentry can now be extended via Integrations.

    Breaking Changes:

    • The utils module has been removed, and most utils have been moved into integrations.
    • The integrations module was completely rewritten.
    • When constructing a Client using a ClientOptions struct manually, it does not have any default integrations, and it does not resolve default options from environment variables any more. Please use the explicit apply_defaults function instead. The init function will automatically call apply_defaults.
    • The init function can’t be called with a Client anymore.

    Features:

    • Sentry can now capture std::error::Error types, using the capture_error and Hub::capture_error functions, and an additional event_from_error utility function.
    • Sentry now has built-in support to bind a Hub to a Future.
    • Sentry can now be extended with Integrations.
    • The ClientInitGuard, Future and ScopeGuard structs and apply_defaults, capture_error, event_from_error, with_integration and parse_type_from_debug functions have been added to the root exports.
    • The FutureExt, Integration, IntoBreadcrumbs, IntoDsn, Transport and TransportFactory traits are now exported.
    • The types module now re-exports sentry-types.

    Deprecations:

    • The internals module is deprecated. Please use items from the crate root or the types module instead.
    • All the feature flags have been renamed, the old names are still available but will be removed in the future.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive