Skip to content

Releases: open-telemetry/opentelemetry-android

Version 0.16.0

24 Oct 18:33
057d088

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.55.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.

Note: This version is not the first release candidate. We had previously announced that the October 2025 release would be our first release candidate, but this effort is temporarily paused.

We are still soliciting feedback from users as we approach a 1.0.0 milestone and mark the android-agent and OpenTelemetryRumInitializer api stable. Please see #1257 to join the discussion.

The full list of commits included in this release may be viewed here.

⚠️⚠️ Breaking changes

  • Removing OTelRumConfig from initializer (#1272)
  • SessionStorage and SessionIdGenerator are now internal interfaces. (#1278)

📣 Migration notes

  • The agent initializer now uses a typesafe DSL for configuration parameters. Existing users of the initialization API may need to made some modifications, but we think this is a nice extensible pattern for the initializer.
  • Unstable APIs now leverage a new @Incubating annotation, which leverages the kotlin compiler to emit warnings about use of unstable APIs (#1238)

📈 Enhancements

  • Add functional interfaces to support config DSL via agent initializer. (#1275)
  • Config for disabling default instrumentations via agent initializer. (#1273)
  • Enhanced detection of service.name when the application label is populated with build placeholders. (#1302)

🧰 Tooling

  • Testing now uses Marshmallow as a lower bound. (#1230)
  • Improve PR code coverage reporting by running codecov on main branch (#1236)
  • Update main CI build from Java 17 to Java 21. (#1317)

🙇 Thank you

This release was possible thanks to the following contributors:

@amishhaa
@bidetofevil
@breedx-splk
@cleverchuk
@codecov
@ColtonIdle
@fractalwrench
@LikeTheSalad
@marandaneto
@marcschaeferger
@MustafaHaddara
@simplekjl

Version 0.15.0

18 Sep 18:39
cac2b8d

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.54.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.

⚠️⚠️ Breaking changes

  • Drop volley instrumentation. (#1228)

📈 Enhancements

  • Introduce configuration DSL for OpenTelemetryRumInitializer (#1198)
  • Refactor jank to use events instead of zero-duration spans (#1175)
  • Add experimental ability to close Services (#1196)
  • Add more warning logs in Network detection (#1205)

🧰 Tooling

  • Drop API 21 (Lollipop) test automation with Robolectric. (#1189)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@cleverchuk
@codecov
@fractalwrench
@LikeTheSalad
@marandaneto
@MustafaHaddara
@surbhiia

Version 0.14.0

21 Aug 18:05
4328a35

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.53.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

  • Volley HTTP instrumentation is now marked as deprecated and will be removed in 0.20.0. Volley has not seen a release in about 4 years and it is unlikely that it has much adoption. As a result, we have chosen to halt development of the instrumentation in opentelemetry-android. #1145

🛠️ Bug fixes

  • Allow empty global attributes from empty Supplier at startup (#1102)
  • Fix build warning for duplicate module namespace in manifest (#1136)

📈 Enhancements

  • Updated ANR data model from span to log event (#1101)
  • Experimental OpenTelemetryRum.shutdown() and instrumentation uninstall (#1109)
  • build: bump compileSdkVersion to 36 (#1122)
  • Remove READ_PHONE_STATE permission and update docs (#1129)
  • Okhttp jvm android resolution (#1155)
  • Update network fetch - Use relevant APIs and permissions across different API Levels (#1147)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@cleverchuk
@fractalwrench
@LeadAssimilator
@LikeTheSalad
@magda-woj
@marandaneto
@surbhiia
@tonzhan2
@VitaSokolova

Version 0.13.0

24 Jul 23:20
8c97324

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.52.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.

  • Alter FilteringSpanExporter to leverage common code from contrib (#1043)
  • Instrumentation docs now include installation instructions (#1068)
  • OpenTelemetry Android BOM now includes upstream components (instrumentation, sdk, api) (#1075)
  • Update docs to reflect that desugaring is required for minSdk < 26 (#1085)
  • Include service.version in the default AndroidResource (#1087)

🙇 Thank you

This release was possible thanks to the following contributors:

@Archish27
@bidetofevil
@breedx-splk
@F43nd1r
@jban7496
@LikeTheSalad
@RiyazurRazak
@trask

Version 0.12.0

08 Jul 21:18
6d9fc68

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation 2.17.0 and the OpenTelemetry Java Core (sdk/api/exporters) 1.51.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.

🌟 New instrumentation

  • Capture click events for compose (#1002)
  • Capture click events for non-compose views (#953)

📈 Enhancements

  • Agent initialization api (#945)
  • Enable disk buffering by default in the demo app (#988)
  • Exposing SessionProvider setter (#979)
  • Exposing instrumentation api as agent api (#1007)
  • Use semantic conventions in click instrumentation (#1008)
  • add convenience event emitting api to OpenTelemetryRum (#892)

🧰 Tooling

  • Move SessionConfig up (#959)
  • Remove runtime dep on androidx fragment navigiation from modules that don't strictly need it (#961)
  • Agent default instrumentation config (#976)
  • update sonatype urls (#999)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@cleverchuk
@jzwc
@LikeTheSalad
@marandaneto
@MdNaushad
@MustafaHaddara
@SenNeonoveNoci
@trask

Version 0.11.0

15 Apr 19:16
863f51f

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation 2.15.0 and
the OpenTelemetry Java Core (sdk/api/exporters) 1.49.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

Please be aware that the maven coordinates for many instrumentation modules have changed. Details can be found here.

⚠️⚠️ Breaking changes

  • Remove setSessionTimeout() on OtelRumConfig in favor of new setSessionConfig().(#887)
  • Update Fragment and Activity attribute names. (#920)

🌟 New instrumentation

  • Generate events for OkHttp Websocket events (#863)**
  • Add build-time android.util.Log call-site substitutions (#911)

📈 Enhancements

  • Support custom attribute extractors to auto-http instrumentations (#867)
  • Allow users to configure suppression of some instrumentations. (#883)
  • Use event name for crash event (instead of attr) (#894)
  • Migrate network change event from zero-duration span to (log-based) event. (#895)

🛠️ Bug fixes

  • Fix instrumentation publication collisions (#926)

🙇 Thank you

This release was possible thanks to the following contributors:

@Archish27
@bendeguzvarju
@bidetofevil
@breedx-splk
@cleverchuk
@ddas09
@LikeTheSalad
@magda-woj
@marandaneto
@surbhiia

Version 0.10.0

07 Mar 17:42
0af0388

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.47.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.

  • This version builds on opentelemetry-java-instrumentation v2.13.3.

⚠️⚠️ Breaking changes

  • New maven coordinates for http client instrumentations (#791) - okhttp-3.0-library -> instrumentation-okhttp-3.0-library - okhttp-3.0-agent -> instrumentation-okhttp-3.0-agent - httpurlconnection-library -> instrumentation-httpurlconnection-library - httpurlconnection-agent -> instrumentation-httpurlconnection-agent
  • Remove deprecated exception.escaped attribute from crash events (#796)
  • DiskBufferingConfiguration renamed to DiskBufferingConfig (#753)
  • Remove ServiceManager instance from InstallationContext (#763)
  • Remove hard-coded exception.escaped attribute from crashes (#796)
  • Drop support for Kotlin 1.7 (#869)

📈 Enhancements

  • The android-agent module now publishes a Bill of Materials (BOM). This BOM can be used to coordinate platform dependency versions across the various modules contained in opentelemetry-android (#809)
  • Add ability to enable verbose debug for disk buffering config (#753)
  • Ensure current screen attribute is included in logs, when configured (#785)
  • Default max cache size for disk buffering reduced from 60MB to 10MB (#822)
  • Improve concurrency/threading for initialization events (#836)
  • Remove minimum disk buffering cache size requirement and pre-allocation (#828)
  • Add ability to customize the directory used for disk buffering (#871)

🙇 Thank you

This release was possible thanks to the following contributors:

@bencehornak
@bidetofevil
@breedx-splk
@deividasstr
@github-advanced-security
@jarias-lfx
@juanchosaravia
@LikeTheSalad
@marandaneto
@step-security-bot
@surbhiia
@trask
@Zey-Uzh

Version 0.9.1

22 Jan 00:07
8811c2a

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation and
the OpenTelemetry Java Core (sdk/api/exporters) 1.45.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.

🛠️ Bug fixes

  • Fix some artifacts missing from publication (#761)

🙇 Thank you

This release was possible thanks to the following contributors:

Version 0.9.0

16 Jan 18:38
f0270af

Choose a tag to compare

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.

  • This version builds on opentelemetry-java-instrumentation v2.11.0.

⚠️⚠️ Breaking changes

A reminder that this project is still alpha and may contain breaking changes
from release-to-release prior to v1.0.0.

  • The AndroidInstrumentation.install() method signature has changed. Any 3rd-party
    instrumentation written to this interface will need to be updated.
    (#671)

📈 Enhancements

  • Add the current screen name to crash events. (#704)
  • Add R8 consumer rules. (#685)
  • Append the session id attribute to all LogRecords. (#697)
  • Add support for wired network types in the network detector. (#673)
  • Add ability to generate session start/end events. This feature is currently opt-in. (#717, #719)
  • Support newer Android network APIs for API >=29. (#736)

🙇 Thank you

This release was possible thanks to the following contributors:

@ansman
@bidetofevil
@breedx-splk
@keciman
@LikeTheSalad
@MaciejCzekanski
@marandaneto
@MustafaHaddara
@orioonyx
@surbhiia

Version 0.8.0

21 Oct 19:23
32f0164

Choose a tag to compare

This release is based on OpenTelemetry Java Instrumentation 2.9.0 and
the OpenTelemetry Java Core (sdk/api/exporters) 1.43.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.

📈 Enhancements

  • HttpURLConnection instrumentation migration to AutoService API (#592)
  • Make HttpURLConnection connection inactivity timeout configurable and add test for harvester code (#569)
  • Expose additional disk buffering configuration (#596)
  • Many enhancements to the Android demo-app. #545, #554, #568, #570, #577, #584, #598, #604, #605, #627, #634

🛠️ Bug fixes

  • Ending "Paused" span for a fragment. (#591)
  • start AppStart span when installing activity instrumentation (#578)

🙇 Thank you

This release was possible thanks to the following contributors:

@beekhc
@bidetofevil
@breedx-splk
@codeboten
@jack-berg
@LikeTheSalad
@magda-woj
@marandaneto
@martinkuba
@surbhiia
@SylvainJuge
@trask