Skip to content

Release v1.3.0/v0.26.0

Compare
Choose a tag to compare
@Aneurysm9 Aneurysm9 released this 10 Dec 16:47
· 1018 commits to main since this release
v1.3.0
aedef05

⚠️ Notice ⚠️

We have updated the project minimum supported Go version to 1.16

Added

  • Added an internal Logger.
    This can be used by the SDK and API to provide users with feedback of the internal state.
    To enable verbose logs configure the logger which will print V(1) logs. For debugging information configure to print V(5) logs. (#2343)
  • Add the WithRetry Option and the RetryConfig type to the go.opentelemetry.io/otel/exporter/otel/otlpmetric/otlpmetrichttp package to specify retry behavior consistently. (#2425)
  • Add SpanStatusFromHTTPStatusCodeAndSpanKind to all semconv packages to return a span status code similar to SpanStatusFromHTTPStatusCode, but exclude 4XX HTTP errors as span errors if the span is of server kind. (#2296)

Changed

  • The "go.opentelemetry.io/otel/exporter/otel/otlptrace/otlptracegrpc".Client now uses the underlying gRPC ClientConn to handle name resolution, TCP connection establishment (with retries and backoff) and TLS handshakes, and handling errors on established connections by re-resolving the name and reconnecting. (#2329)
  • The "go.opentelemetry.io/otel/exporter/otel/otlpmetric/otlpmetricgrpc".Client now uses the underlying gRPC ClientConn to handle name resolution, TCP connection establishment (with retries and backoff) and TLS handshakes, and handling errors on established connections by re-resolving the name and reconnecting. (#2425)
  • The "go.opentelemetry.io/otel/exporter/otel/otlpmetric/otlpmetricgrpc".RetrySettings type is renamed to RetryConfig. (#2425)
  • The go.opentelemetry.io/otel/exporter/otel/* gRPC exporters now default to using the host's root CA set if none are provided by the user and WithInsecure is not specified. (#2432)
  • Change resource.Default to be evaluated the first time it is called, rather than on import. This allows the caller the option to update OTEL_RESOURCE_ATTRIBUTES first, such as with os.Setenv. (#2371)

Fixed

  • The go.opentelemetry.io/otel/exporter/otel/* exporters are updated to handle per-signal and universal endpoints according to the OpenTelemetry specification.
    Any per-signal endpoint set via an OTEL_EXPORTER_OTLP_<signal>_ENDPOINT environment variable is now used without modification of the path.
    When OTEL_EXPORTER_OTLP_ENDPOINT is set, if it contains a path, that path is used as a base path which per-signal paths are appended to. (#2433)
  • Basic metric controller updated to use sync.Map to avoid blocking calls (#2381)
  • The go.opentelemetry.io/otel/exporter/jaeger correctly sets the otel.status_code value to be a string of ERROR or OK instead of an integer code. (#2439, #2440)

Deprecated

  • Deprecated the "go.opentelemetry.io/otel/exporter/otel/otlpmetric/otlpmetrichttp".WithMaxAttempts Option, use the new WithRetry Option instead. (#2425)
  • Deprecated the "go.opentelemetry.io/otel/exporter/otel/otlpmetric/otlpmetrichttp".WithBackoff Option, use the new WithRetry Option instead. (#2425)

Removed

  • Remove the metric Processor's ability to convert cumulative to delta aggregation temporality. (#2350)
  • Remove the metric Bound Instruments interface and implementations. (#2399)
  • Remove the metric MinMaxSumCount kind aggregation and the corresponding OTLP export path. (#2423)
  • Metric SDK removes the "exact" aggregator for histogram instruments, as it performed a non-standard aggregation for OTLP export (creating repeated Gauge points) and worked its way into a number of confusing examples. (#2348)