Skip to content

Releases: open-telemetry/opentelemetry-java

Version 1.46.0

10 Jan 17:55
5640314
Compare
Choose a tag to compare

SDK

  • Remove unused dependencies, cleanup code after stabilizing Value (#6948)
  • Explicitly allow null into CompletableResultCode.failExceptionally() (#6963)

Traces

  • Fix span setStatus (#6990)

Logs

  • Add getters/accessors for readable fields in ReadWriteLogRecord. (#6924)

Exporters

  • OTLP: Update to opentelemetry-proto 1.5 (#6999)
  • Bugfix - OTLP: Ensure Serializer runtime exceptions are rethrown as IOException (#6969)
  • BREAKING - OTLP: Delete experimental OTLP authenticator concept. See OTLP authentication docs for supported solutions. (#6984)

Extensions

  • BREAKING - Autoconfigure: Remove support for deprecated otel.experimental.resource.disabled.keys (#6931)

🙇 Thank you

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

@breedx-splk
@celikrecep
@happysiddharth
@jack-berg
@jaydeluca
@jhalliday
@jkwatson
@laurit
@robsunday
@steverao
@trask
@zeitlinger

Version 1.45.0

06 Dec 19:54
b547e7e
Compare
Choose a tag to compare

API

  • Add convenience method setAttribute(Attribute<Long>, int) to SpanBuilder (matching the existing convenience method in Span) (#6884)
  • Extends TextMapGetter with experimental GetAll() method, implement usage in W3CBaggagePropagator (#6852)

SDK

Traces

  • Add synchronization to SimpleSpanProcessor to ensure thread-safe export of spans (#6885)

Metrics

  • Lazily initialize ReservoirCells (#6851)

Logs

  • Add synchronization to SimpleLogRecordProcessor to ensure thread-safe export of logs (#6885)

Exporters

  • OTLP: Update opentelementry-proto to 1.4 (#6906)
  • OTLP: Rename internal Marshaler#writeJsonToGenerator method to allow jackson runtimeOnly dependency (#6896)
  • OTLP: Fix repeated string serialization for JSON. (#6888)
  • OTLP: Fix missing unsafe available check (#6920)

Extensions

  • Declarative config: Don't require empty objects when referencing custom components (#6891)

Tooling

  • Add javadoc boilerplate internal comment v2 for experimental classes (#6886)
  • Update develocity configuration (#6903)

🙇 Thank you

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

@asafm
@breedx-splk
@edma2
@io7m
@jack-berg
@jamesmoessis
@jaydeluca
@jhalliday
@jkwatson
@jsuereth
@laurit
@ravi-nagendran
@slodha
@Stoyas
@trask

Version 1.44.1

10 Nov 01:45
cb7d40a
Compare
Choose a tag to compare

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

SDK

Traces

  • Fix regression in event attributes (#6865)

Version 1.44.0

08 Nov 20:33
08349dc
Compare
Choose a tag to compare

API

  • Fix ConfigUtil#getString ConcurrentModificationException (#6841)

SDK

Traces

  • Stabilize ExceptionEventData (#6795)

Metrics

  • Stabilize metric cardinality limits (#6794)
  • Refactor metrics internals to remove MeterSharedState (#6845)

Exporters

  • Add memory mode option to stdout exporters (#6774)
  • Log a warning if OTLP endpoint port is likely incorrect given the protocol (#6813)
  • Fix OTLP gRPC retry mechanism for unsuccessful HTTP responses (#6829)
  • Add ByteBuffer field type marshaling support (#6686)
  • Fix stdout exporter format by adding newline after each export (#6848)
  • Enable reusuable_data memory mode by default for OtlpGrpc{Signal}Exporter, OtlpHttp{Signal}Exporter, OtlpStdout{Signal}Exporter, and PrometheusHttpServer (#6799)

Extension

  • Rebrand file configuration to declarative configuration in documentation (#6812)
  • Fix declarative config file_format validation (#6786)
  • Fix declarative config env substitution by disallowing '}' in default value (#6793)
  • Set declarative config default OTLP protocol to http/protobuf (#6800)
  • Stabilize autoconfigure disabling of resource keys via otel.resource.disabled.keys (#6809)

Tooling

  • Run tests on Java 23 (#6825)
  • Test Windows in CI (#6824)
  • Add error prone checks for internal javadoc and private constructors (#6844)

🙇 Thank you

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

@breedx-splk
@cyrille-leclerc
@hboutemy
@jack-berg
@jaydeluca
@jhalliday
@JiwonKKang
@jkwatson
@laurit
@neugartf
@OrangeFlag
@trask
@vasantteja
@zeitlinger

Version 1.43.0

11 Oct 17:03
bc4c65d
Compare
Choose a tag to compare

API

  • Add helper class to capture context using ScheduledExecutorService (#6712)
  • Adds Baggage.getEntry(String key) (#6765)

Extensions

  • Fix ottracepropagation for short span ids (#6734)

SDK

Metrics

  • Optimize advice with FilteredAttributes (#6633)

Exporters

  • Add experimental stdout log, metric, trace exporters for printing records to stdout in standard OTLP JSON format. (#6675, #6750)
  • Add Marshalers for profiling signal type (#6680)

Extensions

  • Add *Model suffix to declarative config generated classes. (#6721)
  • Use autoconfigured ClassLoader to load declarative config (#6725)
  • Update declarative config to use opentelemetry-configuration v0.3.0 (#6733)
  • Add StructuredConfigProperties#getStructured default method, add StructuredConfigProperties.empty() (#6759)

Testing

  • Add context info about wrong span or trace. (#6703)

🙇 Thank you

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

@ammachado
@breedx-splk
@codeboten
@codefromthecrypt
@jack-berg
@jhalliday
@jkwatson
@laurit
@reta
@shalk
@smola
@stevesea
@trask
@vasantteja
@viveksing
@wgy035
@zeitlinger

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