Skip to content

Latest commit

 

History

History
1552 lines (1198 loc) · 78.5 KB

CHANGELOG.md

File metadata and controls

1552 lines (1198 loc) · 78.5 KB

Changelog

8.3.1 (2024-12-09)

Bug Fixes

  • Fix a compiler error that occurs when using v8.3.0 of this SDK in conjunction with v1.7.0 and below of the BugSnag Unity Performance SDK. #863

8.3.0 (2024-12-02)

Enhancements

  • Added support for Unity V6. #847

  • Changed from shipping the C# layer of the SDK as precomiled DLLs to shipping source. Please see the PR description for a full list of the benefits. #847

Dependencies

  • Update bugsnag-cocoa to v6.30.2 #849
  • Update bugsnag-android to v6.10.0 #854
  • Updated BugsnagUnityWebRequest to remove deprecation warnings and add new PostWwwForm methods introduced in Unity 2022.2 #847

8.2.0 (2024-09-23)

Enhancements

  • Allow for error correlation with Bugsnag Unity Performance. #806

8.1.0 (2024-08-12)

Enhancements

  • Added the BugsnagUnity version to the configuration window. #819
  • Added automatic and manual network request breadcrumbs. #817
  • Remove unnecessary ToArray() call when constructing an error. #822
  • Updated BugSnag UI branding. #701

Bug Fixes

  • Fix timing issues when Bugsnag is started after the focus event. #821

Dependencies

8.0.0 (2024-06-12)

Enhancements

  • Added the Bugsnag-Integrity header to outgoing Bugsnag requests to avoid extraneous releases being generated if payloads are altered. #797
  • Changed Configuration.DiscardClasses and Configuration.RedactedKeys to Regex types. #807
  • Event.Unhandled is (accessed via OnError and OnSend callbacks) is now non-nullable. #813

Bug Fixes

  • Added a null check to the Bugsnag client to prevent crashes when accessing the client before it has been initialised #788
  • Made all callback collections within the Configuration class thread safe. #810
  • Added GenerateAnonymousId to the BugsnagSettingsObject. This fixes a null object reference error on GenerateAnonymousId when using both the performance SDK and Error monitoring SDK, where the error monitoring SDK shares the confirguration with the performance monitoring SDK. #812

Dependencies

Deprecations

  • Bugsnag Unity will no longer officially support Unity versions below Unity 2020. Older versions may work, but we will not test against them during development.

7.7.6 (2024-05-17)

Bug Fixes

  • Fixed issue where meta files for the MacOS bundle were not generated. #802

7.7.5 (2024-05-02)

Bug Fixes

  • Fixed issue where changes to device.TotalMemory and device.ModelNumber in cocoa on send callbacks were not respected. #793

7.7.4 (2024-04-19)

Bug Fixes

  • Fixed issue where iOS C# events reported the incorrect value for device.osName. #791

7.7.3 (2024-04-11)

Bug Fixes

  • Changed initialisation of time api to reduce the risk of iOS app hangs on start #783
  • Updated naming for BugsnagEditor EDM menu to reduce potential conflicts with other tools #780

7.7.2 (2024-03-01)

Enhancements

  • Improved handling of serialisation errors when flushing the event cache #773

7.7.1 (2024-01-25)

Bug Fixes

  • Copy the xprivacy api usage file from bugsnag-cocoa on build #768

7.7.0 (2024-01-04)

Enhancements

  • Added IsStarted check method that returns false if start has not been called on the BugSnag client.
  • Update bugsnag-cocoa from v6.27.2 to v6.28.0

7.6.5 (2023-08-17)

Bug Fixes

  • Fix for Android memory leak. #738

7.6.4 (2023-08-09)

Bug Fixes

  • Add null guard in the Bugsnag exception handler. #734

7.6.3 (2023-08-03)

  • Update bugsnag-cocoa from v6.26.2 to v6.27.2

Bug Fixes

  • Handle exceptions thrown during deserialisation of a cached events and sessions and log the problematic json. #731

7.6.2 (2023-07-06)

Bug Fixes

  • Remove unnecessary usages of DateTimeOffset.Now to prevent iOS app hangs resulting from Unity native code accessing non-thread safe methods. #725

7.6.1 (2023-06-13)

Bug Fixes

  • Prevent callback to Unity from native layers for session and event callbacks if not used to avoid potential ANRs and improve performance. #717

7.6.0 (2023-05-25)

  • Update bugsnag-cocoa from v6.25.2 to v6.26.2
  • Update bugsnag-android from v5.28.4 to v5.30.0

Bug fixes

  • Fix an issue where stack frames containing (wrapper some/wrapper) entries were incorrectly formatted. #713
  • Fix an issue where Config.GenerateAnonymousId was not respected. #704

7.5.2 (2023-03-08)

Bug fixes

  • Fix a race condition in Bugsnag.Start involving creation of gameobjects outside of the main Unity thread. #699
  • Fix an issue causing empty stacktraces in some Android events. #700

Dependency updates

  • Update bugsnag-android from v5.28.3 to v5.28.4

7.5.1 (2023-02-08)

Dependency updates

  • Update bugsnag-cocoa from v6.25.1 to v6.25.2

Bug fixes

  • Fix an issue where collections in metadata were not present in native Android crashes. #685
  • Fix an issue where errors in serialisation threw exceptions. #693
  • Fix an issue where persisted events had 'unhandled' set to null #695

7.5.0 (2023-01-04)

Enhancements

  • Added checks in delivery to ensure payloads can't get stuck in a retry loop. #683
  • Raised Configuration.MaxBreadcrumbs default from 50 to 100, raised the limit from 100 to 500 and added a check to truncate breadcrumbs from oversized payloads. #671
  • Add Configuration.MaxStringValueLength config option. #668
  • Added Telemetry.Usage configuration option to set the native Android option and the native Cocoa option #666

Dependency updates

  • Update bugsnag-cocoa from v6.25.0 to v6.25.1
  • Update bugsnag-android from v5.28.1 to v5.28.3

Bug fixes

  • Fix an issue where bundle version was not reported correctly on iOS and MacOS. #672
  • Fix an issue where a null value in metadata could cause an exception. #652
  • Fix an issue where android metadata was not deserialised as the correct type, which could cause exceptions when processing metadata. #652
  • Fix an issue where android sessions had inaccurate Session.Handled and Unhandled counts. #684
  • Fix an issue where Cocoa Device and App data was serialized incorrectly causing invalid cast exceptions in callbacks #680
  • Fixed an issue where user changes made in OnSession callbacks did not make it to the generated payload #681

7.4.0 (2022-10-26)

Dependency updates

    • Update bugsnag-android from v5.26.0 to v5.28.1

Bug fixes

  • Fixed an issue where the Bugsnag CacheManager class raised exceptions on some android devices. #653

7.3.0 (2022-10-17)

Enhancements

  • Added Nintendo Switch specific configuration values to the Bugsnag configuration tool #626

Bug fixes

  • Removed device.freeDisk and device.freeMemory metadata from events sent in UWP builds as accessing the data can cause an exception. #648

Dependency updates

  • Update bugsnag-cocoa from v6.22.3 to v6.24.0

7.2.0 (2022-09-12)

Enhancements

  • Added BugsnagEvent.FeatureFlags to allow feature flags to be queried before event delivery. #613

Bug fixes

  • Reverted the HideFlags fix introduced here as it was causing (harmless) NullReferenceExceptions in the editor. #617

7.1.1 (2022-09-07)

Bug fixes

  • Fixed issue where exceptions thrown in async methods were missing some stack frames #610
  • Added DontSave HideFlags to gameObjects created by the Bugsnag SDK to negate the chances of them making scenes dirty in the editor #604
  • Fixed compilation errors when building with IL2CPP for Android after changes to the Unity API BlockCopy method caused ArgumentException #605

Dependency updates

  • Update bugsnag-android from v5.24.0 to v5.26.0
  • Update bugsnag-cocoa from v6.19.0 to v6.22.3

7.1.0 (2022-07-12)

Enhancements

Dependency updates

  • Update bugsnag-android from v5.22.4 to v5.24.0
  • Update bugsnag-cocoa from v6.17.1 to v6.19.0

Bug fixes

  • Increased thread saftey of the metadata dictionary in Bugsnag.LeaveBreadcrumb #564
  • Fixed an issue where events occuring directly after Bugsnag init had no session information attached. #571

7.0.0 (2022-05-30)

This version contains breaking changes: some errors generated by the new version will no longer group in the Bugnsag dashboard with equivalent errors generated by older versions. This is due to the introduction of a new exception interceptor that gets passed the C# exception objects, rather than having to parse the information from Unity logs. Please see the upgrade guide for details of all the changes and instructions on how to upgrade.

Dependency updates

  • Update bugsnag-android from v5.22.0 to v5.22.4
  • Update bugsnag-cocoa from v6.16.1 to v6.17.1

6.3.2 (2022-05-27)

Bug fixes

  • Fixed an issue where leaving a breadcrumb that contained metadata with a null value caused an exception #561

6.3.1 (2022-04-06)

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 after Bugsnag.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 whilst Bugsnag.start is still in-flight. It is now safe to call any Bugsnag static method once Bugsnag.start has begun executing, as access to the client singleton is controlled by a lock, so the new isStarted method (see above) should only be required where it cannot be determined whether the call to Bugsnag.start has begun or you do not want to wait. bugsnag-android#1638
    • Calling bugsnag_event_set_context with NULL context correctly clears the event context again bugsnag-android#1637

Bug fixes

  • Fixed an issue where the use of ToUpper caused a crash on devices using the Turkish language #543
  • Fixed an issue where breadcrumbs with null messages caused errors #545

6.3.0 (2022-03-23)

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

6.2.0 (2022-03-16)

Enhancements

  • Added offline persistence of C# events/exceptions (all platforms); and of sessions and device ID (Windows and WebGL) #512 #509 #514
  • Add Configuration.MaxReportedThreads config option to set the native Android option 523
  • Update bugsnag-android to v5.20.0

6.1.0 (2022-02-08)

Enhancements

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. In addition to the changes mentioned in the upgrade guide, the bundled Bugsnag Android Notifier has been updated. See below for details.

5.4.2 (2021-11-16)

  • Update bugsnag-cocoa to v6.14.2
    • Fix missing configuration.user and manually resumed session info in unhandled errors. bugsnag-cocoa#1215
  • Update bugsnag-android to v5.15.0
    • Avoid reporting false-positive background ANRs with improved foreground detection bugsnag-android#1429
    • Prevent events being attached to phantom sessions when they are blocked by an OnSessionCallback bugsnag-android#1434
    • Plugins will correctly mirror metadata added using addMetadata(String, Map) bugsnag-android#1454

Bug fixes

  • Fixed an issue where breadcrumbs from non fatal apphang errors caused a crash on retrieval #431

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
  • Update bugsnag-cocoa to v6.14.1

Bug fixes

  • Fixed an issue where csharp exceptions originating from background threads caused errors in the App and Device class constructors #413

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 the device 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
  • 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 of Bugsnag.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

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 breadcrumbs for UIScene notifications. #1165
    • Fix another rare crash in bsg_ksmachgetThreadQueueName. #1157
    • Fix ThreadSanitizer data race in BugsnagBreadcrumbs. #1160
  • Add DiscardClasses configuration option to disable sending events that contain user defined error classes. #361
  • Update bugsnag-android to v5.11.0:
    • Add Bugsnag listeners for StrictMode violation detection #1331
    • Address pre-existing StrictMode violations #1328

Deprecated

  • Bugsnag.SetContext(string context) has been deprecated in favour of the new Bugsnag.Context property and will be removed in the next major release.
  • Configuration.Endpoint has been deprecated in favour of the new Configuration.Endpoints class and will be removed in the next major release.
  • Configuration.SessionEndpoint has been deprecated in favour of the new Configuration.Endpoints class and will be removed in the next major release.
  • Configuration.NotifyReleaseStages has been deprecated in favour of Configuration.EnabledReleaseStages and will be removed in the next major release.

5.2.0 (2021-08-04)

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 from metaData. #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() to malloc() 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 of Configuration.NotifyLogLevel and will be removed in the next major release.
  • Configuration.AutoNotify has been deprecated in favour of Configuration.AutoDetectErrors and will be removed in the next major release.
  • Configuration.AutoCaptureSessions has been deprecated in favour of Configuration.AutoTrackSessions and will be removed in the next major release.

5.1.1 (2021-06-24)

  • Fixes a packaging issue in the 5.1.0 where the library version was incorrectly reported #309

5.1.0 (2021-06-24)

Enhancements

  • Add event metadata for CPU and graphics capabilities and migrated entries from the Unity tab to the device and app tabs, to better match other platforms #297:
    • unity.companyName -> app.companyName
    • unity.productName -> app.name
    • unity.version -> app.version
    • unity.platform -> app.type
    • unity.osLanguage -> device.osLanguage
    • unity.unityException -> removed as a duplicate of the error class
    • unity.unityLogType -> removed as is contained in the error class for generic logs
  • Add EnabledBreadcrumbTypes configuration option to enable/disable automatically recorded breadcrumbs #301
  • Add MaxBreadcrumbs configuration option to control the number of breadcrumbs collected on all platforms #275 #304
  • Update bugsnag-cocoa to v6.9.6:
    • Improve accuracy of app hang event information to better reflect state at time of detection. #1118
    • Stop app hangs being reported if app is launched in the background. #1112
    • Stop session being reported if app is launched in the background. #1107
    • Fix KSCrash state storage for apps with no CFBundleName. #1103
    • Improve performance of notify(). #1102 #1104 #1105
    • Fix a crash in -[BugsnagApp deserializeFromJson:] if main Mach-O image could not be identified, and improve reliability of identification. #1097 #1101

Bug fixes

  • Fix an issue where the Device.time of an event was missing the milliseconds #298
  • Adjust post build script to support Unity 2021 builds #289
  • Fix an issue where timestamps and other :-containing log message content was interpreted as the error class #292
  • Correct Android session start times #291
  • Fix duplicate events being sent for Android C/C++ crashes

5.0.0 (2021-06-08)

This version contains breaking changes, as bugsnag-unity has been updated to use the latest available versions of bugsnag-android (v4.22.2 -> v5.9.4) and bugsnag-cocoa (v5.23.5 -> v6.9.3). Please see the upgrade guide for details of all the changes and instructions on how to upgrade.

Bug fixes

  • Stop scene changes overrriding context when manually set #255
  • Don't Destroy TimingTrackerObject, so it persists across scenes #239

4.8.8 (2021-04-21)

Bug fixes

  • Add bugsnag prefix to namespace of vendored SimpleJson #225

4.8.7 (2021-03-30)

Bug fixes

  • Fix leaks from manual JNI string conversions #222

4.8.6 (2021-03-16)

Bug fixes

  • Improve ANR handler compatibility with Google Play reporting mechanism #1179

4.8.5 (2021-03-03)

Bug fixes

  • Avoid JNI crash in leaveBreadcrumb by pushing local frame #214
  • Respect autoNotify flag on Android #207

4.8.4 (2020-10-05)

Enhancements

  • Add device id to error reports on Cocoa platforms #203
  • Update bugsnag-cocoa to v5.23.5:
    • Fix JSON serialisation of strings with control characters #739
    • Removed non-thread safe date formatter #758
    • Avoid dereference null pointer in JSON serialisation #637 Naugladur
    • Fixed an issue where an app could deadlock during a crash if unfavourable timing caused DYLD lock contention. #580 #675 #725 #721
    • Fix possible report corruption when using notify() from multiple threads when configured to skip capturing/reporting background thread contents (generally only Unity games). #442
    • Added several additional event fields (codeBundleId, osName, modelNumber, locale) that were missing from the OOM reports. #444
    • Bugsnag now correctly records a new session if it is returning to the foreground after more than 60 seconds in the background. #529

4.8.3 (2020-06-10)

Bug fixes

  • Delete local JNI references to avoid leaks #198
  • Add option to Configuration to prevent automatic breadcrumb collection #199

4.8.2 (2020-03-31)

Bug fixes

  • Avoid using deprecated AndroidJNI API in Unity 2019 #194

4.8.1 (2020-02-04)

Bug fixes

  • (Android) Propagate non-string arguments to native android layer correctly #191

4.8.0 (2020-01-27)

Enhancements

This release adds ANR detection for Unity apps running in Android. To enable this option you should set Bugsnag.Configuration.AutoDetectAnrs to true after initialising bugsnag in the normal way.

  • Detect ANRs on Android and provide configuration option to enable detection #184

Bug fixes

  • (Android) Prevent SIGABRT when altering Configuration on background thread #187

4.7.0 (2020-01-22)

  • Update bugsnag-android to v4.22.2:
    • This release adds a compile-time dependency on the Kotlin standard library. This should not affect the use of any API supplied by bugsnag-unity.
    • Modularise bugsnag-android into Core, NDK, and ANR artifacts #522
    • Migrate dependencies to androidx #554
    • Report internal SDK errors to bugsnag #570 #581 #594 #605 #588 #612
    • Add detectNdkCrashes configuration option to bugsnag-android to toggle whether C/C++ crashes are detected #491
    • Use NetworkCallback to monitor connectivity changes on newer API levels #501
    • Fix deserialization of custom stackframe fields in cached error reports #576
    • Buffer IO when reading from cached error files, improving SDK performance #573
    • flushOnLaunch() does not cancel previous requests if they timeout, leading to potential duplicate reports #593
    • Report correct value for free disk space #589
    • Allow overriding the versionCode via Configuration #610
    • Catch throwables when invoking methods on system services #623
  • Update bugsnag-cocoa to v5.23.0:
    • Fix unrecognized selector crash when adding metadata #430
    • This release removes support for reporting 'partial' or 'minimal' crash reports where the crash report could not be entirely written (due to disk space or other issues like the device battery dying). While sometimes the reports could point in the right direction for debugging, they could also be confusing or not enough information to pursue and close the issue successfully. This release also renames a few configuration properties to align better with the intended use and other Bugsnag libraries, so people who use more than one platform can easily find related functionality in a different library. The old names are deprecated but still supported until the next major release. #435
      • Bugsnag.setBreadcrumbCapacity() is now setMaxBreadcrumbs() on the BugsnagConfiguration class. In addition, the default number of breadcrumbs saved has been raised to 25 and limited to no more than 100.
      • BugsnagConfiguration.autoNotify is now named BugsnagConfiguration.autoDetectErrors
      • BugsnagConfiguration.autoCaptureSessions is now named BugsnagConfiguration.autoDetectSessions

4.6.7 (2019-11-19)

Bug fixes

  • (iOS) Fix a build setting preventing out-of-memory events from being reported #178

4.6.6 (2019-10-22)

Bug fixes

  • Fixed the naming and description of the GUI property "Unique logs per second" to be "Unique seconds per log" to reflect the actual behavior, which is the number of seconds required between unique Unity log messages which bugsnag-unity will convert into breadcrumbs or reports. Increase the value to reduce the number of logs or reports generated from frequent error messages.
  • Update bugsnag-cocoa to v5.22.9:
    • Deprecate config.reportBackgroundOOMs property - designating any app termination as a possible error condition can cause a lot of false positives, especially since the app can die for many genuine reasons, especially when running only in the background. bugsnag-cocoa#425
    • Fix use-after-free in notify() logic which could lead to a deadlock bugsnag-cocoa#420
    • Reduce severity of log message about thread status from 'error' to 'debug' as it does not necessarily indicate a problem and is only used for debugging. bugsnag-cocoa#421
    • Show correct value for app.inForeground when an app launches and crashes in the background without ever coming to the foreground. bugsnag-cocoa#415
    • Fix improperly retained properties which could result in a crash due to premature deallocation bugsnag-cocoa#416

4.6.5 (2019-09-18)

Bug fixes

  • (Android) Fix behavior of Configuration.NotifyReleaseStages to disable native C/C++ crash reporting if the current ReleaseStage is not in the array
  • Fix erroneous automatic session delivery when NotifyReleaseStages configuration does not include the current ReleaseStage
  • Fix the behavior of Configuration.AutoNotify to disable native crash reporting if false
  • Update bugsnag-cocoa to v5.22.6:
    • Ensure UIKit APIs are not called from background threads if Bugsnag.start() is called in the background bugsnag-cocoa#409
    • Fix bug in notifyReleaseStages where if the release stage of a build was changed after start(), only the initial value was used to determine whether to send a report bugsnag-cocoa#405 bugsnag-cocoa#412
    • Support disabling crash reporting after initialization by setting Bugsnag.configuration.autoNotify. Previously this value was ignored after Bugsnag.start() was called, but is now used to update whether crash reports will be detected and sent. This interface can be used for crash reporting opt-out flows. bugsnag-cocoa#410

4.6.4 (2019-09-06)

Enhancements

  • Support disabling native reporting during initialization #164 The new API can be used as follows:
    Bugsnag.Init("your-api=key-here", false /* disable crash reporting */);
    or by unchecking "Auto Notify" when initializing Bugsnag via a GameObject in the Unity Inspector.

Bug fixes

  • (Android) Fix possible crash when encoding non-unicode text #165
  • (Android) Fix crash when deleting global metadata bugsnag-android#582

4.6.3 (2019-08-28)

Bug fixes

  • (Android) Fix crash when adding breadcrumbs with null values in metadata bugsnag-android#510
  • (Android) Fix potential crash when adding a breadcrumb with metadata bugsnag-android#546
  • (Android) Fix potential crash in when calling Configuration.setMetaData() bugsnag-android#513
  • (Android) Fix potential crash when initializing with ANR detection in low connectivity situations bugsnag-android#520

4.6.2 (2019-08-21)

Bug fixes

  • (Android) Disable reporting for crashes on background threads on x86 devices #161
  • (Android) Discard duplicate reports for C/C++ exceptions reporting when Unity Cloud Diagnostics is enabled
  • (iOS) Update bugsnag-cocoa dependency to v5.22.5:
    • Fix erroneously reporting out-of-memory events from iOS app extensions bugsnag-cocoa#394
    • Fix erroneously reporting out-of-memory events when an iOS app is in the foreground but inactive bugsnag-cocoa#394
    • Fix erroneously reporting out-of-memory events when the app terminates normally and is issued a "will terminate" notification, but is terminated prior to the out-of-memory watchdog processing the notification bugsnag-cocoa#394

4.6.1 (2019-07-16)

Bug fixes

  • Update bugsnag-cocoa dependency to v5.22.3
    • Fix JSON parsing errors in crash reports for control characters and some other sequences bugsnag-cocoa#382
    • Disable reporting out-of-memory events in debug mode, removing false positives triggered by killing and relaunching apps using development tools. bugsnag-cocoa#380

4.6.0 (2019-07-02)

Enhancements

Bug fixes

  • (Android) Fix error class and message parsing for uncaught Java exceptions without message contents #159
  • Show report metadata added using Bugsnag.Metadata.Add() in native crash reports #157
  • (Android) Fix null pointer dereference when calling Bugsnag.StopSession()
  • (Android) Fix abort() in native code when storing breadcrumbs with null values in metadata bugsnag-android#511
  • Update bugsnag-cocoa dependency to v5.22.2:
    • Fix trimming the stacktraces of handled error/exceptions using the depth property. Paul Zabelin bugsnag-cocoa#363
    • Fix crash report parsing logic around arrays of numbers. Metadata which included arrays of numbers could previously had missing values. bugsnag-cocoa#365

4.5.1 (2019-05-28)

Bug fixes

  • Support automatic session tracking when using code-based initialization flow rather than a game object and BugsnagBehaviour
  • Correctly set the "new session" threshold when using automatic session tracking to 30 seconds - no more than 1 session should be automatically started every 30 seconds when toggling the app between the foreground and background.
  • Capture initial session on iOS - previously, the OnApplicationFocus() callback was relied upon to fire the first session, which does not fire at launch on iOS (unlike Android). This change starts the first session in the frame following BugsnagUnity initialization.
  • Updated bugsnag-cocoa to v5.22.1:
    • Report correct app version in out-of-memory reports. Previously the bundle version was reported as the version number rather than the short version string. bugsnag-cocoa#349
    • Fix missing stacktraces in reports generated from notify() bugsnag-cocoa#348

4.5.0 (2019-05-09)

Enhancements

  • Migrate version information in reports to device.runtimeVersions, adding additional info like scripting backend #149
  • Update bugsnag-android dependency to v4.14.0:
    • Improve In-foreground calculation for report metadata #466
    • Migrate version information to device.runtimeVersions #472
  • Update bugsnag-cocoa dependency to v5.22.0:
    • Migrate version information to device.runtimeVersions #340
    • Persist breadcrumbs on disk to allow reading upon next boot in the event of an uncatchable app termination.
    • Add +[Bugsnag appDidCrashLastLaunch] as a helper to determine if the previous launch of the app ended in a crash or otherwise unexpected termination.
    • Report unexpected app terminations on iOS as likely out of memory events where the operating system killed the app
    • Add configuration option (reportOOMs) to disable out-of-memory (OOM) event reporting, defaulting to enabled. #345
    • Disable background OOM reporting by default. It can be enabled using reportBackgroundOOMs. #345

Bug fixes

  • Update bugsnag-android dependency to v4.14.0:
    • [NDK] Fix possible null pointer dereference
    • [NDK] Fix possible memory leak if bugsnag-android-ndk fails to successfully parse a cached crash report
    • [NDK] Fix possible memory leak when using bugsnag_leave_breadcrumb() or bugsnag_notify()

4.4.1 (2019-05-07)

Bug fixes

  • Fix failure to include session info in native reports after stopping/resuming a session
  • (iOS) Fix session start date formatting
  • Support Notify() on background threads by caching values from UnityEngine.Application required for reports during Client initialization #147
  • Improve the number of stacktrace frames gathered on Unity 2017.x by subscribing to the logMessageReceived callback in addition to logMessageReceivedThreaded and filtering by thread to remove duplicates. The main thread-only logMessageReceived callback receives more stackframes on some versions of Unity 2017, improving the debugging experience.

4.4.0 (2019-04-05)

Enhancements

Bug fixes

  • Update bugsnag-android dependency to v4.13.0:
  • Update bugsnag-cocoa dependency to v5.19.1:
    • Fix generating an incorrect stacktrace used when logging an exception to Bugsnag from a location other than the original call site (for example, from a logging function or across threads). If an exception was raised/thrown, then the resulting Bugsnag report from notify() will now use the NSException instance's call stack addresses to construct the stacktrace, ignoring depth. This fixes an issue in macOS exception reporting where reportException is reporting the handler code stacktrace rather than the reported exception stack. bugsnag-cocoa#334
    • Fix network connectivity monitor by connecting to the correct domain Jacky Wijaya bugsnag-cocoa#332

4.3.0 (2019-03-14)

This release is the first to distribute Unity packages with and without 64-bit ABI libraries for Android. In most cases, Bugsnag.unitypackage is the correct package to use, as by default most Unity Android apps only can use 32-bit binaries.

Enhancements

  • Add StopSession() and ResumeSession() to public API #136
  • Update bugsnag-android dependency to v4.11.0:
  • Update bugsnag-cocoa dependency to v5.19.0:
    • Add stopSession() and resumeSession() to Bugsnag bugsnag-cocoa#325
    • Capture basic report diagnostics in the file path in case of crash report content corruption bugsnag-cocoa#327

Bug fixes

  • Ensure session and user information is included in native crash reports #138 bugsnag-cocoa#333 bugsnag-android#439
  • [Android] Remove references to 64-bit ABIs included in the package #139
  • Make ErrorClass and ErrorMessage mutable on Exception. This allows for modifying both properties from callbacks:
    Bugsnag.Notify(exception, report => {
      report.Exceptions[0].ErrorClass = "CustomException";
      report.Exceptions[0].ErrorMessage = "something notable";
    });
    #140
  • Set severity reason when manually specifying severity as a parameter to Notify(). This sets the correct reason for the severity selection on the dashboard. #140

4.2.2 (2019-02-26)

Bug fixes

  • (Android) Fix a crash which could occur if large amounts of metadata or breadcrumbs (>500 key/value pairs) are attached at once, or if Notify() is called concurrently several times. #132

4.2.1 (2019-02-21)

Bug fixes

  • Ensure a stacktrace is attached to reports without underlying exceptions, such as log messages using an 'error' or 'warning' level #131

4.2.0 (2019-02-07)

Enhancements

  • Add support for detecting and reporting Android NDK C/C++ crashes #127

4.1.3 (2019-02-01)

Bug fixes

  • Ensure configuration options are synced with native layer #124
  • Add retry delays after delivery failure to stop excess logging #126

4.1.2 (2019-01-22)

Bug fixes

Update bugsnag-android dependency to v4.11.0:

  • Fix cached error deserialisation where the Throwable has a cause #418
  • Refactor error report deserialisation #419
  • Fix unlikely initialization failure if a device orientation event listener cannot be enabled
  • Cache result of device root check #411
  • Prevent unnecessary free disk calculations on initialisation #409

4.1.1 (2019-01-21)

Bug fixes

  • Lower minimum supported iOS version to 8.0 from 9.0
  • Lower minimum supported macOS version to 10.8 from 10.11

4.1.0 (2019-01-11)

  • Update dependent libraries:
    • bugsnag-cocoa v5.17.3
    • bugsnag-android v4.10.0

Enhancements

Bug fixes

  • Fix exception parsing for Android Java exceptions to ensure correct grouping, "handled"-ness, and remove extraneous stack frame from the top of the backtrace.
  • Fix off-by-one error in event counts in the session tracking implementation

4.0.0 (2018-11-19)

This is a new major release with many features and fixes. See the upgrade guide for more information on how to update your integration, or the integration guide to get started.

Enhancements

  • Unity/C# errors are now automatically detected and reported on Windows and any other Unity platform (not including native crashes)
  • Exceptions logged on background threads via the Unity Debug.Log API are now automatically detected and reported in additional to exceptions detected on the main thread.
  • Support for session and stability tracking
  • Support for logging detailed breadcrumbs

3.6.7 (2018-09-21)

Improvements

  • Automatically detect app version from Unity environment for WebGL | #94
  • Report app information in WebGL: duration, inForeground and durationInForeground | #94 Note: During the preparation for this release we noticed a workflow issue when targeting tvOS. In order to successfully build for tvOS, after importing the Bugsnag plugin there is a manual step required:
  • In the Unity editor, go to Project > Assets > iOS > Bugsnag
  • Select all source files in this directory
  • In the inspector pane check tvOS in the "Include platforms" list
  • Click the "Apply" button at the bottom of the inspector pane We'll work on making this install process smoother in the future.

3.6.6 (2018-05-24)

Bug fixes

  • Support setting the release stage before initializing the client | #73

3.6.5 (2018-05-02)

  • Upgrade bugsnag-cocoa to v5.15.5:
    • Bug Fixes:
      • Changes report generation so that when a minimal or incomplete crash is recorded, essential app/device information is included in the report on the next application launch. #239 #250
      • Ensure timezone is serialised in report payload. #248 Jamie Lynch
  • Upgrade bugsnag-android to v4.3.4:
    • Bug Fixes:
      • Avoid adding extra comma separator in JSON if File input is empty or null #284
      • Thread safety fixes to JSON file serialisation #295
      • Prevent potential automatic activity lifecycle breadcrumb crash #300
      • Fix serialisation issue with leading to incorrect dashboard display of breadcrumbs #306
      • Prevent duplicate reports being delivered in low connectivity situations #270
      • Fix possible NPE when reading default metadata filters #263
      • Prevent ConcurrentModificationException in Before notify/breadcrumb callbacks #266
      • Ensure that exception message is never null #256
      • Add payload version to JSON body #244
      • Update context tracking to use lifecycle callbacks rather than ActivityManager #238
    • Enhancements:
      • Detect whether running on emulator #245
      • Add a callback for filtering breadcrumbs #237

3.6.4 (2018-02-21)

  • (iOS) Fix error message displayed when thread tracing disabled
  • Update dependent libraries:
    • bugsnag-cocoa v5.15.4
    • bugsnag-android v4.3.1

3.6.3 (2018-01-31)

  • Prefix WebGL methods

3.6.2 (2018-01-18)

  • Update dependent libraries:
    • bugsnag-cocoa v5.15.2
    • bugsnag-android v4.3.0

3.6.1 (2018-01-09)

  • Update dependent libraries:
    • bugsnag-cocoa v5.15.1
    • bugsnag-android v4.2.1

3.6.0 (2018-01-08)

Enhancements

  • Support tracking app sessions, which enables showing overall crash rate and app health

3.5.5 (2017-11-30)

  • (iOS) Fix encoding of control characters in crash reports. Ensures crash reports are written correctly and delivered when containing U+0000 - U+001F

3.5.4 (2017-11-23)

  • (iOS) Use BSG_KSCrashReportWriter header rather than KSCrashReportWriter for custom JSON serialization
  • (Android) Enqueue activity lifecycle events when initialisation not complete to prevent NPE

3.5.3 (2017-11-21)

  • Updated Native Cocoa + Android libraries
  • Remove misleading Cocoa Error message for non-fatal errors
  • Fix handledState cases in Cocoa/Android

3.5.2 (2017-11-02)

  • Support multiline error messages

3.5.1 (2017-10-06)

Bug fixes

  • Fix bundle ambiguity error generated by codesigning the macOS assets #61

3.5.0 (2017-02-10)

  • Track whether an error is handled or unhandled
  • Update native libraries

3.4.0 (2017-19-09)

Enhancements

  • Improve error grouping by standardizing log message format #45
  • Add breadcrumbs for scene changes Jamie Lynch #54
  • Load WebGL extension locally, negating the need for a separate request #46

Bug fixes

  • Fix compile error on Unity 5.5 #50

3.3.2 (24 Apr 2017)

Bug fixes

  • Fix null pointer exception when manually creating the Bugsnag game object Dave Perryman #41

3.3.1 (1 Feb 2017)

Bug fixes

  • Prevents crash for iOS when manually notifying exceptions Ben Ibinson #40

3.3.0 (17 Jan 2017)

Enhancements

  • Adds rate limiting and de-duplication of logs over a set period Ben Ibinson #39

3.2.1 (21 Nov 2016)

Enhancements

3.2.0 (17 Nov 2016)

Enhancements

  • Provide Init() to support initializing Bugsnag at runtime TimothyKLambert #34
  • Changed default Unity log levels to Bugsnag severity mapping, and provided ability to custom map Ben Ibinson #36
  • Updated KSCrash with iOS performance improvement Ben Ibinson #37

3.1.1 (10 Nov 2016)

Bug fixes

  • Transferred syntax fix on macOS sierra/latest ruby script to package file Ben Ibinson #35

3.1.0 (8 Nov 2016)

Enhancements

Bug fixes

3.0.3 (16 Sep 2016)

Bug fixes

  • Fixed incorrect reference to then Unity version of the bugsnag-cocoa notifier

3.0.2 (8 Sep 2016)

Bug fixes

3.0.1 (24 Jun 2016)

Fixes

  • Includes Android plugin correctly which is now in aar format | #24

3.0.0

This release includes significant updates to the underlying android and cocoa libraries.

Enhancements

  • Add support for WebGL
  • Add support for OS X
  • Add support for setting user metadata
  • Add support for setting app version
  • Add support for setting breadcrumbs
  • Upgrade bugsnag-android from 3.2.5 -> 3.4.0
  • Upgrade bugsnag-cocoa from 4.0.7 -> 4.1.0

Bug Fixes


  • Fix compilation under arm64 2.2.5

  • Allow passing Context as a second argument to Bugsnag.Notify 2.2.4

  • Fix use-after-free on NSNotification 2.2.3

  • Make context thread safe too 2.2.2

  • Make metaData thread safe 2.2.1

  • Improve speed during manual notifies on android and ios. 2.2.0

  • Fix LogHandler in non-debug builds.
  • Make Bugsnag methods static.
  • Fix crashes caused by passing unexpected nulls into Bugsnag. 2.1.0

  • Fix stacktrace generation in Bugsnag.Notify() on unthrown exceptions. 2.0.0

  • Rewrite to use bugsnag-android and bugsnag-ios.