Releases: getsentry/sentry-unity
Releases · getsentry/sentry-unity
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)
Dependencies
3.0.0-beta.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 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
- On Android, the SDK not longer freezes the game when failing to sync with the native SDK (#1927)
Dependencies
2.4.0
API Changes
- The Runtime- and BuildTime-Configuration have been merged into a single
OptionsConfiguration
script. This allows for programmatic configuration of the SDK in one place using precompile directives. Note, that the current limitation of options for Android and iOS being baked into the project at build time still remains. (#1888)
This is part of a larger effort to simplify the configuration of the native SDKs and enable users to modify their options at runtime. For more information see #1907
Features
- The SDK now provides a dedicated sentry-cli scriptable config, available on the
Debug Symbols
tab. This allows for programmatic configuration of the used cli-options during build. (#1887)
Fixes
- Fix potential NullReferenceException when trying to attach a view hierarchy to an event (#1919)
- The SDK no longer sends events when it fails to initialize the native SDK on Windows and Linux and logs those instead. It also suppresses
EntryPointNotFoundException
if sentry-native is not available at runtime. Native crashes won't get capture but it'll continue to capture C# errors. (#1898) - The SDK no longer closes the underlying native SDK during the games shutdown if native support has not been enabled. This allows the SDK to support and capture errors in case of building the game as a library on a mobile (Android or iOS) game. (#1897)
Dependencies
2.3.0
Fixes
- Fixed an issue where the SDK would write the
SampleRate
as anint
instead of afloat
to the Android Manifest, causing issues during the Android SDK's initialization (#1872) - The SDK no longer calls into
Application.persistentDataPath
on unknown platforms. This prevents crashes during startup on platforms with restricted disk access like the Nintendo Switch (#1870) sentry-native
DLL is now statically linked against Windows CRT. This allows the SDK to provide native support on some Windows systems that do not have CRT installed locally (#1875)
Features
- The SDK now also supports capturing native crashes via the WER handler on Windows (#1873)
Dependencies
2.2.2
2.2.1
2.2.0
API Changes
- The
SentrySdk.Metrics
module is deprecated and will be removed in the next major release.
Sentry will reject all metrics sent after October 7, 2024.
Learn more: https://sentry.zendesk.com/hc/en-us/articles/26369339769883-Upcoming-API-Changes-to-Metrics (#3619)
Fixes
- The SDK now uses the .NET SDK's
Options.FileWriteDisabled
to opt-out on any writing operations on 'unknown' platforms such as the Nintendo Switch (1814) - The SDK no longer freezes the game during shutdown when targeting WebGL (#3619)
- The SDK no longer passes a mangled
gpu.vendorId
to the Android native layer (#1813) - Access to the
StackTraceMode
was intended to be restricted due to incompatibility between IL2CPP andStackTraceMode.Enhanced
. The access modifier has been changed toprivate
to avoid pitfall and potential crashes (#1806)
Features
- Contexts, such as
device
andgpu
that the SDK retrieves during the game's startup is now available even earlier and irrespective whether an error was captured on the main or on a background thread (#1802) - Added an
ApplicationNotRespondingException
type that allows filtering of ANR events (#1800)