Releases: open-telemetry/opentelemetry-java
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
Version 1.52.0
API
Common
- Promote 
ComponentLoaderto newopentelemetry-commonartifact, standardize SPI loading (#7446) 
Context
- LazyStorage passes its ClassLoader when loading ContextStorageProvider SPI (#7424)
 
Incubator
- Add context and severity params to ExtendedLogger#isEnabled (#7268)
 - Add new convenience methods for converting DeclarativeConfigProperties to config model (#7453)
 
SDK
- Add custom stacktrace renderer which is length limit aware (#7281)
 
Metrics
- Propagate flush to PeriodicMetricReader's metricExporter. (#7410)
 
Exporters
- OTLP - JdkHttpSender: ensure proper closure of HttpClient in shutdown method (#7390)
 - OTLP: profile exporters fix and test improvements (#7442)
 - OTLP: Loading Compressor SPI via ComponentLoader configured through setComponentLoader (#7428)
 - Prometheus: add scope schema URL and attributes (#7356)
 - Prometheus: extend prometheus declarative config support to include without_scope_info, with_resource_constant_labels (#6840)
 
Extensions
- Autoconfigure: fix race condition of 
GlobalOpenTelemetryinitialization withAutoConfiguredOpenTelemetrySdkBuilder(#7365) - Declarative config: update to declarative config 1.0-rc.1 (#7436)
 - Declarative config: resolve environment variable substitution for mixed quotes (#7433)
 
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@ArthurSens
@atoulme
@breedx-splk
@dol
@fandreuz
@felixbarny
@github-advanced-security
@indigophox
@jack-berg
@jhalliday
@jkwatson
@JonasKunz
@jsuereth
@laurit
@mznet
@nchen000
@opentelemetrybot
@pellared
@robsunday
@trask
@tylerbenson
@vasantteja
@zeitlinger
Version 1.51.0
API
Context
- Fix context storage provider property name in log message (#7342)
 
SDK
- Experimental configurable exception.* attribute resolution for SdkTracerProvider, SdkLoggerProvider (#7266)
 
Exporters
- All exporters: implement new SemConv exporter health metrics, with configuration API for selecting schema version (#7265)
 - OTLP: Add gRPC export for profiles signal type. (#7301)
 - OTLP: Run JDK HTTP sender on non-daemon threads. (#7322)
 - Prometheus: fix serialization of arrays (#7291)
 - OTLP: exporter tolerates instances of LogRecordData when incubator is present (#7393)
 
Extensions
- Declarative config: Handle instrumentation node changes in yaml config file format 0.4 (#7357)
 
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@alex-kormukhin
@breedx-splk
@fandreuz
@HaloFour
@jack-berg
@jhalliday
@jkwatson
@JonasKunz
@kevinburkesegment
@LaurentTreguier
@LikeTheSalad
@onurkybsi
@opentelemetrybot
@robsunday
@SoftlySplinter
@trask
@zeitlinger
Version 1.50.0
API
Context
Incubator
- Add ExtendedLogRecordBuilder#setException (#7182)
 - Add experimental support for log extended attributes (#7123)
 
SDK
- Remove Java9VersionSpecific clock implementation (#7221)
 - Add addProcessorFirst to SdkTracerProviderBuilder, SdkLoggerProviderBuilder (#7243)
 
Logs
- Add 
setLoggerConfiguratorsupport toLoggerProvider(#7332) 
Metrics
- Add DelegatingMetricData (#7229)
 - Spatial aggregation for async instruments with filtering views (#7264)
 
Exporters
- Prometheus: Add Authenticator support for PrometheusHttpServer (#7225)
 - OTLP: Fix OTLP metric exporter toBuilder() loosing temporality (#7280)
 - OTLP: Allow Otlp*MetricExporter's to publish export stats (#7255)
 
Extensions
- Declarative config: Add support for escaping env var substitution (#7033)
 - Declarative config: update to opentelemetry-configuration 0.4 (#7064)
 - Declarativeconfig: Refactor internals to add DeclarativeConfigContext (#7293)
 
Project tooling
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@asafm
@breedx-splk
@Emily-Jiang
@fandreuz
@gavarava
@iNikem
@jack-berg
@jaydeluca
@jkwatson
@JonasKunz
@laurit
@LikeTheSalad
@onurkybsi
@opentelemetrybot
@ShadabGentle
@SoftlySplinter
@trask
@tsloughter
@tylerbenson
@vasantteja
@zeitlinger
Version 1.49.0
SDK
Trace
- Avoid linear queue.size() calls in span producers by storing queue size separately (#7141)
 
Exporters
- OTLP: Add support for setting exporter executor service (#7152)
 - OTLP: Refine delay jitter for exponential backoff (#7206)
 
Extensions
- Autoconfigure: Remove support for otel.experimental.exporter.otlp.retry.enabled (#7200)
 - Autoconfigure: Add stable cardinality limit property otel.java.metrics.cardinality.limit (#7199)
 - Incubator: Add declarative config model customizer SPI (#7118)
 
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@jack-berg
@jkwatson
@laurit
@MrAlias
@raipc
@stevesea
@trask
@vbedrosova
@YuriyHolinko
@zeitlinger
Version 1.48.0
API
- Add some helpful logging attribute methods to 
LogRecordBuilder(#7089) 
Incubator
- Introduce ConfigProvider API. Rename 
StructuredConfigPropertiestoDeclarativeConfigPropertiesand move toopentelemetry-api-incubator. RenameFileConfigurationtoDeclarativeConfiguration. (#6549) 
SDK
- Log warning and adjust when BatchLogRecordProcessor, BatchSpanProcessor 
maxExportBatchSizeexceedsmaxQueueSize. (#7045, #7148) - Fix bug causing 
ThrottlingLoggerto log more than once per minute (#7156) 
Metrics
- Remove obsolete 
SdkMeterProviderUtil#setCardinalitylimitAPI (#7169) 
Traces
- Fix bug preventing accurate reporting of span event dropped attribute count (#7142)
 
Exporters
- OTLP: remove support for 
otel.java.experimental.exporter.memory_modewhich was previously replaced byotel.java.exporter.memory_mode(#7127) - OTLP: Extract sender parameters to config carrier class (incubating API) (#7151)
 - OTLP: Add support for setting OTLP exporter service class loader (#7150)
 
Tooling
- Update android animalsniffer min API version to 23 (#7153)
 
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@brunobat
@chukunx
@codefromthecrypt
@devilcoolyue
@geoand
@github-advanced-security
@jack-berg
@jaydeluca
@jeanbisutti
@jkwatson
@joffrey-bion
@laurit
@LikeTheSalad
@naumaan123
@pbalint
@step-security-bot
@tealamore
@tongshushan
@trask
@zeitlinger
Version 1.47.0
API
Incubator
- Make 
ExtendedTracereasier to use (#6943) - Add 
ExtendedLogRecordBuilder#setEventNameand corresponding SDK and OTLP serialization (#7012) - BREAKING: Drop event API / SDK (#7053)
 
SDK
- Remove -alpha artifacts from runtime classpath of stable components (#6944)
 
Traces
- Bugfix: Follow spec on span limits, batch processors (#7030)
 - Add experimental 
SdkTracerProvider.setScopeConfigurator(ScopeConfigurator)for updatingTracerConfigat runtime (#7021) 
Profiles
- Add AttributeKeyValue abstraction to common otlp exporters (#7026)
 - Improve profiles attribute table handling (#7031)
 
Exporters
- Interpret timeout zero value as no limit (#7023)
 - Bugfix - OTLP: Fix concurrent span reusable data marshaler (#7041)
 - OTLP: Add ability to customize retry exception predicate (#6991)
 - OTLP: Expand default OkHttp sender retry exception predicate (#7047, #7057)
 
Extensions
- Autoconfigure: Consistent application of exporter customizers when otel.{signal}.exporter=none (#7017)
 - Autoconfigure: Promote EnvironmentResourceProvider to public API (#7052)
 - Autoconfigure: Ensure 
OTEL_PROPAGATORSstill works whenOTEL_SDK_DISABLED=true. (#7062)% 
Testing
- Add W3CBaggagePropagator to 
OpenTelemetryRule,OpenTelemetryExtension. (#7056) 
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@edeweerd1A
@jack-berg
@jackshirazi
@jhalliday
@jkwatson
@Mahoney
@mikeblum
@onurkybsi
@trask
@YuriyHolinko
@zeitlinger