Skip to content

Releases: open-telemetry/opentelemetry-go

Release v1.26.0/v0.48.0/v0.2.0-alpha

24 Apr 14:32
v1.26.0
9656d0a
Compare
Choose a tag to compare

Added

  • Add Recorder in go.opentelemetry.io/otel/log/logtest to facilitate testing the log bridge implementations. (#5134)
  • Add span flags to OTLP spans and links exported by go.opentelemetry.io/otel/exporters/otlp/otlptrace. (#5194)
  • Make the initial alpha release of go.opentelemetry.io/otel/sdk/log.
    This new module contains the Go implementation of the OpenTelemetry Logs SDK.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • Make the initial alpha release of go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp.
    This new module contains an OTLP exporter that transmits log telemetry using HTTP.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • Make the initial alpha release of go.opentelemetry.io/otel/exporters/stdout/stdoutlog.
    This new module contains an exporter prints log records to STDOUT.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • The go.opentelemetry.io/otel/semconv/v1.25.0 package.
    The package contains semantic conventions from the v1.25.0 version of the OpenTelemetry Semantic Conventions. (#5254)

Changed

  • Update go.opentelemetry.io/proto/otlp from v1.1.0 to v1.2.0. (#5177)
  • Improve performance of baggage member character validation in go.opentelemetry.io/otel/baggage. (#5214)

Full Changelog: v1.25.0...v1.26.0

Release v1.25.0/v0.47.0/v0.0.8/v0.1.0-alpha

05 Apr 14:39
v1.25.0
6628407
Compare
Choose a tag to compare

Added

  • Add WithProxy option in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4906)
  • Add WithProxy option in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp. (#4906)
  • Add AddLink method to the Span interface in go.opentelemetry.io/otel/trace. (#5032)
  • The Enabled method is added to the Logger interface in go.opentelemetry.io/otel/log.
    This method is used to notify users if a log record will be emitted or not. (#5071)
  • Add SeverityUndefined const to go.opentelemetry.io/otel/log.
    This value represents an unset severity level. (#5072)
  • Add Empty function in go.opentelemetry.io/otel/log to return a KeyValue for an empty value. (#5076)
  • Add go.opentelemetry.io/otel/log/global to manage the global LoggerProvider.
    This package is provided with the anticipation that all functionality will be migrate to go.opentelemetry.io/otel when go.opentelemetry.io/otel/log stabilizes.
    At which point, users will be required to migrage their code, and this package will be deprecated then removed. (#5085)
  • Add support for Summary metrics in the go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc exporters. (#5100)
  • Add otel.scope.name and otel.scope.version tags to spans exported by go.opentelemetry.io/otel/exporters/zipkin. (#5108)
  • Add support for AddLink to go.opentelemetry.io/otel/bridge/opencensus. (#5116)
  • Add String method to Value and KeyValue in go.opentelemetry.io/otel/log. (#5117)
  • Add Exemplar support to go.opentelemetry.io/otel/exporters/prometheus. (#5111)
  • Add metric semantic conventions to go.opentelemetry.io/otel/semconv/v1.24.0. Future semconv packages will include metric semantic conventions as well. (#4528)

Changed

  • SpanFromContext and SpanContextFromContext in go.opentelemetry.io/otel/trace no longer make a heap allocation when the passed context has no span. (#5049)
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc now create a gRPC client in idle mode and with "dns" as the default resolver using grpc.NewClient. (#5151)
    Because of that WithDialOption ignores grpc.WithBlock, grpc.WithTimeout, and grpc.WithReturnConnectionError.
    Notice that grpc.DialContext which was used before is now deprecated.

Fixed

  • Clarify the documentation about equivalence guarantees for the Set and Distinct types in go.opentelemetry.io/otel/attribute. (#5027)
  • Prevent default ErrorHandler self-delegation. (#5137)
  • Update all dependencies to address GO-2024-2687. (#5139)

Removed

Deprecated

  • Deprecate go.opentelemetry.io/otel/attribute.Sortable type. (#4734)
  • Deprecate go.opentelemetry.io/otel/attribute.NewSetWithSortable function. (#4734)
  • Deprecate go.opentelemetry.io/otel/attribute.NewSetWithSortableFiltered function. (#4734)

New Contributors

Full Changelog: v1.24.0...v1.25.0

Release v1.24.0/v0.46.0/v0.0.1-alpha

23 Feb 16:37
v1.24.0
e6e186b
Compare
Choose a tag to compare

This release is the last to support Go 1.20. The next release will require at least Go 1.21.

Added

  • Support Go 1.22. (#4890)
  • Add exemplar support to go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4900)
  • Add exemplar support to go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4900)
  • The go.opentelemetry.io/otel/log module is added. This module includes OpenTelemetry Go's implementation of the Logs Bridge API. This module is in an alpha state, it is subject to breaking changes. See our versioning policy for more info. (#4961)

Fixed

  • Fix registration of multiple callbacks when using the global meter provider from go.opentelemetry.io/otel. (#4945)
  • Fix negative buckets in output of exponential histograms. (#4956)

New Contributors

Full Changelog: v1.23.1...v1.24.0

Release v1.23.1/v0.45.2

07 Feb 20:52
v1.23.1
c5b112f
Compare
Choose a tag to compare

Fixed

  • Register all callbacks passed during observable instrument creation instead of just the last one multiple times in go.opentelemetry.io/otel/sdk/metric. (#4888)

Release v1.23.0/v0.45.1

06 Feb 15:54
v1.23.0
e3eb3f7
Compare
Choose a tag to compare

This release contains the first stable, v1, release of the following modules:

  • go.opentelemetry.io/otel/bridge/opencensus
  • go.opentelemetry.io/otel/bridge/opencensus/test
  • go.opentelemetry.io/otel/example/opencensus
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
  • go.opentelemetry.io/otel/exporters/stdout/stdoutmetric

See our versioning policy for more information about these stability guarantees.

Added

  • Add WithEndpointURL option to the exporters/otlp/otlpmetric/otlpmetricgrpc, exporters/otlp/otlpmetric/otlpmetrichttp, exporters/otlp/otlptrace/otlptracegrpc and exporters/otlp/otlptrace/otlptracehttp packages. (#4808)
  • Experimental exemplar exporting is added to the metric SDK. See metric documentation for more information about this feature and how to enable it. (#4871)
  • ErrSchemaURLConflict is added to go.opentelemetry.io/otel/sdk/resource. This error is returned when a merge of two Resources with different (non-empty) schema URL is attempted. (#4876)

Changed

  • The Merge and New functions in go.opentelemetry.io/otel/sdk/resource now returns a partial result if there is a schema URL merge conflict. Instead of returning nil when two Resources with different (non-empty) schema URLs are merged the merged Resource, along with the new ErrSchemaURLConflict error, is returned. It is up to the user to decide if they want to use the returned Resource or not. It may have desired attributes overwritten or include stale semantic conventions. (#4876)

Fixed

  • Fix ContainerID resource detection on systemd when cgroup path has a colon. (#4449)
  • Fix go.opentelemetry.io/otel/sdk/metric to cache instruments to avoid leaking memory when the same instrument is created multiple times. (#4820)
  • Fix missing Mix and Max values for go.opentelemetry.io/otel/exporters/stdout/stdoutmetric by introducing MarshalText and MarshalJSON for the Extrema type in go.opentelemetry.io/sdk/metric/metricdata. (#4827)

New Contributors

Full Changelog: v1.22.0...v1.23.0

Release v1.23.0-rc.1

18 Jan 20:29
v1.23.0-rc.1
1e2555f
Compare
Choose a tag to compare
Release v1.23.0-rc.1 Pre-release
Pre-release

This is a release candidate for the v1.23.0 release. That release is expected to include the v1 release of the following modules:

  • go.opentelemetry.io/otel/bridge/opencensus
  • go.opentelemetry.io/otel/bridge/opencensus/test
  • go.opentelemetry.io/otel/example/opencensus
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
  • go.opentelemetry.io/otel/exporters/stdout/stdoutmetric

See our versioning policy for more information about these stability guarantees.

Release v1.22.0/v0.45.0

17 Jan 19:34
v1.22.0
279c549
Compare
Choose a tag to compare

Added

  • The go.opentelemetry.io/otel/semconv/v1.22.0 package.
    The package contains semantic conventions from the v1.22.0 version of the OpenTelemetry Semantic Conventions. (#4735)
  • The go.opentelemetry.io/otel/semconv/v1.23.0 package.
    The package contains semantic conventions from the v1.23.0 version of the OpenTelemetry Semantic Conventions. (#4746)
  • The go.opentelemetry.io/otel/semconv/v1.23.1 package.
    The package contains semantic conventions from the v1.23.1 version of the OpenTelemetry Semantic Conventions. (#4749)
  • The go.opentelemetry.io/otel/semconv/v1.24.0 package.
    The package contains semantic conventions from the v1.24.0 version of the OpenTelemetry Semantic Conventions. (#4770)
  • Add WithResourceAsConstantLabels option to apply resource attributes for every metric emitted by the Prometheus exporter. (#4733)
  • Experimental cardinality limiting is added to the metric SDK.
    See metric documentation for more information about this feature and how to enable it. (#4457)
  • Add NewMemberRaw and NewKeyValuePropertyRaw in go.opentelemetry.io/otel/baggage. (#4804)

Changed

  • Upgrade all use of go.opentelemetry.io/otel/semconv to use v1.24.0. (#4754)
  • Update transformations in go.opentelemetry.io/otel/exporters/zipkin to follow v1.24.0 version of the OpenTelemetry specification. (#4754)
  • Record synchronous measurements when the passed context is canceled instead of dropping in go.opentelemetry.io/otel/sdk/metric.
    If you do not want to make a measurement when the context is cancelled, you need to handle it yourself (e.g if ctx.Err() != nil). (#4671)
  • Improve go.opentelemetry.io/otel/trace.TraceState's performance. (#4722)
  • Improve go.opentelemetry.io/otel/propagation.TraceContext's performance. (#4721)
  • Improve go.opentelemetry.io/otel/baggage performance. (#4743)
  • Improve performance of the (*Set).Filter method in go.opentelemetry.io/otel/attribute when the passed filter does not filter out any attributes from the set. (#4774)
  • Member.String in go.opentelemetry.io/otel/baggage percent-encodes only when necessary. (#4775)
  • Property.Value in go.opentelemetry.io/otel/baggage now returns a raw string instead of a percent-encoded value. (#4804)

Fixed

  • Fix Parse in go.opentelemetry.io/otel/baggage to validate member value before percent-decoding. (#4755)
  • Fix whitespace encoding of Member.String in go.opentelemetry.io/otel/baggage. (#4756)
  • Fix baggage item key so that it is not canonicalized in go.opentelemetry.io/otel/bridge/opentracing. (#4776)
  • Fix go.opentelemetry.io/otel/bridge/opentracing to properly handle baggage values that requires escaping during propagation. (#4804)
  • Fix a bug where using multiple readers resulted in incorrect asynchronous counter values in go.opentelemetry.io/otel/sdk/metric. (#4742)

Release v1.21.0/v0.44.0

16 Nov 20:15
v1.21.0
98b32a6
Compare
Choose a tag to compare

Removed

  • Remove the deprecated go.opentelemetry.io/otel/bridge/opencensus.NewTracer. (#4706)
  • Remove the deprecated go.opentelemetry.io/otel/exporters/otlp/otlpmetric module. (#4707)
  • Remove the deprecated go.opentelemetry.io/otel/example/view module. (#4708)
  • Remove the deprecated go.opentelemetry.io/otel/example/fib module. (#4723)

Fixed

  • Do not parse non-protobuf responses in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4719)
  • Do not parse non-protobuf responses in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4719)

Release v1.20.0/v0.43.0

10 Nov 16:49
v1.20.0
85e4c46
Compare
Choose a tag to compare

This release brings a breaking change for custom trace API implementations. Some interfaces (TracerProvider, Tracer, Span) now embed the go.opentelemetry.io/otel/trace/embedded types. Implementors need to update their implementations based on what they want the default behavior to be. See the "API Implementations" section of the trace API package documentation for more about how to accomplish this.

Added

  • Add go.opentelemetry.io/otel/bridge/opencensus.InstallTraceBridge, which installs the OpenCensus trace bridge, and replaces opencensus.NewTracer. (#4567)
  • Add scope version to trace and metric bridges in go.opentelemetry.io/otel/bridge/opencensus. (#4584)
  • Add the go.opentelemetry.io/otel/trace/embedded package to be embedded in the exported trace API interfaces. (#4620)
  • Add the go.opentelemetry.io/otel/trace/noop package as a default no-op implementation of the trace API. (#4620)
  • Add context propagation in go.opentelemetry.io/otel/example/dice. (#4644)
  • Add view configuration to go.opentelemetry.io/otel/example/prometheus. (#4649)
  • Add go.opentelemetry.io/otel/metric.WithExplicitBucketBoundaries, which allows defining default explicit bucket boundaries when creating histogram instruments. (#4603)
  • Add Version function in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4660)
  • Add Version function in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4660)
  • Add Summary, SummaryDataPoint, and QuantileValue to go.opentelemetry.io/sdk/metric/metricdata. (#4622)
  • go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer now supports exemplars from OpenCensus. (#4585)
  • Add support for WithExplicitBucketBoundaries in go.opentelemetry.io/otel/sdk/metric. (#4605)
  • Add support for Summary metrics in go.opentelemetry.io/otel/bridge/opencensus. (#4668)

Deprecated

  • Deprecate go.opentelemetry.io/otel/bridge/opencensus.NewTracer in favor of opencensus.InstallTraceBridge. (#4567)
  • Deprecate go.opentelemetry.io/otel/example/fib package is in favor of go.opentelemetry.io/otel/example/dice. (#4618)
  • Deprecate go.opentelemetry.io/otel/trace.NewNoopTracerProvider.
    Use the added NewTracerProvider function in go.opentelemetry.io/otel/trace/noop instead. (#4620)
  • Deprecate go.opentelemetry.io/otel/example/view package in favor of go.opentelemetry.io/otel/example/prometheus. (#4649)
  • Deprecate go.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#4693)

Changed

  • go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer returns a *MetricProducer struct instead of the metric.Producer interface. (#4583)
  • The TracerProvider in go.opentelemetry.io/otel/trace now embeds the go.opentelemetry.io/otel/trace/embedded.TracerProvider type.
    This extends the TracerProvider interface and is is a breaking change for any existing implementation.
    Implementors need to update their implementations based on what they want the default behavior of the interface to be.
    See the "API Implementations" section of the go.opentelemetry.io/otel/trace package documentation for more information about how to accomplish this. (#4620)
  • The Tracer in go.opentelemetry.io/otel/trace now embeds the go.opentelemetry.io/otel/trace/embedded.Tracer type.
    This extends the Tracer interface and is is a breaking change for any existing implementation.
    Implementors need to update their implementations based on what they want the default behavior of the interface to be.
    See the "API Implementations" section of the go.opentelemetry.io/otel/trace package documentation for more informationabout how to accomplish this. (#4620)
  • The Span in go.opentelemetry.io/otel/trace now embeds the go.opentelemetry.io/otel/trace/embedded.Span type.
    This extends the Span interface and is is a breaking change for any existing implementation.
    Implementors need to update their implementations based on what they want the default behavior of the interface to be.
    See the "API Implementations" section of the go.opentelemetry.io/otel/trace package documentation for more information about how to accomplish this. (#4620)
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc does no longer depend on go.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#4660)
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp does no longer depend on go.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#4660)
  • Retry for 502 Bad Gateway and 504 Gateway Timeout HTTP statuses in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4670)
  • Retry for 502 Bad Gateway and 504 Gateway Timeout HTTP statuses in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4670)
  • Retry for RESOURCE_EXHAUSTED only if RetryInfo is returned in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4669)
  • Retry for RESOURCE_EXHAUSTED only if RetryInfo is returned in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#4669)
  • Retry temporary HTTP request failures in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4679)
  • Retry temporary HTTP request failures in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4679)

Fixed

  • Fix improper parsing of characters such us +, / by Parse in go.opentelemetry.io/otel/baggage as they were rendered as a whitespace. (#4667)
  • Fix improper parsing of characters such us +, / passed via OTEL_RESOURCE_ATTRIBUTES in go.opentelemetry.io/otel/sdk/resource as they were rendered as a whitespace. (#4699)
  • Fix improper parsing of characters such us +, / passed via OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_METRICS_HEADERS in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc as they were rendered as a whitespace. (#4699)
  • Fix improper parsing of characters such us +, / passed via OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_METRICS_HEADERS in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp as they were rendered as a whitespace. (#4699)
  • Fix improper parsing of characters such us +, / passed via OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_TRACES_HEADERS in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpc as they were rendered as a whitespace. (#4699)
  • Fix improper parsing of characters such us +, / passed via OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_TRACES_HEADERS in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp as they were rendered as a whitespace. (#4699)
  • In go.opentelemetry.op/otel/exporters/prometheus, the exporter no longer Collects metrics after Shutdown is invoked. (#4648)
  • Fix documentation for WithCompressor in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#4695)
  • Fix documentation for WithCompressor in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4695)

Release v1.19.0/v0.42.0/v0.0.7

28 Sep 19:34
v1.19.0
60666c5
Compare
Choose a tag to compare

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

Added

  • Add the "Roll the dice" getting started application example in go.opentelemetry.io/otel/example/dice. (#4539)
  • The WithWriter and WithPrettyPrint options to go.opentelemetry.io/otel/exporters/stdout/stdoutmetric to set a custom io.Writer, and allow displaying the output in human-readable JSON. (#4507)

Changed

  • Allow '/' characters in metric instrument names. (#4501)
  • The exporter in go.opentelemetry.io/otel/exporters/stdout/stdoutmetric does not prettify its output by default anymore. (#4507)
  • Upgrade gopkg.io/yaml from v2 to v3 in go.opentelemetry.io/otel/schema. (#4535)

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)

Removed

  • Remove "go.opentelemetry.io/otel/bridge/opencensus".NewMetricExporter, which is replaced by NewMetricProducer. (#4566)

Full Changelog: v1.18.0...v1.19.0