Releases: getsentry/sentry-rust
Releases · getsentry/sentry-rust
0.38.1
Fixes
- build: include
sentry-actix
optionally whenrelease-health
is enabled (#806) by @lciansentry-actix
is now being included as a dependency only when explicitly added, either as a direct dependency or through theactix
feature flag of thesentry
crate.- Due to a mistake in the
Cargo.toml
, it was previously being included as a dependency by default when using just thesentry
crate 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::exception
and always attach exception (#768) by @lcian- The
EventFilter::Exception
enum variant has been removed. Please useEventFilter::Event
instead to achieve the same behavior. - Using
EventFilter::Event
will always attach any error struct used within theerror
field passed to thetracing
macro, asEventFilter::Exception
did previously. - The
error
field will also be attached to breadcrumbs as anerrors
field resembling the structure of Sentry events created from error structs.
- The
- fix: use
release-health
flag insentry-actix
and remove it from subcrates where unneeded (#787) by @lcian- As a follow-up from the changes in the previous release, the
ClientOptions
fieldsauto_session_tracking
andsession_mode
are now gated behind therelease-health
feature flag of thesentry
crate. - If you depend on
sentry
withdefault-features = false
, you need to include therelease-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 insentry-actix
to enable compilation of that subcrate when it's disabled. - The
release-health
has been removed from thesentry-tracing
andsentry-tower
subcrates, 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
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 thetransport
in yourClientOptions
- The Surf transport has been removed as the
Behavioral changes
- refactor: honor
send_default_pii
insentry-actix
andsentry-tower
(#771) by @lcian- The client option
send_default_pii
(disabled by default) is now honored bysentry-actix
andsentry-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
totrue
in 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_META
on integration init (#773) by @lcian- The
DebugImages
integration has been updated to init theDEBUG_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.
- The
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.
- A new integration for the
- feat: expose
sentry-actix
as a feature ofsentry
(#788) by @lciansentry-actix
is now exposed by thesentry
crate assentry::integrations::actix
, gated behind theactix
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
withstd::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
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
orsentry-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.
- 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-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 optionmax_request_body_size
.
- The middleware for
- feat(core):
transaction.set_data
sets data onTraceContext
(#739) by @lciantransaction.set_data
now sets data onTraceContext
, as the SDK should not use theextra
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 notin-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.
- 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-tracing
when 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
anyhow
when thebacktrace
feature is enabled butRUST_BACKTRACE
is 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
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
0.35.0
0.34.0
Features:
- Renamed the
UNSTABLE_metrics
andUNSTABLE_cadence
feature flags tometrics
andmetrics-cadence1
respectively.
0.33.0
0.32.3
0.32.2
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
0.32.1
Features:
- Add experimental implementations for Sentry metrics and a cadence sink. These
require to use theUNSTABLE_metrics
andUNSTABLE_cadence
feature flags.
Note that these APIs are still under development and subject to change.