Skip to content

Releases: open-telemetry/opentelemetry-java

Version 1.42.1

10 Sep 14:36
05e322b
Compare
Choose a tag to compare

This is a patch release on the previous 1.42.0 release, fixing the issue(s) below.

API

  • Revert java-test-fixtures plugin to remove test dependencies from pom.xml. (#6695)

Version 1.42.0

06 Sep 15:47
96b2419
Compare
Choose a tag to compare

API

  • BREAKING: Stabilize log support for AnyValue bodies. Rename AnyValue to Value, promote from opentelemetry-api-incubator to opentelemetry-api, change package from io.opentelemetry.api.incubator.logs to io.opentelemetry.api.common. (#6591)
  • Noop implementations detect when opentelemetry-api-incubator is present and return extended noop implementations. (#6617)%

SDK

Traces

  • Added experimental support for SpanProcessor OnEnding callback (#6367)
  • Remove final modifier from SdkTracer.tracerEnabled (#6687)

Exporters

  • Suppress zipkin exporter instrumentation (#6552)
  • OTLP exporters return status code exceptions via CompletableResultCode in GrpcExporter and HttpExporter. (#6645)
  • Align GrpcSender contract with HttpSender (#6658)

Extensions

  • Add autoconfigure support for ns and us durations (#6654)
  • Add declarative configuration ComponentProvider support for resources (#6625)
  • Add declarative configuration ComponentProvider support for processors (#6623)
  • Add declarative configuration ComponentProvider support for samplers (#6494)
  • Add declarative configuration ComponentProvider support for propagators (#6624)
  • Add declarative configuration missing pieces (#6677)
  • Change jaeger remote sampler autoconfigure property from pollingInterval to pollingIntervalMs to match spec. (#6672)

Testing

  • Add asserts for log record body fields (#6509)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@anuraaga
@breedx-splk
@chungngoops
@codefromthecrypt
@drewhammond
@galahad098
@jack-berg
@jackshirazi
@jarrodrobins
@jkwatson
@JonasKunz
@laurit
@LikeTheSalad
@SylvainJuge
@trask
@zeitlinger

Version 1.41.0

09 Aug 15:57
666bf9a
Compare
Choose a tag to compare

API

  • Move experimental suppress instrumentation context key to api internal package (#6546)

Incubator

  • Fix bug in ExtendedContextPropagators preventing context extraction when case is incorrect. (#6569)

SDK

  • Extend CompletableResultCode with failExceptionally(Throwable). (#6348)

Metrics

  • Avoid allocations when experimental advice doesn't remove any attributes. (#6629)

Exporter

  • Enable retry by default for OTLP exporters. (#6588)
  • Retry ConnectException, add retry logging. (#6614)
  • Extend PrometheusHttpServer with ability to configure default aggregation as function of instrument kind, including experimental env var support. (#6541)
  • Add exporter data model impl for profiling signal type. (#6498)
  • Add Marshalers for profiling signal type. (#6565)
  • Use generateCertificates() of CertificateFactory to process certificates. (#6579)

Extensions

  • Add file configuration ComponentProvider support for exporters. (#6493)
  • Remove nullable from file config Factory contract. (#6612)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@Abhishekkr3003
@abvaidya
@breedx-splk
@driverpt
@galahad098
@hongshuai1994
@jack-berg
@jarrodrobins
@jaydeluca
@jhalliday
@jkwatson
@junwense
@LikeTheSalad
@Oberon00
@shalk
@swar8080
@SylvainJuge
@trask
@tylerbenson
@wgy035

Version 1.40.0

05 Jul 22:29
8094b39
Compare
Choose a tag to compare

API

Incubator

  • Narrow ExtendedSpanBuilder return types for chaining (#6514)
  • Add APIs to determine if tracer, logger, instruments are enabled (#6502)

SDK

Extensions

  • Move autoconfigure docs to opentelemetry.io (#6491)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@breedx-splk
@heyams
@huange7
@ICTylor
@jack-berg
@jaydeluca
@jkwatson
@laurit
@sebastian-alfers
@trask

Version 1.39.0

07 Jun 12:14
96bb3ba
Compare
Choose a tag to compare

API

Incubator

  • BREAKING: Refactor ExtendedTracer, ExtendedSpanBuilder to reflect incubating API conventions (#6497)

SDK

Exporter

  • BREAKING: Serve prometheus metrics only on /metrics by default. To restore the previous behavior and serve metrics on all paths, override the default handler as demonstrated here. (#6476)
  • Make OTLP exporter memory mode API public (#6469)
  • Speed up OTLP string marshaling using sun.misc.Unsafe (#6433)
  • Add exporter data classes for experimental profiling signal type. (#6374)
  • Start prometheus http server with daemon thread (#6472)
  • Update the Prometheus metrics library and improve how units are included in metric names. (#6473)
  • Remove android animalsniffer check from prometheus exporter (#6478)

Extensions

  • Load file config YAML using core schema, ensure that env var substitution retains string types. (#6436)
  • Define dedicated file configuration SPI ComponentProvider (#6457)

Tooling

  • Normalize timestamps and file ordering in jars, making the outputs reproducible (#6471)
  • GHA for generating the post-release pull request (#6449)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@breedx-splk
@crossoverJie
@DPUkyle
@fstab
@hboutemy
@jack-berg
@jhalliday
@jkwatson
@laurit
@lizongwu
@nluk
@trask
@zeitlinger

Version 1.38.0

10 May 15:30
30d16eb
Compare
Choose a tag to compare

API

  • Stabilize synchronous gauge (#6419)

Incubator

  • Add put(AttributeKey, T) overload to EventBuilder (#6331)

Baggage

  • Baggage filters space-only keys (#6431)

SDK

  • Add experimental scope config to enable / disable scopes (i.e. meter, logger, tracer) (#6375)

Traces

  • Add ReadableSpan#getAttributes (#6382)
  • Use standard ArrayList size rather than max number of links for initial span links allocation (#6252)

Metrics

  • Use low precision Clock#now when computing timestamp for exemplars (#6417)
  • Update invalid instrument name log message now that forward slash / is valid (#6343)

Exporters

  • Introduce low allocation OTLP marshalers. If using autoconfigure, opt in via OTEL_JAVA_EXPERIMENTAL_EXPORTER_MEMORY_MODE=REUSABLE_DATA.
    • Low allocation OTLP logs marshaler (#6429)
    • Low allocation OTLP metrics marshaler (#6422)
    • Low allocation OTLP trace marshaler (#6410)
    • Add memory mode support to OTLP exporters (#6430)
    • Marshal span status description without allocation (#6423)
    • Add private constructors for stateless marshalers (#6434)
  • Mark opentelemetry-exporter-sender-jdk stable (#6357)
  • PrometheusHttpServer prevent concurrent reads when reusable memory mode (#6371)
  • Ignore TLS components (SSLContext, TrustManager, KeyManager) if plain HTTP protocol is used for exporting (#6329)
  • Add is_remote_parent span flags to OTLP exported Spans and SpanLinks (#6388)
  • Add missing fields to OTLP metric exporters toString() (#6402)

Extensions

  • Rename otel.config.file to otel.experimental.config.file for autoconfigure (#6396)

OpenCensus Shim

  • Fix opencensus shim spanBuilderWithRemoteParent behavior (#6415)

Tooling

  • Add additional API incubator docs (#6356)
  • Run build on java 21 (#6370)
  • Fix running tests with java 8 on macos (#6411)
  • Move away from deprecated gradle enterprise APIs (#6363)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@AlexanderWert
@anuraaga
@arosien
@breedx-splk
@gavin-nia
@jack-berg
@jimshowalter
@jkwatson
@johnbley
@laurit
@LikeTheSalad
@oliver-zhang
@serkan-ozal
@tkmsaaaam
@trask
@tylerbenson

Version 1.37.0

05 Apr 18:09
a3e7f51
Compare
Choose a tag to compare

NOTICE: This release contains a significant restructuring of the experimental event API and the API incubator artifact. Please read the notes in the API -> Incubator section carefully.

API

  • Promote Span#addLink to stable API (#6317)

Incubator

  • BREAKING: Rename opentelemetry-extension-incubator to opentelemetry-api-incubator, merge opentelemetry-api-events into opentelemetry-api-incubator. (#6289)
  • BREAKING: Remove domain from event api. EventEmitterProvider#setEventDomain has been removed. The event.name field should now be namespaced to avoid collisions. See Semantic Conventions for Event Attributes for more details. (#6253)
  • BREAKING: Rename EventEmitter and related classes to EventLogger. (#6316)
  • BREAKING: Refactor Event API to reflect spec changes. Restructure API to put fields in the AnyValue log record body. Add setters for timestamp, context, and severity. Set default severity to INFO=9. (#6318)

SDK

  • Add get{Signal}Exporter methods to Simple{Signal}Processor, Batch{Signal}Processor. (#6078)

Metrics

  • Use synchronized instead of reentrant lock in explicit bucket histogram (#6309)

Exporters

  • Fix typo in OTLP javadoc (#6311)
  • Add PrometheusHttpServer#toBuilder() (#6333)
  • Bugfix: Use getPrometheusName for Otel2PrometheusConverter map keys to avoid metric name conflicts (#6308)

Extensions

  • Add Metric exporter REUSABLE_DATA memory mode configuration options, including autoconfigure support via env var OTEL_JAVA_EXPERIMENTAL_EXPORTER_MEMORY_MODE=REUSABLE_DATA. (#6304)
  • Add autoconfigure console alias for logging exporter (#6027)
  • Update jaeger autoconfigure docs to point to OTLP (#6307)
  • Add ServiceInstanceIdResourceProvider implementation for generating service.instance.id UUID if not already provided by user. Included in opentelemetry-sdk-extension-incubator. (#6226)
  • Add GCP resource detector to list of resource providers in autoconfigure docs (#6336)

Tooling

  • Check for Java 17 toolchain and fail if not found (#6303)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@asafm
@bogdandrutu
@breedx-splk
@brunobat
@helpermethod
@jack-berg
@jkwatson
@jonatan-ivanov
@jpkrohling
@MSNev
@nluk
@psx95
@robberphex
@scheler
@trask
@zeitlinger

Version 1.36.0

08 Mar 13:17
049c6cf
Compare
Choose a tag to compare

SDK

Traces

  • Lazily initialize the container for events in the SDK Span implementation (#6244)

Exporters

  • Add basic proxy configuration to OtlpHttp{Signal}Exporters (#6270)
  • Add connectTimeout configuration option OtlpGrpc{Signal}Exporters (#6079)

Extensions

  • Add ComponentLoader to autoconfigure support more scenarios (#6217)
  • Added MetricReader customizer for AutoConfiguredOpenTelemetrySdkBuilder (#6231)
  • Return AutoConfiguredOpenTelemetrySdkBuilder instead of the base type (#6248)

Tooling

  • Add note about draft PRs to CONTRIBUTING.md (#6247)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@alexandru-roman-db
@asafm
@breedx-splk
@jack-berg
@jeanbisutti
@jkwatson
@johnbley
@lmolkova
@marcschumacher
@trask
@tydhot
@zeitlinger

Version 1.35.0

09 Feb 16:04
6d9e7e3
Compare
Choose a tag to compare

NOTE: The opentelemetry-exporter-jaeger and opentelemetry-exporter-jaeger-thift artifacts have stopped being published. Jaeger has native support for OTLP, and users should export to jaeger using OTLP instead.

API

Incubator

  • Add Span#addLink, for adding a link after span start (#6084)

SDK

Traces

  • Bugfix: Ensure span status cannot be updated after set to StatusCode.OK (#6209

Metrics

  • Reusable memory Mode: Adding support for exponential histogram aggregation (#6058, #6136)
  • Reusable memory mode: Adding support for explicit histogram aggregation (#6153)
  • Reusable memory mode: Adding support for sum aggregation (#6182)
  • Reusable memory mode: Adding support for last value aggregation (#6196)

Exporters

  • Recreate / fix graal issue detecting RetryPolicy class (#6139, #6134)
  • Restore prometheus metric name mapper tests, fix regressions (#6138)
  • WARNING: Remove jaeger exporters (#6119)
  • Update dependency io.zipkin.reporter2:zipkin-reporter-bom to 3.2.1. Note: ZipkinSpanExporterBuilder#setEncoder(zipkin2.codec.BytesEncoder) has been deprecated in favor of ZipkinSpanExporterBuilder#setEncoder(zipkin2.reporter.BytesEncoder). ZipkinSpanExporterBuilder#setSender(zipkin2.reporter.Sender) has been deprecated in favor of ZipkinSpanExporterBuilder#setSender(zipkin2.reporter.BytesMessageSender). (#6129, #6151)
  • Include trace flags in otlp marshaller (#6167)
  • Add Compressor SPI support to OtlpGrpc{Signal}Exporters (#6103)
  • Allow Prometheus exporter to add resource attributes to metric attributes (#6179)

Extension

  • Autoconfigure accepts encoded header values for OTLP exporters (#6164)

Incubator

  • Align file configuration with latest changes to spec (#6088)

Tooling

  • Stop including old artifacts in bom (#6157)
  • Define CODECOV token (#6186)

๐Ÿ™‡ Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@apederson94
@asafm
@breedx-splk
@brunobat
@codefromthecrypt
@fstab
@jack-berg
@jkwatson
@NicklasWallgren
@patrick-me
@psx95
@trask
@zeitlinger

Version 1.34.1

11 Jan 23:33
91c4a1b
Compare
Choose a tag to compare

This is a patch release on the previous 1.34.0 release, fixing the issue(s) below.

  • Fix prometheus exporter regressions (#6138)
  • Fix native image regression (#6134)