Skip to content

chore(deps): update Native SDK to v0.14.2#91

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
deps/modules/sentry-native/0.14.2
Open

chore(deps): update Native SDK to v0.14.2#91
github-actions[bot] wants to merge 1 commit into
mainfrom
deps/modules/sentry-native/0.14.2

Conversation

@github-actions

Copy link
Copy Markdown

Bumps modules/sentry-native from 0.12.0 to 0.14.2.

Auto-generated by a dependency updater.

Changelog

0.14.2

Fixes:

  • Protect CMAKE_SYSTEM_VERSION to avoid empty values when cross-building. (#1720)

0.14.1

Features:

  • Add strict trace continuation via sentry_options_set_strict_trace_continuation. (#1663)
  • Auto-populate event.user.id with a persistent per-installation UUID when no explicit user ID is set. (#1661)
  • Add cache keep modes, including SENTRY_CACHE_KEEP_ALWAYS to cache envelopes regardless of upload result. (#1707)
  • Crashpad: add error log for oversized envelopes (HTTP 413 Content Too Large). (#1706, crashpad#155)
  • Crashpad: support modifying attachments after sentry_init on macOS. (#1705, crashpad#153)
  • Add cache_dir envelope header for external crash reporters. (#1698)
  • Add sentry_attachment_set_type and SENTRY_ATTACHMENT_TYPE_* macros for standard Sentry attachment types. (#1700)
    • Deprecate sentry_options_add_view_hierarchy* in favor of sentry_attach_file* with sentry_attachment_set_type.

Fixes:

  • Native/Breakpad/Windows: fixed capturing abort(). (#1708)
  • Native/Windows: capture fast-fail and stack buffer overrun crashes via WER. (#1710)
  • Preserve cached minidump refs. (#1715)

0.14.0

Breaking / Important behavior changes:

  • Metrics are enabled by default. This behavior first appeared in 0.13.5 and is now documented as part of the 0.14.0 behavior. Applications that do not want to send metrics must explicitly opt out with sentry_options_set_enable_metrics(options, false). (#1609)
  • Structured logs are enabled by default. This behavior first appeared in 0.13.9 and is now documented as part of the 0.14.0 behavior. Applications that do not want to capture structured logs must explicitly opt out with sentry_options_set_enable_logs(options, false). (#1673)

Fixes:

  • Native/Linux: correct MD_LINUX_MAPS stream type (was tagged as MD_LINUX_AUXV). (#1694)
  • Native/Linux: drop non-ELF mappings (e.g. /dev/shm/*, (deleted) files) from the minidump module list. (#1694)
  • Native/Linux: merge non-contiguous mappings of the same shared library into a single module, and use the offset==0 mapping as base_of_image. Fixes duplicate ld-linux entries that confused some debuggers (notably Windows LLDB) reading Linux ARM64 minidumps. (#1694)
  • Native/Linux: log when uname() is blocked (sandbox/seccomp) and fall back to /proc/sys/kernel/osrelease for the OS version. (#1694)
  • Native/Linux: emit LinuxAuxv, LinuxCpuInfo, LinuxLsbRelease, LinuxCmdLine, LinuxEnviron, and LinuxDsoDebug streams alongside the existing set, matching what Breakpad writes. LLDB needs LinuxAuxv and LinuxDsoDebug to identify the dynamic loader and enumerate loaded shared libraries; without them, opening a minidump in LLDB on Linux would only recover one frame per thread. (#1694)
  • Native/Linux: replay each thread's stack memory descriptor into MemoryListStream. Previously stack bytes were only referenced from the per-thread record, so debuggers that look up memory by virtual address (LLDB) could not read the stack and unwinding stopped at frame 0 even when eh_frame was available. (#1694)
  • Native/macOS: replay each thread's stack memory descriptor into MemoryListStream so LLDB can read stack contents (same fix as Linux above). (#1694)

Features:

  • Native (Linux, macOS): SMART minidump mode now also captures memory referenced by the registers and stack contents of every captured thread, matching the semantics of MiniDumpWithIndirectlyReferencedMemory on Windows (already in effect for the native Windows backend). For each pointer that resolves into a writable heap region, ~1 KiB is captured around it; total budget capped at 4 MiB per dump. Heap-allocated structs reachable from the crashing call stack can now be inspected in LLDB / VS Code. (#1694)

0.13.9

Features:

  • Enable structured logs by default; logs are now opt-out via sentry_options_set_enable_logs(options, false). (#1673)
  • Crashpad: add macOS support for the crashpad_wait_for_upload flag. (#1679, crashpad#152)
  • Add experimental support for large attachment uploads, opt-in via sentry_options_set_enable_large_attachments. (#1545)

Fixes:

  • Fix event ownership (potential double-decref) in sentry_capture_minidump. (#1669)
  • Guard against internal stringbuilder append and reserve size overflows. (#1672)
  • Preserve attachments added during crash handling (#1687)
  • Fix build-time warnings with C++ builds. (#1671)
  • Native: respect the shutdown_timeout option in the daemon. (#1691)

0.13.8

Features:

  • Enable experimental native backend on Xbox. (#1666)
  • Cache consent-revoked envelopes to disk when cache_keep or http_retry is enabled, instead of discarding them. With http_retry, the cached envelopes are sent automatically once consent is given. (#1542)
  • Linux: support 32-bit ARM. (#1659)
  • Crashpad: capture handler process log output to <run>/crashpad-handler.log, matching the SDK's debug verbosity. (#1658)

Fixes:

  • Linux: handle ENOSYS in read_safely to fix empty module list in seccomp-restricted environments. (#1655)
  • macOS: avoid stdio deadlock in breakpad exception handler. (#1656)
  • Crashpad: build for 32-bit ARM on Linux. (#1659)
  • Native: build for 32-bit ARM on Linux. (#1659)
  • Inproc: build vendored libunwind for 32-bit ARM on Linux. (#1659)
  • Native: build for 64-bit ARM on Linux with musl. (#1665)
  • Native/Linux: prevent shared memory leak on crash. (#1664)
  • Native: skip scope flush during crash handling. (#1668)

0.13.7

Features:

  • Add before_screenshot hook. (#1641)
  • Add error log for oversized envelopes (HTTP 413 Content Too Large). (#1647)

Fixes:

  • Reset client report counters during initialization (#1632)
  • macOS: cache VM regions for FP validation in the new unwinder. (#1634)
  • Linux: remove dependency on stdio in the unwinder pointer validation code to reduce exposure to async-signal-unsafe functions. (#1637)
  • macOS: replace sandbox-incompatible IPC primitives (sem_open, shm_open, fork) with sandbox-safe alternatives (pthread_mutex, file-backed mmap, posix_spawn) so the native backend works inside App Sandbox. (#1644)
  • Fix minidump UUID byte order (swap GUID fields to match RSDS format) and use int64 for image sizes to support modules larger than 2 GB. (#1651)

0.13.6

Features:

  • Add WinGDK (Gaming.Desktop.x64) platform support (#1631)
  • Track discarded events via client reports. (#1549)
  • Android: allow Sentry.NET to preload the NDK integration to install signal handlers before the .NET runtime. (#1613)

Fixes:

  • Revert CMP0141 policy that broke debug info settings for downstream consumers. (#1630)

0.13.5

Features:

  • Add HTTP retry with exponential backoff, opt-in via sentry_options_set_http_retry. (#1520)
  • Store minidump attachments as separate .dmp files in the offline cache for direct debugger access. (#1607)
  • Enable metrics by default; metrics are now opt-out via sentry_options_set_enable_metrics(options, false). (#1609)

Fixes:

  • native: Fix crash daemon failing to detect crashes during OOM on Windows. (#1603)
  • Fix WinHttpReceiveResponse failures being silently ignored, which could cause envelopes to be lost instead of retried or cached. (#1620)
  • Fix missing screenshot attachment in native backend envelope. (#1624)
  • Replace googlesource submodules with GitHub ones. (#1628)
    • This fixes build-time failures where building sentry-native fails with HTTP 403 errors when fetching the zlib and lss libraries from Chromium.

0.13.4

Features:

  • Symbolicate stack frames in crash daemon on Windows. (#1595)
  • Add offline caching support to the new experimental native backend. (#1585)

Fixes:

  • Fix cache_keep to only cache envelopes when HTTP send fails, instead of unconditionally on restart. (#1585)
  • Fix external crash reporter to work with the new experimental native backend. (#1589)
  • Fix crash daemon premature exit on Windows (#1600)
  • native: Fix incorrect stacktraces on Linux by merging ELF segment mappings from /proc/pid/maps. Without merging, base_of_image pointed to the code segment instead of the real ELF load base, breaking server-side CFI unwinding. (#1588)
  • native: Fix single-frame stacktraces on x86_64 and -fomit-frame-pointer builds by capturing DWARF-based backtraces (via libunwind) in the signal handler. The daemon now prefers these over FP-based walking, which fails when RBP is used as a general-purpose register. (#1588)
  • native: Fix missing thread names on Windows (#1601)

0.13.3

Features:

  • Add addAttachment and clearAttachments to the NDK NativeScope API for managing file and byte attachments via JNI. (#1584)

Fixes:

  • inproc: only the handling thread cleans up after the crash. (#1579)
  • Propagate transport options (ca_certs, proxy, user_agent) and handler_path to the native backend crash daemon. Previously, the daemon did not receive SSL certificate or proxy settings from the parent process, causing SSL errors (curl code 60) when uploading crash reports. The daemon also ignored the user-configured handler path, requiring the sentry-crash binary to be placed next to the application executable. (#1573)
  • Add module header pages to MemoryList and fix exception code in the native backend. (#1576)
  • Fix CHAIN_AT_START handler strategy crashing on Android when the chained Mono handler resets the signal handler and re-raises. (#1572)

0.13.2

Features:

  • Experimental: Add new native crash handling backend as an alternative to crashpad, breakpad, and inproc. 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:

  • Allow null custom log attributes without debug warning. (#1552)
  • Introduce level-triggered wait flag for use in the batcher thread for logs and metrics. (#1558)
  • Fixed a data race when re-initializing the SDK while logs or metrics are active. (#1556)

0.13.1

Features:

  • Support SENTRY_SAMPLE_RATE and SENTRY_TRACES_SAMPLE_RATE environment variables. (#1540)

Fixes:

  • Fix use-after-free on allocation failure when merging scope tags, extra, and contexts into a captured event. (#1539)
  • Remove C++ exception ABI symbols (_Unwind_Resume, etc.) from vendored libunwind build. (#1544)

0.13.0

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

Fixes:

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

0.12.7

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

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

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

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 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

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

Fixes:

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

@github-actions github-actions Bot force-pushed the deps/modules/sentry-native/0.14.2 branch from dc8094b to 9d8ed9f Compare May 16, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant