Skip to content
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
672 lines (458 sloc) 21.2 KB


4.12.0 (2019-02-27)


  • Add stopSession() and resumeSession() to Client #429

Bug fixes

  • Prevent overwriting config.projectPackages if already set #428

  • Fix incorrect session handledCount when notifying in quick succession #434

4.11.0 (2019-01-22)


  • [NDK] Improve support for C++ exceptions, adding the exception class name and description to reports and improving the stacktrace quality #412

  • Update vendored GSON dependency to latest available version #415

Bug fixes

  • 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.10.0 (2019-01-07)

  • Improve kotlin support by allowing property access #393

  • Added additional nullability annotations to public API #395

  • Migrate metaData.device.cpuAbi to device.cpuAbi in JSON payload #404

Bug fixes

  • Add binary architecture of application to payload #389

  • Prevent errors from leaving a self-referencing breadcrumb #391

  • Fix calculation of durationInForeground when autoCaptureSessions is false #394

  • Prevent Bugsnag.init from instantiating more than one client #403

  • Make config.metadata publicly accessible #406

4.9.3 (2018-11-29)

Bug fixes

  • Handle null values in MetaData.mergeMaps, preventing potential NPE #386

4.9.2 (2018-11-07)

Bug fixes

  • [NDK] Fix regression in 4.9.0 which truncated stacktraces on 64-bit devices to a single frame #383

4.9.1 (2018-11-01)

Bug fixes

  • Allow setting context to null from callbacks #381

4.9.0 (2018-10-29)


  • 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. #379

Bug fixes

  • [NDK] Improve stack trace quality for signals raised on ARM32 devices #378

4.8.2 (2018-10-01)

Bug fixes

  • Add ThreadSafe annotation to, remove infer dependency #370 #366

4.8.1 (2018-09-27)

  • [NDK] Fix a packaging issue on Maven Central in v4.8.0

4.8.0 (2018-09-27)

This release includes new versions of both bugsnag-android and bugsnag-android-ndk, which will be released at the same time and with the same version number going forward.

The NDK library has been rebuilt from the ground up and will use the same version number as bugsnag-android.


  • [NDK] Improve stack trace quality for all native crashes. There should be significantly more crash-time information, across the board but especially on newer API levels.
  • [NDK] Reduce memory usage
  • [NDK] Add support for session information
  • [NDK] Add support for unhandled report tracking

Bug Fixes

  • [NDK] Fix possible crash when leaving breadcrumbs from multiple threads #6 #10

4.7.0 (2018-09-26)

  • Capture trace of error reporting thread and identify with boolean flag #355

4.6.1 (2018-08-21)

Bug fixes

  • Set maxBreadcrumbs via Configuration rather than Client #359
  • Catch Exception within DefaultDelivery class #361
  • Add Null check when accessing system service #367

4.6.0 (2018-08-02)

  • 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

  • Internal refactor of app/device data serialisation

4.5.0 (2018-06-18)

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 If you use Bugsnag On-Premise, it is now also recommended that you set your notify and session endpoints via config.setEndpoints(String notify, String sessions).

  • Enable automatic session tracking by default #314

Bug fixes

  • Trim long stacktraces to max limit of 200 #324

4.4.1 (2018-05-30)

Bug fixes

  • Refine automatically collected breadcrumbs to a commonly useful set by default #321

  • Ensure that unhandled error reports are always sent immediately on launch for Android P and in situations with no connectivity. #319

4.4.0 (2018-05-17)


Deprecation notice:

SessionTrackingApiClient and ErrorApiClient are now deprecated in favour of the Delivery interface. If you configure a custom HTTP client with Bugsnag, it is recommended that you migrate over to this new API. Further information is available in the configuration option reference. and class documentation for Delivery

  • Expose Delivery API interface for configuring custom HTTP clients #299


  • Use buffered streams for IO (perf improvement) #307

4.3.4 (2018-05-02)

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

4.3.3 (2018-04-04)

Bug fixes

  • Prevent duplicate reports being delivered in low connectivity situations #270
  • Fix possible NPE when reading default metadata filters #263

4.3.2 (2018-03-09)

Bug fixes

  • 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


  • Detect whether running on emulator #245
  • Add a callback for filtering breadcrumbs #237

4.3.1 (2018-01-26)

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

4.3.0 (2018-01-18)

  • Move capture of thread stacktraces to start of notify process
  • Add configuration option to disable automatic breadcrumb capture
  • Update Gradle Wrapper
  • Parse manifest meta-data for Session Auto-Capture boolean flag

4.2.2 (2018-01-09)

Bug fixes

  • Fix possible crash during session tracking initialization #220 James Smith

4.2.1 (2018-01-09)

  • Misc Session Tracking fixes and enhancements

4.2.0 (2018-01-05)

  • Adds support for tracking sessions and overall crash rate by setting config.setAutoCaptureSessions to true. In addition, sessions can be indicated manually using Bugsnag.startSession #217

4.1.5 (2017-12-14)

  • Automatically capture breadcrumbs for new API 26 Intents
  • Increase max breadcrumb limit
  • Remove known noisy breadcrumbs from automatic capture

4.1.4 (2017-11-23)

  • Enqueue activity lifecycle events when initialisation not complete to prevent NPE
  • Add example of using Bugsnag within a library module

4.1.3 (2017-11-07)

  • Compile annotations dependency as api rather than implementation
  • Support handled state case for React Native

4.1.2 (2017-11-02)

  • Allow setting device ID to null

4.1.1 (2017-10-12)

  • Performance improvements to reduce execution time of Bugsnag.init

4.1.0 (2017-10-02)

  • The SDK now automatically tracks whether an error is handled or unhandled.
  • Fix for NPE in MetaData callback Boris
  • Updated example app.
  • Setting the maxSize of breadcrumbs now removes any surplus breadcrumbs.
  • Crash reports on application startup are automatically sent synchronously on the next launch (configurable via setLaunchCrashThresholdMs).

4.0.0 (2017-08-15)

This is a major release which adds a number of new features to the library. The minimum SDK version supported by Bugsnag is now API 14.

Breaking Changes

Identifying devices and users (unless overridden) is now captured and persisted through a per-install generated UUID, replacing use of Settings.Secure.ANDROID_ID. As a result, existing errors may see doubled user counts if they continue to happen. If this is an issue, see the upgrade guide for more information and a workaround.


  • Support loading different API keys for different product flavors, through manifest placeholders

  • Support custom HTTP Error Reporting clients, by allowing custom implementations of ErrorReportApiClient

  • Add nullability annotations throughout application

  • Any exceptions caused by StrictMode will automatically add the policy violation type to the Error Report's metadata

  • All tests have been updated to use JUnit 4 rather than AndroidTestCase

  • Javadoc for the public API is now hosted on Github Pages

  • Breadcrumbs are automatically logged for each callback in the Activity Lifecycle, for all activities

  • Breadcrumbs are automatically logged for most System Intents (e.g. android.intent.action.CONFIGURATION_CHANGED)

  • Optimize how reports are sent relative to network connectivity to improve battery life

  • Added documentation on how Breadcrumbs can be setup to track the Fragment Lifecycle

  • Added Kotlin example app and documentation

  • Disable logs by default on release builds

Bug Fixes

  • Handle RejectionExecutionException by writing unqueued Error reports to disk Damian Wieczorek

  • Handle IllegalStateException caused by CharsetEncoder on Android 6.0 Ben Lee

  • Each implementation of beforeNotify() is now only called once, in the order in which it was added jermainedilao

  • By default, the User ID is now a per-install UUID, whereas previously Settings.Secure.ANDROID_ID was used Martin Georgiev

  • Update Gradle dependencies Frieder Bluemle

3.9.0 (2017-05-08)


3.8.0 (2017-01-27)


  • Add support for interfacing with native code

3.7.2 (2017-01-12)

  • Cache unhandled exception reports prior to sending, send non-blocking Delisa Mason #139

3.7.1 (2016-12-21)

Bug fixes

3.7.0 (2016-10-05)


  • Add support for sending reports using lambdas for customization Delisa Mason #123

3.6.0 (2016-09-09)


Bug Fixes

  • Fix potentially misdirected error report when changing the endpoint soon after initializing Bugsnag Dave Perryman #121

  • Fix missing static modifier on disableExceptionHandler Niklas Klein #113

3.5.0 (2016-07-21)


3.4.0 (2016-03-09)


Bug Fixes

3.3.0 (2016-01-18)


3.2.7 (2015-12-10)


  • Add additional check to ensure the cache of uploaded errors are deleted #80

Bug Fixes

  • Fix exception which occurs when appContext.getResources() is null #78

  • Fix bug preventing maxBreadcrumbs from being set David Wu #70


  • Add blocking API
  • Fix NPE issue
  • Concurrent adding to tabs
  • Thread Safe DateUtils#toISO8601


  • Silence harmless proguard warning


  • Support buildUUID to distinguish between multiple builds with the same appId and versionCode


  • Support projectPackages when proguard is used.
  • Fix jailbroken % on Bugsnag dashboard.


  • Prefer API keys passed to Client directly over those from AndroidManifest


  • Fix NPE when unboxing in JsonStream (thanks @mattprecious)


  • Allow setting Bugsnag API key in your AndroidManifest.xml


  • Re-add Error#getException to allow access to exception in callbacks


  • Add support for leaving developer-defined log messages called "breadcrumbs" to help understand what was happening in your application before each crash


  • Removed dependency on bugsnag-java
  • Reduced memory usage, using lazy-loading and streaming
  • Easier "top activity" tracking
  • Device brand information is now collected (eg. "Samsung")
  • SSL enabled by default
  • Adding custom diagnostics (MetaData) is now easier to use
  • Fixed app name detection
  • Uses Android's new build system (gradle based)
  • Added unit tests, automatically run on
  • Severity is now an Enum for type-safety


  • Bump bugsnag-java dependency to fix prototype mismatch bug


  • Add support for collecting thread-state information (enabled by default)


  • Add support for beforeNotify callbacks
  • Allow disabling of automatic exception handler


  • Add support for sending a custom app version with setAppVersion
  • Send both versionName and versionCode in the app tab


  • Fix strictmode violation caused by hostname checking


  • Prepare 'severity' feature for release


  • Update bugsnag-java dependency, allows disabling of auto-notification


  • Support severity
  • Better format of notification payload
  • Structure the data of notifications better


  • Fixed bug in BugsnagFragmentActivity calling the wrong callbacks.


  • Added missing setProjectPackages and setFilters static methods to the Bugsnag class.


  • Added additional Activity parent classes to help collect debug information, added support for custom Activities.


  • Improved memory usage when sending exceptions that were previously saved to disk
  • setNotifyReleaseStages now defaults to null, to reduce confusion


  • Fixed bug which caused notifications to be sent on the UI thread in some situations.
  • Fixed bug which meant setIgnoreClasses was not respected.


  • Added support for setIgnoreClasses to set which exception classes should not be sent to Bugsnag.


  • Attempt to automatically detect releaseStage from the debuggable flag
  • Android backward compatibility fixes, now works on Android 1.5+


  • Fixed bug where session time wouldn't start counting until first exception


  • Fixed missing apiKey in metrics, use java notifier's metrics sending


  • Added Bugsnag.addToTab to replace setExtraData for sending meta-data with every exception
  • Reduced jar size


  • Refactored to use the classes from bugsnag-java
  • Project is now available in Maven, and built using Maven
  • Added support for metrics tracking (MAU/DAU)
  • Added additional diagnostic information (network status, memory usage, gps status, time since boot, time since app load) to every notification
  • Fixed some issues which might have caused error sending to fail


  • Ensure empty exception files aren't created


  • Fix bug with incorrect "caused by" exception names and messages


  • Initial release
You can’t perform that action at this time.