Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[deps] Billing: Update Sentry.Serilog to v5 #5182

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 23, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Sentry.Serilog (source) 3.41.4 -> 5.0.0 age adoption passing confidence

Release Notes

getsentry/sentry-dotnet (Sentry.Serilog)

v5.0.0

Compare Source

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)
  • Sentry's Experimental Metrics feature has been deprecated and removed from the SDK. (#​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)
  • Temporarily removed experimental Session Replay support (#​3827)
  • You should no longer pass AndroidContext as an argument to SentrySdk.Init (#​3562)
  • The SentryUser.Segment property has been deprecated. Consider sending this as a tag or additional data instead (#​3563)
  • The ITraceContext now includes an Origin, which is set automatically and is primarily used internally by the Sentry server (#​3564)
  • Device.BatteryLevel and Device.ProcessorFrequency are now stored as floats rather than ints, to align with the Cocoa and Java SDKs (#​3567)
  • The FailedRequestTargets, TagFilters and TracePropagationTargets options have all been changed from SubstringOrRegexPattern to IList<StringOrRegex> (#​3566)
  • Scope.Transaction is now always stored as an AsyncLocal also in Global Mode, to prevent auto-instrumented spans from the UI ending up parented to transactions from a background task (or vice versa). (#​3596)
Features
  • Added support for .NET 9 (#​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)
  • libsentrysupplemental.so now supports 16 KB page sizes on Android (#​3723)
  • Added SentryOptions extension for profiling: options.AddProfilingIntegration() (#​3660)
Fixes
  • Address Trim warnings to enable AOT support, including support for MAUI specifically. (#​3841)
  • Fixed JNI Error when accessing Android device data from multiple threads (#​3802)
  • Android - fix bug that prevents logcat.log from getting attached to unhandled events (SIGSEGV Segfault) (#​3694)
  • Fixed ArgumentNullException in FormRequestPayloadExtractor when handling invalid form data on ASP.NET (#​3734)
  • Fixed NullReferenceException in SentryTraceHeader when parsing null or empty values (#​3757)
  • Fix "System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'idData')" error propagating OpenTelemetry span ids (#​3850)
  • ArgumentNullException in FormRequestPayloadExtractor when handling invalid form data on ASP.NET (#​3734)
  • Fixed crash when using NLog with FailedRequestStatusCodes options in a Maui app with Trimming enabled (#​3743)
Dependencies

v4.13.0

Compare Source

Features
  • Limited experimental support for Session Replay Recording on Android (#​3552)
Fixes
  • When using OTel and ASP.NET Core the SDK could try to process OTel spans after the SDK had been closed (#​3726)
Dependencies

v4.12.2

Compare Source

Features
  • Android - allow logcat attachments to be previewed in Sentry (#​3711)
  • Added a SetBeforeScreenshotCapture callback to the options: allowing the user to set an action before the screenshot is taken (#​3661)
  • Make Sentry.AspNetCore.Blazor.WebAssembly generally available. (#​3674)
Fixes
  • Events from NDK on Android will report sdk.name sentry.native.android.dotnet (#​3682)
Dependencies

v4.12.1

Compare Source

Fixes
  • Fixed "Failed to persist session" error on iOS (#​3655)
Dependencies

v4.12.0

Compare Source

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. We built the SDK version 4.12.0 using Xcode 16 in order to support this scenario. That, unfortunately, breaks folks using older version of Xcode.

As such, if you are using SDK version 4.12.x and targeting iOS or Mac Catalyst, you will need to install and use Xcode 16 and workload iOS SDK 18.0.8303

Note that .NET 9 will also support Xcode 16, when it is released next month (Nov 2024).

API Changes
Fixes
  • Fixed duplicate key exception for Hangfire jobs with AutomaticRetry (#​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, #​3641)
Dependencies

v4.11.0

Compare Source

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)
Fixes
  • On mobile devices, the SDK no longer throws a FormatException for ProcessorFrequency when trying to report native events (#​3541)
  • Add missing org parameter to the CLI release operations (#​3600)
API Changes
  • When the Sentry SDK is disabled, SentrySdk.StartTransaction() now returns a NoOpTransaction, which avoids unnecessary memory allocations (#​3581)
Dependencies

v4.10.2

Compare Source

Various fixes & improvements
Dependencies

v4.10.1

Compare Source

Fixes
  • Unfinished spans are now correctly stored and retrieved by the CachingTransport (#​3533)
Dependencies

v4.10.0

Compare Source

Features
  • Users can now automatically create releases and associated commits via sentry-cli and MSBuild properties (#​3462)
  • Sentry.AspNetCore.Blazor.WebAssembly now targets .NET 8 specifically, allowing for proper dependency resolution (#​3501)
Fixes
  • When targeting WPF, WinForms or Avalonia with PublishAot enabled, the SDK no longers throws a DllNotFoundException trying to initialize sentry-native (#​3411)
    Unable to load DLL sentry-native or one of its dependencies
  • On mobile devices, the SDK no longer throws a FormatException when trying to report native events (#​3485)
  • Race condition in SentryMessageHandler (#​3477)
  • Decrease runtime diagnostics circular buffer when profiling, reducing memory usage (#​3491)
  • The InstallationId is now resolved only once per application execution and any issues are logged as warnings instead of errors (#​3529)
  • DisplayInfo now captured correctly on iOS and Mac Catalyst on non-UI threads (#​3521)
Dependencies

v4.9.0

Compare Source

Fixes
  • Fixed envelopes getting stuck in processing when losing network connectivity (#​3438)
Features
  • Client reports now include dropped spans (#​3463)
API Changes
  • Removed SentrySdk.RunAsyncVoid (#​3466)

v4.8.1

Compare Source

Fixes
  • The SDK no longer fails to create a trace root (#​3453)
  • Removed FirstChanceException workaround for WinUI (#​3411)
Dependencies

v4.8.0

Compare Source

Obsoletion
  • Marked SentryUser.Segment as deprecated (#​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) for extending the support for Blazor Server or (here) for Blazor WebAssembly support (#​3386)
Fixes
  • Debug logs are now visible for MAUI apps in Visual Studio when using Sentry's default DiagnosticLogger (#​3373)
  • Fixed Monitor duration calculation ([#​3420]https://github.com/getsentry/sentry-dotnet/pull/3420)
  • Fixed null IServiceProvider in anonymous routes with OpenTelemetry (#​3401)
  • Fixed Trim warnings in Sentry.DiagnosticSource and WinUIUnhandledException integrations (#​3410)
  • Fixed memory leak when tracing is enabled (#​3432)
  • Scope.User.Id now correctly defaults to the InstallationId unless it has been set otherwise (#​3425)
Dependencies

v4.7.0

Compare Source

API Changes
  • SentryOptions.EnableTracing has been marked as Obsolete (#​3381)
Features
  • The SDK now supports monitor upserting. You can programmatically set up your monitors via the options callback in SentrySdk.CaptureCheckIn (#​3330)
  • Added an SentrySdk.RunAsyncVoid helper method that lets you capture exceptions from async void methods (#​3379)
Fixes
  • P/Invoke warning for GetWindowThreadProcessId no longer shows when using Sentry in UWP applications (#​3372)
  • Fixed InvalidOperationException when pulling the HttpRequestUrl from Uri's with DangerousDisablePathAndQueryCanonicalization set to true (#​3393)
Dependencies

v4.6.2

Compare Source

Fixes
  • Reverted changes to the SentryHttpMessageHandler and SentryGraphQLHttpMessageHandler to automatically create transactions for each request as this could negatively affect users' quota (#​3367)

v4.6.1

Compare Source

Fixes
  • Fixed SentryHttpMessageHandler and SentryGraphQLHttpMessageHandler not creating spans when there is no active Transaction on the scope (#​3360)
  • The SDK no longer (wrongly) initializes sentry-native on Blazor WASM builds with RunAOTCompilation enabled. (#​3363)
  • HttpClient requests now show on the Requests dashboard in Sentry (#​3357)
Dependencies
  • Bump Hangfire from v1.8.7 to v1.8.12 (#​3361)

v4.6.0

Compare Source

Features
  • Hints now accept byte[] as attachment (#​3352)
  • InApp includes/excludes can now be configured using regular expressions (#​3321)
Fixes
  • Fixed memory leak in BackgroundWorker observed when using Sentry with Quartz and MySql (#​3355)
Dependencies

v4.5.0

Compare Source

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)
  • 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)
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)
  • Fix BackgroundWorker exiting when OperationCanceledException is not from shutdown request (3284)
  • Envelopes with large attachments no longer get stuck in the queue when using CacheDirectoryPath (#​3328)
Dependencies

v4.4.0

Compare Source

Features
  • Metrics now honor any Rate Limits set in HTTP headers returned by Sentry (#​3276)
Fixes
  • Fixed normalization for metric tag values for carriage return, line feed and tab characters (#​3281)
Dependencies

v4.3.0

Compare Source

Features
  • EnableNetworkEventBreadcrumbs can now be set on the Native Android options (#​3267)
  • Update normalization of metrics keys, tags and values (#​3271)
Fixes
  • Fix missing exception StackTraces in some situations (#​3215)
  • Scopes now get applied to OTEL spans in ASP.NET Core (#​3221)
  • Fixed InvalidCastException when setting the SampleRate on Android (#​3258)
  • Fixed MAUI iOS build issue related to SentryVersionNumber and SentryVersionString (#​3278)
API changes
  • Removed SentryOptionsExtensions class - all the public methods moved directly to SentryOptions (#​3195)
Dependencies

v4.2.1

Compare Source

Fixes
  • Dynamic Sampling Context not propagated correctly for HttpClient spans (#​3208)

v4.2.0

Compare Source

Features
  • ASP.NET Core: Blocking call detection. An event with the stack trace of the blocking call will be captured as event. (#​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.
  • Added Crons support via SentrySdk.CaptureCheckIn and an integration with Hangfire (#​3128)
  • Common tags set automatically for metrics and metrics summaries are attached to Spans (#​3191)
API changes
  • Removed ScopeExtensions class - all the public methods moved directly to Scope (#​3186)
Fixes
  • The Sentry Middleware on ASP.NET Core no longer throws an exception after having been initialized multiple times (#​3185)
  • Empty strings are used instead of underscores to replace invalid metric tag values (#​3176)
  • Filtered OpenTelemetry spans are garbage collected correctly (#​3198)
Dependencies

v4.1.2

Compare Source

Fixes
  • Metric unit names are now sanitized correctly. This was preventing some built in metrics from showing in the Sentry dashboard (#​3151)
  • The Sentry OpenTelemetry integration no longer throws an exception with the SDK disabled (#​3156)

v4.1.1

Compare Source

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)
Dependencies

v4.1.0

Compare Source

Features
  • The SDK now automatically collects metrics coming from OpenTelemetry.Instrumentation.Runtime (#​3133)
Fixes
  • "No service for type 'Sentry.IHub' has been registered" exception when using OpenTelemetry and initializing Sentry via SentrySdk.Init (#​3129)

v4.0.3

Compare Source

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)

v4.0.2

Compare Source

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)
    • The class Sentry.Package has been renamed to Sentry.SentryPackage (#​3121)
    • The class Sentry.Request has been renamed to Sentry.SentryRequest (#​3121)
Dependencies

v4.0.1

Compare Source

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)
    • The interface Sentry.IJsonSerializable has been renamed to Sentry.ISentryJsonSerializable (#​3116)
    • The class Sentry.Session has been renamed to Sentry.SentrySession (#​3110)
    • The class Sentry.Attachment has been renamed to Sentry.SentryAttachment (#​3116)
    • The class Sentry.Hint has been renamed to Sentry.SentryHint (#​3116)
Dependencies

v4.0.0

Compare Source

This major release includes many exciting new features including support for Profiling and Metrics(preview), AOT with Native Crash Reporting, Spotlight, 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 for details on why.

  • Replace support for .NET Framework 4.6.1 with 4.6.2 (#​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)

  • Dropped netstandard2.0 support for Sentry.AspNetCore (#​2807)

  • Replace support for .NET 6 on mobile (e.g: net6.0-android) with .NET 7 (#​2624)

    .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.

  • MAUI dropped Tizen support (#​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 (aka on-premise), you will need to upgrade.

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)
  • Setting SentryOptions.Dsn to null now throws ArgumentNullException during initialization. (#​2655)
  • Enable CaptureFailedRequests by default (#​2688)
  • Added Sentry namespace to global usings when ImplicitUsings is enabled (#​3043)
    If you have conflicts, you can opt out by adding the following to your csproj:
<PropertyGroup>
  <SentryImplicitUsings>false</SentryImplicitUsings>
</PropertyGroup>
  • Transactions' spans are no longer automatically finished with the status deadline_exceeded by the transaction. This is now handled by the Relay.
    • Customers self hosting Sentry must use verion 22.12.0 or later (#​3013)
  • The User.IpAddress is now set to {{auto}} by default, even when sendDefaultPII is disabled (#​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)
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)
  • Class renamed Sentry.Runtime to Sentry.SentryRuntime (#​3016)
  • Class renamed Sentry.Span to Sentry.SentrySpan (#​3021)
  • Class renamed Sentry.Transaction to Sentry.SentryTransaction (#​3023)
  • Rename iOS and MacCatalyst platform-specific options from Cocoa to Native (#​2940)
  • Rename iOS platform-specific options EnableCocoaSdkTracing to EnableTracing (#​2940)
  • Rename Android platform-specific options from Android to Native (#​2940)
  • Rename Android platform-specific options EnableAndroidSdkTracing and EnableAndroidSdkBeforeSend to EnableTracing and EnableBeforeSend respectively (#​2940)
  • Rename iOS and MacCatalyst platform-specific options from iOS to Cocoa (#​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, #​2870)
  • DebugImage and DebugMeta moved to Sentry.Protocol namespace. (#​2815)
  • SentryClient.Dispose is no longer obsolete (#​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)
  • 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, #​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)
  • Distribution added to IEventLike. (#​2660)
  • StackFrame's ImageAddress, InstructionAddress, and FunctionId changed to long?. (#​2691)
  • DebugImage.ImageAddress changed to long?. (#​2725)
  • Contexts now inherit from IDictionary rather than ConcurrentDictionary. The specific dictionary being used is an implementation detail. (#​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://[email protected]:65535/2147483647")). (#​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)
  • A number of [Obsolete] options have been removed (#​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)
    • 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)
  • Obsolete Runtime.Clone() removed, this shouldn't have been public in the past and has no replacement. (#​2856)
  • Obsolete SentryException.Data removed, use SentryException.Mechanism.Data instead. (#​2856)
  • Obsolete AssemblyExtensions removed, this shouldn't have been public in the past and has no replacement. (#​2856)
  • Obsolete SentryDatabaseLogging.UseBreadcrumbs() removed, it is called automatically and has no replacement. (#​2856)
  • Obsolete Scope.GetSpan() removed, use Span property instead. (#​2856)
  • Obsolete IUserFactory removed, use ISentryUserFactory instead. (#​2856, #​2840)
  • IHasMeasurements has been removed, use ISpanData instead. (#​2659)
  • IHasBreadcrumbs has been removed, use IEventLike instead. (#​2670)
  • ISpanContext has been removed, use ITraceContext instead

Configuration

📅 Schedule: Branch creation - "every 2nd week starting on the 2 week of the year before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team December 23, 2024 00:06
@bitwarden-bot bitwarden-bot changed the title [deps] Billing: Update Sentry.Serilog to v5 [PM-16317] [deps] Billing: Update Sentry.Serilog to v5 Dec 23, 2024
@bitwarden-bot
Copy link

Internal tracking:

Copy link

codecov bot commented Dec 23, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 43.35%. Comparing base (11325c4) to head (91f4812).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5182   +/-   ##
=======================================
  Coverage   43.35%   43.35%           
=======================================
  Files        1456     1456           
  Lines       66468    66468           
  Branches     6078     6078           
=======================================
  Hits        28817    28817           
  Misses      36360    36360           
  Partials     1291     1291           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot changed the title [PM-16317] [deps] Billing: Update Sentry.Serilog to v5 [deps] Billing: Update Sentry.Serilog to v5 Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant