Skip to content
Open
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
59 changes: 57 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,67 @@

## Unreleased

### API

* Stabilize `isEnabled()` on `Tracer`, `Logger`, and metric instruments
([#8200](https://github.com/open-telemetry/opentelemetry-java/pull/8200))

#### Incubating

* **BREAKING** Update `EnvironmentGetter` and `EnvironmentSetter` key normalization to reflect spec
changes
([#8233](https://github.com/open-telemetry/opentelemetry-java/pull/8233))

### SDK

#### Traces

* Retain propagated context when generating random trace IDs
([#8263](https://github.com/open-telemetry/opentelemetry-java/pull/8263))
* Add rate-limited warning log when `BatchSpanProcessor` drops spans
([#8167](https://github.com/open-telemetry/opentelemetry-java/pull/8167))

#### Metrics

* Track series start time per aggregator rather than at `SdkMeterProvider` creation time
([#8180](https://github.com/open-telemetry/opentelemetry-java/pull/8180))
* Capture context class loader during async callback registration
([#8091](https://github.com/open-telemetry/opentelemetry-java/pull/8091))
* Make include/exclude work correctly with empty (but non-null) lists
([#8185](https://github.com/open-telemetry/opentelemetry-java/pull/8185))

#### Logs

* Fix condition for recording successful log processing metrics
([#8226](https://github.com/open-telemetry/opentelemetry-java/pull/8226))

#### Exporters

* OTLP: add configurable bounds to response body reading
([#8224](https://github.com/open-telemetry/opentelemetry-java/pull/8224))
* OTLP: only throw invalid response exception when gRPC response size < 5 bytes
([#8194](https://github.com/open-telemetry/opentelemetry-java/pull/8194))
* OTLP: remove duplicate FINEST-level error logging in gRPC exporter
([#8216](https://github.com/open-telemetry/opentelemetry-java/pull/8216))
* OTLP Profiles: clean up profile signal exporters for consistency
([#8172](https://github.com/open-telemetry/opentelemetry-java/pull/8172))

#### Extensions

* Autoconfigure: fix warning always emitted
([#8157](https://github.com/open-telemetry/opentelemetry-java/pull/8157))
* **BREAKING** Autoconfigure: remove deprecated `ComponentLoader` class (use
`io.opentelemetry.common.ComponentLoader` instead)
([#8243](https://github.com/open-telemetry/opentelemetry-java/pull/8243))
* Declarative config: fix `DeclarativeConfigProperties` javadoc to not throw exceptions
([#8079](https://github.com/open-telemetry/opentelemetry-java/pull/8079))
* Declarative config: resource attribute filtering should include attributes by default
([#8177](https://github.com/open-telemetry/opentelemetry-java/pull/8177))
* Autoconfigure: restructure SDK incubator to not depend on autoconfigure internals
([#8242](https://github.com/open-telemetry/opentelemetry-java/pull/8242))

### Project tooling

* Disable Gradle build cache on releases to mitigate supply chain risk
([#8254](https://github.com/open-telemetry/opentelemetry-java/pull/8254))

## Version 1.60.1 (2026-03-08)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,18 @@ public interface Logger {
* <p>This allows callers to avoid unnecessary compute when nothing is consuming the data. Because
* the response is subject to change over the application, callers should call this before each
* call to {@link #logRecordBuilder()}.
*
* @since 1.61.0
*/
default boolean isEnabled(Severity severity, Context context) {
return true;
}

/** Overload of {@link #isEnabled(Severity, Context)} assuming {@link Context#current()}. */
/**
* Overload of {@link #isEnabled(Severity, Context)} assuming {@link Context#current()}.
*
* @since 1.61.0
*/
default boolean isEnabled(Severity severity) {
return isEnabled(severity, Context.current());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface DoubleCounter {
* the response is subject to change over the application, callers should call this before each
* call to {@link #add(double)}, {@link #add(double, Attributes)}, or {@link #add(double,
* Attributes, Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface DoubleGauge {
* the response is subject to change over the application, callers should call this before each
* call to {@link #set(double)}, {@link #set(double, Attributes)}, or {@link #set(double,
* Attributes, Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface DoubleHistogram {
* the response is subject to change over the application, callers should call this before each
* call to {@link #record(double)}, {@link #record(double, Attributes)}, or {@link #record(double,
* Attributes, Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface DoubleUpDownCounter {
* the response is subject to change over the application, callers should call this before each
* call to {@link #add(double)}, {@link #add(double, Attributes)}, or {@link #add(double,
* Attributes, Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface LongCounter {
* the response is subject to change over the application, callers should call this before each
* call to {@link #add(long)}, {@link #add(long, Attributes)}, or {@link #add(long, Attributes,
* Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface LongGauge {
* the response is subject to change over the application, callers should call this before each
* call to {@link #set(long)}, {@link #set(long, Attributes)}, or {@link #set(long, Attributes,
* Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface LongHistogram {
* the response is subject to change over the application, callers should call this before each
* call to {@link #record(long)}, {@link #record(long, Attributes)}, or {@link #record(long,
* Attributes, Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ public interface LongUpDownCounter {
* the response is subject to change over the application, callers should call this before each
* call to {@link #add(long)}, {@link #add(long, Attributes)}, or {@link #add(long, Attributes,
* Context)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ public interface Tracer {
* <p>This allows callers to avoid unnecessary compute when nothing is consuming the data. Because
* the response is subject to change over the application, callers should call this before each
* call to {@link #spanBuilder(String)}.
*
* @since 1.61.0
*/
default boolean isEnabled() {
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ static ComponentLoader forClassLoader(ClassLoader classLoader) {
/**
* Convenience method to load a list of SPI implementations rather than the iterable returned by
* {@link #load(Class)}.
*
* @since 1.61.0
*/
static <T> List<T> loadList(ComponentLoader componentLoader, Class<T> spiClass) {
List<T> result = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ default int order() {
return 0;
}

/** Convenience method to load an ordered list of SPIs implementing {@link Ordered}. */
/**
* Convenience method to load an ordered list of SPIs implementing {@link Ordered}.
*
* @since 1.61.0
*/
static <T extends Ordered> List<T> loadOrderedList(
ComponentLoader componentLoader, Class<T> spiClass) {
List<T> result = new ArrayList<>(ComponentLoader.loadList(componentLoader, spiClass));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ public JaegerRemoteSamplerBuilder setInitialSampler(Sampler initialSampler) {
/**
* Sets the maximum number of bytes to read from a sampling strategy response body. If unset,
* defaults to 4 MiB. Must be positive.
*
* @since 1.61.0
*/
public JaegerRemoteSamplerBuilder setMaxSamplingStrategyResponseBodySize(long bytes) {
Utils.checkArgument(bytes > 0, "maxSamplingStrategyResponseBodySize must be positive");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ public interface GrpcSenderConfig {
*
* <p>Warning: setting a high or unbounded limit allows a malicious or misconfigured server to
* cause unbounded heap allocation, potentially leading to out-of-memory errors.
*
* @since 1.61.0
*/
default long getMaxResponseBodySize() {
return 4 * 1024L * 1024L;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ public interface HttpSenderConfig {
*
* <p>Warning: setting a high or unbounded limit allows a malicious or misconfigured server to
* cause unbounded heap allocation, potentially leading to out-of-memory errors.
*
* @since 1.61.0
*/
default long getMaxResponseBodySize() {
return 4 * 1024L * 1024L;
Expand Down
Loading