- (Android) Restore support for react-native < 0.56 due to regression in 2.12.3
- (Android) Upgrade to bugsnag-android v4.9.2
- [NDK] Fix regression in 4.9.0 which truncated stacktraces on 64-bit devices to a single frame bugsnag-android#383
- (Android) Upgrade to bugsnag-android v4.9.1
- Allow setting context to null from callbacks bugsnag-android#381
- TypeScript: allow undefined apiKeyOrConfig in Client constructor #278
- (Android) Upgrade to bugsnag-android v4.9.0
- Add a callback to allow modifying reports immediately prior to delivery, including fatal crashes from native C/C++ code. For more information, see the callback reference. bugsnag-android#379
- (Android) Upgrade to bugsnag-android v4.9.0
- [NDK] Improve stack trace quality for signals raised on ARM32 devices bugsnag-android#378
- (iOS) Upgrade to bugsnag-cocoa v5.17.0
- (Android) Upgrade to bugsnag-android v4.8.2
- Add compatibility with bugsnag-android-ndk v4.8.1 for C/C++ crash handling support #369
- Add ThreadSafe annotation to com.bugsnag.android, remove infer dependency #370 #366
- Capture trace of error reporting thread and identify with boolean flag #355
- Set maxBreadcrumbs via Configuration rather than Client #359
- Catch Exception within DefaultDelivery class #361
- Add Null check when accessing system service #367
- Android P compatibility fixes - ensure available information on StrictMode violations is collected #350
- Disable BuildConfig generation #343
- Add consumer proguard rules for automatic ProGuard configuration without the Bugsnag gradle plugin #345
- (iOS) Upgrade bugsnag-cocoa dependency to v5.16.4:
-
Deregister notification observers and listeners before application termination #301
-
Ensure NSException is captured when handler is overridden #313
-
Fix mach handler declaration and imports. This resolves an issue where signal codes were less specific than is possible. #314
-
Only call previously installed C++ termination handler if non-null. Fixes an unexpected termination if you override the handler with null before initializing Bugsnag and then throw a C++ exception and would like the app to continue after Bugsnag completes exception reporting.
-
This release reduces the size of the npm package compared to v2.10.1, which was ~20Mb due to the inadvertant inclusion of build files.
This release simplies the installation and quick setup process to do all configuration in JavaScript, provided that React Native is the primary way to interact with your app (rather than having React Native components as a part of a larger native app). See the integration guide updated configuration instructions.
For applications using React Native to serve a few components (but not the whole app), there is a new Enhanced native integration guide with additional configuration steps to ensure every crash is captured and reported.
-
Fix possible mismatch between session release stage and error report release stage, which could result in inconsistent crash rates on the Releases dashboard as a session was assigned to an incorrect release stage. #260
-
(android) Address javac compiler warnings and intellij inspections #250
-
(cocoa) Upgrade bugsnag-cocoa to v5.16.2:
- Fix a regression in session tracking which caused the first session HTTP request to be delivered on the calling thread when automatic session tracking is enabled #295
This release alters the behaviour of the notifier to track sessions automatically. A session will be automatically captured on each app launch and sent to https://sessions.bugsnag.com.
If you use Bugsnag On-Premise, it is recommended that you set your notify and session endpoints
via config.setEndpoints(String notify, String sessions)
on Android, and config.setEndpoints(notify:sessions:)
on iOS. You should also initialise the Android/iOS components by passing a config
parameter:
Configuration config = new Configuration("your-api-key-here");
config.setEndpoints("https://notify.example.com", "https://sessions.example.com");
BugsnagReactNative.start(this, config);
BugsnagConfiguration *config = [BugsnagConfiguration new];
[config setEndpointsForNotify:@"http://notify.example.com"
sessions:@"http://sessions.example.com"];
[BugsnagReactNative startWithConfiguration:config];
-
Upgrade bugsnag-android to v4.5.0:
-
Upgrade bugsnag-cocoa to v5.16.0:
- (android) Reduce gratutious android logging #245
-
(android) Upgrade bugsnag-android dependency to v4.4.1:
- Refine automatically collected breadcrumbs to a commonly useful set by default bugsnag-android#321
- Ensure that unhandled error reports are always sent immediately on launch for Android P and in situations with no connectivity. bugsnag-android#319
-
(iOS) Upgrade bugsnag-cocoa dependency to v5.15.6:
- Ensure device data is attached to minimal reports bugsnag-cocoa#279
- Enforce requiring API key to initialise notifier bugsnag-cocoa#280
-
Enable nativeSerializer to handle Error objects by extracting the stack and message from a given Error class before serialising it. #239 #240 daisy1754 Cawllec
-
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:
- Bug Fixes:
-
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
- Ensure error class and message are persisted when thread tracing is disabled #245
- Re-addapp name to the app tab of reports #244
- Add payload version to report body to preserve backwards compatibility with older versions of the error reporting API #241
- Enhancements: -This release adds additional device metadata for filtering by whether an error occurred in a simulator (#242) and by processor word size (#228).
- Bug Fixes:
- Add NativeSerializer to packaging step #227 Ben Gourley
- Add standardJS linter #223 Ben Gourley
- Rework construction of breadcrumbMetaData 224 bramus
- Refactor(typedMap): Extract and rename typedMap function into NativeSerializer module #225 Ben Gourley
- Loosen react native dependency version for Android #220 Jamie Lynch
- Adds missing bundle ID in iOS example project
- Fixes missing parameter in Android initialisation
This release includes features and fixes to the native interface.
- Allow disabling of breadcrumbs via the
Configuration
object via the JS interface - Upgrade bugsnag-android to v4.3.1:
- Enhancements:
- Move capture of thread stacktraces to start of notify process
- Add configuration option to disable automatic breadcrumb capture
- Parse manifest meta-data for Session Auto-Capture boolean flag
- Bug Fixes:
- Fix possible ANR when enabling session tracking via
Bugsnag.setAutoCaptureSessions()
and connecting to latent networks. #231 - Fix invalid payloads being sent when processing multiple Bugsnag events in the same millisecond #235
- Re-add API key to error report HTTP request body to preserve backwards compatibility with older versions of the error reporting API #228-
- Fix possible ANR when enabling session tracking via
- Enhancements:
- Upgrade bugsnag-cocoa to v5.15.3:
- Bug Fixes:
- Remove chatty logging from session tracking #231 Jamie Lynch
- Re-add API key to payload body to preserve backwards compatibility with older versions of the error reporting API #232 Jamie Lynch
- Fix crash in iPhone X Simulator when reporting user exceptions #234 Paul Zabelin
- Improve capture of Swift assertion error messages on arm64 devices, inserting
the assertion type into the report's
errorClass
#235 - Fix default user/device ID generation on iOS devices
- Fix mach exception detection
- Bug Fixes:
- Add support for tracking app sessions and enabling overall crash rate metrics
- Fix issue where breadcrumb functions are called before initialization bugsnag-android#211
- (iOS - CocoaPods only) Fix ambiguous headers issue in 2.7.3+
- (iOS) Fix intermittent dropped native crash reports due to parsing runtime options incorrectly
- (iOS) Fix encoding of control characters in crash reports. Ensures crash reports are written correctly and delivered when containing U+0000 - U+001F
- (iOS) Use
BSG_KSCrashReportWriter
header rather thanKSCrashReportWriter
for custom JSON serialization - (Android) Enqueue activity lifecycle events when initialisation not complete to prevent NPE
- (iOS) Remove misleading information (address, mach, signal) from non-fatal error reports
- Improved validation of handled/unhandled state
- Add typescript definitions
- Fix duplicate dependencies key in
package.json
- Handle null in console breadcrumbs
Please ensure that Google's maven repository is specified in your android/build.gradle
:
allprojects {
repositories {
maven { url 'https://maven.google.com' }
}
}
- (Android) Compile annotations dependency as api rather than implementation
- (Android) Support missing case in handled/unhandled tracker
- Update Cocoa code to fix archive issue on older versions of XCode
- Updates native libraries to include latest fixes
- Support setting
autoNotify
to disable native crash reporting
- Replace PropTypes from React with prop-types package
- Adds example project which uses react native via cocoapods
- Add configuration option to enable capturing console log messages as breadcrumbs #159 Ben Gourley
- [android] Reuse previously configured Bugsnag native client if available #156
- Fix duplicate symbols in KSCrash when Sentry library included in project
- Link Native Cocoa as a static library
- Track whether errors are handled or unhandled
- Reduce build warning count
- Fix regression introduced in 2.3.0 where nested JavaScript objects were being serialized incorrectly before being sent to Bugsnag #132 #133
-
Add compatibility for React Native 0.47 Jamie Lynch #120
-
Make index.js ES2015-compatible Rubén Sospedra #104
-
Call previous exception handler when
notify
is cancelled by a callback #106 -
Stringify NaN in breadcrumb metadata before sending over native bridge to avoid fatal error #107
- Copy breadcrumb data to avoid mutation Jakob Kerkhove #101
- Tweak podspec to work around missing public headers issue Jonathan Sibley #116
- Fix regression where iOS headers are copied into an incorrect location #98
- Restore missing
android/src
directory to package #96
- Generates
lib/Bugsnag.js
to improve compatibility with tooling which does not transpile source files fromnode_modules
, like haul and testing tools - Adds a warning when using breadcrumb names which will be truncated
- Reorder the header files in the podspec, to work around skipped files #92
- Add convenience interface to setting up native-only error handling
- Adds
codeBundleId
property as an alternative to appVersion to support CodePush #74 - Add original error to report object #61
- [android] Check each param before setting user #73
- Change react-native dependency to allow for versions past 0.40 #71 Michael Patricios
- Conventionalize to fix sneaky breadcrumb logging bugs #56 Kevin Cooper
- [ios] Fix regression where previous exception handler is not called
- Upgrade bugsnag-android dependency to fix issue with network requests being sent on the main thread
- Updated to support react native 0.40.0 #60 Henrik Raitasola
- [ios] Prevent discarding native exceptions invoked over JS bridge fac66b9
-
[ios] Update spec installation to separate vendored files #55 Eugene Sokovikov
- Add
clearUser
to theClient
. Clear user removes any custom user data from the report and adds the default device identifier #51
-
[ios] Fix stripping of source paths for release builds #35 #52
-
[android] Ensure unhandled errors are sent as blocking requests #46 #47
- Fix breadcrumbs being discarded when metadata is unable to be used #36
- Fix object metadata being discarded from reports #36
- Fix non-String breadcrumb metadata being incorrectly parsed on Android #33 Kevin Cooper
- Add promise as an explicit dependency #40 Christian Schlensker
- Fix username and email fields of
setUser
being reversed on Android #38
- Fix default error handling fallback when initializing Bugsnag early in app cycle Christian Schlensker #26
- Fix double-reporting of unhandled JavaScript exceptions on iOS when in production
- Adjust header copy phase and search paths for iOS dependencies to ensure no additional content is created in the root of archived projects #18
- Lower deployment target of embedded BugsnagLib to iOS 8.0
- Update project settings to recommended configuration for Xcode 8
- Check in missing Xcode scheme for libBugsnag
- Reports unhandled promise rejections. By default, unhandled promise rejections
are reported to Bugsnag when in a non-development environment. This is
disabled in a development environment to preserve the existing behavior of
showing a warning banner when a possible unhandled promise rejection is
detected.To toggle this behavior, set
handlePromiseRejections
when creating a client. - Allow setting
appVersion
from a configuration option. This will override the default of using the version specified in the app's Info.plist or android manifest. - Update bugsnag-cocoa dependency to 5.6.4, which adds support for more robust native client-side report customization through callbacks
- Fix failure to invoke reporting callbacks Sam Aryasa #22
- Fix syntax error in release stage filtering Sam Aryasa #22
- Warn when discarding input to
Client.notify()
which is not an error Duncan Hewett - [ios] Update the linker configuration to reduce product candidates during
react-native link
- [ios] Remove duplicate entries in payload notifier version
Fix the import path for Bugsnag on Android
Fix the minimum Android SDK version to be consistent with React Native
Vendor iOS dependencies. Current version is 5.6.3.
First public release