opentelemetry-java v1.65.0
opentelemetry-java v1.65.0
NOTE: The opentelemetry-exporter-zipkin artifact has stopped being published. It was deprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector exporter.
API
- Ignore empty baggage keys in
ImmutableBaggage.put(#8658) - Use
NumberFormatExceptionin baggage decoder (#8593) - Fix
TraceStateBuilder.removecorrupting the builder when the same key is removed twice (#8613)
Incubating
- Add bound instrument APIs (
BoundLongCounter,BoundDoubleCounter,BoundLongHistogram,BoundDoubleHistogram,BoundLongUpDownCounter,BoundDoubleUpDownCounter,BoundLongGauge,BoundDoubleGauge) to the incubator metrics API (#8527)
Extensions
- Trace propagators: Fix
JaegerPropagatorbaggage header key case sensitivity (#8496) - Trace propagators: Do not overwrite existing baggage with empty baggage in
JaegerPropagator(#8632) - Trace propagators: Skip empty baggage keys in
OtTracePropagatorextract (#8631) - Trace propagators: Stop parsing a
jaeger-baggageheader after 64 tokens, including malformed tokens (#8702)
SDK
- Update SDK attributes implementation (
AttributesMap) to enforce last-value-win semantics based on string value ofAttributeKey.getKey()(#8548)
Traces
- Add
Samplershutdown lifecycle:Samplernow extendsCloseableand exposes a defaultshutdown()invoked when theSdkTracerProvideris shut down;JaegerRemoteSamplerimplements it to stop its polling executor (#8574)
Metrics
- Gate
PeriodicMetricReaderself-observability metrics by internal telemetry version (#8597) - Record
error.typeon failed collections inPeriodicMetricReader(#8650) - Testing: Fix
LongExemplarAssert.hasFilteredAttributesSatisfyingExactlyto enforce exact attribute matching (#8518)
Logs
- Fix
ReadWriteLogRecorddefaultgetObservedTimestampEpochNanosreturning the record timestamp (#8504)
Profiles
- Fix profiles data model attribute count parameter name and timestamp doc unit (#8514)
Exporters
- WARNING Zipkin: Delete
opentelemetry-exporter-zipkin; the artifact is no longer published (#8677) - OTLP: Use HTTP error response bodies in
HttpExporterwarning logs (#8428) - OTLP: Fix
OkHttpHttpSendermTLS when using the platform default trust store (#8565) - OTLP: Fix sign extension on
LogRecordflags in the low-allocation log marshaler (#8493) - OTLP: Standardize
OkHttpHttpSender,JdkHttpSender, andUpstreamGrpcSendershutdown to await executor/channel termination (#8495, #8627, #8624) - OTLP: Log the underlying except/ion when a gRPC response frame is invalid (#8626)
- OTLP: Avoid the unsafe string encoder on Android (#8637)
- Prometheus: Merge colliding Prometheus label values (#8364)
- Prometheus: Fix
PrometheusHttpServer.toBuilder()dropping the configured default handler (#8619) - Logging: Output event name in
SystemOutLogRecordExporter(#8609) - Logging: Include aggregation temporality in
LoggingMetricExportertoString(#8623)
Extensions
- Autoconfigure: Avoid exposing configuration values in error messages (#8669)
- Declarative config: Fix Jaeger sampler polling interval configuration (#8668)
- Declarative config: Remove duplicate
getStringListresolver inDeclarativeConfigPropertyUtil(#8572) - Declarative config: Replace
jsonschema2pojowith a hand-rolled POJO generator (#8600) - Incubator: Restore compliance between composite samplers code and the spec (#8450)
Shims
- DEPRECATION Deprecate the OpenCensus shim public API (#8674)
- OpenCensus: Preserve OpenCensus status description when converting to OpenTelemetry (#8511)
- OpenCensus: Add links to the OpenTelemetry span instead of logging a warning and dropping them (#8635)
- OpenTracing: Return
nullfromTracerShimextract when the carrier has no span context (#8505) - OpenTracing: Return the extracted
SpanContextwhen it is sampled but invalid (#8634)
Project tooling
- Pin japicmp baseline in
version.gradle.kts(#8591) - Update contributing guide in response to feedback (#8655)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@abdessattar23 @ADITYA-CODE-SOURCE @anoopjb @breedx-splk @calohmn @ChenX1993 @cijothomas @Dainerx @Debashismitra01 @EvgeniiR @fossadvocate86 @jack-berg @jaydeluca @jkwatson @kevinburkesegment @LarryHu0217 @LikeTheSalad @maryliag @NithinU2802 @opentelemetry-pr-dashboard @PeterF778 @prasadw @psx95 @Rajkaran-122 @Sabaev @Teseus84 @thswlsqls @TimurRakhmatullin86 @trask @vadyanuch13-ai @zeitlinger
Source open-telemetry/opentelemetry-java ·
v1.65.0· 2026-08-07 · upstream release
Mirrored verbatim for indexing. All rights belong to the upstream project.
Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.