Version 1.38.0
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
. - 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