Skip to content

Releases: open-telemetry/opentelemetry-go

Release v1.19.0-rc.1/v0.42.0-rc.1

14 Sep 20:11
v1.19.0-rc.1
2ee71fd
Compare
Choose a tag to compare

This is a release candidate for the v1.19.0/v0.42.0 release. That release is expected to include the v1 release of the OpenTelemetry Go metric SDK and will provide stability guarantees of that SDK. See our versioning policy for more information about these stability guarantees.

Changed

  • Allow '/' characters in metric instrument names. (#4501)

Fixed

  • In go.opentelemetry.op/otel/exporters/prometheus, don't try to create the Prometheus metric on every Collect if we know the scope is invalid. (#4499)

New Contributors

Full Changelog: v1.18.0...v1.19.0-rc.1

Release v1.18.0/v0.41.0/v0.0.6

12 Sep 15:00
v1.18.0
4242228
Compare
Choose a tag to compare

This release drops the compatibility guarantee of Go 1.19.

Added

  • Add WithProducer option in go.opentelemetry.op/otel/exporters/prometheus to restore the ability to register producers on the prometheus exporter's manual reader. (#4473)
  • Add IgnoreValue option in go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest to allow ignoring values when comparing metrics. (#4447)

Deprecated

  • The NewMetricExporter in go.opentelemetry.io/otel/bridge/opencensus was deprecated in v0.35.0 (#3541).
    The deprecation notice format for the function has been corrected to trigger Go documentation and build tooling. (#4470)

Removed

  • Removed the deprecated go.opentelemetry.io/otel/exporters/jaeger package. (#4467)
  • Removed the deprecated go.opentelemetry.io/otel/example/jaeger package. (#4467)
  • Removed the deprecated go.opentelemetry.io/otel/sdk/metric/aggregation package. (#4468)
  • Removed the deprecated internal packages in go.opentelemetry.io/otel/exporters/otlp and its sub-packages. (#4469)
  • Dropped guaranteed support for versions of Go less than 1.20. (#4481)

New Contributors

Full Changelog: v1.17.0...v1.18.0

Release v1.17.0/v0.40.0/v0.5.0

28 Aug 14:56
v1.17.0
3c476ce
Compare
Choose a tag to compare

Added

  • Export the ManualReader struct in go.opentelemetry.io/otel/sdk/metric. (#4244)
  • Export the PeriodicReader struct in go.opentelemetry.io/otel/sdk/metric. (#4244)
  • Add support for exponential histogram aggregations.
    A histogram can be configured as an exponential histogram using a view with "go.opentelemetry.io/otel/sdk/metric".ExponentialHistogram as the aggregation. (#4245)
  • Export the Exporter struct in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4272)
  • Export the Exporter struct in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4272)
  • The exporters in go.opentelemetry.io/otel/exporters/otlp/otlpmetric now support the OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE environment variable. (#4287)
  • Add WithoutCounterSuffixes option in go.opentelemetry.io/otel/exporters/prometheus to disable addition of _total suffixes. (#4306)
  • Add info and debug logging to the metric SDK in go.opentelemetry.io/otel/sdk/metric. (#4315)
  • The go.opentelemetry.io/otel/semconv/v1.21.0 package.
    The package contains semantic conventions from the v1.21.0 version of the OpenTelemetry Semantic Conventions. (#4362)
  • Accept 201 to 299 HTTP status as success in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp and go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4365)
  • Document the Temporality and Aggregation methods of the "go.opentelemetry.io/otel/sdk/metric".Exporter" need to be concurrent safe. (#4381)
  • Expand the set of units supported by the Prometheus exporter, and don't add unit suffixes if they are already present in go.opentelemetry.op/otel/exporters/prometheus (#4374)
  • Move the Aggregation interface and its implementations from go.opentelemetry.io/otel/sdk/metric/aggregation to go.opentelemetry.io/otel/sdk/metric. (#4435)
  • The exporters in go.opentelemetry.io/otel/exporters/otlp/otlpmetric now support the OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION environment variable. (#4437)
  • Add the NewAllowKeysFilter and NewDenyKeysFilter functions to go.opentelemetry.io/otel/attribute to allow convenient creation of allow-keys and deny-keys filters. (#4444)

Changed

  • Starting from v1.21.0 of semantic conventions, go.opentelemetry.io/otel/semconv/{version}/httpconv and go.opentelemetry.io/otel/semconv/{version}/netconv packages will no longer be published. (#4145)
  • Log duplicate instrument conflict at a warning level instead of info in go.opentelemetry.io/otel/sdk/metric. (#4202)
  • Return an error on the creation of new instruments in go.opentelemetry.io/otel/sdk/metric if their name doesn't pass regexp validation. (#4210)
  • NewManualReader in go.opentelemetry.io/otel/sdk/metric returns *ManualReader instead of Reader. (#4244)
  • NewPeriodicReader in go.opentelemetry.io/otel/sdk/metric returns *PeriodicReader instead of Reader. (#4244)
  • Count the Collect time in the PeriodicReader timeout in go.opentelemetry.io/otel/sdk/metric. (#4221)
  • The function New in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc returns *Exporter instead of "go.opentelemetry.io/otel/sdk/metric".Exporter. (#4272)
  • The function New in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp returns *Exporter instead of "go.opentelemetry.io/otel/sdk/metric".Exporter. (#4272)
  • If an attribute set is omitted from an async callback, the previous value will no longer be exported in go.opentelemetry.io/otel/sdk/metric. (#4290)
  • If an attribute set is observed multiple times in an async callback in go.opentelemetry.io/otel/sdk/metric, the values will be summed instead of the last observation winning. (#4289)
  • Allow the explicit bucket histogram aggregation to be used for the up-down counter, observable counter, observable up-down counter, and observable gauge in the go.opentelemetry.io/otel/sdk/metric package. (#4332)
  • Restrict Meters in go.opentelemetry.io/otel/sdk/metric to only register and collect instruments it created. (#4333)
  • PeriodicReader.Shutdown and PeriodicReader.ForceFlush in go.opentelemetry.io/otel/sdk/metric now apply the periodic reader's timeout to the operation if the user provided context does not contain a deadline. (#4356, #4377)
  • Upgrade all use of go.opentelemetry.io/otel/semconv to use v1.21.0. (#4408)
  • Increase instrument name maximum length from 63 to 255 characters in go.opentelemetry.io/otel/sdk/metric. (#4434)
  • Add go.opentelemetry.op/otel/sdk/metric.WithProducer as an Option for "go.opentelemetry.io/otel/sdk/metric".NewManualReader and "go.opentelemetry.io/otel/sdk/metric".NewPeriodicReader. (#4346)

Removed

  • Remove Reader.RegisterProducer in go.opentelemetry.io/otel/metric.
    Use the added WithProducer option instead. (#4346)
  • Remove Reader.ForceFlush in go.opentelemetry.io/otel/metric.
    Notice that PeriodicReader.ForceFlush is still available. (#4375)

Fixed

  • Correctly format log messages from the go.opentelemetry.io/otel/exporters/zipkin exporter. (#4143)
  • Log an error for calls to NewView in go.opentelemetry.io/otel/sdk/metric that have empty criteria. (#4307)
  • Fix "go.opentelemetry.io/otel/sdk/resource".WithHostID() to not set an empty host.id. (#4317)
  • Use the instrument identifying fields to cache aggregators and determine duplicate instrument registrations in go.opentelemetry.io/otel/sdk/metric. (#4337)
  • Detect duplicate instruments for case-insensitive names in go.opentelemetry.io/otel/sdk/metric. (#4338)
  • The ManualReader will not panic if AggregationSelector returns nil in go.opentelemetry.io/otel/sdk/metric. (#4350)
  • If a Reader's AggregationSelector returns nil or DefaultAggregation the pipeline will use the default aggregation. (#4350)
  • Log a suggested view that fixes instrument conflicts in go.opentelemetry.io/otel/sdk/metric. (#4349)
  • Fix possible panic, deadlock and race condition in batch span processor in go.opentelemetry.io/otel/sdk/trace. (#4353)
  • Improve context cancellation handling in batch span processor's ForceFlush in go.opentelemetry.io/otel/sdk/trace. (#4369)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal from go.opentelemetry.io/otel/exporters/otlp/internal using gotmpl. (#4397, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal using gotmpl. (#4404, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal using gotmpl. (#4407, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal using gotmpl. (#4400, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal using gotmpl. (#4401, #3846)
  • Do not block the metric SDK when OTLP metric exports are blocked in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#3925, #4395)
  • Do not append _total if the counter already has that suffix for the Prometheus exproter in go.opentelemetry.io/otel/exporter/prometheus. (#4373)
  • Fix resource detection data race in go.opentelemetry.io/otel/sdk/resource. (#4409)
  • Use the first-seen instrument name during instrument name conflicts in go.opentelemetry.io/otel/sdk/metric. (#4428)

Deprecated

  • The go.opentelemetry.io/otel/exporters/jaeger package is deprecated.
    OpenTelemetry dropped support for Jaeger exporter in July 2023.
    Use go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
    or go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc instead. (#4423)
  • The go.opentelemetry.io/otel/example/jaeger package is deprecated. (#4423)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/oconf package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/otest package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/transform package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/internal package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/internal/envconfig package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/internal/retry package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/envconfig package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlpconfig package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlptracetest package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/retry package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/sdk/metric/aggregation package is deprecated.
    Use the aggregation types added to go.opentelemetry.io/otel/sdk/metric instead. (#4435)

New Contributors

Read more

Release v1.16.0/v0.39.0 -- Stable Metric API

22 May 19:11
v1.16.0
e0852d6
Compare
Choose a tag to compare

This release contains the first stable release of the OpenTelemetry Go metric API. Our project stability guarantees now apply to the go.opentelemetry.io/otel/metric package. See our versioning policy for more information about these stability guarantees.

What's Changed

Added

  • The go.opentelemetry.io/otel/semconv/v1.19.0 package. The package contains semantic conventions from the v1.19.0 version of the OpenTelemetry specification. (#3848)
  • The go.opentelemetry.io/otel/semconv/v1.20.0 package. The package contains semantic conventions from the v1.20.0 version of the OpenTelemetry specification. (#4078)

Changed

  • Use strings.Cut() instead of string.SplitN() for better readability and memory use. (#4049)

Removed

  • The deprecated go.opentelemetry.io/otel/metric/instrument package is removed. Use go.opentelemetry.io/otel/metric instead. (#4055)

Fixed

  • Fix build for BSD based systems in go.opentelemetry.io/otel/sdk/resource. (#4077)

New Contributors

Full Changelog: v1.15.1...v1.16.0

Release v1.16.0-rc.1/v0.39.0-rc.1

04 May 02:44
v1.16.0-rc.1
e683957
Compare
Choose a tag to compare
Pre-release

This is a release candidate for the v1.16.0/v0.39.0 release. That release is expected to include the v1 release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. See our versioning policy for more information about these stability guarantees.

Added

  • Support global MeterProvider in go.opentelemetry.io/otel. (#4039)
    • Use Meter for a metric.Meter from the global metric.MeterProvider.
    • Use GetMeterProivder for a global metric.MeterProvider.
    • Use SetMeterProivder to set the global metric.MeterProvider.

Changed

  • Move the go.opentelemetry.io/otel/metric module to the stable-v1 module set. This stages the metric API to be released as a stable module. (#4038)

Removed

  • The go.opentelemetry.io/otel/metric/global package is removed.
    Use go.opentelemetry.io/otel instead. (#4039)

Release v1.15.1/v0.38.1

02 May 17:23
v1.15.1
fc96138
Compare
Choose a tag to compare

What's Changed

Fixed

  • Remove unused imports from sdk/resource/host_id_bsd.go which caused build failures. (#4040, #4041)

New Contributors

Full Changelog: v1.15.0...v1.15.1

Release v1.15.0/v0.38.0

28 Apr 14:53
v1.15.0
8e76ab2
Compare
Choose a tag to compare

Added

  • The go.opentelemetry.io/otel/metric/embedded package. (#3916)
  • The Version function to go.opentelemetry.io/otel/sdk to return the SDK version. (#3949)
  • Add a WithNamespace option to go.opentelemetry.io/otel/exporters/prometheus to allow users to prefix metrics with a namespace. (#3970)
  • The following configuration types were added to go.opentelemetry.io/otel/metric/instrument to be used in the configuration of measurement methods. (#3971)
    • The AddConfig used to hold configuration for addition measurements
      • NewAddConfig used to create a new AddConfig
      • AddOption used to configure an AddConfig
    • The RecordConfig used to hold configuration for recorded measurements
      • NewRecordConfig used to create a new RecordConfig
      • RecordOption used to configure a RecordConfig
    • The ObserveConfig used to hold configuration for observed measurements
      • NewObserveConfig used to create a new ObserveConfig
      • ObserveOption used to configure an ObserveConfig
  • WithAttributeSet and WithAttributes are added to go.opentelemetry.io/otel/metric/instrument. They return an option used during a measurement that defines the attribute Set associated with the measurement. (#3971)
  • The Version function to go.opentelemetry.io/otel/exporters/otlp/otlpmetric to return the OTLP metrics client version. (#3956)
  • The Version function to go.opentelemetry.io/otel/exporters/otlp/otlptrace to return the OTLP trace client version. (#3956)

Changed

  • The Extrema in go.opentelemetry.io/otel/sdk/metric/metricdata is redefined with a generic argument of [N int64 | float64]. (#3870)
  • Update all exported interfaces from go.opentelemetry.io/otel/metric to embed their corresponding interface from go.opentelemetry.io/otel/metric/embedded. This adds an implementation requirement to set the interface default behavior for unimplemented methods. (#3916)
  • Move No-Op implementation from go.opentelemetry.io/otel/metric into its own package go.opentelemetry.io/otel/metric/noop. (#3941)
    • metric.NewNoopMeterProvider is replaced with noop.NewMeterProvider
  • Add all the methods from "go.opentelemetry.io/otel/trace".SpanContext to bridgeSpanContext by embedding otel.SpanContext in bridgeSpanContext. (#3966)
  • Wrap UploadMetrics error in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/ to improve error message when encountering generic grpc errors. (#3974)
  • The measurement methods for all instruments in go.opentelemetry.io/otel/metric/instrument accept an option instead of the variadic "go.opentelemetry.io/otel/attribute".KeyValue. (#3971)
    • The Int64Counter.Add method now accepts ...AddOption
    • The Float64Counter.Add method now accepts ...AddOption
    • The Int64UpDownCounter.Add method now accepts ...AddOption
    • The Float64UpDownCounter.Add method now accepts ...AddOption
    • The Int64Histogram.Record method now accepts ...RecordOption
    • The Float64Histogram.Record method now accepts ...RecordOption
    • The Int64Observer.Observe method now accepts ...ObserveOption
    • The Float64Observer.Observe method now accepts ...ObserveOption
  • The Observer methods in go.opentelemetry.io/otel/metric accept an option instead of the variadic "go.opentelemetry.io/otel/attribute".KeyValue. (#3971)
    • The Observer.ObserveInt64 method now accepts ...ObserveOption
    • The Observer.ObserveFloat64 method now accepts ...ObserveOption
  • Move global metric back to go.opentelemetry.io/otel/metric/global from go.opentelemetry.io/otel. (#3986)

Fixed

  • TracerProvider allows calling Tracer() while it's shutting down. It used to deadlock. (#3924)
  • Use the SDK version for the Telemetry SDK resource detector in go.opentelemetry.io/otel/sdk/resource. (#3949)
  • Fix a data race in SpanProcessor returned by NewSimpleSpanProcessor in go.opentelemetry.io/otel/sdk/trace. (#3951)
  • Automatically figure out the default aggregation with aggregation.Default. (#3967)

Deprecated

  • The go.opentelemetry.io/otel/metric/instrument package is deprecated. Use the equivalent types added to go.opentelemetry.io/otel/metric instead. (#4018)

Release v1.15.0-rc.2/v0.38.0-rc.2

23 Mar 14:52
v1.15.0-rc.2
7ad0ae4
Compare
Choose a tag to compare
Pre-release

This is a release candidate for the v1.15.0/v0.38.0 release. That release will include the v1 release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. See our versioning policy for more information about these stability guarantees.

Added

  • The WithHostID option to go.opentelemetry.io/otel/sdk/resource. (#3812)
  • The WithoutTimestamps option to go.opentelemetry.io/otel/exporters/stdout/stdoutmetric to sets all timestamps to zero. (#3828)
  • The new Exemplar type is added to go.opentelemetry.io/otel/sdk/metric/metricdata. Both the DataPoint and HistogramDataPoint types from that package have a new field of Exemplars containing the sampled exemplars for their timeseries. (#3849)
  • Configuration for each metric instrument in go.opentelemetry.io/otel/sdk/metric/instrument. (#3895)
  • The internal logging introduces a warning level verbosity equal to V(1). (#3900)

Changed

  • Optimize memory allocation when creation a new Set using NewSet or NewSetWithFiltered in go.opentelemetry.io/otel/attribute. (#3832)
  • Optimize memory allocation when creation new metric instruments in go.opentelemetry.io/otel/sdk/metric. (#3832)
  • Avoid creating new objects on all calls to WithDeferredSetup and SkipContextSetup in OpenTracing bridge. (#3833)
  • The New and Detect functions from go.opentelemetry.io/otel/sdk/resource return errors that wrap underlying errors instead of just containing the underlying error strings. (#3844)
  • Both the Histogram and HistogramDataPoint are redefined with a generic argument of [N int64 | float64] in go.opentelemetry.io/otel/sdk/metric/metricdata. (#3849)
  • The metric Export interface from go.opentelemetry.io/otel/sdk/metric accepts a *ResourceMetrics instead of ResourceMetrics. (#3853)
  • Rename Asynchronous to Observable in go.opentelemetry.io/otel/metric/instrument. (#3892)
  • Rename Int64ObserverOption to Int64ObservableOption in go.opentelemetry.io/otel/metric/instrument. (#3895)
  • Rename Float64ObserverOption to Float64ObservableOption in go.opentelemetry.io/otel/metric/instrument. (#3895)
  • The internal logging changes the verbosity level of info to V(4), the verbosity level of debug to V(8). (#3900)

Fixed

  • TracerProvider consistently doesn't allow to register a SpanProcessor after shutdown. (#3845)

Removed

  • The deprecated go.opentelemetry.io/otel/metric/global package is removed. (#3829)
  • The unneeded Synchronous interface in go.opentelemetry.io/otel/metric/instrument was removed. (#3892)
  • The Float64ObserverConfig and NewFloat64ObserverConfig in go.opentelemetry.io/otel/sdk/metric/instrument. Use the added float64 instrument configuration instead. (#3895)
  • The Int64ObserverConfig and NewInt64ObserverConfig in go.opentelemetry.io/otel/sdk/metric/instrument. Use the added int64 instrument configuration instead. (#3895)
  • The NewNoopMeter function in go.opentelemetry.io/otel/metric, use NewMeterProvider().Meter("") instead. (#3893)

Release v1.15.0-rc.1/v0.38.0-rc.1

02 Mar 15:54
v1.15.0-rc.1
34aacd9
Compare
Choose a tag to compare
Pre-release

This is a release candidate for the v1.15.0/v0.38.0 release. That release will include the v1 release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. See our versioning policy for more information about these stability guarantees.

This release drops the compatibility guarantee of Go 1.18.

Added

  • Support global MeterProvider in go.opentelemetry.io/otel. (#3818)
    • Use Meter for a metric.Meter from the global metric.MeterProvider.
    • Use GetMeterProivder for a global metric.MeterProvider.
    • Use SetMeterProivder to set the global metric.MeterProvider.

Changed

  • Dropped compatibility testing for Go 1.18. The project no longer guarantees support for this version of Go. (#3813)

Fixed

  • Handle empty environment variable as it they were not set. (#3764)

Deprecated

  • The go.opentelemetry.io/otel/metric/global package is deprecated. Use go.opentelemetry.io/otel instead. (#3818)

Removed

  • The deprecated go.opentelemetry.io/otel/metric/unit package is removed. (#3814)

Release v1.14.0/v0.37.0/v0.0.4

27 Feb 22:03
v1.14.0
2e54fbb
Compare
Choose a tag to compare

Part of #3809

This release is the last to support Go 1.18.
The next release will require at least Go 1.19.

Added

  • The event type semantic conventions are added to go.opentelemetry.io/otel/semconv/v1.17.0. (#3697)
  • Support Go 1.20. (#3693)
  • The go.opentelemetry.io/otel/semconv/v1.18.0 package.
    The package contains semantic conventions from the v1.18.0 version of the OpenTelemetry specification. (#3719)
    • The following const renames from go.opentelemetry.io/otel/semconv/v1.17.0 are included:
      • OtelScopeNameKey -> OTelScopeNameKey
      • OtelScopeVersionKey -> OTelScopeVersionKey
      • OtelLibraryNameKey -> OTelLibraryNameKey
      • OtelLibraryVersionKey -> OTelLibraryVersionKey
      • OtelStatusCodeKey -> OTelStatusCodeKey
      • OtelStatusDescriptionKey -> OTelStatusDescriptionKey
      • OtelStatusCodeOk -> OTelStatusCodeOk
      • OtelStatusCodeError -> OTelStatusCodeError
    • The following func renames from go.opentelemetry.io/otel/semconv/v1.17.0 are included:
      • OtelScopeName -> OTelScopeName
      • OtelScopeVersion -> OTelScopeVersion
      • OtelLibraryName -> OTelLibraryName
      • OtelLibraryVersion -> OTelLibraryVersion
      • OtelStatusDescription -> OTelStatusDescription
  • A IsSampled method is added to the SpanContext implementation in go.opentelemetry.io/otel/bridge/opentracing to expose the span sampled state.
    See the README for more information. (#3570)
  • The WithInstrumentationAttributes option to go.opentelemetry.io/otel/metric. (#3738)
  • The WithInstrumentationAttributes option to go.opentelemetry.io/otel/trace. (#3739)
  • The following environment variables are supported by the periodic Reader in go.opentelemetry.io/otel/sdk/metric. (#3763)
    • OTEL_METRIC_EXPORT_INTERVAL sets the time between collections and exports.
    • OTEL_METRIC_EXPORT_TIMEOUT sets the timeout an export is attempted.

Changed

  • Fall-back to TextMapCarrier when it's not HttpHeaders in go.opentelemetry.io/otel/bridge/opentracing. (#3679)
  • The Collect method of the "go.opentelemetry.io/otel/sdk/metric".Reader interface is updated to accept the metricdata.ResourceMetrics value the collection will be made into.
    This change is made to enable memory reuse by SDK users. (#3732)
  • The WithUnit option in go.opentelemetry.io/otel/sdk/metric/instrument is updated to accept a string for the unit value. (#3776)

Fixed

  • Ensure go.opentelemetry.io/otel does not use generics. (#3723, #3725)
  • Multi-reader MeterProviders now export metrics for all readers, instead of just the first reader. (#3720, #3724)
  • Remove use of deprecated "math/rand".Seed in go.opentelemetry.io/otel/example/prometheus. (#3733)
  • Do not silently drop unknown schema data with Parse in go.opentelemetry.io/otel/schema/v1.1. (#3743)
  • Data race issue in OTLP exporter retry mechanism. (#3755, #3756)
  • Wrapping empty errors when exporting in go.opentelemetry.io/otel/sdk/metric. (#3698, #3772)
  • Incorrect "all" and "resource" definition for schema files in go.opentelemetry.io/otel/schema/v1.1. (#3777)

Deprecated

  • The go.opentelemetry.io/otel/metric/unit package is deprecated.
    Use the equivalent unit string instead. (#3776)
    • Use "1" instead of unit.Dimensionless
    • Use "By" instead of unit.Bytes
    • Use "ms" instead of unit.Milliseconds