Releases: open-telemetry/opentelemetry-java
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
setLoggerConfigurator
support 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
StructuredConfigProperties
toDeclarativeConfigProperties
and move toopentelemetry-api-incubator
. RenameFileConfiguration
toDeclarativeConfiguration
. (#6549)
SDK
- Log warning and adjust when BatchLogRecordProcessor, BatchSpanProcessor
maxExportBatchSize
exceedsmaxQueueSize
. (#7045, #7148) - Fix bug causing
ThrottlingLogger
to log more than once per minute (#7156)
Metrics
- Remove obsolete
SdkMeterProviderUtil#setCardinalitylimit
API (#7169)
Traces
- Fix bug preventing accurate reporting of span event dropped attribute count (#7142)
Exporters
- OTLP: remove support for
otel.java.experimental.exporter.memory_mode
which 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
ExtendedTracer
easier to use (#6943) - Add
ExtendedLogRecordBuilder#setEventName
and 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 updatingTracerConfig
at 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_PROPAGATORS
still 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
Version 1.46.0
SDK
- Remove unused dependencies, cleanup code after stabilizing Value (#6948)
- Explicitly allow null into CompletableResultCode.failExceptionally() (#6963)
Traces
- Fix span setStatus (#6990)
Logs
- Add getters/accessors for readable fields in ReadWriteLogRecord. (#6924)
Exporters
- OTLP: Update to opentelemetry-proto 1.5 (#6999)
- Bugfix - OTLP: Ensure Serializer runtime exceptions are rethrown as IOException (#6969)
- BREAKING - OTLP: Delete experimental OTLP authenticator concept. See OTLP authentication docs for supported solutions. (#6984)
Extensions
- BREAKING - Autoconfigure: Remove support for deprecated otel.experimental.resource.disabled.keys (#6931)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@celikrecep
@happysiddharth
@jack-berg
@jaydeluca
@jhalliday
@jkwatson
@laurit
@robsunday
@steverao
@trask
@zeitlinger
Version 1.45.0
API
- Add convenience method
setAttribute(Attribute<Long>, int)
to SpanBuilder (matching the existing convenience method in Span) (#6884) - Extends TextMapGetter with experimental GetAll() method, implement usage in W3CBaggagePropagator (#6852)
SDK
Traces
- Add synchronization to SimpleSpanProcessor to ensure thread-safe export of spans (#6885)
Metrics
- Lazily initialize ReservoirCells (#6851)
Logs
- Add synchronization to SimpleLogRecordProcessor to ensure thread-safe export of logs (#6885)
Exporters
- OTLP: Update opentelementry-proto to 1.4 (#6906)
- OTLP: Rename internal Marshaler#writeJsonToGenerator method to allow jackson runtimeOnly dependency (#6896)
- OTLP: Fix repeated string serialization for JSON. (#6888)
- OTLP: Fix missing unsafe available check (#6920)
Extensions
- Declarative config: Don't require empty objects when referencing custom components (#6891)
Tooling
- Add javadoc boilerplate internal comment v2 for experimental classes (#6886)
- Update develocity configuration (#6903)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@asafm
@breedx-splk
@edma2
@io7m
@jack-berg
@jamesmoessis
@jaydeluca
@jhalliday
@jkwatson
@jsuereth
@laurit
@ravi-nagendran
@slodha
@Stoyas
@trask
Version 1.44.1
This is a patch release on the previous 1.44.0 release, fixing the issue(s) below.
SDK
Traces
- Fix regression in event attributes (#6865)
Version 1.44.0
API
- Fix ConfigUtil#getString ConcurrentModificationException (#6841)
SDK
Traces
- Stabilize ExceptionEventData (#6795)
Metrics
- Stabilize metric cardinality limits (#6794)
- Refactor metrics internals to remove MeterSharedState (#6845)
Exporters
- Add memory mode option to stdout exporters (#6774)
- Log a warning if OTLP endpoint port is likely incorrect given the protocol (#6813)
- Fix OTLP gRPC retry mechanism for unsuccessful HTTP responses (#6829)
- Add ByteBuffer field type marshaling support (#6686)
- Fix stdout exporter format by adding newline after each export (#6848)
- Enable
reusuable_data
memory mode by default forOtlpGrpc{Signal}Exporter
,OtlpHttp{Signal}Exporter
,OtlpStdout{Signal}Exporter
, andPrometheusHttpServer
(#6799)
Extension
- Rebrand file configuration to declarative configuration in documentation (#6812)
- Fix declarative config
file_format
validation (#6786) - Fix declarative config env substitution by disallowing '}' in default value (#6793)
- Set declarative config default OTLP protocol to http/protobuf (#6800)
- Stabilize autoconfigure disabling of resource keys via
otel.resource.disabled.keys
(#6809)
Tooling
- Run tests on Java 23 (#6825)
- Test Windows in CI (#6824)
- Add error prone checks for internal javadoc and private constructors (#6844)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@breedx-splk
@cyrille-leclerc
@hboutemy
@jack-berg
@jaydeluca
@jhalliday
@JiwonKKang
@jkwatson
@laurit
@neugartf
@OrangeFlag
@trask
@vasantteja
@zeitlinger
Version 1.43.0
API
- Add helper class to capture context using ScheduledExecutorService (#6712)
- Adds Baggage.getEntry(String key) (#6765)
Extensions
- Fix ottracepropagation for short span ids (#6734)
SDK
Metrics
- Optimize advice with FilteredAttributes (#6633)
Exporters
- Add experimental stdout log, metric, trace exporters for printing records to stdout in standard OTLP JSON format. (#6675, #6750)
- Add Marshalers for profiling signal type (#6680)
Extensions
- Add
*Model
suffix to declarative config generated classes. (#6721) - Use autoconfigured ClassLoader to load declarative config (#6725)
- Update declarative config to use opentelemetry-configuration v0.3.0 (#6733)
- Add
StructuredConfigProperties#getStructured
default method, addStructuredConfigProperties.empty()
(#6759)
Testing
- Add context info about wrong span or trace. (#6703)
π Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@ammachado
@breedx-splk
@codeboten
@codefromthecrypt
@jack-berg
@jhalliday
@jkwatson
@laurit
@reta
@shalk
@smola
@stevesea
@trask
@vasantteja
@viveksing
@wgy035
@zeitlinger