Skip to content

Releases: getsentry/sentry-native

0.13.0

20 Feb 16:12

Choose a tag to compare

Breaking:

  • inproc: since we split inproc into signal-handler/UEF part and a separate handler thread, before_send and on_crash could 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 an Exception if init fails (non-zero return code) rather than silently swallowing the error. (#1430)

Features:

  • Add support for abort() in the inproc backend on Windows. (#1446)
  • Add beforeBreadcrumb callback 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 inproc backend functional again on macOS 13+. (#1446)
  • Split the inproc signal 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 arm64e on macOS. (#1446)
  • For Linux, the SDK now has a vendored "nognu" libunwind as 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

16 Feb 13:27

Choose a tag to compare

Fixes:

  • Fix deadlock when re-initializing the SDK while logs or metrics threads are mid-flush. (#1518)

0.12.7

12 Feb 14:18

Choose a tag to compare

Features:

  • Add new offline caching options to persist envelopes locally: sentry_options_set_cache_keep, sentry_options_set_cache_max_items, sentry_options_set_cache_max_size, and sentry_options_set_cache_max_age. (#1490, #1493)

Fixes:

  • Remove spurious decref in sentry_capture_user_feedback() (#1510)
  • Prevent double-decref of event in envelope add functions (#1511)

0.12.6

05 Feb 12:18

Choose a tag to compare

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 using sentry_metrics_count(), sentry_metrics_gauge(), or sentry_metrics_distribution(). Metrics can be filtered by setting the before_send_metric hook. (#1498)

0.12.5

02 Feb 14:21

Choose a tag to compare

Features:

  • Add attachment support to user feedback. (#1414)

Fixes:

  • Structured logs: avoid modifying custom per-log attributes when merging with scope attributes. (#1500)

0.12.4

26 Jan 10:32

Choose a tag to compare

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

08 Jan 14:10

Choose a tag to compare

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 breakpad interface changes introduced with #1083 with the corresponding iOS build. (#1465)
  • Add structured logs to debug output when debug option is set. (#1466)

0.12.2

01 Dec 12:49

Choose a tag to compare

Features:

  • Add custom attributes API for logs. When logs_with_attributes is set to true, treats the first varg passed into sentry_logs_X(message,...) as a sentry_value_t object 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_X calls. (#1450)

0.12.1

03 Nov 12:19

Choose a tag to compare

Fixes:

  • PS5/Switch compilation regression (sentry__process_spawn signature change) (#1436)

0.12.0

29 Oct 15:58

Choose a tag to compare

Breaking changes:

  • If you use a narrow string path interface (for instance, sentry_options_set_database_path()) on Windows rather than one of the wide string variants (sentry_options_set_database_pathw()), then the expected encoding is now UTF-8. (#1413)

Features:

  • Add an option to use the stack pointer as an upper limit for the stack capture range in crashpad on Windows. This is useful for targets like Proton/Wine, where one can't rely on the TEB-derived upper bound being correctly maintained by the system, leading to overly large stack captures per thread. (#1427, crashpad#137)

Fixes:

  • Add logs flush on crash. This is not available for macOS with the crashpad backend. (#1404)
  • Make narrow UTF-8 the canonical path encoding on Windows. (#1413)
  • Re-add setting thread name for Windows transport. (#1424)
  • Fix AOT interop with managed .NET runtimes. (#1392)

Internal: