Releases: getsentry/sentry-unity
4.0.0-beta.0
Breaking Changes
-
Removed Unity 2019 support, which reached End of Life in 2022. Minimum supported version now is 2020. (#2231)
-
Breaking Change: The Unity SDK's static API has been moved from
Sentry.Unity.SentryUnity
andSentry.SentrySdk
toSentry.Unity.SentrySdk
.
This change enables manual/programatic SDK initialization with full functionality, previously only available through auto-initialization.
The underlying .NET SDK'sSentrySdk
class is now internal, and several previously public classes likeSentryInitialization
andSentryIntegrations
are now internal.Migration: Update your
using
directives fromusing Sentry;
tousing Sentry.Unity;
. IDEs like Rider can automatically
import the missing references. In some cases, you may need bothusing Sentry.Unity;
(for the static API) andusing Sentry;
(for types likeSentryId
). No changes are required to your actual SDK method calls (e.g.,SentrySdk.CaptureException()
remains the same). (#2227, #2239)
Features
- The SDK now comes with a
SentryUserFeedback
prefab ready to be used. You can drag and drop it into your scene or
customize it by creating your own variant. The user feedback feature allows your users to provide feedback in form
of a written message that can optionally have a screenshot attached. Read more about it (here). (#2220)
Dependencies
3.2.3
Significant change in behavior
- The SDK no longer attaches screenshots when capturing errors in the Unity Editor. (#2163)
Fixes
- When targeting Android, the SDK no longer causes
SIGABORT
crashes due toattempting to detach while still running code
. (#2215) - The SDK no longer causes crashes with
EXCEPTION_ACCESS_VIOLATION_READ
when using the Mono scripting backend. The SDK now adds the active scene name to the context in IL2CPP builds only (#2206)
Dependencies
3.2.2
Fixes
- When targeting WebGL with an unsupported configuration (i.e. when the exception support is set to
none
), the SDK now shows an error at build time instead of a runtime failure (#2141) - When targeting Desktop Platforms, Sentry-CLI now respects the SDK's debug logging verbosity (#2138)
- When targeting iOS, the SDK now correctly updates the Sentry CLI options used for debug symbol upload when appending builds (#2146)
- When targeting iOS and setting
IgnoreCliErrors = true
, the Xcode build will now succeed even if the symbol upload itself failed. This is aimed to allow users to unblock themselves (#2136) - Sentry CLI no longer requires the 'Organisation' option, and they have been removed from the configuration window. If you're providing an Organisation right now, nothing changes. Fresh setups will have the option omitted (#2137)
Dependencies
3.2.1
3.2.0
Fixes
- Drastically improved performance of scope sync when targeting Android (#2107)
- When targeting macOS, the SDK no longer fails to sync the scope to native events (#2104)
- Updated the options grouping in the configuration window (#2121)
Features
- The SDK now links errors and events (managed and native errors) via
trace ID
. This allows you to correlate events captured from different layers of your game (#1997, #2089, #2106) - The trace used to connect errors on different layers of your game gets regenerated every time the app gains focus, or the active scene changes (#2123)
- The SDK now reports the game's name as part of the app context (2083)
- The SDK now reports the active scene's name as part of the
Unity Context
(2084)
Dependencies
- Bump Cocoa SDK from v8.45.0 to v8.49.1 (#2063, #2071, #2105, #2106)
- Bump Java SDK from v8.3.0 to v8.9.0 (#2066, #2075, #2092, #2103, #2111, #2125)
- Bump CLI from v2.42.2 to v2.43.0 (#2065, #2082, #2085)
- Bump .NET SDK from v5.2.0 to v5.6.0 (#2067, #2093, #2102, #2126)
- Bump Native SDK from v0.8.1 to v0.8.4 (#2077, #2087, #2117)
3.1.0
3.0.2
Fixes
- Resolved an issue where the SDK would not properly annotate the ViewHierarchy's
AttachmentType
. This would cause it to not render properly on the issues-page on Sentry (#2036) - The SDK now ensures that the correct version of the Android SDK gets used during the build. This prevents dependency conflicts and no longer requires "clean" builds to resolve (#2031)
Dependencies
3.0.1
3.0.0
API Changes
- The native layer on mobile platforms (iOS and Android) no longer self-initializes before the Unity game starts.
Previously, the SDK would use the options at build-time and bake them into the native layer.
Instead, the SDK will now take the options passed into theConfigure
callback and use those to initialize the native SDKs.
This allows users to modify the native SDK's options at runtime programmatically.
The initialization behaviour is controlled byIosNativeInitializationType
andAndroidNativeInitializationType
options. These can be set fromRuntime
(default) toBuildTime
to restore the previous flow and bake the options into the native projects. (#1915, #1924)
Features
- Added
SetBeforeCaptureScreenshot
andSetBeforeCaptureViewHierarchy
to the options. Users can now choose whether to capture those as attachment on an individual event basis. (#2023) - When capturing events via
Debug.LogError
, the SDK now provides stacktraces. Note, that the SDK is currently not able to provide line numbers for these events. (#1965) - Added option to enable/disable automatic capture of
Debug.LogError
as event. (#2009) - The
Ignore CLI Errors
checkbox in the Debug Symbols tab now applies to all supported platforms. (#2008)
Fixes
- The SDK no longer fails to attach the
ViewHierarchy
when the scope has previously been cleared. (#2020) - The SDK no longer fails to attach a screenshot when the scope has previously been cleared. (#2019)
- The SDK's build logs when targeting Android are not a lot less noisy. The SDK will also no longer omit the sentry-cli logs from the gradle build output. (#1995)
- When targeting iOS and disabling native support, the SDK no longer causes builds to fail with an
Undefined symbol: _SentryNativeBridgeIsEnabled
error. (#1983) - The SDK now sets the supported platforms in the
.asmdef
explicitely, preventing runtime issues on currently non-supported platforms (#1974) - Fixed iOS native SDK initialization that could cause memory management issues (#1964)
- The SDK now properly sets up logging by respecting the debug settings set during the configure callback. Logs created during the configuration of the native SDKs no longer get lost (#1959)
- ANR events now include the relevant mechanism they have been captured from (#1955)
- On Android, the SDK no longer freezes the game when failing to sync with the native SDK (#1927)
Dependencies
- Bump Native SDK from v0.7.15 to v0.7.20 (#1928, #1939, #1967, #1981, #2003)
- Bump CLI from v2.39.0 to v2.41.1 (#1922, #1948, #1984)
- Bump Cocoa SDK from v8.41.0 to v8.45.0 (#1937, #1945, #1949, #2001, #2017)
- Bump .NET SDK from v4.13.0 to v5.1.1 (#1940, #1953, #2005, #2018)
- Bump Java SDK from v7.18.0 to v8.2.0 (#1926, #1934, #1946, #1947, #2014)
3.0.0-beta.1
API Changes
- The native layer on mobile platforms (iOS and Android) no longer self-initializes before the Unity game starts. Previously, the SDK would use the options at build-time and bake them into the native layer. Instead, the SDK will now take the options passed into the
Configure
callback and use those to initialize the native SDKs. This allows users to modify the native SDK's options at runtime programmatically.
The initialization behaviour is controlled byIosNativeInitializationType
andAndroidNativeInitializationType
options. These can be set fromRuntime
(default) toBuildTime
to restore the previous flow and bake the options into the native projects. (#1915, #1924)
Fixes
- The SDK now sets the supported platforms in the
.asmdef
explicitely, preventing runtime issues on currently non-supported platforms (#1974) - Fixed iOS native SDK initialization that could cause memory management issues (#1964)
- The SDK now properly sets up logging by respecting the debug settings set during the configure callback. Logs created during the configuration of the native SDKs no longer get lost ([#1959]#1959)
- ANR events now include the relevant mechanism they have been captured from (#1955)
- On Android, the SDK not longer freezes the game when failing to sync with the native SDK (#1927)