Releases: open-telemetry/opentelemetry-go
Release v1.26.0/v0.48.0/v0.2.0-alpha
Added
- Add
Recorder
ingo.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 thev1.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
Added
- Add
WithProxy
option ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4906) - Add
WithProxy
option ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp
. (#4906) - Add
AddLink
method to theSpan
interface ingo.opentelemetry.io/otel/trace
. (#5032) - The
Enabled
method is added to theLogger
interface ingo.opentelemetry.io/otel/log
.
This method is used to notify users if a log record will be emitted or not. (#5071) - Add
SeverityUndefined
const
togo.opentelemetry.io/otel/log
.
This value represents an unset severity level. (#5072) - Add
Empty
function ingo.opentelemetry.io/otel/log
to return aKeyValue
for an empty value. (#5076) - Add
go.opentelemetry.io/otel/log/global
to manage the globalLoggerProvider
.
This package is provided with the anticipation that all functionality will be migrate togo.opentelemetry.io/otel
whengo.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 thego.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
exporters. (#5100) - Add
otel.scope.name
andotel.scope.version
tags to spans exported bygo.opentelemetry.io/otel/exporters/zipkin
. (#5108) - Add support for
AddLink
togo.opentelemetry.io/otel/bridge/opencensus
. (#5116) - Add
String
method toValue
andKeyValue
ingo.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
. Futuresemconv
packages will include metric semantic conventions as well. (#4528)
Changed
SpanFromContext
andSpanContextFromContext
ingo.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
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
now create a gRPC client in idle mode and with "dns" as the default resolver usinggrpc.NewClient
. (#5151)
Because of thatWithDialOption
ignoresgrpc.WithBlock
,grpc.WithTimeout
, andgrpc.WithReturnConnectionError
.
Notice thatgrpc.DialContext
which was used before is now deprecated.
Fixed
- Clarify the documentation about equivalence guarantees for the
Set
andDistinct
types ingo.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
- @tgolang made their first contribution in #5048
- @MickaelAlliel made their first contribution in #4906
- @s4s7 made their first contribution in #5096
- @Kielek made their first contribution in #5108
- @q-cheng made their first contribution in #5032
- @carrbs made their first contribution in #4880
Full Changelog: v1.24.0...v1.25.0
Release v1.24.0/v0.46.0/v0.0.1-alpha
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
- @kevinburkesegment made their first contribution in #4920
- @yizeng made their first contribution in #4947
- @ntriamme made their first contribution in #4945
- @ericayin made their first contribution in #4956
Full Changelog: v1.23.1...v1.24.0
Release v1.23.1/v0.45.2
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
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 theexporters/otlp/otlpmetric/otlpmetricgrpc
,exporters/otlp/otlpmetric/otlpmetrichttp
,exporters/otlp/otlptrace/otlptracegrpc
andexporters/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 togo.opentelemetry.io/otel/sdk/resource
. This error is returned when a merge of twoResource
s with different (non-empty) schema URL is attempted. (#4876)
Changed
- The
Merge
andNew
functions ingo.opentelemetry.io/otel/sdk/resource
now returns a partial result if there is a schema URL merge conflict. Instead of returningnil
when twoResource
s with different (non-empty) schema URLs are merged the mergedResource
, along with the newErrSchemaURLConflict
error, is returned. It is up to the user to decide if they want to use the returnedResource
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
andMax
values forgo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
by introducingMarshalText
andMarshalJSON
for theExtrema
type ingo.opentelemetry.io/sdk/metric/metricdata
. (#4827)
New Contributors
- @Fricounet made their first contribution in #4449
- @StLeoX made their first contribution in #4855
- @m-posluszny made their first contribution in #4827
Full Changelog: v1.22.0...v1.23.0
Release v1.23.0-rc.1
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
Added
- The
go.opentelemetry.io/otel/semconv/v1.22.0
package.
The package contains semantic conventions from thev1.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 thev1.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 thev1.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 thev1.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
andNewKeyValuePropertyRaw
ingo.opentelemetry.io/otel/baggage
. (#4804)
Changed
- Upgrade all use of
go.opentelemetry.io/otel/semconv
to usev1.24.0
. (#4754) - Update transformations in
go.opentelemetry.io/otel/exporters/zipkin
to followv1.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.gif 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 ingo.opentelemetry.io/otel/attribute
when the passed filter does not filter out any attributes from the set. (#4774) Member.String
ingo.opentelemetry.io/otel/baggage
percent-encodes only when necessary. (#4775)Property.Value
ingo.opentelemetry.io/otel/baggage
now returns a raw string instead of a percent-encoded value. (#4804)
Fixed
- Fix
Parse
ingo.opentelemetry.io/otel/baggage
to validate member value before percent-decoding. (#4755) - Fix whitespace encoding of
Member.String
ingo.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
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
Release v1.20.0/v0.43.0
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 replacesopencensus.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 ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4660) - Add
Version
function ingo.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
ingo.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 ofopencensus.InstallTraceBridge
. (#4567) - Deprecate
go.opentelemetry.io/otel/example/fib
package is in favor ofgo.opentelemetry.io/otel/example/dice
. (#4618) - Deprecate
go.opentelemetry.io/otel/trace.NewNoopTracerProvider
.
Use the addedNewTracerProvider
function ingo.opentelemetry.io/otel/trace/noop
instead. (#4620) - Deprecate
go.opentelemetry.io/otel/example/view
package in favor ofgo.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
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.TracerProvider
type.
This extends theTracerProvider
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 thego.opentelemetry.io/otel/trace
package documentation for more information about how to accomplish this. (#4620) - The
Tracer
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.Tracer
type.
This extends theTracer
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 thego.opentelemetry.io/otel/trace
package documentation for more informationabout how to accomplish this. (#4620) - The
Span
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.Span
type.
This extends theSpan
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 thego.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 ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric
. (#4660)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
does no longer depend ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric
. (#4660)- Retry for
502 Bad Gateway
and504 Gateway Timeout
HTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4670) - Retry for
502 Bad Gateway
and504 Gateway Timeout
HTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#4670) - Retry for
RESOURCE_EXHAUSTED
only if RetryInfo is returned ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4669) - Retry for
RESOURCE_EXHAUSTED
only if RetryInfo is returned ingo.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
+
,/
byParse
ingo.opentelemetry.io/otel/baggage
as they were rendered as a whitespace. (#4667) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_RESOURCE_ATTRIBUTES
ingo.opentelemetry.io/otel/sdk/resource
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_METRICS_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_METRICS_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_TRACES_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpc
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_TRACES_HEADERS
ingo.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 longerCollect
s metrics afterShutdown
is invoked. (#4648) - Fix documentation for
WithCompressor
ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
. (#4695) - Fix documentation for
WithCompressor
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4695)
Release v1.19.0/v0.42.0/v0.0.7
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
andWithPrettyPrint
options togo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
to set a customio.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
fromv2
tov3
ingo.opentelemetry.io/otel/schema
. (#4535)
Fixed
- In
go.opentelemetry.op/otel/exporters/prometheus
, don't try to create the Prometheus metric on everyCollect
if we know the scope is invalid. (#4499)
Removed
- Remove
"go.opentelemetry.io/otel/bridge/opencensus".NewMetricExporter
, which is replaced byNewMetricProducer
. (#4566)
Full Changelog: v1.18.0...v1.19.0