Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog 1.18.0 #4737

Merged
merged 5 commits into from Sep 9, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
56 changes: 56 additions & 0 deletions CHANGELOG.md
Expand Up @@ -2,6 +2,62 @@

## Unreleased

### SDK

* Added scope attributes to `InstrumentationScopeInfo` accessible
via `InstrumentationScopeInfo#getAttributes()`. Will add the ability to specify scope attributes
in Meter, Tracer, and Logger in a future version.
* BREAKING: Deprecate `InstrumentationScopeInfo#create(String, String, String)`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BREAKING -> DEPRECATION?

Use `InstrumentationScopeInfo#builer(String).setVersion(String).setSchemaUrl(String).build()`
instead.
* Optimize `Resource#merge(Resource)` by returning early if the other resource is empty.

#### Logs

* Fix module name of `opentelemetry-sdk-logs` by changing
from `io.opentelemetry.sdk.extension.logging` to `io.opentelemetry.sdk.logs`.

#### Testing

* Add methods to assert attributes do not contain keys via `AttributeAssert#doesNotContainKey()`.

#### Exporter

* Added ability to specify local IP address in `ZipkinSpanExporter`
via `ZipkinSpanExporterBuilder#setLocalIpAddressSupplier(Supplier<InetAddress>)`.
* Upgrade to OTLP protobuf version 0.19.0.
* OTLP exporters now serialize `InstrumentationScopeInfo#getAttributes()`.
* Stop publishing `opentelemetry-exporter-jaeger-proto`. The `opentelemetry-bom` will include a
constraint on the last published version `1.17.0`. If security issues are discovered, patches will
be published to `1.17.x`.

#### SDK Extensions

* BREAKING: `opentelemetry-sdk-extension-metric-incubator`,
`opentelemetry-sdk-extension-tracing-incubator`, and `opentelemetry-sdk-extension-zpages` merged
into `opentelemetry-sdk-extension-incubator`.
* BREAKING: Move `opentelemetry-sdk-extension-jfr-events`
to [opentelemetry-java-contrib/jfr-events](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/jfr-events).
It will now be published under the
coordinates `io.opentelemetry.contrib:opentelemetry-jfr-events:{version}`.
* BREAKING: Move `opentelemetry-extension-noop-api`
to [opentelemetry-java-contrib/noop-api](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/noop-api).
It will now be published under the
coordinates `io.opentelemetry.contrib:opentelemetry-noop-api:{version}`.
* Improve ECS resource detection to include `aws.ecs.container.arn`, `container.image.name`,
`container.image.tag`, `aws.ecs.container.image.id`, `aws.log.group.arns`, `aws.log.group.names`,
`aws.log.steam.names`, `aws.ecs.task.arn`, `aws.ecs.task.family`, and `aws.ecs.task.revision`.
* Fix resource `container.id` detection when using k8s with containerd v1.5.0+.
* Add experimental `ConditionalResourceProvider` SPI, for conditionally applying resource providers
based on current config and resource.

### Micrometer shim

* BREAKING: Move `opentelemetry-micrometer1-shim`
to [opentelemetry-java-instrumentation/instrumentation/micrometer/micrometer-1.5/library](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/micrometer/micrometer-1.5/library).
It will now be published under the
coordinates `io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5:{version}`.

## Version 1.17.0 (2022-08-12)

### API
Expand Down

This file was deleted.

Expand Up @@ -66,6 +66,7 @@ public ZipkinSpanExporterBuilder setEncoder(BytesEncoder<Span> encoder) {
*
* @param supplier - A supplier that returns an InetAddress that may be null.
* @return this
* @since 1.18.0
*/
public ZipkinSpanExporterBuilder setLocalIpAddressSupplier(Supplier<InetAddress> supplier) {
requireNonNull(supplier, "encoder");
Expand Down
Expand Up @@ -77,7 +77,11 @@ public static InstrumentationScopeInfo empty() {
@Nullable
public abstract String getSchemaUrl();

/** Returns the attributes of this instrumentation scope. */
/**
* Returns the attributes of this instrumentation scope.
*
* @since 1.18.0
*/
public abstract Attributes getAttributes();

InstrumentationScopeInfo() {}
Expand Down
Expand Up @@ -184,7 +184,11 @@ public AttributesAssert containsKey(String key) {
return this;
}

/** Asserts the attributes do not contain the given key. */
/**
* Asserts the attributes do not contain the given key.
*
* @since 1.18.0
*/
public AttributesAssert doesNotContainKey(AttributeKey<?> key) {
if (actual.get(key) != null) {
failWithMessage(
Expand All @@ -194,7 +198,11 @@ public AttributesAssert doesNotContainKey(AttributeKey<?> key) {
return this;
}

/** Asserts the attributes do not contain the given key. */
/**
* Asserts the attributes do not contain the given key.
*
* @since 1.18.0
*/
public AttributesAssert doesNotContainKey(String key) {
boolean containsKey =
actual.asMap().keySet().stream()
Expand Down