Releases: open-telemetry/opentelemetry-android
Version 1.0.1
- Patches 1.0.0 release in order to drop
-alphasuffix for the agent module. Sorry for any confusion this may have caused.
Version 1.0.0
⭐ Promote v1.0.0-rc.1 to v1.0.0.
-alpha suffix from
the agent.
This release promotes v1.0.0-rc1 to v1.0.0 without any additional changes. This release also denotes the first stable version of the OpenTelemetry Android Agent!
Going forward, we will prevent breaking changes to the agent API until the next major version. Other modules, including instrumentation, are still marked as alpha and will each have an individual trajectory toward stability.
Thanks to everyone involved in making this stable release a success!
🙇 Thank you
This release was possible thanks to the following contributors:
@agrognetti
@atulgpt
@beekhc
@bidetofevil
@breedx-splk
@codecov
@fractalwrench
@LikeTheSalad
@marandaneto
@RiyazurRazak
Version 1.0.0-rc.1
This release is based on OpenTelemetry Java Instrumentation 2.22.0 and
the OpenTelemetry Java Core (sdk/api/exporters) 1.56.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.
Good news, everyone! This denotes the first "stable" release candidate (rc.1) of OpenTelemetry Android. In a future release, after we have concluded that there are no significant issues or changes to the android-agent API, we will drop the rc (release candidate) designation and consider the android-agent a "stable" release.
Take note that even after the rc designation is removed, most modules will still contain an -alpha suffix to indicate that they are a future stability target.
Migration notes
Please note that, as part of our stabilization effort, we have introduced a few breaking changes in this release. The OpenTelemetryRumInitializer API, which we expect most users to be leveraging, should not have breaking changes in this release (with one exception noted below).
Users who may have been utilizing the OpenTelemetryRumBuilder class directly through a transitive dependency from the android-agent module, without declaring a direct dependency on the core module, will have compilation errors. These errors can be resolved by declaring a direct gradle dependency on the core module.
By default, the agent now enables gzip compression for exported data. Most users should benefit from this, but if gzip is not desired it may be disabled by setting compression = Compression.NONE in the httpExport block of the agent configuration.
⚠️ ⚠️ Breaking changes
- The OpenTelemetryRumBuilder is now a Kotlin class. (#1372)
- Gzip compression is now enabled by default for exporters. (#1360)
- Drop
RUM_SDK_VERSIONin favour ofTELEMETRY_SDK_VERSION(#1365) - Move OpenTelemetryRum to a new API module. (#1387)
🌟 New instrumentation
- New instrumentation that reports screen orientation changes. (#1333)
📈 Enhancements
- Activity and Fragment instrumentation may now be uninstalled. (#1369)
🛠️ Bug fixes
- Add compat fix for obtaining the thread id on versions >=
BAKLAVA(36). (#1346) - Rename event name
event.app.widget.clicktoapp.widget.click(#1391) - Add
openTelemetrygetter toOpenTelemetryRumto fix breaking API change (#1373) - Fix metrics aggregation temporality when using disk buffering. (#1405)
- Fix instrumentation ordering problem, which could prevent
session.startevent from firing in some cases. (#1413) - Enable disk buffering by default. (#1416)
🧰 Tooling
- Remove final remaining usages of mockito in favor of mockk. (#1362)
🙇 Thank you
This release was possible thanks to the following contributors:
@agrognetti
@atulgpt
@beekhc
@bidetofevil
@breedx-splk
@codecov
@fractalwrench
@LikeTheSalad
@marandaneto
@RiyazurRazak
Version 0.16.0
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)
SessionStorageandSessionIdGeneratorare 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
@Incubatingannotation, 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.namewhen 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
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
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
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
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
📈 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
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()onOtelRumConfigin favor of newsetSessionConfig().(#887) - Update Fragment and Activity attribute names. (#920)
🌟 New instrumentation
- Generate events for OkHttp Websocket events (#863)**
- Add build-time
android.util.Logcall-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
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.escapedattribute from crash events (#796) DiskBufferingConfigurationrenamed toDiskBufferingConfig(#753)- Remove
ServiceManagerinstance fromInstallationContext(#763) - Remove hard-coded
exception.escapedattribute 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