Skip to content

Releases: getsentry/sentry-rust

0.38.1

13 May 08:26
Compare
Choose a tag to compare

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.

0.38.0

09 May 14:25
Compare
Choose a tag to compare

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

0.37.0

01 Apr 11:45
Compare
Choose a tag to compare

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 #439 for actix-web. fix #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

Dependencies

0.36.0

07 Jan 15:46
Compare
Choose a tag to compare

Various fixes & improvements

0.35.0

29 Nov 09:30
Compare
Choose a tag to compare

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)

0.34.0

05 Jun 14:11
Compare
Choose a tag to compare

Features:

  • Renamed the UNSTABLE_metrics and UNSTABLE_cadence feature flags to metrics and metrics-cadence1 respectively.

0.33.0

27 May 15:25
Compare
Choose a tag to compare

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

0.32.3

16 Apr 11:38
Compare
Choose a tag to compare

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.

0.32.2

30 Jan 10:50
Compare
Choose a tag to compare

Various fixes & improvements

0.32.1

18 Dec 14:03
Compare
Choose a tag to compare

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.