Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
- Remove `IDisposable` from `SentryStructuredLogger`. Disposal is intended through the owning `IHub` instance. ([#4424](https://github.com/getsentry/sentry-dotnet/pull/4424))
- Ensure all buffered logs are sent to Sentry when the application terminates unexpectedly. ([#4425](https://github.com/getsentry/sentry-dotnet/pull/4425))

### Dependencies

- Bump Native SDK from v0.9.1 to v0.10.0 ([#4436](https://github.com/getsentry/sentry-dotnet/pull/4436))
Copy link
Member

Choose a reason for hiding this comment

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

question: Are the Breaking Changes in the Native SDK observable from the .NET SDK?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Reading through the change logs, it looks like the "breaking" changes are using sample_rand, adding a DSC to transactions/errors and Tracing without Performance. These are all supported by the .NET SDK already and implemented per the spec... so the two SDKs should play nicely together if one is an upstream and the other is a downstream (they've implemented the same protocol around propagating trace context via request headers).

From what I can tell, those changes aren't relevant in scenarios where the .NET SDK wraps the Native SDK (e.g. capturing native crash reports when .NET applications are compiled AOT or marshalling calls to functionality implemented in native dlls).

@supervacuus / @JoshuaMoelans can you confirm I've understood the above correctly?

Copy link

@supervacuus supervacuus Aug 13, 2025

Choose a reason for hiding this comment

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

Let's quickly go through the breaking changes and translate the effects for .NET SDK users:

  • The first is only "breaking" in the sense that if you relied on all transactions to be part of the same trace before, this is no longer the case by default. However, since the .NET SDK manages the trace life-cycle of the Native SDK via sentry_set_trace() anyway, there is no apparent change for .NET SDK users, because in that configuration transactions do not act as trace boundaries.
  • The second is the standard behavior for sample_rand, which wasn't implemented yet, but now is in effect due to the dynamic sampling context implementation. .NET SDK users will see the impact of this change, meaning trace-based sample_rand decisions will apply to either all transactions in that trace or none, but that is by design so that the trace's contents aren't artificially cut.
  • The third means that the Native SDK is no longer buildable from the OSS repo alone (except if you provide your own CMake toolchain configuration). I am not up-to-date with the .NET SDK usage on Xbox, but I guess not yet, right @bruno-garcia?

So, the only "breaking" change that affects .NET SDK users (except for the Xbox change, let's wait for @bruno-garcia to chime in) is the second one. I leave it up to you whether this is even a breaking change for your users, since this was meant as more of an improvement for downstream SDK users. However, in our context, for a small percentage of users, it would be a breaking change.

- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0100)
- [diff](https://github.com/getsentry/sentry-native/compare/0.9.1...0.10.0)

## 5.14.1

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion modules/sentry-native
Submodule sentry-native updated 84 files
+3 −2 .craft.yml
+1 −2 .github/ISSUE_TEMPLATE/bug_report.md
+26 −6 .github/workflows/ci.yml
+5 −0 .gitignore
+27 −0 CHANGELOG.md
+9 −12 CMakeLists.txt
+23 −0 CONTRIBUTING.md
+4 −1 README.md
+12 −0 examples/example.c
+1 −1 external/breakpad
+170 −24 include/sentry.h
+1 −1 ndk/gradle.properties
+4 −4 ndk/lib/build.gradle.kts
+1 −1 scripts/settings.xml
+6 −0 src/CMakeLists.txt
+11 −1 src/backends/sentry_backend_crashpad.cpp
+3 −3 src/modulefinder/sentry_modulefinder_windows.c
+11 −0 src/path/sentry_path_unix.c
+11 −0 src/path/sentry_path_windows.c
+9 −0 src/process/sentry_process_none.c
+217 −0 src/process/sentry_process_unix.c
+137 −0 src/process/sentry_process_windows.c
+4 −4 src/screenshot/sentry_screenshot_windows.c
+156 −17 src/sentry_core.c
+305 −4 src/sentry_envelope.c
+6 −0 src/sentry_envelope.h
+57 −10 src/sentry_json.c
+10 −0 src/sentry_json.h
+0 −1 src/sentry_logger.c
+6 −6 src/sentry_os.c
+7 −0 src/sentry_path.h
+16 −0 src/sentry_process.h
+92 −0 src/sentry_ringbuffer.c
+52 −0 src/sentry_ringbuffer.h
+1 −0 src/sentry_sampling_context.h
+11 −12 src/sentry_scope.c
+4 −1 src/sentry_scope.h
+2 −2 src/sentry_session.c
+8 −1 src/sentry_tracing.c
+34 −0 src/sentry_utils.c
+9 −0 src/sentry_utils.h
+184 −86 src/sentry_value.c
+6 −19 src/sentry_value.h
+2 −2 src/symbolizer/sentry_symbolizer_windows.c
+7 −1 tests/__init__.py
+20 −6 tests/assertions.py
+16 −2 tests/cmake.py
+1 −0 tests/conditions.py
+1 −1 tests/fixtures/screenshot/CMakeLists.txt
+4 −9 tests/test_dotnet_signals.py
+16 −3 tests/test_integration_crashpad.py
+131 −6 tests/test_integration_http.py
+5 −0 tests/tsan.supp
+2 −0 tests/unit/CMakeLists.txt
+14 −0 tests/unit/sentry_testsupport.h
+35 −17 tests/unit/test_attachments.c
+17 −11 tests/unit/test_basic.c
+16 −3 tests/unit/test_concurrency.c
+390 −11 tests/unit/test_envelopes.c
+3 −3 tests/unit/test_failures.c
+1 −1 tests/unit/test_fuzzfailures.c
+9 −2 tests/unit/test_info.c
+36 −0 tests/unit/test_path.c
+73 −0 tests/unit/test_process.c
+166 −0 tests/unit/test_ringbuffer.c
+10 −6 tests/unit/test_session.c
+1 −1 tests/unit/test_symbolizer.c
+10 −5 tests/unit/test_sync.c
+135 −26 tests/unit/test_tracing.c
+1 −1 tests/unit/test_unwinder.c
+67 −3 tests/unit/test_utils.c
+252 −77 tests/unit/test_value.c
+32 −3 tests/unit/tests.inc
+10 −0 tests/valgrind.txt
+1 −1 tests/win_utils.py
+0 −224 toolchains/xbox/CMakeGDKScarlett.cmake
+0 −10 toolchains/xbox/DetectGDK.cmake
+0 −9 toolchains/xbox/DetectWindowsSDK.cmake
+0 −68 toolchains/xbox/GDK-targets.cmake
+0 −41 toolchains/xbox/gdk_build.props
+0 −3 toolchains/xbox/gdk_build.props.md
+0 −61 toolchains/xbox/gxdk_xs_toolchain.cmake
+3 −32 toolchains/xbox/xbox_build.md
+1 −1 vendor/acutest.h
Loading