chore(deps): update Native SDK to v0.14.2#3683
Conversation
|
|
||
| repo=https://github.com/getsentry/sentry-native | ||
| version=0.13.8 | ||
| version=0.14.0 |
There was a problem hiding this comment.
Native SDK logs enabled despite Flutter opt-out default
Medium Severity
Bumping sentry-native to 0.14.0 enables structured logs by default at the native level, but createOptions in sentry_native.dart never syncs the Flutter SDK's enableLogs setting (which defaults to false) to the native options via sentry_options_set_enable_logs. This causes a mismatch where the native SDK may capture/send structured logs even when the user has not opted in. The FFI bindings in ffi-native.yaml also don't include sentry_options_set_enable_logs, so the fix requires adding the binding and setting it in createOptions. Flagged because the review rules require checking dependency updates for breaking behavioral changes and verifying native bridge code compatibility.
Triggered by project rule: PR Review Guidelines for Cursor Bot (Root)
Reviewed by Cursor Bugbot for commit 238439c. Configure here.
238439c to
00eb2d8
Compare
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. FixesDart
Other
Dependencies
🤖 This preview updates automatically when you update the PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3683 +/- ##
==========================================
+ Coverage 86.85% 91.91% +5.06%
==========================================
Files 336 105 -231
Lines 11979 3734 -8245
==========================================
- Hits 10404 3432 -6972
+ Misses 1575 302 -1273
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
|
||
| repo=https://github.com/getsentry/sentry-native | ||
| version=0.13.8 | ||
| version=0.14.0 |
There was a problem hiding this comment.
Bug: Upgrading sentry-native enables structured logs by default, but the Dart SDK lacks the FFI bindings and API to control or disable this new feature.
Severity: MEDIUM
Suggested Fix
Add the sentry_options_set_enable_logs function to the FFI bindings in ffi-native.yaml. Then, update createOptions() in sentry_native.dart to call this new function, likely disabling it by default to maintain previous behavior. Expose a new option in the Dart SDK to allow users to control this feature.
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: packages/flutter/sentry-native/CMakeCache.txt#L5
Potential issue: The upgrade to `sentry-native` 0.14.0 enables structured logs by
default at the native C layer. However, the Flutter SDK's FFI bindings in
`ffi-native.yaml` have not been updated to include the new
`sentry_options_set_enable_logs` function. Consequently, the `createOptions()` method in
`sentry_native.dart` cannot opt out of this behavior. This results in native structured
log events being silently captured and sent to Sentry for all users, without any
user-facing option in the Dart SDK to disable it.
Did we get this right? 👍 / 👎 to inform future reviews.
027b602 to
73d7880
Compare
9660119 to
0ba1b36
Compare
0ba1b36 to
6a83337
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6a83337. Configure here.
|
|
||
| repo=https://github.com/getsentry/sentry-native | ||
| version=0.13.8 | ||
| version=0.14.1 |
There was a problem hiding this comment.
Native SDK auto-populates user.id without sendDefaultPii gating
Medium Severity
Bumping sentry-native to 0.14.1 introduces auto-population of event.user.id with a persistent per-installation UUID. The createOptions() method in sentry_native.dart does not forward sendDefaultPii to the native SDK — there's no FFI binding for sentry_options_set_send_default_pii. Crash events on Linux/Windows may now include a persistent identifier regardless of the Flutter-side sendDefaultPii setting. Per project rules, user-identifiable data must be gated behind sendDefaultPii. This version bump likely requires adding the binding and forwarding the option.
Flagged because the review rules require checking dependency updates for behavioral changes and compatibility issues in bridge code.
Triggered by project rule: PR Review Guidelines for Cursor Bot (Root)
Reviewed by Cursor Bugbot for commit 6a83337. Configure here.
739e36b to
35765c0
Compare
35765c0 to
8d5d0da
Compare


Bumps packages/flutter/scripts/update-native.sh from 0.13.8 to 0.14.2.
Auto-generated by a dependency updater.
Changelog
0.14.2
Fixes:
0.14.1
Features:
sentry_options_set_strict_trace_continuation. (#1663)event.user.idwith a persistent per-installation UUID when no explicit user ID is set. (#1661)SENTRY_CACHE_KEEP_ALWAYSto cache envelopes regardless of upload result. (#1707)sentry_initon macOS. (#1705, crashpad#153)cache_direnvelope header for external crash reporters. (#1698)sentry_attachment_set_typeandSENTRY_ATTACHMENT_TYPE_*macros for standard Sentry attachment types. (#1700)sentry_options_add_view_hierarchy*in favor ofsentry_attach_file*withsentry_attachment_set_type.Fixes:
0.14.0
Breaking / Important behavior changes:
0.13.5and is now documented as part of the0.14.0behavior. Applications that do not want to send metrics must explicitly opt out withsentry_options_set_enable_metrics(options, false). (#1609)0.13.9and is now documented as part of the0.14.0behavior. Applications that do not want to capture structured logs must explicitly opt out withsentry_options_set_enable_logs(options, false). (#1673)Fixes:
MD_LINUX_MAPSstream type (was tagged asMD_LINUX_AUXV). (#1694)/dev/shm/*,(deleted)files) from the minidump module list. (#1694)base_of_image. Fixes duplicateld-linuxentries that confused some debuggers (notably Windows LLDB) reading Linux ARM64 minidumps. (#1694)uname()is blocked (sandbox/seccomp) and fall back to/proc/sys/kernel/osreleasefor the OS version. (#1694)LinuxAuxv,LinuxCpuInfo,LinuxLsbRelease,LinuxCmdLine,LinuxEnviron, andLinuxDsoDebugstreams alongside the existing set, matching what Breakpad writes. LLDB needsLinuxAuxvandLinuxDsoDebugto 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)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 wheneh_framewas available. (#1694)MemoryListStreamso LLDB can read stack contents (same fix as Linux above). (#1694)Features:
MiniDumpWithIndirectlyReferencedMemoryon 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:
sentry_options_set_enable_logs(options, false). (#1673)crashpad_wait_for_uploadflag. (#1679, crashpad#152)sentry_options_set_enable_large_attachments. (#1545)Fixes:
shutdown_timeoutoption in the daemon. (#1691)