Skip to content

Version 1.7.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 22:46
4c1f445

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.type instead of the deprecated network.status. To keep emitting network.status while migrating, configure semanticConventions { useLatestExperimental = false }. (#2014)

  • The previous-screen attribute is now app.screen.previous.name instead of last.screen.name. To retain legacy semantic convention names while migrating, configure semanticConventions { useLatestExperimental = false }. (#1991)

📈 Enhancements

  • The Compose Navigation instrumentation, which shipped in 1.6.0 without emitting any telemetry, now records an app.navigation.complete event carrying the app.navigation.destination.name attribute whenever a navigation completes. (#1964, #1920)

  • Add the os.build_id resource attribute, reporting the OS build identifier from Build.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.IO by 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