Skip to content

Releases: open-telemetry/opentelemetry-go

Release v1.11.1/v0.33.0

19 Oct 20:02
v1.11.1
2fe8861
Compare
Choose a tag to compare

Added

  • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus registers with a Prometheus registerer on creation. By default, it will register with the default Prometheus default registerer. A non-default registerer can be used by passing the WithRegisterer option. (#3239)
  • Added the WithAggregationSelector option to the go.opentelemetry.io/otel/exporters/prometheus package to change the default AggregationSelector used. (#3341)
  • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus converts the Resource associated with metric exports into a target_info metric. (#3285)

Changed

  • The "go.opentelemetry.io/otel/exporters/prometheus".New function is updated to return an error. It will return an error if the exporter fails to register with Prometheus. (#3239)

Fixed

  • The URL-encoded values from the OTEL_RESOURCE_ATTRIBUTES environment variable are decoded. (#2963)
  • The baggage.NewMember function decodes the value parameter instead of directly using it. This fixes the implementation to be compliant with the W3C specification. (#3226)
  • Slice attributes of the attribute package are now comparable based on their value, not instance. (#3108 #3252)
  • The Shutdown and ForceFlush methods of the "go.opentelemetry.io/otel/sdk/trace".TraceProvider no longer return an error when no processor is registered. (#3268)
  • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus cumulatively sums histogram buckets. (#3281)
  • The sum of each histogram data point is now uniquely exported by the go.opentelemetry.io/otel/exporters/otlpmetric exporters. (#3284, #3293)
  • Recorded values for asynchronous counters (Counter and UpDownCounter) are interpreted as exact, not incremental, sum values by the metric SDK. (#3350, #3278)
  • UpDownCounters are now correctly output as Prometheus gauges in the go.opentelemetry.io/otel/exporters/prometheus exporter. (#3358)
  • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus no longer describes the metrics it will send to Prometheus on startup. Instead the exporter is defined as an "unchecked" collector for Prometheus. This fixes the reader is not registered warning currently emitted on startup. (#3291 #3342)
  • The go.opentelemetry.io/otel/exporters/prometheus exporter now correctly adds _total suffixes to counter metrics. (#3360)
  • The go.opentelemetry.io/otel/exporters/prometheus exporter now adds a unit suffix to metric names. This can be disabled using the WithoutUnits() option added to that package. (#3352)

Release v1.11.0/v0.32.3

12 Oct 17:28
v1.11.0
ff18552
Compare
Choose a tag to compare

Retracts the v0.32.2 version of go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp given they include unresolvable dependencies.

Added

  • Add default User-Agent header to OTLP exporter requests (go.opentelemetry.io/otel/exporters/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlptrace/otlptracehttp). (#3261)

Changed

  • span.SetStatus has been updated such that calls that lower the status are now no-ops. (#3214)
  • Upgrade golang.org/x/sys/unix from v0.0.0-20210423185535-09eb48e85fd7 to v0.0.0-20220919091848-fb04ddd9f9c8.
    This addresses GO-2022-0493. (#3235)

Release v0.32.2 -- Metric SDK (Alpha)

11 Oct 22:01
sdk/metric/v0.32.2
29511a0
Compare
Choose a tag to compare

Added

  • Added an example of using metric views to customize instruments. (#3177)
  • Add default User-Agent header to OTLP exporter requests (go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp). (#3261)

Changed

  • Flush pending measurements with the PeriodicReader in the go.opentelemetry.io/otel/sdk/metric when ForceFlush or Shutdown are called. (#3220)
  • Update histogram default bounds to match the requirements of the latest specification. (#3222)

Fixed

  • Use default view if instrument does not match any registered view of a reader. (#3224, #3237)
  • Return the same instrument every time a user makes the exact same instrument creation call. (#3229, #3251)
  • Return the existing instrument when a view transforms a creation call to match an existing instrument. (#3240, #3251)
  • Log a warning when a conflicting instrument (e.g. description, unit, data-type) is created instead of returning an error. (#3251)
  • The OpenCensus bridge no longer sends empty batches of metrics. (#3263)

Release v0.32.1 -- Metric SDK (Alpha)

22 Sep 19:53
metric/v0.32.1
d7bfe66
Compare
Choose a tag to compare

Changed

  • The Prometheus exporter sanitizes OpenTelemetry instrument names when exporting. Invalid characters are replaced with _. (#3212)

Added

  • The metric portion of the OpenCensus bridge (go.opentelemetry.io/otel/bridge/opencensus) has been reintroduced. (#3192)
  • The OpenCensus bridge example (go.opentelemetry.io/otel/example/opencensus) has been reintroduced. (#3206)

Fixed

  • Updated go.mods to point to valid versions of the sdk. (#3216)
  • Set the MeterProvider resource on all exported metric data. (#3218)

Release v0.32.0 -- Metric SDK (Alpha)

19 Sep 17:34
sdk/metric/v0.32.0
f215b8d
Compare
Choose a tag to compare

Changed

  • The metric SDK in go.opentelemetry.io/otel/sdk/metric is completely refactored to comply with the OpenTelemetry specification. Please see the package documentation for how the new SDK is initialized and configured. (#3175)

Removed

  • The metric portion of the OpenCensus bridge (go.opentelemetry.io/otel/bridge/opencensus) has been removed. A new bridge compliant with the revised metric SDK will be added back in a future release. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/aggregator/aggregatortest package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/aggregator/histogram package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/aggregator/sum package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/aggregator package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/controller/basic package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/controller/controllertest package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/controller/time package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/export/aggregation package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/export package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/metrictest package is removed. A replacement package that supports the new metric SDK will be added back in a future release. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/number package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/processor/basic package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/processor/processortest package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/processor/reducer package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/registry package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/sdkapi package is removed, see the new metric SDK. (#3175)
  • The go.opentelemetry.io/otel/sdk/metric/selector/simple package is removed, see the new metric SDK. (#3175)
  • The "go.opentelemetry.io/otel/sdk/metric".ErrUninitializedInstrument variable was removed. (#3175)
  • The "go.opentelemetry.io/otel/sdk/metric".ErrBadInstrument variable was removed. (#3175)
  • The "go.opentelemetry.io/otel/sdk/metric".Accumulator type was removed, see the MeterProviderin the new metric SDK. (#3175)
  • The "go.opentelemetry.io/otel/sdk/metric".NewAccumulator function was removed, see NewMeterProviderin the new metric SDK. (#3175)
  • The deprecated "go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets function was removed. (#3175)

Release v1.10.0

12 Sep 20:35
v1.10.0
0e6f9c2
Compare
Choose a tag to compare

Added

  • Support Go 1.19. (#3077)
    Include compatibility testing and document support. (#3077)
  • Support the OTLP ExportTracePartialSuccess response; these are passed to the registered error handler. (#3106)
  • Upgrade go.opentelemetry.io/proto/otlp from v0.18.0 to v0.19.0 (#3107)

Changed

  • Fix misidentification of OpenTelemetry SpanKind in OpenTracing bridge (go.opentelemetry.io/otel/bridge/opentracing). (#3096)
  • Attempting to start a span with a nil context will no longer cause a panic. (#3110)
  • All exporters will be shutdown even if one reports an error (#3091)
  • Ensure valid UTF-8 when truncating over-length attribute values. (#3156)

Release v1.9.0/v0.0.3

02 Aug 15:20
v1.9.0
e99a0ac
Compare
Choose a tag to compare

Added

  • Add support for Schema Files format 1.1.x (metric "split" transform) with the new go.opentelemetry.io/otel/schema/v1.1 package. (#2999)
  • Add the go.opentelemetry.io/otel/semconv/v1.11.0 package.
    The package contains semantic conventions from the v1.11.0 version of the OpenTelemetry specification. (#3009)
  • Add the go.opentelemetry.io/otel/semconv/v1.12.0 package.
    The package contains semantic conventions from the v1.12.0 version of the OpenTelemetry specification. (#3010)
  • Add the http.method attribute to HTTP server metric from all go.opentelemetry.io/otel/semconv/* packages. (#3018)

Fixed

  • Invalid warning for context setup being deferred in go.opentelemetry.io/otel/bridge/opentracing package. (#3029)

Release v1.8.0/v0.31.0

08 Jul 18:27
v1.8.0
08ff959
Compare
Choose a tag to compare

1.8.0/0.31.0 - 2022-07-08

Added

  • Add support for opentracing.TextMap format in the Inject and Extract methods
    of the "go.opentelemetry.io/otel/bridge/opentracing".BridgeTracer type. (#2911)

Changed

  • The crosslink make target has been updated to use the go.opentelemetry.io/build-tools/crosslink package. (#2886)
  • In the go.opentelemetry.io/otel/sdk/instrumentation package rename Library to Scope and alias Library as Scope (#2976)
  • Move metric no-op implementation form nonrecording to metric package. (#2866)

Removed

  • Support for go1.16. Support is now only for go1.17 and go1.18 (#2917)

Deprecated

  • The Library struct in the go.opentelemetry.io/otel/sdk/instrumentation package is deprecated.
    Use the equivalent Scope struct instead. (#2977)
  • The ReadOnlySpan.InstrumentationLibrary method from the go.opentelemetry.io/otel/sdk/trace package is deprecated.
    Use the equivalent ReadOnlySpan.InstrumentationScope method instead. (#2977)

Release v1.7.0/v0.30.0

28 Apr 16:01
v1.7.0
a50cf6a
Compare
Choose a tag to compare

Added

  • Add the go.opentelemetry.io/otel/semconv/v1.8.0 package.
    The package contains semantic conventions from the v1.8.0 version of the OpenTelemetry specification. (#2763)
  • Add the go.opentelemetry.io/otel/semconv/v1.9.0 package.
    The package contains semantic conventions from the v1.9.0 version of the OpenTelemetry specification. (#2792)
  • Add the go.opentelemetry.io/otel/semconv/v1.10.0 package.
    The package contains semantic conventions from the v1.10.0 version of the OpenTelemetry specification. (#2842)
  • Added an in-memory exporter to metrictest to aid testing with a full SDK. (#2776)

Fixed

  • Globally delegated instruments are unwrapped before delegating asynchronous callbacks. (#2784)
  • Remove import of testing package in non-tests builds of the go.opentelemetry.io/otel package. (#2786)

Changed

  • The WithLabelEncoder option from the go.opentelemetry.io/otel/exporters/stdout/stdoutmetric package is renamed to WithAttributeEncoder. (#2790)
  • The LabelFilterSelector interface from go.opentelemetry.io/otel/sdk/metric/processor/reducer is renamed to AttributeFilterSelector.
    The method included in the renamed interface also changed from LabelFilterFor to AttributeFilterFor. (#2790)
  • The Metadata.Labels method from the go.opentelemetry.io/otel/sdk/metric/export package is renamed to Metadata.Attributes.
    Consequentially, the Record type from the same package also has had the embedded method renamed. (#2790)

Deprecated

  • The Iterator.Label method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent Iterator.Attribute method instead. (#2790)
  • The Iterator.IndexedLabel method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent Iterator.IndexedAttribute method instead. (#2790)
  • The MergeIterator.Label method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent MergeIterator.Attribute method instead. (#2790)

Removed

  • Removed the Batch type from the go.opentelemetry.io/otel/sdk/metric/metrictest package. (#2864)
  • Removed the Measurement type from the go.opentelemetry.io/otel/sdk/metric/metrictest package. (#2864)

Release metric/v0.29.0

11 Apr 23:49
metric/v0.29.0
33a4673
Compare
Choose a tag to compare

0.29.0 - 2022-04-11

Added

  • The metrics global package was added back into several test files. (#2764)
  • The Meter function is added back to the go.opentelemetry.io/otel/metric/global package.
    This function is a convenience function equivalent to calling global.MeterProvider().Meter(...). (#2750)

Removed

  • Removed module the go.opentelemetry.io/otel/sdk/export/metric.
    Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2720)

Changed

  • Don't panic anymore when setting a global MeterProvider to itself. (#2749)
  • Upgrade go.opentelemetry.io/proto/otlp in go.opentelemetry.io/otel/exporters/otlp/otlpmetric from v0.12.1 to v0.15.0.
    This replaces the use of the now deprecated InstrumentationLibrary and InstrumentationLibraryMetrics types and fields in the proto library with the equivalent InstrumentationScope and ScopeMetrics. (#2748)