Releases: open-telemetry/opentelemetry-java
Version 1.60.1
This is a patch release on the previous 1.60.0 release, fixing the issue(s) below.
SDK
Extensions
- Autoconfigure: fix warning always emitted (#8157)
Version 1.60.0
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
Version 1.59.0
API
Extensions
- Trace propagators: Deprecate OtTracePropagator (#8020)
- Trace propagators: Deprecate JaegerPropagator (#8019)
SDK
- Move io.opentelemetry.sdk.internal to io.opentelemetry.sdk.common.internal (#8003)
- Always return ExtendedOpenTelemetry when incubator is available (#7991)
Traces
- Fix memory leak in SdkSpan#spanEndingThread (#7984)
Metrics
- Rework and publish metric benchmarks (#8000)
- Update LongLastValueAggregator algo to avoid allocations (#8017)
Testing
- Fix OTel JUnit5 Extension cleanup when using Nested test classes (#7999)
- Add assertion support for Span hasException(null) (#8033)
Exporters
- DEPRECATION:
opentelemetry-exporter-zipkinis now deprecated with the last release planned for 1.65.0 (August 2026) (#7974) - Refactor http, grpc senders and promote to public API (#7782)
Extensions
Project tooling
- Align generate release contributors (#8023)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@austince
@baolongnt
@blueswhisper
@bogdandrutu
@breedx-splk
@brunobat
@gerolf-da
@jack-berg
@jaydeluca
@jkwatson
@laurit
@majanjua-amzn
@michaeljohnalbers
@ps-mir
@trask
@tylerbenson
@zeitlinger
Version 1.58.0
API
Incubator
- Delete GlobalConfigProvider in favor of access via ExtendedOpenTelemetry (#7914)
- Add DeclarativeConfigProperties#get method (#7923)
- Update ConfigProvider#getInstrumentationConfig response to be non-null (#7954)
- Add declarative config utility methods for common operations (#7927)
SDK
Traces
- Implement SDK metrics for trace (#7895, #7930)
- Emit warning when TraceIdRatioBasedSampler is used as child sampler (#7937)
Logs
- Implement SDK metrics for logs (#7931)
Exporters
- Prom exporter update (#7934)
Extensions
- Declarative config: update to opentelemetry-configuration 1.0.0-rc.3 (#7861)
- Declarative config: update jaeger remote sampler to require endpoint, initial_sampler (#7943)
- Declarative config: add support for view unit (#7942)
- Declarative config: add support for new logger config minimum_severity and trace_based properties (#7940)
- Declarative config: add support for composable parent threshold sampler (#7941)
- Declarative config: improve pattern for validating and loading SDK extension plugins (#7947)
Project tooling
- Use develocity build cache in PRs and local builds (#7906)
- Configure japicmp classpath to avoid false positives (#7945)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@breedx-splk
@Gosling-dude
@jack-berg
@jkwatson
@JonasKunz
@SylvainJuge
@trask
@zeitlinger
Version 1.57.0
API
- Add
GlobalOpenTelemetry#getOrNoop,#isSet. Update#getto always returns obfuscated instance (#7819)
Incubating
- Logs: Complex attributes incubating implementation (#7814)
SDK
Logs
- Add minimum severity and trace-based logger configuration (incubating API) (#7529)
Exporters
- OTLP: VarHandle string encoder (#7701)
- OTLP: Fix OkHttpGrpcSender to properly await executor shutdown (#7840)
- OTLP: avoid auto-config warning (#7881)
- OTLP: update error message for missing GrpcSenderProvider dependency (#7884)
Extensions
- Declarative config: add runtime hints for graal VM (#7866)
- Declarative config: add missing warning about discarded value (#7821)
Project tooling
- Update macos version to latest and switch to corretto for testing (#7841)
- Sync Java worflows: Allow re-running prepare release branch workflow (#7845)
- Simplify and standardize renovate custom managers across Java repos (#7846)
- Remove misspell workflow (#7852)
- Fix link checks on main (#7867)
- Add zeitlinger as approver (#7868)
- Move snapshot publishing to daily build (#7886)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@HarshMehta112
@jack-berg
@jaydeluca
@jeanbisutti
@jkwatson
@kevinburkesegment
@laurit
@michaldo
@trask
@zeitlinger
Version 1.56.0
API
Incubator
- Support ExtendedOpenTelemetry in GlobalOpenTelemetry (#7799)
SDK
- Changes to MeterConfig, LoggerConfig, TracerConfig are guaranteed to be eventually visible (#7706)
Metrics
Extensions
- SDK incubator: Add incubator ComposableRuleBasedSampler (#7787)
- SDK incubator: Add incubator ComposableAnnotatingSampler (#7804)
- SDK incubator: Rename ComposableTraceIdRatioBased to ComposableProbability (#7786)
- Declarative config: BREAKING Remove component provider generic type (#7606)
- Declarative config: Add declarative config support for ExemplarFilter (#7769)
- Declarative config: Fix a few declarative configuration bugs (#7807)
Project tooling
- Move to oracle bare metal benchmark runner (#7740)
- Enable Develocity build scans (#7776)
- Document GPG signing key (#7783)
- Update build to use java 21 (#7784)
- Sync repository-settings.md documentation (#7791)
- Fix gradle deprecation warning (#7780)
- Small alignments of workflows across the 6 Java repos (#7806)
- Implement min java version gradle tooling from instrumentation repo (#7801)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@breedx-splk
@brunobat
@jack-berg
@jkwatson
@laurit
@robsunday
@ThomasVitale
@trask
@yogurtearl
@zeitlinger
Version 1.55.0
API
Common
- Improve GraalVM native image compatibility (#7160)
Traces
- Fix
TraceStatekey validation limits to match W3C specification (#7575)
Incubator
- Add
ExtendedOpenTelemetryAPI (#7496) - Add incubator implementation of composite sampling specification (#7626)
SDK
Traces
- Proactively avoid
Unsafeon Java 23+ to avoid triggering JVM warning message (#7691)
Metrics
- Add
setMeterConfigurator()support toMeterProvider(incubating API) (#7346)
Exporters
- OTLP: Configure metric exporter to use SDK's
MeterProviderfor internal metrics (#7541) - OTLP: Suppress logging of
InterruptedExceptionfrom managed OkHttp threads (#7565) - OTLP: Update dependency from
okhttp-jvmback tookhttpfor Gradle users, preservingokhttp-jvmfor Maven users (#7681) - Prometheus: Remove separate
otel_scope_infometric and always add scope labels to data points (#7398) - Prometheus: Update exporter dependencies to use protobuf-free formats (#7664)
Profiling
- Update profiles exporter to support proto v1.8.0-alpha changes (#7638)
- Add abstractions to assist with dictionary table assembly (#7717)
- Add abstractions to assist with sample composition (#7727)
Extensions
- Autoconfigure: Improve exception logging when running in Maven (#7336)
- Declarative configuration: Return
Resource(#7639) - Declarative configuration: Invoke auto-configure listeners (#7654)
- Declarative configuration: Add logging when incompatible types are found (#7693)
Shims
OpenTracing Shim
- Improve log levels in error scenarios (#6832)
Project tooling
- Respect
testJavaVersionproperty when running JMH benchmarks (#7697)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@50c
@anuraaga
@anuragagarwal561994
@ArthurSens
@bidetofevil
@breedx-splk
@brendenehlers
@cbruegg
@cyrille-leclerc
@ericdallo
@fandreuz
@greatvovan
@iNikem
@jack-berg
@jaydeluca
@jeanbisutti
@jhalliday
@jkwatson
@laurit
@LikeTheSalad
@maryliag
@PeterF778
@priettt
@robsunday
@trask
@vidyadharamurthy
@zeitlinger
Version 1.54.1
This is a patch release on the previous 1.54.0 release, fixing the issue(s) below.
SDK
Exporters
- Prometheus: Fix regression in protobuf format export (#7664)
Version 1.54.0
API
Baggage
- Fix guard against ArrayIndexOutOfBoundsException in BaggageCodec (#7239)
SDK
Metrics
- Fix MetricData.getDoubleSumData() ClassCastException with custom implementations (#7597)
Exporters
- Fix HttpExporterBuilder.copy() and GrpcExporterBuilder.copy() to preserve component loader (#7596)
Extensions
- Autoconfigure: Remove support for old EnvironmentResourceProvider package name (#7622)
- Declarative config: Add DeclarativeConfigurationProvider SPI (#7472)
- Declarative config: Pass meter provider to avoid using the global OpenTelemetry instance (#7475)
Project tooling
- Update to Gradle v9 (#7590)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@breedx-splk
@chengchen
@halasz-csaba
@jack-berg
@jaydeluca
@jkwatson
@laurit
@opentelemetrybot
@rlacksgus97
@robsunday
@trask
@xiangtianyu
@zeitlinger
Version 1.53.0
SDK
- File based config will log the wrong file format, when applicable. (#7498)
Exporters
- Change
okhttpdependency tookhttp-jvm, which fixes missing class failures in transitive dependencies. (#7517)
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@jack-berg
@jaydeluca
@jkwatson
@laurit
@steffan-westcott
@the-clam
@trask
@zeitlinger