github open-telemetry/opentelemetry-java v0.14.0
Version 0.14.0

latest releases: v1.42.1, v1.42.0, v1.41.0...
3 years ago

Note : This release has been superceded by 0.14.1

This release had issues with publishing the opentelemetry-bom to maven central. This was addressed in v0.14.1.

General

  • Several more modules have been updated to have -alpha appended on their versions:
    • opentelemetry-sdk-extension-jfr-events
    • opentelemetry-sdk-extension-async-processor
    • opentelemetry-sdk-extension-logging
    • opentelemetry-sdk-extension-zpages
    • opentelemetry-sdk-exporter-prometheus
    • opentelemetry-sdk-exporter-tracing-incubator
    • opentelemetry-opentracing-shim
    • opentelemetry-opencensus-shim

API

☢️ Breaking Changes

  • Code that was deprecated in 0.13.0 has been removed from the project.
    • Metrics interfaces are no longer available as a part of the opentelemetry-pom or from the opentelemetry-api modules.
      To access the alpha metrics APIs, you will need to explicitly add them as a dependency.
    • OpenTelemetry.setPropagators() has been removed. You should instead create your
      OpenTelemetry implementations with the Propagators preset, via the various builder options. For example, use
      DefaultOpenTelemetry.builder().setPropagators(propagators).build() to configure your no-sdk implementation.
    • The OpenTelemetry.builder() and the OpenTelemetryBuilder interface have been removed.
      The builder functionality is now only present on individual implementations of OpenTelemetry. For instance, the
      DefaultOpenTelemetry class has a builder available.

📈 Enhancements

  • The SemanticAttributes have been updated to the latest version of the specification, as of January 7th, 2021.

🌟 Miscellaneous

  • The SemanticAttributes class has been moved to a new module: opentelemetry-semconv and repackaged into a new package:
    io.opentelemetry.semconv.trace.attributes. The old SemanticAttributes class will be removed in the next release.
  • The SPI interfaces for OpenTelemetry have been deprecated. We are moving to a new auto-configuration approach with the
    new SDK auto-configuration module: io.opentelemetry.sdk.autoconfigure. This module should be considered the officially
    supported auto-configuration library moving forward.

SDK

🛠️ Bugfixes:

  • Environment variables/system properties that are used to set extra headers for the OTLP exporters have been fixed to now
    split on commas, rather than semicolons. This has been brought in line with the specification for these environment
    variables. This includes otel.exporter.otlp.span.headers, otel.exporter.otlp.metric.headers, and otel.exporter.otlp.headers.
  • Passing a null span name when creating a span will no longer cause a NullPointerException. Instead, a default span name will be
    provided in place of the missing name.

☢️ Breaking Changes

  • The deprecated SpanData.Link.getContext() method has been removed in favor of SpanData.Link.getSpanContext().
  • The TracerProviderFactorySdk SPI class has been renamed to SdkTracerProviderFactory.
  • The OpenTelemetrySdkBuilder.build() method has been renamed to OpenTelemetrySdkBuilder.buildAndRegisterGlobal().
    The build() method still exists, but no longer sets the instance on the GlobalOpenTelemetry when invoked.
  • The SdkTracerManagement.shutdown() method now returns CompletableResultCode which can be used to wait
    asynchronously for shutdown to complete.
  • The sampling.probability sampling attribute previously generated by the TraceIdRatioBasedSampler is no longer
    generated, as it was not conformant with the specifications.
  • Inner classes of SpanData have been moved to the top level

📈 Enhancements

  • The OtlpGrpcSpanExporter now supports setting trusted TLS certificates for secure communication with the collector.
  • A new module for supporting auto-configuration of the SDK has been added. The new module, io.opentelemetry.sdk.autoconfigure will
    be the new path for auto-configuration of the SDK, including via SPI, environment variables and system properties.
  • The TraceConfig class now exposes a builder() method directly, so you don't need to get the default then call toBuilder() on it.
  • The OTLP protobuf definitions were updated to the latest released version: 0.7.0.
    Both the Span and (alpha) Metric exporters were updated to match.
  • Timeouts in the exporters can now be specified with java.util.concurrent.TimeUnit and java.time.Duration based configurations,
    rather than requiring milliseconds.
  • Objects that can be shutdown now also implement Closeable
  • StatusData.isUnset and StatusData.isOk have been deprecated and will be removed in the following release

🌟 Miscellaneous

  • SdkTracerProvider.updateActiveTraceConfig() and SdkTracerProvider.addSpanProcessor() have been deprecated. The methods
    will be removed in the next release.
  • All existing auto-configuration mechanisms have been deprecated in favor of using the new io.opentelemetry.sdk.autoconfigure
    module. The existing ones will be removed in the next release.
  • The methods with the term "deadline" has been deprecated in the configuration of the grpc-based exporters (OTLP and Jaeger) in favor
    of the word "timeout". The deadline-named methods will be removed in the next release.
  • The StringUtils class in the opentelemetry-extension-trace-propagators extension module has been deprecated
    and will be made non-public in the next release.

Extensions

☢️ Breaking Changes

  • The ZPages extension now exposes its SpanProcessor implementation. To use it, you will need to add it to your
    SDK implementation directly, rather than it adding itself to the global SDK instance.
  • The JaegerRemoteSampler builder patterns have been changed and updated to more closely match the rest
    of the builders in the project.

🛠️ Bugfixes:

  • The JaegerRemoteSampler now uses the ParentBased sampler as the basis for any sampling that is done.

🌟 Miscellaneous

  • The AwsXrayIdGenerator constructor has been deprecated in favor of using a simple getInstance() singleton, since
    it has no state.
  • The TraceProtoUtils class in the opentelemetry-sdk-extension-otproto module has been deprecated and
    will be removed in the next release.

Don't miss a new opentelemetry-java release

NewReleases is sending notifications on new releases.