API
- Support W3C trace context random flag (#8012)
- Clarify that
SpanBuilder.setAttribute allows null values (#8072)
Incubating
- Implement environment variable context propagation carriers (#8074)
- Deprecate
ExtendedAttributes, ExtendedAttributeKey, ExtendedAttributeType, ExtendedAttributesBuilder (#8060)
- Deprecate
peerServiceMapping accessor from InstrumentationConfigUtil (#8088)
SDK
Traces
- Disable warning when using
TraceIdRatioBasedSampler as 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.limit property (#8124)
- BREAKING bug fix:
GlobUtil and IncludePatternMatching, 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
setTimestamp javadoc 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() in TlsUtil.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