Skip to content

Releases: getsentry/sentry-unity

2.0.0

21 Feb 15:37
Compare
Choose a tag to compare

This major release is based on the .NET 4.0 release and includes features like Metrics(preview) and Spotlight.

Significant change in behavior

  • 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 from Sentry.Attachment to Sentry.SentryAttachment (#3116)
  • Class renamed from Sentry.Constants to Sentry.SentryConstants (#3125)
  • Class renamed from Sentry.Context to Sentry.SentryContext (#3121)
  • Class renamed from Sentry.Hint to Sentry.SentryHint (#3116)
  • Class renamed from Sentry.Package to Sentry.SentryPackage (#3121)
  • Class renamed from Sentry.Request to Sentry.SentryRequest (#3121)
  • Class renamed from Sentry.Runtime to Sentry.SentryRuntime (#3016)
  • Class renamed from Sentry.Session to Sentry.SentrySession (#3110)
  • Class renamed from Sentry.Span to Sentry.SentrySpan (#3021)
  • Class renamed from Sentry.Transaction to Sentry.SentryTransaction (#3023)
  • Class renamed from Sentry.User to Sentry.SentryUser (#3015)
  • Interface renamed from Sentry.IJsonSerializable to Sentry.ISentryJsonSerializable (#3116)
  • Interface renamed from Sentry.ISession to Sentry.ISentrySession (#3110)
  • 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)
  • 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)
  • 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 and DebugMeta moved to Sentry.Protocol namespace. (#2815)
  • DebugImage.ImageAddress changed to long?. (#2725)
  • Contexts now inherit from IDictionary rather than ConcurrentDictionary. The specific dictionary being used is an implementation detail. (#2729)

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.
    • DisableTaskUnobservedTaskExceptionCapture method has been renamed to DisableUnobservedTaskExceptionCapture.
    • DebugDiagnosticLogger - use TraceDiagnosticLogger instead.
    • KeepAggregateException - this property is no longer used and has no replacement.
    • ReportAssemblies - use ReportAssembliesMode 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. (#2668)

  • IHasTransactionNameSource has been removed, use ITransactionContext instead. (#2654)

  • (#2694)

  • The unused StackFrame.InstructionOffset has been removed. (#2691)

  • The unused Scope.Platform property has been removed. (#2695)

  • The obsolete setter Sentry.PlatformAbstractions.Runtime.Identifier has been removed (2764)

  • Sentry.Values<T> is now internal as it is never exposed in the public API (#2771)

  • The TracePropagationTarget class has been removed, use the SubstringOrRegexPattern class instead. (#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)
    Replace your usage of WithScope with overloads of Capture* methods:

    • SentrySdk.CaptureEvent(SentryEvent @event, Action<Scope> scopeCallback)
    • SentrySdk.CaptureMessage(string message, Action<Scope> scopeCallback)
    • SentrySdk.CaptureException(Exception exception, Action<Scope> scopeCallback)
    // 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)
    • SentrySdk.Metrics.Set now additionally accepts string as value (#3092)
    • Timing metrics can now be captured with SentrySdk.Metrics.StartTimer (#3075)
  • Support for Spotlight, a debug tool for local development. (#2961)
    • Enable it with the ...
Read more

1.8.0

08 Jan 20:21
Compare
Choose a tag to compare

Features

  • The static SentryMonoBehaviour now has it's UpdatePauseStatus public, allowing users to manually update the SDK's internal pause status. This helps work around false positive ANR events when using plugins that take away control from the game i.e. ad frameworks like AppLovin or Ironsource (#1529)
  • It's now possible enable to CaptureFailedRequests and the statuscode ranges via the editor. These also apply to the native SDK on iOS (#1514)

Fixes

  • The SDK no longer fails to resolve the debug symbol type on dedicated server builds (#1522)
  • Fixed screenshots not being attached to iOS native crashes (#1517)

Dependencies

1.7.1

24 Nov 15:33
Compare
Choose a tag to compare

Fixes

  • Fix SIGSEV, SIGABRT and SIGBUS crashes happening after/around the August Google Play System update, see #2955 for more details (fix provided by Native SDK bump) (#1491)
  • Fixed an issue with the SDK failing to properly detect application pause and focus lost events and creating false positive ANR events (specifically on Android) (#1484)

Dependencies

1.7.1-beta.1

13 Nov 17:27
Compare
Choose a tag to compare
1.7.1-beta.1 Pre-release
Pre-release

Fixes

  • Fix SIGSEV, SIGABRT and SIGBUS crashes happening after/around the August Google Play System update, see #2955 for more details (fix provided by Native SDK bump) (#1491)

Dependencies

1.7.0

07 Nov 20:45
Compare
Choose a tag to compare

Feature

  • Added the dedicated server platforms to the known platforms to prevent the SDK from interpreting them as restricted platforms (i.e. disabling offline caching, session tracking) (#1468)

Dependencies

1.6.0

27 Sep 20:16
Compare
Choose a tag to compare

Feature

  • The SDK now surfaces options to opt out of the Android NDK integration and NDK Scope Sync(#1452)

Fixes

  • Fixed IL2CPP line number processor to no longer crash in Unity 2023 builds (#1450)
  • Fixed an issue with the Android dependency setup when using a custom mainTemplate.gradle (#1446)

Dependencies

1.5.2

04 Sep 11:39
Compare
Choose a tag to compare

Fixes

  • The SDK no longer creates transactions with their start date set to Jan 01, 001 #1423
  • The screenshot capture no longer leaks memory (#1427)

Dependencies

1.5.1

11 Aug 08:18
Compare
Choose a tag to compare

Fixes

  • Resolved the internal dependency issue with the Android SDK that lead to build time issues like runtime.jar is missing and ClassNotFoundException during runtime (#1417)
  • The SDK now handles proguardfiles sections indicated by both consumerProguardFiles and proguardFiles (#1401)

Dependencies

1.5.0

26 Jun 10:26
Compare
Choose a tag to compare

Fixes

  • Fixed an Android build issue where Sentry options would be cached with the first build until Editor restart (#1379)
  • Adding a remote repository filter to the gradle project (#1367)
  • Setting Android SDK version explicit to prevent version conflicts with remote repositories (#1378)
  • Set debug symbol upload logging to debug verbosity (#1373)
  • The SDK no longer causes an exception during initialiation on Android API level 32 and newer (#1365)
  • Suspending Android native support for Mono builds to prevent C# exceptions form causing crashes (#1362)
  • Fixed an issue where the debug image UUID normalization would malform the UUID leading to a failed symbolication (#1361)

Feature

  • When building for iOS, the debug symbol upload now works irrespective of whether Bitcode is enabled or not (#1381)

Dependencies

1.4.1

06 Jun 07:45
Compare
Choose a tag to compare

Fixes

  • Fixed Xcode linking error with the SDK disabled (#1352)
  • Fixed an issue triggering an error Failed to find the closing bracket when using custom gradle files (#1359)
  • Fixed the Android native integration for builds with Unity 2022.3 and newer (#1354)

Dependencies