Releases: getsentry/sentry-rust
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::Request
option. This requires Sentry 21.2. - Added a new
Client::flush
method to explicitly flush the transport and use that to make sure events are flushed out when usingpanic=abort
. - Added a new
flush
hook to theTransport
trait. - Exposed a new
RateLimiter
utility 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-tracing
and featuretracing
that enables support to capture Events and Breadcrumbs from tracing logs.
Fixes:
- Honor the
attach_stacktrace
option correctly when capturing errors. - Added the missing
addr_mode
property 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-chain
andfailure
integrations, features and crates were removed.
Features:
- The
slog
integration now supports capturingslog::KV
pairs for both breadcrumbs and events. - Preliminary support for attachments was added to
sentry-types
and theEnvelope
. However, deeper integration into the SDK is not yet complete.
Fixes:
- Fix regression defaulting
ClientOptions::environment
fromSENTRY_ENVIRONMENT
. - The
debug-images
integration now captures the correctimage_addr
. - Do not send invalid exception events in the
log
andslog
integrations. Both integrations no longer attach the location. To receive location information, setoptions.attach_stacktrace
totrue
. - Process all event backtraces the same way.
- Fix a panic in the session flusher.
Updates:
- Updated
reqwest
to version0.11
, which is based ontokio 1
. - Removed usage of the abandoned
im
crate, 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
actix
integration / middleware is now compatible withactix-web 3
. - Removed all deprecated exports and deprecated feature flags.
- The
failure
integration / feature is now off-by-default along with its deprecation. - The
log
andslog
integrations were re-designed, they now offer types that wrap alog::Log
orslog::Drain
and forward log events to the currently active sentryHub
based on an optional filter and an optional mapper. - The new
log
integration will not implicitly calllog::set_max_level_filter
anymore, and users need to do so manually.
Features:
- The SDK will now set a default
environment
based ondebug_assertions
. - Session updates are now sent lazily.
- Add the new
end_session_with_status
global and Hub functions which allow ending a Release Health Session with an explicitSessionStatus
.
Deprecations:
- The
error-chain
andfailure
integration 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_session
andend_session
API (global and on theHub
).
Breaking Changes:
- The
Transport
was changed to work onEnvelope
s instead ofEvent
s. Thesend_event
trait function was removed in favor ofsend_envelope
.
Features:
- The
Envelope
,SessionUpdate
, and other related types have been added to thesentry_types::protocol::v7
module. - A
clear_breadcrumbs
method was added toScope
. sentry_contexts::utils
is now public.
Fixes:
- Panic events now have a proper
mechanism
.
Deprecations:
- The
Future
andFutureExt
exports have been renamed toSentryFuture
andSentryFutureExt
respectively.
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 Integration
s.
Breaking Changes:
- The
utils
module has been removed, and most utils have been moved into integrations. - The
integrations
module was completely rewritten. - When constructing a
Client
using aClientOptions
struct manually, it does not have any default integrations, and it does not resolve default options from environment variables any more. Please use the explicitapply_defaults
function instead. Theinit
function will automatically callapply_defaults
. - The
init
function can’t be called with aClient
anymore.
Features:
- Sentry can now capture
std::error::Error
types, using thecapture_error
andHub::capture_error
functions, and an additionalevent_from_error
utility function. - Sentry now has built-in support to bind a
Hub
to aFuture
. - Sentry can now be extended with
Integration
s. - The
ClientInitGuard
,Future
andScopeGuard
structs andapply_defaults
,capture_error
,event_from_error
,with_integration
andparse_type_from_debug
functions have been added to the root exports. - The
FutureExt
,Integration
,IntoBreadcrumbs
,IntoDsn
,Transport
andTransportFactory
traits are now exported. - The
types
module now re-exportssentry-types
.
Deprecations:
- The
internals
module is deprecated. Pleaseuse
items from the crate root or thetypes
module instead. - All the feature flags have been renamed, the old names are still available but
0.18.1
0.18.0
-
Upgrade most dependencies to their current versions (#183):
env_logger 0.7
reqwest 0.10
error-chain 0.12
url 2.1
sentry-types 0.14
-
Remove the
log
andenv_logger
integration from default features (#183). -
Fix backtraces for newer
failure
andbacktrace
versions (#183). -
Fix compilation of the
with_rust_info
feature (#183). -
Add "panics" sections to functions that may panic (#174).
-
Document all feature flags consistently.