1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-19 21:45:50 +02:00

240 Commits

Author SHA1 Message Date
Robert Pająk dcfc16cebd exporters: support MAP attributes (#8453)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8163

Add end-to-end exporter handling for `attribute.SLICE` in the remaining
paths that still treated it as invalid or relied on fallback formatting.

Changes:

- encode `attribute.MAP` as OTLP `AnyValue_AnyValue_KvlistValue` for
trace, log, and metric transforms
- serialize Zipkin `MAP` attributes using the non-OTLP AnyValue string
representation
2026-06-16 21:25:29 +02:00
Robert Pająk 3a1412d2b3 sdk/trace: avoid logging exporter endpoint configuration (#8438)
Prevent internal trace exporter logging from including endpoint
configuration.

`MarshalLog` now keeps the existing log shape where practical, but logs
exporter/client type strings instead of recursively serializing exporter
and client internals. OTLP trace HTTP/gRPC and Zipkin exporter log
payloads no longer include endpoint URLs, embedded credentials, query
tokens, internal hostnames, or insecure transport configuration.

## Changes

- Stop recursive logging of trace exporter/client config from
`sdk/trace` span processors and `otlptrace.Exporter`.
- Remove endpoint/URL fields from OTLP trace HTTP/gRPC and Zipkin
`MarshalLog` output.
- Add regression coverage for credential-bearing endpoints not appearing
in internal log output.
2026-06-09 19:09:30 +02:00
renovate[bot] 58f767a448 fix(deps): update golang.org/x (#8437) 2026-06-08 16:25:23 +02:00
Robert Pająk b62d92831b Release 1.44.0 (#8376)
### Added

- Add `ByteSlice` and `ByteSliceValue` functions for new `BYTESLICE`
attribute type in `go.opentelemetry.io/otel/attribute`. (#7948)
- Apply attribute value limit to the `KindBytes` attribute type in
`go.opentelemetry.io/otel/sdk/log`. (#7990)
- Apply attribute value limit to the `BYTESLICE` attribute type in
`go.opentelemetry.io/otel/sdk/trace`. (#7990)
- Support `BYTESLICE` attributes in `go.opentelemetry.io/otel/trace`.
(#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8153)
- Support `BYTESLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8153)
- Add `String` method for `Value` type in
`go.opentelemetry.io/otel/attribute`. (#8142)
- Add `Slice` and `SliceValue` functions for new `SLICE` attribute type
in `go.opentelemetry.io/otel/attribute`. (#8166)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8216)
- Support `SLICE` attributes in
`go.opentelemetry.io/otel/exporters/zipkin`. (#8216)
- Apply `AttributeValueLengthLimit` to `attribute.SLICE` type attribute
values in `go.opentelemetry.io/otel/sdk/trace`, recursively truncating
contained string values. (#8217)
- Add `Error` field on `Record` type in
`go.opentelemetry.io/otel/log/logtest`. (#8148)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8157)
- Add `WithMaxRequestSize` option in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8157)
- Add `Settable` to `go.opentelemetry.io/otel/metric/x` to allow reusing
attribute options. (#8178)
- Add experimental support for splitting metric data across multiple
batches in `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/x` for feature
documentation. (#8071)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/x`
for feature documentation. (#8192)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/x`
for feature documentation. (#8194)
- Add experimental self-observability metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdoutlog`.
  Enable with `OTEL_GO_X_SELF_OBSERVABILITY=true` environment variable.
See `go.opentelemetry.io/otel/stdout/stdoutlog/internal/x` for feature
documentation. (#8263)
- Add `WithDefaultAttributes` to `go.opentelemetry.io/otel/metric/x` to
support setting default attributes on instruments. (#8135)
- Add `go.opentelemetry.io/otel/semconv/v1.41.0` package.
The package contains semantic conventions from the `v1.41.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.41.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.40.0`. (#8324)
- Add Observable variants of instruments to
`go.opentelemetry.io/otel/semconv/v1.41.0` package. (#8350)
- Generate explicit histogram bucket boundaries from weaver
configuration for HTTP and RPC duration instruments in
`go.opentelemetry.io/otel/semconv/v1.41.0`. (#8002)

### Changed

- ⚠️ **Breaking Change:** `go.opentelemetry.io/otel/sdk/metric` now
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 deprecated
`OTEL_GO_X_CARDINALITY_LIMIT=0` environment variable to preserve
unlimited cardinality.
Note that support for `OTEL_GO_X_CARDINALITY_LIMIT` may be removed in a
future release. (#8247)
- `ErrorType` in `go.opentelemetry.io/otel/semconv` now unwraps errors
created with `fmt.Errorf` when deriving the `error.type` attribute.
(#8133)
- `go.opentelemetry.io/otel/sdk/log` now unwraps error chains created
with `fmt.Errorf` when deriving the `error.type` attribute from errors
on log records. (#8133)
- `Set.MarshalLog` method in `go.opentelemetry.io/otel/attribute` now
uses `Value.String` formatting following the [OpenTelemetry AnyValue
representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8169)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir and short-circuit `Offer` calls to the exemplar reservoir when
`exemplar.AlwaysOffFilter` is configured. (#8211) (#8267)
- Optimize `go.opentelemetry.io/otel/sdk/metric` to return a drop
reservoir for asynchronous instruments when `exemplar.TraceBasedFilter`
is configured. (#8286)

### Deprecated

- Deprecate `Value.Emit` method in `go.opentelemetry.io/otel/attribute`.
  Use `Value.String` instead. (#8176)

### Fixed

- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Limit OTLP request size to 64 MiB by default in
`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
`WithMaxRequestSize` option. (#8157, #8365)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8135)
- Fix gzipped request body replay on redirect in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8152)
- `go.opentelemetry.io/otel/exporters/prometheus` now uses
`Value.String` formatting for label values following the [OpenTelemetry
AnyValue representation for non-OTLP
protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue).
(#8170)
- Propagate errors from the exporter when calling `Shutdown` on
`BatchSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace`. (#8197)
- Fix stale status code reporting on self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8226)
- Fix a concurrent `Collect` data race and potential panic in
`go.opentelemetry.io/otel/exporters/prometheus` when
`WithResourceAsConstantLabels` option is used. (#8227)
- Fix race condition in `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` by reverting #7447.
(#8249)
- Fix `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` to safely handle zero
size.
A capacity check in the constructor initializes the reservoir safely and
skips initialization for zero-cap; early returns in `Offer()` and
`Collect()` ensure no-op behavior. (#8295)
- Fix counting of spans and logs in self-observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8254)
- Drop conflicting scope attributes named `name`, `version`, or
`schema_url` from metric labels in
`go.opentelemetry.io/otel/exporters/prometheus`, preserving the
dedicated `otel_scope_name`, `otel_scope_version`, and
`otel_scope_schema_url` labels. (#8264)
- Close schema files opened by `ParseFile` in
`go.opentelemetry.io/otel/schema/v1.0` and
`go.opentelemetry.io/otel/schema/v1.1`.
([GHSA-995v-fvrw-c78m](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-995v-fvrw-c78m))
- Enforce the 8192-byte baggage size limit during extraction/parsing,
changing behavior when the limit is exceeded in
`go.opentelemetry.io/otel/baggage` and
`go.opentelemetry.io/otel/propagation`. (#8222)
- Fix `go.opentelemetry.io/otel/semconv/v1.41.0` to include `Attr*`
helper methods for required attributes on observable instruments.
(#8361)
- Limit baggage extraction error reporting in
`go.opentelemetry.io/otel/propagation` to prevent malformed or oversized
baggage headers from flooding logs.
([GHSA-5wrp-cwcj-q835](https://github.com/open-telemetry/opentelemetry-go/security/advisories/GHSA-5wrp-cwcj-q835))
2026-05-27 18:42:37 +02:00
renovate[bot] 4fb7134cdd fix(deps): update golang.org/x (#8363) 2026-05-22 07:45:50 +02:00
Tyler Yahn 442cdbdd94 Generate and upgrade to semconv/v1.41.0 (#8324)
Fix https://github.com/open-telemetry/opentelemetry-go/issues/8299

Relevant upstream v1.41.0 release notes:

> ### 🛑 Breaking changes 🛑
> 
> - `graphql`: Change `graphql.document` attribute requirement level
from Recommended to Opt-In due to sensitive data, cardinality, and size
concerns
([#2985](https://github.com/open-telemetry/semantic-conventions/issues/2985))
> - `process`: Move process.executable to its own entity.
([#3535](https://github.com/open-telemetry/semantic-conventions/issues/3535))
> - `process`: Update requirement levels for process attributes to
ensure consistent identification and description across platforms.
([#864](https://github.com/open-telemetry/semantic-conventions/issues/864))
> - `rpc`: Remove `client.address` and `client.port` attributes from RPC
server spans.
([#3487](https://github.com/open-telemetry/semantic-conventions/issues/3487),
[#3488](https://github.com/open-telemetry/semantic-conventions/issues/3488))
> 
> ### 💡 Enhancements 💡
> 
> - `Go`: Add opt-in go.memory.gc.pause.duration histogram metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `deployment`: Stabilize `deployment.environment.name` attribute.
([#3339](https://github.com/open-telemetry/semantic-conventions/issues/3339))
> - `deployment`: Add enum values for `deployment.environment.name`
attribute.
([#2910](https://github.com/open-telemetry/semantic-conventions/issues/2910))
> - `go`: Add the go.cpu.time opt-in metric, and add
go.cpu.detailed_state and go.memory.detailed_type attributes to CPU and
memory metrics respectively with wildcard values.
([#3354](https://github.com/open-telemetry/semantic-conventions/issues/3354))
> - `go`: Add the opt-in go.memory.gc.cycles metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `telemetry`: Promote `telemetry.distro.name` and
`telemetry.distro.version` attributes to 'stable'.
([#3650](https://github.com/open-telemetry/semantic-conventions/issues/3650))

This PR also:
- fixes semconv migration generation to ignore unexported declarations
when computing renames/removals
- upgrades repo imports, depguard, docs, templates, and schema URL
expectations to `go.opentelemetry.io/otel/semconv/v1.41.0`
- adds missing generated-file headers to semconvkit templates and
regenerates the affected `v1.41.0` files via `TAG="v1.41.0" make
semconv-generate`

---------

Co-authored-by: David Ashpole <dashpole@google.com>
2026-05-14 14:06:05 -04:00
renovate[bot] cf2a4a180f chore(deps): update module mvdan.cc/gofumpt to v0.10.0 (#8304)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [mvdan.cc/gofumpt](https://redirect.github.com/mvdan/gofumpt) |
`v0.9.2` → `v0.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/mvdan.cc%2fgofumpt/v0.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/mvdan.cc%2fgofumpt/v0.9.2/v0.10.0?slim=true)
|

---

### Release Notes

<details>
<summary>mvdan/gofumpt (mvdan.cc/gofumpt)</summary>

###
[`v0.10.0`](https://redirect.github.com/mvdan/gofumpt/blob/HEAD/CHANGELOG.md#v0100---2026-05-04)

[Compare
Source](https://redirect.github.com/mvdan/gofumpt/compare/v0.9.2...v0.10.0)

This release is based on Go 1.26's gofmt, and requires Go 1.25 or later.

A new rule is introduced to drop unnecessary parentheses around
expressions
where the inner expression is unambiguous on its own, such as `f((3))`.
Parentheses are kept where they are useful, such as on binary
expressions. See
[#&#8203;44](https://redirect.github.com/mvdan/gofumpt/issues/44).

A new rule is introduced to require multi-line function calls to match
the opening and closing parenthesis in terms of the use of newlines. See
[#&#8203;74](https://redirect.github.com/mvdan/gofumpt/issues/74).

The `-extra` flag now accepts a comma-separated list of rule names to
enable
individual extra rules, rather than enabling all of them at once. See
[#&#8203;339](https://redirect.github.com/mvdan/gofumpt/issues/339).

The following changes are included as well:

- Avoid crashing on `go.mod` files without a `module` directive -
[#&#8203;350](https://redirect.github.com/mvdan/gofumpt/issues/350)
- Avoid failing when an ignored directory cannot be read -
[#&#8203;351](https://redirect.github.com/mvdan/gofumpt/issues/351)
- Avoid prefixing more kinds of commented-out Go code with spaces -
[#&#8203;230](https://redirect.github.com/mvdan/gofumpt/issues/230)
- Avoid prefixing a shebang comment with a space -
[#&#8203;237](https://redirect.github.com/mvdan/gofumpt/issues/237)
- Narrow the newlines on assignments rule to ignore complex cases -
[#&#8203;354](https://redirect.github.com/mvdan/gofumpt/issues/354)
- Fix three bugs which caused a second gofumpt run to make changes -
[#&#8203;132](https://redirect.github.com/mvdan/gofumpt/issues/132),
[#&#8203;345](https://redirect.github.com/mvdan/gofumpt/issues/345)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
2026-05-08 12:50:12 -07:00
renovate[bot] 25f973a298 fix(deps): update module golang.org/x/sys to v0.44.0 (#8322) 2026-05-08 16:07:36 +02:00
Robert Pająk fa9276b15e exporters: support SLICE attributes (#8216)
Fixes #8162

Follow-up to #8153 for `attribute.SLICE`.

Add end-to-end exporter handling for `attribute.SLICE` in the remaining
paths that still treated it as invalid or relied on fallback formatting.

Changes:

- encode `attribute.SLICE` as OTLP `AnyValue_ArrayValue` for trace, log,
and metric transforms
- serialize Zipkin `SLICE` attributes using the non-OTLP AnyValue string
representation
- add trace-side coverage for recursive `convAttrValue` slice conversion
2026-04-20 11:03:34 +02:00
Robert Pająk 866dd2504c attribute: deprecate Value.Emit (#8176)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8145
2026-04-13 08:24:39 +02:00
David Ashpole d96b420138 Add support for the development attributes advisory parameter (#8135)
From [the
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument-advisory-parameter-attributes):

> ##### Instrument advisory parameter: `Attributes`

> **Status**: [Development](../document-status.md)

> Applies to all instrument types.

> `Attributes` (a list of [attribute
keys](../common/README.md#attribute)) is
the recommended set of attribute keys to be used for the resulting
metrics.

We already have `WithAttributes` options, so i've opted to name this
`WithDefaultAttributes` to avoid naming collisions. We could also
consider `WithAttributeKeys`, or `WithDefaultAttributeKeys`

Follows the pattern for experimental options introduced in
https://github.com/open-telemetry/opentelemetry-go/pull/8111

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-10 14:38:44 -04:00
Tyler Yahn b1284dbfaa Support BYTESLICE attributes across trace and exporter paths (#8153)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/8164

Supersedes #8042 which does not address the `trace` or `zipkin`
packages, and has unrelated support changes.

Add end-to-end handling for `attribute.BYTESLICE` in the remaining trace
and exporter paths that still dropped, invalidated, or stringified byte
slice attributes.

This change:

- preserves byte slice attributes in `trace/auto`
- encodes byte slice attributes as OTLP `AnyValue_BytesValue` in trace,
log, and metric transforms
- serializes Zipkin byte slice attributes as JSON arrays of byte values
- adds regression tests for each updated path

## Problem

`attribute.BYTESLICE` is public, but several downstream conversions
still did not handle it correctly:

- `trace/auto` dropped byte slice attributes during conversion
- OTLP trace, log, and metric transforms fell through to their invalid
default handling
- Zipkin fell back to `Value.Emit()`, which produced a base64 string
rather than an explicit byte-array representation

That made `BYTESLICE` unusable or inconsistent depending on the export
path.

## Changes

### Trace

- Handle `attribute.BYTESLICE` in `trace/auto` by converting it to an
internal telemetry bytes value.
- Add a regression test covering byte slice conversion.

### OTLP

- Handle `attribute.BYTESLICE` in:
  - trace attribute transform
  - log gRPC attribute transform
  - log HTTP attribute transform
  - metric HTTP attribute transform
  - metric gRPC attribute transform
- Update the shared log and metric transform templates so generated
outputs stay aligned.
- Add regression tests for the trace transform, both log transform
outputs, and both metric transform outputs.

### Zipkin

- Handle `attribute.BYTESLICE` explicitly in Zipkin tag serialization.
- Serialize byte slices as JSON arrays of byte values instead of base64
text.
- Add a regression test for Zipkin byte slice serialization.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-09 14:04:03 -07:00
renovate[bot] 3157d0a7d9 fix(deps): update module golang.org/x/sys to v0.43.0 (#8156)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.42.0` →
`v0.43.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.42.0...refs/tags/v0.43.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.43.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.42.0/v0.43.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/5322) for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlNraXAgQ2hhbmdlbG9nIiwiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-08 14:40:06 +02:00
Damien Mathieu 9276201a64 Release v1.43.0 / v0.65.0 / v0.19.0 (#8128)
Release issue:
https://github.com/open-telemetry/opentelemetry-go/issues/8127

## Added

- Add `IsRandom` and `WithRandom` on `TraceFlags`, and `IsRandom` on
`SpanContext` in `go.opentelemetry.io/otel/trace`
for [W3C Trace Context Level 2 Random Trace ID
Flag](https://www.w3.org/TR/trace-context-2/#random-trace-id-flag)
support. (#8012)
- Add service detection with `WithService` in
`go.opentelemetry.io/otel/sdk/resource`. (#7642)
- Add `DefaultWithContext` and `EnvironmentWithContext` in
`go.opentelemetry.io/otel/sdk/resource` to support plumbing
`context.Context` through default and environment detectors. (#8051)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8038)
- Support attributes with empty value (`attribute.EMPTY`) in
`go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8038)
- Add support for per-series start time tracking for cumulative metrics
in `go.opentelemetry.io/otel/sdk/metric`.
  Set `OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=true` to enable. (#8060)
- Add `WithCardinalityLimitSelector` for metric reader for configuring
cardinality limits specific to the instrument kind. (#7855)

## Changed

- Introduce the `EMPTY` Type in `go.opentelemetry.io/otel/attribute` to
reflect that an empty value is now a valid value, with `INVALID`
remaining as a deprecated alias of `EMPTY`. (#8038)
- Refactor slice handling in `go.opentelemetry.io/otel/attribute` to
optimize short slice values with fixed-size fast paths. (#8039)
- Improve performance of span metric recording in
`go.opentelemetry.io/otel/sdk/trace` by returning early if
self-observability is not enabled. (#8067)
- Improve formatting of metric data diffs in
`go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8073)

## Deprecated

- Deprecate `INVALID` in `go.opentelemetry.io/otel/attribute`. Use
`EMPTY` instead. (#8038)

## Fixed

- Return spec-compliant `TraceIdRatioBased` description. This is a
breaking behavioral change, but it is necessary to
make the implementation
[spec-compliant](https://opentelemetry.io/docs/specs/otel/trace/sdk/#traceidratiobased).
(#8027)
- Fix a race condition in `go.opentelemetry.io/otel/sdk/metric` where
the lastvalue aggregation could collect the value 0 even when no
zero-value measurements were recorded. (#8056)
- Limit HTTP response body to 4 MiB in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` to
mitigate excessive memory usage caused by a misconfigured or malicious
server.
Responses exceeding the limit are treated as non-retryable errors.
(#8108)
- Limit HTTP response body to 4 MiB in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` to
mitigate excessive memory usage caused by a misconfigured or malicious
server.
Responses exceeding the limit are treated as non-retryable errors.
(#8108)
- Limit HTTP response body to 4 MiB in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` to
mitigate excessive memory usage caused by a misconfigured or malicious
server.
Responses exceeding the limit are treated as non-retryable errors.
(#8108)
- `WithHostID` detector in `go.opentelemetry.io/otel/sdk/resource` to
use full path for `kenv` command on BSD. (#8113)
- Fix missing `request.GetBody` in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` to
correctly handle HTTP2 GOAWAY frame. (#8096)

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-04-03 10:30:03 +02:00
Matthieu MOREL e9449e3b34 chore: fix noctx issues (#8008)
***Description***

Fixes
[noctx](https://golangci-lint.run/docs/linters/configuration/#noctx)
issues and enables the linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-23 14:28:38 +01:00
renovate[bot] 1f39f186db fix(deps): update golang.org/x (#8023)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sync](https://pkg.go.dev/golang.org/x/sync) | [`v0.19.0`
→
`v0.20.0`](https://cs.opensource.google/go/x/sync/+/refs/tags/v0.19.0...refs/tags/v0.20.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.20.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.19.0/v0.20.0?slim=true)
|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.41.0` →
`v0.42.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.41.0...refs/tags/v0.42.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.42.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.41.0/v0.42.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/5322) for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 09:48:14 +01:00
renovate[bot] 8b05173581 fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.1 (#8011)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/golangci/golangci-lint/v2](https://redirect.github.com/golangci/golangci-lint)
| `v2.8.0` → `v2.11.1` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.11.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgolangci%2fgolangci-lint%2fv2/v2.8.0/v2.11.1?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/5322) for more information.

---

### Release Notes

<details>
<summary>golangci/golangci-lint
(github.com/golangci/golangci-lint/v2)</summary>

###
[`v2.11.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2111)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.11.0...v2.11.1)

*Released on 2026-03-06*

Due to an error related to AUR, some artifacts of the v2.11.0 release
have not been published.

This release contains the same things as v2.11.0.

###
[`v2.11.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2110)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.10.1...v2.11.0)

*Released on 2026-03-06*

1. Linters new features or changes
- `errcheck`: from 1.9.0 to 1.10.0 (exclude `crypto/rand.Read` by
default)
- `gosec`: from 2.23.0 to 2.24.6 (new rules: `G113`, `G118`, `G119`,
`G120`, `G121`, `G122`, `G123`, `G408`, `G707`)
- `noctx`: from 0.4.0 to 0.5.0 (new detection:
`httptest.NewRequestWithContext`)
   - `prealloc`: from 1.0.2 to 1.1.0
- `revive`: from 1.14.0 to 1.15.0 (⚠️ Breaking change: package-related
checks moved from `var-naming` to a new rule `package-naming`)
2. Linters bug fixes
   - `gocognit`: from 1.2.0 to 1.2.1
   - `gosec`: from 2.24.6 to 2.24.7
   - `unqueryvet`: from 1.5.3 to 1.5.4

###
[`v2.10.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2101)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.10.0...v2.10.1)

*Released on 2026-02-17*

1. Fixes
   - buildssa panic

###
[`v2.10.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v2100)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.9.0...v2.10.0)

*Released on 2026-02-17*

1. Linters new features or changes
   - `ginkgolinter`: from 0.22.0 to 0.23.0
- `gosec`: from 2.22.11 to 2.23.0 (new rules: `G117`, `G602`, `G701`,
`G702`, `G703`, `G704`, `G705`, `G706`)
   - `staticcheck`: from 0.6.1 to 0.7.0
2. Linters bug fixes
   - `godoclint`: from 0.11.1 to 0.11.2

###
[`v2.9.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v290)

[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.8.0...v2.9.0)

*Released on 2026-02-10*

1. Enhancements
   - 🎉 go1.26 support
2. Linters new features or changes
- `arangolint`: from 0.3.1 to 0.4.0 (new rule: detect potential query
injections)
   - `ginkgolinter`: from 0.21.2 to 0.22.0 (support for wrappers)
   - `golines`: from 0.14.0 to 0.15.0
   - `misspell`: from 0.7.0 to 0.8.0
- `unqueryvet`: from 1.4.0 to 1.5.3 (new options: `check-n1`,
`check-sql-injection`, `check-tx-leaks`, `allow`, `custom-rules`)
   - `wsl`: from 5.3.0 to 5.6.0 (new rule: `after-block`)
3. Linters bug fixes
   - `modernize`: from 0.41.0 to 0.42.0
   - `prealloc`: from 1.0.1 to 1.0.2
   - `protogetter`: from 0.3.18 to 0.3.20
4. Misc.
   - Log information about files when configuration verification
   - Emit an error when no linters enabled
   - Do not collect VCS information when loading code

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41Ni4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
2026-03-06 17:09:22 -08:00
Robert Pająk a3941ff595 Release v1.42.0/v0.64.0/v0.18.0/v0.0.16 (#8006)
### Added

- Add `go.opentelemetry.io/otel/semconv/v1.40.0` package.
The package contains semantic conventions from the `v1.40.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.40.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.39.0`. (#7985)
- Add `Err` and `SetErr` on `Record` in `go.opentelemetry.io/otel/log`
to attach an error and set record exception attributes in
`go.opentelemetry.io/otel/log/sdk`. (#7924)

### Changed

- `TracerProvider.ForceFlush` in `go.opentelemetry.io/otel/sdk/trace`
joins errors together and continues iteration through SpanProcessors as
opposed to returning the first encountered error without attempting
exports on subsequent SpanProcessors. (#7856)

### Fixed

- Fix missing `request.GetBody` in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` to
correctly handle HTTP2 GOAWAY frame. (#7931)
- Fix semconv v1.39.0 generated metric helpers skipping required
attributes when extra attributes were empty. (#7964)
- Preserve W3C TraceFlags bitmask (including the random Trace ID flag)
during trace context extraction and injection in
`go.opentelemetry.io/otel/propagation`. (#7834)

### Removed

- Drop support for [Go 1.24]. (#7984)
2026-03-06 20:13:23 +01:00
Tyler Yahn 5b5c2c5d6d Upgrade to semconv/v1.40.0 (#7991) 2026-03-04 12:13:40 +01:00
Tyler Yahn d5febb955e Drop support for Go 1.24 (#7984) 2026-03-02 22:25:05 +01:00
Robert Pająk 4575a9774d Release 1.41.0/0.63.0/0.17.0/0.0.15 (#7977)
This release is the last to support [Go 1.24].
The next release will require at least [Go 1.25].

### Added

- Support testing of [Go 1.26]. (#7902)

### Fixed

- Update `Baggage` in `go.opentelemetry.io/otel/propagation` and `Parse`
and `New` in `go.opentelemetry.io/otel/baggage` to comply with W3C
Baggage specification limits.
`New` and `Parse` now return partial baggage along with an error when
limits are exceeded.
Errors from baggage extraction are reported to the global error handler.
(#7880)

[Go 1.26]: https://go.dev/doc/go1.26
[Go 1.25]: https://go.dev/doc/go1.25
[Go 1.24]: https://go.dev/doc/go1.24
2026-03-02 19:39:57 +01:00
renovate[bot] 0f1a22484e chore(deps): update module github.com/securego/gosec/v2 to v2.23.0 (#7899) 2026-02-28 21:51:27 +01:00
renovate[bot] dbeb92241a fix(deps): update module golang.org/x/sys to v0.41.0 (#7885)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.40.0` →
`v0.41.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.40.0...refs/tags/v0.41.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.41.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.40.0/v0.41.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 09:16:59 +01:00
Tyler Yahn a3a5317c5c Release v1.40.0 (#7859)
### Added

- Add `Enabled` method to all synchronous instrument interfaces
(`Float64Counter`, `Float64UpDownCounter`, `Float64Histogram`,
`Float64Gauge`, `Int64Counter`, `Int64UpDownCounter`, `Int64Histogram`,
`Int64Gauge`,) in `go.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)
- Add `AlwaysRecord` sampler in `go.opentelemetry.io/otel/sdk/trace`.
(#7724)
- Add `go.opentelemetry.io/otel/semconv/v1.39.0` package. The package
contains semantic conventions from the `v1.39.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](https://github.com/open-telemetry/opentelemetry-go/blob/298cbedf256b7a9ab3c21e41fc5e3e6d6e4e94aa/semconv/v1.39.0/MIGRATION.md)
for information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.38.0.` (#7783, #7789)

### Changed

- `Exporter` in `go.opentelemetry.io/otel/exporter/prometheus` ignores
metrics with the scope `go.opentelemetry.io/contrib/bridges/prometheus`.
This prevents scrape failures when the Prometheus exporter is
misconfigured to get data from the Prometheus bridge. (#7688)
- Improve performance of concurrent histogram measurements in
`go.opentelemetry.io/otel/sdk/metric`. (#7474)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdoutmetric`. (#7492)
- Improve the concurrent performance of `HistogramReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar` by 4x. (#7443)
- Improve performance of concurrent synchronous gauge measurements in
`go.opentelemetry.io/otel/sdk/metric`. (#7478)
- Improve performance of concurrent exponential histogram measurements
in `go.opentelemetry.io/otel/sdk/metric`. (#7702)
- Improve the concurrent performance of `FixedSizeReservoir` in
`go.opentelemetry.io/otel/sdk/metric/exemplar`. (#7447)
- The `rpc.grpc.status_code` attribute in the experimental metrics
emitted from
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` is
replaced with the `rpc.response.status_code` attribute to align with the
semantic conventions. (#7854)
- The `rpc.grpc.status_code` attribute in the experimental metrics
emitted from
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` is
replaced with the `rpc.response.status_code` attribute to align with the
semantic conventions. (#7854)

### Fixed

- Fix bad log message when key-value pairs are dropped because of key
duplication in `go.opentelemetry.io/otel/sdk/log`. (#7662)
- Fix `DroppedAttributes` on `Record` in
`go.opentelemetry.io/otel/sdk/log` to not count the non-attribute
key-value pairs dropped because of key duplication. (#7662)
- Fix `SetAttributes` on `Record` in `go.opentelemetry.io/otel/sdk/log`
to not log that attributes are dropped when they are actually not
dropped. (#7662)
- `WithHostID` detector in `go.opentelemetry.io/otel/sdk/resource` to
use full path for `ioreg` command on Darwin (macOS). (#7818)
- Fix missing `request.GetBody` in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` to
correctly handle HTTP2 GOAWAY frame. (#7794)

### Deprecated

- Deprecate `go.opentelemetry.io/otel/exporters/zipkin`. For more
information, see the [OTel blog post deprecating the Zipkin
exporter](https://opentelemetry.io/blog/2025/deprecating-zipkin-exporters/).
(#7670)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-02 09:46:33 -08:00
Tyler Yahn 298cbedf25 Upgrade semconv use to v1.39.0 (#7854)
Resolve #7806 

- Replace use of `rpc.grpc.status_code` with `rpc.response.status_code`
(https://github.com/open-telemetry/semantic-conventions/issues/1504)
- Pin zipkin semconv to use 1.38.0 for deprecated `PeerServiceKey`
(https://github.com/open-telemetry/opentelemetry-specification/blob/343c2abbcb86a94292bd7cd55e96edcea5a96113/specification/trace/sdk_exporters/zipkin.md#otlp---zipkin)

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-02 08:23:37 -08:00
Damien Mathieu 34c8fa5592 Deprecate the zipkin exporter (#7670)
We're entitled to keep providing security and bug fixes until december
2026, but letting users now as soon as possible makes migrations easier.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2026-01-28 09:56:38 +01:00
Saharsh Tibrewala 61f0e4855c Bump semconv from v1.37.0 to v1.39.0 (#7789)
Fixes #7788

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-01-21 10:42:41 +01:00
renovate[bot] 8b00c5fa9c fix(deps): update module golang.org/x/sys to v0.40.0 (#7761)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [golang.org/x/sys](https://pkg.go.dev/golang.org/x/sys) | [`v0.39.0` →
`v0.40.0`](https://cs.opensource.google/go/x/sys/+/refs/tags/v0.39.0...refs/tags/v0.40.0)
|
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.40.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.39.0/v0.40.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 13:46:16 +01:00
Tyler Yahn 6ce14298b9 Release v1.39.0 (#7676)
## Overview

### Added

- Greatly reduce the cost of recording metrics in
`go.opentelemetry.io/otel/sdk/metric` using hashing for map keys.
(#7175)
- Add `WithInstrumentationAttributeSet` option to
`go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/metric`, and
`go.opentelemetry.io/otel/trace` packages. This provides a
concurrent-safe and performant alternative to
`WithInstrumentationAttributes` by accepting a pre-constructed
`attribute.Set`. (#7287)
- Add experimental observability for the Prometheus exporter in
`go.opentelemetry.io/otel/exporters/prometheus`. Check the
`go.opentelemetry.io/otel/exporters/prometheus/internal/x` package
documentation for more information. (#7345)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#7353)
- Add temporality selector functions `DeltaTemporalitySelector`,
`CumulativeTemporalitySelector`, `LowMemoryTemporalitySelector` to
`go.opentelemetry.io/otel/sdk/metric`. (#7434)
- Add experimental observability metrics for simple log processor in
`go.opentelemetry.io/otel/sdk/log`. (#7548)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#7459)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#7486)
- Add experimental observability metrics for simple span processor in
`go.opentelemetry.io/otel/sdk/trace`. (#7374)
- Add experimental observability metrics in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7512)
- Add experimental observability metrics for manual reader in
`go.opentelemetry.io/otel/sdk/metric`. (#7524)
- Add experimental observability metrics for periodic reader in
`go.opentelemetry.io/otel/sdk/metric`. (#7571)
- Support `OTEL_EXPORTER_OTLP_LOGS_INSECURE` and
`OTEL_EXPORTER_OTLP_INSECURE` environmental variables in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7608)
- Add `Enabled` method to the `Processor` interface in
`go.opentelemetry.io/otel/sdk/log`. All `Processor` implementations now
include an `Enabled` method. (#7639)
- The `go.opentelemetry.io/otel/semconv/v1.38.0` package. The package
contains semantic conventions from the `v1.38.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](./semconv/v1.38.0/MIGRATION.md) for information on how to
upgrade from `go.opentelemetry.io/otel/semconv/v1.37.0.`(#7648)

### Changed

- `Distinct` in `go.opentelemetry.io/otel/attribute` is no longer
guaranteed to uniquely identify an attribute set. Collisions between
`Distinct` values for different Sets are possible with extremely high
cardinality (billions of series per instrument), but are highly
unlikely. (#7175)
- `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/trace`
synchronously de-duplicates the passed attributes instead of delegating
it to the returned `TracerOption`. (#7266)
- `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/meter`
synchronously de-duplicates the passed attributes instead of delegating
it to the returned `MeterOption`. (#7266)
- `WithInstrumentationAttributes` in `go.opentelemetry.io/otel/log`
synchronously de-duplicates the passed attributes instead of delegating
it to the returned `LoggerOption`. (#7266)
- Rename the `OTEL_GO_X_SELF_OBSERVABILITY` environment variable to
`OTEL_GO_X_OBSERVABILITY` in `go.opentelemetry.io/otel/sdk/trace`,
`go.opentelemetry.io/otel/sdk/log`, and
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7302)
- Improve performance of histogram `Record` in
`go.opentelemetry.io/otel/sdk/metric` when min and max are disabled
using `NoMinMax`. (#7306)
- Improve error handling for dropped data during translation by using
`prometheus.NewInvalidMetric` in
`go.opentelemetry.io/otel/exporters/prometheus`. ⚠️ **Breaking Change:**
Previously, these cases were only logged and scrapes succeeded. 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)
- Replace fnv hash with xxhash in `go.opentelemetry.io/otel/attribute`
for better performance. (#7371)
- The default `TranslationStrategy` in
`go.opentelemetry.io/exporters/prometheus` is changed from
`otlptranslator.NoUTF8EscapingWithSuffixes` to
`otlptranslator.UnderscoreEscapingWithSuffixes`. (#7421)
- Improve performance of concurrent measurements in
`go.opentelemetry.io/otel/sdk/metric`. (#7427)
- Include W3C TraceFlags (bits 0–7) in the OTLP `Span.Flags` field in
`go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp` and
`go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc`. (#7438)
- The `ErrorType` function in `go.opentelemetry.io/otel/semconv/v1.37.0`
now handles custom error types.
If an error implements an `ErrorType() string` method, the return value
of that method will be used as the error type. (#7442)

### Fixed

- Fix `WithInstrumentationAttributes` options in
`go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/metric`, and
`go.opentelemetry.io/otel/log` to properly merge attributes when passed
multiple times instead of replacing them. Attributes with duplicate keys
will use the last value passed. (#7300)
- The equality of `attribute.Set` when using the `Equal` method is not
affected by the user overriding the empty set pointed to by
`attribute.EmptySet` in `go.opentelemetry.io/otel/attribute`. (#7357)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#7372)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#7372)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#7372)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#7372)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#7372)
- Return partial OTLP export errors to the caller in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#7372)
- Fix `AddAttributes`, `SetAttributes`, `SetBody` on `Record` in
`go.opentelemetry.io/otel/sdk/log` to not mutate input. (#7403)
- Do not double record measurements of `RecordSet` methods in
`go.opentelemetry.io/otel/semconv/v1.37.0`. (#7655)
- Do not double record measurements of `RecordSet` methods in
`go.opentelemetry.io/otel/semconv/v1.36.0`. (#7656)

### Removed

- Drop support for [Go 1.23]. (#7274)
- Remove the `FilterProcessor` interface in
`go.opentelemetry.io/otel/sdk/log`. The `Enabled` method has been added
to the `Processor` interface instead. All `Processor` implementations
must now implement the `Enabled` method. Custom processors that do not
filter records can implement `Enabled` to return `true`. (#7639)
2025-12-08 08:30:47 -08:00
renovate[bot] 5982f16d24 fix(deps): update module golang.org/x/sys to v0.39.0 (#7684)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| golang.org/x/sys | `v0.38.0` -> `v0.39.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.39.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.38.0/v0.39.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <42@dmathieu.com>
2025-12-08 14:46:26 +01:00
Preeti Dewani 49292857b7 Replace fnv with xxhash (#7497)
**Objective**:
- Performance comparison between fnv and xxhash in terms of ops/sec,
allocations and collisions
- Implement xxhash according to first objective

**Changes**:
- fnv is replaced by xxhash. 
  Perform stats:
  - **Collision**: No collision upto 100M
  - **Allocations**: Same in both cases
- **Ops/sec**: xxhash performed better in cases with medium to large
strings
 
 **Benchmarks**:
 ```
 benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: go.opentelemetry.io/otel/attribute
cpu: Apple M2
│ old.txt │ new.txt │
│ sec/op │ sec/op vs base │
NewSet-8 205.5n ± 1% 229.4n ± 1% +11.61% (p=0.002 n=6)
NewSetSmallStrings-8 160.5n ± 1% 169.0n ± 5% +5.26% (p=0.002 n=6)
NewSetMediumStrings-8 263.8n ± 6% 185.0n ± 1% -29.89% (p=0.002 n=6)
NewSetLargeStrings-8 426.4n ± 9% 210.2n ± 1% -50.72% (p=0.002 n=6)
NewSetVeryLargeStrings-8 1012.5n ± 7% 238.7n ± 2% -76.43% (p=0.002 n=6)
NewSetHugeStrings-8 3622.0n ± 8% 397.1n ± 1% -89.04% (p=0.002 n=6)
geomean                     488.6n        228.6n       -53.21%

│ old.txt │ new.txt │
│ B/op │ B/op vs base │
NewSet-8 448.0 ± 0% 448.0 ± 0% ~ (p=1.000 n=6) ¹
NewSetSmallStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹
NewSetMediumStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹
NewSetLargeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹
NewSetVeryLargeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹
NewSetHugeStrings-8 320.0 ± 0% 320.0 ± 0% ~ (p=1.000 n=6) ¹
geomean                    338.5        338.5       +0.00%
¹ all samples are equal

│ old.txt │ new.txt │
│ allocs/op │ allocs/op vs base │
NewSet-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSetSmallStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSetMediumStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSetLargeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSetVeryLargeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSetHugeStrings-8 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
geomean                    1.000        1.000       +0.00%
¹ all samples are equal
```

Previous implementation for reference: 
https://github.com/open-telemetry/opentelemetry-go/blame/d0483a7c89d936dcced557fb523465daeac16967/CHANGELOG.md#L16

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2025-11-19 11:06:20 +01:00
renovate[bot] d1ebd7b9ff fix(deps): update golang.org/x (#7590)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/sync | `v0.17.0` -> `v0.18.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.17.0/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sys | `v0.37.0` -> `v0.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.37.0/v0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 10:51:12 +01:00
renovate[bot] 0c97dfd6bd fix(deps): update golang.org/x (#7475)
This PR contains the following updates:

| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| golang.org/x/sys | `v0.36.0` -> `v0.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.36.0/v0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| indirect | minor |
| golang.org/x/sys | `v0.36.0` -> `v0.37.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.36.0/v0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| require | minor |
| golang.org/x/telemetry | `4eae98a` -> `badf71c` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftelemetry/v0.0.0-20251008142558-badf71c62812?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftelemetry/v0.0.0-20251001141935-4eae98a72453/v0.0.0-20251008142558-badf71c62812?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| indirect | digest |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 07:55:16 -07:00
Flc゛ 80cb909774 refactor: replace context.Background() with t.Context()/b.Context() in tests (#7352)
Based on the Go version we currently use, the dependency already
supports 1.24+, which allows using `t.Context()` and `b.Context()` in
unit tests and benchmarks respectively.

- Enable `context-background` and `context-todo` in
[`usetesting`](https://golangci-lint.run/docs/linters/configuration/#usetesting)
- Adjust the code to support linter detection

---------

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-09-23 09:52:45 +02:00
renovate[bot] 6243f21805 fix(deps): update module go.opentelemetry.io/auto/sdk to v1.2.1 (#7365)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[go.opentelemetry.io/auto/sdk](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation)
| `v1.1.0` -> `v1.2.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/go.opentelemetry.io%2fauto%2fsdk/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/go.opentelemetry.io%2fauto%2fsdk/v1.1.0/v1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-go-instrumentation
(go.opentelemetry.io/auto/sdk)</summary>

###
[`v1.2.1`](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/blob/HEAD/CHANGELOG.md#goopentelemetryioautosdk-v121---2025-09-15)

##### Fixed

- Fix `uint32` bounding on 32 bit architectures in the
`go.opentelemetry.io/auto/sdk` module.
([#&#8203;2810](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2810))

###
[`v1.2.0`](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/blob/HEAD/CHANGELOG.md#v0230v120---2025-09-10)

<!-- markdownlint-disable MD028 -->

> \[!NOTE]
> This is the last release version that will support building the
auto-instrumentation CLI using Go 1.23.
> The next release will require development to be done using Go >= 1.24.

<!-- markdownlint-enable MD028 -->

##### Added

- Cache offsets for `golang.org/x/net` `0.42.0`.
([#&#8203;2503](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2503))
- Cache offsets for `google.golang.org/grpc` `1.74.2`.
([#&#8203;2546](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2546))
- Cache offsets for `google.golang.org/grpc` `1.76.0-dev`.
([#&#8203;2596](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2596))
- Allow configuration of the resource using a [resource.Detector].
([#&#8203;2598](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2598))
- The `WithResourceDetector` function is added to
`go.opentelemetry.io/auto/pipeline/otelsdk`.
- The `WithEnv` function is updated to parse the
`OTEL_RESOURCE_DETECTOR` environment variable.
Values are expected to be a comma-separated list of resource detector
IDs registered with the [`autodetect` package].
- Cache offsets for Go `1.23.12`.
([#&#8203;2603](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2603))
- Cache offsets for Go `1.24.6`.
([#&#8203;2603](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2603))
- Cache offsets for `golang.org/x/net` `0.43.0`.
([#&#8203;2615](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2615))
- Cache offsets for Go `1.25.0`.
([#&#8203;2651](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2651))
- Cache offsets for `google.golang.org/grpc` `1.75.0`.
([#&#8203;2686](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2686))
- Cache offsets for `github.com/segmentio/kafka-go` `0.4.49`.
([#&#8203;2699](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2699))
- Cache offsets for `go.opentelemetry.io/otel` `v1.38.0`.
([#&#8203;2726](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2726))
- Cache offsets for Go `1.24.7`.
([#&#8203;2747](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2747))
- Cache offsets for Go `1.25.1`.
([#&#8203;2747](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2747))
- Cache offsets for `golang.org/x/net` `0.44.0`.
([#&#8203;2773](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2773))
- Cache offsets for `google.golang.org/grpc` `1.72.3`.
([#&#8203;2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787))
- Cache offsets for `google.golang.org/grpc` `1.73.1`.
([#&#8203;2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787))
- Cache offsets for `google.golang.org/grpc` `1.74.3`.
([#&#8203;2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787))
- Cache offsets for `google.golang.org/grpc` `1.75.1`.
([#&#8203;2787](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2787))

[resource.Detector]:
https://pkg.go.dev/go.opentelemetry.io/otel/sdk/resource#Detector

[`autodetect` package]:
https://pkg.go.dev/go.opentelemetry.io/contrib/detectors/autodetect

##### Changed

- Upgrade `go.opentelemetry.io/auto` semconv to `v1.37.0`.
([#&#8203;2763](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2763))
- Upgrade `go.opentelemetry.io/auto/sdk` semconv to `v1.37.0`.
([#&#8203;2763](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2763))

##### Fixed

- Add `telemetry.distro.version` resource attribute to the `otelsdk`
handler.
([#&#8203;2383](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2383))
- `active_spans_by_span_ptr` eBPF map used in the traceglobal probe
changed to LRU.
([#&#8203;2509](https://redirect.github.com/open-telemetry/opentelemetry-go-instrumentation/pull/2509))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJTa2lwIENoYW5nZWxvZyIsImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 20:06:06 +02:00
renovate[bot] 8ac554a28b fix(deps): update golang.org/x (#7320)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/sync | `v0.16.0` -> `v0.17.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sys | `v0.35.0` -> `v0.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.35.0/v0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-07 07:53:31 -07:00
Tyler Yahn 8ab8e421a5 Drop support for Go 1.23 (#7274) 2025-08-31 07:52:30 -07:00
Tyler Yahn 84e3f3ac8b Release v1.38.0 (#7271)
This release is the last to support [Go 1.23].
The next release will require at least [Go 1.24].

### Added

- Add native histogram exemplar support in
`go.opentelemetry.io/otel/exporters/prometheus`. (#6772)
- Add template attribute functions to the
`go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6939)
  - `ContainerLabel`
  - `DBOperationParameter`
  - `DBSystemParameter`
  - `HTTPRequestHeader`
  - `HTTPResponseHeader`
  - `K8SCronJobAnnotation`
  - `K8SCronJobLabel`
  - `K8SDaemonSetAnnotation`
  - `K8SDaemonSetLabel`
  - `K8SDeploymentAnnotation`
  - `K8SDeploymentLabel`
  - `K8SJobAnnotation`
  - `K8SJobLabel`
  - `K8SNamespaceAnnotation`
  - `K8SNamespaceLabel`
  - `K8SNodeAnnotation`
  - `K8SNodeLabel`
  - `K8SPodAnnotation`
  - `K8SPodLabel`
  - `K8SReplicaSetAnnotation`
  - `K8SReplicaSetLabel`
  - `K8SStatefulSetAnnotation`
  - `K8SStatefulSetLabel`
  - `ProcessEnvironmentVariable`
  - `RPCConnectRPCRequestMetadata`
  - `RPCConnectRPCResponseMetadata`
  - `RPCGRPCRequestMetadata`
  - `RPCGRPCResponseMetadata`
- Add `ErrorType` attribute helper function to the
`go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6962)
- Add `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log`
which can be used to disable deduplication for log records. (#6968)
- Add `WithCardinalityLimit` option to configure the cardinality limit
in `go.opentelemetry.io/otel/sdk/metric`. (#6996, #7065, #7081, #7164,
#7165, #7179)
- Add `Clone` method to `Record` in `go.opentelemetry.io/otel/log` that
returns a copy of the record with no shared state. (#7001)
- Add experimental self-observability span and batch span processor
metrics in `go.opentelemetry.io/otel/sdk/trace`. Check the
`go.opentelemetry.io/otel/sdk/trace/internal/x` package documentation
for more information. (#7027, #6393, #7209)
- The `go.opentelemetry.io/otel/semconv/v1.36.0` package. The package
contains semantic conventions from the `v1.36.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](./semconv/v1.36.0/MIGRATION.md) for information on how to
upgrade from `go.opentelemetry.io/otel/semconv/v1.34.0.`(#7032, #7041)
- Add support for configuring Prometheus name translation using
`WithTranslationStrategy` option in
`go.opentelemetry.io/otel/exporters/prometheus`. The current default
translation strategy when UTF-8 mode is enabled is
`NoUTF8EscapingWithSuffixes`, but a future release will change the
default strategy to `UnderscoreEscapingWithSuffixes` for compliance with
the specification. (#7111)
- Add experimental self-observability log metrics in
`go.opentelemetry.io/otel/sdk/log`. Check the
`go.opentelemetry.io/otel/sdk/log/internal/x` package documentation for
more information. (#7121)
- Add experimental self-observability trace exporter metrics in
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. Check the
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x`
package documentation for more information. (#7133)
- Support testing of [Go 1.25]. (#7187)
- The `go.opentelemetry.io/otel/semconv/v1.37.0` package. The package
contains semantic conventions from the `v1.37.0` version of the
OpenTelemetry Semantic Conventions. See the [migration
documentation](./semconv/v1.37.0/MIGRATION.md) for information on how to
upgrade from `go.opentelemetry.io/otel/semconv/v1.36.0.`(#7254)

### Changed

- Optimize `TraceIDFromHex` and `SpanIDFromHex` in
`go.opentelemetry.io/otel/sdk/trace`. (#6791)
- Change `AssertEqual` in `go.opentelemetry.io/otel/log/logtest` to
accept `TestingT` in order to support benchmarks and fuzz tests. (#6908)
- Change `DefaultExemplarReservoirProviderSelector` in
`go.opentelemetry.io/otel/sdk/metric` to use `runtime.GOMAXPROCS(0)`
instead of `runtime.NumCPU()` for the `FixedSizeReservoirProvider`
default size. (#7094)

### Fixed

- `SetBody` method of `Record` in `go.opentelemetry.io/otel/sdk/log` now
deduplicates key-value collections (`log.Value` of `log.KindMap` from
`go.opentelemetry.io/otel/log`). (#7002)
- Fix `go.opentelemetry.io/otel/exporters/prometheus` to not append a
suffix if it's already present in metric name. (#7088)
- Fix the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`
self-observability component type and name. (#7195)
- Fix partial export count metric in
`go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7199)

### Deprecated

- Deprecate `WithoutUnits` and `WithoutCounterSuffixes` options,
preferring `WithTranslationStrategy` instead. (#7111)
- Deprecate support for `OTEL_GO_X_CARDINALITY_LIMIT` environment
variable in `go.opentelemetry.io/otel/sdk/metric`. Use
`WithCardinalityLimit` option instead. (#7166)
2025-08-29 12:42:52 -07:00
Tyler Yahn 5358fd737d Upgrade semconv dependencies to v1.37.0 (#7260)
Resolve https://github.com/open-telemetry/opentelemetry-go/issues/7255
2025-08-28 11:29:52 +02:00
renovate[bot] 25d02741f7 fix(deps): update module github.com/stretchr/testify to v1.11.1 (#7261)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/stretchr/testify](https://redirect.github.com/stretchr/testify)
| `v1.11.0` -> `v1.11.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fstretchr%2ftestify/v1.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fstretchr%2ftestify/v1.11.0/v1.11.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>stretchr/testify (github.com/stretchr/testify)</summary>

###
[`v1.11.1`](https://redirect.github.com/stretchr/testify/releases/tag/v1.11.1)

[Compare
Source](https://redirect.github.com/stretchr/testify/compare/v1.11.0...v1.11.1)

This release fixes
[#&#8203;1785](https://redirect.github.com/stretchr/testify/issues/1785)
introduced in v1.11.0 where expected argument values implementing the
stringer interface (`String() string`) with a method which mutates their
value, when passed to mock.Mock.On (`m.On("Method",
<expected>).Return()`) or actual argument values passed to
mock.Mock.Called may no longer match one another where they previously
did match. The behaviour prior to v1.11.0 where the stringer is always
called is restored. Future testify releases may not call the stringer
method at all in this case.

#### What's Changed

- Backport
[#&#8203;1786](https://redirect.github.com/stretchr/testify/issues/1786)
to release/1.11: mock: revert to pre-v1.11.0 argument matching behavior
for mutating stringers by
[@&#8203;brackendawson](https://redirect.github.com/brackendawson) in
[#&#8203;1788](https://redirect.github.com/stretchr/testify/pull/1788)

**Full Changelog**:
<https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <damien.mathieu@elastic.co>
2025-08-27 20:20:20 +02:00
Tyler Yahn 4b2bef6dd9 [chore] Upgrade semconv pkg use to v1.36.0 (#7237)
Fix #7236
2025-08-25 16:33:34 +02:00
renovate[bot] 713a1d9a2a fix(deps): update module github.com/stretchr/testify to v1.11.0 (#7242)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[github.com/stretchr/testify](https://redirect.github.com/stretchr/testify)
| `v1.10.0` -> `v1.11.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fstretchr%2ftestify/v1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fstretchr%2ftestify/v1.10.0/v1.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>stretchr/testify (github.com/stretchr/testify)</summary>

###
[`v1.11.0`](https://redirect.github.com/stretchr/testify/releases/tag/v1.11.0)

[Compare
Source](https://redirect.github.com/stretchr/testify/compare/v1.10.0...v1.11.0)

#### What's Changed

##### Functional Changes

v1.11.0 Includes a number of performance improvements.

- Call stack perf change for CallerInfo by
[@&#8203;mikeauclair](https://redirect.github.com/mikeauclair) in
[#&#8203;1614](https://redirect.github.com/stretchr/testify/pull/1614)
- Lazily render mock diff output on successful match by
[@&#8203;mikeauclair](https://redirect.github.com/mikeauclair) in
[#&#8203;1615](https://redirect.github.com/stretchr/testify/pull/1615)
- assert: check early in Eventually, EventuallyWithT, and Never by
[@&#8203;cszczepaniak](https://redirect.github.com/cszczepaniak) in
[#&#8203;1427](https://redirect.github.com/stretchr/testify/pull/1427)
- assert: add IsNotType by
[@&#8203;bartventer](https://redirect.github.com/bartventer) in
[#&#8203;1730](https://redirect.github.com/stretchr/testify/pull/1730)
- assert.JSONEq: shortcut if same strings by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1754](https://redirect.github.com/stretchr/testify/pull/1754)
- assert.YAMLEq: shortcut if same strings by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1755](https://redirect.github.com/stretchr/testify/pull/1755)
- assert: faster and simpler isEmpty using reflect.Value.IsZero by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1761](https://redirect.github.com/stretchr/testify/pull/1761)
- suite: faster methods filtering (internal refactor) by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1758](https://redirect.github.com/stretchr/testify/pull/1758)

##### Fixes

- assert.ErrorAs: log target type by
[@&#8203;craig65535](https://redirect.github.com/craig65535) in
[#&#8203;1345](https://redirect.github.com/stretchr/testify/pull/1345)
- Fix failure message formatting for Positive and Negative asserts in
[#&#8203;1062](https://redirect.github.com/stretchr/testify/pull/1062)
- Improve ErrorIs message when error is nil but an error was expected by
[@&#8203;tsioftas](https://redirect.github.com/tsioftas) in
[#&#8203;1681](https://redirect.github.com/stretchr/testify/pull/1681)
- fix Subset/NotSubset when calling with mixed input types by
[@&#8203;siliconbrain](https://redirect.github.com/siliconbrain) in
[#&#8203;1729](https://redirect.github.com/stretchr/testify/pull/1729)
- Improve ErrorAs failure message when error is nil by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1734](https://redirect.github.com/stretchr/testify/pull/1734)
- mock.AssertNumberOfCalls: improve error msg by
[@&#8203;3scalation](https://redirect.github.com/3scalation) in
[#&#8203;1743](https://redirect.github.com/stretchr/testify/pull/1743)

##### Documentation, Build & CI

- docs: Fix typo in README by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[#&#8203;1688](https://redirect.github.com/stretchr/testify/pull/1688)
- Replace deprecated io/ioutil with io and os by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[#&#8203;1684](https://redirect.github.com/stretchr/testify/pull/1684)
- Document consequences of calling t.FailNow() by
[@&#8203;greg0ire](https://redirect.github.com/greg0ire) in
[#&#8203;1710](https://redirect.github.com/stretchr/testify/pull/1710)
- chore: update docs for Unset
[#&#8203;1621](https://redirect.github.com/stretchr/testify/issues/1621)
by [@&#8203;techfg](https://redirect.github.com/techfg) in
[#&#8203;1709](https://redirect.github.com/stretchr/testify/pull/1709)
- README: apply gofmt to examples by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[#&#8203;1687](https://redirect.github.com/stretchr/testify/pull/1687)
- refactor: use %q and %T to simplify fmt.Sprintf by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[#&#8203;1674](https://redirect.github.com/stretchr/testify/pull/1674)
- Propose Christophe Colombier (ccoVeille) as approver by
[@&#8203;brackendawson](https://redirect.github.com/brackendawson) in
[#&#8203;1716](https://redirect.github.com/stretchr/testify/pull/1716)
- Update documentation for the Error function in assert or require
package by [@&#8203;architagr](https://redirect.github.com/architagr) in
[#&#8203;1675](https://redirect.github.com/stretchr/testify/pull/1675)
- assert: remove deprecated build constraints by
[@&#8203;alexandear](https://redirect.github.com/alexandear) in
[#&#8203;1671](https://redirect.github.com/stretchr/testify/pull/1671)
- assert: apply gofumpt to internal test suite by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1739](https://redirect.github.com/stretchr/testify/pull/1739)
- CI: fix shebang in .ci.\*.sh scripts by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1746](https://redirect.github.com/stretchr/testify/pull/1746)
- assert,require: enable parallel testing on (almost) all top tests by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1747](https://redirect.github.com/stretchr/testify/pull/1747)
- suite.Passed: add one more status test report by
[@&#8203;Ararsa-Derese](https://redirect.github.com/Ararsa-Derese) in
[#&#8203;1706](https://redirect.github.com/stretchr/testify/pull/1706)
- Add Helper() method in internal mocks and assert.CollectT by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1423](https://redirect.github.com/stretchr/testify/pull/1423)
- assert.Same/NotSame: improve usage of Sprintf by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1742](https://redirect.github.com/stretchr/testify/pull/1742)
- mock: enable parallel testing on internal testsuite by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1756](https://redirect.github.com/stretchr/testify/pull/1756)
- suite: cleanup use of 'testing' internals at runtime by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1751](https://redirect.github.com/stretchr/testify/pull/1751)
- assert: check test failure message for Empty and NotEmpty by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1745](https://redirect.github.com/stretchr/testify/pull/1745)
- deps: fix dependency cycle with objx (again) by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1567](https://redirect.github.com/stretchr/testify/pull/1567)
- assert.Empty: comprehensive doc of "Empty"-ness rules by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1753](https://redirect.github.com/stretchr/testify/pull/1753)
- doc: improve godoc of top level 'testify' package by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1760](https://redirect.github.com/stretchr/testify/pull/1760)
- assert.ErrorAs: simplify retrieving the type name by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1740](https://redirect.github.com/stretchr/testify/pull/1740)
- assert.EqualValues: improve test coverage to 100% by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1763](https://redirect.github.com/stretchr/testify/pull/1763)
- suite.Run: simplify running of Setup/TeardownSuite by
[@&#8203;renzoarreaza](https://redirect.github.com/renzoarreaza) in
[#&#8203;1769](https://redirect.github.com/stretchr/testify/pull/1769)
- assert.CallerInfo: micro optimization by using LastIndexByte by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1767](https://redirect.github.com/stretchr/testify/pull/1767)
- assert.CallerInfo: micro cleanup by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1768](https://redirect.github.com/stretchr/testify/pull/1768)
- assert: refactor Test*FileExists and Test*DirExists tests to enable
parallel testing by [@&#8203;dolmen](https://redirect.github.com/dolmen)
in
[#&#8203;1766](https://redirect.github.com/stretchr/testify/pull/1766)
- suite.Run: refactor handling of stats for improved readability by
[@&#8203;dolmen](https://redirect.github.com/dolmen) in
[#&#8203;1764](https://redirect.github.com/stretchr/testify/pull/1764)
- tests: improve captureTestingT helper by
[@&#8203;ccoVeille](https://redirect.github.com/ccoVeille) in
[#&#8203;1741](https://redirect.github.com/stretchr/testify/pull/1741)
- build(deps): bump actions/checkout from 4 to 5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;1778](https://redirect.github.com/stretchr/testify/pull/1778)

#### New Contributors

- [@&#8203;greg0ire](https://redirect.github.com/greg0ire) made their
first contribution in
[#&#8203;1710](https://redirect.github.com/stretchr/testify/pull/1710)
- [@&#8203;techfg](https://redirect.github.com/techfg) made their first
contribution in
[#&#8203;1709](https://redirect.github.com/stretchr/testify/pull/1709)
- [@&#8203;mikeauclair](https://redirect.github.com/mikeauclair) made
their first contribution in
[#&#8203;1614](https://redirect.github.com/stretchr/testify/pull/1614)
- [@&#8203;cszczepaniak](https://redirect.github.com/cszczepaniak) made
their first contribution in
[#&#8203;1427](https://redirect.github.com/stretchr/testify/pull/1427)
- [@&#8203;architagr](https://redirect.github.com/architagr) made their
first contribution in
[#&#8203;1675](https://redirect.github.com/stretchr/testify/pull/1675)
- [@&#8203;tsioftas](https://redirect.github.com/tsioftas) made their
first contribution in
[#&#8203;1681](https://redirect.github.com/stretchr/testify/pull/1681)
- [@&#8203;siliconbrain](https://redirect.github.com/siliconbrain) made
their first contribution in
[#&#8203;1729](https://redirect.github.com/stretchr/testify/pull/1729)
- [@&#8203;bartventer](https://redirect.github.com/bartventer) made
their first contribution in
[#&#8203;1730](https://redirect.github.com/stretchr/testify/pull/1730)
- [@&#8203;Ararsa-Derese](https://redirect.github.com/Ararsa-Derese)
made their first contribution in
[#&#8203;1706](https://redirect.github.com/stretchr/testify/pull/1706)
- [@&#8203;renzoarreaza](https://redirect.github.com/renzoarreaza) made
their first contribution in
[#&#8203;1769](https://redirect.github.com/stretchr/testify/pull/1769)
- [@&#8203;3scalation](https://redirect.github.com/3scalation) made
their first contribution in
[#&#8203;1743](https://redirect.github.com/stretchr/testify/pull/1743)

**Full Changelog**:
<https://github.com/stretchr/testify/compare/v1.10.0...v1.11.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: flc1125 <four_leaf_clover@foxmail.com>
2025-08-25 14:38:44 +02:00
renovate[bot] 05bc453d3f fix(deps): update golang.org/x (#7138) 2025-08-07 16:43:09 +02:00
Matthieu MOREL 982391315f chore: enable gocritic linter (#7095)
#### Description

Enable and fixes several rules from
[gocritic](https://golangci-lint.run/usage/linters/#gocritic) linter

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2025-07-29 09:20:32 -07:00
Mikhail Mazurskiy 5e1c62a2d5 Modernize (#7089)
Use
https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
to update code to new style.

---------

Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-29 10:19:11 +02:00
Robert Pająk 186def7c56 sdk/trace: self-observability: span metrics (#7027)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7003

Implement following self-observability metrics from
https://github.com/open-telemetry/semantic-conventions/blob/v1.36.0/docs/otel/sdk-metrics.md
for https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace:
- `otel.sdk.span.live`
- `otel.sdk.span.started`
2025-07-22 11:36:06 +02:00
renovate[bot] 73b2cd39b0 fix(deps): update golang.org/x (#6989)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| golang.org/x/mod | `v0.25.0` -> `v0.26.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.25.0/v0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sync | `v0.15.0` -> `v0.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.15.0/v0.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/sys | `v0.33.0` -> `v0.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsys/v0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsys/v0.33.0/v0.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/text | `v0.26.0` -> `v0.27.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2ftext/v0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2ftext/v0.26.0/v0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 15:32:07 -07:00
Robert Pająk 69e81088ad Release 1.37.0/0.59.0/0.13.0 (#6925)
### Added

- The `go.opentelemetry.io/otel/semconv/v1.33.0` package.
The package contains semantic conventions from the `v1.33.0` version of
the OpenTelemetry Semantic Conventions.
See the [migration documentation](./semconv/v1.33.0/MIGRATION.md) for
information on how to upgrade from
`go.opentelemetry.io/otel/semconv/v1.32.0.`(#6799)
- The `go.opentelemetry.io/otel/semconv/v1.34.0` package.
The package contains semantic conventions from the `v1.34.0` version of
the OpenTelemetry Semantic Conventions. (#6812)
- Add metric's schema URL as `otel_scope_schema_url` label in
`go.opentelemetry.io/otel/exporters/prometheus`. (#5947)
- Add metric's scope attributes as `otel_scope_[attribute]` labels in
`go.opentelemetry.io/otel/exporters/prometheus`. (#5947)
- Add `EventName` to `EnabledParameters` in
`go.opentelemetry.io/otel/log`. (#6825)
- Add `EventName` to `EnabledParameters` in
`go.opentelemetry.io/otel/sdk/log`. (#6825)
- Changed handling of `go.opentelemetry.io/otel/exporters/prometheus`
metric renaming to add unit suffixes when it doesn't match one of the
pre-defined values in the unit suffix map. (#6839)

### Changed

- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/bridge/opentracing`. (#6827)
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/exporters/zipkin`. (#6829)
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/metric`. (#6832)
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/sdk/resource`. (#6834)
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/sdk/trace`. (#6835)
- The semantic conventions have been upgraded from `v1.26.0` to
`v1.34.0` in `go.opentelemetry.io/otel/trace`. (#6836)
- `Record.Resource` now returns `*resource.Resource` instead of
`resource.Resource` in `go.opentelemetry.io/otel/sdk/log`. (#6864)
- Retry now shows error cause for context timeout in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`,
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`,
`go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6898)

### Fixed

- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`.
(#6710)
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`.
(#6710)
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`.
(#6710)
- Stop stripping trailing slashes from configured endpoint URL in
`go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`.
(#6710)
- Validate exponential histogram scale range for Prometheus
compatibility in `go.opentelemetry.io/otel/exporters/prometheus`.
(#6822)
- Context cancellation during metric pipeline produce does not corrupt
data in `go.opentelemetry.io/otel/sdk/metric`. (#6914)

### Removed

- `go.opentelemetry.io/otel/exporters/prometheus` no longer exports
`otel_scope_info` metric. (#6770)
2025-06-25 08:41:12 +02:00
Tyler Yahn 31b44a2215 Upgrade semconv to 1.34.0 in exporters/zipkin (#6829) 2025-05-28 10:32:44 -07:00
renovate[bot] 261ed77ee2 fix(deps): update module github.com/go-logr/logr to v1.4.3 (#6842) 2025-05-28 18:02:07 +02:00