diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6a6cbf410b..cc69fb230e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
### BREAKING CHANGES
+- `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))
- Remove unnecessary files from SentryCocoaFramework before packing ([#4602](https://github.com/getsentry/sentry-dotnet/pull/4602))
diff --git a/benchmarks/Sentry.Benchmarks/BreadcrumbOverheadBenchmarks.cs b/benchmarks/Sentry.Benchmarks/BreadcrumbOverheadBenchmarks.cs
index 9890d5223b..70a38aabe8 100644
--- a/benchmarks/Sentry.Benchmarks/BreadcrumbOverheadBenchmarks.cs
+++ b/benchmarks/Sentry.Benchmarks/BreadcrumbOverheadBenchmarks.cs
@@ -11,7 +11,7 @@ public class BreadcrumbOverheadBenchmarks
{
{ Message, Type }
};
- private const BreadcrumbLevel Level = BreadcrumbLevel.Critical;
+ private const BreadcrumbLevel Level = BreadcrumbLevel.Fatal;
private IDisposable _sdk;
diff --git a/samples/Sentry.Samples.Console.Customized/Program.cs b/samples/Sentry.Samples.Console.Customized/Program.cs
index 0ccfad7b04..3fbc23f7a2 100644
--- a/samples/Sentry.Samples.Console.Customized/Program.cs
+++ b/samples/Sentry.Samples.Console.Customized/Program.cs
@@ -66,7 +66,7 @@ await SentrySdk.ConfigureScopeAsync(async scope =>
const string replaceBreadcrumb = "don't trust this breadcrumb";
if (hint.Items.TryGetValue(replaceBreadcrumb, out var replacementMessage))
{
- return new Breadcrumb((string)replacementMessage, null, null, null, BreadcrumbLevel.Critical);
+ return new Breadcrumb((string)replacementMessage, null, null, null, BreadcrumbLevel.Fatal);
}
return crumb;
diff --git a/src/Sentry.Extensions.Logging/LogLevelExtensions.cs b/src/Sentry.Extensions.Logging/LogLevelExtensions.cs
index 9f1d2f85e2..9a6bbf5729 100644
--- a/src/Sentry.Extensions.Logging/LogLevelExtensions.cs
+++ b/src/Sentry.Extensions.Logging/LogLevelExtensions.cs
@@ -13,7 +13,7 @@ public static BreadcrumbLevel ToBreadcrumbLevel(this LogLevel level)
LogLevel.Information => BreadcrumbLevel.Info,
LogLevel.Warning => BreadcrumbLevel.Warning,
LogLevel.Error => BreadcrumbLevel.Error,
- LogLevel.Critical => BreadcrumbLevel.Critical,
+ LogLevel.Critical => BreadcrumbLevel.Fatal,
_ => (BreadcrumbLevel)level
};
}
diff --git a/src/Sentry.Log4Net/LevelMapping.cs b/src/Sentry.Log4Net/LevelMapping.cs
index 28ced64ca5..e22dc24d7e 100644
--- a/src/Sentry.Log4Net/LevelMapping.cs
+++ b/src/Sentry.Log4Net/LevelMapping.cs
@@ -20,7 +20,7 @@ internal static class LevelMapping
{
return loggingLevel.Level switch
{
- var l when l == Level.Fatal || l == Level.Emergency => BreadcrumbLevel.Critical,
+ var l when l == Level.Fatal || l == Level.Emergency => BreadcrumbLevel.Fatal,
var l when l == Level.Alert || l == Level.Critical || l == Level.Severe || l == Level.Error => BreadcrumbLevel.Error,
var l when l == Level.Warn => BreadcrumbLevel.Warning,
var l when l == Level.Notice || l == Level.Info => BreadcrumbLevel.Info,
diff --git a/src/Sentry.NLog/LogLevelExtensions.cs b/src/Sentry.NLog/LogLevelExtensions.cs
index eba3aedcbb..4050ff0c9e 100644
--- a/src/Sentry.NLog/LogLevelExtensions.cs
+++ b/src/Sentry.NLog/LogLevelExtensions.cs
@@ -22,7 +22,7 @@ public static BreadcrumbLevel ToBreadcrumbLevel(this LogLevel level)
{
nameof(LogLevel.Debug) => BreadcrumbLevel.Debug,
nameof(LogLevel.Error) => BreadcrumbLevel.Error,
- nameof(LogLevel.Fatal) => BreadcrumbLevel.Critical,
+ nameof(LogLevel.Fatal) => BreadcrumbLevel.Fatal,
nameof(LogLevel.Info) => BreadcrumbLevel.Info,
nameof(LogLevel.Trace) => BreadcrumbLevel.Debug,
nameof(LogLevel.Warn) => BreadcrumbLevel.Warning,
diff --git a/src/Sentry.Serilog/LogLevelExtensions.cs b/src/Sentry.Serilog/LogLevelExtensions.cs
index 07960179b2..502e6a22e2 100644
--- a/src/Sentry.Serilog/LogLevelExtensions.cs
+++ b/src/Sentry.Serilog/LogLevelExtensions.cs
@@ -38,7 +38,7 @@ public static BreadcrumbLevel ToBreadcrumbLevel(this LogEventLevel level)
LogEventLevel.Information => BreadcrumbLevel.Info,
LogEventLevel.Warning => BreadcrumbLevel.Warning,
LogEventLevel.Error => BreadcrumbLevel.Error,
- LogEventLevel.Fatal => BreadcrumbLevel.Critical,
+ LogEventLevel.Fatal => BreadcrumbLevel.Fatal,
_ => (BreadcrumbLevel)level
};
}
diff --git a/src/Sentry/Breadcrumb.cs b/src/Sentry/Breadcrumb.cs
index b3b58606b0..f727d4ddb7 100644
--- a/src/Sentry/Breadcrumb.cs
+++ b/src/Sentry/Breadcrumb.cs
@@ -165,8 +165,9 @@ public static Breadcrumb FromJson(JsonElement json)
"INFO" => BreadcrumbLevel.Info,
"WARNING" => BreadcrumbLevel.Warning,
"ERROR" => BreadcrumbLevel.Error,
- "CRITICAL" => BreadcrumbLevel.Critical,
- "FATAL" => BreadcrumbLevel.Critical,
+ // Renamed in v6 but kept here to avoid issues with cached envelopes. Can be safely removed in the future.
+ "CRITICAL" => BreadcrumbLevel.Fatal,
+ "FATAL" => BreadcrumbLevel.Fatal,
_ => default
};
return new Breadcrumb(timestamp, message, type, data!, category, level);
diff --git a/src/Sentry/BreadcrumbLevel.cs b/src/Sentry/BreadcrumbLevel.cs
index 14b1f11789..f4d90af4a0 100644
--- a/src/Sentry/BreadcrumbLevel.cs
+++ b/src/Sentry/BreadcrumbLevel.cs
@@ -33,8 +33,8 @@ public enum BreadcrumbLevel
Error = 2,
///
- /// Critical breadcrumb level.
+ /// Fatal breadcrumb level.
///
- [EnumMember(Value = "critical")]
- Critical = 3,
+ [EnumMember(Value = "fatal")]
+ Fatal = 3,
}
diff --git a/src/Sentry/Internal/Hub.cs b/src/Sentry/Internal/Hub.cs
index 5170a64233..5935e98a69 100644
--- a/src/Sentry/Internal/Hub.cs
+++ b/src/Sentry/Internal/Hub.cs
@@ -501,7 +501,7 @@ private void AddBreadcrumbForException(SentryEvent evt, Scope scope)
{"exception_message", exceptionMessage}
};
}
- scope.AddBreadcrumb(breadcrumbMessage, "Exception", data: data, level: BreadcrumbLevel.Critical);
+ scope.AddBreadcrumb(breadcrumbMessage, "Exception", data: data, level: BreadcrumbLevel.Fatal);
}
catch (Exception e)
{
diff --git a/src/Sentry/Platforms/Android/Extensions/EnumExtensions.cs b/src/Sentry/Platforms/Android/Extensions/EnumExtensions.cs
index f9352f831d..916f8c977d 100644
--- a/src/Sentry/Platforms/Android/Extensions/EnumExtensions.cs
+++ b/src/Sentry/Platforms/Android/Extensions/EnumExtensions.cs
@@ -31,7 +31,7 @@ public static BreadcrumbLevel ToBreadcrumbLevel(this JavaSdk.SentryLevel level)
"INFO" => BreadcrumbLevel.Info,
"WARNING" => BreadcrumbLevel.Warning,
"ERROR" => BreadcrumbLevel.Error,
- "FATAL" => BreadcrumbLevel.Critical,
+ "FATAL" => BreadcrumbLevel.Fatal,
_ => throw new ArgumentOutOfRangeException(nameof(level), level.Name(), message: default)
};
@@ -42,7 +42,7 @@ public static JavaSdk.SentryLevel ToJavaSentryLevel(this BreadcrumbLevel level)
BreadcrumbLevel.Info => JavaSdk.SentryLevel.Info,
BreadcrumbLevel.Warning => JavaSdk.SentryLevel.Warning,
BreadcrumbLevel.Error => JavaSdk.SentryLevel.Error,
- BreadcrumbLevel.Critical => JavaSdk.SentryLevel.Fatal,
+ BreadcrumbLevel.Fatal => JavaSdk.SentryLevel.Fatal,
_ => throw new ArgumentOutOfRangeException(nameof(level), level, message: default)
};
diff --git a/src/Sentry/Platforms/Cocoa/Extensions/EnumExtensions.cs b/src/Sentry/Platforms/Cocoa/Extensions/EnumExtensions.cs
index feb2a37e91..9a6c67ed3f 100644
--- a/src/Sentry/Platforms/Cocoa/Extensions/EnumExtensions.cs
+++ b/src/Sentry/Platforms/Cocoa/Extensions/EnumExtensions.cs
@@ -22,7 +22,7 @@ public static BreadcrumbLevel ToBreadcrumbLevel(this CocoaSdk.SentryLevel level)
CocoaSdk.SentryLevel.Info => BreadcrumbLevel.Info,
CocoaSdk.SentryLevel.Warning => BreadcrumbLevel.Warning,
CocoaSdk.SentryLevel.Error => BreadcrumbLevel.Error,
- CocoaSdk.SentryLevel.Fatal => BreadcrumbLevel.Critical,
+ CocoaSdk.SentryLevel.Fatal => BreadcrumbLevel.Fatal,
_ => throw new ArgumentOutOfRangeException(nameof(level), level, null)
};
@@ -33,7 +33,7 @@ public static CocoaSdk.SentryLevel ToCocoaSentryLevel(this BreadcrumbLevel level
BreadcrumbLevel.Info => CocoaSdk.SentryLevel.Info,
BreadcrumbLevel.Warning => CocoaSdk.SentryLevel.Warning,
BreadcrumbLevel.Error => CocoaSdk.SentryLevel.Error,
- BreadcrumbLevel.Critical => CocoaSdk.SentryLevel.Fatal,
+ BreadcrumbLevel.Fatal => CocoaSdk.SentryLevel.Fatal,
_ => throw new ArgumentOutOfRangeException(nameof(level), level, message: default)
};
diff --git a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet10_0.verified.txt b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet10_0.verified.txt
index 05803effbe..290207f39e 100644
--- a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet10_0.verified.txt
+++ b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet10_0.verified.txt
@@ -59,7 +59,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet8_0.verified.txt b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet8_0.verified.txt
index 05803effbe..290207f39e 100644
--- a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet8_0.verified.txt
+++ b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet8_0.verified.txt
@@ -59,7 +59,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet9_0.verified.txt b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet9_0.verified.txt
index 05803effbe..290207f39e 100644
--- a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet9_0.verified.txt
+++ b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.DotNet9_0.verified.txt
@@ -59,7 +59,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.Net4_8.verified.txt b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.Net4_8.verified.txt
index 75d6b3e321..51fc328f6a 100644
--- a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.Net4_8.verified.txt
+++ b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsEfAsync.Net4_8.verified.txt
@@ -59,7 +59,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsSqlAsync.verified.txt b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsSqlAsync.verified.txt
index e317514b27..fbf3184173 100644
--- a/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsSqlAsync.verified.txt
+++ b/test/Sentry.DiagnosticSource.IntegrationTests/SqlListenerTests.RecordsSqlAsync.verified.txt
@@ -59,7 +59,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.EntityFramework.Tests/IntegrationTests.Simple.verified.txt b/test/Sentry.EntityFramework.Tests/IntegrationTests.Simple.verified.txt
index 826fb58e95..42af21ba1b 100644
--- a/test/Sentry.EntityFramework.Tests/IntegrationTests.Simple.verified.txt
+++ b/test/Sentry.EntityFramework.Tests/IntegrationTests.Simple.verified.txt
@@ -61,7 +61,7 @@
{
Message: my exception,
Category: Exception,
- Level: critical
+ Level: fatal
}
],
Spans: [
diff --git a/test/Sentry.Extensions.Logging.Tests/LogLevelExtensionsTests.cs b/test/Sentry.Extensions.Logging.Tests/LogLevelExtensionsTests.cs
index 629effa10b..c1d39af452 100644
--- a/test/Sentry.Extensions.Logging.Tests/LogLevelExtensionsTests.cs
+++ b/test/Sentry.Extensions.Logging.Tests/LogLevelExtensionsTests.cs
@@ -16,7 +16,7 @@ public static IEnumerable