OpenTelemetry - java
Notes
no notes yet
Release notes
v1.64.0
API
- Fix
W3CBaggagePropagatorto allow empty baggage values per W3C spec (#8468) - Fix baggage parsing for invalid percent-encoded members (#8480)
Incubating
- BREAKING Remove deprecated
InstrumentationConfigUtil.peerServiceMapping(#8542) - Fix
EnvironmentGetter/EnvironmentSetterto not enumerate or normalize carrier entries, and normalize empty names consistently (#8474, #8481)
SDK
Traces
- Add
BatchSpanProcessor.create(SpanExporter)convenience factory to mirrorSimpleSpanProcessor.create(SpanExporter)(#8564) - Fix
BatchSpanProcessorbenchmark aux counters (exportedSpans/droppedSpans) always reporting zero (#8539)
Metrics
- Fix
PooledHashMapdropping live entries when an entry is removed duringforEach(#8499) - Safely initialize exemplar reservoir storage in
FixedSizeExemplarReservoir(#8524) - Use
failExceptionallyinPeriodicMetricReaderwhen the exporter is busy (#8525) - Only set
valuesRecordedinAggregatorHandlewhen false (#8559) - Use
volatileinstead of atomics inDouble/LongLastValueAggregator(#8560) - Randomize per-thread recording order in metric benchmarks to avoid concurrency hotspots (#8550)
Logs
- Fix
BatchLogRecordProcessorworker thread being killed by non-runtime exceptions (#8529)
Exporters
- BREAKING Prometheus: Drop deprecated
PrometheusMetricReaderconstructors (#8541) - OTLP: Reject host-less endpoints in
EndpointUtil.validateEndpoint(#8489) - OTLP: Replace Jackson OTLP JSON serialization with a hand-rolled implementation (#8545)
- OTLP Profiles: Fix
OtlpGrpcProfileExportertoStringclass name (#8492) - Prometheus: Add translation strategy support (#8346)
- Prometheus: Fix serialization of array-valued scope and resource attributes to JSON strings (#8497)
Extensions
- BREAKING Declarative config: Move experimental types to internal package (#8530)
- Declarative config: Commit generated schema POJOs to git (#8408)
- Declarative config: Update to
opentelemetry-configurationv1.1.0 (#8451) - Declarative config: Adjust POJO
toString/hashCode/equalsto match AutoValue semantics (#8526) - Declarative config: Add ref descriptions to generated model classes (#8540)
- Declarative config: Emit consistent
@JsonPropertyannotations on generated models (#8563) - Declarative config: Remove duplicate resolver in
DeclarativeConfigPropertyUtil(#8579)
Project tooling
- Add configuration policy guidance (#8429)
- Exclude certain GitHub Actions from running on forks (#8466)
- Add guidance to prefer parameterized tests (#8469)
- Make benchmark path configurable (#8557)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@abdessattar23 @ADITYA-CODE-SOURCE @atoulme @breedx-splk @brunobat @carlosalberto @dahyvuun @Develop-KIM @EvgeniiR @gfelbing @jack-berg @jaydeluca @jimbobbennett @jkwatson @Kielek @kropptrevor @opentelemetry-pr-dashboard @pellared @psx95 @seongjun-rpls @thswlsqls @trask @Vcode2407 @vivekp14 @zeitlinger