From 3a51b492ffc4e7bd921ab8e30ad6f4fcc267ddb0 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 18 Mar 2026 17:28:46 +0100 Subject: [PATCH 1/2] no experimental no more --- .../ScriptableSentryUnityOptions.cs | 2 +- src/Sentry.Unity/SentrySdk.Dotnet.cs | 47 +++++-------------- 2 files changed, 13 insertions(+), 36 deletions(-) diff --git a/src/Sentry.Unity/ScriptableSentryUnityOptions.cs b/src/Sentry.Unity/ScriptableSentryUnityOptions.cs index 55f4ad6a1..87e93fbb4 100644 --- a/src/Sentry.Unity/ScriptableSentryUnityOptions.cs +++ b/src/Sentry.Unity/ScriptableSentryUnityOptions.cs @@ -228,7 +228,7 @@ internal SentryUnityOptions ToSentryUnityOptions( AddBreadcrumbsWithStructuredLogs = AddBreadcrumbsWithStructuredLogs }; - options.Experimental.EnableMetrics = EnableMetrics; + options.EnableMetrics = EnableMetrics; // By default, the cacheDirectoryPath gets set on known platforms. We're overwriting this behaviour here. if (!EnableOfflineCaching) diff --git a/src/Sentry.Unity/SentrySdk.Dotnet.cs b/src/Sentry.Unity/SentrySdk.Dotnet.cs index 2539aa3b2..3b2c55ace 100644 --- a/src/Sentry.Unity/SentrySdk.Dotnet.cs +++ b/src/Sentry.Unity/SentrySdk.Dotnet.cs @@ -54,14 +54,21 @@ public static partial class SentrySdk /// /// Gets the structured logger instance for creating and sending logs to Sentry. /// - /// - /// Use this property to access structured logging functionality. Logs are only sent when - /// 's - /// is set to true. - /// /// public static SentryStructuredLogger Logger { [DebuggerStepThrough] get => Sentry.SentrySdk.Logger; } + /// + /// Generates and sends metrics to Sentry. + /// + /// + /// Available options: + /// + /// + /// + /// + /// + public static SentryMetricEmitter Metrics { [DebuggerStepThrough] get => Sentry.SentrySdk.Metrics; } + /// /// Creates a new scope that will terminate when disposed. /// @@ -546,34 +553,4 @@ public static void ResumeSession() /// [Obsolete("WARNING: This method deliberately causes a crash, and should not be used in a real application.")] public static void CauseCrash(CrashType crashType) => Sentry.SentrySdk.CauseCrash(crashType); - - /// - /// Sentry features that are currently in an experimental state. - /// - /// - /// Experimental features are subject to binary, source and behavioral breaking changes in future updates. - /// - public static ExperimentalSentrySdk Experimental { get; } = new(); - - /// - /// Sentry features that are currently in an experimental state. - /// - /// - /// Experimental features are subject to binary, source and behavioral breaking changes in future updates. - /// - public sealed class ExperimentalSentrySdk - { - internal ExperimentalSentrySdk() - { - } - - /// - /// Gets the metric emitter for emitting counters, gauges, and distributions connected to traces. - /// - public SentryMetricEmitter Metrics - { - [DebuggerStepThrough] - get => Sentry.SentrySdk.Experimental.Metrics; - } - } } From c2c67fd44341ccafa9ca33d00d01e1456874103f Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 18 Mar 2026 17:36:21 +0100 Subject: [PATCH 2/2] Updated CHANGELOG.md --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c5497c29..57d81d31b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,16 @@ ## Unreleased +### Features + +- Metrics are no longer experimental ([#2592](https://github.com/getsentry/sentry-unity/pull/2592)) + +## 4.1.2 + ### Fixes - `CaptureFeedback` now returns a `SentryId` and exposes a `CaptureFeedbackResult` out parameter to indicate whether feedback was captured successfully ([#2589](https://github.com/getsentry/sentry-unity/pull/2579)) -- When exporting a NSP ROM File for Switch the SKD now correctly uploads the debug symbols ([#2580](https://github.com/getsentry/sentry-unity/pull/2580)) +- When exporting a NSP ROM File for Switch the SKD now correctly uploads the debug symbols ([#2580](https://github.com/getsentry/sentry-unity/pull/2580)) - The SDK now also uses `.sentry-native` as a subdirectory for native support on desktop platforms. It now also falls back to `Application.persistentDataPath` instead of the current working directory. Note: `crashedLastRun` may report `false` for the first time after upgrading. ([#2547](https://github.com/getsentry/sentry-unity/pull/2547)) - The currently experimental Metrics are now opt-in by default ([#2546](https://github.com/getsentry/sentry-unity/pull/2546)) - When targeting Android, the SDK now syncs `AppStartTime` and `AppBuildType` to the native layer ([#2557](https://github.com/getsentry/sentry-unity/pull/2557))