- Added a support for nested and suppressed exceptions (#158)
- Improved attribute performance and metrics startup (#157)
- Added metrics initialization debug information (#153)
- Changed Android SDK to 34 (#155)
- Add getter method for
BacktraceReport
field inBacktraceData
class - Update libraries (GSON and androidx.test.*)
- Bugfix for ConcurrentModificationException when deleting records from BacktraceDatabaseContext within the BacktraceHandlerThread
- Remove unsupported Android Manifest package value in Example App
- Add custom debug logger - introduces support for replacing the internal logger of the Backtrace Android SDK with a custom implementation.
- Add debug log with measured time of loading db, native integration setup and enabling metrics
- Fix license description in POM
- Update native crash repeating to a new strategy. Now we don't require to extract native executables.
- Add a new native crash handler that allows to generate a crash dump by using Java class name
- Update Gradle to 8.3.0
- Update GSON to 2.10.1 in coroner-client
- Optimize imports
- Improve handling of immutable collections (attributes and attachments) in BacktraceBase and BacktraceReport
- Bugfix for initialization BacktraceMetrics with custom server
- Update crashpad to latest version
- Added a new attribute API to the BacktraceClient.
- BacktraceExceptionHandler will catch Errors (not only Exception) when unhandled Throwable will happen
- Fixed bug when exception contains base class with same field
- Fix NPE in DatabaseContext
- Add session attribute and backtrace reporter name to every error report
- Add integration tests
- Move common http response processing method to helper class
- Remove unused code
- Add abstraction to gson serialization
- Improve example-app Main Activity to work in same way on different Android versions
- Fixed problem when thread is trying to delete already deleted record from db context
- Fixed missing breadcrumbs intent filter in SDK 33+.
- Added a new attribute to native reports -
breadcrumbs.lastId
- Fixed invalid
BacktraceCredentials
behavior when the user passed an invalid Backtrace URL - Capture invalid native crash reporting handler path in the initialize method
- Replaced androidx's ContextCompat with Context when checking for self permissions and handled permissions for versions prior to Android 6.0
- Replaced deprecated BluetoothAdapter with BluetoothManager
- Added missing ACCESS_WIFI_STATE and BLUETOOTH permissions to example app and Tests
- Replaced androidx NonNull with jetbrains NotNull annotation
- Use "Unhandled Exception" error type in the unhnadled exception handler callback
- Maintenance: Update various components to latest versions
- Maintenance: Update gradle
- Bugfix: Fix enabling breadcrumbs when not available
- Add breadcrumb when ANR is detected
- Maintenance: Update various components to latest versions
- Bugfix: Managed and native reports generated by the same user now have the same
guid
- Backtrace metrics support - now the interface doesn't require to use
BacktraceCredentials
anymore - Upgraded native crash reporter. The new version should capture crashes generated by the newest version of SDK
- Maintenance: CI job improvements
- Bugfix: Handle corrupt or empty database records
- Feature: migrated to AndroidX
- Improvement: removed READ_EXTERNAL_STORAGE permission from library AndroidManifest.xml
- Bug: Crashpad attachment syntax changed
- Bug: Fix issue rolling over Breadcrumb file
- Feature: update gradle to latest
- Feature: integrate crashpad via cmake
- Improvement: Make local.properties optional
- Improvement: Cleanup build scripts for speed
- Error type "crash" only on unhandled exceptions from main thread for other threads - error type will be "unhandled exception"
- Added error.type attribute that shows type of the report
- Added backtrace.version attribute that shows Backtrace agent version
- Added error-free metrics
- Added method to disable native crash reporting
- Fixed Crashpad initialization failure in Samsung A20
- Support for API 16+
- Prevent duplicate ANR reports
- GitHub actions CICD support
- Added support for native crash reporting in NDK 16b
- Bug fixes and expanded supported NDK versions for client side unwinding
- Added support for NDK 22
- Added support for client side unwinding of native crashes
- Hotfix for crash when user enables native integration without file attachments
- Native crashes now support custom attributes
- Improved file attachment support for managed and native crashes
- Fixed file attachments bug in BacktraceDatabaseRecord
- Added Breadcrumbs feature to give Backtrace users context leading up to a
BacktraceReport
- Improved support for Proguard
- Backtrace Android allows to capture native crashes from Android NDK code. To enable NDK crashes exception handler use
setupNativeIntegration
method and pass backtraceClient with credentials.
database.setupNativeIntegration(backtraceClient, credentials);
- Fixed checking internal path during filtering attachments
- Fixed setting custom global attributes on BacktraceClient
- Added support for custom attributes to BacktraceExceptionHandler
- Added support for
submit.backtrace.io
urls - Moved generating a server url from BacktraceApi to BacktraceCredentials
- Refactored name of below libraries interfaces:
- IBacktraceApi -> Api
- IBacktraceClient -> Client
- IBacktraceDatabase -> Database
- IBacktraceDatabaseRecordWriter -> DatabaseRecordWriter
- IBacktraceDatabaseFileContext -> DatabaseFileContext
- IBacktraceDatabaseContext -> DatabaseContext
- Added support for detecting ANR (Application Not Responding)
- Added methods and structures to detecting blocked custom threads
- Removed
sendAsync
method - Removed event
OnAfterSendEventListener
- Moved event
OnServerResponseEventListener
to parameter ofsend
method - Created dedicated thread to sending HTTP requests to server what caused the removal of AsyncTasks, speeding up the library and fixing errors related to creating threads when closing the application
- Added
BacktraceLogger
to debug the flow of library code execution - Removed deprecated and unused code
- Added check is temperature file is empty and remove print stacktrace
- Changed attribute name
app.version_name
toversion
BacktraceDatabase
- offline error report storage and auto re-submission support in the event of network outage and server unavailability,
- Added class name to function name in exception StackFrame
- Added exception message to annotations
- Fixed exception on filter out Backtrace files from StackTraceElements when file name is null
- Added support for file attachments and annotations
- Added battery level and status attributes
- Added screen brightness attribute
- Fixed Android version attribute
- Fixed bug with negative number of lines in stacktrace
- Filtered out the frames from the Backtrace library
- Simplified BacktraceClient class, removed 'send' and 'async' methods overwrites
- Replaced spaces with underscore in all enums strings
- First release.