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