github getsentry/sentry-native 0.17.0

2 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)
  • Change the hint parameter of before_send callbacks (sentry_event_function_t) from void * to sentry_hint_t *. Update callbacks registered with sentry_options_set_before_send to use the new parameter type. (#2099)
  • Add a sentry_hint_t *hint argument to on_crash callbacks. (#2112)
  • Add a sentry_hint_t *hint argument to sentry_scope_capture_event. Pass NULL if no hint is needed. (#2099)
  • 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_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)
  • Add hint support to sentry_scope_capture_event to pass event-specific attachments. The hint is also passed to before_send and on_crash, which can modify attachments before the event is sent. (#2099, #2112)
  • Add sentry_hint_get_attachments, sentry_hint_remove_attachment, and sentry_hint_clear_attachments. (#2099)

Fixes:

  • Reduce lock contention for multi-threaded log and metric capture by allowing concurrent reads of scope data, and reusing a single options reference throughout each capture. (#2091, #2094)

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)

Don't miss a new sentry-native release

NewReleases is sending notifications on new releases.