github getsentry/sentry-native 0.16.7

3 hours ago

Breaking / Important behavior changes:

  • Attachment APIs now use sentry_value_t and sentry_uuid_t instead of sentry_attachment_t * handles. Most attachment APIs, function names and arguments, are otherwise unchanged. (#1974)
  • sentry_init() now consumes <db>/last_crash after caching its value, aligning crashed-last-run behavior with other Sentry SDKs. (#2023)
  • Remove sentry_options_get/set_enable_logs and sentry_options_get/set_enable_metrics. (#1980)

    Structured logs and metrics have been enabled by default since 0.13, and the options were deprecated and made no-ops in 0.16.

    We recognize that this change may inconvenience applications that rely on the opt-out. Use sentry_options_set_before_send_log or sentry_options_set_before_send_metric to filter logs or metrics. We made this tradeoff deliberately because consistent behavior across SDK integrations will help most users successfully adopt these features.

Features:

  • Add sentry_options_set_initial_scope for configuring scope data before the crash backend is started, including out-of-process crash handlers. (#2087)
  • Add sentry_attachment_from_file/bytes (and their wide-string variants) for creating attachment values that can be fully configured before they are added. (#2079)
  • Add sentry_add_attachment, sentry_scope_add_attachment, and sentry_hint_add_attachment for adding configured attachments to the global scope, a specific scope, or a hint. These functions consume and freeze the attachment value. (#2079, #1974)
  • Add sentry_start_new_trace() as a clearer name for starting a new trace. (#2095)

Fixes:

  • Reduce lock contention for multi-threaded log and metric capture by reusing a single options reference throughout each capture. (#2094)
  • Respect independent rate limits for feedback, logs, metrics, and attachments instead of dropping them during error backoff. (#2109)

Other changes:

  • Promote structured logs and metrics APIs to stable. (#2101)

Deprecations:

  • Deprecate sentry_clear_crashed_last_run() because sentry_init() now consumes the marker automatically. (#2023)
  • Deprecate sentry_regenerate_trace() in favor of sentry_start_new_trace(). (#2095)

Thank you:

Don't miss a new sentry-native release

NewReleases is sending notifications on new releases.