API
- Support W3C trace context random flag (#8012)
- Clarify that
SpanBuilder.setAttributeallows null values (#8072)
Incubating
- Implement environment variable context propagation carriers (#8074)
- Deprecate
ExtendedAttributes,ExtendedAttributeKey,ExtendedAttributeType,ExtendedAttributesBuilder(#8060) - Deprecate
peerServiceMappingaccessor fromInstrumentationConfigUtil(#8088)
SDK
Traces
- Disable warning when using
TraceIdRatioBasedSampleras root sampler (#8065) - User-supplied attributes take precedence over exception-derived attributes (#7993)
- Exclude META-INF/maven from traces SDK shaded dependencies (#8096)
- Fix inverted condition in LegacySpanProcessorInstrumentation#finishSpans (#8145)
Metrics
- Split out cumulative vs. delta storage (#8015)
- Add metrics for
PeriodicMetricReader(#8038) - Allow configuring min/max in histograms (#8095)
- Remove deprecated
otel.experimental.metrics.cardinality.limitproperty (#8124) - BREAKING bug fix:
GlobUtilandIncludePatternMatching, used in views and declarative config matching, previously were inconsistent in case sensitivity. If a glob char (* or ?) was present, it was evaluated with case sensitivity. If no glob chars were present, it was evaluated with case insensitivity. Now, all are consistently evaluated with case sensitivity. (#8152)
Logs
- Stabilize
LogRecordBuilder.setException(#8089) - Clarify
setTimestampjavadoc for event timestamp behavior (#8104)
Exporters
- OTLP: Fix marshaling for empty string attributes (#8014)
- Prometheus: Update Prometheus client to 1.5.0 (#8080)
- OTLP: Serialize exponential histogram sum as optional double (#8107)
- OTLP: Use
KeyManagerFactory.getDefaultAlgorithm()inTlsUtil.keyManager()(#8122) - OTLP: Ensure proto serializer idCache is cleared when exception is thrown (#8147)
Extensions
- Autoconfigure: Decode plus sign in resource attributes (#8059)
- Declarative config: update to 1.0 schema (#8123)
- Declarative config: add support for setting schema URL (#8028)
- Declarative config: add version mismatch warning (#8069)
- Declarative config: cache component providers in
DeclarativeConfigContext(#8070) - Declarative config: add system property substitution (#8073)
- Declarative config: add exporter customizers (#8081)
- Declarative config: add support for setting internal telemetry version (#8045)
- Deprecate View File Configuration mechanism (#8133)
- Autoconfigure: add property to allow autoconfiguration of SDK telemetry version (#8037)
- Jaeger remote sampler: refactor to leverage senders (#8046)
- Declarative config: document ObjectMapper config (#8075)
- Declarative config: Remove unchecked warning (#8090)
Project tooling
- Add architecture test to detect usage of shared internal code (#6978)
- Replace Xlint deprecation check with custom error-prone check (#8061)
- Enable error-prone's UnnecessarilyFullyQualified check (#8078)
- Small refactoring to make safety clearer (#8083)
- Rework span record benchmark and publish results (#8031)
- Add
LogRecordBenchmark(#8106, #8117)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@adrielp
@andrzejressel
@antonio-mazzini
@anuraaga
@arnav-dasgupta
@Bhagirath00
@blakeli0
@breedx-splk
@carlosalberto
@dashpole
@GerardoGR
@jack-berg
@jaydeluca
@jkwatson
@jmacd
@laurit
@lbarrios
@marcingrzejszczak
@MikeGoldsmith
@mosesn
@PeterF778
@Quaffel
@ruturajjadhav07
@trask
@wglad
@zeitlinger