Skip to content

Releases: open-telemetry/opentelemetry-kotlin

Version 0.6.0

Choose a tag to compare

@github-actionsgithub-actions released this 28 Jul 17:05
5fb24ee

Migration notes

  • Pin the minimum supported Kotlin version for iOS and JS (klib) consumers at 2.4.0 in the version catalog, instead of implicitly tracking the Kotlin version this library is built with. A Kotlin update that would raise this floor now fails the min-versions integration test, so raising it becomes a deliberate, documented decision. (#647)
  • Clarify the minimum supported Kotlin version per target family: 2.0.0 applies to JVM and Android consumers only, while iOS and JS consumers need at least the Kotlin version this library is built with (currently 2.4.0) — a klib toolchain constraint shared by all KMP libraries. Both floors are now enforced by integration tests. (#633)
  • Raise the minimum supported AGP version to 8.0.2. Through no fault of opentelemetry-kotlin, AGP 8.0.0 bundles an R8 that fails to dex Kotlin 2.0 @Metadata, so projects on that version can't build against these artifacts without an unusual manual R8 override. Later 8.0.x patches ship a working R8, making 8.0.2 — the final 8.0.x patch — a more sensible floor. (#614)
  • Raise the minimum supported Gradle version from 8.0 to 8.0.2, matching the AGP floor on the final 8.0.x patch. (#614)
  • Use the new name for the app id / client id (#623)

🌟 New instrumentation

📈 Enhancements

  • Implement enabled() on Tracer interface (#625)
  • Record dropped link/attribute/event counts (#630) (#631) (#629)
  • Implement LoggerConfig (#704)
  • Implementation of implicit context for coroutines (#684)

🛠️ Bug fixes

  • SpanProcessor.onEnding should be forwarded by OtelJavaSpanProcessorAdapter (#637)
  • OtelJavaSpanBuilderAdapter.setStartTimestamp should convert the startTimestamp into nanos from the specified TimeUnit (#638)

🧰 Tooling

  • Add helper action to regenerate yarn lockfile (#616)
  • Enable gradle tooling parallelism (#697)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@codecov
@copilot-pull-request-reviewer
@damianpetla
@fractalwrench
@github-advanced-security
@inetand
@jdvr
@lemnik
@Msksgm
@priettt
@thompson-tomo
@trask

Version 0.5.0

Choose a tag to compare

@github-actionsgithub-actions released this 06 Jul 22:53
883babf
  • Attributes are now considered a stable API. 🚀

Migration notes

  • The default resource no longer includes service.version. (#561)
  • The default scheduled batch export delay is now 5000ms. (#580)

📈 Enhancements

  • Metrics now include a minimal MeterProvider implementation wired through the OpenTelemetry entry points. (#527)
  • Add initial declarative config provider interfaces. (#598)
  • Add the AlwaysRecordSampler implementation. (#587)
  • Add generated event semantic convention classes. (#585)
  • Attributes are now stable and no longer marked with @ExperimentalApi. (#609)
  • TextMapGetter and TextMapSetter carrier arguments are now nullable to align with the OpenTelemetry propagator API specification. (#595)

🛠️ Bug fixes

  • Remove println output from OTLP exporters. (#560)
  • Log a warning when an instrumentation scope name is invalid. (#563)
  • Skip OTLP HTTP export requests when there is no telemetry to export. (#562)
  • Use the trace service response model for OTLP trace responses. (#573)
  • Retry OTLP HTTP requests on retryable status codes. (#574)
  • Make ReadWriteLogRecord.spanContext mutable. (#590)
  • Do not export spans when isSampled is false. (#589)
  • Pass span links to samplers. (#608)

📖 Docs

  • API stability levels are now documented in a matrix in api/README.md. (#579)
  • Improve CONTRIBUTING.md for new contributors. (#588)

🧰 Tooling

  • test: add test that enforces min supported versions (#521)
  • build: attempt to fix build (#524)
  • test: add a test that cross checks propagation between impl/compat (#525)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@carlosalberto
@codecov
@DavidGrath
@fractalwrench
@inetand
@jdvr
@Msksgm
@narumichi0710
@priettt

Version 0.4.0

Choose a tag to compare

@github-actionsgithub-actions released this 20 May 20:00
c2a7c2b

⚠️ Breaking changes

  • Drop platform support for x64 on iOS. This is due to the Kotlin language project also dropping support for iosX64. See the upstream release notes for additional detail. (#514) ### 📈 Enhancements

✉️ Attributes

  • Attributes now support equality (#425)
  • Attributes now support ByteArray value types. ( #430, #452 )
  • Attributes now support AnyValue value type. (#516)

🧳 Baggage

  • The Baggage API has an initial implementation. (#436)
  • Baggage API also includes a compat layer. (#433)
  • Baggage can be created through the OpenTelemetry API. (#480)
  • Baggage can now be stored in the OpenTelemetry Context. (#456)
  • BaggageFactory now has an implementation. (#457)

✈️ Propagators

  • implement compat layer for PropagatorFactory (#461)
  • add traceparent implementation (#462)
  • create compat adapter for propagators (#460)
  • Implement W3C TraceContext Propagator (#467)
  • create entrypoint for propagators (#469)
  • Initial implementation of the TextMapPropagator API. (#455)
  • New spec-compliant support for W3CBaggagePropagator has been added. (#458)
  • TextMapGetter now has getAll() method, per specification. (#466)

Miscellaneous Enhancements

  • feat(sampling): implement probability sampler (#398)
  • Initial API scaffolding has been created for Meter. (#414)
  • Initial API scaffolding for MeterProvider api. (#437)
  • OTLP exporters now allow users to provide a custom HttpClient. (#431)
  • support AnyValue in Logger.emit() (#490)
  • Scaffold MeterProvider config and compat layer (#498)
  • allow supplying a custom implicit context storage mechanism (#470)
  • thread local context storage (#479)
  • TraceState now has an initial implementation. (#464)
  • Provide implementation of AnyValue (#453)
  • LogLimit can now be configured from environment variables. (#407)

🛠️ Bug fixes

  • fix: specify span kind correctly in protobuf (#417)
  • fix: prevent empty key for attributes (#424)
  • fix: hook up attributes in compat resource implementation (#423)
  • fix: ensure that resource attributes don't have limits (#429)
  • fix: handle unexpected values in attributes (#432)
  • Enforce attribute size limit for byte array attribute values. (#468)
  • Invalid configs should not throw exceptions. (#504)
  • Don't throw when using the DSL to configure exporters and processors. (#503)
  • Remove throws on init in trace and span context usage scenarios (#506)

📖 Docs

  • docs: Add SIG meeting info and welcoming language (#493)
  • docs: add link for getting started instructions (#484)

🧰 Tooling

  • Add fuzz tests for trace context (#492)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@cijothomas
@codecov
@fractalwrench
@HylkeB
@inetand
@viorel-alexandrescu
@wpessers

Version 0.3.0

Choose a tag to compare

@github-actionsgithub-actions released this 21 Apr 15:20
c01d4dc
  • Alter Tracing API so that Span does not include readable values (#267)
  • Move packages of several APIs (#321) (#295) (#293)
  • Alter resource API (#288)
  • Add SDK instance level support of ShutdownState (#300)
  • Provide return value for Scope#detach() (#287)
  • Disallow creating span events during creation (#290)
  • Add isRemote flag to SpanContext (#289)
  • Add DSL for configuring samplers (#297) (#314) (#325) (#346)
  • Capture default attributes in resource object (#308) (#317)
  • Add ResourceFactory API (#299)
  • Bump JavaScript dependencies (#309)
  • Support exception parameter in Logger interface (#296)
  • Move createKey() function to ContextFactory (#291)
  • Implement the AlwaysOn/AlwaysOff built-in samplers (#306)
  • Move additional interfaces to sdk-api (#311)
  • Add API for span conversion (#316)
  • Support logging structured messages (#313)
  • Configure attribute limits on traces/logs (#324)
  • Allow resources to be specified at a global level (#323)
  • Alter DSL for configuring built-in samplers (#327)
  • Ensure span id is generated before sampling decisions (#335)
  • Add global attribute limits (#328)
  • Add attributes from sampling result to span (#338)
  • Remove recordException() from API (#320)
  • Ensure that TraceState complies with W3C TraceContext spec (#345)
  • Disallow overriding span status once set to Ok (#357)
  • Add bounding for OTLP response body (#361)
  • Create parent based sampler (#349)
  • Update semantic conventions to v1.40.0 (#363)
  • Bump JavaScript dependency versions (#360)
  • Add ability to override span context (#358)
  • Add makeCurrent() API to ContextFactory (#351)
  • Allow specifying timeout for OTLP export (#386)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@carlosalberto
@codecov
@fractalwrench
@FunkyMuse
@martincostello
@Msksgm
@priettt

Version 0.2.0

Choose a tag to compare

@github-actionsgithub-actions released this 11 Mar 10:10
b20dc1a
  • Set explicit minCompileSdk at 34 (#214)
  • Set minimum supported AGP version of 7.1.3 explicitly (#219)
  • Move various interfaces to sdk-api module to denote they should not be used when writing instrumentation (#223) (#224) (#240)
  • Various API changes to better align with the OpenTelemetry specification (#225) (#222) (#228) (#233) (#235) (#242) (#239) (#241) (#238) (#248) (#245) (#247) (#246)
  • Include semantic conventions by default as dependency of core module (#249)
  • Update opentelemetry-java to 1.60.1 (#260)

🙇 Thank you

This release was possible thanks to the following contributors:

@bidetofevil
@breedx-splk
@carlosalberto
@codecov
@fractalwrench
@priettt

Version 0.1.0

Choose a tag to compare

@github-actionsgithub-actions released this 20 Feb 15:32
3ac8a7e

Initial release