NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1099 most downloaded on NuGet
Official Serilog integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
Last release 8 days ago
01 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
127 years old
196 releases · first in 1900
Nothing published for this version
feat(otel): mark span processor based OpenTelemetry setup methods as obsolete by @jamescrosswell in #5586
One column per quarter.
fix(cocoa): iOS and Mac Catalyst apps no longer crash in [NSURLSessionTask cancel] when a request is cancelled after it has already completed with Nat
[NSURLSessionTask cancel] when a request is cancelled after it has already completed with Native.EnableSwizzling enabled (Cocoa SDK v9.29.0). Note that native crashes now set mechanism.synthetic, so expect a one-time regrouping of existing crash issues as your app adopts this version. by @github-actions in #5596feat: Expose StringOrRegex discriminator by @limbonaut in #5543
feat: Logs sent via SentrySdk.Logger no longer require EnableLogs by @jamescrosswell in #5512
SentrySdk.Logger no longer require EnableLogs by @jamescrosswell in #5512SentryOptions.EnableMetrics is obsolete and ignored by @jamescrosswell in #5509feat: Allow users to control Mechanism.Handled for captured exceptions by @vladbrincoveanu in #5449
feat(logs): add log4net integration by @Flash0ver in #5172
log4net integration by @Flash0ver in #5172NLog integration by @Flash0ver in #5176AddToTransactions on SentryAttachment #5182 by @jamescrosswell in #5182SentrySdk.RecordTransaction to record already-completed transactions and spans (e.g. replayed through a proxy) #5333 by @jamescrosswell in #5333Environment set on the Scope now gets synchronized to the native layers (sentry-cocoa and sentry-native) by @bitsandfoxes in #5365SentrySpanProcessor no longer leaks spans whose Activity never ends (e.g. aborted requests); the Activity is now held via a WeakReference so orphaned spans are pruned once it is garbage-collected. by @Ermabo in #5393feat(android): expose tombstone options via SentryOptions.Native by @jamescrosswell in #5226
IgnoreTransactions option to filter out transactions by name, matching substrings or regular expressions against the transaction name (#5377) by @Adham-Kiwan in #5377SentryEventExtensions.IsFromUnhandledException) and terminal exceptions (SentryEventExtensions.IsFromTerminalException) by @jamescrosswell in #5177Sentry.Extensions.Logging Filters by @Flash0ver in #5297feat: propagate trace to sentry-android and sentry-cocoa by @bitsandfoxes in #5244
sentry-android and sentry-cocoa by @bitsandfoxes in #5244feat: Add support to send OTEL traces via OTLP by @jamescrosswell in #4899
SentryEvent to have IsCaptured to allow dropping screenshots of filtered events by @JoshuaMoelans in #5162PruneFilteredSpans runs by @jamescrosswell in #5186fix: prevent redundant native exceptions on Android/CoreCLR by @jpnurmi in #5127
feat: Add network details for session replay on iOS by @jamescrosswell in #4891
options.Native.ExperimentalOptions.SignalHandlerStrategy to Sentry.Android.SignalHandlerStrategy.ChainAtStartchore(deps): update Native SDK to v0.13.6 by @github-actions in #5128
fix: Workaround FileNotFoundException on Android when recovering sessions by @jamescrosswell in #5084
CaptureFeedback now supports multiple attachments correctly by @bitsandfoxes in #5077The Metrics APIs are now stable: removed Experimental from SentrySdk , SentryOptions and IHub
Experimental from SentrySdk, SentryOptions and IHub (#5023)SENTRY1001) when a Metrics-API is invoked with an unsupported numeric type (#4840)Environment and Release and custom event processors are all now correctly applied to CaptureFeedback events (#4942)Data set via ITransactionTracer in SentryTransaction (#4148)Outbound HTTP requests now show in the Network tab for Android Session Replays
Warning instead of an Error when being ratelimited (#4927)libmonosgen and libxamarin frames no longer show as in-app (#4960)SentryApiKey, you need to generate an Auth Token and use SentryAuthToken, instead.With this version, Sentry groups errors by domain and code. MyDomain 1 and MyDomain 2 are going to be two separate issues in Sentry. If you are using self-hosted Sentry, it requires Sentry version >= v21.2.0 to work. Staying on Sentry < v21.2.0 and upgrading to this version of the SDK won't do any damage. Sentry will group like in previous versions, but you will see a new group because we slightly changed the wording. If you are using sentry.io no action is needed. In case you are not satisfied with this change, you can take a look at SDK fingerprinting to group by domain only.
Add _experimental_ support for Sentry trace-connected Metrics
SentryThread by Main to allow indication whether the thread is considered the current main thread (#4807)Environment and Release (#4883)Deprecated Sentry.Azure.Functions.Worker as very few people were using it and the functionality can easily be replaced with OpenTelemetry. We've repla…
SentryLoggingOptions.ExperimentalLogging.MinimumLogLevel. Structured Logs can now be configured via the "Sentry" logging provider (e.g. in appsettings.json and appsettings.{HostEnvironment}.json) (#4700)SentryLog.ParentSpanId to SentryLog.SpanId reflecting the protocol change (#4778)IDisposable so that they can be used with using statements/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 with Activity classes when using OpenTelemetry (#4627)sealed (see also #4627)Experimental from SentryOptions (#4699)SentryId and a CaptureFeedbackResult out parameter that indicate whether feedback was captured successfully and what the reason for failure was otherwise (#4613)Sentry.Azure.Functions.Worker as 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)BreadcrumbLevel.Critical has been renamed to BreadcrumbLevel.Fatal for consistency with the other Sentry SDKs (#4605)Sentry.Maui.BreadcrumbEvent that had been marked as obsolete. That constructor expected a IEnumerable<(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)>.SentrySdk.CaptureUserFeedback and all associated members. Use the newer SentrySdk.CaptureFeedback instead.Sentry.Extensions.AI which allows LLM usage instrumentation via Microsoft.Extensions.AI (#4657)Sentry.Google.Cloud.Functions (#4700)app_memory that can hold the amount of memory used by the application in bytes. (#4707)PropagateTraceparent = true when initializing the SDK if to include the W3C traceparent header on outgoing requests.Serilog integration captures Structured Logs (when enabled) independently of captured Events and added Breadcrumbs (#4691)Sentry.Extensions.Logging, Sentry.AspNetCore, Sentry.Maui and Sentry.Google.Cloud.Functionsappsettings.json)
SentryLoggingOptions.MinimumBreadcrumbLevel, SentryLoggingOptions.MinimumEventLevel, or add filter functions via SentryLoggingOptionsExtensions.AddLogEntryFilterappsettings.json)
SentryOptions.EnableLogs/NODEFAULTLIB:MSVCRT to NativeAOT linker arguments on Windows when targetting non-Windows platforms (Android, Browser) (#4760)This is a major bump with lots of internal improvements and a few breaking changes. For a detailed explanation how to updgrade please checkout the migration guide.
Breaking changes:
Features and fixes:
Nothing published for this version
Do not allow multiple sentry.proguard-uuid metadata to be set in Android manifest
sentry.proguard-uuid metadata to be set in Android manifest (#4647)Structured Logs now have a sentry.origin attribute to so it's clearer where these come from
Added EnableBackpressureHandling option for Automatic backpressure handling. When enabled this automatically reduces the sample rate when the SDK dete
EnableBackpressureHandling option for Automatic backpressure handling. When enabled this automatically reduces the sample rate when the SDK detects events being dropped. (#4452)Serilog (#4462)ExperimentalAttribute from all Structured Logs APIs, and remove Experimental property from SentrySdk, but keep Experimental property on SentryOptions (#4567)Fail when building Blazor WASM with Profiling. We don't support profiling in Blazor WebAssembly projects.
Experimental _Structured Logs_:
IDisposable from SentryStructuredLogger. Disposal is intended through the owning IHub instance (#4424)InvalidOperationException potentially thrown during a race condition, especially in concurrent high-volume logging scenarios (#4428)Crontabs now support day names (MON-SUN) and allow step values and ranges to be combined
Add _experimental_ support for Sentry Structured Logging
sample_rate of Dynamic Sampling Context (DSC) when making sampling decisions (#4374)Sentry now includes an EXPERIMENTAL StringStackTraceFactory. This factory isn't as feature rich as the full SentryStackTraceFactory. However, it may p
SentryStackTraceFactory. However, it may provide better results if you are compiling your application AOT and not getting useful stack traces from the full stack trace factory. (#4362)linux-musl-arm64 (#4365)App Hang Tracking for iOS is now disabled by default, until this functionality is more stable. If you want to use it in your applications then you'll
lzma on Linux/MUSL (#4326)Unsampled spans no longer propagate empty trace headers
Fix linking of libsentry-native to avoid DllNotFoundException in Native AOT applications
NOTE: Required breaking changes to the public API of Sentry.Maui.BreadcrumbEvent, while keeping an _Obsolete_ constructor for backward compatibility.
ConfigureScope and ConfigureScopeAsync overloads (#4244)AutomationId element information to breadcrumbs (#4248)Sentry.Maui.BreadcrumbEvent, while keeping an Obsolete constructor for backward compatibility.Rename MemoryInfo.AllocatedBytes to MemoryInfo.TotalAllocatedBytes
Reduced memory pressure when sampling less than 100% of traces/transactions
Support for Windows ARM64 with Native AOT
.NET MAUI integration with CommunityToolkit.Mvvm Async Relay Commands can now be auto spanned with the new package Sentry.Maui.CommunityToolkit.Mvvm
New source generator allows Sentry to see true build variables like PublishAot and PublishTrimmed to properly adapt checks in the Sentry SDK
RequestSize.Small threshold from 1 kB to 4 kB to match other SDKs (#4177)Option to disable the SentryNative integration (#4107, #4134)
<SentryNative>false</SentryNative>traceparent header, it is now parsed and interpreted like the sentry-trace header. Outgoing requests now contain the traceparent header to facilitate integration with servesr that only support the W3C Trace Context. (#4084)Sentry Java SDK dependencies are now detected and included in the Android bindings
The IScopeObserver now has an SetTrace that allows observing changes to the scope's trace context. The SDK uses this to propagate the trace ID to sent
IScopeObserver now has an SetTrace that allows observing changes to the scope's trace context. The SDK uses this to propagate the trace ID to sentry-native. This allows Sentry to connect errors coming from all layers of your application (#4026)net9.0 on Sentry.Google.Cloud.Functions to avoid conflict with Sentry.AspNetCore (#4039)SentryOptions.EnableAppHangTrackingV2 to false (#4042)Shell navigation breadcrumbs on iOS (#4006)Profiling: improve performance by subscribing only to necessary CLR events
User Feedback can now be captured without errors/exceptions. Note that these APIs replace the older UserFeedback APIs, which have now been marked as o
Users can now register their own MAUI controls for breadcrumb creation
Emit transaction.data inside contexts.trace.data
The User.IpAddress is now only set to {{auto}} when SendDefaultPii is enabled. This change gives you control over IP address collection directly on th
{{auto}} when SendDefaultPii is enabled. This change gives you control over IP address collection directly on the client (#3893)SentryOptions.DisableSentryHttpMessageHandler. Useful if you're using OpenTelemetry.Instrumentation.Http and ending up with duplicate spans. (#3879).NET Mobile: Disable and made obsolete the iOS Watchdog termination feature which is based on heuristics that don't work in .NET
Sentry's Experimental Metrics feature has been deprecated and removed from the SDK.
SentryOptions.EnableTracing has been removed. Instead, tracing should be enabled or disabled by setting the SentryOptions.TracesSampleRate or by using SentryOptions.TracesSampler to configure a sampling function (#3569)AndroidContext as an argument to SentrySdk.Init (#3562)SentryUser.Segment property has been deprecated. Consider sending this as a tag or additional data instead (#3563)Device.BatteryLevel and Device.ProcessorFrequency are now stored as floats rather than ints, to align with the Cocoa and Java SDKs (#3567)FailedRequestTargets, TagFilters and TracePropagationTargets options have all been changed from SubstringOrRegexPattern to IList<StringOrRegex> (#3566)Scope.Transaction is now always stored as an AsyncLocal also in Global Mode, to prevent auto-instrumented spans from the UI ending up parented to transactions from a background task (or vice versa). (#3596).NET 9 (#3699)SentryOptions extension for profiling: options.AddProfilingIntegration() (#3660)Limited experimental support for Session Replay Recording on Android
Events from NDK on Android will report sdk.name sentry.native.android.dotnet
sentry.native.android.dotnet (#3682)SetBeforeScreenshotCapture callback to the options: allowing the user to set an action before the screenshot is taken (#3661)Sentry.AspNetCore.Blazor.WebAssembly generally available. (#3674)Nothing published for this version
The SentrySdk.Metrics module is deprecated and will be removed in the next major release. Sentry will reject all metrics sent after October 7, 2024. L…
If you are using Xcode 16.0, you will need to update the SDK to version 4.12.0 or later.
If you are still using Xcode 15.4 or earlier, you need to continue to use version 4.11.0 or earlier.
Using Xcode 16 to build .NET applications targeting iOS and Mac Catalyst requires .NET workload for iOS SDK version 18.0.8303. We built the SDK version 4.12.0 using Xcode 16 in order to support this scenario. That, unfortunately, breaks folks using older version of Xcode.
As such, if you are using SDK version 4.12.x and targeting iOS or Mac Catalyst, you will need to install and use Xcode 16 and workload iOS SDK 18.0.8303
Note that .NET 9 will also support Xcode 16, when it is released next month (Nov 2024).
SentrySdk.Metrics module is deprecated and will be removed in the next major release.
Sentry will reject all metrics sent after October 7, 2024.
Learn more: https://sentry.zendesk.com/hc/en-us/articles/26369339769883-Upcoming-API-Changes-to-Metrics (#3619)DisableFileWrite to allow users to opt-out of all file writing operations. Note that toggling this will affect features such as offline caching and auto-session tracking and release health as these rely on some file persistency (#3614, #3641)All exceptions are now added as breadcrumbs on future events. Previously this was only the case for exceptions captured via the Sentry.SeriLog or Sent
Sentry.SeriLog or Sentry.Extensions.Logging integrations. (#3584)FormatException for ProcessorFrequency when trying to report native events (#3541)SentrySdk.StartTransaction() now returns a NoOpTransaction, which avoids unnecessary memory allocations (#3581)fix: Prevent deadlock in Hub.Dispose (#3539) by @bitsandfoxes
Unfinished spans are now correctly stored and retrieved by the CachingTransport
Users can now automatically create releases and associated commits via sentry-cli and MSBuild properties
Sentry.AspNetCore.Blazor.WebAssembly now targets .NET 8 specifically, allowing for proper dependency resolution (#3501)WPF, WinForms or Avalonia with PublishAot enabled, the SDK no longers throws a DllNotFoundException trying to initialize sentry-native (#3411)
Unable to load DLL sentry-native or one of its dependenciesFormatException when trying to report native events (#3485)SentryMessageHandler (#3477)Fixed envelopes getting stuck in processing when losing network connectivity
Marked SentryUser.Segment as deprecated
Sentry.AspNetCore.Blazor.WebAssembly. This packages provides you with an extension to WebAssemblyHostBuilder to allow SDK configuration via the builder pattern. This package gives us an entry point and the ability to extend the SDKs support and out-of-the-box offering. You can follow the progress and leave feedback either (here) for extending the support for Blazor Server or (here) for Blazor WebAssembly support (#3386)Scope.User.Id now correctly defaults to the InstallationId unless it has been set otherwise (#3425)SentryOptions.EnableTracing has been marked as Obsolete
SentrySdk.CaptureCheckIn (#3330)SentrySdk.RunAsyncVoid helper method that lets you capture exceptions from async void methods (#3379)Reverted changes to the SentryHttpMessageHandler and SentryGraphQLHttpMessageHandler to automatically create transactions for each request as this cou
Your coding agent can read these notes before it upgrades. Set up the MCP server →