Skip to content

chore(deps): update Native SDK to v0.16.4 - #2820

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

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

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Bumps modules/sentry-native from 0.16.2 to 0.16.4.

Auto-generated by a dependency updater.

Changelog

0.16.4

Features:

  • Windows: report WINE and Proton metadata in a separate runtime context. (#1995)
  • Add a public custom HTTP transport client interface (sentry_http_transport_new) so applications can plug in their own HTTP client (e.g. platform-native ones) while sentry-native continues to own request queueing, retry/backoff, offline caching, rate-limiting, and client reports. The built-in curl and WinHTTP transports are now implemented against this same interface. (#1987)
  • Native/Windows: capture WER report ID and expose as contexts.wer.report_id in crash events when the WER integration is enabled. (#1970)
  • Add sentry_set_tags and sentry_scope_set_tags for updating multiple tags with a single scope flush, improving bulk-update performance. (#1993)
  • Add on_crashed_last_run callback for inspecting crash envelopes from previous runs. (#1985)
  • Add sentry_get_last_event_id and sentry_scope_get_last_event_id for retrieving the last event ID captured with the global or given scope, respectively. (#1992)
  • Native/Unix: The native crash daemon now loads libcurl dynamically at runtime by default when SENTRY_LINK_CURL=AUTO, avoiding libcurl linker work during process startup and significantly speeding up startup time. Explicitly set SENTRY_LINK_CURL=ON to link it directly. (#1955)
  • Add missing public scope mutators: set_release, set_environment, set_transaction, remove_tag, remove_extra, remove_context, and remove_attachment. (#2011)

Deprecations:

  • Deprecate sentry_options_get/set_enable_logs and sentry_options_get/set_enable_metrics. (#2000)

Fixes:

  • Native: store daemon logs, minidumps, crash envelopes, and scratch files in .run directories so they are cleaned up with the run instead of accumulating in the database root. Minidumps can still be retained with cache_keep, which stores .dmp sidecars alongside cached envelopes. (#1976)
  • Linux/ARM32: prevent recursive crashes when libunwind receives an unmapped initial instruction pointer during crash handling. (#1977)
  • Improve log and metric delivery when telemetry is captured faster than envelopes can be serialized by offloading serialization to an internal thread pool. (#1946)
  • Wine: fix OS version detection and cross-compiling Windows builds from Linux. (#2001)
  • Destroy condition variables as approriate when no longer needed. (#2004)
  • Crashpad/Windows: preserve module CodeView UUIDs for minimal PDB70 records with empty PDB filenames. (#2003)
  • Native/Windows: improve crash-processing performance for applications with many threads. (#2018)
  • Prevent a race between SDK reinitialization and cleanup of the previous curl client when libcurl is linked directly. (#2015)

0.16.3

Features:

Fixes:

  • Remove the serializing envelope into buffer debug log that could flood logs on every scope flush when an external crash reporter is configured. (#1988)
  • Crashpad: avoid allocating while handling a crash. The backend built the attachment base::FilePath inside the crash handler; if the crash corrupted the heap (e.g. via an overridden operator new) that allocation faults again and the report is lost. The paths are now cached at startup. (#1984)
  • Crashpad: prevent external crash reporters from bypassing revoked user consent. (#1972, crashpad#168)
  • Native/Linux: improve startup time by avoiding zeroing a large shmem module array during crash context initialization. (#1966)
  • Preserve embedded NUL bytes in strings created with sentry_value_new_string_n during JSON and MessagePack serialization. sentry_value_get_length now returns the full byte length, which can exceed strlen(sentry_value_as_string(value)). (#1968)

@bruno-garcia
bruno-garcia force-pushed the deps/modules/sentry-native/0.16.4 branch from 9f113e1 to 4cd8f7a Compare August 26, 2026 03:19
Comment thread modules/sentry-native
@@ -1 +1 @@
Subproject commit 724479b549a299ea8363994306b36a00c754fcba
Subproject commit 22e1073a32e940b190e048890ede26c1dd1db3ef

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The update to sentry-native now dynamically loads libcurl by default. The build doesn't bundle libcurl or force static linking, which may cause silent failures on minimal Linux systems.
Severity: MEDIUM

Suggested Fix

To ensure compatibility with environments that may not have libcurl installed, explicitly configure the sentry-native build to statically link libcurl. In the build/native-sdks.targets file, add -D SENTRY_LINK_CURL=ON to the cmake command for Linux builds. This will restore the previous behavior of bundling the library and avoid runtime dependency issues.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: modules/sentry-native#L1

Potential issue: The `sentry-native` submodule was updated, changing the default
`SENTRY_LINK_CURL` setting to `AUTO`. This causes `libcurl` to be dynamically loaded at
runtime on Linux instead of being statically linked. However, the Unity SDK's build
process does not bundle `libcurl.so` with the application artifacts, nor does it
override the new default to force static linking. Consequently, if a game is deployed to
a minimal Linux environment (e.g., a Docker container) that lacks a system-installed
`libcurl`, the dynamic load will fail. This will likely result in silent failure of
Sentry event and crash reporting, as the transport mechanism cannot be initialized.

Did we get this right? 👍 / 👎 to inform future reviews.

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