opentelemetry-android v1.8.0: Session Fixes, Agent DSL Controls, and a Migration Note
opentelemetry-android v1.8.0 was published on October 22, 2026. It builds on OpenTelemetry Java Instrumentation 2.32.0 and the Java core 1.66.0, and it changes two behaviors you may notice after upgrade: SDK initialization events are off by default, and session ID lookups no longer keep background sessions alive. Full notes are on the GitHub release page.
The release also brings new instrumentation for coroutines and a batch of Agent DSL additions for sampling, filtering, and buffering. Many artifacts keep the -alpha suffix, so expect continued breaking changes in those modules per the project versioning document.
Migration notes
Two defaults moved in this release, and one name changed.
- SDK initialization events are now disabled by default. If you relied on them, call
enableSdkInitializationEvents()to keep emitting them (#2109). - Session ID lookups no longer refresh background inactivity. Background telemetry no longer keeps a session alive, which is the point of the change (#2078). The first lookup and expiry still create a session.
- Java crash instrumentation is renamed to
java-crash, matchingnative-crashnaming (#2103). The maintainers remind that non-stable instrumentation names can change.
Coroutines get context propagation
CoroutineScope.launch calls in application classes transformed by ByteBuddy now propagate OpenTelemetry context. Other builder functions such as async and withContext are not covered yet (#1935). The coroutines instrumentation README documents the required ByteBuddy setup.
Agent DSL picks up more controls
Most of this release goes into the Android Agent DSL:
- Native crash state recovery now replays captured stack frames and uses validated per-launch recovery state with at-most-once delivery claims.
- Disk buffering is configurable, including export period, storage location, and maximum cache size (#2047).
- The DSL can replace or remove attributes in the default resource, customize propagators, and configure a trace sampler, including samplers that use the final session provider.
- Dynamic export headers via
headerSupplier { ... }refresh values for traces, logs, and metrics and take precedence over static values (#2101). shouldRecordSpanForHost { ... }filters HTTP client spans by lowercased host before export. This can cut unwanted telemetry from third-party analytics services (#2074).- Session storage is now pluggable, and storage can provide previous-session context to link a new session start event to the prior session. The default stays in-memory.
- ANR, crash, Compose click, HttpURLConnection, and Android log instrumentations support
uninstall().
There is also an optional agent-api-ktx module with an OpenTelemetryRum.openTelemetryKotlin extension for the opentelemetry-kotlin API. The maintainers recommend it only for early adopters and contributors.
Tooling
CI fixes, a documented Java 21 build requirement, and Renovate updates round out the release. Nothing user facing there. Bug fixes are limited to one log message formatting fix.
Where to get it
- Release page: Version 1.8.0
- Repository: https://github.com/open-telemetry/opentelemetry-android
- Tag:
v1.8.0