Releases: getsentry/sentry-rust
0.24.3
Features:
Fixes:
- Remove unused
serde_jsonfeature fromcurldependency. (#420) sentry-tracing: When converting atracingevent to asentryevent, 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:
0.24.2
0.24.1
Breaking Changes:
- The minium supported Rust version was bumped to 1.53.0 due to requirements from dependencies.
- The
backtracefeature ofsentry-anyhowis enabled by default. (#362) - The
tracing-subscriberdependency ofsentry-tracinghas been bumped to version0.3.x. (#377) Scope::add_event_processornow takes a generic parameter instead of a boxed function.(#380)- The new performance monitoring APIs required changes to a few
protocoltypes. - A few more constructors are now decorated with
#[must_use]. - Usage of
chronoin public API types was removed in favor ofSystemTime. (#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-towerand featuretowerthat enables integration withtower. (#356) - The new
sentry-towercrate has ahttpfeature which can be used to log request details and start new performance monitoring spans based on incoming distributed tracing headers. (#397) - Similarly, the
sentry-actixintegration also has the ability to start new performance monitoring spans based on incoming distributed tracing headers. (#411) - Added a new feature
surf-h1for usingsurfwith the h1 client. (#357) - Added support for
Span::recordtosentry-tracing. (#364) - Errors captured in the
tracingintegration are being reported as sentry Exceptions. (#412) - Added Windows support for debug images. (#366)
Fixes:
- The
tokiodependency is now only required for thecurl,reqwest, andsurffeatures. (#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:
0.23.0
Breaking Changes:
- The minium 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::Requestoption. This requires Sentry 21.2. - Added a new
Client::flushmethod to explicitly flush the transport and use that to make sure events are flushed out when usingpanic=abort. - Added a new
flushhook to theTransporttrait. - Exposed a new
RateLimiterutility 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-tracingand featuretracingthat enables support to capture Events and Breadcrumbs from tracing logs.
Fixes:
- Honor the
attach_stacktraceoption correctly when capturing errors. - Added the missing
addr_modeproperty toFrame. - Fixed extracting the error type from a
anyhow::msg.
Thank you:
Features, fixes and improvements in this release have been contributed by:
0.22.0
Breaking Changes:
- The minimum supported Rust version was bumped to 1.45.0.
- The deprecated
error-chainandfailureintegrations, features and crates were removed.
Features:
- The
slogintegration now supports capturingslog::KVpairs for both breadcrumbs and events. - Preliminary support for attachments was added to
sentry-typesand theEnvelope. However, deeper integration into the SDK is not yet complete.
Fixes:
- Fix regression defaulting
ClientOptions::environmentfromSENTRY_ENVIRONMENT. - The
debug-imagesintegration now captures the correctimage_addr. - Do not send invalid exception events in the
logandslogintegrations. Both integrations no longer attach the location. To receive location information, setoptions.attach_stacktracetotrue. - Process all event backtraces the same way.
- Fix a panic in the session flusher.
Updates:
- Updated
reqwestto version0.11, which is based ontokio 1. - Removed usage of the abandoned
imcrate, thus solving a transitive RUSTSEC advisory.
Thank you:
Features, fixes and improvements in this release have been contributed by:
0.21.0
Breaking Changes:
- Bump the minimum required Rust version to 1.42.0.
- The
actixintegration / middleware is now compatible withactix-web 3. - Removed all deprecated exports and deprecated feature flags.
- The
failureintegration / feature is now off-by-default along with its deprecation. - The
logandslogintegrations were re-designed, they now offer types that wrap alog::Logorslog::Drainand forward log events to the currently active sentryHubbased on an optional filter and an optional mapper. - The new
logintegration will not implicitly calllog::set_max_level_filteranymore, and users need to do so manually.
Features:
- The SDK will now set a default
environmentbased ondebug_assertions. - Session updates are now sent lazily.
- Add the new
end_session_with_statusglobal and Hub functions which allow ending a Release Health Session with an explicitSessionStatus.
Deprecations:
- The
error-chainandfailureintegration was officially deprecated and will be removed soon.
0.20.1
0.20.0
Highlights:
- The Rust SDK now has experimental support for Release Health Sessions using the
start_sessionandend_sessionAPI (global and on theHub).
Breaking Changes:
- The
Transportwas changed to work onEnvelopes instead ofEvents. Thesend_eventtrait function was removed in favor ofsend_envelope.
Features:
- The
Envelope,SessionUpdate, and other related types have been added to thesentry_types::protocol::v7module. - A
clear_breadcrumbsmethod was added toScope. sentry_contexts::utilsis now public.
Fixes:
- Panic events now have a proper
mechanism.
Deprecations:
- The
FutureandFutureExtexports have been renamed toSentryFutureandSentryFutureExtrespectively.
Thank you:
Features, fixes and improvements in this release have been contributed by:
0.19.1
0.19.0
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
utilsmodule has been removed, and most utils have been moved into integrations. - The
integrationsmodule was completely rewritten. - When constructing a
Clientusing aClientOptionsstruct manually, it does not have any default integrations, and it does not resolve default options from environment variables any more. Please use the explicitapply_defaultsfunction instead. Theinitfunction will automatically callapply_defaults. - The
initfunction can’t be called with aClientanymore.
Features:
- Sentry can now capture
std::error::Errortypes, using thecapture_errorandHub::capture_errorfunctions, and an additionalevent_from_errorutility function. - Sentry now has built-in support to bind a
Hubto aFuture. - Sentry can now be extended with
Integrations. - The
ClientInitGuard,FutureandScopeGuardstructs andapply_defaults,capture_error,event_from_error,with_integrationandparse_type_from_debugfunctions have been added to the root exports. - The
FutureExt,Integration,IntoBreadcrumbs,IntoDsn,TransportandTransportFactorytraits are now exported. - The
typesmodule now re-exportssentry-types.
Deprecations:
- The
internalsmodule is deprecated. Pleaseuseitems from the crate root or thetypesmodule instead. - All the feature flags have been renamed, the old names are still available but