Features:
- Add reusable, user-owned scopes.
sentry_scope_newcreates a scope thatsentry_capture_event_with_scopeapplies without consuming, so you can configure it once and reuse it across many captures instead of building a new local scope each time.sentry_scope_clonecopies a scope, andsentry_scope_freereleases it. (#1855) - Android: Expose setting the environment on the scope through the NDK bindings via
NativeScope.setEnvironment(), so head SDKs can sync the environment at runtime. (#1874) - Embed the crash event's breadcrumbs into session replay recordings, so breadcrumbs from the replay window show up on the replay timeline. (#1875)
- Add
sentry_transaction_discardandsentry_span_discardfor releasing unfinished transactions and spans without sending them. (#1858) - Add scope attributes.
sentry_scope_set_attribute/_nset an attribute on a scope andsentry_scope_remove_attribute/_nremove one, while the newsentry_scope_capture_logandsentry_scope_capture_metriccapture a log or metric against a given scope. Scope attributes and trace are applied to logs and metrics captured against it, resolving most-specific-first: per-call data, then the scope, then the global scope. (#1861) - Add
sentry_scope_clearto reset a scope's data. (#1881)
Deprecations:
- Deprecate
sentry_capture_event_with_scopein favor ofsentry_scope_capture_event(scope first), which matchessentry_scope_capture_log/sentry_scope_capture_metric. (#1882)
Fixes:
- Apply the propagation context to events that already have contexts set, so that events captured with a local scope or with event-level contexts keep their trace. (#1843)
- Crashpad: reject runtime control IPC from processes other than the one that started the handler. (#1853)
- Native/macOS: resolve symbol names for crash stacktraces from Mach-O symbol tables and dSYM companions. (#1856)
- Route libcurl debug output through the Sentry logger (
SENTRY_TRACE) instead of writing tostderr. (#1854)- NOTE:
sentry_options_set_debug(options, true)no longer displays verbose libcurl debug output by default. To restore it, callsentry_options_set_logger_level(options, SENTRY_LEVEL_TRACE).
- NOTE:
- Crashpad: route client logs through the Sentry logger to make actionable handler startup errors visible. (#1859)
- Windows: fix symlink detection used to prevent database cleanup from following symlinks in run and cache directories. (#1857)
- Linux: avoid unsafe
copy_file_rangeat crash time. (#1868) - Increase the default telemetry batcher capacity from 2x100 to 3x100 items, and add
SENTRY_BATCHER_BUFFER_COUNTto configure the number of rotating buffers used by log and metric batchers. (#1867) - Fix a lifetime issue when reading
sample_randfrom the scope propagation context. (#1869) - Linux: silence harmless compilation warnings in
sentry_modulefinder_linux.candsentry_backend_inproc.c. (#1871) - Fix per-call log and metric attributes to override same-named global attributes atomically, preventing fields such as
unitfrom leaking from the global attribute when the per-call attribute does not define them. (#1879) - Prefix vendored mpack symbols to avoid symbol conflicts. (#1880)