diff --git a/packages/react-native/CHANGELOG.md b/packages/react-native/CHANGELOG.md index 61d08ec9..6c723535 100644 --- a/packages/react-native/CHANGELOG.md +++ b/packages/react-native/CHANGELOG.md @@ -1,3 +1,42 @@ +# Version 0.2.3-rc + +Features + +- Android: detect ANRs with the new `anr` option, from a main-thread watchdog (`BacktraceAnrType.Threshold`) or from the exit records Android keeps for earlier runs (`BacktraceAnrType.ApplicationExit`) +- Android: deobfuscate unhandled Java exception and ANR reports from R8 and ProGuard builds with the new `proguard` option + +Improvements + +- support React Native 0.81 and React 19, declare `react >=18.0.0` and `react-native >=0.72.0` peer dependencies +- SDK failures no longer crash the app, the failing feature turns off and logs a `Backtrace:` warning +- `BacktraceClient.initialize` returns a disabled client instead of throwing on invalid options or a failed setup +- restore the previous global error handler on `dispose()`, make `dispose()` safe to call more than once +- Android: update `libbacktrace-native.so` to backtrace-android 3.14.0, add `x86_64` support for native crash capture, remove the unused `libnative-lib.so` +- iOS: `ios-sourcemap-upload.sh` skips Debug and `SKIP_BUNDLING` builds, warns instead of failing the Xcode build on missing inputs, can run outside Xcode +- iOS: support `use_frameworks! :linkage => :dynamic` + +Bugfixes + +- forward attributes and file attachments added after `initialize()` to native crash reports +- attach breadcrumb files and `breadcrumbs.lastId` to native crash reports +- apply `maximumBreadcrumbs` to the breadcrumb files written with the offline database on +- a failure while reporting an unhandled error or rejection no longer surfaces as a new unhandled rejection +- report the package version in `agentVersion` and `backtrace.version` instead of `0.0.1` +- fix the SDK init crash on React Native 0.72 +- fix `TypeError: Cannot read property 'prototype' of undefined` under Metro `experimentalImportSupport` +- Android: capture native crashes from release builds minified with R8 or ProGuard, ship the keep rules the crash handler needs +- Android: wait up to 5 seconds for the unhandled Java exception report to send before the process exits +- Android: fix autolinking builds under Expo and React Native 0.82+ +- iOS: skip the duplicate native crash report for fatal unhandled JavaScript errors + +Packaging + +- update `@backtrace/sdk-core` to `0.8.4-rc` +- declare `promise` and `pretty-format` as dependencies, add `@backtrace/sourcemap-tools` and `metro` as optional peer dependencies +- ship the `scripts` folder with the Metro serializer and the iOS source map upload script +- fix the `repository` field and remove the self-dependency in `package.json` +- raise `web-streams-polyfill` to `^4.3.0` + # Version 0.2.2 - Fix: label unhandled promise rejections as 'Unhandled rejection' (#370) diff --git a/packages/sdk-core/CHANGELOG.md b/packages/sdk-core/CHANGELOG.md index ccae3503..9673926b 100644 --- a/packages/sdk-core/CHANGELOG.md +++ b/packages/sdk-core/CHANGELOG.md @@ -1,3 +1,14 @@ +# Version 0.8.4-rc + +- build the bundle as ES5 with the `tslib` helpers inlined, fix loading on React Native 0.72 +- add `BacktraceReport.symbolication` and the `symbolication` report option (`sourcemap` or `proguard`) +- `send()` never throws or rejects, an exception inside it makes the call resolve with status `Unknown` and message `SDK failure: ` +- skip attribute providers that throw and keep the remaining attributes +- `addBreadcrumb` returns `false` instead of throwing and drops breadcrumbs raised while another breadcrumb is recorded +- log failures to load stored reports and to send metrics instead of leaving unhandled promise rejections +- add the `warnFailure` and `failureType` exports +- `dispose()` clears the shared client instance only when the disposed client is the current one + # Version 0.8.3 - Fix: label unhandled promise rejections as 'Unhandled rejection' (#370)