Releases · getsentry/sentry-native
0.13.2
Features:
- Experimental: Add new
nativecrash handling backend as an alternative tocrashpad,breakpad, andinproc. This backend uses an out-of-process daemon that monitors the application for crashes, generates minidumps, and sends crash reports to Sentry. It supports Linux, macOS, and Windows, and is fully compatible with TSAN and ASAN sanitizers. This feature is experimental and under active development. (#1433) - Add
sentry_log()for plain-string log messages. (#1566) - Add
sentry_set_release()/sentry_set_environment()for updating release and environment after SDK init. (#1555)
Fixes:
0.13.1
Features:
- Support
SENTRY_SAMPLE_RATEandSENTRY_TRACES_SAMPLE_RATEenvironment variables. (#1540)
Fixes:
0.13.0
Breaking:
- inproc: since we split
inprocinto signal-handler/UEF part and a separate handler thread,before_sendandon_crashcould be called from other threads than the one that crashed. While this was never part of the contract, if your code relies on this, it will no longer work. (#1446) - Android NDK:
SentryNdk.init(NdkOptions)now throws anExceptionif init fails (non-zero return code) rather than silently swallowing the error. (#1430)
Features:
- Add support for
abort()in theinprocbackend on Windows. (#1446) - Add
beforeBreadcrumbcallback support (#1534)
Fixes:
- Make the signal-handler synchronization fully atomic to fix rare race scenarios. (#1446)
- Reintroduce an FP-based stack-walker for macOS that can start from a user context. This also makes
inprocbackend functional again on macOS 13+. (#1446) - Split the
inprocsignal handler (and UEF on Windows) into a safe handler part and an "unsafe" handler thread. This minimizes exposure to undefined behavior inside the signal handler. (#1446) - Use a signal-safe address formatter instead of
snprintf(). (#1446)
Internal:
- Introduce PAC tests for
arm64eon macOS. (#1446) - For Linux, the SDK now has a vendored "nognu"
libunwindas the default stack walker and links it statically, but with PIC enabled so it can be used in PIE executables. (#1446)
Thank you:
0.12.8
Fixes:
- Fix deadlock when re-initializing the SDK while logs or metrics threads are mid-flush. (#1518)
0.12.7
0.12.6
Features:
- Add support for metrics. It is currently experimental, and one can enable it by setting
sentry_options_set_enable_metrics. When enabled, you can record a metric usingsentry_metrics_count(),sentry_metrics_gauge(), orsentry_metrics_distribution(). Metrics can be filtered by setting thebefore_send_metrichook. (#1498)
0.12.5
0.12.4
Fixes:
- Crashpad: namespace mpack to avoid ODR violation. (#1476, crashpad#143)
- Structured logs: stop local attributes overwriting all globally set attributes. They now get merged, and local values overwrite existing global values for the same key. (#1486)
0.12.3
Fixes:
- Removed the 10-item limit per envelope for non-session data. Sessions are now limited to 100 per envelope, while other items (e.g., attachments) have no limit in amount. (#1347)
- Align the
breakpadinterface changes introduced with #1083 with the corresponding iOS build. (#1465) - Add structured logs to debug output when
debugoption is set. (#1466)
0.12.2
Features:
- Add custom attributes API for logs. When
logs_with_attributesis set totrue, treats the firstvargpassed intosentry_logs_X(message,...)as asentry_value_tobject of attributes. (#1435) - Add runtime API to query user consent requirement. (#1443)
- Add logs flush on
sentry_flush(). (#1434) - Add global attributes API. These are added to all
sentry_log_Xcalls. (#1450)