Releases: getsentry/sentry-dotnet
6.0.0
BREAKING CHANGES
- This release adds support for .NET 10 and drops support for net8.0-android, net8.0-ios, net8.0-maccatalyst and net8.0-windows10.0.19041.0 (#4461)
- Backpressure handling is now enabled by default, meaning that the SDK will monitor system health and reduce the sampling rate of events and transactions when the system is under load. When the system is determined to be healthy again, the sampling rates are returned to their original levels. (#4615)
- Remove
SentryLoggingOptions.ExperimentalLogging.MinimumLogLevel. Structured Logs can now be configured via the"Sentry"logging provider (e.g. inappsettings.jsonandappsettings.{HostEnvironment}.json) (#4700) - All logging provider types are internal now in order to ensure configuration as intended (#4700)
- Rename
SentryLog.ParentSpanIdtoSentryLog.SpanIdreflecting the protocol change (#4778) - QOL improvement: Spans and Transactions now implement
IDisposableso that they can be used withusingstatements/declarations that will automatically finish the span with a status of OK when it passes out of scope, if it has not already been finished, to be consistent withActivityclasses when using OpenTelemetry (#4627) - SpanTracer and TransactionTracer are still public but these are now
sealed(see also #4627) - The Structured Logs APIs are now stable: removed
ExperimentalfromSentryOptions(#4699) - Added support for v3 of the Android AssemblyStore format that is used in .NET 10 and dropped support for v1 that was used in .NET 8 (#4583)
- CaptureFeedback now returns a
SentryIdand aCaptureFeedbackResultout parameter that indicate whether feedback was captured successfully and what the reason for failure was otherwise (#4613) - Deprecated
Sentry.Azure.Functions.Workeras very few people were using it and the functionality can easily be replaced with OpenTelemetry. We've replaced our integration with a sample showing how to do this using our OpenTelemetry package instead. (#4693) - UWP support has been dropped. Future efforts will likely focus on WinUI 3, in line with Microsoft's recommendations for building Windows UI apps. (#4686)
BreadcrumbLevel.Criticalhas been renamed toBreadcrumbLevel.Fatalfor consistency with the other Sentry SDKs (#4605)- SentryOptions.IsEnvironmentUser now defaults to false on MAUI. The means the User.Name will no longer be set, by default, to the name of the device (#4606)
- Removed obsolete APIs (#4619)
- Removed the unusual constructor from
Sentry.Maui.BreadcrumbEventthat had been marked as obsolete. That constructor expected aIEnumerable<(string Key, string Value)>[]argument (i.e. an array of IEnumerable of tuples). If you were using this constructor, you should instead use the alternate constructor that expects just an IEnumerable of tuples:IEnumerable<(string Key, string Value)>. - Removed
SentrySdk.CaptureUserFeedbackand all associated members. Use the newerSentrySdk.CaptureFeedbackinstead.
- Removed the unusual constructor from
- ScopeExtensions.Populate is now internal (#4611)
Features
- Support for .NET 10 (#4461)
- Added a new SDK
Sentry.Extensions.AIwhich allows LLM usage instrumentation viaMicrosoft.Extensions.AI(#4657) - Added experimental support for Session Replay on iOS (#4664)
- Add support for Structured Logs in
Sentry.Google.Cloud.Functions(#4700) - QOL features for Unity
- Extended the App context by
app_memorythat can hold the amount of memory used by the application in bytes. (#4707) - Add support for W3C traceparent header for outgoing requests (#4661)
- This feature is disabled by default. Set
PropagateTraceparent = truewhen initializing the SDK if to include the W3C traceparent header on outgoing requests. - See https://develop.sentry.dev/sdk/telemetry/traces/distributed-tracing/#w3c-trace-context-header for more details.
- This feature is disabled by default. Set
Fixes
- Memory leak when finishing an unsampled Transaction that has started unsampled Spans (#4717)
- Sentry Tracing middleware crashed ASP.NET Core in .NET 10 in 6.0.0-rc.1 and earlier (#4747)
- Captured Http Client Errors on .NET 5+ now include a full stack trace in order to improve Issue grouping (#4724)
- Deliver system breadcrumbs in the main thread on Android (#4671)
- The
Serilogintegration captures Structured Logs (when enabled) independently of captured Events and added Breadcrumbs (#4691) - Minimum Log-Level for Structured Logs, Breadcrumbs and Events in all Logging-Integrations (#4700)
- for
Sentry.Extensions.Logging,Sentry.AspNetCore,Sentry.MauiandSentry.Google.Cloud.Functions - the Logger-Provider for Breadcrumbs and Events ignores Logging-Configuration (e.g. via
appsettings.json)- use the intended
SentryLoggingOptions.MinimumBreadcrumbLevel,SentryLoggingOptions.MinimumEventLevel, or add filter functions viaSentryLoggingOptionsExtensions.AddLogEntryFilter
- use the intended
- the Logger-Provider for Structured Logs respects Logging-Configuration (e.g. via
appsettings.json)- when enabled by
SentryOptions.EnableLogs
- when enabled by
- for
- Avoid appending
/NODEFAULTLIB:MSVCRTto NativeAOT linker arguments on Windows when targetting non-Windows platforms (Android, Browser) (#4760) - The SDK avoids redundant scope sync after transaction finish (#4623)
- sentry-native is now automatically disabled for WASM applications (#4631)
- Remove unnecessary files from SentryCocoaFramework before packing (#4602)
Dependencies
6.0.0-rc.2
6.0.0-rc.1
BREAKING CHANGES
-
This release adds support for .NET 10 and drops support for net8.0-android, net8.0-ios, net8.0-maccatalyst and net8.0-windows10.0.19041.0 (#4461)
-
Backpressure handling is now enabled by default, meaning that the SDK will monitor system health and reduce the sampling rate of events and transactions when the system is under load. When the system is determined to be healthy again, the sampling rates are returned to their original levels. (#4615)
-
QOL improvement: Spans and Transactions now implement
IDisposableso that they can be used withusingstatements/declarations that will automatically finish the span with a status of OK when it passes out of scope, if it has not already been finished, to be consistent withActivityclasses when using OpenTelemetry (#4627) -
Add support for W3C traceparent header for outgoing requests (#4661)
This feature is disabled by default. SetPropagateTraceparent = truewhen initializing the SDK if to include the W3C traceparent header on outgoing requests. -
The Structured Logs APIs are now stable: removed
ExperimentalfromSentryOptions(#4699) -
Added support for v3 of the Android AssemblyStore format that is used in .NET 10 and dropped support for v1 that was used in .NET 8 (#4583)
-
CaptureFeedback now returns a
SentryIdand aCaptureFeedbackResultout parameter that indicate whether feedback was captured successfully and what the reason for failure was otherwise (#4613) -
Deprecated
Sentry.Azure.Functions.Workeras very few people were using it and the functionality can easily be replaced with OpenTelemetry. We've replaced our integration with a sample showing how to do this using our OpenTelemetry package instead. (#4693) -
UWP support has been dropped. Future efforts will likely focus on WinUI 3, in line with Microsoft's recommendations for building Windows UI apps. (#4686)
-
BreadcrumbLevel.Criticalhas been renamed toBreadcrumbLevel.Fatalfor consistency with the other Sentry SDKs (#4605) -
SentryOptions.IsEnvironmentUser now defaults to false on MAUI. The means the User.Name will no longer be set, by default, to the name of the device (#4606)
-
Remove unnecessary files from SentryCocoaFramework before packing (#4602)
-
Removed obsolete APIs (#4619)
- Removed the unusual constructor from
Sentry.Maui.BreadcrumbEventthat had been marked as obsolete. That constructor expected aIEnumerable<(string Key, string Value)>[]argument (i.e. an array of IEnumerable of tuples). If you were using this constructor, you should instead use the alternate constructor that expects just an IEnumerable of tuples:IEnumerable<(string Key, string Value)>. - Removed
SentrySdk.CaptureUserFeedbackand all associated members. Use the newerSentrySdk.CaptureFeedbackinstead.
- Removed the unusual constructor from
-
SpanTracer and TransactionTracer are still public but these are now
sealed(see also #4627) -
ScopeExtensions.Populate is now internal (#4611)
See https://develop.sentry.dev/sdk/telemetry/traces/distributed-tracing/#w3c-trace-context-header for more details.
Features
- Support for .NET 10 (#4461)
- Added experimental support for Session Replay on iOS (#4664)
- QOL features for Unity
- Implemented instance isolation so that multiple instances of the Sentry SDK can be instantiated inside the same process when using the Caching Transport (#4498)
- Extended the App context by
app_memorythat can hold the amount of memory used by the application in bytes. (#4707)
Fixes
- Memory leak when finishing an unsampled Transaction that has started unsampled Spans (#4717)
- Deliver system breadcrumbs in the main thread on Android (#4671)
- The
Serilogintegration captures Structured Logs (when enabled) independently of captured Events and added Breadcrumbs (#4691) - The SDK avoids redundant scope sync after transaction finish (#4623)
- sentry-native is now automatically disabled for WASM applications (#4631)
Dependencies
5.16.2
Fixes
- Do not allow multiple
sentry.proguard-uuidmetadata to be set in Android manifest (#4647)
Dependencies
6.0.0-preview.2
BREAKING CHANGES
-
BreadcrumbLevel.Criticalhas been renamed toBreadcrumbLevel.Fatalfor consistency with the other Sentry SDKs (#4605) -
SentryOptions.IsEnvironmentUser now defaults to false on MAUI. The means the User.Name will no longer be set, by default, to the name of the device (#4606)
-
Remove unnecessary files from SentryCocoaFramework before packing (#4602)
-
Removed obsolete APIs (#4619)
- Removed the unusual constructor from
Sentry.Maui.BreadcrumbEventthat had been marked as obsolete. That constructor expected aIEnumerable<(string Key, string Value)>[]argument (i.e. an array of IEnumerable of tuples). If you were using this constructor, you should instead use the alternate constructor that expects just an IEnumerable of tuples:IEnumerable<(string Key, string Value)>. - Removed
SentrySdk.CaptureUserFeedbackand all associated members. Use the newerSentrySdk.CaptureFeedbackinstead.
- Removed the unusual constructor from
-
Backpressure handling is now enabled by default, meaning that the SDK will monitor system health and reduce the sampling rate of events and transactions when the system is under load. When the system is determined to be healthy again, the sampling rates are returned to their original levels. (#4615)
-
ScopeExtensions.Populate is now internal (#4611)
-
Add support for W3C traceparent header for outgoing requests (#4661)
This feature is disabled by default. When enabled, outgoing requests will include the W3C traceparent header.SentrySdk.Init(options => { // ... options.PropagateTraceparent = true; });
See https://develop.sentry.dev/sdk/telemetry/traces/distributed-tracing/#w3c-trace-context-header for more details.
Fixes
5.16.1
6.0.0-preview.1
BREAKING CHANGES
5.16.0
Features
- Added
EnableBackpressureHandlingoption for Automatic backpressure handling. When enabled this automatically reduces the sample rate when the SDK detects events being dropped. (#4452) - Add (experimental) Structured Logs integration for
Serilog(#4462)
Fixes
- Templates are no longer sent with Structured Logs that have no parameters (#4544)
- Parent-Span-IDs are no longer sent with Structured Logs when recorded without an active Span (#4565)
- Upload linked PDBs to fix non-IL-stripped symbolication for iOS (#4527)
- In MAUI Android apps, generate and inject UUID to APK and upload ProGuard mapping to Sentry with the UUID (#4532)
- Fixed WASM0001 warning when building Blazor WebAssembly projects (#4519)
API Changes
- Remove
ExperimentalAttributefrom all Structured Logs APIs, and removeExperimentalproperty fromSentrySdk, but keepExperimentalproperty onSentryOptions(#4567)
Dependencies
5.15.1
5.15.1-maxpath.1
Fixes
- Fail when building Blazor WASM with Profiling. We don't support profiling in Blazor WebAssembly projects. (#4512)
- Do not overwrite user IP if it is set manually in ASP.NET sdk (#4513)
- Fix
SentryOptions.Native.SuppressSignalAbortsandSuppressExcBadAccesson iOS (#4521) - Partial workaround for MAX_PATH issues when building iOS applications from Windows (#4533)