fix(deps): Update module go.opentelemetry.io/otel to v1.41.0 [SECURITY]#133
Open
cloudquery-ci[bot] wants to merge 1 commit into
Open
fix(deps): Update module go.opentelemetry.io/otel to v1.41.0 [SECURITY]#133cloudquery-ci[bot] wants to merge 1 commit into
cloudquery-ci[bot] wants to merge 1 commit into
Conversation
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
39d1d0a to
f4611ed
Compare
f4611ed to
ffd16e5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.36.0→v1.41.0OpenTelemetry-Go: multi-value
baggageheader extraction causes excessive allocations (remote dos amplification)CVE-2026-29181 / GHSA-mh2q-q3fh-2475
More information
Details
multi-value
baggage:header extraction parses each header field-value independently and aggregates members across values. this allows an attacker to amplify cpu and allocations by sending manybaggage:header lines, even when each individual value is within the 8192-byte per-value parse limit.severity
HIGH (availability / remote request amplification)
relevant links
vulnerability details
pins: open-telemetry/opentelemetry-go@1ee4a41
as-of: 2026-02-04
policy: direct (no program scope provided)
callsite: propagation/baggage.go:58 (
extractMultiBaggage)attacker control: inbound HTTP request headers (many
baggagefield-values) →propagation.HeaderCarrier.Values("baggage")→ repeatedbaggage.Parse+ member aggregationroot cause
extractMultiBaggageiterates over allbaggageheader field-values and parses each one independently, then appends members into a shared slice. the 8192-byte parsing cap applies per header value, but the multi-value path repeats that work once per header line (bounded only by the server/proxy header byte limit).impact
in a default
net/httpconfiguration (max header bytes 1mb), a single request with manybaggage:header field-values can cause large per-request allocations and increased latency.example from the attached PoC harness (darwin/arm64; 80 values; 40 requests):
per_req_alloc_bytes=10315458andp95_ms=7per_req_alloc_bytes=133429andp95_ms=0proof of concept
canonical:
output (excerpt):
control:
cd poc make controlcontrol output (excerpt):
expected: multiple
baggageheader field-values should be semantically equivalent to a single comma-joinedbaggagevalue and should not multiply parsing/alloc work within the effective header byte budget.actual: multiple
baggageheader field-values trigger repeated parsing and member aggregation, causing high per-request allocations and increased latency even when each individual value is within 8192 bytes.fix recommendation
avoid repeated parsing across multi-values by enforcing a global budget and/or normalizing multi-values into a single value before parsing. one mitigation approach is to treat multi-values as a single comma-joined string and cap total parsed bytes (for example 8192 bytes total).
fix accepted when: under the default PoC harness settings, canonical stays within 2x of control for
per_req_alloc_bytesandper_req_allocs, andp95_msstays below 2ms.poc.zip
PR_DESCRIPTION.md
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)
v1.41.0Compare Source
Added
ByteSliceandByteSliceValuefunctions for newBYTESLICEattribute type ingo.opentelemetry.io/otel/attribute. (#7948)KindBytesattribute type ingo.opentelemetry.io/otel/sdk/log. (#7990)BYTESLICEattribute type ingo.opentelemetry.io/otel/sdk/trace. (#7990)BYTESLICEattributes ingo.opentelemetry.io/otel/trace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8153)Stringmethod forValuetype ingo.opentelemetry.io/otel/attribute. (#8142)SliceandSliceValuefunctions for newSLICEattribute type ingo.opentelemetry.io/otel/attribute. (#8166)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8216)AttributeValueLengthLimittoattribute.SLICEtype attribute values ingo.opentelemetry.io/otel/sdk/trace, recursively truncating contained string values. (#8217)Errorfield onRecordtype ingo.opentelemetry.io/otel/log/logtest. (#8148)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8157)Settabletogo.opentelemetry.io/otel/metric/xto allow reusing attribute options. (#8178)go.opentelemetry.io/otel/sdk/metric.Set
OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<max_size>to enable for all periodic readers.See
go.opentelemetry.io/otel/sdk/metric/internal/xfor feature documentation. (#8071)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/xfor feature documentation. (#8192)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/xfor feature documentation. (#8194)go.opentelemetry.io/otel/exporters/stdout/stdoutlog.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/stdout/stdoutlog/internal/xfor feature documentation. (#8263)WithDefaultAttributestogo.opentelemetry.io/otel/metric/xto support setting default attributes on instruments. (#8135)go.opentelemetry.io/otel/semconv/v1.41.0package.The package contains semantic conventions from the
v1.41.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.40.0. (#8324)go.opentelemetry.io/otel/semconv/v1.41.0package. (#8350)go.opentelemetry.io/otel/semconv/v1.41.0. (#8002)Changed
go.opentelemetry.io/otel/sdk/metricnow applies a default cardinality limit of 2000 to comply with the Metrics SDK specification recommendation.New attribute sets are dropped when the cardinality limit is reached. The measurement of these sets are aggregated into a special attribute set containing
attribute.Bool("otel.metric.overflow", true).This can break users who relied on the previous unlimited default.
Set
WithCardinalityLimit(0)or the deprecatedOTEL_GO_X_CARDINALITY_LIMIT=0environment variable to preserve unlimited cardinality.Note that support for
OTEL_GO_X_CARDINALITY_LIMITmay be removed in a future release. (#8247)ErrorTypeingo.opentelemetry.io/otel/semconvnow unwraps errors created withfmt.Errorfwhen deriving theerror.typeattribute. (#8133)go.opentelemetry.io/otel/sdk/lognow unwraps error chains created withfmt.Errorfwhen deriving theerror.typeattribute from errors on log records. (#8133)Set.MarshalLogmethod ingo.opentelemetry.io/otel/attributenow usesValue.Stringformatting following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8169)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir and short-circuitOffercalls to the exemplar reservoir whenexemplar.AlwaysOffFilteris configured. (#8211) (#8267)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir for asynchronous instruments whenexemplar.TraceBasedFilteris configured. (#8286)Deprecated
Value.Emitmethod ingo.opentelemetry.io/otel/attribute.Use
Value.Stringinstead. (#8176)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8135)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8152)go.opentelemetry.io/otel/exporters/prometheusnow usesValue.Stringformatting for label values following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8170)ShutdownonBatchSpanProcessoringo.opentelemetry.io/otel/sdk/trace. (#8197)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpandgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8226)Collectdata race and potential panic ingo.opentelemetry.io/otel/exporters/prometheuswhenWithResourceAsConstantLabelsoption is used. (#8227)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarby reverting #7447. (#8249)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarto safely handle zero size.A capacity check in the constructor initializes the reservoir safely and skips initialization for zero-cap; early returns in
Offer()andCollect()ensure no-op behavior. (#8295)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8254)name,version, orschema_urlfrom metric labels ingo.opentelemetry.io/otel/exporters/prometheus, preserving the dedicatedotel_scope_name,otel_scope_version, andotel_scope_schema_urllabels. (#8264)ParseFileingo.opentelemetry.io/otel/schema/v1.0andgo.opentelemetry.io/otel/schema/v1.1. (GHSA-995v-fvrw-c78m)go.opentelemetry.io/otel/baggageandgo.opentelemetry.io/otel/propagation. (#8222)go.opentelemetry.io/otel/semconv/v1.41.0to includeAttr*helper methods for required attributes on observable instruments. (#8361)go.opentelemetry.io/otel/propagationto prevent malformed or oversized baggage headers from flooding logs. (GHSA-5wrp-cwcj-q835)v1.40.0Compare Source
Added
ByteSliceandByteSliceValuefunctions for newBYTESLICEattribute type ingo.opentelemetry.io/otel/attribute. (#7948)KindBytesattribute type ingo.opentelemetry.io/otel/sdk/log. (#7990)BYTESLICEattribute type ingo.opentelemetry.io/otel/sdk/trace. (#7990)BYTESLICEattributes ingo.opentelemetry.io/otel/trace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8153)BYTESLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8153)Stringmethod forValuetype ingo.opentelemetry.io/otel/attribute. (#8142)SliceandSliceValuefunctions for newSLICEattribute type ingo.opentelemetry.io/otel/attribute. (#8166)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlptrace. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlplog. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#8216)SLICEattributes ingo.opentelemetry.io/otel/exporters/zipkin. (#8216)AttributeValueLengthLimittoattribute.SLICEtype attribute values ingo.opentelemetry.io/otel/sdk/trace, recursively truncating contained string values. (#8217)Errorfield onRecordtype ingo.opentelemetry.io/otel/log/logtest. (#8148)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#8157)WithMaxRequestSizeoption ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8157)Settabletogo.opentelemetry.io/otel/metric/xto allow reusing attribute options. (#8178)go.opentelemetry.io/otel/sdk/metric.Set
OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE=<max_size>to enable for all periodic readers.See
go.opentelemetry.io/otel/sdk/metric/internal/xfor feature documentation. (#8071)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/xfor feature documentation. (#8192)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/xfor feature documentation. (#8194)go.opentelemetry.io/otel/exporters/stdout/stdoutlog.Enable with
OTEL_GO_X_SELF_OBSERVABILITY=trueenvironment variable.See
go.opentelemetry.io/otel/stdout/stdoutlog/internal/xfor feature documentation. (#8263)WithDefaultAttributestogo.opentelemetry.io/otel/metric/xto support setting default attributes on instruments. (#8135)go.opentelemetry.io/otel/semconv/v1.41.0package.The package contains semantic conventions from the
v1.41.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.40.0. (#8324)go.opentelemetry.io/otel/semconv/v1.41.0package. (#8350)go.opentelemetry.io/otel/semconv/v1.41.0. (#8002)Changed
go.opentelemetry.io/otel/sdk/metricnow applies a default cardinality limit of 2000 to comply with the Metrics SDK specification recommendation.New attribute sets are dropped when the cardinality limit is reached. The measurement of these sets are aggregated into a special attribute set containing
attribute.Bool("otel.metric.overflow", true).This can break users who relied on the previous unlimited default.
Set
WithCardinalityLimit(0)or the deprecatedOTEL_GO_X_CARDINALITY_LIMIT=0environment variable to preserve unlimited cardinality.Note that support for
OTEL_GO_X_CARDINALITY_LIMITmay be removed in a future release. (#8247)ErrorTypeingo.opentelemetry.io/otel/semconvnow unwraps errors created withfmt.Errorfwhen deriving theerror.typeattribute. (#8133)go.opentelemetry.io/otel/sdk/lognow unwraps error chains created withfmt.Errorfwhen deriving theerror.typeattribute from errors on log records. (#8133)Set.MarshalLogmethod ingo.opentelemetry.io/otel/attributenow usesValue.Stringformatting following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8169)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir and short-circuitOffercalls to the exemplar reservoir whenexemplar.AlwaysOffFilteris configured. (#8211) (#8267)go.opentelemetry.io/otel/sdk/metricto return a drop reservoir for asynchronous instruments whenexemplar.TraceBasedFilteris configured. (#8286)Deprecated
Value.Emitmethod ingo.opentelemetry.io/otel/attribute.Use
Value.Stringinstead. (#8176)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp.The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new
WithMaxRequestSizeoption. (#8157, #8365)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#8135)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8152)go.opentelemetry.io/otel/exporters/prometheusnow usesValue.Stringformatting for label values following the OpenTelemetry AnyValue representation for non-OTLP protocols. (#8170)ShutdownonBatchSpanProcessoringo.opentelemetry.io/otel/sdk/trace. (#8197)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpandgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8226)Collectdata race and potential panic ingo.opentelemetry.io/otel/exporters/prometheuswhenWithResourceAsConstantLabelsoption is used. (#8227)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarby reverting #7447. (#8249)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarto safely handle zero size.A capacity check in the constructor initializes the reservoir safely and skips initialization for zero-cap; early returns in
Offer()andCollect()ensure no-op behavior. (#8295)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8254)name,version, orschema_urlfrom metric labels ingo.opentelemetry.io/otel/exporters/prometheus, preserving the dedicatedotel_scope_name,otel_scope_version, andotel_scope_schema_urllabels. (#8264)ParseFileingo.opentelemetry.io/otel/schema/v1.0andgo.opentelemetry.io/otel/schema/v1.1. (GHSA-995v-fvrw-c78m)go.opentelemetry.io/otel/baggageandgo.opentelemetry.io/otel/propagation. (#8222)go.opentelemetry.io/otel/semconv/v1.41.0to includeAttr*helper methods for required attributes on observable instruments. (#8361)go.opentelemetry.io/otel/propagationto prevent malformed or oversized baggage headers from flooding logs. (GHSA-5wrp-cwcj-q835)v1.39.0Compare Source
Added
go.opentelemetry.io/otel/semconv/v1.40.0package.The package contains semantic conventions from the
v1.40.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.39.0. (#7985)ErrandSetErronRecordingo.opentelemetry.io/otel/logto attach an error and set record exception attributes ingo.opentelemetry.io/otel/log/sdk. (#7924)Changed
TracerProvider.ForceFlushingo.opentelemetry.io/otel/sdk/tracejoins errors together and continues iteration through SpanProcessors as opposed to returning the first encountered error without attempting exports on subsequent SpanProcessors. (#7856)Fixed
request.GetBodyingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpto correctly handle HTTP2 GOAWAY frame. (#7931)go.opentelemetry.io/otel/propagation. (#7834)Removed
v1.38.0Compare Source
Added
AlwaysRecordsampler ingo.opentelemetry.io/otel/sdk/trace. (#7724)Enabledmethod to all synchronous instrument interfaces (Float64Counter,Float64UpDownCounter,Float64Histogram,Float64Gauge,Int64Counter,Int64UpDownCounter,Int64Histogram,Int64Gauge,) ingo.opentelemetry.io/otel/metric.This stabilizes the synchronous instrument enabled feature, allowing users to check if an instrument will process measurements before performing computationally expensive operations. (#7763)
go.opentelemetry.io/otel/semconv/v1.39.0package.The package contains semantic conventions from the
v1.39.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.38.0.(#7783, #7789)Changed
HistogramReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarby 4x. (#7443)FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplar. (#7447)go.opentelemetry.io/otel/sdk/metric. (#7474)go.opentelemetry.io/otel/sdk/metric. (#7478)go.opentelemetry.io/otel/exporters/stdout/stdoutmetric. (#7492)Exporteringo.opentelemetry.io/otel/exporters/prometheusignores metrics with the scopego.opentelemetry.io/contrib/bridges/prometheus.This prevents scrape failures when the Prometheus exporter is misconfigured to get data from the Prometheus bridge. (#7688)
go.opentelemetry.io/otel/sdk/metric. (#7702)rpc.grpc.status_codeattribute in the experimental metrics emitted fromgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcis replaced with therpc.response.status_codeattribute to align with the semantic conventions. (#7854)rpc.grpc.status_codeattribute in the experimental metrics emitted fromgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpcis replaced with therpc.response.status_codeattribute to align with the semantic conventions. (#7854)Fixed
go.opentelemetry.io/otel/sdk/log. (#7662)DroppedAttributesonRecordingo.opentelemetry.io/otel/sdk/logto not count the non-attribute key-value pairs dropped because of key duplication. (#7662)SetAttributesonRecordingo.opentelemetry.io/otel/sdk/logto not log that attributes are dropped when they are actually not dropped. (#7662)request.GetBodyingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpto correctly handle HTTP/2GOAWAYframe. (#7794)WithHostIDdetector ingo.opentelemetry.io/otel/sdk/resourceto use full path forioregcommand on Darwin (macOS). (#7818)Deprecated
go.opentelemetry.io/otel/exporters/zipkin.For more information, see the OTel blog post deprecating the Zipkin exporter. (#7670)
v1.37.0Compare Source
Added
go.opentelemetry.io/otel/sdk/metricusing hashing for map keys. (#7175)WithInstrumentationAttributeSetoption togo.opentelemetry.io/otel/log,go.opentelemetry.io/otel/metric, andgo.opentelemetry.io/otel/tracepackages.This provides a concurrent-safe and performant alternative to
WithInstrumentationAttributesby accepting a pre-constructedattribute.Set. (#7287)go.opentelemetry.io/otel/exporters/prometheus.Check the
go.opentelemetry.io/otel/exporters/prometheus/internal/xpackage documentation for more information. (#7345)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#7353)DeltaTemporalitySelector,CumulativeTemporalitySelector,LowMemoryTemporalitySelectortogo.opentelemetry.io/otel/sdk/metric. (#7434)go.opentelemetry.io/otel/sdk/log. (#7548)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#7459)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#7486)go.opentelemetry.io/otel/sdk/trace. (#7374)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#7512)go.opentelemetry.io/otel/sdk/metric. (#7524)go.opentelemetry.io/otel/sdk/metric. (#7571)OTEL_EXPORTER_OTLP_LOGS_INSECUREandOTEL_EXPORTER_OTLP_INSECUREenvironmental variables ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#7608)Enabledmethod to theProcessorinterface ingo.opentelemetry.io/otel/sdk/log.All
Processorimplementations now include anEnabledmethod. (#7639)go.opentelemetry.io/otel/semconv/v1.38.0package.The package contains semantic conventions from the
v1.38.0version of the OpenTelemetry Semantic Conventions.See the migration documentation for information on how to upgrade from
go.opentelemetry.io/otel/semconv/v1.37.0.(#7648)Changed
Distinctingo.opentelemetry.io/otel/attributeis no longer guaranteed to uniquely identify an attribute set.Collisions between
Distinctvalues for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (#7175)WithInstrumentationAttributesingo.opentelemetry.io/otel/tracesynchronously de-duplicates the passed attributes instead of delegating it to the returnedTracerOption. (#7266)WithInstrumentationAttributesingo.opentelemetry.io/otel/metersynchronously de-duplicates the passed attributes instead of delegating it to the returnedMeterOption. (#7266)WithInstrumentationAttributesingo.opentelemetry.io/otel/logsynchronously de-duplicates the passed attributes instead of delegating it to the returnedLoggerOption. (#7266)OTEL_GO_X_SELF_OBSERVABILITYenvironment variable toOTEL_GO_X_OBSERVABILITYingo.opentelemetry.io/otel/sdk/trace,go.opentelemetry.io/otel/sdk/log, andgo.opentelemetry.io/otel/exporters/stdout/stdouttrace. (#7302)Recordingo.opentelemetry.io/otel/sdk/metricwhen min and max are disabled usingNoMinMax. (#7306)prometheus.NewInvalidMetricingo.opentelemetry.io/otel/exporters/prometheus.Now, when translation would drop data (e.g., invalid label/value), the exporter emits a
NewInvalidMetric, and Prometheus scrapes fail with HTTP 500 by default.To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with:
promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }. (#7363)go.opentelemetry.io/otel/attributefor better performance. (#7371)TranslationStrategyingo.opentelemetry.io/exporters/prometheusis changed fromotlptranslator.NoUTF8EscapingWithSuffixestootlptranslator.UnderscoreEscapingWithSuffixes. (#7421)go.opentelemetry.io/otel/sdk/metric. (#7427)Span.Flagsfield ingo.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttpandgo.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc. (#7438)ErrorTypefunction ingo.opentelemetry.io/otel/semconv/v1.37.0now handles custom error types.If an error implements an
ErrorType() stringmethod, the return value of that method will be used as the error type. (#7442)Fixed
WithInstrumentationAttributesoptions ingo.opentelemetry.io/otel/trace,go.opentelemetry.io/otel/metric, andgo.opentelemetry.io/otel/logto properly merge attributes when passed multiple times instead of replacing them.Attributes with duplicate keys will use the last value passed. (#7300)
attribute.Setwhen using theEqualmethod is not affected by the user overriding the empty set pointed to byattribute.EmptySetingo.opentelemetry.io/otel/attribute. (#7357)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#7372)go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#7372)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#7372)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#7372)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#7372)go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#7372)AddAttributes,SetAttributes,SetBodyonRecordingo.opentelemetry.io/otel/sdk/logto not mutate input. (#7403)RecordSetmethods ingo.opentelemetry.io/otel/semconv/v1.37.0. (#7655)RecordSetmethods ingo.opentelemetry.io/otel/semconv/v1.36.0. (#7656)Removed
FilterProcessorinterface ingo.opentelemetry.io/otel/sdk/log.The
Enabledmethod has been added to theProcessorinterface instead.All
Processorimplementations must now implement theEnabledmethod.Custom processors that do not filter records can implement
Enabledto returntrue. (#7639)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.