Repository navigation
This release is based on OpenTelemetry Java Instrumentation 2.32.0 and
the OpenTelemetry Java Core (sdk/api/exporters) 1.66.0.
Note that many artifacts have the -alpha suffix attached to their version number, reflecting
that they are still alpha quality and will continue to have breaking changes. Please see the
VERSIONING.md for more details.
📣 Migration notes
-
SDK initialization events are now disabled by default. Call
enableSdkInitializationEvents()to keep emitting them. (#2109, #2108) -
Session ID lookups no longer refresh background inactivity, so background telemetry no longer keeps a session alive. First lookup and expiry still create a session. User activity recording is internal and is not yet connected to user activity sources. (#2078, #2049)
-
A reminder that non-stable instrumentation names are subject to change. In this release, java crash instrumentation has been renamed to
java-crash. This aligns naming withnative-crashwhile providing a clearer distinction. (#2103)
🌟 New instrumentation
- Add OpenTelemetry context propagation to
CoroutineScope.launchcalls in application classes transformed by ByteBuddy. Other coroutine builders, includingasyncandwithContext, are not covered. See the installation instructions for the required ByteBuddy setup. (#1935)
📈 Enhancements
-
Native crash state recovery now replays captured stack frames and uses validated, per-launch recovery state with at-most-once delivery claims. (#2032, #2050, #2081, #2091, #2051, #2052)
-
Disk buffering is now configurable through the Android Agent DSL, including its export period, storage location, and maximum cache size. (#2047)
-
The Android Agent DSL can now replace or remove attributes in the default resource and customize or replace propagators. (#2080, #2083)
-
Add dynamic export headers with
headerSupplier { ... }in the Agent DSL. Supplied values are refreshed for traces, logs, and metrics and take precedence over conflicting static values. (#2101) -
The Android Agent DSL can filter HTTP client spans by host before export with
shouldRecordSpanForHost { ... }. The predicate receives the lowercased host; all matching spans are recorded when no predicate is configured. This can help mitigate unwanted telemetry for 3rd-party analytics services. (#2074, #1686) -
Session storage can be customized through the DSL, and storage can provide previous-session context to link a new session's start event to the prior session. The default storage remains in-memory. (#2061, #2126)
-
Configure a trace sampler via Agent DSL, including samplers that use the final session provider. (#2096)
-
ANR, crash, Compose click, HttpURLConnection, and Android log instrumentations now support
uninstall(). (#2128, #2129, #2133, #2137, #2136) -
Add the optional
agent-api-ktxmodule with theOpenTelemetryRum.openTelemetryKotlinextension for using theopentelemetry-kotlinAPI with the agent's existing Java SDK instance. This is recommended only for early adopters and contributors. (#2062)
Bug fixes
- Fix incorrect log message formatting. (#2125)
🧰 Tooling
- Fix self-repository references in CI, document the Java 21 build requirement, and update Renovate settings. (#2067, #2079, #2118)
🙇 Thank you
This release was possible thanks to the following contributors:
@aranhave
@atulgpt17
@benjoseph-grafana
@bidetofevil
@breedx-splk
@codecov
@copilot-pull-request-reviewer
@DavidGrath
@fractalwrench
@insaneodyssey26
@LikeTheSalad
@mamjong
@RotBolt
@SimonMarquis
@Yash990-bit