Releases: embrace-io/embrace-android-sdk
Releases · embrace-io/embrace-android-sdk
7.0.0
-
API and functional changes in this major release are documented in the Upgrade Guide. Key ones to be aware of include:
- Moments feature and API have been removed in favor of Traces, which should be used instead to track how long workflows in the app took to complete.
- Public API methods are all implemented in Kotlin, so passing in nulls in Java for parameters annotated with
@NonNull
will cause a runtime exception and could cause a crash. - Firebase Cloud Messaging and Compose tap instrumentation require explicit inclusion of modules in your Gradle files.
- Remove support for deprecated properties in
embrace-config.json
and the Embrace Gradle plugin.
-
New features and other changes in this release include:
- Customizable, automatic instrumentation of Activity load and Jetpack Compose Navigation (requires opt-in for now)
- Auto-termination of spans based on navigation
- Customization of app startup trace through custom attributes and child spans
- Public API to get the timestamp used by the SDK so custom spans for app startup and UI load traces can be in sync with other spans in the trace
- API to disable data export at programmatically for the currently running instance of the app
- Associate native crashes with the device and app metadata at the time of crash instead of the time of reporting
- Configuration setting to enable Network Span Forwarding traceparent injection into network request spans for non-Embrace users
-
Dependency updates:
- OpenTelemetry API and SDK to
1.46.0
- OpenTelemetry Semantic Conventions to
1.29.0-alpha
- AndroidX Lifecycle to
2.7.0
- Moshi to
1.15.2
- OpenTelemetry API and SDK to
6.14.0
- Extensive improvements to the resiliency and performance of telemetry persistence and delivery, especially under adverse device and network conditions.
- Fixed issue where feature flags were not being cached and applied consistently.
- New runtime dependency: OkHttp 4.12.
- See the FAQ here if you want to use a lower version at runtime (not recommend or supported).
6.13.0
- Improve SDK startup performance.
- Fix issue with capturing details of network requests with long URLs.
- Increase default ANR call stack depth to 200 frames.
6.12.2
- Fix race condition on app startup when native crash capture is enabled that could result in a crash when the native delegate is accessed before the library is loaded
6.12.1
- Fix JVM crash recording and Embrace API request retries when Embrace enums are obfuscated.
- Improve delivery retry of sessions ended by a native crash or background process termination.
6.12.0
- Improve SDK startup performance.
- Increase resilience of telemetry delivery under poor network conditions.
- Add configuration to redact values for custom property keys on a denylist.
- Fix bug at build time that invalidated the Gradle configuration cache when the native crash capture feature was disabled.
6.11.0
- Update cached background activities when session properties are modified.
- Apply configuration defined in
embrace-config.json
properly if appId is not specified (Fix for #1219). - Restore access via synthetic properties in Kotlin for
getDeviceId()
andgetLastRunEndState()
(Fix for #1253). - Update OpenTelemetry Java SDK and BoM to 1.41.0.
6.10.0
- Support Android 15 and devices that use 16KB native page size.
- Updated minimum requirements to the following:
- JDK 11
- Gradle 7.5.1
- AGP 7.4.2
- Kotlin 1.8.22
- Improve R8 ruleset to further reduce the size of the SDK binary.
- Enable native crash capture if unspecified in
embrace-config.json
.
6.9.2
Fix session recording after app backgrounding if Background Activity is disabled.
IMPORTANT
Version 6.9.0 and 6.9.1 have an issue recording sessions after an app backgrounds if Background Activity is disabled. Do not use these versions of the SDK. This issue has been addressed in 6.9.2.
6.9.1
- Fix the SDK version sent in session payloads