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