Releases: getsentry/sentry-dotnet
1.0.1-beta
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
Sentrypackage. - 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
Sentrypackage. - Includes all features from the
Sentry.Extensions.Loggingpackage. - Easy ASP.NET Core integration, single line:
UseSentry. - Captures unhandled exceptions in the middleware pipeline
- Captures exceptions handled by the framework
UseExceptionHandlerand 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:
Sample event using the log4net integration:

Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| Sentry.Extensions.Logging | |
| Sentry.Log4Net |
1.0.0-rc2
Features and improvements:
SentrySdk.LastEventIdto get scoped idBeforeBreadcrumbto allow dropping or modifying a breadcrumb- Event processors on scope #58
- Event processor as
Func<SentryEvent,SentryEvent>
Bug fixes:
- #97 Sentry environment takes precedence over ASP.NET Core
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| Sentry.Extensions.Logging | |
| 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:
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 using GenericHost
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| Sentry.Extensions.Logging | |
| 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:
Watch on youtube how to use the ASP.NET Core integration.
Download it directly below from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| Sentry.Extensions.Logging | |
| Sentry.Log4Net |
0.0.1-preview4
Features:
- Using Sentry 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:
Initpushes the first scope #55, #54Exception.Datacopied toSentryEvent.Datawhile 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 like:
- Release discovery
ConfigureScopeclarifications- Documenting samples
Watch on youtube how to use the ASP.NET Core integration.
Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| Sentry.Extensions.Logging | |
| 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, 2)
- ExceptionProcessors can be added #36 (sample 1, 2)
- 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
Bug fixes:
#46 Strong name
#40 Logger provider gets disposed/flushes events
Watch on youtube how to use the ASP.NET Core integration.
Download it directly from GitHub or using NuGet:
| Integrations | NuGet |
|---|---|
| Sentry | |
| Sentry.AspNetCore | |
| 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 BeforeSendcallback errors are sent as breadcrumbsASP.NET Coreintegration doesn't add tags added byMicrosoft.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 | |
| Sentry.AspNetCore | |
| 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
UseExceptionHandlerand 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: