Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,112 @@

## Unreleased

### API

* Support W3C trace context random flag
([#8012](https://github.com/open-telemetry/opentelemetry-java/pull/8012))
* Clarify that `SpanBuilder.setAttribute` allows null values
([#8072](https://github.com/open-telemetry/opentelemetry-java/pull/8072))

#### Incubating

* Implement environment variable context propagation carriers
([#8074](https://github.com/open-telemetry/opentelemetry-java/pull/8074))
* Deprecate `ExtendedAttributes`, `ExtendedAttributeKey`, `ExtendedAttributeType`,
`ExtendedAttributesBuilder`
([#8060](https://github.com/open-telemetry/opentelemetry-java/pull/8060))
* Deprecate `peerServiceMapping` accessor from `InstrumentationConfigUtil`
([#8088](https://github.com/open-telemetry/opentelemetry-java/pull/8088))

### SDK

#### Traces

* Disable warning when using `TraceIdRatioBasedSampler` as root sampler
([#8065](https://github.com/open-telemetry/opentelemetry-java/pull/8065))
* User-supplied attributes take precedence over exception-derived attributes
([#7993](https://github.com/open-telemetry/opentelemetry-java/pull/7993))
* Exclude META-INF/maven from traces SDK shaded dependencies
([#8096](https://github.com/open-telemetry/opentelemetry-java/pull/8096))
* Fix inverted condition in LegacySpanProcessorInstrumentation#finishSpans
([#8145](https://github.com/open-telemetry/opentelemetry-java/pull/8145))

#### Metrics

* Split out cumulative vs. delta storage
([#8015](https://github.com/open-telemetry/opentelemetry-java/pull/8015))
* Add metrics for `PeriodicMetricReader`
([#8038](https://github.com/open-telemetry/opentelemetry-java/pull/8038))
* Allow configuring min/max in histograms
([#8095](https://github.com/open-telemetry/opentelemetry-java/pull/8095))
* Remove deprecated `otel.experimental.metrics.cardinality.limit` property
([#8124](https://github.com/open-telemetry/opentelemetry-java/pull/8124))

#### Logs

* Stabilize `LogRecordBuilder.setException`
([#8089](https://github.com/open-telemetry/opentelemetry-java/pull/8089))
* Clarify `setTimestamp` javadoc for event timestamp behavior
([#8104](https://github.com/open-telemetry/opentelemetry-java/pull/8104))

#### Exporters

* OTLP: Fix marshaling for empty string attributes
([#8014](https://github.com/open-telemetry/opentelemetry-java/pull/8014))
* Prometheus: Update Prometheus client to 1.5.0
([#8080](https://github.com/open-telemetry/opentelemetry-java/pull/8080))
* OTLP: Serialize exponential histogram sum as optional double
([#8107](https://github.com/open-telemetry/opentelemetry-java/pull/8107))
* OTLP: Use `KeyManagerFactory.getDefaultAlgorithm()` in `TlsUtil.keyManager()`
([#8122](https://github.com/open-telemetry/opentelemetry-java/pull/8122))
* OTLP: Ensure proto serializer idCache is cleared when exception is thrown
([#8147](https://github.com/open-telemetry/opentelemetry-java/pull/8147))

#### Extensions

* Autoconfigure: Decode plus sign in resource attributes
([#8059](https://github.com/open-telemetry/opentelemetry-java/pull/8059))
* Declarative config: update to 1.0 schema
([#8123](https://github.com/open-telemetry/opentelemetry-java/pull/8123))
* Declarative config: add support for setting schema URL
([#8028](https://github.com/open-telemetry/opentelemetry-java/pull/8028))
* Declarative config: add version mismatch warning
([#8069](https://github.com/open-telemetry/opentelemetry-java/pull/8069))
* Declarative config: cache component providers in `DeclarativeConfigContext`
([#8070](https://github.com/open-telemetry/opentelemetry-java/pull/8070))
* Declarative config: add system property substitution
([#8073](https://github.com/open-telemetry/opentelemetry-java/pull/8073))
* Declarative config: add exporter customizers
([#8081](https://github.com/open-telemetry/opentelemetry-java/pull/8081))
* Declarative config: add support for setting internal telemetry version
([#8045](https://github.com/open-telemetry/opentelemetry-java/pull/8045))
* Deprecate View File Configuration mechanism
([#8133](https://github.com/open-telemetry/opentelemetry-java/pull/8133))
* Autoconfigure: add property to allow autoconfiguration of SDK telemetry version
([#8037](https://github.com/open-telemetry/opentelemetry-java/pull/8037))
* Jaeger remote sampler: refactor to leverage senders
([#8046](https://github.com/open-telemetry/opentelemetry-java/pull/8046))
* Declarative config: document ObjectMapper config
([#8075](https://github.com/open-telemetry/opentelemetry-java/pull/8075))
* Declarative config: Remove unchecked warning
([#8090](https://github.com/open-telemetry/opentelemetry-java/pull/8090))

### Project tooling

* Add architecture test to detect usage of shared internal code
([#6978](https://github.com/open-telemetry/opentelemetry-java/pull/6978))
* Replace Xlint deprecation check with custom error-prone check
([#8061](https://github.com/open-telemetry/opentelemetry-java/pull/8061))
* Enable error-prone's UnnecessarilyFullyQualified check
([#8078](https://github.com/open-telemetry/opentelemetry-java/pull/8078))
* Small refactoring to make safety clearer
([#8083](https://github.com/open-telemetry/opentelemetry-java/pull/8083))
* Rework span record benchmark and publish results
([#8031](https://github.com/open-telemetry/opentelemetry-java/pull/8031))
* Add `LogRecordBenchmark`
([#8106](https://github.com/open-telemetry/opentelemetry-java/pull/8106),
[#8117](https://github.com/open-telemetry/opentelemetry-java/pull/8117))

## Version 1.59.0 (2026-02-06)

### API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ default LogRecordBuilder setEventName(String eventName) {
/**
* Set {@code exception.type}, {@code exception.message}, and {@code exception.stacktrace}
* attributes based on the {@code throwable}.
*
* @since 1.60.0
*/
default LogRecordBuilder setException(Throwable throwable) {
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ static TraceFlags fromByte(byte traceFlagsByte) {
*
* @return {@code true} if the randomTraceId bit is on for this {@link TraceFlags}, otherwise
* {@code false}.
* @since 1.60.0
*/
default boolean isTraceIdRandom() {
return false;
Expand All @@ -102,7 +103,11 @@ default boolean isTraceIdRandom() {
*/
byte asByte();

/** Returns an instance of {@link TraceFlagsBuilder} for {@link TraceFlags}. */
/**
* Returns an instance of {@link TraceFlagsBuilder} for {@link TraceFlags}.
*
* @since 1.60.0
*/
static TraceFlagsBuilder builder() {
return ImmutableTraceFlags.DEFAULT;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
*
* <p>Implementation note: no new objects are created by the methods defined by this interface when
* the default implementation, {@link ImmutableTraceFlags}, is used.
*
* @since 1.60.0
*/
public interface TraceFlagsBuilder {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ static Aggregation explicitBucketHistogram(List<Double> bucketBoundaries) {
* Aggregates measurements into an explicit bucket {@link MetricDataType#HISTOGRAM}.
*
* @param options histogram options
* @since 1.60.0
*/
static Aggregation explicitBucketHistogram(ExplicitBucketHistogramOptions options) {
List<Double> boundaries = options.getBucketBoundaries();
Expand Down Expand Up @@ -122,6 +123,7 @@ static Aggregation base2ExponentialBucketHistogram(int maxBuckets, int maxScale)
* Aggregates measurements into a base-2 {@link MetricDataType#EXPONENTIAL_HISTOGRAM}.
*
* @param options histogram options
* @since 1.60.0
*/
static Aggregation base2ExponentialBucketHistogram(Base2ExponentialHistogramOptions options) {
return Base2ExponentialHistogramAggregation.create(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* Options for configuring base-2 exponential histogram aggregations.
*
* @see Aggregation#base2ExponentialBucketHistogram(Base2ExponentialHistogramOptions)
* @since 1.60.0
*/
@AutoValue
@Immutable
Expand Down Expand Up @@ -57,7 +58,11 @@ public static Builder builder() {
/** Returns whether min and max values should be recorded. Defaults to {@code true}. */
public abstract boolean getRecordMinMax();

/** Builder for {@link Base2ExponentialHistogramOptions}. */
/**
* Builder for {@link Base2ExponentialHistogramOptions}.
*
* @since 1.60.0
*/
@AutoValue.Builder
public abstract static class Builder {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* Options for configuring explicit bucket histogram aggregations.
*
* @see Aggregation#explicitBucketHistogram(ExplicitBucketHistogramOptions)
* @since 1.60.0
*/
@AutoValue
@Immutable
Expand Down Expand Up @@ -46,7 +47,11 @@ public static Builder builder() {
/** Returns whether min and max values should be recorded. Defaults to {@code true}. */
public abstract boolean getRecordMinMax();

/** Builder for {@link ExplicitBucketHistogramOptions}. */
/**
* Builder for {@link ExplicitBucketHistogramOptions}.
*
* @since 1.60.0
*/
@AutoValue.Builder
public abstract static class Builder {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,8 @@ public <T> LogRecordDataAssert hasBodyField(AttributeKey<T> key, T value) {
/**
* Asserts the log has exception attributes for the given {@link Throwable}. The stack trace is
* not matched against.
*
* @since 1.60.0
*/
@SuppressWarnings("NullAway")
public LogRecordDataAssert hasException(Throwable exception) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ static IdGenerator random() {
* "https://www.w3.org/TR/trace-context-2/#random-trace-id-flag">Random TraceId flag</a>.
*
* @return true if the generated TraceIds are random
* @since 1.60.0
*/
default boolean generatesRandomTraceIds() {
return false;
Expand Down
Loading