Breaking Changes:
- Removed all deprecated exports and deprecated feature flags.
- The
failure
integration / feature is now off-by-default along with its deprecation.
Deprecations:
- The
error-chain
andfailure
integration was officialy deprecated and will be removed soon.
Fixes:
- Fixed a deadlock when nesting
configure_scope
calls. - Improved transport shutdown logic and fixed a potential deadlock on shutdown.
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:
Fixes:
- Better deal with concurrent Hub access.
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 will be removed in the future.
- Fix potential segfault with
with_debug_meta
(#211). - Fix panic when running inside of tokio (#186).
-
Bump the minimum required Rust version to 1.40.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.
- Upgrade findshlibs (#153)
- Bump the minimum required Rust version to 1.34.0.
- Fix potentially broken payloads when using the
curl
transport (#152). - Report the SDK as
sentry.rust
for analytics (#142).
- Fix backtraces with inline frames in newer Rust versions (#141).
- Added a feature flag to disable the default sentry features in sentry-actix. (#139)
- Added
with_rustls
andwith_native_tls
features to control SSL in the default reqwest transport. (#137)
- Added support for passing custom reqwest clients/curl handles to the transport (#130)
- Correct dependency bump for sentry types.
- Upgraded to newer version of the internal sentry types crate.
- Fixed a potential issue where an event might have been dropped if it was sent right after the curl transport was created.
- Fixed an issue where turning off the http transports would cause a compile error.
- Added support for reading
SENTRY_ENVIRONMENT
andSENTRY_RELEASE
environment variables. - Added support for panicking with failure errors.
- Added
attach_stacktraces
configuration option to logging integration - Fixed a bug where
emit_breadcrumbs
was incorrectly handled. - Restructured the transport system. You can now disable the builtin HTTP reqwest based transport or opt for the curl transport.
- Fixed a potential issue where an event might have been dropped if it was sent right after the reqwest transport was created.
- Added support for server side symbolication for linux platforms.
Breaking Change: This release requires Rust 1.31 or newer.
- Upgrade the logger integration to
env_logger:0.6
- Support debug identifiers of loaded images on Linux (#114)
- Update
sentry-types
to the latest version - Fix
log::log_enabled!
when log integration is active
- Resolve a memory leak in the actix integration.
- Fix an issue where dropping a scope guard for a non active hub resulted in a panic.
- Added support for the new failure
Fail::name
- Improved support for actix failure based error
- Added
RefUnwindSafe
forClientOptions
- Remove the never supported
repos
option.
- Upgrade reqwest to 0.9
- Add support for debug logging through the log crate (
with_debug_to_log
feature) - Added debug log for when events are dropped in the transport.
- Fix compilation error in
sentry-actix
(#87)
- Added
sentry::with_scope
- Updated the sentry types to 0.8.x
- Streamline types with other SDKs. Most notabe changes:
Event::id
has been renamed toEvent::event_id
Event::exceptions
has been renamed toEvent::exception
- Some collections are now wrapped in
Values
- Added more debug logs.
- Removed
drain_events
. Events are now drained by callingClient::close
or on the transport onTransport::shutdown
. - Removed
Hub::add_event_processor
. This was replaced byScope::add_event_processor
which is easier to use (only returns factory function)/ - Added various new client configuration values.
- Unified option handling
This is likely to be the final API before 1.0
- Remove null byte terminator from device model context (#33)
- Fix
uname
breaking builds on Windows (#32) - Fix the crate documentation link (#31)