Repository navigation
Version 1.7.0
This release is based on OpenTelemetry Java Instrumentation 2.31.1 and
the OpenTelemetry Java Core (sdk/api/exporters) 1.65.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
-
Network change events now use
network.connection.typeinstead of the deprecatednetwork.status. To keep emittingnetwork.statuswhile migrating, configuresemanticConventions { useLatestExperimental = false }. (#2014) -
The previous-screen attribute is now
app.screen.previous.nameinstead oflast.screen.name. To retain legacy semantic convention names while migrating, configuresemanticConventions { useLatestExperimental = false }. (#1991)
📈 Enhancements
-
The Compose Navigation instrumentation, which shipped in 1.6.0 without emitting any telemetry, now records an
app.navigation.completeevent carrying theapp.navigation.destination.nameattribute whenever a navigation completes. (#1964, #1920) -
Add the
os.build_idresource attribute, reporting the OS build identifier fromBuild.ID. (#2019, #1089) -
R8 can now optimize SDK initialization by replacing reflective service-loader instantiation with direct calls in release builds. (#1958)
-
Cache storage now initializes its cache directory lazily, avoiding repeated disk checks during startup. (#2008)
🛠️ Bug fixes
-
Flush telemetry on crash before delegating to the previous uncaught exception handler, so the process is not terminated before the flush completes. (#2016, #1997)
-
Fix R8 failures caused by optional Error Prone annotations in minified applications. The minified emulator smoke test also validates SDK startup and OTLP/HTTP export. (#1972)
-
Preserve explicit session IDs on logs so recovered native crashes and session-end events remain associated with the session they describe. (#1939)
-
Network detection now tolerates unavailable Android system services instead of failing with an unsafe cast. (#2003)
-
Periodic tasks now use
Dispatchers.IOby default. (#2007)
🧰 Tooling
-
Semantic convention event and attribute definitions are now imported from upstream and generated locally, replacing hard-coded literals in affected instrumentations. The weaver schema URL and upstream registry are also kept current. (#1941, #1945, #1948, #1949, #1950, #1951, #1965)
-
A nightly job now checks for upstream semantic convention updates. (#1946, #1962)
-
Instrumented tests now run in pull request CI, with native-crash marker compatibility coverage and a host-side fake backend for minified smoke tests. (#1944, #1956, #2021, #2036)
-
CodeQL and OSSF Scorecard now use the repository's current security workflows, with documented safe cache handling for CodeQL. (#1917, #1967, #1973)
-
Non-release builds now bypass Sonatype staging; SNAPSHOT publishing has been restored, and its usage is documented. (#1969, #1977)
-
The demo app now uses Compose Navigation instrumentation for screen tracking and the current Compose BOM. (#1979, #1984)
🙇 Thank you
This release was possible thanks to the following contributors:
@aaravmahajanofficial
@aranhave
@benjoseph-grafana
@bidetofevil
@breedx-splk
@codecov
@copilot-pull-request-reviewer
@DavidGrath
@fractalwrench
@github-advanced-security
@hitkall
@LikeTheSalad
@thompson-tomo