Releases: bugsnag/bugsnag-unity
v6.3.1
6.3.1 (2022-04-06)
This version of the sdk can also be installed via UPM
Enhancements
- Update bugsnag-android to v5.22.0
- Added
Bugsnag.isStarted()
to test whether the Bugsnag client is in the middle of initializing. This can be used to guard uses of the Bugsnag API that are either on separate threads early in the app's start-up and so not guaranteed to be executed afterBugsnag.start
has completed, or where Bugsnag may not have been started at all due to some internal app logic.
slack-jallen:#1621
bugsnag-android#1640 - Events and Sessions will be discarded if they cannot be uploaded and are older than 60 days or larger than 1MB
bugsnag-android#1633 - Fixed potentially thread-unsafe access when invoking
Bugsnag
static methods across different threads whilstBugsnag.start
is still in-flight. It is now safe to call anyBugsnag
static method onceBugsnag.start
has begun executing, as access to the client singleton is controlled by a lock, so the newisStarted
method (see above) should only be required where it cannot be determined whether the call toBugsnag.start
has begun or you do not want to wait.
bugsnag-android#1638 - Calling
bugsnag_event_set_context
with NULLcontext
correctly clears the event context again
bugsnag-android#1637
- Added
Bug fixes
v6.3.0
6.3.0 (2022-03-23)
This version of the sdk can also be installed via UPM
Enhancements
-
Added Android support for EDM4U. For manual installs there see the new menu item at Window/Bugsnag/Enable EDM Support. For UPM installs we have a dedicated package. #528
-
Update bugsnag-android to v5.21.0
- Fix inconsistencies in stack trace quality for C/C++ events. Resolves a few
cases where file and line number information was not resolving to the correct
locations. This change may result in grouping changes to more correctly
highlight the root cause of an event.
#1605
#1606 - Fixed an issue where an uncaught exception on the main thread could in rare cases trigger an ANR.
#1624
- Fix inconsistencies in stack trace quality for C/C++ events. Resolves a few
v6.2.0
6.2.0 (2022-03-16)
This version of the sdk can also be installed via UPM
Enhancements
-
Added event, session and device id persistence for Windows and WebGL builds #512 #509 #514
-
Add
Configuration.MaxReportedThreads
config option to set the native Android option 523 -
Update bugsnag-android to v5.20.0
- The number of threads reported can now be limited using
Configuration.setMaxReportedThreads
(defaulting to 200)
bugsnag-android#1607 - Improved the performance and stability of the NDK and ANR plugins by caching JNI references on start
bugsnag-android#1596
bugsnag-android#1601
- The number of threads reported can now be limited using
v6.1.0
6.1.0 (2022-02-08)
This version of the sdk can also be installed via UPM
Enhancements
-
New APIs to support forthcoming feature flag and experiment functionality.
For more information, please see https://docs.bugsnag.com/product/features-experiments
#504 #501 -
Update bugsnag-cocoa to v6.16.1
- New APIs to support forthcoming feature flag and experiment functionality.
For more information, please see https://docs.bugsnag.com/product/features-experiments
bugsnag-cocoa#1279 - Fix missing user.id in OOM events with no active session.
bugsnag-cocoa#1274 - Improve crash report writing performance and size on disk.
bugsnag-cocoa#1273
bugsnag-cocoa#1281 - Detect hangs during launch of UIScene based apps.
bugsnag-cocoa#1263 - Stop persisting changes made by
OnSendError
callbacks if delivery needs to be retried.
bugsnag-cocoa#1262 - Fix incorrect
device.freeDisk
in crash errors.
bugsnag-cocoa#1256 - Fix some potential deadlocks that could occur if a crash handler crashes.
bugsnag-cocoa#1252 - Fix
UIApplicationState
detection when started from a SwiftUI app'sinit()
function.
This fixes false positive OOMs on iOS 15 for apps that have been prewarmed without transitioning to the foreground.
bugsnag-cocoa#1248 - Load configuration from the plist instead of using defaults when calling Bugsnag.start(withApiKey:)
bugsnag-cocoa#1245 - New APIs to allow
OnBreadcrumb
,OnSendError
andOnSession
Swift closures to be removed.
The following APIs are now deprecated and will be removed in the next major release:removeOnBreadcrumb(block:)
removeOnSendError(block:)
removeOnSession(block:)
bugsnag-cocoa#1240
- Include metadata in breadcrumbs for
UIWindow
/NSWindow
notifications.
bugsnag-cocoa#1238 - Fix a crash in
-[BSGURLSessionTracingDelegate URLSession:task:didFinishCollectingMetrics:]
for tasks with no request.
bugsnag-cocoa#1230 - Use
LC_FUNCTION_STARTS
to improve symbolication accuracy.
bugsnag-cocoa#1214 - Fix missing imports when building with
CLANG_ENABLE_MODULES=NO
bugsnag-cocoa#1284
- New APIs to support forthcoming feature flag and experiment functionality.
-
Update bugsnag-android to v5.19.2
- New APIs to support forthcoming feature flag and experiment functionality. For more information, please see https://docs.bugsnag.com/product/features-experiments.
- Explicitly define Kotlin api/language versions
bugsnag-android#1564 - Build project with Kotlin 1.4, maintain compat with Kotlin 1.3
bugsnag-android#1565 - Discarded unhandled exceptions are propagated to any previously registered handlers
bugsnag-android#1584 - Fix SIGABRT crashes caused by race conditions in the NDK layer
bugsnag-android#1585 - Fixed an issue where feature-flags were not always sent if an OnSendCallback was configured
bugsnag-android#1589 - Fix a bug where api keys set in React Native callbacks were ignored
bugsnag-android#1592
v6.0.0
6.0.0 (2022-01-20)
This version contains breaking changes, as bugsnag-unity has been updated to allow for more convenient and performant initialisation and configuration features.
Please see the upgrade guide for details of all the changes and instructions on how to upgrade.
This version of the sdk can also be installed via UPM
In addition to the changes mentioned in the upgrade guide, the bundled Bugsnag Android Notifier has been updated. See below for details.
- Update bugsnag-android to v5.18.0
- Bump compileSdkVersion to apiLevel 31
bugsnag-android#1536 - Flush in-memory sessions first
bugsnag-android#1538 - Avoid unnecessary network connectivity change breadcrumb
bugsnag-android#1540
bugsnag-android#1546 - Clear native stacktrace memory in
bugsnag_notify_env
before attempting to unwind the stack
bugsnag-android#1543 - Increase resilience of NDK stackframe method capture
bugsnag-android#1484 redactedKeys
now correctly apply to metadata on Event breadcrumbs
bugsnag-android#1526- Improved the robustness of automatically logged
ERROR
breadcrumbs
bugsnag-android#1531 - Improve performance on the breadcrumb storage "hot path" by removing Date formatting
bugsnag-android#1525 - Improve the memory use and performance overhead when handling the delivery response status codes
bugsnag-android#1558 - Harden ndk layer through use of const keyword
bugsnag-android#1566 - Delete persisted NDK events earlier in delivery process
bugsnag-android#1562 - Add null checks for strlen()
bugsnag-android#1563 - Catch IOException when logging response status code
bugsnag-android#1567
- Bump compileSdkVersion to apiLevel 31
v5.4.2
5.4.2 (2021-11-16)
- Update bugsnag-cocoa to v6.14.2
- Fix missing
configuration.user
and manually resumedsession
info in unhandled errors.
bugsnag-cocoa#1215
- Fix missing
Bug fixes
- Fixed an issue where breadcrumbs from non fatal apphang errors caused a crash on retrieval
#431
v5.4.1
5.4.1 (2021-10-25)
Enhancements
-
Removed the limit on the length of a breadcrumbs name #399
-
Update bugsnag-android to v5.14.0
- Capture and report thread state (running, sleeping, etc.) for Android Runtime and Native threads
bugsnag-android#1367
bugsnag-android#1390
- Capture and report thread state (running, sleeping, etc.) for Android Runtime and Native threads
-
Update bugsnag-cocoa to v6.14.0
- Capture and report thread states (running, stopped, waiting, etc.)
bugsnag-cocoa#1200 - Disable app hang detection for app extensions.
bugsnag-cocoa#1198
- Capture and report thread states (running, stopped, waiting, etc.)
Bug fixes
- Fixed an issue where csharp exceptions originating from background threads caused errors in the App and Device class constructors
#413
v5.4.0
5.4.0 (2021-09-27)
Enhancements
-
Update bugsnag-cocoa to v6.12.2
-
Stop dropping breadcrumbs when provided invalid metadata (that is not JSON convertible.)
bugsnag-cocoa#1187 -
Fix Swift fatal error parsing for messages with no filename.
bugsnag-cocoa#1186 -
Events now include a
thermalState
property in thedevice
tab, and unexpected app terminations that occur
when the thermal state is critical will now be reported as a "Thermal Kill" rather than Out Of Memory error.
bugsnag-cocoa#1171 -
Fix a regression where the session was not captured at launch if Bugsnag was started before
willFinishLaunchingWithOptions
in iOS apps that do not adopt the UIScene life-cycle.
bugsnag-cocoa#1180 -
Fatal app hangs will no longer be reported if the
willTerminateNotification
is received.
bugsnag-cocoa#1176
-
-
Update bugsnag-android to v5.13.0
- The
app.lowMemory
value always report the most recentonTrimMemory
/onLowMemory
status bugsnag-android#1342 - Added the
app.memoryTrimLevel
metadata to report a description of the latestonTrimMemory
status bugsnag-android#1344 - Added
STATE
Breadcrumbs foronTrimMemory
events bugsnag-android#1345 - Capture breadcrumbs for OkHttp network requests
bugsnag-android#1358
bugsnag-android#1361
bugsnag-android#1363
bugsnag-android#1379 - Update project to build using Gradle/AGP 7
bugsnag-android#1354 - Increased default breadcrumb collection limit to 50
bugsnag-android#1366 - Support integer values in buildUuid
bugsnag-android#1375 - Use SystemClock.elapsedRealtime to track
app.durationInForeground
bugsnag-android#1375
- The
-
Add new automatically collected Device data to Windows, WebGL and Unity Editor events:
batteryLevel, charging, id, model, screenDensity, screenResolution, totalMemory
#390 -
Add new automatically collected App data to Windows, WebGL and Unity Editor events:
duration, id, isLaunching, lowMemory
#390 -
Add new Bugsnag.Notify overloads:
Notify(exception, stacktrace)
Notify(exception, stacktrace, callback)
Notify(name, message, stacktrace)
Notify(name, message, stacktrace, callback)
#380 -
Add
Bugsnag.GetLastRunInfo()
To get relevant crash information regarding the last run of the application #379 -
Add
Configuration.SendLaunchCrashesSynchronously
config option to set the native Android option and the native Cocoa option #379 -
Add
Configuration.LaunchDurationMillis
config option to set the native Android option and the native Cocoa option #379
Deprecated
Bugsnag.StopSession
has been deprecated in favour ofBugsnag.PauseSession
and will be removed in the next major release.
Bug fixes
- Fixed an issue where app.type was not sent in native Cocoa crash reports
#395
v5.3.0
5.3.0 (2021-09-01)
Enhancements
-
Add
Configuration.VersionCode
config option to set the native Android option #373 -
Add
Configuration.PersistenceDirectory
to set the native Android option #368 -
Add
Configuration.SendThreads
config option to set the native Android option and the native Cocoa option #375 -
Add
Configuration.PersistUser
config option to set the native Android option and the native Cocoa option #372 -
Add
Configuration.MaxPersistedEvents
config option to set the native Android option and the native Cocoa option #371 -
Add
Configuration.RedactedKeys
configuration option to enable redacting specific keys in metadata #367 -
Add
Configuration.Endpoints
to enable setting custom endpoints for events and sessions #366 -
Add
Configuration.ProjectPackages
config option to set the native Android option #364 -
Add
Configuration.BundleVersion
config option to set the native Cocoa option #359 -
Add
Configuration.AppType
configuration option to enable setting a custom value for the app.type field in an event #363 -
Update bugsnag-cocoa to v6.11.0
-
Add
DiscardClasses
configuration option to disable sending events that contain user defined error classes. #361 -
Update bugsnag-android to v5.11.0:
Deprecated
-
Bugsnag.SetContext(string context)
has been deprecated in favour of the newBugsnag.Context
property and will be removed in the next major release. -
Configuration.Endpoint
has been deprecated in favour of the newConfiguration.Endpoints
class and will be removed in the next major release. -
Configuration.SessionEndpoint
has been deprecated in favour of the newConfiguration.Endpoints
class and will be removed in the next major release. -
Configuration.NotifyReleaseStages
has been deprecated in favour ofConfiguration.EnabledReleaseStages
and will be removed in the next major release.
v5.2.0
5.2.0 (2021-08-05)
Enhancements
-
Add
AppHangThresholdMillis
to set the native Cocoa option #347 -
Add
EnabledErrorTypes
configuration option to enable/disable different types of errors #341 -
[Android] Automatic App Not Responding (ANR) detection is now enabled by default
#339 -
Update bugsnag-cocoa to v6.10.2
-
Fix ThreadSanitizer data race warning in
BSGAppHangDetector
.
#1153 -
Remove (duplicated)
user
information frommetaData
.
#1151 -
Fix a potential stack overflow in
+[BugsnagThread allThreadsWithCurrentThreadBacktrace:]
.
#1148 -
Fix
NSNull
handling in+[BugsnagError errorFromJson:]
and+[BugsnagStackframe frameFromJson:]
.
#1143 -
Fix a rare crash in
bsg_ksmachgetThreadQueueName
.
#1147 -
Fix an issue that could cause C++ exceptions with very long descriptions to not be reported.
#1137 -
Improve performance of adding metadata by using async file I/O.
#1133 -
Improve performance of leaving breadcrumbs by using async file I/O.
#1124 -
Prevent some potential false positive detection of app hangs.
#1122
-
-
Update bugsnag-android to v5.10.1:
-
Prefer
calloc()
tomalloc()
in NDK code
#1320 -
Ensure correct value always collected for activeScreen
#1322 -
Capture process name in Event payload
#1318 -
Avoid unnecessary BroadcastReceiver registration for monitoring device orientation
#1303 -
Register system callbacks on background thread
#1292 -
Fix rare NullPointerExceptions from ConnectivityManager
#1311 -
Respect manual setting of context
#1310 -
Handle interrupt when shutting down executors
#1315 -
Allow serializing enabledBreadcrumbTypes as null
#1316 -
Properly handle ANRs after multiple calls to autoNotify and autoDetectAnrs
#1265 -
Cache value of app.backgroundWorkRestricted
#1275 -
Optimize execution of callbacks
#1276 -
Optimize implementation of internal state change observers
#1274 -
Optimize metadata implementation by reducing type casts
#1277 -
Trim stacktraces to <200 frames before attempting to construct POJOs
#1281 -
Use direct field access when adding breadcrumbs and state updates
#1279 -
Avoid using regex to validate api key
#1282 -
Discard unwanted automatic data earlier where possible
#1280 -
Enable ANR handling on immediately if started from the main thread
#1283 -
Include
app.binaryArch
in all events
#1287 -
Cache results from PackageManager
#1288 -
Use ring buffer to store breadcrumbs
#1286 -
Avoid expensive set construction in Config constructor
#1289 -
Replace calls to String.format() with concatenation
#1293 -
Optimize capture of thread traces
#1300
-
Bug fixes
-
Fixed an issue where Windows events would have incorrectly split stacktraces resulting in all lines being bundled into one
#350 -
Fixed an issue where WebGL web requests that initially fail were not respecting the 10 second delay before retrying
#321 -
Fixed an issue where Breadcrumbs were reported in the wrong order on Windows and in the Unity Editor
#322 -
Fixed an issue where a "Bugsnag loaded" breadcrumb was not added on Windows, Linux, WebGL, and editor builds
#327 -
Fixed an issue where the fallback was not reporting the correct app.type
#325
Deprecated
-
Configuration.NotifyLevel
has been deprecated in favour ofConfiguration.NotifyLogLevel
and will be removed in the next major release. -
Configuration.AutoNotify
has been deprecated in favour ofConfiguration.AutoDetectErrors
and will be removed in the next major release. -
Configuration.AutoCaptureSessions
has been deprecated in favour ofConfiguration.AutoTrackSessions
and will be removed in the next major release.