chore(all): update opentelemetry-go monorepo to v1.47.0 (#565) > ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [go.opentelemetry.io/otel](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.47.0` |  |  | | [go.opentelemetry.io/otel/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.47.0` |  |  | | [go.opentelemetry.io/otel/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.47.0` |  |  | | [go.opentelemetry.io/otel/sdk/metric](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.47.0` |  |  | | [go.opentelemetry.io/otel/trace](https://redirect.github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.47.0` |  |  | --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)</summary> ### [`v1.47.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0): /v0.69.0/v0.23.0/v0.1.0 [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0) This release contains the first stable release of the OpenTelemetry Go Logs API and SDK. Our project stability guarantees now apply to the following modules: - `go.opentelemetry.io/otel/log` - `go.opentelemetry.io/otel/sdk/log` See our [versioning policy](https://redirect.github.com/open-telemetry/opentelemetry-go/blob/main/VERSIONING.md) for more information about these stability guarantees. ##### Added - Add `String` method for `KeyValue` type in `go.opentelemetry.io/otel/attribute`. ([#​8205](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8205)) - Add `String` method for `Set` type in `go.opentelemetry.io/otel/attribute`. ([#​8347](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8347)) - Add `WithMaxExportBatchSize` to `go.opentelemetry.io/otel/sdk/metric` to configure the maximum export batch size for `PeriodicReader`. ([#​8960](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8960)) - Add `WithAttributeValueDepthLimit`, `DefaultAttributeValueDepthLimit`, and `SpanLimits.AttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/trace` to configure the maximum depth of span, event, link, and instrumentation scope attribute values. ([#​8938](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8938)) - Add `WithAttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/log` to configure the maximum depth of log record and instrumentation scope attribute values. ([#​8938](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8938)) - Add `WithMaxResponseSize` to `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. ([#​8941](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8941)) - Add experimental `ProbabilitySampler` in `go.opentelemetry.io/otel/sdk/trace/x` that conforms to the [OpenTelemetry specification's threshold-based sampling algorithm](https://opentelemetry.io/docs/specs/otel/trace/sdk/#probabilitysampler). ([#​8123](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8123)) - Add experimental `*Binder` extension interfaces in `go.opentelemetry.io/otel/metric/x` for instruments that support binding attributes ahead of time. ([#​8760](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8760)) - Add the experimental `Finisher` synchronous metric instrument extension interface to `go.opentelemetry.io/otel/metric/x`. ([#​8906](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8906)) ##### Changed - Use the [OpenTelemetry Attribute Collection representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#attribute-collection-representation-for-non-otlp) for metric data diffs in `go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. ([#​8993](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8993)) - Apply a maximum depth of 64 by default to span, event, link, log record, and instrumentation scope attribute values in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. ([#​8938](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8938)) - Reduce allocations when applying attribute value length limits in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log` by rebuilding composite values only when truncation is needed. ([#​8912](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8912)) - Decode `traceparent` using a hex lookup table in `go.opentelemetry.io/otel/propagation`, which rejects the specification-disallowed upper-case characters without a separate scan of the header. ([#​8739](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8739)) - Decode all characters at constant indices in `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/trace` to eliminate bounds checks. ([#​8740](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8740)) ##### Fixed - Count valid U+FFFD replacement characters toward attribute value length limits in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`. - Truncate string attribute values to empty strings when the configured length limit is zero, including malformed UTF-8, in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`. ([#​9054](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/9054)) - Fix a data race in `NewPeriodicReader` where `r.inst` was assigned after the background goroutine was launched in `go.opentelemetry.io/otel/sdk/metric`. ([#​9028](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/9028)) - Prevent precision loss for large `int64` values in `Sum`, `Histogram`, and `ExponentialHistogram` aggregations in `go.opentelemetry.io/otel/sdk/metric`. ([#​8981](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8981)) - Ensure `grpc.DialOption` values passed via `WithDialOption` take precedence over conflicting internally-computed defaults in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`, and `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. ([#​8805](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8805), [#​8834](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8834), [#​8836](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8836)) - Treat overflowing `OTEL_METRIC_EXPORT_INTERVAL` and `OTEL_METRIC_EXPORT_TIMEOUT` values as invalid in `go.opentelemetry.io/otel/sdk/metric`. ([#​8800](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8800)) - Prevent a panic in `NewFixedSizeReservoir` and `FixedSizeReservoirProvider` when given a negative size in `go.opentelemetry.io/otel/sdk/metric/exemplar`; negative sizes are now clamped to zero, consistent with a size of zero. ([#​8832](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8832)) - Preserve exponential histogram `ZeroThreshold` during OTLP metric export in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. ([#​8801](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8801)) - Ensure metric helpers in `go.opentelemetry.io/otel/semconv/v1.32.0`, `go.opentelemetry.io/otel/semconv/v1.33.0`, and `go.opentelemetry.io/otel/semconv/v1.34.0` record measurements only once when no attributes are provided. ([#​8849](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8849)) - Treat empty `OTEL_TRACES_SAMPLER` and `OTEL_TRACES_SAMPLER_ARG` values as unset in `go.opentelemetry.io/otel/sdk/trace`. ([#​8873](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8873)) - Normalize global `OTEL_EXPORTER_OTLP_ENDPOINT` path joining in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` so trailing-slash base URLs do not produce double-slash log export paths. ([#​8864](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8864)) - Prevent a deadlock when formatting an error passed to `RecordError` calls back into the span in `go.opentelemetry.io/otel/sdk/trace`. ([#​8815](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8815)) - Prevent `SimpleSpanProcessor.Shutdown` from panicking when constructed with a nil exporter in `go.opentelemetry.io/otel/sdk/trace`. ([#​8844](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8844)) - Propagate invalid exponential histogram scale errors to Prometheus exporter self-observability metrics in `go.opentelemetry.io/otel/exporters/prometheus`. ([#​8839](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8839)) - Retain instrument advisory attributes configured with `go.opentelemetry.io/otel/metric/x.WithDefaultAttributes` when a matching View in `go.opentelemetry.io/otel/sdk/metric` does not specify an attribute filter. ([#​8859](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8859)) - Ignore HTTP URL paths when building OTLP/gRPC metric exporter targets from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`, while preserving `unix://` and `unix-abstract://` targets; treat `unix-abstract://` endpoints as insecure in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. ([#​8862](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8862)) - Ignore HTTP(S) paths when deriving gRPC trace exporter endpoints from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. ([#​8852](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8852)) - Bound memory used while parsing dense W3C property metadata by storing it compactly and materializing `Property` values on demand in `go.opentelemetry.io/otel/baggage` and `go.opentelemetry.io/otel/propagation`. ##### Removed - Remove the experimental `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE` environment variable in `go.opentelemetry.io/otel/sdk/metric`. Use the `WithMaxExportBatchSize` option instead. ([#​8960](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8960)) ##### What's Changed - Prevent panic in FixedSizeReservoir for negative sizes by [@​chiliec](https://redirect.github.com/chiliec) in [#​8832](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8832) - fix(metric): reject overflowing export durations by [@​maithilijoshi20](https://redirect.github.com/maithilijoshi20) in [#​8800](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8800) - chore(deps): update module github.com/gofrs/flock to v0.13.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8885](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8885) - chore(deps): update module github.com/4meepo/tagalign to v1.4.4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8900](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8900) - fix(deps): update googleapis to [`18b4a75`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/18b4a75) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8907](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8907) - fix(deps): update module github.com/prometheus/client_model to v0.6.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8908](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8908) - chore(deps): update module github.com/prometheus/procfs to v0.22.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8894](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8894) - chore(deps): update module github.com/godoc-lint/godoc-lint to v0.11.4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8897](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8897) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`d60c349`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/d60c349) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8909](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8909) - fix(deps): update module github.com/prometheus/common to v0.71.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8911](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8911) - chore(deps): update golang.org/x/telemetry digest to [`86cb573`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/86cb573) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8895](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8895) - fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to [`7bb06b0`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/7bb06b0) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8902](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8902) - chore(deps): update module github.com/timonwong/loggercheck to v0.12.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8898](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8898) - \[otlptracegrpc] Grpc dialoption override bug by [@​ps-mir](https://redirect.github.com/ps-mir) in [#​8805](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8805) - otlpmetricgrpc: fix preference for user supplied dialOptions by [@​ps-mir](https://redirect.github.com/ps-mir) in [#​8834](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8834) - Do not panic on nil exporter in SimpleSpanProcessor.Shutdown by [@​ShreeyashPatil2708](https://redirect.github.com/ShreeyashPatil2708) in [#​8844](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8844) - \[chore] Add doc comments to exported internal symbols (1/N) by [@​om7057](https://redirect.github.com/om7057) in [#​8752](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8752) - \[chore] Add doc comments to exported internal symbols (3/N) by [@​om7057](https://redirect.github.com/om7057) in [#​8869](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8869) - \[chore] docs: mark Logs as release candidate by [@​pellared](https://redirect.github.com/pellared) in [#​8910](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8910) - chore(deps): update module github.com/mattn/go-runewidth to v0.0.29 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8917](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8917) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`af8eda3`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/af8eda3) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8915](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8915) - chore(deps): update github.com/golangci/rowserrcheck digest to [`241134d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/241134d) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8913](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8913) - fix(deps): update module go.opentelemetry.io/collector/pdata to v1.66.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8918](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8918) - chore(deps): update otel/weaver docker tag to v0.26.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8922](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8922) - chore(deps): update open-telemetry/shared-workflows action to v0.13.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8921](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8921) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`043ea8a`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/043ea8a) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8919](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8919) - fix(otlploggrpc): honor custom dial option precedence by [@​jstar0](https://redirect.github.com/jstar0) in [#​8836](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8836) - Define bound instrument API in metric/x by [@​dashpole](https://redirect.github.com/dashpole) in [#​8760](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8760) - fix(prometheus): report invalid histogram scale errors by [@​jstar0](https://redirect.github.com/jstar0) in [#​8839](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8839) - Add experimental metric Finisher interface by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​8906](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8906) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`ae99b73`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/ae99b73) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8923](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8923) - chore(deps): update golang.org/x by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8920](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8920) - sdk/trace/x: Add experimental `ProbabilitySampler` by [@​yuanyuanzhao3](https://redirect.github.com/yuanyuanzhao3) in [#​8123](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8123) - sdk/trace/x: Adding GoDev badge. by [@​yuanyuanzhao3](https://redirect.github.com/yuanyuanzhao3) in [#​8927](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8927) - perf(propagation): use a hex lookup table to decode traceparent by [@​itssaharsh](https://redirect.github.com/itssaharsh) in [#​8739](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8739) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`0277a17`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/0277a17) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8931](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8931) - fix(deps): update googleapis to [`f8649dd`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/f8649dd) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8929](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8929) - chore(deps): update module github.com/dlclark/regexp2/v2 to v2.8.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8930](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8930) - \[chore] Add doc comments to exported internal symbols (5/N) by [@​om7057](https://redirect.github.com/om7057) in [#​8934](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8934) - \[chore] Add doc comments to exported internal symbols (4/N) by [@​om7057](https://redirect.github.com/om7057) in [#​8926](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8926) - sdk: optimize composite attribute truncation by [@​pellared](https://redirect.github.com/pellared) in [#​8912](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8912) - chore(deps): update module github.com/go-critic/go-critic to v0.15.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8924](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8924) - chore(deps): update module go.augendre.info/fatcontext to v0.10.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8939](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8939) - chore(deps): update module mvdan.cc/gofumpt to v0.12.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8935](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8935) - chore(deps): update module dev.gaijin.team/go/exhaustruct/v5 to v5.2.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8928](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8928) - fix(deps): update golang.org/x by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8936](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8936) - chore(deps): update module github.com/ghostiam/protogetter to v1.0.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8940](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8940) - fix(trace): avoid reentrant RecordError deadlock by [@​jstar0](https://redirect.github.com/jstar0) in [#​8815](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8815) - \[chore] Add doc comments to exported internal symbols (6/6), remove exclusion by [@​om7057](https://redirect.github.com/om7057) in [#​8937](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8937) - otlploghttp: normalize global endpoint path joining by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8864](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8864) - sdk/trace: treat empty sampler env values as unset by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8873](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8873) - Run full benchmarks weekly by [@​XSAM](https://redirect.github.com/XSAM) in [#​8932](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8932) - fix(semconv): avoid duplicate metric recording without attributes by [@​jstar0](https://redirect.github.com/jstar0) in [#​8849](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8849) - chore(deps): update module github.com/mattn/go-runewidth to v0.0.30 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8946](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8946) - chore(deps): update ubuntu:26.04 docker digest to [`e5a4d62`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e5a4d62) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8945](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8945) - chore(deps): update github/codeql-action action to v4.38.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8944](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8944) - chore(deps): update golang.org/x/telemetry digest to [`55ac43c`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/55ac43c) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8943](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8943) - otlptracegrpc: fix env endpoint URL parsing by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8852](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8852) - otlpmetricgrpc: preserve gRPC env endpoint targets by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8862](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8862) - chore(deps): update module github.com/sourcegraph/go-diff to v0.9.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8947](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8947) - feat(otlphttp): configure maximum response size by [@​pellared](https://redirect.github.com/pellared) in [#​8941](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8941) - fix(otlpmetric): preserve exponential histogram zero threshold by [@​maithilijoshi20](https://redirect.github.com/maithilijoshi20) in [#​8801](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8801) - chore(deps): update golang.org/x/telemetry digest to [`15ceca2`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/15ceca2) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8948](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8948) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`6c9e17d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/6c9e17d) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8950](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8950) - chore(deps): update module github.com/dave/dst to v0.28.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8949](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8949) - fix(deps): update googleapis to [`f61a6ca`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/f61a6ca) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8951](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8951) - chore(deps): update module github.com/nishanths/exhaustive to v0.13.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8953](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8953) - chore(deps): update module github.com/xo/terminfo to v1.2.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8954](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8954) - sdk/log: add queue_full shutdown regression test by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8754](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8754) - internal/tools/verifyreadmes: skip hidden dot-directories on Windows by [@​RedZapdos123](https://redirect.github.com/RedZapdos123) in [#​8729](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8729) - sdk/metric: add internal finish-aware Sum lifecycle by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​8925](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8925) - sdk: limit nested attribute value depth by [@​pellared](https://redirect.github.com/pellared) in [#​8938](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8938) - chore(deps): update codecov/codecov-action action to v7.1.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8966](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8966) - fix(deps): update module go.opentelemetry.io/collector/pdata to v1.67.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8965](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8965) - chore(deps): update open-telemetry/shared-workflows action to v0.14.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8961](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8961) - Fix Alex Kats emeritus mention by [@​dmathieu](https://redirect.github.com/dmathieu) in [#​8933](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8933) - sdk/metric: stabilize max batch size in PeriodicReader by [@​dashpole](https://redirect.github.com/dashpole) in [#​8960](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8960) - chore(deps): update ubuntu:26.04 docker digest to [`61ebaa5`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/61ebaa5) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8968](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8968) - sdk/metric: Retain advisory attributes when View has no AttributeFilter by [@​dashpole](https://redirect.github.com/dashpole) in [#​8859](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8859) - chore(deps): update module github.com/ldez/tagliatelle to v0.8.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8970](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8970) - sdk/metric: Document nil AttributeFilter behavior by [@​pellared](https://redirect.github.com/pellared) in [#​8971](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8971) - chore: fix gofumpt extra-rules warning by [@​dmathieu](https://redirect.github.com/dmathieu) in [#​8942](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8942) - chore(deps): update codecov/codecov-action action to v7.1.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8975](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8975) - chore(deps): update module github.com/ldez/gomoddirectives to v0.10.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8974](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8974) - sdk/trace/x: deduplicate tracestate combination error report in ProbabilitySampler by [@​alex131125](https://redirect.github.com/alex131125) in [#​8969](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8969) - \[chore]: fix article and word typos in doc comments by [@​simpleqt](https://redirect.github.com/simpleqt) in [#​8972](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8972) - \[chore]: fix two doc comments that name the wrong method by [@​simpleqt](https://redirect.github.com/simpleqt) in [#​8973](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8973) - Update googleapis to [`eeb232e`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/eeb232e) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8983](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8983) - sdk/metric: extract generic hotColdMap for delta aggregators by [@​dashpole](https://redirect.github.com/dashpole) in [#​8756](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8756) - Update github/codeql-action action to v4.38.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8987](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8987) - Update googleapis to [`cecb647`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/cecb647) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8986](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8986) - \[chore]: remove CLAUDE.md in favor of AGENTS.md by [@​jarrensj](https://redirect.github.com/jarrensj) in [#​8988](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8988) - test(internal/tools/verifyreadmes): add unit tests for verifyReadme by [@​marcschaeferger](https://redirect.github.com/marcschaeferger) in [#​8066](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8066) - perf(trace): unroll hex decoders to drop bounds checks by [@​itssaharsh](https://redirect.github.com/itssaharsh) in [#​8740](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8740) - sdk/metric: add canonical attribute identity by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​8963](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8963) - attribute: add Set.String by [@​iyiola-dev](https://redirect.github.com/iyiola-dev) in [#​8347](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8347) - attribute: add String method for KeyValue by [@​pellared](https://redirect.github.com/pellared) in [#​8205](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8205) - Update open-telemetry/shared-workflows action to v0.15.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8992](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8992) - Update googleapis to [`b142276`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b142276) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8991](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8991) - Update golang.org/x/telemetry digest to [`bdcd072`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/bdcd072) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8990](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8990) - Update module google.golang.org/grpc to v1.84.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8982](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8982) - Update open-telemetry/shared-workflows action to v0.16.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8995](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8995) - Update github.com/opentracing-contrib/go-grpc/test digest to [`c4b3818`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/c4b3818) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8994](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8994) - Revert "Update module google.golang.org/grpc to v1.84.0 ([#​8982](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8982))" by [@​dashpole](https://redirect.github.com/dashpole) in [#​8997](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8997) - metricdatatest: use attribute collection formatting by [@​pellared](https://redirect.github.com/pellared) in [#​8993](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8993) - Update github.com/charmbracelet/ultraviolet digest to [`4e49372`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/4e49372) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8998](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8998) - fix(sdk/metric): preserve int64 precision in sum and histogram aggregations by [@​dashpole](https://redirect.github.com/dashpole) in [#​8981](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8981) - Update golang.org/x/telemetry digest to [`c6096d2`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/c6096d2) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9000](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9000) - Fix OSS-Fuzz issues in FuzzHashKVs, FuzzGetBin, and FuzzSpanIDFromHex by [@​dashpole](https://redirect.github.com/dashpole) in [#​8996](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8996) - Update github.com/timakin/bodyclose digest to [`98ded9a`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/98ded9a) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9003](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9003) - Update module github.com/ProtonMail/go-crypto to v1.5.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9004](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9004) - Update module github.com/ProtonMail/go-crypto to v1.5.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9021](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9021) - Update golang.org/x/telemetry digest to [`9662f6f`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/9662f6f) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9020](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9020) - Update module github.com/mgechev/revive to v1.17.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9022](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9022) - Add ps-mir as an approver by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​9018](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9018) - Add Marc Schäfer as a project Triager by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​9019](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9019) - Update golang.org/x/telemetry digest to [`ed294f9`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/ed294f9) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9027](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9027) - Update github/codeql-action action to v4.38.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9025](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9025) - Update module github.com/golangci/golangci-lint/v2 to v2.14.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9026](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9026) - Update github.com/charmbracelet/ultraviolet digest to [`b78653f`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/b78653f) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9036](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9036) - Update github.com/charmbracelet/ultraviolet digest to [`bbf040a`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/bbf040a) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9037](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9037) - Update module github.com/golangci/golines to v0.16.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9043](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9043) - Update module github.com/prometheus/common to v0.72.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9044](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9044) - Update module go.opentelemetry.io/collector/pdata to v1.68.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9046](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9046) - Update module github.com/uudashr/iface to v1.5.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9042](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9042) - Update module github.com/ProtonMail/go-crypto to v1.5.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9040](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9040) - Update open-telemetry/shared-workflows action to v0.17.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9047](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9047) - Update github.com/golangci/canonicalheader digest to [`e18e5c5`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/e18e5c5) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9039](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9039) - Update googleapis to [`8a89bd6`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/8a89bd6) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9041](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9041) - Update github.com/charmbracelet/ultraviolet digest to [`666ce5e`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/666ce5e) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9051](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9051) - Remove retired Go Report Card badge from README by [@​kijimad](https://redirect.github.com/kijimad) in [#​9050](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9050) - fix(sdk/metric): Fix data race with initialization of NewPeriodicReader by [@​CTrando](https://redirect.github.com/CTrando) in [#​9028](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9028) - Update module github.com/dlclark/regexp2/v2 to v2.8.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9061](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9061) - Update github.com/charmbracelet/ultraviolet digest to [`270558f`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/270558f) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9060](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9060) - chore: Replace deprecated gofumpt extra-rules with extra options by [@​kijimad](https://redirect.github.com/kijimad) in [#​9062](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9062) - Update module github.com/pjbgf/sha1cd to v0.7.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9064](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9064) - Update github.com/golangci/rowserrcheck digest to [`f772fe6`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/f772fe6) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9066](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9066) - Update github.com/charmbracelet/ultraviolet digest to [`8786532`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/8786532) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9065](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9065) - Fix zero attribute value length for malformed UTF-8 by [@​pellared](https://redirect.github.com/pellared) in [#​9054](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9054) - Update module github.com/uudashr/iface to v1.5.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9067](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9067) - Update ubuntu:26.04 Docker digest to [`88a381d`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/88a381d) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​9069](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9069) - Release 1.47.0/0.69.0/0.23.0/0.1.0 by [@​pellared](https://redirect.github.com/pellared) in [#​9024](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9024) ##### New Contributors - [@​chiliec](https://redirect.github.com/chiliec) made their first contribution in [#​8832](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8832) - [@​maithilijoshi20](https://redirect.github.com/maithilijoshi20) made their first contribution in [#​8800](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8800) - [@​ps-mir](https://redirect.github.com/ps-mir) made their first contribution in [#​8805](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8805) - [@​ShreeyashPatil2708](https://redirect.github.com/ShreeyashPatil2708) made their first contribution in [#​8844](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8844) - [@​alex131125](https://redirect.github.com/alex131125) made their first contribution in [#​8969](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8969) - [@​simpleqt](https://redirect.github.com/simpleqt) made their first contribution in [#​8972](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8972) - [@​jarrensj](https://redirect.github.com/jarrensj) made their first contribution in [#​8988](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8988) - [@​iyiola-dev](https://redirect.github.com/iyiola-dev) made their first contribution in [#​8347](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8347) - [@​kijimad](https://redirect.github.com/kijimad) made their first contribution in [#​9050](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9050) - [@​CTrando](https://redirect.github.com/CTrando) made their first contribution in [#​9028](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/9028) **Full Changelog**: <https://togithub.com/open-telemetry/opentelemetry-go/compare/v1.47.0-rc.1...v1.47.0> ### [`v1.46.0`](https://redirect.github.com/open-telemetry/opentelemetry-go/releases/tag/v1.46.0): /v0.68.0/v0.22.0/v0.0.19 [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-go/compare/v1.45.0...v1.46.0) This release is the last to support [Go 1.25]. The next release will require at least [Go 1.26]. ##### Added - Support testing of [Go 1.27]. ([#​8811](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8811)) - Support `http/json` protocol in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. ([#​8273](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8273), [#​8775](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8775), [#​8831](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8831)) - Add `Hasher` struct and methods in `go.opentelemetry.io/otel/attribute` to compute authoritative `Distinct` hashes incrementally for attribute filtering and deduplication. ([#​8598](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8598)) ##### Changed - Lazily evaluate filtered and dropped attributes on measurement hot paths in `go.opentelemetry.io/otel/sdk/metric` to avoid unnecessary attribute set allocations. ([#​8598](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8598)) - Add `ErrExporterShutdown` to `go.opentelemetry.io/otel/sdk/log` and return it from the `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` exporters when `Export` is called after `Shutdown`. ([#​8773](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8773)) - Clarify in `go.opentelemetry.io/otel/log` that calling `Logger.Enabled` is optional and that cached results can become stale. ([#​8764](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8764)) ##### Fixed - Export dropped attribute counts in OTLP log records from `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. ([#​8829](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8829)) - Name span events created from OpenTracing logs after the `event` log field, falling back to `log`, instead of always using an empty name in `go.opentelemetry.io/otel/bridge/opentracing`. ([#​8648](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8648)) - Count exception attributes omitted due to the attribute count limit as dropped in `go.opentelemetry.io/otel/sdk/log`. ([#​8796](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8796)) - Prevent log record and instrumentation scope attributes with empty keys from reaching processors and exporters in `go.opentelemetry.io/otel/sdk/log`. ([#​8797](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8797)) - Fix a data race when span attributes are read concurrently in `go.opentelemetry.io/otel/sdk/trace`. ([#​8706](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8706)) - Prevent a panic in `(*Set).Filter` when called on a nil receiver in `go.opentelemetry.io/otel/attribute`. ([#​8792](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8792)) - The simple span and log processors record `otel.sdk.processor.{span,log}.processed` when the record is submitted to the exporter instead of after the export completes, and no longer set `error.type` from the export outcome, in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. ([#​8705](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8705)) - Prevent `Resource.MarshalLog` from panicking on nil resources in `go.opentelemetry.io/otel/sdk/resource`. ([#​8758](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8758)) [Go 1.27]: https://go.dev/doc/go1.27 [Go 1.26]: https://go.dev/doc/go1.26 [Go 1.25]: https://go.dev/doc/go1.25 #### What's Changed - chore(deps): update github/codeql-action action to v4.37.6 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8697](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8697) - chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.64.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8698](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8698) - chore(deps): update golang.org/x/telemetry digest to [`bdd03c3`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/bdd03c3) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8699](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8699) - fix(deps): update module go.opentelemetry.io/collector/pdata to v1.64.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8700](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8700) - chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.30.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8701](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8701) - chore(deps): update module github.com/rogpeppe/go-internal to v1.16.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8702](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8702) - chore(deps): update module github.com/cloudflare/circl to v1.6.5 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8703](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8703) - Record processor.{span,log}.processed before invoking the exporter in simple processors by [@​cijothomas](https://redirect.github.com/cijothomas) in [#​8705](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8705) - perf(sdk/metric): reduce benchmark suite execution time ([#​8683](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8683)) by [@​dashpole](https://redirect.github.com/dashpole) in [#​8688](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8688) - chore(deps): update codspeedhq/action action to v5.0.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8710](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8710) - attempt 2: Lazily compute filtered and dropped attributes by [@​dashpole](https://redirect.github.com/dashpole) in [#​8598](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8598) - fix(deps): update googleapis to [`c8921c7`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/c8921c7) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8712](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8712) - chore(deps): update module github.com/santhosh-tekuri/jsonschema/v6 to v6.0.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8708](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8708) - chore(deps): update github.com/charmbracelet/ultraviolet digest to [`402eeaa`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/402eeaa) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8716](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8716) - chore(deps): update module github.com/dlclark/regexp2/v2 to v2.6.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8715](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8715) - chore(deps): update mvdan.cc/unparam digest to [`a64391f`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/a64391f) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8717](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8717) - fix(deps): update golang.org/x to [`a8b543c`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/a8b543c) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8720](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8720) - fix(deps): update googleapis to [`ec0a776`](https://redirect.github.com/open-telemetry/opentelemetry-go/commit/ec0a776) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8719](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8719) - chore(deps): update module golang.org/x/mod to v0.39.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8722](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8722) - Disable Go module major updates to v2+ by [@​MrAlias](https://redirect.github.com/MrAlias) in [#​8475](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8475) - otlp: wrap the Cause error when context is canceled by [@​bboreham](https://redirect.github.com/bboreham) in [#​7811](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/7811) - ci: add shared security scanning workflow by [@​opentelemetrybot](https://redirect.github.com/opentelemetrybot) in [#​8684](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8684) - fix(deps): update module google.golang.org/protobuf to v1.36.12 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8721](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8721) - chore(deps): update open-telemetry/shared-workflows action to v0.6.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8725](https://redirect.github.com/open-telemetry/opentelemetry-go/pull/8725) - chore(deps): update module github.com/charmbracelet/x/ansi to v0.11.8 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​8733](https://redirect.gith > ❗ **Important** > > ✂ PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`) - Automerge - At any time (no schedule defined) 🚦 **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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/gax-go). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEzNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
Google API Extensions for Go (gax-go) is a set of modules which aids the development of APIs for clients and servers based on gRPC and Google API conventions.
To install the API extensions, use:
go get -u github.com/googleapis/gax-go/v2
Note: Application code will rarely need to use this library directly, but the code generated automatically from API definition files can use it to simplify code generation and to provide more convenient and idiomatic API surface.
This library requires Go 1.6 or above.
BSD - please see LICENSE for more information.