From 4f90ebca9b9a6ffffc08185a2d4e9ddc45f6e190 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 4 Nov 2026 16:46:02 +0100 Subject: [PATCH 1/4] Skip the throw frame source line test on Android 2021.3 --- .github/workflows/test-run-android.yml | 1 + test/IntegrationTest/Integration.Tests.ps1 | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/test-run-android.yml b/.github/workflows/test-run-android.yml index 6400e761d..8d90dc546 100644 --- a/.github/workflows/test-run-android.yml +++ b/.github/workflows/test-run-android.yml @@ -32,6 +32,7 @@ jobs: HOMEBREW_NO_INSTALL_CLEANUP: 1 SENTRY_DSN: ${{ secrets.SENTRY_TEST_DSN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_TEST_UNITY_VERSION: ${{ inputs.unity-version }} steps: - name: Checkout diff --git a/test/IntegrationTest/Integration.Tests.ps1 b/test/IntegrationTest/Integration.Tests.ps1 index 6e9f39c20..9f39a191d 100644 --- a/test/IntegrationTest/Integration.Tests.ps1 +++ b/test/IntegrationTest/Integration.Tests.ps1 @@ -447,6 +447,10 @@ Describe "Unity $($env:SENTRY_TEST_PLATFORM) Integration Tests" { Set-ItResult -Skipped -Because "line numbers come from the IL2CPP mappings, which a Mono player does not produce" return } + if ($script:Platform -eq "Android" -and $script:TestSetup.UnityVersion -like "2021.3*") { + Set-ItResult -Skipped -Because "on the Android 2021.3 x86_64 emulator, IL2CPP intermittently reports no stack frames for the thrown exception, so the event carries only the throwing frame without a native address" + return + } $frame = $runEvent.exception.values[0].stacktrace.frames | Where-Object { $_.module -eq "IntegrationTester" -and $_.function -eq "ThrowException" } | From ee84ea8cfbadc95b26234902414d3c3a420b53d2 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 3 Nov 2026 17:43:40 +0100 Subject: [PATCH 2/4] Correct configuration window tooltips and option docs --- CHANGELOG.md | 8 +++++++- .../ConfigurationWindow/AdvancedTab.cs | 8 ++------ src/Sentry.Unity.Editor/ConfigurationWindow/CoreTab.cs | 2 +- .../ConfigurationWindow/EnrichmentTab.cs | 9 ++++----- src/Sentry.Unity/SentryUnityOptions.cs | 3 ++- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 252fc315b..e6d93deba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Fixes + +- Corrected the tooltips, help boxes and option docs in the configuration window that described defaults or limitations wrongly: `Auto Set UserName` is disabled by default, `Attach Screenshots` works for events on background threads, the IL2CPP line number support needs no Org-Slug, and `Scene Traces` has no Unity version requirement. (PR_LINK) + ## 4.12.0 ### Behavioral Changes @@ -212,7 +218,7 @@ ### Features -- Added `options.AndroidNativeTombstoneEnabled` (default `false`) and `options.AndroidReportHistoricalTombstones` (default `false`) to enable reporting of native crashes captured by Android's `ApplicationExitInfo` API as Tombstones ([#2749](https://github.com/getsentry/sentry-unity/pull/2749)) +- Added `options.AndroidTombstoneEnabled` (default `false`) and `options.AndroidReportHistoricalTombstones` (default `false`) to enable reporting of native crashes captured by Android's `ApplicationExitInfo` API as Tombstones ([#2749](https://github.com/getsentry/sentry-unity/pull/2749)) ### Fixes diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs index 1d2940afb..3fa97546e 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs @@ -200,17 +200,13 @@ internal static void Display(ScriptableSentryUnityOptions options, SentryCliOpti "constructed exception. Capture a thrown exception to include its stack trace.", MessageType.Info); - if (!SentryUnityVersion.IsNewerOrEqualThan("2020.3")) - { - EditorGUILayout.HelpBox("The IL2CPP line number feature is supported from Unity version 2020.3 or newer and 2021.3 or newer onwards", MessageType.Warning); - } - else if (cliOptions is not null && !cliOptions.IsValid(null, EditorUserBuildSettings.development)) + if (cliOptions is not null && !cliOptions.IsValid(null, EditorUserBuildSettings.development)) { EditorGUILayout.BeginVertical(EditorStyles.helpBox); var errorIcon = EditorGUIUtility.IconContent("console.erroricon").image; var content = new GUIContent("The IL2CPP line number support relies on the Debug Symbol Upload to be enabled and configured." + - "\nAdditionally, this requires an Auth Token, an Org-Slug and the Project Name." + + "\nAdditionally, this requires an Auth Token and the Project Name." + "\nLearn more about how our IL2CPP support works in our docs.", errorIcon); EditorGUILayout.LabelField(content, EditorStyles.wordWrappedLabel); diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/CoreTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/CoreTab.cs index bf2709594..46f3cdc07 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/CoreTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/CoreTab.cs @@ -85,7 +85,7 @@ internal static void Display(ScriptableSentryUnityOptions options) options.AutoSceneLoadTraces = EditorGUILayout.Toggle( new GUIContent("Scene Traces ", "Whether the SDK should automatically create traces " + - "during scene loading. Requires Unity 2020.3 or newer."), + "during scene loading."), options.AutoSceneLoadTraces); options.AutoAwakeTraces = EditorGUILayout.Toggle( diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs index 0d5a29783..db8fcd2ee 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs @@ -18,8 +18,7 @@ internal static void Display(ScriptableSentryUnityOptions options) options.IsEnvironmentUser = EditorGUILayout.Toggle( new GUIContent("Auto Set UserName", "Whether to report the 'Environment.UserName' as " + - "the User affected in the event. Defaults to enabled on desktop " + - "platforms and disabled on mobile and console platforms."), + "the User affected in the event. Disabled by default."), options.IsEnvironmentUser); EditorGUI.indentLevel--; @@ -33,9 +32,9 @@ internal static void Display(ScriptableSentryUnityOptions options) { options.AttachScreenshot = EditorGUILayout.BeginToggleGroup( new GUIContent("Attach Screenshots to Events", "Try to attach current screenshot on events.\n" + - "This is an early-access feature and may not work on all platforms (it is explicitly disabled on WebGL).\n" + - "Additionally, the screenshot is captured mid-frame, when an event happens, so it may be incomplete.\n" + - "A screenshot might not be able to be attached, for example when the error happens on a background thread."), + "This is an early-access feature and may not work on all platforms (it is explicitly disabled on WebGL and in batch mode).\n" + + "The screenshot is taken at the end of the frame the event happens in. " + + "It is missing when the main thread is blocked, for example during an app hang."), options.AttachScreenshot); EditorGUI.indentLevel++; diff --git a/src/Sentry.Unity/SentryUnityOptions.cs b/src/Sentry.Unity/SentryUnityOptions.cs index 667f02300..2d81814d6 100644 --- a/src/Sentry.Unity/SentryUnityOptions.cs +++ b/src/Sentry.Unity/SentryUnityOptions.cs @@ -228,7 +228,8 @@ public sealed class SentryUnityOptions : SentryOptions public bool IosNativeSupportEnabled { get; set; } = true; /// - /// Whether the SDK should add native support for iOS + /// Whether the SDK should report watchdog terminations on iOS: the app getting killed by the operating system, + /// for example for using too much memory. This is disabled by default. /// public bool IosWatchdogTerminationIntegrationEnabled { get; set; } = false; From 398d3569522eca7180a110fb121f3e369113b4a4 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 3 Nov 2026 17:46:17 +0100 Subject: [PATCH 3/4] Describe screenshot timing and the Org-Slug requirement precisely --- CHANGELOG.md | 2 +- src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs | 2 +- .../ConfigurationWindow/EnrichmentTab.cs | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6d93deba..a0ecc4bde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Fixes -- Corrected the tooltips, help boxes and option docs in the configuration window that described defaults or limitations wrongly: `Auto Set UserName` is disabled by default, `Attach Screenshots` works for events on background threads, the IL2CPP line number support needs no Org-Slug, and `Scene Traces` has no Unity version requirement. (PR_LINK) +- Corrected the tooltips, help boxes and option docs in the configuration window that described defaults or limitations wrongly: `Auto Set UserName` is disabled by default, `Attach Screenshots` works for events on background threads, the IL2CPP line number support needs the Org-Slug unless the auth token is an organization token, and `Scene Traces` has no Unity version requirement. (PR_LINK) ## 4.12.0 diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs index 3fa97546e..fe99e1692 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/AdvancedTab.cs @@ -206,7 +206,7 @@ internal static void Display(ScriptableSentryUnityOptions options, SentryCliOpti var errorIcon = EditorGUIUtility.IconContent("console.erroricon").image; var content = new GUIContent("The IL2CPP line number support relies on the Debug Symbol Upload to be enabled and configured." + - "\nAdditionally, this requires an Auth Token and the Project Name." + + "\nAdditionally, this requires an Auth Token and the Project Name, and the Org-Slug unless the token is an organization token." + "\nLearn more about how our IL2CPP support works in our docs.", errorIcon); EditorGUILayout.LabelField(content, EditorStyles.wordWrappedLabel); diff --git a/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs b/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs index db8fcd2ee..ec25e5c24 100644 --- a/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs +++ b/src/Sentry.Unity.Editor/ConfigurationWindow/EnrichmentTab.cs @@ -32,9 +32,10 @@ internal static void Display(ScriptableSentryUnityOptions options) { options.AttachScreenshot = EditorGUILayout.BeginToggleGroup( new GUIContent("Attach Screenshots to Events", "Try to attach current screenshot on events.\n" + - "This is an early-access feature and may not work on all platforms (it is explicitly disabled on WebGL and in batch mode).\n" + - "The screenshot is taken at the end of the frame the event happens in. " + - "It is missing when the main thread is blocked, for example during an app hang."), + "This is an early-access feature and may not work on all platforms (it is explicitly disabled in the Editor, on WebGL and in batch mode).\n" + + "The screenshot is taken at the end of the current or next frame. " + + "It is missing when no frame completes within a second, for example while the main thread hangs " + + "or the app is paused in the background."), options.AttachScreenshot); EditorGUI.indentLevel++; From 8b164c0e72b8dcd707ceab0b081b1b83e58e4ece Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 4 Nov 2026 12:20:31 +0100 Subject: [PATCH 4/4] Link the CHANGELOG entry to its PR --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0ecc4bde..964f24c5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Fixes -- Corrected the tooltips, help boxes and option docs in the configuration window that described defaults or limitations wrongly: `Auto Set UserName` is disabled by default, `Attach Screenshots` works for events on background threads, the IL2CPP line number support needs the Org-Slug unless the auth token is an organization token, and `Scene Traces` has no Unity version requirement. (PR_LINK) +- Corrected the tooltips, help boxes and option docs in the configuration window that described defaults or limitations wrongly: `Auto Set UserName` is disabled by default, `Attach Screenshots` works for events on background threads, the IL2CPP line number support needs the Org-Slug unless the auth token is an organization token, and `Scene Traces` has no Unity version requirement. ([#2933](https://github.com/getsentry/sentry-unity/pull/2933)) ## 4.12.0