# Changelog
## Unreleased
### Features
- Extended `SentryThread` by `Main` to allow indication whether the thread is considered the current main thread ([#4807](https://github.com/getsentry/sentry-dotnet/pull/4807))
### Dependencies
- Bump Native SDK from v0.12.2 to v0.12.3 ([#4832](https://github.com/getsentry/sentry-dotnet/pull/4832))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0123)
- [diff](https://github.com/getsentry/sentry-native/compare/0.12.2...0.12.3)
- Bump Java SDK from v8.28.0 to v8.29.0 ([#4817](https://github.com/getsentry/sentry-dotnet/pull/4817))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8290)
- [diff](https://github.com/getsentry/sentry-java/compare/8.28.0...8.29.0)
## 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](https://github.com/getsentry/sentry-dotnet/pull/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](https://github.com/getsentry/sentry-dotnet/pull/4615))
- Remove `SentryLoggingOptions.ExperimentalLogging.MinimumLogLevel`. _Structured Logs_ can now be configured via the `"Sentry"` logging provider (e.g. in `appsettings.json` and `appsettings.{HostEnvironment}.json`) ([#4700](https://github.com/getsentry/sentry-dotnet/pull/4700))
- All logging provider types are _internal_ now in order to ensure configuration as intended ([#4700](https://github.com/getsentry/sentry-dotnet/pull/4700))
- Rename `SentryLog.ParentSpanId` to `SentryLog.SpanId` reflecting the protocol change ([#4778](https://github.com/getsentry/sentry-dotnet/pull/4778))
- QOL improvement: Spans and Transactions now implement `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](https://github.com/getsentry/sentry-dotnet/pull/4627))
- SpanTracer and TransactionTracer are still public but these are now `sealed` (see also [#4627](https://github.com/getsentry/sentry-dotnet/pull/4627))
- The _Structured Logs_ APIs are now stable: removed `Experimental` from `SentryOptions` ([#4699](https://github.com/getsentry/sentry-dotnet/pull/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](https://github.com/getsentry/sentry-dotnet/pull/4583))
- CaptureFeedback now returns a `SentryId` and a `CaptureFeedbackResult` out parameter that indicate whether feedback was captured successfully and what the reason for failure was otherwise ([#4613](https://github.com/getsentry/sentry-dotnet/pull/4613))
- Deprecated `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](https://github.com/getsentry/sentry-dotnet/pull/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](https://github.com/getsentry/sentry-dotnet/pull/4686))
- `BreadcrumbLevel.Critical` has been renamed to `BreadcrumbLevel.Fatal` for consistency with the other Sentry SDKs ([#4605](https://github.com/getsentry/sentry-dotnet/pull/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](https://github.com/getsentry/sentry-dotnet/pull/4606))
- Removed obsolete APIs ([#4619](https://github.com/getsentry/sentry-dotnet/pull/4619))
- Removed the unusual constructor from `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)>`.
- Removed `SentrySdk.CaptureUserFeedback` and all associated members. Use the newer `SentrySdk.CaptureFeedback` instead.
- ScopeExtensions.Populate is now internal ([#4611](https://github.com/getsentry/sentry-dotnet/pull/4611))
### Features
- Support for .NET 10 ([#4461](https://github.com/getsentry/sentry-dotnet/pull/4461))
- Added a new SDK `Sentry.Extensions.AI` which allows LLM usage instrumentation via `Microsoft.Extensions.AI` ([#4657](https://github.com/getsentry/sentry-dotnet/pull/4657))
- Added experimental support for Session Replay on iOS ([#4664](https://github.com/getsentry/sentry-dotnet/pull/4664))
- Add support for _Structured Logs_ in `Sentry.Google.Cloud.Functions` ([#4700](https://github.com/getsentry/sentry-dotnet/pull/4700))
- QOL features for Unity
- The SDK now provides a `IsSessionActive` to allow checking the session state ([#4662](https://github.com/getsentry/sentry-dotnet/pull/4662))
- The SDK now makes use of the new SessionEndStatus `Unhandled` when capturing an unhandled but non-terminal exception, i.e. through the UnobservedTaskExceptionIntegration ([#4633](https://github.com/getsentry/sentry-dotnet/pull/4633), [#4653](https://github.com/getsentry/sentry-dotnet/pull/4653))
- Extended the App context by `app_memory` that can hold the amount of memory used by the application in bytes. ([#4707](https://github.com/getsentry/sentry-dotnet/pull/4707))
- Add support for W3C traceparent header for outgoing requests ([#4661](https://github.com/getsentry/sentry-dotnet/pull/4661))
- This feature is disabled by default. Set `PropagateTraceparent = true` when 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.
### Fixes
- Memory leak when finishing an unsampled Transaction that has started unsampled Spans ([#4717](https://github.com/getsentry/sentry-dotnet/pull/4717))
- Sentry Tracing middleware crashed ASP.NET Core in .NET 10 in 6.0.0-rc.1 and earlier ([#4747](https://github.com/getsentry/sentry-dotnet/pull/4747))
- Captured [Http Client Errors](https://docs.sentry.io/platforms/dotnet/guides/aspnet/configuration/http-client-errors/) on .NET 5+ now include a full stack trace in order to improve Issue grouping ([#4724](https://github.com/getsentry/sentry-dotnet/pull/4724))
- Deliver system breadcrumbs in the main thread on Android ([#4671](https://github.com/getsentry/sentry-dotnet/pull/4671))
- The `Serilog` integration captures _Structured Logs_ (when enabled) independently of captured Events and added Breadcrumbs ([#4691](https://github.com/getsentry/sentry-dotnet/pull/4691))
- Minimum Log-Level for _Structured Logs_, _Breadcrumbs_ and _Events_ in all Logging-Integrations ([#4700](https://github.com/getsentry/sentry-dotnet/pull/4700))
- for `Sentry.Extensions.Logging`, `Sentry.AspNetCore`, `Sentry.Maui` and `Sentry.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 via `SentryLoggingOptionsExtensions.AddLogEntryFilter`
- the Logger-Provider for _Structured Logs_ respects Logging-Configuration (e.g. via `appsettings.json`)
- when enabled by `SentryOptions.EnableLogs`
- Avoid appending `/NODEFAULTLIB:MSVCRT` to NativeAOT linker arguments on Windows when targetting non-Windows platforms (Android, Browser) ([#4760](https://github.com/getsentry/sentry-dotnet/pull/4760))
- The SDK avoids redundant scope sync after transaction finish ([#4623](https://github.com/getsentry/sentry-dotnet/pull/4623))
- sentry-native is now automatically disabled for WASM applications ([#4631](https://github.com/getsentry/sentry-dotnet/pull/4631))
- Remove unnecessary files from SentryCocoaFramework before packing ([#4602](https://github.com/getsentry/sentry-dotnet/pull/4602))
### Dependencies
- Bump Java SDK from v8.24.0 to v8.28.0 ([#4728](https://github.com/getsentry/sentry-dotnet/pull/4728), [#4761](https://github.com/getsentry/sentry-dotnet/pull/4761), [#4791](https://github.com/getsentry/sentry-dotnet/pull/4791))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8280)
- [diff](https://github.com/getsentry/sentry-java/compare/8.24.0...8.28.0)
- Bump Native SDK from v0.12.0 to v0.12.2 ([#4690](https://github.com/getsentry/sentry-dotnet/pull/4690), [#4737](https://github.com/getsentry/sentry-dotnet/pull/4737), [#4780](https://github.com/getsentry/sentry-dotnet/pull/4780))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0122)
- [diff](https://github.com/getsentry/sentry-native/compare/0.12.0...0.12.2)
- Bump Cocoa SDK from v8.57.1 to v8.57.3 ([#4704](https://github.com/getsentry/sentry-dotnet/pull/4704), [#4738](https://github.com/getsentry/sentry-dotnet/pull/4738))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8573)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.57.1...8.57.3)
- Bump CLI from v2.57.0 to v2.58.2 ([#4705](https://github.com/getsentry/sentry-dotnet/pull/4705), [#4727](https://github.com/getsentry/sentry-dotnet/pull/4727), [#4732](https://github.com/getsentry/sentry-dotnet/pull/4732))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2582)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.57.0...2.58.2)
## 5.16.2
### Fixes
- Do not allow multiple `sentry.proguard-uuid` metadata to be set in Android manifest ([#4647](https://github.com/getsentry/sentry-dotnet/pull/4647))
### Dependencies
- Bump Cocoa SDK from v8.56.2 to v8.57.1 ([#4637](https://github.com/getsentry/sentry-dotnet/pull/4637), [#4680](https://github.com/getsentry/sentry-dotnet/pull/4680))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8571)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.56.2...8.57.1)
- Bump Native SDK from v0.11.2 to v0.12.0 ([#4636](https://github.com/getsentry/sentry-dotnet/pull/4636), [#4678](https://github.com/getsentry/sentry-dotnet/pull/4678))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0120)
- [diff](https://github.com/getsentry/sentry-native/compare/0.11.2...0.12.0)
- Bump Java SDK from v8.23.0 to v8.24.0 ([#4667](https://github.com/getsentry/sentry-dotnet/pull/4667))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8240)
- [diff](https://github.com/getsentry/sentry-java/compare/8.23.0...8.24.0)
- Bump CLI from v2.56.1 to v2.57.0 ([#4668](https://github.com/getsentry/sentry-dotnet/pull/4668))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2570)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.56.1...2.57.0)
## 5.16.1
### Fixes
- Structured Logs now have a `sentry.origin` attribute to so it's clearer where these come from ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566))
### Dependencies
- Bump Java SDK from v8.22.0 to v8.23.0 ([#4586](https://github.com/getsentry/sentry-dotnet/pull/4586))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8230)
- [diff](https://github.com/getsentry/sentry-java/compare/8.22.0...8.23.0)
- Bump Native SDK from v0.11.1 to v0.11.2 ([#4590](https://github.com/getsentry/sentry-dotnet/pull/4590))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0112)
- [diff](https://github.com/getsentry/sentry-native/compare/0.11.1...0.11.2)
- Bump CLI from v2.56.0 to v2.56.1 ([#4625](https://github.com/getsentry/sentry-dotnet/pull/4625))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2561)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.56.0...2.56.1)
## 5.16.0
### Features
- Added `EnableBackpressureHandling` option for Automatic backpressure handling. When enabled this automatically reduces the sample rate when the SDK detects events being dropped. ([#4452](https://github.com/getsentry/sentry-dotnet/pull/4452))
- Add (experimental) _Structured Logs_ integration for `Serilog` ([#4462](https://github.com/getsentry/sentry-dotnet/pull/4462))
### Fixes
- Templates are no longer sent with Structured Logs that have no parameters ([#4544](https://github.com/getsentry/sentry-dotnet/pull/4544))
- Parent-Span-IDs are no longer sent with Structured Logs when recorded without an active Span ([#4565](https://github.com/getsentry/sentry-dotnet/pull/4565))
- Upload linked PDBs to fix non-IL-stripped symbolication for iOS ([#4527](https://github.com/getsentry/sentry-dotnet/pull/4527))
- In MAUI Android apps, generate and inject UUID to APK and upload ProGuard mapping to Sentry with the UUID ([#4532](https://github.com/getsentry/sentry-dotnet/pull/4532))
- Fixed WASM0001 warning when building Blazor WebAssembly projects ([#4519](https://github.com/getsentry/sentry-dotnet/pull/4519))
### API Changes
- Remove `ExperimentalAttribute` from all _Structured Logs_ APIs, and remove `Experimental` property from `SentrySdk`, but keep `Experimental` property on `SentryOptions` ([#4567](https://github.com/getsentry/sentry-dotnet/pull/4567))
### Dependencies
- Bump Cocoa SDK from v8.56.0 to v8.56.2 ([#4555](https://github.com/getsentry/sentry-dotnet/pull/4555), [#4572](https://github.com/getsentry/sentry-dotnet/pull/4572))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8562)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.56.0...8.56.2)
- Bump Native SDK from v0.11.0 to v0.11.1 ([#4557](https://github.com/getsentry/sentry-dotnet/pull/4557))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0111)
- [diff](https://github.com/getsentry/sentry-native/compare/0.11.0...0.11.1)
- Bump CLI from v2.54.0 to v2.55.0 ([#4556](https://github.com/getsentry/sentry-dotnet/pull/4556))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2550)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.54.0...2.55.0)
### Dependencies
- Bump CLI from v2.54.0 to v2.56.0 ([#4556](https://github.com/getsentry/sentry-dotnet/pull/4556), [#4577](https://github.com/getsentry/sentry-dotnet/pull/4577))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2560)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.54.0...2.56.0)
- Bump Java SDK from v8.21.1 to v8.22.0 ([#4552](https://github.com/getsentry/sentry-dotnet/pull/4552))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8220)
- [diff](https://github.com/getsentry/sentry-java/compare/8.21.1...8.22.0)
## 5.15.1
### Fixes
- Fail when building Blazor WASM with Profiling. We don't support profiling in Blazor WebAssembly projects. ([#4512](https://github.com/getsentry/sentry-dotnet/pull/4512))
- Do not overwrite user IP if it is set manually in ASP.NET sdk ([#4513](https://github.com/getsentry/sentry-dotnet/pull/4513))
- Fix `SentryOptions.Native.SuppressSignalAborts` and `SuppressExcBadAccess` on iOS ([#4521](https://github.com/getsentry/sentry-dotnet/pull/4521))
### Dependencies
- Bump Cocoa SDK from v8.55.1 to v8.56.0 ([#4528](https://github.com/getsentry/sentry-dotnet/pull/4528))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8560)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.55.1...8.56.0)
- Bump CLI from v2.53.0 to v2.54.0 ([#4541](https://github.com/getsentry/sentry-dotnet/pull/4541))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2540)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.53.0...2.54.0)
- Bump Native SDK from v0.10.1 to v0.11.0 ([#4542](https://github.com/getsentry/sentry-dotnet/pull/4542))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0110)
- [diff](https://github.com/getsentry/sentry-native/compare/0.10.1...0.11.0)
## 5.15.0
### Features
- Experimental _Structured Logs_:
- Redesign SDK Logger APIs to allow usage of `params` ([#4451](https://github.com/getsentry/sentry-dotnet/pull/4451))
- Shorten the `key` names of `Microsoft.Extensions.Logging` attributes ([#4450](https://github.com/getsentry/sentry-dotnet/pull/4450))
### Fixes
- Experimental _Structured Logs_:
- 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))
- `InvalidOperationException` potentially thrown during a race condition, especially in concurrent high-volume logging scenarios ([#4428](https://github.com/getsentry/sentry-dotnet/pull/4428))
- Blocking calls are no longer treated as unhandled crashes ([#4458](https://github.com/getsentry/sentry-dotnet/pull/4458))
- Only apply Session Replay masks to specific control types when necessary to avoid performance issues in MAUI apps with complex UIs ([#4445](https://github.com/getsentry/sentry-dotnet/pull/4445))
- De-duplicate Java.Lang.RuntimeException on Android ([#4509](https://github.com/getsentry/sentry-dotnet/pull/4509))
- Upload linked PDB to fix symbolication for Mac Catalyst ([#4503](https://github.com/getsentry/sentry-dotnet/pull/4503))
### Dependencies
- Bump sentry-cocoa from 8.39.0 to 8.55.1 ([#4442](https://github.com/getsentry/sentry-dotnet/pull/4442), [#4483](https://github.com/getsentry/sentry-dotnet/pull/4483), [#4485](https://github.com/getsentry/sentry-dotnet/pull/4485))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8551)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.39.0...8.55.1)
- Bump Native SDK from v0.9.1 to v0.10.1 ([#4436](https://github.com/getsentry/sentry-dotnet/pull/4436), [#4492](https://github.com/getsentry/sentry-dotnet/pull/4492))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0101)
- [diff](https://github.com/getsentry/sentry-native/compare/0.9.1...0.10.1)
- Bump CLI from v2.52.0 to v2.53.0 ([#4486](https://github.com/getsentry/sentry-dotnet/pull/4486))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2530)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.52.0...2.53.0)
- Bump Java SDK from v8.6.0 to v8.21.1 ([#4496](https://github.com/getsentry/sentry-dotnet/pull/4496), [#4502](https://github.com/getsentry/sentry-dotnet/pull/4502), [#4508](https://github.com/getsentry/sentry-dotnet/pull/4508))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8211)
- [diff](https://github.com/getsentry/sentry-java/compare/8.6.0...8.21.1)
## 5.14.1
### Fixes
- Crontabs now support day names (MON-SUN) and allow step values and ranges to be combined ([#4407](https://github.com/getsentry/sentry-dotnet/pull/4407))
- Ensure the correct Sentry Cocoa SDK framework version is used on iOS ([#4411](https://github.com/getsentry/sentry-dotnet/pull/4411))
### Dependencies
- Bump CLI from v2.50.2 to v2.52.0 ([#4419](https://github.com/getsentry/sentry-dotnet/pull/4419), [#4435](https://github.com/getsentry/sentry-dotnet/pull/4435), [#4444](https://github.com/getsentry/sentry-dotnet/pull/4444))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2520)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.50.2...2.52.0)
## 5.14.0
### Features
- Add _experimental_ support for [Sentry Structured Logging](https://docs.sentry.io/product/explore/logs/) ([#4308](https://github.com/getsentry/sentry-dotnet/pull/4308))
- Structured-Logger API ([#4158](https://github.com/getsentry/sentry-dotnet/pull/4158))
- Buffering and Batching ([#4310](https://github.com/getsentry/sentry-dotnet/pull/4310))
- Integrations for `Sentry.Extensions.Logging`, `Sentry.AspNetCore` and `Sentry.Maui` ([#4193](https://github.com/getsentry/sentry-dotnet/pull/4193))
### Fixes
- Update `sample_rate` of _Dynamic Sampling Context (DSC)_ when making sampling decisions ([#4374](https://github.com/getsentry/sentry-dotnet/pull/4374))
## 5.13.0
### Features
- Sentry now includes an EXPERIMENTAL StringStackTraceFactory. This factory isn't as feature rich as the full `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](https://github.com/getsentry/sentry-dotnet/pull/4362))
### Fixes
- Source context for class libraries when running on Android in Release mode ([#4294](https://github.com/getsentry/sentry-dotnet/pull/4294))
- Native AOT: don't load SentryNative on unsupported platforms ([#4347](https://github.com/getsentry/sentry-dotnet/pull/4347))
- Fixed issue introduced in release 5.12.0 that might prevent other middleware or user code from reading request bodies ([#4373](https://github.com/getsentry/sentry-dotnet/pull/4373))
- SentryTunnelMiddleware overwrites the X-Forwarded-For header ([#4375](https://github.com/getsentry/sentry-dotnet/pull/4375))
- Native AOT support for `linux-musl-arm64` ([#4365](https://github.com/getsentry/sentry-dotnet/pull/4365))
### Dependencies
- Bump CLI from v2.47.0 to v2.50.2 ([#4348](https://github.com/getsentry/sentry-dotnet/pull/4348), [#4370](https://github.com/getsentry/sentry-dotnet/pull/4370), [#4378](https://github.com/getsentry/sentry-dotnet/pull/4378))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2502)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.47.0...2.50.2)
## 5.12.0
### API changes
- 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 need to enable this manually. ([#4320](https://github.com/getsentry/sentry-dotnet/pull/4320))
### Features
- Added StartSpan and GetTransaction methods to the SentrySdk ([#4303](https://github.com/getsentry/sentry-dotnet/pull/4303))
### Fixes
- Avoid double reporting sessions on iOS and Android apps ([#4341](https://github.com/getsentry/sentry-dotnet/pull/4341))
- Sentry now decompresses Request bodies in ASP.NET Core when RequestDecompression middleware is enabled ([#4315](https://github.com/getsentry/sentry-dotnet/pull/4315))
- Custom ISentryEventProcessors are now run for native iOS events ([#4318](https://github.com/getsentry/sentry-dotnet/pull/4318))
- Crontab validation when capturing checkins ([#4314](https://github.com/getsentry/sentry-dotnet/pull/4314))
- Fixed an issue with the way Sentry detects build settings. This was causing Sentry to produce code that could fail at runtime in AOT compiled applications. ([#4333](https://github.com/getsentry/sentry-dotnet/pull/4333))
- Native AOT: link to static `lzma` on Linux/MUSL ([#4326](https://github.com/getsentry/sentry-dotnet/pull/4326))
- AppDomain.CurrentDomain.ProcessExit hook is now removed on shutdown ([#4323](https://github.com/getsentry/sentry-dotnet/pull/4323))
### Dependencies
- Bump Native SDK from v0.9.0 to v0.9.1 ([#4309](https://github.com/getsentry/sentry-dotnet/pull/4309))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#091)
- [diff](https://github.com/getsentry/sentry-native/compare/0.9.0...0.9.1)
- Bump CLI from v2.46.0 to v2.47.0 ([#4332](https://github.com/getsentry/sentry-dotnet/pull/4332))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2470)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.46.0...2.47.0)
## 5.11.2
### Fixes
- Unsampled spans no longer propagate empty trace headers ([#4302](https://github.com/getsentry/sentry-dotnet/pull/4302))
## 5.11.1
### Fixes
- Fix linking of libsentry-native to avoid DllNotFoundException in Native AOT applications ([#4298](https://github.com/getsentry/sentry-dotnet/pull/4298))
## 5.11.0
### Features
- Added non-allocating `ConfigureScope` and `ConfigureScopeAsync` overloads ([#4244](https://github.com/getsentry/sentry-dotnet/pull/4244))
- Add .NET MAUI `AutomationId` element information to breadcrumbs ([#4248](https://github.com/getsentry/sentry-dotnet/pull/4248))
- The HTTP Response Status Code for spans instrumented using OpenTelemetry is now searchable ([#4283](https://github.com/getsentry/sentry-dotnet/pull/4283))
### Fixes
- The HTTP instrumentation uses the span created for the outgoing request in the sentry-trace header, fixing the parent-child relationship between client and server ([#4264](https://github.com/getsentry/sentry-dotnet/pull/4264))
- ExtraData not captured for Breadcrumbs in MauiEventsBinder ([#4254](https://github.com/getsentry/sentry-dotnet/pull/4254))
- NOTE: Required breaking changes to the public API of `Sentry.Maui.BreadcrumbEvent`, while keeping an _Obsolete_ constructor for backward compatibility.
- InvalidOperationException sending attachments on Android with LLVM enabled ([#4276](https://github.com/getsentry/sentry-dotnet/pull/4276))
- When CaptureFeedback methods are called with invalid email addresses, the email address will be removed and, if Debug mode is enabled, a warning will be logged. This is done to avoid losing the Feedback altogether (Sentry would reject Feedback that has an invalid email address) ([#4284](https://github.com/getsentry/sentry-dotnet/pull/4284))
### Dependencies
- Bump the version of the .NET SDK that we use from 9.0.203 to 9.0.301 ([#4272](https://github.com/getsentry/sentry-dotnet/pull/4272))
- Note that this also required we bump various Java dependencies (since version 9.0.300 of the Android workload requires newer versions of the these)
- See https://docs.sentry.io/platforms/dotnet/troubleshooting/#detected-package-version-outside-of-dependency-constraint if you see NU1605, NU1608 and/or NU1107 warnings after upgrading
- Bump Native SDK from v0.8.5 to v0.9.0 ([#4260](https://github.com/getsentry/sentry-dotnet/pull/4260))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#090)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.5...0.9.0)
## 5.10.0
### Features
- Rename MemoryInfo.AllocatedBytes to MemoryInfo.TotalAllocatedBytes ([#4243](https://github.com/getsentry/sentry-dotnet/pull/4243))
- Replace libcurl with .NET HttpClient for sentry-native ([#4222](https://github.com/getsentry/sentry-dotnet/pull/4222))
### Fixes
- InvalidCastException in SentrySpanProcessor when using the Sentry.OpenTelemetry integration ([#4245](https://github.com/getsentry/sentry-dotnet/pull/4245))
- Fix InApp Exclude for frames without Module by checking against frame's Package ([#4236](https://github.com/getsentry/sentry-dotnet/pull/4236))
## 5.9.0
### Features
- Reduced memory pressure when sampling less than 100% of traces/transactions ([#4212](https://github.com/getsentry/sentry-dotnet/pull/4212))
- Add SentrySdk.SetTag ([#4232](https://github.com/getsentry/sentry-dotnet/pull/4232))
### Fixes
- Fixed symbolication for net9.0-android applications in Release config ([#4221](https://github.com/getsentry/sentry-dotnet/pull/4221))
- Support Linux arm64 on Native AOT ([#3700](https://github.com/getsentry/sentry-dotnet/pull/3700))
- Revert W3C traceparent support ([#4204](https://github.com/getsentry/sentry-dotnet/pull/4204))
### Dependencies
- Bump CLI from v2.45.0 to v2.46.0 ([#4226](https://github.com/getsentry/sentry-dotnet/pull/4226))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2460)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.45.0...2.46.0)
## 5.8.1
### Fixes
- Support musl on Linux ([#4188](https://github.com/getsentry/sentry-dotnet/pull/4188))
- Support for Windows ARM64 with Native AOT ([#4187](https://github.com/getsentry/sentry-dotnet/pull/4187))
- Addressed potential performance issue with Sentry.Maui ([#4219](https://github.com/getsentry/sentry-dotnet/pull/4219))
- Respect `SentryNative=false` at runtime ([#4220](https://github.com/getsentry/sentry-dotnet/pull/4220))
## 5.8.0
### Features
- .NET MAUI integration with CommunityToolkit.Mvvm Async Relay Commands can now be auto spanned with the new package Sentry.Maui.CommunityToolkit.Mvvm ([#4125](https://github.com/getsentry/sentry-dotnet/pull/4125))
### Fixes
- Revert "Bump Cocoa SDK from v8.39.0 to v8.46.0 (#4103)" ([#4202](https://github.com/getsentry/sentry-dotnet/pull/4202))
- IMPORTANT: Fixes multiple issues running versions 5.6.x and 5.7.x of the Sentry SDK for .NET on iOS (initialising the SDK and sending data to Sentry)
### Dependencies
- Bump Native SDK from v0.8.4 to v0.8.5 ([#4189](https://github.com/getsentry/sentry-dotnet/pull/4189))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#085)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.4...0.8.5)
## 5.7.0
### Features
- New source generator allows Sentry to see true build variables like PublishAot and PublishTrimmed to properly adapt checks in the Sentry SDK ([#4101](https://github.com/getsentry/sentry-dotnet/pull/4101))
- Auto breadcrumbs now include all .NET MAUI gesture recognizer events ([#4124](https://github.com/getsentry/sentry-dotnet/pull/4124))
- Associate replays with errors and traces on Android ([#4133](https://github.com/getsentry/sentry-dotnet/pull/4133))
### Fixes
- Redact Authorization headers before sending events to Sentry ([#4164](https://github.com/getsentry/sentry-dotnet/pull/4164))
- Remove Strong Naming from Sentry.Hangfire ([#4099](https://github.com/getsentry/sentry-dotnet/pull/4099))
- Increase `RequestSize.Small` threshold from 1 kB to 4 kB to match other SDKs ([#4177](https://github.com/getsentry/sentry-dotnet/pull/4177))
### Dependencies
- Bump CLI from v2.43.1 to v2.45.0 ([#4169](https://github.com/getsentry/sentry-dotnet/pull/4169), [#4179](https://github.com/getsentry/sentry-dotnet/pull/4179))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2450)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.43.1...2.45.0)
## 5.7.0-beta.0
### Features
- When setting a transaction on the scope, the SDK will attempt to sync the transaction's trace context with the SDK on the native layer. Finishing a transaction will now also start a new trace ([#4153](https://github.com/getsentry/sentry-dotnet/pull/4153))
- Added `CaptureFeedback` overload with `configureScope` parameter ([#4073](https://github.com/getsentry/sentry-dotnet/pull/4073))
- Custom SessionReplay masks in MAUI Android apps ([#4121](https://github.com/getsentry/sentry-dotnet/pull/4121))
### Fixes
- Work around iOS SHA1 bug ([#4143](https://github.com/getsentry/sentry-dotnet/pull/4143))
- Prevent Auto Breadcrumbs Event Binder from leaking and rebinding events ([#4159](https://github.com/getsentry/sentry-dotnet/pull/4159))
- Fixes build error when building .NET Framework applications using Sentry 5.6.0: `MSB4185 :The function "IsWindows" on type "System.OperatingSystem" is not available` ([#4160](https://github.com/getsentry/sentry-dotnet/pull/4160))
- Added a `SentrySetCommitReleaseOptions` build property that can be specified separately from `SentryReleaseOptions` ([#4109](https://github.com/getsentry/sentry-dotnet/pull/4109))
### Dependencies
- Bump CLI from v2.43.0 to v2.43.1 ([#4151](https://github.com/getsentry/sentry-dotnet/pull/4151))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2431)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.43.0...2.43.1)
## 5.6.0
### Features
- Option to disable the SentryNative integration ([#4107](https://github.com/getsentry/sentry-dotnet/pull/4107), [#4134](https://github.com/getsentry/sentry-dotnet/pull/4134))
- To disable it, add this msbuild property: `false`
- Reintroduced experimental support for Session Replay on Android ([#4097](https://github.com/getsentry/sentry-dotnet/pull/4097))
- If an incoming HTTP request has the `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](https://www.w3.org/TR/trace-context/). ([#4084](https://github.com/getsentry/sentry-dotnet/pull/4084))
### Fixes
- Ensure user exception data is not removed by AspNetCoreExceptionProcessor ([#4016](https://github.com/getsentry/sentry-dotnet/pull/4106))
- Prevent users from disabling AndroidEnableAssemblyCompression which leads to untrappable crash ([#4089](https://github.com/getsentry/sentry-dotnet/pull/4089))
- Fixed MSVCRT build warning on Windows ([#4111](https://github.com/getsentry/sentry-dotnet/pull/4111))
### Dependencies
- Bump Cocoa SDK from v8.39.0 to v8.46.0 ([#4103](https://github.com/getsentry/sentry-dotnet/pull/4103))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8460)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.39.0...8.46.0)
- Bump Native SDK from v0.8.3 to v0.8.4 ([#4122](https://github.com/getsentry/sentry-dotnet/pull/4122))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#084)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.3...0.8.4)
## 5.5.1
### Fixes
- Fix UWP Net Native compilation ([#4085](https://github.com/getsentry/sentry-dotnet/pull/4085))
- Sentry Java SDK dependencies are now detected and included in the Android bindings ([#4079](https://github.com/getsentry/sentry-dotnet/pull/4079))
## 5.5.0
### Features
- 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 `sentry-native`. This allows Sentry to connect errors coming from all layers of your application ([#4026](https://github.com/getsentry/sentry-dotnet/pull/4026))
- Exception.HResult is now included in the mechanism data for all exceptions ([#4029](https://github.com/getsentry/sentry-dotnet/pull/4029))
### Dependencies
- Bump Native SDK from v0.8.2 to v0.8.3 [#4072](https://github.com/getsentry/sentry-dotnet/pull/4072))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#083)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.2...0.8.3)
### Fixes
- Fixed symbolication and source context for net9.0-android ([#4033](https://github.com/getsentry/sentry-dotnet/pull/4033))
- Single quotes added to the release name when using MS Build to create Sentry releases on Windows ([#4015](https://github.com/getsentry/sentry-dotnet/pull/4015))
- Target `net9.0` on Sentry.Google.Cloud.Functions to avoid conflict with Sentry.AspNetCore ([#4039](https://github.com/getsentry/sentry-dotnet/pull/4039))
- Changed default value for `SentryOptions.EnableAppHangTrackingV2` to `false` ([#4042](https://github.com/getsentry/sentry-dotnet/pull/4042))
- Missing MAUI `Shell` navigation breadcrumbs on iOS ([#4006](https://github.com/getsentry/sentry-dotnet/pull/4006))
- Prevent application crashes when capturing screenshots on iOS ([#4069](https://github.com/getsentry/sentry-dotnet/pull/4069))
### Dependencies
- Bump Native SDK from v0.8.1 to v0.8.2 ([#4050](https://github.com/getsentry/sentry-dotnet/pull/4050)
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#082)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.1...0.8.2)
- Bump CLI from v2.42.2 to v2.43.0 ([#4036](https://github.com/getsentry/sentry-dotnet/pull/4036), [#4049](https://github.com/getsentry/sentry-dotnet/pull/4049), [#4060](https://github.com/getsentry/sentry-dotnet/pull/4060), [#4062](https://github.com/getsentry/sentry-dotnet/pull/4062))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2430)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.42.2...2.43.0)
- Bump Java SDK from v7.20.1 to v8.6.0 ([#4075](https://github.com/getsentry/sentry-dotnet/pull/4075))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#860)
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...8.6.0)
## 5.4.0
### Enhancements
- Profiling: improve performance by subscribing only to necessary CLR events ([#3970](https://github.com/getsentry/sentry-dotnet/pull/3970))
### Fixes
- Unknown stack frames in profiles on .NET 8+ ([#3967](https://github.com/getsentry/sentry-dotnet/pull/3967))
## 5.3.0
### Features
- User Feedback can now be captured without errors/exceptions. Note that these APIs replace the older UserFeedback APIs, which have now been marked as obsolete (and will be removed in a future major version bump) ([#3981](https://github.com/getsentry/sentry-dotnet/pull/3981))
### Fixes
- Using SentryOptions.Native.SuppressExcBadAccess and SentryOptions.Native.SuppressSignalAborts, users can now block duplicate errors from native due to dotnet NullReferenceExceptions - Defaults to false ([#3998](https://github.com/getsentry/sentry-dotnet/pull/3998))
- Native iOS events are now exposed to the dotnet layer for users to hook through SentryOptions.BeforeSend and SentryOptions.OnCrashedLastRun ([#2102](https://github.com/getsentry/sentry-dotnet/pull/3958))
- Prevent crashes from occurring on Android during OnBeforeSend ([#4022](https://github.com/getsentry/sentry-dotnet/pull/4022))
### Dependencies
- Bump Native SDK from v0.8.0 to v0.8.1 ([#4014](https://github.com/getsentry/sentry-dotnet/pull/4014))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#081)
- [diff](https://github.com/getsentry/sentry-native/compare/0.8.0...0.8.1)
## 5.2.0
### Features
- Users can now register their own MAUI controls for breadcrumb creation ([#3997](https://github.com/getsentry/sentry-dotnet/pull/3997))
- Serilog scope properties are now sent with Sentry events ([#3976](https://github.com/getsentry/sentry-dotnet/pull/3976))
- The sample seed used for sampling decisions is now propagated, for use in downstream custom trace samplers ([#3951](https://github.com/getsentry/sentry-dotnet/pull/3951))
- Add Azure Function UseSentry overloads for easier wire ups ([#3971](https://github.com/getsentry/sentry-dotnet/pull/3971))
### Fixes
- Fix mismapped breadcrumb levels coming in from native to dotnet SDK ([#3993](https://github.com/getsentry/sentry-dotnet/pull/3993))
- Deduplicate profiling stack frames ([#3969](https://github.com/getsentry/sentry-dotnet/pull/3969))
### Dependencies
- Bump CLI from v2.41.1 to v2.42.2 ([#3979](https://github.com/getsentry/sentry-dotnet/pull/3979), [#4002](https://github.com/getsentry/sentry-dotnet/pull/4002))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2422)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.41.1...2.42.2)
- Bump Native SDK from v0.7.20 to v0.8.0 ([#4003](https://github.com/getsentry/sentry-dotnet/pull/4003))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#080)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.20...0.8.0)
## 5.1.1
### Fixes
- Emit transaction.data inside contexts.trace.data ([#3936](https://github.com/getsentry/sentry-dotnet/pull/3936))
- Native SIGSEGV errors resulting from managed NullReferenceExceptions are now suppressed on Android ([#3903](https://github.com/getsentry/sentry-dotnet/pull/3903))
- OTel activities that are marked as not recorded are no longer sent to Sentry ([#3890](https://github.com/getsentry/sentry-dotnet/pull/3890))
- Fixed envelopes with oversized attachments getting stuck in \_\_processing ([#3938](https://github.com/getsentry/sentry-dotnet/pull/3938))
- OperatingSystem will now return macOS as OS name instead of 'Darwin' as well as the proper version. ([#2710](https://github.com/getsentry/sentry-dotnet/pull/3956))
- Ignore null value on CocoaScopeObserver.SetTag ([#3948](https://github.com/getsentry/sentry-dotnet/pull/3948))
## 5.1.0
### Significant change in behavior
- The User.IpAddress is now only set to `{{auto}}` when `SendDefaultPii` is enabled. This change gives you control over IP address collection directly on the client ([#3893](https://github.com/getsentry/sentry-dotnet/pull/3893))
### Features
- .NET on iOS: Add experimental EnableAppHangTrackingV2 configuration flag to the options binding SDK ([#3877](https://github.com/getsentry/sentry-dotnet/pull/3877))
- Added `SentryOptions.DisableSentryHttpMessageHandler`. Useful if you're using `OpenTelemetry.Instrumentation.Http` and ending up with duplicate spans. ([#3879](https://github.com/getsentry/sentry-dotnet/pull/3879))
### Dependencies
- Bump Native SDK from v0.7.17 to v0.7.18 ([#3891](https://github.com/getsentry/sentry-dotnet/pull/3891))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0718)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.17...0.7.18)
### Fixes
- Prevent Native EXC_BAD_ACCESS signal errors from being captured when managed NullRefrenceExceptions occur ([#3909](https://github.com/getsentry/sentry-dotnet/pull/3909))
- Fixed duplicate SentryMauiEventProcessors ([#3905](https://github.com/getsentry/sentry-dotnet/pull/3905))
- Fixed invalid string.Format index in Debug logs for the DiagnosticSource integration ([#3923](https://github.com/getsentry/sentry-dotnet/pull/3923))
### Dependencies
- Bump Native SDK from v0.7.17 to v0.7.20 ([#3891](https://github.com/getsentry/sentry-dotnet/pull/3891), [#3908](https://github.com/getsentry/sentry-dotnet/pull/3908), [#3929](https://github.com/getsentry/sentry-dotnet/pull/3929))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0720)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.17...0.7.20)
- Bump Java SDK from v7.20.0 to v7.20.1 ([#3907](https://github.com/getsentry/sentry-dotnet/pull/3907))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7201)
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.0...7.20.1)
- Bump CLI from v2.40.0 to v2.41.1 ([#3910](https://github.com/getsentry/sentry-dotnet/pull/3910))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2411)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.40.0...2.41.1)
## 5.0.1
### Fixes
- .NET Mobile: Disable and made obsolete the iOS Watchdog termination feature which is based on heuristics that don't work in .NET ([#3867](https://github.com/getsentry/sentry-dotnet/pull/3867))
- .NET on Android: NullReferenceException handled by Mono cause the app to crash (PR #3694) ([#3871](https://github.com/getsentry/sentry-dotnet/pull/3871))
### Dependencies
- Bump Native SDK from v0.7.16 to v0.7.17 ([#3857](https://github.com/getsentry/sentry-dotnet/pull/3857))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0717)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.16...0.7.17)
- Bump Java SDK from v7.19.0 to v7.20.0 ([#3866](https://github.com/getsentry/sentry-dotnet/pull/3866))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7200)
- [diff](https://github.com/getsentry/sentry-java/compare/7.19.0...7.20.0)
- Bump CLI from v2.39.1 to v2.40.0 ([#3869](https://github.com/getsentry/sentry-dotnet/pull/3869))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2400)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.39.1...2.40.0)
## 5.0.0
### API Changes
- Removed net6.0 and net7.0 TFMs as Microsoft has stopped supporting both of these now. If you need to target net6.0 or net7.0 then we recommend using version 4.x of the .NET SDK for Sentry. ([#3807](https://github.com/getsentry/sentry-dotnet/pull/3807))
- Sentry's Experimental Metrics feature has been deprecated and removed from the SDK. ([#3718](https://github.com/getsentry/sentry-dotnet/pull/3718))
- `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](https://github.com/getsentry/sentry-dotnet/pull/3569))
- Temporarily removed experimental Session Replay support ([#3827](https://github.com/getsentry/sentry-dotnet/pull/3827))
- You should no longer pass `AndroidContext` as an argument to `SentrySdk.Init` ([#3562](https://github.com/getsentry/sentry-dotnet/pull/3562))
- The `SentryUser.Segment` property has been deprecated. Consider sending this as a tag or additional data instead ([#3563](https://github.com/getsentry/sentry-dotnet/pull/3563))
- The ITraceContext now includes an [Origin](https://develop.sentry.dev/sdk/telemetry/traces/trace-origin/), which is set automatically and is primarily used internally by the Sentry server ([#3564](https://github.com/getsentry/sentry-dotnet/pull/3564))
- `Device.BatteryLevel` and `Device.ProcessorFrequency` are now stored as floats rather than ints, to align with the Cocoa and Java SDKs ([#3567](https://github.com/getsentry/sentry-dotnet/pull/3567))
- The `FailedRequestTargets`, `TagFilters` and `TracePropagationTargets` options have all been changed from `SubstringOrRegexPattern` to `IList` ([#3566](https://github.com/getsentry/sentry-dotnet/pull/3566))
- `Scope.Transaction` is now always stored as an `AsyncLocal` also in [Global Mode](https://docs.sentry.io/platforms/dotnet/configuration/options/#is-global-mode-enabled), to prevent auto-instrumented spans from the UI ending up parented to transactions from a background task (or vice versa). ([#3596](https://github.com/getsentry/sentry-dotnet/pull/3596))
### Features
- Added support for `.NET 9` ([#3699](https://github.com/getsentry/sentry-dotnet/pull/3699))
- Heap dumps can be captured automatically when memory usage exceeds a configurable threshold. Note that this API is still experimental and may change based on user feedback. ([#3667](https://github.com/getsentry/sentry-dotnet/pull/3667))
- libsentrysupplemental.so now supports 16 KB page sizes on Android ([#3723](https://github.com/getsentry/sentry-dotnet/pull/3723))
- Added `SentryOptions` extension for profiling: `options.AddProfilingIntegration()` ([#3660](https://github.com/getsentry/sentry-dotnet/pull/3660))
### Fixes
- Address Trim warnings to enable AOT support, including support for MAUI specifically. ([#3841](https://github.com/getsentry/sentry-dotnet/pull/3841))
- Fixed JNI Error when accessing Android device data from multiple threads ([#3802](https://github.com/getsentry/sentry-dotnet/pull/3802))
- Android - fix bug that prevents logcat.log from getting attached to unhandled events (SIGSEGV Segfault) ([#3694](https://github.com/getsentry/sentry-dotnet/pull/3694))
- Fixed ArgumentNullException in FormRequestPayloadExtractor when handling invalid form data on ASP.NET ([#3734](https://github.com/getsentry/sentry-dotnet/pull/3734))
- Fixed NullReferenceException in SentryTraceHeader when parsing null or empty values ([#3757](https://github.com/getsentry/sentry-dotnet/pull/3757))
- Fix "System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'idData')" error propagating OpenTelemetry span ids ([#3850](https://github.com/getsentry/sentry-dotnet/pull/3850))
- ArgumentNullException in FormRequestPayloadExtractor when handling invalid form data on ASP.NET ([#3734](https://github.com/getsentry/sentry-dotnet/pull/3734))
- Fixed crash when using NLog with FailedRequestStatusCodes options in a Maui app with Trimming enabled ([#3743](https://github.com/getsentry/sentry-dotnet/pull/3743))
### Dependencies
- Bump CLI from v2.38.2 to v2.39.1 ([#3782](https://github.com/getsentry/sentry-dotnet/pull/3782)) ([#3799](https://github.com/getsentry/sentry-dotnet/pull/3799))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2391)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.38.2...2.39.1)
- Bump Java SDK from v7.16.0 to v7.19.0 ([#3749](https://github.com/getsentry/sentry-dotnet/pull/3749), [#3771](https://github.com/getsentry/sentry-dotnet/pull/3771)) ([#3805](https://github.com/getsentry/sentry-dotnet/pull/3805), [#3844](https://github.com/getsentry/sentry-dotnet/pull/3844))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7190)
- [diff](https://github.com/getsentry/sentry-java/compare/7.16.0...7.19.0)
- Bump Cocoa SDK from v8.36.0 to v8.39.0 ([#3727](https://github.com/getsentry/sentry-dotnet/pull/3727))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8390)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.36.0...8.39.0)
- Bump Native SDK from v0.7.11 to v0.7.16 ([#3731](https://github.com/getsentry/sentry-dotnet/pull/3731), [#3770](https://github.com/getsentry/sentry-dotnet/pull/3770), [#3775](https://github.com/getsentry/sentry-dotnet/pull/3775), [#3779](https://github.com/getsentry/sentry-dotnet/pull/3779)) ([#3825](https://github.com/getsentry/sentry-dotnet/pull/3825))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0716)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.11...0.7.16)
## 4.13.0
### Features
- Limited experimental support for Session Replay Recording on Android ([#3552](https://github.com/getsentry/sentry-dotnet/pull/3552))
### Fixes
- When using OTel and ASP.NET Core the SDK could try to process OTel spans after the SDK had been closed ([#3726](https://github.com/getsentry/sentry-dotnet/pull/3726))
### Dependencies
- Bump CLI from v2.38.1 to v2.38.2 ([#3728](https://github.com/getsentry/sentry-dotnet/pull/3728))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2382)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.38.1...2.38.2)
## 4.12.2
### Fixes
- Events from NDK on Android will report sdk.name `sentry.native.android.dotnet` ([#3682](https://github.com/getsentry/sentry-dotnet/pull/3682))
### Features
- Android - allow logcat attachments to be previewed in Sentry ([#3711](https://github.com/getsentry/sentry-dotnet/pull/3711))
- Added a `SetBeforeScreenshotCapture` callback to the options: allowing the user to set an action before the screenshot is taken ([#3661](https://github.com/getsentry/sentry-dotnet/pull/3661))
- Make `Sentry.AspNetCore.Blazor.WebAssembly` generally available. ([#3674](https://github.com/getsentry/sentry-dotnet/pull/3674))
### Dependencies
- Bump Java SDK from v7.14.0 to v7.16.0 ([#3670](https://github.com/getsentry/sentry-dotnet/pull/3670), [#3707](https://github.com/getsentry/sentry-dotnet/pull/3707))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7160)
- [diff](https://github.com/getsentry/sentry-java/compare/7.14.0...7.16.0)
- Bump CLI from v2.37.0 to v2.38.1 ([#3702](https://github.com/getsentry/sentry-dotnet/pull/3702), [#3720](https://github.com/getsentry/sentry-dotnet/pull/3720))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2381)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.37.0...2.38.1)
- Bumped `System.Text.Json` from v6.0.8 to v6.0.10 ([#3704](https://github.com/getsentry/sentry-dotnet/pull/3704))
- Bump Native SDK from v0.7.10 to v0.7.11 ([#3715](https://github.com/getsentry/sentry-dotnet/pull/3715))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0711)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.10...0.7.11)
## 4.12.1
### Fixes
- Fixed "Failed to persist session" error on iOS ([#3655](https://github.com/getsentry/sentry-dotnet/pull/3655))
### Dependencies
- Bump CLI from v2.36.5 to v2.37.0 ([#3647](https://github.com/getsentry/sentry-dotnet/pull/3647), [#3664](https://github.com/getsentry/sentry-dotnet/pull/3664))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2370)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.36.5...2.37.0)
## 4.12.0
### Support for Xcode 16.0 (BREAKING CHANGE)
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](https://github.com/xamarin/xamarin-macios/releases/tag/dotnet-8.0.1xx-xcode16.0-8303). We [built the SDK version 4.12.0 using Xcode 16](https://github.com/getsentry/sentry-dotnet/pull/3635/files) 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).
### API Changes
- 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.
Learn more: https://sentry.zendesk.com/hc/en-us/articles/26369339769883-Upcoming-API-Changes-to-Metrics ([#3619](https://github.com/getsentry/sentry-dotnet/pull/3619))
### Fixes
- Fixed duplicate key exception for Hangfire jobs with AutomaticRetry ([#3631](https://github.com/getsentry/sentry-dotnet/pull/3631))
### Features
- Added a flag to options `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](https://github.com/getsentry/sentry-dotnet/pull/3614), [#3641](https://github.com/getsentry/sentry-dotnet/pull/3641))
### Dependencies
- Bump Native SDK from v0.7.9 to v0.7.10 ([#3623](https://github.com/getsentry/sentry-dotnet/pull/3623))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0710)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.9...0.7.10)
- Bump CLI from v2.36.1 to v2.36.5 ([#3624](https://github.com/getsentry/sentry-dotnet/pull/3624), [#3634](https://github.com/getsentry/sentry-dotnet/pull/3634), [#3642](https://github.com/getsentry/sentry-dotnet/pull/3642), [#3644](https://github.com/getsentry/sentry-dotnet/pull/3644))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2365)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.36.1...2.36.5)
- Update Perfview/TraceEvent to e343a0c ([#3492](https://github.com/getsentry/sentry-dotnet/pull/3492))
## 4.11.0
### Features
- All exceptions are now added as breadcrumbs on future events. Previously this was only the case for exceptions captured via the `Sentry.SeriLog` or `Sentry.Extensions.Logging` integrations. ([#3584](https://github.com/getsentry/sentry-dotnet/pull/3584))
### Fixes
- On mobile devices, the SDK no longer throws a `FormatException` for `ProcessorFrequency` when trying to report native events ([#3541](https://github.com/getsentry/sentry-dotnet/pull/3541))
- Add missing org parameter to the CLI release operations ([#3600](https://github.com/getsentry/sentry-dotnet/pull/3600))
### API Changes
- When the Sentry SDK is disabled, `SentrySdk.StartTransaction()` now returns a `NoOpTransaction`, which avoids unnecessary memory allocations ([#3581](https://github.com/getsentry/sentry-dotnet/pull/3581))
### Dependencies
- Bump Cocoa SDK from v8.35.0 to v8.36.0 ([#3570](https://github.com/getsentry/sentry-dotnet/pull/3570), [#3575](https://github.com/getsentry/sentry-dotnet/pull/3575))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8360)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.35.0...8.36.0)
- Bump CLI from v2.33.1 to v2.36.1 ([#3578](https://github.com/getsentry/sentry-dotnet/pull/3578), [#3599](https://github.com/getsentry/sentry-dotnet/pull/3599), [#3603](https://github.com/getsentry/sentry-dotnet/pull/3603), [#3606](https://github.com/getsentry/sentry-dotnet/pull/3606))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2361)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.33.1...2.36.1)
- Bump Native SDK from v0.7.8 to v0.7.9 ([#3577](https://github.com/getsentry/sentry-dotnet/pull/3577))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#079)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.8...0.7.9)
## 4.10.2
### Various fixes & improvements
- fix: Prevent deadlock in `Hub.Dispose` (#3539) by @bitsandfoxes
- build(deps): bump github/codeql-action from 3.26.0 to 3.26.2 (#3543) by @dependabot
### Dependencies
- Bump Cocoa SDK from v8.34.0 to v8.35.0 ([#3548](https://github.com/getsentry/sentry-dotnet/pull/3548))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8350)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.34.0...8.35.0)
## Fixes
- Resolved a potential deadlock during SDK shutdown ([#3539](https://github.com/getsentry/sentry-dotnet/pull/3539))
## 4.10.1
### Fixes
- Unfinished spans are now correctly stored and retrieved by the CachingTransport ([#3533](https://github.com/getsentry/sentry-dotnet/pull/3533))
### Dependencies
- Bump Cocoa SDK from v8.33.0 to v8.34.0 ([#3535](https://github.com/getsentry/sentry-dotnet/pull/3535))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8340)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.33.0...8.34.0)
## 4.10.0
### Features
- Users can now automatically create releases and associated commits via sentry-cli and MSBuild properties ([#3462](https://github.com/getsentry/sentry-dotnet/pull/3462))
- `Sentry.AspNetCore.Blazor.WebAssembly` now targets .NET 8 specifically, allowing for proper dependency resolution ([#3501](https://github.com/getsentry/sentry-dotnet/pull/3501))
### Fixes
- When targeting `WPF`, `WinForms` or `Avalonia` with `PublishAot` enabled, the SDK no longers throws a `DllNotFoundException` trying to initialize `sentry-native` ([#3411](https://github.com/getsentry/sentry-dotnet/pull/3411))
Unable to load DLL sentry-native or one of its dependencies
- On mobile devices, the SDK no longer throws a `FormatException` when trying to report native events ([#3485](https://github.com/getsentry/sentry-dotnet/pull/3485))
- Race condition in `SentryMessageHandler` ([#3477](https://github.com/getsentry/sentry-dotnet/pull/3477))
- Decrease runtime diagnostics circular buffer when profiling, reducing memory usage ([#3491](https://github.com/getsentry/sentry-dotnet/pull/3491))
- The InstallationId is now resolved only once per application execution and any issues are logged as warnings instead of errors ([#3529](https://github.com/getsentry/sentry-dotnet/pull/3529))
- DisplayInfo now captured correctly on iOS and Mac Catalyst on non-UI threads ([#3521](https://github.com/getsentry/sentry-dotnet/pull/3521))
### Dependencies
- Bump CLI from v2.32.1 to v2.33.1 ([#3489](https://github.com/getsentry/sentry-dotnet/pull/3489), [#3497](https://github.com/getsentry/sentry-dotnet/pull/3497), [#3520](https://github.com/getsentry/sentry-dotnet/pull/3520))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2331)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.32.1...2.33.1)
- Bump Java SDK from v7.11.0 to v7.14.0 ([#3503](https://github.com/getsentry/sentry-dotnet/pull/3503), [#3532](https://github.com/getsentry/sentry-dotnet/pull/3532))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7140)
- [diff](https://github.com/getsentry/sentry-java/compare/7.11.0...7.14.0)
- Bump Cocoa SDK from v8.30.0 to v8.32.0 ([#3499](https://github.com/getsentry/sentry-dotnet/pull/3499))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8320)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.30.0...8.32.0)
- Bump Native SDK from v0.7.6 to v0.7.8 ([#3502](https://github.com/getsentry/sentry-dotnet/pull/3502), [#3527](https://github.com/getsentry/sentry-dotnet/pull/3527))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#078)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.6...0.7.8)
- Bump Cocoa SDK from v8.30.0 to v8.33.0 ([#3499](https://github.com/getsentry/sentry-dotnet/pull/3499), [#3528](https://github.com/getsentry/sentry-dotnet/pull/3528))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8330)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.30.0...8.33.0)
- Bump Native SDK from v0.7.6 to v0.7.7 ([#3502](https://github.com/getsentry/sentry-dotnet/pull/3502))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#077)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.6...0.7.7)
- Bump Java SDK from v7.11.0 to v7.13.0 ([#3515](https://github.com/getsentry/sentry-dotnet/pull/3515))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7130)
- [diff](https://github.com/getsentry/sentry-java/compare/7.11.0...7.13.0)
## 4.9.0
### Fixes
- Fixed envelopes getting stuck in processing when losing network connectivity ([#3438](https://github.com/getsentry/sentry-dotnet/pull/3438))
### Features
- Client reports now include dropped spans ([#3463](https://github.com/getsentry/sentry-dotnet/pull/3463))
### API Changes
- Removed SentrySdk.RunAsyncVoid ([#3466](https://github.com/getsentry/sentry-dotnet/pull/3466))
## 4.8.1
### Fixes
- The SDK no longer fails to create a trace root ([#3453](https://github.com/getsentry/sentry-dotnet/pull/3453))
- Removed `FirstChanceException` workaround for WinUI ([#3411](https://github.com/getsentry/sentry-dotnet/pull/3411))
### Dependencies
- Bump Java SDK from v7.10.0 to v7.11.0 ([#3459](https://github.com/getsentry/sentry-dotnet/pull/3459))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7110)
- [diff](https://github.com/getsentry/sentry-java/compare/7.10.0...7.11.0)
## 4.8.0
### Obsoletion
- Marked SentryUser.Segment as deprecated ([#3437](https://github.com/getsentry/sentry-dotnet/pull/3437))
### Features
- Added a new package `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](https://github.com/getsentry/sentry-dotnet/issues/2329)) for extending the support for Blazor Server or ([here](https://github.com/getsentry/sentry-dotnet/issues/2021)) for Blazor WebAssembly support ([#3386](https://github.com/getsentry/sentry-dotnet/pull/3386))
### Fixes
- Debug logs are now visible for MAUI apps in Visual Studio when using Sentry's default DiagnosticLogger ([#3373](https://github.com/getsentry/sentry-dotnet/pull/3373))
- Fixed Monitor duration calculation ([#3420]https://github.com/getsentry/sentry-dotnet/pull/3420)
- Fixed null IServiceProvider in anonymous routes with OpenTelemetry ([#3401](https://github.com/getsentry/sentry-dotnet/pull/3401))
- Fixed Trim warnings in Sentry.DiagnosticSource and WinUIUnhandledException integrations ([#3410](https://github.com/getsentry/sentry-dotnet/pull/3410))
- Fixed memory leak when tracing is enabled ([#3432](https://github.com/getsentry/sentry-dotnet/pull/3432))
- `Scope.User.Id` now correctly defaults to the InstallationId unless it has been set otherwise ([#3425](https://github.com/getsentry/sentry-dotnet/pull/3425))
### Dependencies
- Bump CLI from v2.31.2 to v2.32.1 ([#3398](https://github.com/getsentry/sentry-dotnet/pull/3398))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2321)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.31.2...2.32.1)
- Bump Native SDK from v0.7.4 to v0.7.6 ([#3399](https://github.com/getsentry/sentry-dotnet/pull/3399), [#3418](https://github.com/getsentry/sentry-dotnet/pull/3418))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#076)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.4...0.7.6)
- Bump Cocoa SDK from v8.26.0 to v8.30.0 ([#3408](https://github.com/getsentry/sentry-dotnet/pull/3408), [#3412](https://github.com/getsentry/sentry-dotnet/pull/3412), [#3430](https://github.com/getsentry/sentry-dotnet/pull/3430), [#3450](https://github.com/getsentry/sentry-dotnet/pull/3450))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8300)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.26.0...8.30.0)
- Bump Java SDK from v7.9.0 to v7.10.0 ([#3413](https://github.com/getsentry/sentry-dotnet/pull/3413))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7100)
- [diff](https://github.com/getsentry/sentry-java/compare/7.9.0...7.10.0)
## 4.7.0
### API Changes
- SentryOptions.EnableTracing has been marked as Obsolete ([#3381](https://github.com/getsentry/sentry-dotnet/pull/3381))
### Features
- The SDK now supports monitor upserting. You can programmatically set up your monitors via the options callback in `SentrySdk.CaptureCheckIn` ([#3330](https://github.com/getsentry/sentry-dotnet/pull/3330))
- Added an `SentrySdk.RunAsyncVoid` helper method that lets you capture exceptions from `async void` methods ([#3379](https://github.com/getsentry/sentry-dotnet/pull/3379))
### Fixes
- P/Invoke warning for GetWindowThreadProcessId no longer shows when using Sentry in UWP applications ([#3372](https://github.com/getsentry/sentry-dotnet/pull/3372))
- Fixed InvalidOperationException when pulling the HttpRequestUrl from Uri's with DangerousDisablePathAndQueryCanonicalization set to true ([#3393](https://github.com/getsentry/sentry-dotnet/pull/3393))
### Dependencies
- Update Perfview/TraceEvent to v3.1.10 (patched) ([#3382](https://github.com/getsentry/sentry-dotnet/pull/3382))
- Bump Native SDK from v0.7.2 to v0.7.4 ([#3385](https://github.com/getsentry/sentry-dotnet/pull/3385))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#074)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.2...0.7.4)
- Bump Cocoa SDK from v8.25.2 to v8.26.0 ([#3364](https://github.com/getsentry/sentry-dotnet/pull/3364))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8260)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.25.2...8.26.0)
## 4.6.2
### Fixes
- Reverted changes to the SentryHttpMessageHandler and SentryGraphQLHttpMessageHandler to automatically create transactions for each request as this could negatively affect users' quota ([#3367](https://github.com/getsentry/sentry-dotnet/pull/3367))
## 4.6.1
### Fixes
- Fixed SentryHttpMessageHandler and SentryGraphQLHttpMessageHandler not creating spans when there is no active Transaction on the scope ([#3360](https://github.com/getsentry/sentry-dotnet/pull/3360))
- The SDK no longer (wrongly) initializes sentry-native on Blazor WASM builds with `RunAOTCompilation` enabled. ([#3363](https://github.com/getsentry/sentry-dotnet/pull/3363))
- HttpClient requests now show on the Requests dashboard in Sentry ([#3357](https://github.com/getsentry/sentry-dotnet/pull/3357))
### Dependencies
- Bump Hangfire from v1.8.7 to v1.8.12 ([#3361](https://github.com/getsentry/sentry-dotnet/pull/3361))
## 4.6.0
### Features
- Hints now accept `byte[]` as attachment ([#3352](https://github.com/getsentry/sentry-dotnet/pull/3352))
- InApp includes/excludes can now be configured using regular expressions ([#3321](https://github.com/getsentry/sentry-dotnet/pull/3321))
### Fixes
- Fixed memory leak in BackgroundWorker observed when using Sentry with Quartz and MySql ([#3355](https://github.com/getsentry/sentry-dotnet/pull/3355))
### Dependencies
- Bump CLI from v2.31.0 to v2.31.2 ([#3342](https://github.com/getsentry/sentry-dotnet/pull/3342), [#3345](https://github.com/getsentry/sentry-dotnet/pull/3345))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2312)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.31.0...2.31.2)
- Bump Cocoa SDK from v8.25.0 to v8.25.2 ([#3356](https://github.com/getsentry/sentry-dotnet/pull/3356))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8252)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.25.0...8.25.2)
- Bump Java SDK from v7.8.0 to v7.9.0 ([#3358](https://github.com/getsentry/sentry-dotnet/pull/3358))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#790)
- [diff](https://github.com/getsentry/sentry-java/compare/7.8.0...7.9.0)
## 4.5.0
### Features
- Extended the SDK's CheckIn support by adding Release, Environment and Trace ID to the event. CheckIns created via the Hangfire integration now also automatically report their duration ([#3320](https://github.com/getsentry/sentry-dotnet/pull/3320))
- The SDK's performance API now works in conjunction with OpenTelemetry's instrumentation. This means that SentrySpans and OTel spans now show up in the same span-tree. ([#3288](https://github.com/getsentry/sentry-dotnet/pull/3288))
### Fixes
- `HttpResponse.Content` is no longer disposed by when using `SentryHttpFailedRequestHandler` on .NET Framework, which was causing an ObjectDisposedException when using Sentry with NSwag ([#3306](https://github.com/getsentry/sentry-dotnet/pull/3306))
- Fix BackgroundWorker exiting when OperationCanceledException is not from shutdown request ([3284](https://github.com/getsentry/sentry-dotnet/pull/3284))
- Envelopes with large attachments no longer get stuck in the queue when using `CacheDirectoryPath` ([#3328](https://github.com/getsentry/sentry-dotnet/pull/3328))
### Dependencies
- Bump Cocoa SDK from v8.21.0 to v8.25.0 ([#3339](https://github.com/getsentry/sentry-dotnet/pull/3339))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8250)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.21.0...8.25.0)
## 4.4.0
### Features
- Metrics now honor any Rate Limits set in HTTP headers returned by Sentry ([#3276](https://github.com/getsentry/sentry-dotnet/pull/3276))
### Fixes
- Fixed normalization for metric tag values for carriage return, line feed and tab characters ([#3281](https://github.com/getsentry/sentry-dotnet/pull/3281))
### Dependencies
- Bump Java SDK from v7.7.0 to v7.8.0 ([#3275](https://github.com/getsentry/sentry-dotnet/pull/3275))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#780)
- [diff](https://github.com/getsentry/sentry-java/compare/7.7.0...7.8.0)
## 4.3.0
### Features
- EnableNetworkEventBreadcrumbs can now be set on the Native Android options ([#3267](https://github.com/getsentry/sentry-dotnet/pull/3267))
- Update normalization of metrics keys, tags and values ([#3271](https://github.com/getsentry/sentry-dotnet/pull/3271))
### Fixes
- Fix missing exception StackTraces in some situations ([#3215](https://github.com/getsentry/sentry-dotnet/pull/3215))
- Scopes now get applied to OTEL spans in ASP.NET Core ([#3221](https://github.com/getsentry/sentry-dotnet/pull/3221))
- Fixed InvalidCastException when setting the SampleRate on Android ([#3258](https://github.com/getsentry/sentry-dotnet/pull/3258))
- Fixed MAUI iOS build issue related to `SentryVersionNumber` and `SentryVersionString` ([#3278](https://github.com/getsentry/sentry-dotnet/pull/3278))
### API changes
- Removed `SentryOptionsExtensions` class - all the public methods moved directly to `SentryOptions` ([#3195](https://github.com/getsentry/sentry-dotnet/pull/3195))
### Dependencies
- Bump CLI from v2.30.0 to v2.31.0 ([#3214](https://github.com/getsentry/sentry-dotnet/pull/3214), [#3218](https://github.com/getsentry/sentry-dotnet/pull/3218), [#3242](https://github.com/getsentry/sentry-dotnet/pull/3242), [#3247](https://github.com/getsentry/sentry-dotnet/pull/3247))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2310)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.30.0...2.31.0)
- Bump Native SDK from v0.7.0 to v0.7.2 ([#3237](https://github.com/getsentry/sentry-dotnet/pull/3237), [#3256](https://github.com/getsentry/sentry-dotnet/pull/3256))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#072)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.0...0.7.2)
- Bump Java SDK from v7.6.0 to v7.7.0 ([#3268](https://github.com/getsentry/sentry-dotnet/pull/3268))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#770)
- [diff](https://github.com/getsentry/sentry-java/compare/7.6.0...7.7.0)
## 4.2.1
### Fixes
- Dynamic Sampling Context not propagated correctly for HttpClient spans ([#3208](https://github.com/getsentry/sentry-dotnet/pull/3208))
## 4.2.0
### Features
- ASP.NET Core: Blocking call detection. An event with the stack trace of the blocking call will be captured as event. ([#2709](https://github.com/getsentry/sentry-dotnet/pull/2709))
- IMPORTANT: Verify this in test/staging before prod! Blocking calls in hot paths could create a lot of events for your Sentry project.
- Opt-in via `options.CaptureBlockingCalls = true`
- Disabled for specific code blocks with `using (new SuppressBlockingDetection())`
- Doesn't detect everything. See original [Caveats described by Ben Adams](https://github.com/benaadams/Ben.BlockingDetector?tab=readme-ov-file#caveats).
- Added Crons support via `SentrySdk.CaptureCheckIn` and an integration with Hangfire ([#3128](https://github.com/getsentry/sentry-dotnet/pull/3128))
- Common tags set automatically for metrics and metrics summaries are attached to Spans ([#3191](https://github.com/getsentry/sentry-dotnet/pull/3191))
### API changes
- Removed `ScopeExtensions` class - all the public methods moved directly to `Scope` ([#3186](https://github.com/getsentry/sentry-dotnet/pull/3186))
### Fixes
- The Sentry Middleware on ASP.NET Core no longer throws an exception after having been initialized multiple times ([#3185](https://github.com/getsentry/sentry-dotnet/pull/3185))
- Empty strings are used instead of underscores to replace invalid metric tag values ([#3176](https://github.com/getsentry/sentry-dotnet/pull/3176))
- Filtered OpenTelemetry spans are garbage collected correctly ([#3198](https://github.com/getsentry/sentry-dotnet/pull/3198))
### Dependencies
- Bump Java SDK from v7.3.0 to v7.6.0 ([#3164](https://github.com/getsentry/sentry-dotnet/pull/3164), [#3204](https://github.com/getsentry/sentry-dotnet/pull/3204))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#760)
- [diff](https://github.com/getsentry/sentry-java/compare/7.3.0...7.6.0)
- Bump Cocoa SDK from v8.20.0 to v8.21.0 ([#3194](https://github.com/getsentry/sentry-dotnet/pull/3194))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8210)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.20.0...8.21.0)
- Bump CLI from v2.28.6 to v2.30.0 ([#3193](https://github.com/getsentry/sentry-dotnet/pull/3193), [#3203](https://github.com/getsentry/sentry-dotnet/pull/3203))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2300)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.28.6...2.30.0)
## 4.1.2
### Fixes
- Metric unit names are now sanitized correctly. This was preventing some built in metrics from showing in the Sentry dashboard ([#3151](https://github.com/getsentry/sentry-dotnet/pull/3151))
- The Sentry OpenTelemetry integration no longer throws an exception with the SDK disabled ([#3156](https://github.com/getsentry/sentry-dotnet/pull/3156))
## 4.1.1
### Fixes
- The SDK can be disabled by setting `options.Dsn = "";` By convention, the SDK allows the DSN set to `string.Empty` to be overwritten by the environment. ([#3147](https://github.com/getsentry/sentry-dotnet/pull/3147))
### Dependencies
- Bump CLI from v2.28.0 to v2.28.6 ([#3145](https://github.com/getsentry/sentry-dotnet/pull/3145), [#3148](https://github.com/getsentry/sentry-dotnet/pull/3148))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2286)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.28.0...2.28.6)
## 4.1.0
### Features
- The SDK now automatically collects metrics coming from `OpenTelemetry.Instrumentation.Runtime` ([#3133](https://github.com/getsentry/sentry-dotnet/pull/3133))
### Fixes
- "No service for type 'Sentry.IHub' has been registered" exception when using OpenTelemetry and initializing Sentry via `SentrySdk.Init` ([#3129](https://github.com/getsentry/sentry-dotnet/pull/3129))
## 4.0.3
### Fixes
- To resolve conflicting types due to the SDK adding itself to the global usings:
- The class `Sentry.Constants` has been renamed to `Sentry.SentryConstants` ([#3125](https://github.com/getsentry/sentry-dotnet/pull/3125))
## 4.0.2
### Fixes
- To resolve conflicting types due to the SDK adding itself to the global usings:
- The class `Sentry.Context` has been renamed to `Sentry.SentryContext` ([#3121](https://github.com/getsentry/sentry-dotnet/pull/3121))
- The class `Sentry.Package` has been renamed to `Sentry.SentryPackage` ([#3121](https://github.com/getsentry/sentry-dotnet/pull/3121))
- The class `Sentry.Request` has been renamed to `Sentry.SentryRequest` ([#3121](https://github.com/getsentry/sentry-dotnet/pull/3121))
### Dependencies
- Bump CLI from v2.27.0 to v2.28.0 ([#3119](https://github.com/getsentry/sentry-dotnet/pull/3119))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2280)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.27.0...2.28.0)
## 4.0.1
### Fixes
- To resolve conflicting types due to the SDK adding itself to the global usings:
- The interface `Sentry.ISession` has been renamed to `Sentry.ISentrySession` ([#3110](https://github.com/getsentry/sentry-dotnet/pull/3110))
- The interface `Sentry.IJsonSerializable` has been renamed to `Sentry.ISentryJsonSerializable` ([#3116](https://github.com/getsentry/sentry-dotnet/pull/3116))
- The class `Sentry.Session` has been renamed to `Sentry.SentrySession` ([#3110](https://github.com/getsentry/sentry-dotnet/pull/3110))
- The class `Sentry.Attachment` has been renamed to `Sentry.SentryAttachment` ([#3116](https://github.com/getsentry/sentry-dotnet/pull/3116))
- The class `Sentry.Hint` has been renamed to `Sentry.SentryHint` ([#3116](https://github.com/getsentry/sentry-dotnet/pull/3116))
### Dependencies
- Bump Cocoa SDK from v8.19.0 to v8.20.0 ([#3107](https://github.com/getsentry/sentry-dotnet/pull/3107))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8200)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.19.0...8.20.0)
## 4.0.0
This major release includes many exciting new features including support for [Profiling](https://docs.sentry.io/platforms/dotnet/profiling/) and [Metrics](https://docs.sentry.io/platforms/dotnet/metrics/)(preview), [AOT](https://sentry.engineering/blog/should-you-could-you-aot) with [Native Crash Reporting](https://github.com/getsentry/sentry-dotnet/issues/2770), [Spotlight](https://spotlightjs.com/), Screenshots on MAUI and much more. Details about these features and other changes are below.
### .NET target framework changes
We're dropping support for some of the old target frameworks, please check this [GitHub Discussion](https://github.com/getsentry/sentry-dotnet/discussions/2776) for details on why.
- **Replace support for .NET Framework 4.6.1 with 4.6.2** ([#2786](https://github.com/getsentry/sentry-dotnet/pull/2786))
.NET Framework 4.6.1 was announced on Nov 30, 2015. And went out of support over a year ago, on Apr 26, 2022.
- **Drop .NET Core 3.1 and .NET 5 support** ([#2787](https://github.com/getsentry/sentry-dotnet/pull/2787))
- **Dropped netstandard2.0 support for Sentry.AspNetCore** ([#2807](https://github.com/getsentry/sentry-dotnet/pull/2807))
- **Replace support for .NET 6 on mobile (e.g: `net6.0-android`) with .NET 7** ([#2624](https://github.com/getsentry/sentry-dotnet/pull/2604))
.NET 6 on mobile has been out of support since May 2023 and with .NET 8, it's no longer possible to build .NET 6 Mobile specific targets.
For that reason, we're moving the mobile-specific TFMs from `net6.0-platform` to `net7.0-platform`.
Mobile apps still work on .NET 6 will pull the `Sentry` .NET 6, which offers the .NET-only features,
without native/platform-specific bindings and SDKs. See [this ticket for more details](https://github.com/getsentry/sentry-dotnet/issues/2623).
- **MAUI dropped Tizen support** ([#2734](https://github.com/getsentry/sentry-dotnet/pull/2734))
### Sentry Self-hosted Compatibility
If you're using `sentry.io` this change does not affect you.
This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or higher. If you are using an older version of [self-hosted Sentry](https://develop.sentry.dev/self-hosted/) (aka on-premise), you will need to [upgrade](https://develop.sentry.dev/self-hosted/releases/).
### Significant change in behavior
- Transaction names for ASP.NET Core are now consistently named `HTTP-VERB /path` (e.g. `GET /home`). Previously, the leading forward slash was missing for some endpoints. ([#2808](https://github.com/getsentry/sentry-dotnet/pull/2808))
- Setting `SentryOptions.Dsn` to `null` now throws `ArgumentNullException` during initialization. ([#2655](https://github.com/getsentry/sentry-dotnet/pull/2655))
- Enable `CaptureFailedRequests` by default ([#2688](https://github.com/getsentry/sentry-dotnet/pull/2688))
- Added `Sentry` namespace to global usings when `ImplicitUsings` is enabled ([#3043](https://github.com/getsentry/sentry-dotnet/pull/3043))
If you have conflicts, you can opt out by adding the following to your `csproj`:
```
false
```
- Transactions' spans are no longer automatically finished with the status `deadline_exceeded` by the transaction. This is now handled by the [Relay](https://github.com/getsentry/relay).
- Customers self hosting Sentry must use verion 22.12.0 or later ([#3013](https://github.com/getsentry/sentry-dotnet/pull/3013))
- The `User.IpAddress` is now set to `{{auto}}` by default, even when sendDefaultPII is disabled ([#2981](https://github.com/getsentry/sentry-dotnet/pull/2981))
- The "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io can be used to control this instead
- The `DiagnosticLogger` signature for `LogWarning` changed to take the `exception` as the first parameter. That way it no longer gets mixed up with the TArgs. ([#2987](https://github.com/getsentry/sentry-dotnet/pull/2987))
### API breaking Changes
If you have compilation errors you can find the affected types or overloads missing in the changelog entries below.
#### Changed APIs
- Class renamed `Sentry.User` to `Sentry.SentryUser` ([#3015](https://github.com/getsentry/sentry-dotnet/pull/3015))
- Class renamed `Sentry.Runtime` to `Sentry.SentryRuntime` ([#3016](https://github.com/getsentry/sentry-dotnet/pull/3016))
- Class renamed `Sentry.Span` to `Sentry.SentrySpan` ([#3021](https://github.com/getsentry/sentry-dotnet/pull/3021))
- Class renamed `Sentry.Transaction` to `Sentry.SentryTransaction` ([#3023](https://github.com/getsentry/sentry-dotnet/pull/3023))
- Rename iOS and MacCatalyst platform-specific options from `Cocoa` to `Native` ([#2940](https://github.com/getsentry/sentry-dotnet/pull/2940))
- Rename iOS platform-specific options `EnableCocoaSdkTracing` to `EnableTracing` ([#2940](https://github.com/getsentry/sentry-dotnet/pull/2940))
- Rename Android platform-specific options from `Android` to `Native` ([#2940](https://github.com/getsentry/sentry-dotnet/pull/2940))
- Rename Android platform-specific options `EnableAndroidSdkTracing` and `EnableAndroidSdkBeforeSend` to `EnableTracing` and `EnableBeforeSend` respectively ([#2940](https://github.com/getsentry/sentry-dotnet/pull/2940))
- Rename iOS and MacCatalyst platform-specific options from `iOS` to `Cocoa` ([#2929](https://github.com/getsentry/sentry-dotnet/pull/2929))
- `ITransaction` has been renamed to `ITransactionTracer`. You will need to update any references to these interfaces in your code to use the new interface names ([#2731](https://github.com/getsentry/sentry-dotnet/pull/2731), [#2870](https://github.com/getsentry/sentry-dotnet/pull/2870))
- `DebugImage` and `DebugMeta` moved to `Sentry.Protocol` namespace. ([#2815](https://github.com/getsentry/sentry-dotnet/pull/2815))
- `SentryClient.Dispose` is no longer obsolete ([#2842](https://github.com/getsentry/sentry-dotnet/pull/2842))
- `ISentryClient.CaptureEvent` overloads have been replaced by a single method accepting optional `Hint` and `Scope` parameters. You will need to pass `hint` as a named parameter from code that calls `CaptureEvent` without passing a `scope` argument. ([#2749](https://github.com/getsentry/sentry-dotnet/pull/2749))
- `TransactionContext` and `SpanContext` constructors were updated. If you're constructing instances of these classes, you will need to adjust the order in which you pass parameters to these. ([#2694](https://github.com/getsentry/sentry-dotnet/pull/2694), [#2696](https://github.com/getsentry/sentry-dotnet/pull/2696))
- The `DiagnosticLogger` signature for `LogError` and `LogFatal` changed to take the `exception` as the first parameter. That way it no longer gets mixed up with the TArgs. The `DiagnosticLogger` now also receives an overload for `LogError` and `LogFatal` that accepts a message only. ([#2715](https://github.com/getsentry/sentry-dotnet/pull/2715))
- `Distribution` added to `IEventLike`. ([#2660](https://github.com/getsentry/sentry-dotnet/pull/2660))
- `StackFrame`'s `ImageAddress`, `InstructionAddress`, and `FunctionId` changed to `long?`. ([#2691](https://github.com/getsentry/sentry-dotnet/pull/2691))
- `DebugImage.ImageAddress` changed to `long?`. ([#2725](https://github.com/getsentry/sentry-dotnet/pull/2725))
- Contexts now inherit from `IDictionary` rather than `ConcurrentDictionary`. The specific dictionary being used is an implementation detail. ([#2729](https://github.com/getsentry/sentry-dotnet/pull/2729))
- The method used to configure a Sentry Sink for Serilog now has an additional overload. Calling `WriteTo.Sentry()` with no arguments will no longer attempt to initialize the SDK (it has optional arguments to configure the behavior of the Sink only). If you want to initialize Sentry at the same time you configure the Sentry Sink then you will need to use the overload of this method that accepts a DSN as the first parameter (e.g. `WriteTo.Sentry("https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647")`). ([#2928](https://github.com/getsentry/sentry-dotnet/pull/2928))
#### Removed APIs
- SentrySinkExtensions.ConfigureSentrySerilogOptions is now internal. If you were using this method, please use one of the `SentrySinkExtensions.Sentry` extension methods instead. ([#2902](https://github.com/getsentry/sentry-dotnet/pull/2902))
- A number of `[Obsolete]` options have been removed ([#2841](https://github.com/getsentry/sentry-dotnet/pull/2841))
- `BeforeSend` - use `SetBeforeSend` instead.
- `BeforeSendTransaction` - use `SetBeforeSendTransaction` instead.
- `BeforeBreadcrumb` - use `SetBeforeBreadcrumb` instead.
- `CreateHttpClientHandler` - use `CreateHttpMessageHandler` instead.
- `ReportAssemblies` - use `ReportAssembliesMode` instead.
- `KeepAggregateException` - this property is no longer used and has no replacement.
- `DisableTaskUnobservedTaskExceptionCapture` method has been renamed to `DisableUnobservedTaskExceptionCapture`.
- `DebugDiagnosticLogger` - use `TraceDiagnosticLogger` instead.
- A number of iOS/Android-specific `[Obsolete]` options have been removed ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- `Distribution` - use `SentryOptions.Distribution` instead.
- `EnableAutoPerformanceTracking` - use `SetBeforeSendTransaction` instead.
- `EnableCoreDataTracking` - use `EnableCoreDataTracing` instead.
- `EnableFileIOTracking` - use `EnableFileIOTracing` instead.
- `EnableOutOfMemoryTracking` - use `EnableWatchdogTerminationTracking` instead.
- `EnableUIViewControllerTracking` - use `EnableUIViewControllerTracing` instead.
- `StitchAsyncCode` - no longer available.
- `ProfilingTracesInterval` - no longer available.
- `ProfilingEnabled` - use `ProfilesSampleRate` instead.
- Obsolete `SystemClock` constructor removed, use `SystemClock.Clock` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `Runtime.Clone()` removed, this shouldn't have been public in the past and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `SentryException.Data` removed, use `SentryException.Mechanism.Data` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `AssemblyExtensions` removed, this shouldn't have been public in the past and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `SentryDatabaseLogging.UseBreadcrumbs()` removed, it is called automatically and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `Scope.GetSpan()` removed, use `Span` property instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856))
- Obsolete `IUserFactory` removed, use `ISentryUserFactory` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856), [#2840](https://github.com/getsentry/sentry-dotnet/pull/2840))
- `IHasMeasurements` has been removed, use `ISpanData` instead. ([#2659](https://github.com/getsentry/sentry-dotnet/pull/2659))
- `IHasBreadcrumbs` has been removed, use `IEventLike` instead. ([#2670](https://github.com/getsentry/sentry-dotnet/pull/2670))
- `ISpanContext` has been removed, use `ITraceContext` instead. ([#2668](https://github.com/getsentry/sentry-dotnet/pull/2668))
- `IHasTransactionNameSource` has been removed, use `ITransactionContext` instead. ([#2654](https://github.com/getsentry/sentry-dotnet/pull/2654))
- ([#2694](https://github.com/getsentry/sentry-dotnet/pull/2694))
- The unused `StackFrame.InstructionOffset` has been removed. ([#2691](https://github.com/getsentry/sentry-dotnet/pull/2691))
- The unused `Scope.Platform` property has been removed. ([#2695](https://github.com/getsentry/sentry-dotnet/pull/2695))
- The obsolete setter `Sentry.PlatformAbstractions.Runtime.Identifier` has been removed ([2764](https://github.com/getsentry/sentry-dotnet/pull/2764))
- `Sentry.Values` is now internal as it is never exposed in the public API ([#2771](https://github.com/getsentry/sentry-dotnet/pull/2771))
- The `TracePropagationTarget` class has been removed, use the `SubstringOrRegexPattern` class instead. ([#2763](https://github.com/getsentry/sentry-dotnet/pull/2763))
- The `WithScope` and `WithScopeAsync` methods have been removed. We have discovered that these methods didn't work correctly in certain desktop contexts, especially when using a global scope. ([#2717](https://github.com/getsentry/sentry-dotnet/pull/2717))
Replace your usage of `WithScope` with overloads of `Capture*` methods:
- `SentrySdk.CaptureEvent(SentryEvent @event, Action scopeCallback)`
- `SentrySdk.CaptureMessage(string message, Action scopeCallback)`
- `SentrySdk.CaptureException(Exception exception, Action scopeCallback)`
```c#
// Before
SentrySdk.WithScope(scope =>
{
scope.SetTag("key", "value");
SentrySdk.CaptureEvent(new SentryEvent());
});
// After
SentrySdk.CaptureEvent(new SentryEvent(), scope =>
{
// Configure your scope here
scope.SetTag("key", "value");
});
```
### Features
- Experimental pre-release availability of Metrics. We're exploring the use of Metrics in Sentry. The API will very likely change and we don't yet have any documentation. ([#2949](https://github.com/getsentry/sentry-dotnet/pull/2949))
- `SentrySdk.Metrics.Set` now additionally accepts `string` as value ([#3092](https://github.com/getsentry/sentry-dotnet/pull/3092))
- Timing metrics can now be captured with `SentrySdk.Metrics.StartTimer` ([#3075](https://github.com/getsentry/sentry-dotnet/pull/3075))
- Added support for capturing built-in metrics from the `System.Diagnostics.Metrics` API ([#3052](https://github.com/getsentry/sentry-dotnet/pull/3052))
- `Sentry.Profiling` is now available as a package on [nuget](nuget.org). Be aware that profiling is in alpha and on servers the overhead could be high. Improving the experience for ASP.NET Core is tracked on [this issue](https://github.com/getsentry/sentry-dotnet/issues/2316) ([#2800](https://github.com/getsentry/sentry-dotnet/pull/2800))
- iOS profiling support (alpha). ([#2930](https://github.com/getsentry/sentry-dotnet/pull/2930))
- Native crash reporting on NativeAOT published apps (Windows, Linux, macOS). ([#2887](https://github.com/getsentry/sentry-dotnet/pull/2887))
- Support for [Spotlight](https://spotlightjs.com/), a debug tool for local development. ([#2961](https://github.com/getsentry/sentry-dotnet/pull/2961))
- Enable it with the option `EnableSpotlight`
- Optionally configure the URL to connect via `SpotlightUrl`. Defaults to `http://localhost:8969/stream`.
### MAUI
- Added screenshot capture support for errors. You can opt-in via `SentryMauiOptions.AttachScreenshots` ([#2965](https://github.com/getsentry/sentry-dotnet/pull/2965))
- Supports Android and iOS only. Windows is not supported.
- App context now has `in_foreground`, indicating whether the app was in the foreground or the background. ([#2983](https://github.com/getsentry/sentry-dotnet/pull/2983))
- Android: When capturing unhandled exceptions, the SDK now can automatically attach `LogCat` to the event. You can opt-in via `SentryOptions.Android.LogCatIntegration` and configure `SentryOptions.Android.LogCatMaxLines`. ([#2926](https://github.com/getsentry/sentry-dotnet/pull/2926))
- Available when targeting `net7.0-android` or later, on API level 23 or later.
#### Native AOT
Native AOT publishing support for .NET 8 has been added to Sentry for the following platforms:
- Windows
- Linux
- macOS
- Mac Catalyst
- iOS
There are some functional differences when publishing Native AOT:
- `StackTraceMode.Enhanced` is ignored because it's not available when publishing Native AOT. The mechanism to generate these enhanced stack traces relies heavily on reflection which isn't compatible with trimming.
- Reflection cannot be leveraged for JSON Serialization and you may need to use `SentryOptions.AddJsonSerializerContext` to supply a serialization context for types that you'd like to send to Sentry (e.g. in the `Span.Context`). ([#2732](https://github.com/getsentry/sentry-dotnet/pull/2732), [#2793](https://github.com/getsentry/sentry-dotnet/pull/2793))
- `Ben.Demystifier` is not available as it only runs in JIT mode.
- WinUI applications: When publishing Native AOT, Sentry isn't able to automatically register an unhandled exception handler because that relies on reflection. You'll need to [register the unhandled event handler manually](https://github.com/getsentry/sentry-dotnet/issues/2778) instead.
- For Azure Functions Workers, when AOT/Trimming is enabled we can't use reflection to read route data from the HttpTrigger so the route name will always be `/api/` ([#2920](https://github.com/getsentry/sentry-dotnet/pull/2920))
### Fixes
- Native integration logging on macOS ([#3079](https://github.com/getsentry/sentry-dotnet/pull/3079))
- The scope transaction is now correctly set for Otel transactions ([#3072](https://github.com/getsentry/sentry-dotnet/pull/3072))
- Fixed an issue with tag values in metrics not being properly serialized ([#3065](https://github.com/getsentry/sentry-dotnet/pull/3065))
- Moved the binding to MAUI events for breadcrumb creation from `WillFinishLaunching` to `FinishedLaunching`. This delays the initial instantiation of `app`. ([#3057](https://github.com/getsentry/sentry-dotnet/pull/3057))
- The SDK no longer adds the `WinUIUnhandledExceptionIntegration` on non-Windows platforms ([#3055](https://github.com/getsentry/sentry-dotnet/pull/3055))
- Stop Sentry for MacCatalyst from creating `default.profraw` in the app bundle using xcodebuild archive to build sentry-cocoa ([#2960](https://github.com/getsentry/sentry-dotnet/pull/2960))
- Workaround a .NET 8 NativeAOT crash on transaction finish. ([#2943](https://github.com/getsentry/sentry-dotnet/pull/2943))
- Reworked automatic breadcrumb creation for MAUI. ([#2900](https://github.com/getsentry/sentry-dotnet/pull/2900))
- The SDK no longer uses reflection to bind to all public element events. This also fixes issues where the SDK would consume third-party events.
- Added `CreateElementEventsBreadcrumbs` to the SentryMauiOptions to allow users to opt-in automatic breadcrumb creation for `BindingContextChanged`, `ChildAdded`, `ChildRemoved`, and `ParentChanged` on `Element`.
- Reduced amount of automatic breadcrumbs by limiting the number of bindings created in `VisualElement`, `Window`, `Shell`, `Page`, and `Button`.
- Fixed Sentry SDK has not been initialized when using ASP.NET Core, Serilog, and OpenTelemetry ([#2911](https://github.com/getsentry/sentry-dotnet/pull/2911))
- Android native symbol upload ([#2876](https://github.com/getsentry/sentry-dotnet/pull/2876))
- `Sentry.Serilog` no longer throws if a disabled DSN is provided when initializing Sentry via the Serilog integration ([#2883](https://github.com/getsentry/sentry-dotnet/pull/2883))
- Don't add WinUI exception integration on mobile platforms ([#2821](https://github.com/getsentry/sentry-dotnet/pull/2821))
- `Transactions` are now getting enriched by the client instead of the hub ([#2838](https://github.com/getsentry/sentry-dotnet/pull/2838))
- Fixed an issue when using the SDK together with OpenTelemetry `1.5.0` and newer where the SDK would create transactions for itself. The fix is backward compatible. ([#3001](https://github.com/getsentry/sentry-dotnet/pull/3001))
### Dependencies
- Upgraded to NLog version 5. ([#2697](https://github.com/getsentry/sentry-dotnet/pull/2697))
- Integrate `sentry-native` as a static library in Native AOT builds to enable symbolication. ([#2704](https://github.com/getsentry/sentry-dotnet/pull/2704))
- Bump Cocoa SDK from v8.16.1 to v8.19.0 ([#2910](https://github.com/getsentry/sentry-dotnet/pull/2910), [#2936](https://github.com/getsentry/sentry-dotnet/pull/2936), [#2972](https://github.com/getsentry/sentry-dotnet/pull/2972), [#3005](https://github.com/getsentry/sentry-dotnet/pull/3005), [#3084](https://github.com/getsentry/sentry-dotnet/pull/3084))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8190)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.16.1...8.19.0)
- Bump Java SDK from v6.34.0 to v7.3.0 ([#2932](https://github.com/getsentry/sentry-dotnet/pull/2932), [#2979](https://github.com/getsentry/sentry-dotnet/pull/2979), [#3049](https://github.com/getsentry/sentry-dotnet/pull/3049), (https://github.com/getsentry/sentry-dotnet/pull/3098))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#730)
- [diff](https://github.com/getsentry/sentry-java/compare/6.34.0...7.3.0)
- Bump Native SDK from v0.6.5 to v0.6.7 ([#2914](https://github.com/getsentry/sentry-dotnet/pull/2914), [#3029](https://github.com/getsentry/sentry-dotnet/pull/3029))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#070)
- [diff](https://github.com/getsentry/sentry-native/compare/0.6.5...0.7.0)
- Bump CLI from v2.21.5 to v2.27.0 ([#2901](https://github.com/getsentry/sentry-dotnet/pull/2901), [#2915](https://github.com/getsentry/sentry-dotnet/pull/2915), [#2956](https://github.com/getsentry/sentry-dotnet/pull/2956), [#2985](https://github.com/getsentry/sentry-dotnet/pull/2985), [#2999](https://github.com/getsentry/sentry-dotnet/pull/2999), [#3012](https://github.com/getsentry/sentry-dotnet/pull/3012), [#3030](https://github.com/getsentry/sentry-dotnet/pull/3030), [#3059](https://github.com/getsentry/sentry-dotnet/pull/3059), [#3062](https://github.com/getsentry/sentry-dotnet/pull/3062), [#3073](https://github.com/getsentry/sentry-dotnet/pull/3073), [#3099](https://github.com/getsentry/sentry-dotnet/pull/3099))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2270)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.21.5...2.27.0)
## 3.41.4
### Fixes
- Fixed an issue when using the SDK together with Open Telemetry `1.5.0` and newer where the SDK would create transactions for itself. The fix is backward compatible. ([#3001](https://github.com/getsentry/sentry-dotnet/pull/3001))
## 3.41.3
### Fixes
- Fixed Sentry SDK has not been initialised when using ASP.NET Core, Serilog, and OpenTelemetry ([#2918](https://github.com/getsentry/sentry-dotnet/pull/2918))
## 3.41.2
### Fixes
- The SDK no longer fails to finish sessions while capturing an event. This fixes broken crash-free rates ([#2895](https://github.com/getsentry/sentry-dotnet/pull/2895))
- Ignore UnobservedTaskException for QUIC exceptions. See: https://github.com/dotnet/runtime/issues/80111 ([#2894](https://github.com/getsentry/sentry-dotnet/pull/2894))
### Dependencies
- Bump Cocoa SDK from v8.16.0 to v8.16.1 ([#2891](https://github.com/getsentry/sentry-dotnet/pull/2891))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8161)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.16.0...8.16.1)
## 3.41.1
### Fixes
- `CaptureFailedRequests` and `FailedRequestStatusCodes` are now getting respected by the Cocoa SDK. This is relevant for MAUI apps where requests are getting handled natively. ([#2826](https://github.com/getsentry/sentry-dotnet/issues/2826))
- Added `SentryOptions.AutoRegisterTracing` for users who need to control registration of Sentry's tracing middleware ([#2871](https://github.com/getsentry/sentry-dotnet/pull/2871))
### Dependencies
- Bump Cocoa SDK from v8.15.0 to v8.16.0 ([#2812](https://github.com/getsentry/sentry-dotnet/pull/2812), [#2816](https://github.com/getsentry/sentry-dotnet/pull/2816), [#2882](https://github.com/getsentry/sentry-dotnet/pull/2882))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8160)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.15.0...8.16.0)
- Bump CLI from v2.21.2 to v2.21.5 ([#2811](https://github.com/getsentry/sentry-dotnet/pull/2811), [#2834](https://github.com/getsentry/sentry-dotnet/pull/2834), [#2851](https://github.com/getsentry/sentry-dotnet/pull/2851))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2215)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.21.2...2.21.5)
- Bump Java SDK from v6.33.1 to v6.34.0 ([#2874](https://github.com/getsentry/sentry-dotnet/pull/2874))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6340)
- [diff](https://github.com/getsentry/sentry-java/compare/6.33.1...6.34.0)
## 3.41.0
### Features
- Speed up SDK init ([#2784](https://github.com/getsentry/sentry-dotnet/pull/2784))
### Fixes
- Fixed chaining on the IApplicationBuilder for methods like UseRouting and UseEndpoints ([#2726](https://github.com/getsentry/sentry-dotnet/pull/2726))
### Dependencies
- Bump Cocoa SDK from v8.13.0 to v8.15.0 ([#2722](https://github.com/getsentry/sentry-dotnet/pull/2722), [#2740](https://github.com/getsentry/sentry-dotnet/pull/2740), [#2746](https://github.com/getsentry/sentry-dotnet/pull/2746), [#2801](https://github.com/getsentry/sentry-dotnet/pull/2801))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8150)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.13.0...8.15.0)
- Bump Java SDK from v6.30.0 to v6.33.1 ([#2723](https://github.com/getsentry/sentry-dotnet/pull/2723), [#2741](https://github.com/getsentry/sentry-dotnet/pull/2741), [#2783](https://github.com/getsentry/sentry-dotnet/pull/2783), [#2803](https://github.com/getsentry/sentry-dotnet/pull/2803))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6331)
- [diff](https://github.com/getsentry/sentry-java/compare/6.30.0...6.33.1)
## 3.40.1
### Fixes
- ISentryUserFactory is now public so users can register their own implementations via DI ([#2719](https://github.com/getsentry/sentry-dotnet/pull/2719))
## 3.40.0
### Obsoletion
- `WithScope` and `WithScopeAsync` have been proven to not work correctly in desktop contexts when using a global scope. They are now deprecated in favor of the overloads of `CaptureEvent`, `CaptureMessage`, and `CaptureException`. Those methods provide a callback to a configurable scope. ([#2677](https://github.com/getsentry/sentry-dotnet/pull/2677))
- `StackFrame.InstructionOffset` has not been used in the SDK and has been ignored on the server for years. ([#2689](https://github.com/getsentry/sentry-dotnet/pull/2689))
### Features
- Release of Azure Functions (Isolated Worker/Out-of-Process) support ([#2686](https://github.com/getsentry/sentry-dotnet/pull/2686))
### Fixes
- Scope is now correctly applied to Transactions when using OpenTelemetry on ASP.NET Core ([#2690](https://github.com/getsentry/sentry-dotnet/pull/2690))
### Dependencies
- Bump CLI from v2.20.7 to v2.21.2 ([#2645](https://github.com/getsentry/sentry-dotnet/pull/2645), [#2647](https://github.com/getsentry/sentry-dotnet/pull/2647), [#2698](https://github.com/getsentry/sentry-dotnet/pull/2698))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2212)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.20.7...2.21.2)
- Bump Cocoa SDK from v8.12.0 to v8.13.0 ([#2653](https://github.com/getsentry/sentry-dotnet/pull/2653))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8130)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.12.0...8.13.0)
- Bump Java SDK from v6.29.0 to v6.30.0 ([#2685](https://github.com/getsentry/sentry-dotnet/pull/2685))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6300)
- [diff](https://github.com/getsentry/sentry-java/compare/6.29.0...6.30.0)
## 3.40.0-beta.0
### Features
- Reduced the memory footprint of `SpanId` by refactoring the ID generation ([#2619](https://github.com/getsentry/sentry-dotnet/pull/2619))
- Reduced the memory footprint of `SpanTracer` by initializing the tags lazily ([#2636](https://github.com/getsentry/sentry-dotnet/pull/2636))
- Added distributed tracing without performance for Azure Function Workers ([#2630](https://github.com/getsentry/sentry-dotnet/pull/2630))
- The SDK now provides and overload of `ContinueTrace` that accepts headers as `string` ([#2601](https://github.com/getsentry/sentry-dotnet/pull/2601))
- Sentry tracing middleware now gets configured automatically ([#2602](https://github.com/getsentry/sentry-dotnet/pull/2602))
- Added memory optimisations for GetLastActiveSpan ([#2642](https://github.com/getsentry/sentry-dotnet/pull/2642))
### Fixes
- Resolved issue identifying users with OpenTelemetry ([#2618](https://github.com/getsentry/sentry-dotnet/pull/2618))
### Azure Functions Beta
- Package name changed from `Sentry.AzureFunctions.Worker` to `Sentry.Azure.Functions.Worker`. Note AzureFunctions now is split by a `.`. ([#2637](https://github.com/getsentry/sentry-dotnet/pull/2637))
### Dependencies
- Bump CLI from v2.20.6 to v2.20.7 ([#2604](https://github.com/getsentry/sentry-dotnet/pull/2604))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2207)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.20.6...2.20.7)
- Bump Cocoa SDK from v8.11.0 to v8.12.0 ([#2640](https://github.com/getsentry/sentry-dotnet/pull/2640))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8120)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.11.0...8.12.0)
## 3.39.1
### Fixes
- Added Sentry.AspNet.csproj back to Sentry-CI-Build-macOS.slnf ([#2612](https://github.com/getsentry/sentry-dotnet/pull/2612))
## 3.39.0
### Features
- Added additional `DB` attributes to automatically generated spans like `name` and `provider` ([#2583](https://github.com/getsentry/sentry-dotnet/pull/2583))
- `Hints` now accept attachments provided as a file path via `AddAttachment` method ([#2585](https://github.com/getsentry/sentry-dotnet/pull/2585))
### Fixes
- Resolved an issue where the SDK would throw an exception while attempting to set the DynamicSamplingContext but the context exists already. ([#2592](https://github.com/getsentry/sentry-dotnet/pull/2592))
### Dependencies
- Bump CLI from v2.20.5 to v2.20.6 ([#2590](https://github.com/getsentry/sentry-dotnet/pull/2590))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2206)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.20.5...2.20.6)
- Bump Cocoa SDK from v8.10.0 to v8.11.0 ([#2594](https://github.com/getsentry/sentry-dotnet/pull/2594))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8110)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.10.0...8.11.0)
- Bump Java SDK from v6.28.0 to v6.29.0 ([#2599](https://github.com/getsentry/sentry-dotnet/pull/2599))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6290)
- [diff](https://github.com/getsentry/sentry-java/compare/6.28.0...6.29.0)
## 3.36.0
### Features
- Graphql client ([#2538](https://github.com/getsentry/sentry-dotnet/pull/2538))
### Fixes
- Android: Fix proguard/r8 mapping file upload ([#2574](https://github.com/getsentry/sentry-dotnet/pull/2574))
### Dependencies
- Bump Cocoa SDK from v8.9.5 to v8.10.0 ([#2546](https://github.com/getsentry/sentry-dotnet/pull/2546), [#2550](https://github.com/getsentry/sentry-dotnet/pull/2550))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8100)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.9.5...8.10.0)
- Bump gradle/gradle-build-action from 2.7.0 to 2.7.1 ([#2564](https://github.com/getsentry/sentry-dotnet/pull/2564))
- [diff](https://github.com/gradle/gradle-build-action/compare/v2.7.0...v2.7.1)
## 3.35.1
### Fixes
- The SDK no longer creates transactions with their start date set to `Jan 01, 001` ([#2544](https://github.com/getsentry/sentry-dotnet/pull/2544))
### Dependencies
- Bump CLI from v2.20.4 to v2.20.5 ([#2539](https://github.com/getsentry/sentry-dotnet/pull/2539))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2205)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.20.4...2.20.5)
- Bump Cocoa SDK from v8.9.4 to v8.9.5 ([#2542](https://github.com/getsentry/sentry-dotnet/pull/2542))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#895)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.9.4...8.9.5)
## 3.35.0
### Features
- Distributed tracing now works independently of the performance feature. This allows you to connect errors to other Sentry instrumented applications ([#2493](https://github.com/getsentry/sentry-dotnet/pull/2493))
- Added Sampling Decision to Trace Envelope Header ([#2495](https://github.com/getsentry/sentry-dotnet/pull/2495))
- Add MinimumEventLevel to Sentry.Log4Net and convert events below it to breadcrumbs ([#2505](https://github.com/getsentry/sentry-dotnet/pull/2505))
- Support transaction finishing automatically with 'idle timeout' (#2452)
### Fixes
- Fixed baggage propagation when an exception is thrown from middleware ([#2487](https://github.com/getsentry/sentry-dotnet/pull/2487))
- Fix Durable Functions preventing orchestrators from completing ([#2491](https://github.com/getsentry/sentry-dotnet/pull/2491))
- Re-enable HubTests.FlushOnDispose_SendsEnvelope ([#2492](https://github.com/getsentry/sentry-dotnet/pull/2492))
- Fixed SDK not sending exceptions via Blazor WebAssembly due to a `PlatformNotSupportedException` ([#2506](https://github.com/getsentry/sentry-dotnet/pull/2506))
- Align SDK with docs regarding session update for dropped events ([#2496](https://github.com/getsentry/sentry-dotnet/pull/2496))
- Introduced `HttpMessageHandler` in favor of the now deprecated `HttpClientHandler` on the options. This allows the SDK to support NSUrlSessionHandler on iOS ([#2503](https://github.com/getsentry/sentry-dotnet/pull/2503))
- Using `Activity.RecordException` now correctly updates the error status of OpenTelemetry Spans ([#2515](https://github.com/getsentry/sentry-dotnet/pull/2515))
- Fixed Transaction name not reporting correctly when using UseExceptionHandler ([#2511](https://github.com/getsentry/sentry-dotnet/pull/2511))
- log4net logging Level.All now maps to SentryLevel.Debug ([#2522](<[url](https://github.com/getsentry/sentry-dotnet/pull/2522)>))
### Dependencies
- Bump Java SDK from v6.25.1 to v6.28.0 ([#2484](https://github.com/getsentry/sentry-dotnet/pull/2484), [#2498](https://github.com/getsentry/sentry-dotnet/pull/2498), [#2517](https://github.com/getsentry/sentry-dotnet/pull/2517), [#2533](https://github.com/getsentry/sentry-dotnet/pull/2533))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6280)
- [diff](https://github.com/getsentry/sentry-java/compare/6.25.1...6.28.0)
- Bump CLI from v2.19.4 to v2.20.4 ([#2509](https://github.com/getsentry/sentry-dotnet/pull/2509), [#2518](https://github.com/getsentry/sentry-dotnet/pull/2518), [#2527](https://github.com/getsentry/sentry-dotnet/pull/2527), [#2530](https://github.com/getsentry/sentry-dotnet/pull/2530))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2204)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.19.4...2.20.4)
- Bump Cocoa SDK from v8.8.0 to v8.9.4 ([#2479](https://github.com/getsentry/sentry-dotnet/pull/2479), [#2483](https://github.com/getsentry/sentry-dotnet/pull/2483), [#2500](https://github.com/getsentry/sentry-dotnet/pull/2500), [#2510](https://github.com/getsentry/sentry-dotnet/pull/2510), [#2531](https://github.com/getsentry/sentry-dotnet/pull/2531))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#894)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.8.0...8.9.4)
## 3.34.0
### Features
- OpenTelemetry Support ([#2453](https://github.com/getsentry/sentry-dotnet/pull/2453))
- Added a MSBuild property `SentryUploadAndroidProguardMapping` to automatically upload the Proguard mapping file when targeting Android ([#2455](https://github.com/getsentry/sentry-dotnet/pull/2455))
- Symbolication for Single File Apps ([#2425](https://github.com/getsentry/sentry-dotnet/pull/2425))
- Add binding to `SwiftAsyncStacktraces` on iOS ([#2436](https://github.com/getsentry/sentry-dotnet/pull/2436))
### Fixes
- Builds targeting Android with `r8` enabled no longer crash during SDK init. The package now contains the required proguard rules ([#2450](https://github.com/getsentry/sentry-dotnet/pull/2450))
- Fix Sentry logger options for MAUI and Azure Functions ([#2423](https://github.com/getsentry/sentry-dotnet/pull/2423))
### Dependencies
- Bump Cocoa SDK from v8.7.3 to v8.8.0 ([#2427](https://github.com/getsentry/sentry-dotnet/pull/2427), [#2430](https://github.com/getsentry/sentry-dotnet/pull/2430))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#880)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.7.3...8.8.0)
- Bump CLI from v2.18.1 to v2.19.4 ([#2428](https://github.com/getsentry/sentry-dotnet/pull/2428), [#2431](https://github.com/getsentry/sentry-dotnet/pull/2431), [#2451](https://github.com/getsentry/sentry-dotnet/pull/2451), [#2454](https://github.com/getsentry/sentry-dotnet/pull/2454))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2194)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.18.1...2.19.4)
- Bump Java SDK from v6.22.0 to v6.25.1 ([#2429](https://github.com/getsentry/sentry-dotnet/pull/2429), [#2440](https://github.com/getsentry/sentry-dotnet/pull/2440), [#2458](https://github.com/getsentry/sentry-dotnet/pull/2458), [#2476](https://github.com/getsentry/sentry-dotnet/pull/2476))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6251)
- [diff](https://github.com/getsentry/sentry-java/compare/6.22.0...6.25.1)
## 3.33.1
### Fixes
- SentryHttpMessageHandler added when AddHttpClient is before UseSentry ([#2390](https://github.com/getsentry/sentry-dotnet/pull/2390))
- Set the native sdk name for Android ([#2389](https://github.com/getsentry/sentry-dotnet/pull/2389))
- Fix db connection spans not finishing ([#2398](https://github.com/getsentry/sentry-dotnet/pull/2398))
- Various .NET MAUI fixes / improvements ([#2403](https://github.com/getsentry/sentry-dotnet/pull/2403))
- The battery level was being reported incorrectly due to percentage multiplier.
- The device architecture (x64, arm64, etc.) is now reported
- On Windows, the OS type is now reported as "Windows" instead of "WinUI". Additionally, the OS display version (ex, "22H2") is now included.
- `UIKit`, `ABI.Microsoft` and `WinRT` frames are now marked "system" instead of "in app".
- Reduce debug files uploaded ([#2404](https://github.com/getsentry/sentry-dotnet/pull/2404))
- Fix system frames being marked as "in-app" ([#2408](https://github.com/getsentry/sentry-dotnet/pull/2408))
- NOTE: This important fix corrects a value that is used during issue grouping, so you may receive new alerts for existing issues after deploying this update.
- DB Connection spans presented poorly ([#2409](https://github.com/getsentry/sentry-dotnet/pull/2409))
- Populate scope's Cookies property ([#2411](https://github.com/getsentry/sentry-dotnet/pull/2411))
- Fix UWP GateKeeper errors ([#2415](https://github.com/getsentry/sentry-dotnet/pull/2415))
- Fix sql client db name ([#2418](https://github.com/getsentry/sentry-dotnet/pull/2418))
### Dependencies
- Bump Cocoa SDK from v8.7.2 to v8.7.3 ([#2394](https://github.com/getsentry/sentry-dotnet/pull/2394))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#873)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.7.2...8.7.3)
- Bump Java SDK from v6.19.1 to v6.22.0 ([#2395](https://github.com/getsentry/sentry-dotnet/pull/2395), [#2405](https://github.com/getsentry/sentry-dotnet/pull/2405), [#2417](https://github.com/getsentry/sentry-dotnet/pull/2417))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6220)
- [diff](https://github.com/getsentry/sentry-java/compare/6.19.1...6.22.0)
## 3.33.0
### Features
- .NET SDK changes for exception groups ([#2287](https://github.com/getsentry/sentry-dotnet/pull/2287))
- This changes how `AggregateException` is handled. Instead of filtering them out client-side, the SDK marks them as an "exception group",
and adds includes data that represents the hierarchical structure of inner exceptions. Sentry now recognizes this server-side,
improving the accuracy of the issue detail page.
- Accordingly, the `KeepAggregateException` option is now obsolete and does nothing. Please remove any usages of `KeepAggregateException`.
- NOTE: If running Self-Hosted Sentry, you should wait to adopt this SDK update until after updating to the 23.6.0 (est. June 2023) release of Sentry.
The effect of updating the SDK early will be as if `KeepAggregateException = true` was set. That will not break anything, but may affect issue grouping and alerts.
### Fixes
- Status messages when uploading symbols or sources are improved. ([#2307](https://github.com/getsentry/sentry-dotnet/issues/2307))
### Dependencies
- Bump CLI from v2.18.0 to v2.18.1 ([#2386](https://github.com/getsentry/sentry-dotnet/pull/2386))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2181)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.18.0...2.18.1)
## 3.32.0
### Features
- Azure Functions (Isolated Worker/Out-of-Process) support ([#2346](https://github.com/getsentry/sentry-dotnet/pull/2346))
- Initial `beta.1` release. Please give it a try and let us know how it goes!
- Documentation is TBD. For now, see `/samples/Sentry.Samples.Azure.Functions.Worker`.
- Add `Hint` support ([#2351](https://github.com/getsentry/sentry-dotnet/pull/2351))
- Currently, this allows you to manipulate attachments in the various "before" event delegates.
- Hints can also be used in event and transaction processors by implementing `ISentryEventProcessorWithHint` or `ISentryTransactionProcessorWithHint`, instead of `ISentryEventProcessor` or `ISentryTransactionProcessor`.
- Note: Obsoletes the `BeforeSend`, `BeforeSendTransaction`, and `BeforeBreadcrumb` properties on the `SentryOptions` class. They have been replaced with `SetBeforeSend`, `SetBeforeSendTransaction`, and `SetBeforeBreadcrumb` respectively. Each one provides overloads both with and without a `Hint` object.
- Allow setting the active span on the scope ([#2364](https://github.com/getsentry/sentry-dotnet/pull/2364))
- Note: Obsoletes the `Scope.GetSpan` method in favor of a `Scope.Span` property (which now has a setter as well).
- Remove authority from URLs sent to Sentry ([#2365](https://github.com/getsentry/sentry-dotnet/pull/2365))
- Add tag filters to `SentryOptions` ([#2367](https://github.com/getsentry/sentry-dotnet/pull/2367))
### Fixes
- Fix `EnableTracing` option conflict with `TracesSampleRate` ([#2368](https://github.com/getsentry/sentry-dotnet/pull/2368))
- NOTE: This is a potentially breaking change, as the `TracesSampleRate` property has been made nullable.
Though extremely uncommon, if you are _retrieving_ the `TracesSampleRate` property for some reason, you will need to account for nulls.
However, there is no change to the behavior or _typical_ usage of either of these properties.
- CachedTransport gracefully handles malformed envelopes during processing ([#2371](https://github.com/getsentry/sentry-dotnet/pull/2371))
- Remove extraneous iOS simulator resources when building MAUI apps using Visual Studio "Hot Restart" mode, to avoid hitting Windows max path ([#2384](https://github.com/getsentry/sentry-dotnet/pull/2384))
### Dependencies
- Bump Cocoa SDK from v8.6.0 to v8.7.1 ([#2359](https://github.com/getsentry/sentry-dotnet/pull/2359), [#2370](https://github.com/getsentry/sentry-dotnet/pull/2370))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#871)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.6.0...8.7.1)
- Bump Java SDK from v6.18.1 to v6.19.1 ([#2374](https://github.com/getsentry/sentry-dotnet/pull/2374), [#2381](https://github.com/getsentry/sentry-dotnet/pull/2381))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6191)
- [diff](https://github.com/getsentry/sentry-java/compare/6.18.1...6.19.1)
- Bump Cocoa SDK from v8.6.0 to v8.7.2 ([#2359](https://github.com/getsentry/sentry-dotnet/pull/2359), [#2370](https://github.com/getsentry/sentry-dotnet/pull/2370), [#2375](https://github.com/getsentry/sentry-dotnet/pull/2375))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#872)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.6.0...8.7.2)
- Bump CLI from v2.17.5 to v2.18.0 ([#2380](https://github.com/getsentry/sentry-dotnet/pull/2380))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2180)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.17.5...2.18.0)
## 3.31.0
### Features
- Initial work to support profiling in a future release. ([#2206](https://github.com/getsentry/sentry-dotnet/pull/2206))
- Create a Sentry event for failed HTTP requests ([#2320](https://github.com/getsentry/sentry-dotnet/pull/2320))
- Improve `WithScope` and add `WithScopeAsync` ([#2303](https://github.com/getsentry/sentry-dotnet/pull/2303)) ([#2309](https://github.com/getsentry/sentry-dotnet/pull/2309))
- Build .NET Standard 2.1 for Unity ([#2328](https://github.com/getsentry/sentry-dotnet/pull/2328))
- Add `RemoveExceptionFilter`, `RemoveEventProcessor` and `RemoveTransactionProcessor` extension methods on `SentryOptions` ([#2331](https://github.com/getsentry/sentry-dotnet/pull/2331))
- Include Dynamic Sampling Context with error events, when there's a transaction ([#2332](https://github.com/getsentry/sentry-dotnet/pull/2332))
### Fixes
- Buffer payloads asynchronously when appropriate ([#2297](https://github.com/getsentry/sentry-dotnet/pull/2297))
- Restore `System.Reflection.Metadata` dependency for .NET Core 3 ([#2302](https://github.com/getsentry/sentry-dotnet/pull/2302))
- Capture open transactions on disabled hubs ([#2319](https://github.com/getsentry/sentry-dotnet/pull/2319))
- Remove session breadcrumbs ([#2333](https://github.com/getsentry/sentry-dotnet/pull/2333))
- Support synchronous `HttpClient.Send` in `SentryHttpMessageHandler` ([#2336](https://github.com/getsentry/sentry-dotnet/pull/2336))
- Fix ASP.NET Core issue with missing context when using capture methods that configure scope ([#2339](https://github.com/getsentry/sentry-dotnet/pull/2339))
- Improve debug file upload handling ([#2349](https://github.com/getsentry/sentry-dotnet/pull/2349))
### Dependencies
- Bump CLI from v2.17.0 to v2.17.5 ([#2298](https://github.com/getsentry/sentry-dotnet/pull/2298), [#2318](https://github.com/getsentry/sentry-dotnet/pull/2318), [#2321](https://github.com/getsentry/sentry-dotnet/pull/2321), [#2345](https://github.com/getsentry/sentry-dotnet/pull/2345))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2175)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.17.0...2.17.5)
- Bump Cocoa SDK from v8.4.0 to v8.6.0 ([#2310](https://github.com/getsentry/sentry-dotnet/pull/2310), [#2344](https://github.com/getsentry/sentry-dotnet/pull/2344))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#860)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.4.0...8.6.0)
- Bump Java SDK from v6.17.0 to v6.18.1 ([#2338](https://github.com/getsentry/sentry-dotnet/pull/2338), [#2343](https://github.com/getsentry/sentry-dotnet/pull/2343))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6181)
- [diff](https://github.com/getsentry/sentry-java/compare/6.17.0...6.18.1)
## 3.30.0
### Features
- Add `FileDiagnosticLogger` to assist with debugging the SDK ([#2242](https://github.com/getsentry/sentry-dotnet/pull/2242))
- Attach stack trace when events have captured an exception without a stack trace ([#2266](https://github.com/getsentry/sentry-dotnet/pull/2266))
- Add `Scope.Clear` and `Scope.ClearBreadcrumbs` methods ([#2284](https://github.com/getsentry/sentry-dotnet/pull/2284))
- Improvements to exception mechanism data ([#2294](https://github.com/getsentry/sentry-dotnet/pull/2294))
### Fixes
- Normalize StackFrame in-app resolution for modules & function prefixes ([#2234](https://github.com/getsentry/sentry-dotnet/pull/2234))
- Calling `AddAspNet` more than once should not block all errors from being sent ([#2253](https://github.com/getsentry/sentry-dotnet/pull/2253))
- Fix Sentry CLI arguments when using custom URL or auth token parameters ([#2259](https://github.com/getsentry/sentry-dotnet/pull/2259))
- Sentry.AspNetCore fix transaction name when path base is used and route starts with a slash ([#2265](https://github.com/getsentry/sentry-dotnet/pull/2265))
- Fix Baggage header parsing in ASP.NET (Framework) ([#2293](https://github.com/getsentry/sentry-dotnet/pull/2293))
### Dependencies
- Bump Cocoa SDK from v8.3.0 to v8.4.0 ([#2237](https://github.com/getsentry/sentry-dotnet/pull/2237), [#2248](https://github.com/getsentry/sentry-dotnet/pull/2248), [#2251](https://github.com/getsentry/sentry-dotnet/pull/2251), [#2285](https://github.com/getsentry/sentry-dotnet/pull/2285))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#840)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.3.0...8.4.0)
- Bump CLI from v2.14.4 to v2.17.0 ([#2238](https://github.com/getsentry/sentry-dotnet/pull/2238), [#2244](https://github.com/getsentry/sentry-dotnet/pull/2244), [#2252](https://github.com/getsentry/sentry-dotnet/pull/2252), [#2264](https://github.com/getsentry/sentry-dotnet/pull/2264), [#2292](https://github.com/getsentry/sentry-dotnet/pull/2292))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2170)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.14.4...2.17.0)
- Bump Java SDK from v6.15.0 to v6.17.0 ([#2243](https://github.com/getsentry/sentry-dotnet/pull/2243), [#2277](https://github.com/getsentry/sentry-dotnet/pull/2277))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6170)
- [diff](https://github.com/getsentry/sentry-java/compare/6.15.0...6.17.0)
## 3.29.1
### Fixes
- Get debug image for Full PDB format on Windows ([#2222](https://github.com/getsentry/sentry-dotnet/pull/2222))
- Fix debug files not uploading for `packages.config` nuget ([#2224](https://github.com/getsentry/sentry-dotnet/pull/2224))
### Dependencies
- Bump Cocoa SDK from v8.2.0 to v8.3.0 ([#2220](https://github.com/getsentry/sentry-dotnet/pull/2220))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#830)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.2.0...8.3.0)
## 3.29.0
**Notice:** The `` MSBuild property previously defaulted to `true` for projects compiled in `Release` configuration.
It is now `false` by default. To continue uploading symbols, you must opt-in by setting it to `true`.
See the [MSBuild Setup](https://docs.sentry.io/platforms/dotnet/configuration/msbuild/) docs for further details.
### Features
- Added basic functionality to support `View Hierarchy` ([#2163](https://github.com/getsentry/sentry-dotnet/pull/2163))
- Allow `SentryUploadSources` to work even when not uploading symbols ([#2197](https://github.com/getsentry/sentry-dotnet/pull/2197))
- Add support for `BeforeSendTransaction` ([#2188](https://github.com/getsentry/sentry-dotnet/pull/2188))
- Add `EnableTracing` option to simplify enabling tracing ([#2201](https://github.com/getsentry/sentry-dotnet/pull/2201))
- Make `SentryUploadSymbols` strictly opt-in ([#2216](https://github.com/getsentry/sentry-dotnet/pull/2216))
### Fixes
- Fix assembly not found on Android in Debug configuration ([#2175](https://github.com/getsentry/sentry-dotnet/pull/2175))
- Fix context object with circular reference prevents event from being sent ([#2210](https://github.com/getsentry/sentry-dotnet/pull/2210))
### Dependencies
- Bump Java SDK from v6.13.1 to v6.15.0 ([#2185](https://github.com/getsentry/sentry-dotnet/pull/2185), [#2207](https://github.com/getsentry/sentry-dotnet/pull/2207))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6150)
- [diff](https://github.com/getsentry/sentry-java/compare/6.13.1...6.15.0)
- Bump CLI from v2.12.0 to v2.14.4 ([#2187](https://github.com/getsentry/sentry-dotnet/pull/2187), [#2215](https://github.com/getsentry/sentry-dotnet/pull/2215))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2144)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.12.0...2.14.4)
- Bump Java SDK from v6.13.1 to v6.14.0 ([#2185](https://github.com/getsentry/sentry-dotnet/pull/2185))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6140)
- [diff](https://github.com/getsentry/sentry-java/compare/6.13.1...6.14.0)
- Bump CLI from v2.12.0 to v2.14.3 ([#2187](https://github.com/getsentry/sentry-dotnet/pull/2187), [#2208](https://github.com/getsentry/sentry-dotnet/pull/2208))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2143)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.12.0...2.14.3)
- Bump Cocoa SDK from v7.31.5 to v8.2.0 ([#2203](https://github.com/getsentry/sentry-dotnet/pull/2203))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#820)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/7.31.5...8.2.0)
## 3.28.1
### Fixes
- Fix MAUI missing breadcrumbs for lifecycle and UI events ([#2170](https://github.com/getsentry/sentry-dotnet/pull/2170))
- Fix hybrid sdk names ([#2171](https://github.com/getsentry/sentry-dotnet/pull/2171))
- Fix ASP.NET sdk name ([#2172](https://github.com/getsentry/sentry-dotnet/pull/2172))
## 3.28.0
### Features
- Added `instruction_addr_adjustment` attribute to SentryStackTrace ([#2151](https://github.com/getsentry/sentry-dotnet/pull/2151))
### Fixes
- Workaround Visual Studio "Pair to Mac" issue (on Windows), and Update bundled Cocoa SDK to version 7.31.5 ([#2164](https://github.com/getsentry/sentry-dotnet/pull/2164))
- Sentry SDK assemblies no longer have PDBs embedded. Debug symbols are uploaded to `nuget.org` as `snupkg` packages ([#2166](https://github.com/getsentry/sentry-dotnet/pull/2166))
### Dependencies
- Bump Java SDK from v6.13.0 to v6.13.1 ([#2168](https://github.com/getsentry/sentry-dotnet/pull/2168))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#6131)
- [diff](https://github.com/getsentry/sentry-java/compare/6.13.0...6.13.1)
## 3.27.1
### Fixes
- Fix Sentry CLI MSBuild for Xamarin and NetFX ([#2154](https://github.com/getsentry/sentry-dotnet/pull/2154))
- Log aborted HTTP requests as debug instead of error ([#2155](https://github.com/getsentry/sentry-dotnet/pull/2155))
## 3.27.0
### Features
- Publish `Sentry.Android.AssemblyReader` as a separate nuget package (for reuse by `Sentry.Xamarin`) ([#2127](https://github.com/getsentry/sentry-dotnet/pull/2127))
- Improvements for Sentry CLI integration ([#2145](https://github.com/getsentry/sentry-dotnet/pull/2145))
- Update bundled Android SDK to version 6.13.0 ([#2147](https://github.com/getsentry/sentry-dotnet/pull/2147))
## 3.26.2
### Fixes
- Fix Sentry CLI integration on Windows ([#2123](https://github.com/getsentry/sentry-dotnet/pull/2123)) ([#2124](https://github.com/getsentry/sentry-dotnet/pull/2124))
## 3.26.1
### Fixes
- Fix issue with Sentry CLI msbuild properties ([#2119](https://github.com/getsentry/sentry-dotnet/pull/2119))
## 3.26.0
### Features
- Use Sentry CLI after build to upload symbols ([#2107](https://github.com/getsentry/sentry-dotnet/pull/2107))
### Fixes
- Logging info instead of warning when skipping debug images ([#2101](https://github.com/getsentry/sentry-dotnet/pull/2101))
- Fix unhandled exception not captured when hub disabled ([#2103](https://github.com/getsentry/sentry-dotnet/pull/2103))
- Fix Android support for Portable PDB format when app uses split APKs ([#2108](https://github.com/getsentry/sentry-dotnet/pull/2108))
- Fix session ending as crashed for unobserved task exceptions ([#2112](https://github.com/getsentry/sentry-dotnet/pull/2112))
- Set absolute path when stripping project path on stack frame ([#2117](https://github.com/getsentry/sentry-dotnet/pull/2117))
## 3.25.0
### Features
- Add support for Portable PDB format ([#2050](https://github.com/getsentry/sentry-dotnet/pull/2050))
- Update bundled Android SDK to version 6.10.0([#2095](https://github.com/getsentry/sentry-dotnet/pull/2095))
- Update bundled Cocoa SDK to version 7.31.4 ([#2096](https://github.com/getsentry/sentry-dotnet/pull/2096))
### Fixes
- Fix db warnings caused by transaction sampled out ([#2097](https://github.com/getsentry/sentry-dotnet/pull/2097))
## 3.24.1
### Fixes
- Fix missing stack trace on UnobservedTaskException ([#2067](https://github.com/getsentry/sentry-dotnet/pull/2067))
- Fix warning caused by db connection span closed prematurely ([#2068](https://github.com/getsentry/sentry-dotnet/pull/2068))
- Attach db connections to child spans correctly ([#2071](https://github.com/getsentry/sentry-dotnet/pull/2071))
- Improve MAUI event bindings ([#2089](https://github.com/getsentry/sentry-dotnet/pull/2089))
## 3.24.0
### Features
- Simplify API for flushing events ([#2030](https://github.com/getsentry/sentry-dotnet/pull/2030))
- Update bundled Cocoa SDK to version 7.31.1 ([#2053](https://github.com/getsentry/sentry-dotnet/pull/2053))
- Update bundled Android SDK to version 6.7.1 ([#2058](https://github.com/getsentry/sentry-dotnet/pull/2058))
### Fixes
- Update unobserved task exception integration ([#2034](https://github.com/getsentry/sentry-dotnet/pull/2034))
- Fix trace propagation targets setter ([#2035](https://github.com/getsentry/sentry-dotnet/pull/2035))
- Fix DiagnosticSource integration disabled incorrectly with TracesSampler ([#2039](https://github.com/getsentry/sentry-dotnet/pull/2039))
- Update transitive dependencies to resolve security warnings ([#2045](https://github.com/getsentry/sentry-dotnet/pull/2045))
- Fix issue with Hot Restart for iOS ([#2047](https://github.com/getsentry/sentry-dotnet/pull/2047))
- Fix `CacheDirectoryPath` option on MAUI ([#2055](https://github.com/getsentry/sentry-dotnet/pull/2055))
## 3.23.1
### Fixes
- Fix concurrency bug in caching transport ([#2026](https://github.com/getsentry/sentry-dotnet/pull/2026))
## 3.23.0
### Features
- Update bundled Android SDK to version 6.5.0 ([#1984](https://github.com/getsentry/sentry-dotnet/pull/1984))
- Update bundled Cocoa SDK to version 7.28.0 ([#1988](https://github.com/getsentry/sentry-dotnet/pull/1988))
- Allow custom processors to be added as a scoped dependency ([#1979](https://github.com/getsentry/sentry-dotnet/pull/1979))
- Support DI for custom transaction processors ([#1993](https://github.com/getsentry/sentry-dotnet/pull/1993))
- Mark Transaction as aborted when unhandled exception occurs ([#1996](https://github.com/getsentry/sentry-dotnet/pull/1996))
- Build Windows and Tizen targets for `Sentry.Maui` ([#2005](https://github.com/getsentry/sentry-dotnet/pull/2005))
- Add Custom Measurements API ([#2013](https://github.com/getsentry/sentry-dotnet/pull/2013))
- Add `ISpan.GetTransaction` convenience method ([#2014](https://github.com/getsentry/sentry-dotnet/pull/2014))
### Fixes
- Split Android and Cocoa bindings into separate projects ([#1983](https://github.com/getsentry/sentry-dotnet/pull/1983))
- NuGet package `Sentry` now depends on `Sentry.Bindings.Android` for `net6.0-android` targets.
- NuGet package `Sentry` now depends on `Sentry.Bindings.Cocoa` for `net6.0-ios` and `net6.0-maccatalyst` targets.
- Exclude EF error message from logging ([#1980](https://github.com/getsentry/sentry-dotnet/pull/1980))
- Ensure logs with lower levels are captured by `Sentry.Extensions.Logging` ([#1992](https://github.com/getsentry/sentry-dotnet/pull/1992))
- Fix bug with pre-formatted strings passed to diagnostic loggers ([#2004](https://github.com/getsentry/sentry-dotnet/pull/2004))
- Fix DI issue by binding to MAUI using lifecycle events ([#2006](https://github.com/getsentry/sentry-dotnet/pull/2006))
- Unhide `SentryEvent.Exception` ([#2011](https://github.com/getsentry/sentry-dotnet/pull/2011))
- Bump `Google.Cloud.Functions.Hosting` to version 1.1.0 ([#2015](https://github.com/getsentry/sentry-dotnet/pull/2015))
- Fix default host issue for the Sentry Tunnel middleware ([#2019](https://github.com/getsentry/sentry-dotnet/pull/2019))
## 3.22.0
### Features
- `SentryOptions.AttachStackTrace` is now enabled by default. ([#1907](https://github.com/getsentry/sentry-dotnet/pull/1907))
- Update Sentry Android SDK to version 6.4.1 ([#1911](https://github.com/getsentry/sentry-dotnet/pull/1911))
- Update Sentry Cocoa SDK to version 7.24.1 ([#1912](https://github.com/getsentry/sentry-dotnet/pull/1912))
- Add `TransactionNameSource` annotation ([#1910](https://github.com/getsentry/sentry-dotnet/pull/1910))
- Use URL path in transaction names instead of "Unknown Route" ([#1919](https://github.com/getsentry/sentry-dotnet/pull/1919))
- NOTE: This change effectively ungroups transactions that were previously grouped together under "Unkown Route".
- Add `User.Segment` property ([#1920](https://github.com/getsentry/sentry-dotnet/pull/1920))
- Add support for custom `JsonConverter`s ([#1934](https://github.com/getsentry/sentry-dotnet/pull/1934))
- Support more types for message template tags in SentryLogger ([#1945](https://github.com/getsentry/sentry-dotnet/pull/1945))
- Support Dynamic Sampling ([#1953](https://github.com/getsentry/sentry-dotnet/pull/1953))
### Fixes
- Reduce lock contention when sampling ([#1915](https://github.com/getsentry/sentry-dotnet/pull/1915))
- Dont send transaction for OPTIONS web request ([#1921](https://github.com/getsentry/sentry-dotnet/pull/1921))
- Fix missing details when aggregate exception is filtered out ([#1922](https://github.com/getsentry/sentry-dotnet/pull/1922))
- Exception filters should consider child exceptions of an `AggregateException` ([#1924](https://github.com/getsentry/sentry-dotnet/pull/1924))
- Add Blazor WASM detection to set IsGlobalModeEnabled to true ([#1931](https://github.com/getsentry/sentry-dotnet/pull/1931))
- Respect Transaction.IsSampled in SqlListener ([#1933](https://github.com/getsentry/sentry-dotnet/pull/1933))
- Ignore null Context values ([#1942](https://github.com/getsentry/sentry-dotnet/pull/1942))
- Tags should not differ based on current culture ([#1949](https://github.com/getsentry/sentry-dotnet/pull/1949))
- Always recalculate payload length ([#1957](https://github.com/getsentry/sentry-dotnet/pull/1957))
- Fix issues with envelope deserialization ([#1965](https://github.com/getsentry/sentry-dotnet/pull/1965))
- Set default trace status to `ok` instead of `unknown_error` ([#1970](https://github.com/getsentry/sentry-dotnet/pull/1970))
- Fix reported error count on a crashed session update ([#1972](https://github.com/getsentry/sentry-dotnet/pull/1972))
## 3.21.0
Includes Sentry.Maui Preview 3
### Features
- Add ISentryTransactionProcessor ([#1862](https://github.com/getsentry/sentry-dotnet/pull/1862))
- Added 'integrations' to SdkVersion ([#1820](https://github.com/getsentry/sentry-dotnet/pull/1820))
- Updated Sentry Android SDK to version 6.3.0 ([#1826](https://github.com/getsentry/sentry-dotnet/pull/1826))
- Add the Sentry iOS SDK ([#1829](https://github.com/getsentry/sentry-dotnet/pull/1829))
- Enable Scope Sync for iOS ([#1834](https://github.com/getsentry/sentry-dotnet/pull/1834))
- Add API for deliberately crashing an app ([#1842](https://github.com/getsentry/sentry-dotnet/pull/1842))
- Add Mac Catalyst target ([#1848](https://github.com/getsentry/sentry-dotnet/pull/1848))
- Add `Distribution` properties ([#1851](https://github.com/getsentry/sentry-dotnet/pull/1851))
- Add and configure options for the iOS SDK ([#1849](https://github.com/getsentry/sentry-dotnet/pull/1849))
- Set default `Release` and `Distribution` for iOS and Android ([#1856](https://github.com/getsentry/sentry-dotnet/pull/1856))
- Apply WinUI 3 exception handler in Sentry core ([#1863](https://github.com/getsentry/sentry-dotnet/pull/1863))
- Copy context info from iOS ([#1884](https://github.com/getsentry/sentry-dotnet/pull/1884))
### Fixes
- Parse "Mono Unity IL2CPP" correctly in platform runtime name ([#1742](https://github.com/getsentry/sentry-dotnet/pull/1742))
- Fix logging loop with NLog sentry ([#1824](https://github.com/getsentry/sentry-dotnet/pull/1824))
- Fix logging loop with Serilog sentry ([#1828](https://github.com/getsentry/sentry-dotnet/pull/1828))
- Skip attachment if stream is empty ([#1854](https://github.com/getsentry/sentry-dotnet/pull/1854))
- Allow some mobile options to be modified from defaults ([#1857](https://github.com/getsentry/sentry-dotnet/pull/1857))
- Fix environment name casing issue ([#1861](https://github.com/getsentry/sentry-dotnet/pull/1861))
- Null check HttpContext in SystemWebVersionLocator ([#1881](https://github.com/getsentry/sentry-dotnet/pull/1881))
- Fix detection of .NET Framework 4.8.1 ([#1885](https://github.com/getsentry/sentry-dotnet/pull/1885))
- Flush caching transport with main flush ([#1890](https://github.com/getsentry/sentry-dotnet/pull/1890))
- Fix Sentry interfering with MAUI's focus events ([#1891](https://github.com/getsentry/sentry-dotnet/pull/1891))
- Stop using `server-os` and `server-runtime` ([#1893](https://github.com/getsentry/sentry-dotnet/pull/1893))
## 3.20.1
### Fixes
- URGENT: Fix events rejected due to duplicate `sent_at` header when offline caching is enabled through `CacheDirectoryPath` ([#1818](https://github.com/getsentry/sentry-dotnet/pull/1818))
- Fix null ref in aspnet TryGetTraceHeader ([#1807](https://github.com/getsentry/sentry-dotnet/pull/1807))
## 3.20.0
### Features
- Use `sent_at` instead of `sentry_timestamp` to reduce clock skew ([#1690](https://github.com/getsentry/sentry-dotnet/pull/1690))
- Send project root path with events ([#1739](https://github.com/getsentry/sentry-dotnet/pull/1739))
### Fixes
- Detect MVC versioning in route ([#1731](https://github.com/getsentry/sentry-dotnet/pull/1731))
- Fix error with `ConcurrentHashMap` on Android <= 9 ([#1761](https://github.com/getsentry/sentry-dotnet/pull/1761))
- Minor improvements to `BackgroundWorker` ([#1773](https://github.com/getsentry/sentry-dotnet/pull/1773))
- Make GzipRequestBodyHandler respect async ([#1776](https://github.com/getsentry/sentry-dotnet/pull/1776))
- Fix race condition in handling of `InitCacheFlushTimeout` ([#1784](https://github.com/getsentry/sentry-dotnet/pull/1784))
- Fix exceptions on background thread not reported in Unity ([#1794](https://github.com/getsentry/sentry-dotnet/pull/1794))
## 3.19.0
Includes Sentry.Maui Preview 2
### Features
- Expose `EnumerateChainedExceptions` ([#1733](https://github.com/getsentry/sentry-dotnet/pull/1733))
- Android Scope Sync ([#1737](https://github.com/getsentry/sentry-dotnet/pull/1737))
- Enable logging in MAUI ([#1738](https://github.com/getsentry/sentry-dotnet/pull/1738))
- Support `IntPtr` and `UIntPtr` serialization ([#1746](https://github.com/getsentry/sentry-dotnet/pull/1746))
- Log Warning when secret is detected in DSN ([#1749](https://github.com/getsentry/sentry-dotnet/pull/1749))
- Catch permission exceptions on Android ([#1750](https://github.com/getsentry/sentry-dotnet/pull/1750))
- Enable offline caching in MAUI ([#1753](https://github.com/getsentry/sentry-dotnet/pull/1753))
- Send client report when flushing queue ([#1757](https://github.com/getsentry/sentry-dotnet/pull/1757))
### Fixes
- Set MAUI minimum version ([#1728](https://github.com/getsentry/sentry-dotnet/pull/1728))
- Don't allow `SentryDiagnosticListenerIntegration` to be added multiple times ([#1748](https://github.com/getsentry/sentry-dotnet/pull/1748))
- Catch permission exceptions for MAUI ([#1750](https://github.com/getsentry/sentry-dotnet/pull/1750))
- Don't allow newlines in diagnostic logger messages ([#1756](https://github.com/getsentry/sentry-dotnet/pull/1756))
## 3.18.0
Includes Sentry.Maui Preview 1
### Features
- Move tunnel functionality into Sentry.AspNetCore ([#1645](https://github.com/getsentry/sentry-dotnet/pull/1645))
- Make `HttpContext` available for sampling decisions ([#1682](https://github.com/getsentry/sentry-dotnet/pull/1682))
- Send the .NET Runtime Identifier to Sentry ([#1708](https://github.com/getsentry/sentry-dotnet/pull/1708))
- Added a new `net6.0-android` target for the `Sentry` core library, which bundles the [Sentry Android SDK](https://docs.sentry.io/platforms/android/):
- Initial .NET 6 Android support ([#1288](https://github.com/getsentry/sentry-dotnet/pull/1288))
- Update Android Support ([#1669](https://github.com/getsentry/sentry-dotnet/pull/1669))
- Update Sentry-Android to 6.0.0-rc.1 ([#1686](https://github.com/getsentry/sentry-dotnet/pull/1686))
- Update Sentry-Android to 6.0.0 ([#1697](https://github.com/getsentry/sentry-dotnet/pull/1697))
- Set Java/Android SDK options ([#1694](https://github.com/getsentry/sentry-dotnet/pull/1694))
- Refactor and update Android options ([#1705](https://github.com/getsentry/sentry-dotnet/pull/1705))
- Add Android OS information to the event context ([#1716](https://github.com/getsentry/sentry-dotnet/pull/1716))
- Added a new `Sentry.Maui` integration library for the [.NET MAUI](https://dotnet.microsoft.com/apps/maui) platform:
- Initial MAUI support ([#1663](https://github.com/getsentry/sentry-dotnet/pull/1663))
- Continue with adding MAUI support ([#1670](https://github.com/getsentry/sentry-dotnet/pull/1670))
- MAUI events become extra context in Sentry events ([#1706](https://github.com/getsentry/sentry-dotnet/pull/1706))
- Add options for PII breadcrumbs from MAUI events ([#1709](https://github.com/getsentry/sentry-dotnet/pull/1709))
- Add device information to the event context ([#1713](https://github.com/getsentry/sentry-dotnet/pull/1713))
- Add platform OS information to the event context ([#1717](https://github.com/getsentry/sentry-dotnet/pull/1717))
### Fixes
- Remove IInternalSdkIntegration ([#1656](https://github.com/getsentry/sentry-dotnet/pull/1656))
- On async Main, dont unregister unhandled exception before capturing crash ([#321](https://github.com/getsentry/sentry-dotnet/issues/321))
- Handle BadHttpRequestException from Kestrel inside SentryTunnelMiddleware ([#1673](https://github.com/getsentry/sentry-dotnet/pull/1673))
- Improve timestamp precision of transactions and spans ([#1680](https://github.com/getsentry/sentry-dotnet/pull/1680))
- Flatten AggregateException ([#1672](https://github.com/getsentry/sentry-dotnet/pull/1672))
- NOTE: This can affect grouping. You can keep the original behavior by setting the option `KeepAggregateException` to `true`.
- Serialize stack frame addresses as strings. ([#1692](https://github.com/getsentry/sentry-dotnet/pull/1692))
- Improve serialization perf and fix memory leak in `SentryEvent` ([#1693](https://github.com/getsentry/sentry-dotnet/pull/1693))
- Add type checking in contexts TryGetValue ([#1700](https://github.com/getsentry/sentry-dotnet/pull/1700))
- Restore serialization of the `Platform` name ([#1702](https://github.com/getsentry/sentry-dotnet/pull/1702))
## 3.17.1
### Fixes
- Rework how the `InitCacheFlushTimeout` option is implemented. ([#1644](https://github.com/getsentry/sentry-dotnet/pull/1644))
- Add retry logic to the caching transport when moving files back from the processing folder. ([#1649](https://github.com/getsentry/sentry-dotnet/pull/1649))
## 3.17.0
**Notice:** If you are using self-hosted Sentry, this version and forward requires either Sentry version >= [21.9.0](https://github.com/getsentry/relay/blob/master/CHANGELOG.md#2190), or you must manually disable sending client reports via the `SendClientReports` option.
### Features
- Collect and send Client Reports to Sentry, which contain counts of discarded events. ([#1556](https://github.com/getsentry/sentry-dotnet/pull/1556))
- Expose `ITransport` and `SentryOptions.Transport` public, to support using custom transports ([#1602](https://github.com/getsentry/sentry-dotnet/pull/1602))
- Android native crash support ([#1288](https://github.com/getsentry/sentry-dotnet/pull/1288))
### Fixes
- Workaround `System.Text.Json` issue with Unity IL2CPP. ([#1583](https://github.com/getsentry/sentry-dotnet/pull/1583))
- Demystify stack traces for exceptions that fire in a `BeforeSend` callback. ([#1587](https://github.com/getsentry/sentry-dotnet/pull/1587))
- Obsolete `Platform` and always write `csharp` ([#1610](https://github.com/getsentry/sentry-dotnet/pull/1610))
- Fix a minor issue in the caching transport related to recovery of files from previous session. ([#1617](https://github.com/getsentry/sentry-dotnet/pull/1617))
- Better DisableAppDomainProcessExitFlush docs ([#1634](https://github.com/getsentry/sentry-dotnet/pull/1634))
## 3.16.0
### Features
- Use a default value of 60 seconds if a `Retry-After` header is not present. ([#1537](https://github.com/getsentry/sentry-dotnet/pull/1537))
- Add new Protocol definitions for DebugImages and AddressMode ([#1513](https://github.com/getsentry/sentry-dotnet/pull/1513))
- Add `HttpTransport` extensibility and synchronous serialization support ([#1560](https://github.com/getsentry/sentry-dotnet/pull/1560))
- Add `UseAsyncFileIO` to Sentry options (enabled by default) ([#1564](https://github.com/getsentry/sentry-dotnet/pull/1564))
### Fixes
- Fix event dropped by bad attachment when no logger is set. ([#1557](https://github.com/getsentry/sentry-dotnet/pull/1557))
- Ignore zero properties for MemoryInfo ([#1531](https://github.com/getsentry/sentry-dotnet/pull/1531))
- Cleanup diagnostic source ([#1529](https://github.com/getsentry/sentry-dotnet/pull/1529))
- Remove confusing message Successfully sent cached envelope ([#1542](https://github.com/getsentry/sentry-dotnet/pull/1542))
- Fix infinite loop in SentryDatabaseLogging.UseBreadcrumbs ([#1543](https://github.com/getsentry/sentry-dotnet/pull/1543))
- GetFromRuntimeInformation() in try-catch ([#1554](https://github.com/getsentry/sentry-dotnet/pull/1554))
- Make `Contexts` properties more thread-safe ([#1571](https://github.com/getsentry/sentry-dotnet/pull/1571))
- Fix `PlatformNotSupportedException` exception on `net6.0-maccatalyst` targets ([#1567](https://github.com/getsentry/sentry-dotnet/pull/1567))
- In ASP.Net Core, make sure that `SentrySdk.LastEventId` is accessible from exception handler pages ([#1573](https://github.com/getsentry/sentry-dotnet/pull/1573))
## 3.15.0
### Features
- Expose ConfigureAppFrame as a public static function. ([#1493](https://github.com/getsentry/sentry-dotnet/pull/1493))
### Fixes
- Make `SentryDiagnosticSubscriber._disposableListeners` thread safe ([#1506](https://github.com/getsentry/sentry-dotnet/pull/1506))
- Adjust database span names by replacing `_` to `.`. `db.query_compiler` becomes `db.query.compile`. ([#1502](https://github.com/getsentry/sentry-dotnet/pull/1502))
## 3.14.1
### Fixes
- Fix caching transport with attachments ([#1489](https://github.com/getsentry/sentry-dotnet/pull/1489))
- Revert Sentry in implicit usings ([#1490](https://github.com/getsentry/sentry-dotnet/pull/1490))
## 3.14.0
### Features
- Add the delegate TransactionNameProvider to allow the name definition from Unknown transactions on ASP.NET Core ([#1421](https://github.com/getsentry/sentry-dotnet/pull/1421))
- SentrySDK.WithScope is now obsolete in favour of overloads of CaptureEvent, CaptureMessage, CaptureException ([#1412](https://github.com/getsentry/sentry-dotnet/pull/1412))
- Add Sentry to global usings when ImplicitUsings is enabled (`true`) ([#1398](https://github.com/getsentry/sentry-dotnet/pull/1398))
- The implementation of the background worker can now be changed ([#1450](https://github.com/getsentry/sentry-dotnet/pull/1450))
- Map reg key 528449 to net48 ([#1465](https://github.com/getsentry/sentry-dotnet/pull/1465))
- Improve logging for failed JSON serialization ([#1473](https://github.com/getsentry/sentry-dotnet/pull/1473))
### Fixes
- Handle exception from crashedLastRun callback ([#1328](https://github.com/getsentry/sentry-dotnet/pull/1328))
- Reduced the logger noise from EF when not using Performance Monitoring ([#1441](https://github.com/getsentry/sentry-dotnet/pull/1441))
- Create CachingTransport directories in constructor to avoid DirectoryNotFoundException ([#1432](https://github.com/getsentry/sentry-dotnet/pull/1432))
- UnobservedTaskException is now considered as Unhandled ([#1447](https://github.com/getsentry/sentry-dotnet/pull/1447))
- Avoid calls the Thread.CurrentThread where possible ([#1466](https://github.com/getsentry/sentry-dotnet/pull/1466))
- Rename thread pool protocol keys to snake case ([#1472](https://github.com/getsentry/sentry-dotnet/pull/1472))
- Treat IOException as a network issue ([#1476](https://github.com/getsentry/sentry-dotnet/pull/1476))
- Fix incorrect sdk name in envelope header ([#1474](https://github.com/getsentry/sentry-dotnet/pull/1474))
- Use Trace.WriteLine for TraceDiagnosticLogger ([#1475](https://github.com/getsentry/sentry-dotnet/pull/1475))
- Remove Exception filters to work around Unity bug on 2019.4.35f IL2CPP ([#1486](https://github.com/getsentry/sentry-dotnet/pull/1486))
## 3.13.0
### Features
- Add CaptureLastError as an extension method to the Server class on ASP.NET ([#1411](https://github.com/getsentry/sentry-dotnet/pull/1411))
- Add IsDynamicCode\* to events ([#1418](https://github.com/getsentry/sentry-dotnet/pull/1418))
### Fixes
- Dispose of client should only flush ([#1354](https://github.com/getsentry/sentry-dotnet/pull/1354))
## 3.12.3
### Fixes
- Events no longer get dropped because of non-serializable contexts or attachments ([#1401](https://github.com/getsentry/sentry-dotnet/pull/1401))
- Add MemoryInfo to sentry event ([#1337](https://github.com/getsentry/sentry-dotnet/pull/1337))
- Report ThreadPool stats ([#1399](https://github.com/getsentry/sentry-dotnet/pull/1399))
## 3.12.2
### Fixes
- log through serialization ([#1388](https://github.com/getsentry/sentry-dotnet/pull/1388))
- Attaching byte arrays to the scope no longer leads to ObjectDisposedException ([#1384](https://github.com/getsentry/sentry-dotnet/pull/1384))
- Operation cancel while flushing cache no longer logs an errors ([#1352](https://github.com/getsentry/sentry-dotnet/pull/1352))
- Dont fail for attachment read error ([#1378](https://github.com/getsentry/sentry-dotnet/pull/1378))
- Fix file locking in attachments ([#1377](https://github.com/getsentry/sentry-dotnet/pull/1377))
## 3.12.1
### Features
- Dont log "Ignoring request with Size" when null ([#1348](https://github.com/getsentry/sentry-dotnet/pull/1348))
- Move to stable v6 for `Microsoft.Extensions.*` packages ([#1347](https://github.com/getsentry/sentry-dotnet/pull/1347))
- bump Ben.Demystifier adding support for Microsoft.Bcl.AsyncInterfaces([#1349](https://github.com/getsentry/sentry-dotnet/pull/1349))
### Fixes
- Fix EF Core garbage collected messages and ordering ([#1368](https://github.com/getsentry/sentry-dotnet/pull/1368))
- Update X-Sentry-Auth header to include correct sdk name and version ([#1333](https://github.com/getsentry/sentry-dotnet/pull/1333))
## 3.12.0
### Features
- Add automatic spans to Entity Framework operations ([#1107](https://github.com/getsentry/sentry-dotnet/pull/1107))
### Fixes
- Avoid using the same connection Span for the same ConnectionId ([#1317](https://github.com/getsentry/sentry-dotnet/pull/1317))
- Finish unfinished Spans on Transaction completion ([#1296](https://github.com/getsentry/sentry-dotnet/pull/1296))
## 3.12.0-alpha.1
### Features
- .NET 6 specific targets ([#939](https://github.com/getsentry/sentry-dotnet/pull/939))
## 3.11.1
### Fixes
- Forward the IP of the client with whe tunnel middleware ([#1310](getsentry/sentry-dotnet/pull/1310))
## 3.11.0
### Features
- Sentry Sessions status as Breadcrumbs ([#1263](https://github.com/getsentry/sentry-dotnet/pull/1263))
- Enhance GCP Integraction with performance monitoring and revision number ([#1286](https://github.com/getsentry/sentry-dotnet/pull/1286))
- Bump Ben.Demystifier to support .NET 6 ([#1290](https://github.com/getsentry/sentry-dotnet/pull/1290))
### Fixes
- ASP.NET Core: Data from Scope in options should be applied on each request ([#1270](https://github.com/getsentry/sentry-dotnet/pull/1270))
- Add missing `ConfigureAwaits(false)` for `async using` ([#1276](https://github.com/getsentry/sentry-dotnet/pull/1276))
- Fix missing handled tag when events are logged via an ASP.NET Core pipeline logger ([#1284](getsentry/sentry-dotnet/pull/1284))
## 3.10.0
### Features
- Add additional primitive values as tags on SentryLogger ([#1246](https://github.com/getsentry/sentry-dotnet/pull/1246))
### Fixes
- Events are now sent on Google Gloud Functions Integration ([#1249](https://github.com/getsentry/sentry-dotnet/pull/1249))
- Cache envelope headers ([#1242](https://github.com/getsentry/sentry-dotnet/pull/1242))
- Avoid replacing Transaction Name on ASP.NET Core by null or empty ([#1215](https://github.com/getsentry/sentry-dotnet/pull/1215))
- Ignore DiagnosticSource Integration if no Sampling available ([#1238](https://github.com/getsentry/sentry-dotnet/pull/1238))
## 3.9.4
### Fixes
- Unity Android support: check for native crashes before closing session as Abnormal ([#1222](https://github.com/getsentry/sentry-dotnet/pull/1222))
## 3.9.3
### Fixes
- Add missing PathBase from ASP.NET Core ([#1198](https://github.com/getsentry/sentry-dotnet/pull/1198))
- Use fallback if route pattern is MVC ([#1188](https://github.com/getsentry/sentry-dotnet/pull/1188))
- Move UseSentryTracing to different namespace ([#1200](https://github.com/getsentry/sentry-dotnet/pull/1200))
- Prevent duplicate package reporting ([#1197](https://github.com/getsentry/sentry-dotnet/pull/1197))
## 3.9.2
### Fixes
- Exceptions from UnhandledExceptionIntegration were not marking sessions as crashed ([#1193](https://github.com/getsentry/sentry-dotnet/pull/1193))
## 3.9.1
### Fixes
- Removed braces from tag keys on DefaultSentryScopeStateProcessor ([#1183](https://github.com/getsentry/sentry-dotnet/pull/1183))
- Fix SQLClient unplanned behaviors ([#1179](https://github.com/getsentry/sentry-dotnet/pull/1179))
- Add fallback to Scope Stack from AspNet ([#1180](https://github.com/getsentry/sentry-dotnet/pull/1180))
## 3.9.0
### Features
- EF Core and SQLClient performance monitoring integration ([#1154](https://github.com/getsentry/sentry-dotnet/pull/1154))
- Improved SDK diagnostic logs ([#1161](https://github.com/getsentry/sentry-dotnet/pull/1161))
- Add Scope observer to SentryOptions ([#1153](https://github.com/getsentry/sentry-dotnet/pull/1153))
### Fixes
- Fix end session from Hub adapter not being passed to SentrySDK ([#1158](https://github.com/getsentry/sentry-dotnet/pull/1158))
- Installation id catches dir not exist([#1159](https://github.com/getsentry/sentry-dotnet/pull/1159))
- Set error status to transaction if http has exception and ok status ([#1143](https://github.com/getsentry/sentry-dotnet/pull/1143))
- Fix max breadcrumbs limit when MaxBreadcrumbs is zero or lower ([#1145](https://github.com/getsentry/sentry-dotnet/pull/1145))
## 3.8.3
### Features
- New package Sentry.Tunnel to proxy Sentry events ([#1133](https://github.com/getsentry/sentry-dotnet/pull/1133))
### Fixes
- Avoid serializing dangerous types ([#1134](https://github.com/getsentry/sentry-dotnet/pull/1134))
- Don't cancel cache flushing on init ([#1139](https://github.com/getsentry/sentry-dotnet/pull/1139))
## 3.8.2
### Fixes
- Add IsParentSampled to ITransactionContext ([#1128](https://github.com/getsentry/sentry-dotnet/pull/1128)
- Avoid warn in global mode ([#1132](https://github.com/getsentry/sentry-dotnet/pull/1132))
- Fix `ParentSampledId` being reset on `Transaction` ([#1130](https://github.com/getsentry/sentry-dotnet/pull/1130))
## 3.8.1
### Fixes
- Persisted Sessions logging ([#1125](https://github.com/getsentry/sentry-dotnet/pull/1125))
- Don't log an error when attempting to recover a persisted session but none exists ([#1123](https://github.com/getsentry/sentry-dotnet/pull/1123))
### Features
- Introduce scope stack abstraction to support global scope on desktop and mobile applications and `HttpContext`-backed scoped on legacy ASP.NET ([#1124](https://github.com/getsentry/sentry-dotnet/pull/1124))
## 3.8.0
### Fixes
- ASP.NET Core: fix handled not being set for Handled exceptions ([#1111](https://github.com/getsentry/sentry-dotnet/pull/1111))
### Features
- File system persistence for sessions ([#1105](https://github.com/getsentry/sentry-dotnet/pull/1105))
## 3.7.0
### Features
- Add HTTP request breadcrumb ([#1113](https://github.com/getsentry/sentry-dotnet/pull/1113))
- Integration for Google Cloud Functions ([#1085](https://github.com/getsentry/sentry-dotnet/pull/1085))
- Add ClearAttachments to Scope ([#1104](https://github.com/getsentry/sentry-dotnet/pull/1104))
- Add additional logging and additional fallback for installation ID ([#1103](https://github.com/getsentry/sentry-dotnet/pull/1103))
### Fixes
- Avoid Unhandled Exception on .NET 461 if the Registry Access threw an exception ([#1101](https://github.com/getsentry/sentry-dotnet/pull/1101))
## 3.6.1
### Fixes
- `IHub.ResumeSession()`: don't start a new session if pause wasn't called or if there is no active session ([#1089](https://github.com/getsentry/sentry-dotnet/pull/1089))
- Fixed incorrect order when getting the last active span ([#1094](https://github.com/getsentry/sentry-dotnet/pull/1094))
- Fix logger call in BackgroundWorker that caused a formatting exception in runtime ([#1092](https://github.com/getsentry/sentry-dotnet/pull/1092))
## 3.6.0
### Features
- Implement pause & resume session ([#1069](https://github.com/getsentry/sentry-dotnet/pull/1069))
- Add auto session tracking ([#1068](https://github.com/getsentry/sentry-dotnet/pull/1068))
- Add SDK information to envelope ([#1084](https://github.com/getsentry/sentry-dotnet/pull/1084))
- Add ReportAssembliesMode in favor of ReportAssemblies ([#1079](https://github.com/getsentry/sentry-dotnet/pull/1079))
### Fixes
- System.Text.Json 5.0.2 ([#1078](https://github.com/getsentry/sentry-dotnet/pull/1078))
## 3.6.0-alpha.2
### Features
- Extended Device and GPU protocol; public IJsonSerializable ([#1063](https://github.com/getsentry/sentry-dotnet/pull/1063))
- ASP.NET Core: Option `AdjustStandardEnvironmentNameCasing` to opt-out from lower casing env name. [#1057](https://github.com/getsentry/sentry-dotnet/pull/1057)
- Sessions: Improve exception check in `CaptureEvent(...)` for the purpose of reporting errors in session ([#1058](https://github.com/getsentry/sentry-dotnet/pull/1058))
- Introduce TraceDiagnosticLogger and obsolete DebugDiagnosticLogger ([#1048](https://github.com/getsentry/sentry-dotnet/pull/1048))
### Fixes
- Handle error thrown while trying to get `BootTime` on PS4 with IL2CPP ([#1062](https://github.com/getsentry/sentry-dotnet/pull/1062))
- Use SentryId for ISession.Id ([#1052](https://github.com/getsentry/sentry-dotnet/pull/1052))
- Add System.Reflection.Metadata as a dependency for netcoreapp3.0 target([#1064](https://github.com/getsentry/sentry-dotnet/pull/1064))
## 3.6.0-alpha.1
### Features
- Implemented client-mode release health ([#1013](https://github.com/getsentry/sentry-dotnet/pull/1013))
### Fixes
- Report lowercase staging environment for ASP.NET Core ([#1046](https://github.com/getsentry/sentry-unity/pull/1046))
## 3.5.0
### Features
- Report user IP address for ASP.NET Core ([#1045](https://github.com/getsentry/sentry-unity/pull/1045))
### Fixes
- Connect middleware exceptions to transactions ([#1043](https://github.com/getsentry/sentry-dotnet/pull/1043))
- Hub.IsEnabled set to false when Hub disposed ([#1021](https://github.com/getsentry/sentry-dotnet/pull/1021))
## 3.4.0
### Features
- Sentry.EntityFramework moved to this repository ([#1017](https://github.com/getsentry/sentry-dotnet/pull/1017))
- Additional `netstandard2.1` target added. Sample with .NET Core 3.1 console app.
- `UseBreadcrumbs` is called automatically by `AddEntityFramework`
### Fixes
- Normalize line breaks ([#1016](https://github.com/getsentry/sentry-dotnet/pull/1016))
- Finish span with exception in SentryHttpMessageHandler ([#1037](https://github.com/getsentry/sentry-dotnet/pull/1037))
## 3.4.0-beta.0
### Features
- Serilog: Add support for Serilog.Formatting.ITextFormatter ([#998](https://github.com/getsentry/sentry-dotnet/pull/998))
- simplify ifdef ([#1010](https://github.com/getsentry/sentry-dotnet/pull/1010))
- Use `DebugDiagnosticLogger` as the default logger for legacy ASP.NET ([#1012](https://github.com/getsentry/sentry-dotnet/pull/1012))
- Adjust parameter type in `AddBreadcrumb` to use `IReadOnlyDictionary<...>` instead of `Dictionary<...>` ([#1000](https://github.com/getsentry/sentry-dotnet/pull/1000))
- await dispose everywhere ([#1009](https://github.com/getsentry/sentry-dotnet/pull/1009))
- Further simplify transaction integration from legacy ASP.NET ([#1011](https://github.com/getsentry/sentry-dotnet/pull/1011))
## 3.3.5-beta.0
### Features
- Default environment to "debug" if running with debugger attached (#978)
- ASP.NET Classic: `HttpContext.StartSentryTransaction()` extension method (#996)
### Fixes
- Unity can have negative line numbers ([#994](https://github.com/getsentry/sentry-dotnet/pull/994))
- Fixed an issue where an attempt to deserialize `Device` with a non-system time zone failed ([#993](https://github.com/getsentry/sentry-dotnet/pull/993))
## 3.3.4
### Features
- Env var to keep large envelopes if they are rejected by Sentry (#957)
### Fixes
- serialize parent_span_id in contexts.trace (#958)
## 3.3.3
### Fixes
- boot time detection can fail in some cases (#955)
## 3.3.2
### Fixes
- Don't override Span/Transaction status on Finish(...) if status was not provided explicitly (#928) @Tyrrrz
- Fix startup time shows incorrect value on macOS/Linux. Opt-out available for IL2CPP. (#948)
## 3.3.1
### Fixes
- Move Description field from Transaction to Trace context (#924) @Tyrrrz
- Drop unfinished spans from transaction (#923) @Tyrrrz
- Don't dispose the SDK when UnobservedTaskException is captured (#925) @bruno-garcia
- Fix spans not inheriting TraceId from transaction (#922) @Tyrrrz
## 3.3.0
### Features
- Add StartupTime and Device.BootTime (#887) @lucas-zimerman
- Link events to currently active span (#909) @Tyrrrz
- Add useful contextual data to TransactionSamplingContext in ASP.NET Core integration (#910) @Tyrrrz
### Changes
- Limit max spans in transaction to 1000 (#908) @Tyrrrz
## 3.2.0
### Changes
- Changed the underlying implementation of `ITransaction` and `ISpan`. `IHub.CaptureTransaction` now takes a `Transaction` instead of `ITransaction`. (#880) @Tyrrrz
- Add IsParentSampled to TransactionContext (#885) @Tyrrrz
- Retrieve CurrentVersion for ASP.NET applications (#884) @lucas-zimerman
- Make description parameter nullable on `ISpan.StartChild(...)` and related methods (#900) @Tyrrrz
- Add Platform to Transaction, mimicking the same property on SentryEvent (#901) @Tyrrrz
## 3.1.0
### Features
- Adding TaskUnobservedTaskExceptionIntegration to default integrations and method to remove it (#870) @FilipNemec
- Enrich transactions with more data (#875) @Tyrrrz
### Fixes
- Don't add version prefix in release if it's already set (#877) @Tyrrrz
## 3.0.8
### Features
- Add AddSentryTag and AddSentryContext Extensions for exception class (#834) @lucas-zimerman
- Associate span exceptions with event exceptions (#848) @Tyrrrz
- MaxCacheItems option to control files on disk (#846) @Tyrrrz
- Move SentryHttpMessageHandlerBuilderFilter to Sentry.Extensions.Logging (#845) @Tyrrrz
### Fixes
- Fix CachingTransport throwing an exception when it can't move the files from the previous session (#871) @Tyrrrz
## 3.0.7
### Changes
- Don't write timezone_display_name if it's the same as the ID (#837) @Tyrrrz
- Serialize arbitrary objects in contexts (#838) @Tyrrrz
## 3.0.6
### Fixes
- Fix serialization of transactions when filesystem caching is enabled. (#815) @Tyrrrz
- Fix UWP not registering exceptions (#821) @lucas-zimerman
- Fix tracing middleware (#813) @Tyrrrz
## 3.0.5
### Changes
- Fix transaction sampling (#810) @Tyrrrz
## 3.0.4
### Changes
- Don't add logs coming from Sentry as breadcrumbs (fixes stack overflow exception) (#797) @Tyrrrz
- Consolidate logic for resolving hub (fixes bug "SENTRY_DSN is not defined") (#795) @Tyrrrz
- Add SetFingerprint overload that takes `params string[]` (#796) @Tyrrrz
- Create spans for outgoing HTTP requests (#802) @Tyrrrz
- Finish span on exception in SentryHttpMessageHandler (#806) @Tyrrrz
- Fix ObjectDisposedException caused by object reuse in RetryAfterHandler (#807) @Tyrrrz
## 3.0.3
### Changes
- Fix DI issues in ASP.NET Core + SentryHttpMessageHandlerBuilderFilter (#789) @Tyrrrz
- Fix incorrect NRT on SpanContext.ctor (#788) @Tyrrrz
- Remove the `Evaluate` error from the breadcrumb list (#790) @Tyrrrz
- Set default tracing sample rate to 0.0 (#791) @Tyrrrz
## 3.0.2
### Changes
- Add GetSpan() to IHub and SentrySdk (#782) @Tyrrrz
- Automatically start transactions from incoming trace in ASP.NET Core (#783) @Tyrrrz
- Automatically inject 'sentry-trace' on outgoing requests in ASP.NET Core (#784) @Tyrrrz
## 3.0.1
### Changes
- bump log4net 2.0.12 (#781) @bruno-garcia
- Fix Serilog version (#780) @bruno-garcia
- Move main Protocol types to Sentry namespace (#779) @bruno-garcia
## 3.0.0
### Changes
- Add support for dynamic transaction sampling. (#753) @Tyrrrz
- Integrate trace headers. (#758) @Tyrrrz
- Renamed Option `DiagnosticsLevel` to `DiagnosticLevel` (#759) @bruno-garcia
- Add additional data to transactions (#763) @Tyrrrz
- Improve transaction instrumentation on ASP.NET Core (#766) @Tyrrrz
- Add `Release` to `Scope` (#765) @Tyrrrz
- Don't fallback to `HttpContext.RequestPath` if a route is unknown (#767 #769) @kanadaj @Tyrrrz
## 3.0.0-beta.0
### Changes
- Add instruction_addr to SentryStackFrame. (#744) @lucas-zimerman
- Default stack trace format: Ben.Demystifier (#732) @bruno-garcia
## 3.0.0-alpha.11
### Changed
- Limit attachment size (#705)
- Separate tracing middleware (#737)
- Bring Transaction a bit more inline with Java SDK (#741)
- Sync transaction and transaction name on scope (#740)
## 3.0.0-alpha.10
- Disabled Mono StackTrace Factory. (#709) @lucas-zimerman
- Adds to the existing User Other dict rather than replacing (#729) @brettjenkins
## 3.0.0-alpha.9
- Handle non-json error response messages on HttpTransport. (#690) @lucas-zimerman
- Fix deadlock on missing ConfigureAwait into foreach loops. (#694) @lucas-zimerman
- Report gRPC sdk name (#700) @bruno-garcia
## 3.0.0-alpha.8
- Include parameters in stack frames. (#662) @Tyrrrz
- Remove CultureUIInfo if value is even with CultureInfo. (#671) @lucas-zimerman
- Make all fields on UserFeedback optional. (#660) @Tyrrrz
- Align transaction names with Java. (#659) @Tyrrrz
- Include assembly name in default release. (#682) @Tyrrrz
- Add support for attachments. (#670) @Tyrrrz
- Improve logging for relay errors. (#683) @Tyrrrz
- Report sentry.dotnet.aspnet on the new Sentry.AspNet package. (#681) @Tyrrrz
- Always send a default release. (#695) @Tyrrrz
## 3.0.0-alpha.7
- Ref moved SentryId from namespace Sentry.Protocol to Sentry (#643) @lucas-zimerman
- Ref renamed `CacheFlushTimeout` to `InitCacheFlushTimeout` (#638) @lucas-zimerman
- Add support for performance. ([#633](https://github.com/getsentry/sentry-dotnet/pull/633))
- Transaction (of type `string`) on Scope and Event now is called TransactionName. ([#633](https://github.com/getsentry/sentry-dotnet/pull/633))
## 3.0.0-alpha.6
- Abandon ValueTask #611
- Fix Cache deleted on HttpTransport exception. (#610) @lucas-zimerman
- Add `SentryScopeStateProcessor` #603
- Add net5.0 TFM to libraries #606
- Add more logging to CachingTransport #619
- Bump Microsoft.Bcl.AsyncInterfaces to 5.0.0 #618
- Bump `Microsoft.Bcl.AsyncInterfaces` to 5.0.0 #618
- `DefaultTags` moved from `SentryLoggingOptions` to `SentryOptions` (#637) @PureKrome
- `Sentry.Serilog` can accept DefaultTags (#637) @PureKrome
## 3.0.0-alpha.5
- Replaced `BaseScope` with `IScope`. (#590) @Tyrrrz
- Removed code coverage report from the test folder. (#592) @lucas-zimerman
- Add target framework NET5.0 on Sentry.csproj. Change the type of `Extra` where value parameter become nullable. @lucas-zimerman
- Implement envelope caching. (#576) @Tyrrrz
- Add a list of .NET Frameworks installed when available. (#531) @lucas-zimerman
- Parse Mono and IL2CPP stacktraces for Unity and Xamarin (#578) @bruno-garcia
- Update TFMs and dependency min version (#580) @bruno-garcia
- Run all tests on .NET 5 (#583) @bruno-garcia
## 3.0.0-alpha.4
- Add the client user ip if both SendDefaultPii and IsEnvironmentUser are set. (#1015) @lucas-zimerman
- Replace Task with ValueTask where possible. (#564) @Tyrrrz
- Add support for ASP.NET Core gRPC (#563) @Mitch528
- Push API docs to GitHub Pages GH Actions (#570) @bruno-garcia
- Refactor envelopes
## 3.0.0-alpha.3
- Add support for user feedback. (#559) @lucas-zimerman
- Add support for envelope deserialization (#558) @Tyrrrz
- Add package description and tags to Sentry.AspNet @Tyrrrz
- Fix internal url references for the new Sentry documentation. (#562) @lucas-zimerman
## 3.0.0-alpha.2
- Set the Environment setting to 'production' if none was provided. (#550) @PureKrome
- ASPNET.Core hosting environment is set to 'production' / 'development' (notice lower casing) if no custom options.Enviroment is set. (#554) @PureKrome
- Add most popular libraries to InAppExclude #555 (@bruno-garcia)
- Add support for individual rate limits.
- Extend `SentryOptions.BeforeBreadcrumb` signature to accept returning nullable values.
- Add support for envelope deserialization.
## 3.0.0-alpha.1
- Rename `LogEntry` to `SentryMessage`. Change type of `SentryEvent.Message` from `string` to `SentryMessage`.
- Change the type of `Gpu.VendorId` from `int` to `string`.
- Add support for envelopes.
- Publishing symbols package (snupkg) to nuget.org with sourcelink
## 3.0.0-alpha.0
- Move aspnet-classic integration to Sentry.AspNet (#528) @Tyrrrz
- Merge Sentry.Protocol into Sentry (#527) @Tyrrrz
- Framework and runtime info (#526) @bruno-garcia
- Add NRTS to Sentry.Extensions.Logging (#524) @Tyrrrz
- Add NRTs to Sentry.Serilog, Sentry.NLog, Sentry.Log4Net (#521) @Tyrrrz
- Add NRTs to Sentry.AspNetCore (#520) @Tyrrrz
- Fix CI build on GitHub Actions (#523) @Tyrrrz
- Add GitHubActionsTestLogger (#511) @Tyrrrz
We'd love to get feedback.
## 2.2.0-alpha
Add nullable reference types support (Sentry, Sentry.Protocol) (#509)
fix: Use ASP.NET Core endpoint FQDN (#485)
feat: Add integration to TaskScheduler.UnobservedTaskException (#481)
## 2.1.6
fix: aspnet fqdn (#485) @bruno-garcia
ref: wait on test the time needed (#484) @bruno-garcia
feat: Add integration to TaskScheduler.UnobservedTaskException (#481) @lucas-zimerman
build(deps): bump Serilog.AspNetCore from 3.2.0 to 3.4.0 (#477) @dependabot-preview
Fix README typo (#480) @AndreasLangberg
build(deps): bump coverlet.msbuild from 2.8.1 to 2.9.0 (#462) @dependabot-preview
build(deps): bump Microsoft.Extensions.Logging.Debug @dependabot-preview
fix some spelling (#475) @SimonCropp
build(deps): bump Microsoft.Extensions.Configuration.Json (#467) @dependabot-preview
## 2.1.5
- fix: MEL don't init if enabled (#460) @bruno-garcia
- feat: Device Calendar, Timezone, CultureInfo (#457) @bruno-garcia
- ref: Log out debug disabled (#459) @bruno-garcia
- dep: Bump PlatformAbstractions (#458) @bruno-garcia
- feat: Exception filter (#456) @bruno-garcia
## 2.1.5-beta
- fix: MEL don't init if enabled (#460) @bruno-garcia
- feat: Device Calendar, Timezone, CultureInfo (#457) @bruno-garcia
- ref: Log out debug disabled (#459) @bruno-garcia
- dep: Bump PlatformAbstractions (#458) @bruno-garcia
- feat: Exception filter (#456) @bruno-garcia
## 2.1.4
- NLog SentryTarget - NLogDiagnosticLogger for writing to NLog InternalLogger (#450) @snakefoot
- fix: SentryScopeManager dispose message (#449) @bruno-garcia
- fix: dont use Sentry namespace on sample (#447) @bruno-garcia
- Remove obsolete API from benchmarks (#445) @bruno-garcia
- build(deps): bump Microsoft.Extensions.Logging.Debug from 2.1.1 to 3.1.4 (#421) @dependabot-preview
- build(deps): bump Microsoft.AspNetCore.Diagnostics from 2.1.1 to 2.2.0 (#431) @dependabot-preview
- build(deps): bump Microsoft.CodeAnalysis.CSharp.Workspaces from 3.1.0 to 3.6.0 (#437) @dependabot-preview
## 2.1.3
- SentryScopeManager - Fixed clone of Stack so it does not reverse order (#420) @snakefoot
- build(deps): bump Serilog.AspNetCore from 2.1.1 to 3.2.0 (#411) @dependabot-preview
- Removed dependency on System.Collections.Immutable (#405) @snakefoot
- Fix Sentry.Microsoft.Logging Filter now drops also breadcrumbs (#440)
## 2.1.2-beta5
Fix Background worker dispose logs error message (#408)
Fix sentry serilog extension method collapsing (#406)
Fix Sentry.Samples.NLog so NLog.config is valid (#404)
Thanks @snakefoot and @JimHume for the fixes
Add MVC route data extraction to ScopeExtensions.Populate() (#401)
## 2.1.2-beta3
Fixed ASP.NET System.Web catch HttpException to prevent the request processor from being unable to submit #397 (#398)
## 2.1.2-beta2
- Ignore WCF error and capture (#391)
### 2.1.2-beta
- Serilog Sentry sink does not load all options from IConfiguration (#380)
- UnhandledException sets Handled=false (#382)
## 2.1.1
Bug fix: Don't overwrite server name set via configuration with machine name on ASP.NET Core #372
## 2.1.0
- Set score url to fully constructed url #367 Thanks @christopher-taormina-zocdoc
- Don't dedupe from inner exception #363 - Note this might change groupings. It's opt-in.
- Expose FlushAsync to intellisense #362
- Protocol monorepo #325 - new protocol version whenever there's a new SDK release
## 2.0.3
Expose httpHandler creation (#359)
NLog: possibility to override fingerprint using AdditionalGroupingKey (#358) @Shtannikov
Take ServerName from options (#356)
## 2.0.2
Add logger and category from Serilog SourceContext. (#316) @krisztiankocsis
Set DateFormatHandling.IsoDateFormat for serializer. Fixes #351 (#353) @olsh
## 2.0.1
Removed `-beta` from dependencies.
## 2.0.0
- SentryTarget - GetTagsFromLogEvent with null check (#326)
- handled process corrupted (#328)
- sourcelink GA (#330)
- Adds ability to specify user values via NLog configuration (#336)
- Add option to ASP.NET Core to flush events after response complete (#288)
- Fixed race on `BackgroundWorker` (#293)
- Exclude `Sentry.` frames from InApp (#272)
- NLog SentryTarget with less overhead for breadcrumb (#273)
- Logging on body not extracted (#246)
- Add support to DefaultTags for ASP.NET Core and M.E.Logging (#268)
- Don't use ValueTuple (#263)
- All public members were documented: #252
- Use EnableBuffering to keep request payload around: #250
- Serilog default levels: #237
- Removed dev dependency from external dependencies 4d92ab0
- Use new `Sentry.Protocol` 836fb07e
- Use new `Sentry.PlatformAbsrtractions` #226
- Debug logging for ASP.NET Classic #209
- Reading request body throws on ASP.NET Core 3 (#324)
- NLog: null check contextProp.Value during IncludeEventDataOnBreadcrumbs (#323)
- JsonSerializerSettings - ReferenceLoopHandling.Ignore (#312)
- Fixed error when reading request body affects collecting other request data (#299)
- `Microsoft.Extensions.Logging` `ConfigureScope` invocation. #208, #210, #224 Thanks @dbraillon
- `Sentry.Serilog` Verbose level. #213, #217. Thanks @kanadaj
- AppDomain.ProcessExit will close the SDK: #242
- Adds PublicApiAnalyzers to public projects: #234
- NLog: Utilizes Flush functionality in NLog target: #228
- NLog: Set the logger via the log event info in SentryTarget.Write, #227
- Multi-target .NET Core 3.0 (#308)
Major version bumped due to these breaking changes:
1. `Sentry.Protocol` version 2.0.0
- Remove StackTrace from SentryEvent [#38](https://github.com/getsentry/sentry-dotnet-protocol/pull/38) - StackTrace is either part of Thread or SentryException.
2. Removed `ContextLine` #223
3. Use `StackTrace` from `Threads` #222
4. `FlushAsync` added to `ISentryClient` #214
## 2.0.0-beta8
- SentryTarget - GetTagsFromLogEvent with null check (#326)
- handled process corrupted (#328)
- sourcelink GA (#330)
- Adds ability to specify user values via NLog configuration (#336)
## 2.0.0-beta7
Fixes:
- Reading request body throws on ASP.NET Core 3 (#324)
- NLog: null check contextProp.Value during IncludeEventDataOnBreadcrumbs (#323)
- JsonSerializerSettings - ReferenceLoopHandling.Ignore (#312)
Features:
- Multi-target .NET Core 3.0 (#308)
## 2.0.0-beta6
- Fixed error when reading request body affects collecting other request data (#299)
## 2.0.0-beta5
- Add option to ASP.NET Core to flush events after response complete (#288)
- Fixed race on `BackgroundWorker` (#293)
- Exclude `Sentry.` frames from InApp (#272)
- NLog SentryTarget with less overhead for breadcrumb (#273)
## 2.0.0-beta4
- Logging on body not extracted (#246)
- Add support to DefaultTags for ASP.NET Core and M.E.Logging (#268)
- Don't use ValueTuple (#263)
## 2.0.0-beta3
- All public members were documented: #252
- Use EnableBuffering to keep request payload around: #250
- Serilog default levels: #237
Thanks @josh-degraw for:
- AppDomain.ProcessExit will close the SDK: #242
- Adds PublicApiAnalyzers to public projects: #234
- NLog: Utilizes Flush functionality in NLog target: #228
- NLog: Set the logger via the log event info in SentryTarget.Write, #227
## 2.0.0-beta2
- Removed dev dependency from external dependencies 4d92ab0
- Use new `Sentry.Protocol` 836fb07e
- Use new `Sentry.PlatformAbsrtractions` #226
## 2.0.0-beta
Major version bumped due to these breaking changes:
1. `Sentry.Protocol` version 2.0.0
- Remove StackTrace from SentryEvent [#38](https://github.com/getsentry/sentry-dotnet-protocol/pull/38) - StackTrace is either part of Thread or SentryException.
2. Removed `ContextLine` #223
3. Use `StackTrace` from `Threads` #222
4. `FlushAsync` added to `ISentryClient` #214
Other Features:
- Debug logging for ASP.NET Classic #209
Fixes:
- `Microsoft.Extensions.Logging` `ConfigureScope` invocation. #208, #210, #224 Thanks @dbraillon
- `Sentry.Serilog` Verbose level. #213, #217. Thanks @kanadaj
## 1.2.1-beta
Fixes and improvements to the NLog integration: #207 by @josh-degraw
## 1.2.0
### Features
- Optionally skip module registrations #202 - (Thanks @josh-degraw)
- First NLog integration release #188 (Thanks @josh-degraw)
- Extensible stack trace #184 (Thanks @pengweiqhca)
- MaxRequestSize for ASP.NET and ASP.NET Core #174
- InAppInclude #171
- Overload to AddSentry #163 by (Thanks @f1nzer)
- ASP.NET Core AddSentry has now ConfigureScope: #160
### Bug fixes
- Don't override user #199
- Read the hub to take latest Client: 8f4b5ba
## 1.1.3-beta4
Bug fix: Don't override user #199
## 1.1.3-beta3
- First NLog integration release #188 (Thanks @josh-degraw)
- Extensible stack trace #184 (Thanks @pengweiqhca)
## 1.1.3-beta2
Feature:
- MaxRequestSize for ASP.NET and ASP.NET Core #174
- InAppInclude #171
Fix: Diagnostic log order: #173 by @scolestock
## 1.1.3-beta
Fixed:
- Read the hub to take latest Client: 8f4b5ba1a3
- Uses Sentry.Protocol 1.0.4 4035e25
Feature
- Overload to `AddSentry` #163 by @F1nZeR
- ASP.NET Core `AddSentry` has now `ConfigureScope`: #160
## 1.1.2
Using [new version of the protocol with fixes and features](https://github.com/getsentry/sentry-dotnet-protocol/releases/tag/1.0.3).
Fixed:
ASP.NET Core integration issue when containers are built on the ServiceCollection after SDK is initialized (#157, #103 )
## 1.1.2-beta
Fixed:
- ASP.NET Core integration issue when containers are built on the ServiceCollection after SDK is initialized (#157, #103 )
## 1.1.1
Fixed:
- Serilog bug that self log would recurse #156
Feature:
- log4net environment via xml configuration #150 (Thanks Sébastien Pierre)
## 1.1.0
Includes all features and bug fixes of previous beta releases:
Features:
- Use log entry to improve grouping #125
- Use .NET Core SDK 2.1.401
- Make AddProcessors extension methods on Options public #115
- Format InternalsVisibleTo to avoid iOS issue: 94e28b3
- Serilog Integration #118, #145
- Capture methods return SentryId #139, #140
- MEL integration keeps properties as tags #146
- Sentry package Includes net461 target #135
Bug fixes:
- Disabled SDK throws on shutdown: #124
- Log4net only init if current hub is disabled #119
Thanks to our growing list of [contributors](https://github.com/getsentry/sentry-dotnet/graphs/contributors).
## 1.0.1-beta5
- Added `net461` target to Serilog package #148
## 1.0.1-beta4
- Serilog Integration #118, #145
- `Capture` methods return `SentryId` #139, #140
- MEL integration keeps properties as tags #146
- Revert reducing Json.NET requirements
Thanks to our growing [list of contributors](https://github.com/getsentry/sentry-dotnet/graphs/contributors).
## 1.0.1-beta3
Lowering Newtonsoft.Json requirements; #138
## 1.0.1-beta2
`Sentry` package Includes `net461` target #135
## 1.0.1-beta
Features:
- Use log entry to improve grouping #125
- Use .NET Core SDK 2.1.401
- Make `AddProcessors` extension methods on Options public #115
- Format InternalsVisibleTo to avoid iOS issue: 94e28b3
Bug fixes:
- Disabled SDK throws on shutdown: #124
- Log4net only init if current hub is disabled #119
## 1.0.0
### First major release of the new .NET SDK
#### Main features
##### Sentry package
- Automatic Captures global unhandled exceptions (AppDomain)
- Scope management
- Duplicate events automatically dropped
- Events from the same exception automatically dropped
- Web proxy support
- HttpClient/HttpClientHandler configuration callback
- Compress request body
- Event sampling opt-in
- Event flooding protection (429 retry-after and internal bound queue)
- Release automatically set (AssemblyInformationalVersionAttribute, AssemblyVersion or env var)
- DSN discovered via environment variable
- Release (version) reported automatically
- CLS Compliant
- Strong named
- BeforeSend and BeforeBreadcrumb callbacks
- Event and Exception processors
- SourceLink (including PDB in nuget package)
- Device OS info sent
- Device Runtime info sent
- Enable SDK debug mode (opt-in)
- Attach stack trace for captured messages (opt-in)
##### Sentry.Extensions.Logging
- Includes all features from the `Sentry` package.
- BeginScope data added to Sentry scope, sent with events
- LogInformation or higher added as breadcrumb, sent with next events.
- LogError or higher automatically captures an event
- Minimal levels are configurable.
##### Sentry.AspNetCore
- Includes all features from the `Sentry` package.
- Includes all features from the `Sentry.Extensions.Logging` package.
- Easy ASP.NET Core integration, single line: `UseSentry`.
- Captures unhandled exceptions in the middleware pipeline
- Captures exceptions handled by the framework `UseExceptionHandler` and Error page display.
- Any event sent will include relevant application log messages
- RequestId as tag
- URL as tag
- Environment is automatically set (`IHostingEnvironment`)
- Request payload can be captured if opt-in
- Support for EventProcessors registered with DI
- Support for ExceptionProcessors registered with DI
- Captures logs from the request (using Microsoft.Extensions.Logging)
- Supports configuration system (e.g: appsettings.json)
- Server OS info sent
- Server Runtime info sent
- Request headers sent
- Request body compressed
All packages are:
- Strong named
- Tested on Windows, Linux and macOS
- Tested on .NET Core, .NET Framework and Mono
##### Learn more
- [Code samples](https://github.com/getsentry/sentry-dotnet/tree/master/samples)
- [Sentry docs](https://docs.sentry.io/quickstart/?platform=csharp)
Sample event using the log4net integration:

Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
| **Sentry.Log4Net** | [](https://www.nuget.org/packages/Sentry.Log4Net) |
## 1.0.0-rc2
Features and improvements:
- `SentrySdk.LastEventId` to get scoped id
- `BeforeBreadcrumb` to allow dropping or modifying a breadcrumb
- Event processors on scope #58
- Event processor as `Func`
Bug fixes:
- #97 Sentry environment takes precedence over ASP.NET Core
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
| **Sentry.Log4Net** | [](https://www.nuget.org/packages/Sentry.Log4Net) |
## 1.0.0-rc
Features and improvements:
- Microsoft.Extensions.Logging (MEL) use framework configuration system #79 (Thanks @pengweiqhca)
- Use IOptions on Logging and ASP.NET Core integrations #81
- Send PII (personal identifier info, opt-in `SendDefaultPii`): #83
- When SDK is disabled SentryMiddleware passes through to next in pipeline: #84
- SDK diagnostic logging (option: `Debug`): #85
- Sending Stack trace for events without exception (like CaptureMessage, opt-in `AttachStackTrace`) #86
Bug fixes:
- MEL: Only call Init if DSN was provided
- Correct namespace for `AddSentry`
Breaking changes:
The settings for HTTP and Worker have been moved to `SentryOptions`. There's no need to call `option.Http(h => h...)` anymore.
`option.Proxy` was renamed to `option.HttpProxy`.
[New sample](https://github.com/getsentry/sentry-dotnet/tree/master/samples/Sentry.Samples.GenericHost) using [GenericHost](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-2.1)
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
| **Sentry.Log4Net** | [](https://www.nuget.org/packages/Sentry.Log4Net) |
## 0.0.1-preview5
Features:
- Support buffered gzip request #73
- Reduced dependencies from the ASP.NET Core integraiton
- InAppExclude configurable #75
- Duplicate event detects inner exceptions #76
- HttpClientHandler configuration callback #72
- Event sampling opt-in
- ASP.NET Core sends server name
Bug fixes:
- On-prem without chuncked support for gzip #71
- Exception.Data key is not string #77
**[Watch on youtube](https://www.youtube.com/watch?v=xK6a1goK_w0) how to use the ASP.NET Core integration**
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
| **Sentry.Log4Net** | [](https://www.nuget.org/packages/Sentry.Log4Net) |
## 0.0.1-preview4
Features:
- Using [Sentry Protocol](https://github.com/getsentry/sentry-dotnet-protocol) as a dependency
- Environment can be set via `SentryOptions` #49
- Compress request body (configurable: Fastest, Optimal, Off) #63
- log4net integration
- SDK honors Sentry's 429 HTTP Status with Retry After header #61
Bug fixes:
- `Init` pushes the first scope #55, #54
- `Exception.Data` copied to `SentryEvent.Data` while storing the index of originating error.
- Demangling code ensures Function name available #64
- ASP.NET Core integration throws when Serilog added #65, #68, #67
Improvements to [the docs](https://getsentry.github.io/sentry-dotnet) like:
- Release discovery
- `ConfigureScope` clarifications
- Documenting samples
### [Watch on youtube](https://www.youtube.com/watch?v=xK6a1goK_w0) how to use the ASP.NET Core integration
Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
| **Sentry.Log4Net** | [](https://www.nuget.org/packages/Sentry.Log4Net) |
## 0.0.1-preview3
This third preview includes bug fixes and more features. Test coverage increased to 96%
Features and improvements:
- Filter duplicate events/exceptions #43
- EventProcessors can be added (sample [1](https://github.com/getsentry/sentry-dotnet/blob/dbb5a3af054d0ca6f801de37fb7db3632ca2c65a/samples/Sentry.Samples.Console.Customized/Program.cs#L151), [2](https://github.com/getsentry/sentry-dotnet/blob/dbb5a3af054d0ca6f801de37fb7db3632ca2c65a/samples/Sentry.Samples.Console.Customized/Program.cs#L41))
- ExceptionProcessors can be added #36 (sample [1](https://github.com/getsentry/sentry-dotnet/blob/dbb5a3af054d0ca6f801de37fb7db3632ca2c65a/samples/Sentry.Samples.Console.Customized/Program.cs#L172), [2](https://github.com/getsentry/sentry-dotnet/blob/dbb5a3af054d0ca6f801de37fb7db3632ca2c65a/samples/Sentry.Samples.Console.Customized/Program.cs#L42))
- Release is automatically discovered/reported #35
- Contexts is a dictionary - allows custom data #37
- ASP.NET integration reports context as server: server-os, server-runtime #37
- Assemblies strong named #41
- Scope exposes IReadOnly members instead of Immutables
- Released a [documentation site](https://getsentry.github.io/sentry-dotnet/)
Bug fixes:
- Strong name
- Logger provider gets disposed/flushes events
[Watch on youtube](https://www.youtube.com/watch?v=xK6a1goK_w0) how to use the ASP.NET Core integration.
Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
## 0.0.1-preview2
This second release includes bug fixes and more features. Test coverage increased to 93%
Features and improvements:
- Added `CaptureMessage`
- `BeforeSend` callback errors are sent as breadcrumbs
- `ASP.NET Core` integration doesn't add tags added by `Microsoft.Extensions.Logging`
- SDK name is reported depending on the package added
- Integrations API allows user-defined SDK integration
- Unhandled exception handler can be configured via integrations
- Filter kestrel log eventid 13 (application error) when already captured by the middleware
Bugs fixed:
- Fixed #28
- HTTP Proxy set to HTTP message handler
Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------: |
| **Sentry** | [](https://www.nuget.org/packages/Sentry) |
| **Sentry.AspNetCore** | [](https://www.nuget.org/packages/Sentry.AspNetCore) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) |
## 0.0.1-preview1
Our first preview of the SDK:
Main features:
- Easy ASP.NET Core integration, single line: `UseSentry`.
- Captures unhandled exceptions in the middleware pipeline
- Captures exceptions handled by the framework `UseExceptionHandler` and Error page display.
- Captures process-wide unhandled exceptions (AppDomain)
- Captures logger.Error or logger.Critical
- When an event is sent, data from the current request augments the event.
- Sends information about the server running the app (OS, Runtime, etc)
- Informational logs written by the app or framework augment events sent to Sentry
- Optional include of the request body
- HTTP Proxy configuration
Also available via NuGet:
[Sentry](https://www.nuget.org/packages/Sentry/0.0.1-preview1)
[Sentry.AspNetCore](https://www.nuget.org/packages/Sentry.AspNetCore/0.0.1-preview1)
[Sentry.Extensions.Logging](https://www.nuget.org/packages/Sentry.Extensions.Logging/0.0.1-preview1)