Releases: getsentry/sentry-rust
Releases · getsentry/sentry-rust
0.38.1
Fixes
- build: include
sentry-actixoptionally whenrelease-healthis enabled (#806) by @lciansentry-actixis now being included as a dependency only when explicitly added, either as a direct dependency or through theactixfeature flag of thesentrycrate.- Due to a mistake in the
Cargo.toml, it was previously being included as a dependency by default when using just thesentrycrate with default features.
0.38.0
OpenTelemetry integration
An OpenTelemetry integration has been released. Please refer to the changelog entry below for the details.
Breaking changes
- refactor(tracing): remove
EventFilter::exceptionand always attach exception (#768) by @lcian- The
EventFilter::Exceptionenum variant has been removed. Please useEventFilter::Eventinstead to achieve the same behavior. - Using
EventFilter::Eventwill always attach any error struct used within theerrorfield passed to thetracingmacro, asEventFilter::Exceptiondid previously. - The
errorfield will also be attached to breadcrumbs as anerrorsfield resembling the structure of Sentry events created from error structs.
- The
- fix: use
release-healthflag insentry-actixand remove it from subcrates where unneeded (#787) by @lcian- As a follow-up from the changes in the previous release, the
ClientOptionsfieldsauto_session_trackingandsession_modeare now gated behind therelease-healthfeature flag of thesentrycrate. - If you depend on
sentrywithdefault-features = false, you need to include therelease-healthfeature flag to benefit from the Release Health features of Sentry and have access to the aforementioned client options. - The
release-healthfeature flag is used correctly insentry-actixto enable compilation of that subcrate when it's disabled. - The
release-healthhas been removed from thesentry-tracingandsentry-towersubcrates, where it was unnecessary.
- As a follow-up from the changes in the previous release, the
- refactor: remove Surf transport (#766) by @lcian
- The Surf transport has been removed as the
surfcrate is unmaintained and it was holding back dependency upgrades. - If you really want to still use Surf, you can define a custom
TransportFactoryand pass it as thetransportin yourClientOptions
- The Surf transport has been removed as the
Behavioral changes
- refactor: honor
send_default_piiinsentry-actixandsentry-tower(#771) by @lcian- The client option
send_default_pii(disabled by default) is now honored bysentry-actixandsentry-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_piitotruein yourClientOptions. - Please refer to our Data Collected page for a comprehensive view of the data collected by the SDK.
- The client option
- refactor(debug-images): force init
DEBUG_METAon integration init (#773) by @lcian- The
DebugImagesintegration has been updated to init theDEBUG_METALazyimmediately. - 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.
- The
Features
- feat(otel): add OpenTelemetry SpanProcessor, Propagator, Extractor (#779) by @lcian
- A new integration for the
opentelemetrycrate has been released. - It can be used to capture spans created using the
opentelemetryAPI 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.
- A new integration for the
- feat: expose
sentry-actixas a feature ofsentry(#788) by @lciansentry-actixis now exposed by thesentrycrate assentry::integrations::actix, gated behind theactixfeature flag.- Please update your dependencies to not depend on the
sentry-actixsubcrate 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_cellwithstd::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-opentelemetryto 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
Breaking changes
- chore(msrv):
cargo updateand bump MSRV to 1.81 (#754) by @lcian- The minimum supported Rust version has been raised to 1.81.
- feat(core): introduce
release-healthfeature (#749) by @pepperoni505- A new
release-healthfeature 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-towerorsentry-tracingwith the default features. - If you're fine-tuning your feature flags, make sure to enable
release-healthto get back the previous behavior.
- A new
- 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-webnow supports capturing and attaching the request body to HTTP request transactions. - You need to enable
send_default_piiin your client options for this to be enabled, and you can fine-tune the behavior using the new optionmax_request_body_size.
- The middleware for
- feat(core):
transaction.set_datasets data onTraceContext(#739) by @lciantransaction.set_datanow sets data onTraceContext, as the SDK should not use theextrafield.
- 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-appstack frames has been improved. Now the SDK will mark more frames as notin-app. - A similar improvement has been added to the Sentry backend so that old versions of the SDK can benefit from improved
in-appreporting.
- The logic used by the SDK to detect
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.
- The HTTP request metadata is now being correctly attached to transactions when using
- 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-tracingwhen not capturing stack traces.
- Fixed a bug that should result in improved grouping and issue titles for events reported by
- 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
anyhowwhen thebacktracefeature is enabled butRUST_BACKTRACEis not set. - This should result in correct grouping of the affected issues.
- Fixed a bug where the SDK was providing incorrect stack traces when capturing an
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
0.36.0
Various fixes & improvements
- feat(sentry-tower) Make SentryLayer and SentryService
Syncif request isn't (#721) by @syphar - sentry-tower: Update
axumdependency 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
0.35.0
0.34.0
Features:
- Renamed the
UNSTABLE_metricsandUNSTABLE_cadencefeature flags tometricsandmetrics-cadence1respectively.
0.33.0
0.32.3
0.32.2
Various fixes & improvements
- feat(crons): Add new fields to
MonitorConfigtype (#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
0.32.1
Features:
- Add experimental implementations for Sentry metrics and a cadence sink. These
require to use theUNSTABLE_metricsandUNSTABLE_cadencefeature flags.
Note that these APIs are still under development and subject to change.