diff --git a/CHANGELOG.md b/CHANGELOG.md index 08f9eb54159..771e4716ff9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,63 @@ # Changelog +## Version 1.15.0 (Unreleased) + +### API + +* Add batch callback API, allowing a single callback to record measurements to multiple metric + instruments. + +### SDK + +#### Metrics + +* `SdkMeterProvider#toString()` now returns a useful string describing configuration. +* Fix bug preventing proper function of Metrics SDK when multiple readers are + present ([#4436](https://github.com/open-telemetry/opentelemetry-java/pull/4436)). +* Fix reporting intervals for metrics for delta + readers ([#4400](https://github.com/open-telemetry/opentelemetry-java/issues/4400)). + +#### Exporter + +* BREAKING: merge all stable OTLP exporters into `opentelemetry-exporter-otlp`. + `opentelemetry-exporter-otlp-trace`, `opentelemetry-exporter-otlp-metrics`, + `opentelemetry-exporter-otlp-http-trace`, and `opentelemetry-exporter-otlp-http-metrics` are no + longer published and their contents have been merged into a single artifact. +* BREAKING: merge log OTLP exporters into `opentelemetry-exporter-otlp-logs`. + `opentelemetry-exporter-otlp-http-logs` is no longer published and its contents have been merged + into a single artifact. +* Upgrade to OTLP protobuf version 0.18.0. +* RetryInterceptor retries on `SocketTimeoutException` with no message. +* Added `JaegerGrpcSpanExporterBuilder#setMeterProvider()`, enabling support of experimental jaeger + span export metrics. +* DEPRECATION: the `opentelemetry-exporter-jaeger-proto` module containing jaeger proto definitions + and corresponding generated classes is deprecated for removal in next major version. +* OTLP gRPC exporters support overriding `:authority` + via `OtlpGrpc*ExporterBuilder#addHeader("host", "my-authority-override")`. + +#### SDK Extensions + +* BREAKING: Move `ConfigureableMetricExporterProvider` + from `opentelemetry-sdk-extension-autoconfigure` to + stable `opentelemetry-sdk-extension-autoconfigure-spi`. +* Autoconfigure now supports multiple values for `otel.metrics.exporter`. +* Autoconfigure now + supports [general attribute limits](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md#attribute-limits), + applicable to span attributes, span event attributes, span link attributes, and log attributes. +* Autoconfigure now supports an experimental option to disable the SDK. + If `otel.experimental.sdk.enabled=true`, `AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()` + returns a minimal (but not noop) `OpenTelemetrySdk`. The same minimal instance is set + to `GlobalOpenTelemetry`. +* New "get or default" methods have been added to `ConfigProperties`. + E.g. `ConfigProperties#getString("otel.metrics.exporter", "otlp")` fetches the value for the + property `otel.metrics.exporter` and returns `otlp` if it is not set. +* Fix bug in `ContainerResource` provider that caused it to throw an exception in some instances + when containerd is used. + +### Micrometer shim + +* Cache descriptions such that metrics with the same name use the first seen description. + ## Version 1.14.0 (2022-05-09) The metrics SDK is stable! New stable artifacts include: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 19a7580fc75..da4bacd43cb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -127,7 +127,6 @@ so you still have to run `spotlessApply` from time to time. * Each API element should have a `@since` tag specifying the minor version when it was released (or the next minor version). * There MUST be NO javadoc errors. -* See [section 7.3.1](https://google.github.io/styleguide/javaguide.html#s7.3.1-javadoc-exception-self-explanatory) in the guide for exceptions to the Javadoc requirement. diff --git a/RELEASING.md b/RELEASING.md index 6e2e0931dcd..7eff4953c98 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,8 +1,9 @@ # OpenTelemetry Release Process -Before releasing, it is a good idea to run `./gradlew japicmp` on the main branch -and verify that there are no unexpected public API changes seen in the `docs/apidiffs/current_vs_latest` -directory. +Before releasing, it is a good idea to run `./gradlew japicmp` on the main branch and verify that +there are no unexpected public API changes seen in the `docs/apidiffs/current_vs_latest` +directory. Additionally, ensure that appropriate `@since` annotations are added to any additions to +the public APIs. When preparing the change log, you can use `git log upstream/v$MAJOR.$((MINOR-1)).x..upstream/v$MAJOR.$MINOR.x --graph --first-parent`