Releases: embrace-io/embrace-android-sdk
Releases · embrace-io/embrace-android-sdk
7.3.0
- Improved app startup instrumentation
- Updated name of root and child spans logged for cold and warm app startups
- Added support for programmatic termination of app startup as opt-in configuration option
- Record failed and abandoned app startup spans if the app crashes or backgrounds before startup completes
- Added new annotation (
@IgnoreForStartup
) for trampoline or splash-screen Activities, which will make the app startup instrumentation ignore themt for the purposes of ending a startup - Deprecated (
@StartupActivity
). This annotation will no longer affect how the app startup instrumentation works. - Fixed issue with app startup instrumentation recording on Android 12 for Activities that use Jetpack Compose Navigation
- Fail app build if symbol upload request fails
- Modified logic of uploading
ApplicationExitInfo
(non-visible change) - Updated OpenTelemetry API and SDK to
1.48.0
7.2.0
7.2.0
February 27, 2025
- Fixed stacktrace deobfuscation in React Native
- Fixed build issues on some apps that use DexGuard
- Fixed memory leak of the Activity loaded during app launch
- Fixed rare crash when the Jetpack Compose tap detection feature is enabled
- Added ProGuard rule to always retain local configuration settings in obfuscated builds
7.1.0
7.1.0
February 7, 2025
- Fixed stacktrace symbolication issue caused by incorrect ProGuard rules
- Added API for sending log messages that contain binary attachments
- Internal refactoring of gradle plugin
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.