Support http/json protocol in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8273, #8775, #8831)
Add Hasher struct and methods in go.opentelemetry.io/otel/attribute to compute authoritative Distinct hashes incrementally for attribute filtering and deduplication. (#8598)
Changed
Lazily evaluate filtered and dropped attributes on measurement hot paths in go.opentelemetry.io/otel/sdk/metric to avoid unnecessary attribute set allocations. (#8598)
Add ErrExporterShutdown to go.opentelemetry.io/otel/sdk/log and return it from the go.opentelemetry.io/otel/exporters/stdout/stdoutlog, go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, and go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp exporters when Export is called after Shutdown. (#8773)
Clarify in go.opentelemetry.io/otel/log that calling Logger.Enabled is optional and that cached results can become stale. (#8764)
Fixed
Export dropped attribute counts in OTLP log records from go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc and go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8829)
Name span events created from OpenTracing logs after the event log field, falling back to log, instead of always using an empty name in go.opentelemetry.io/otel/bridge/opentracing. (#8648)
Count exception attributes omitted due to the attribute count limit as dropped in go.opentelemetry.io/otel/sdk/log. (#8796)
Prevent log record and instrumentation scope attributes with empty keys from reaching processors and exporters in go.opentelemetry.io/otel/sdk/log. (#8797)
Fix a data race when span attributes are read concurrently in go.opentelemetry.io/otel/sdk/trace. (#8706)
Prevent a panic in (*Set).Filter when called on a nil receiver in go.opentelemetry.io/otel/attribute. (#8792)
The simple span and log processors record otel.sdk.processor.{span,log}.processed when the record is submitted to the exporter instead of after the export completes, and no longer set error.type from the export outcome, in go.opentelemetry.io/otel/sdk/trace and go.opentelemetry.io/otel/sdk/log. (#8705)
Prevent Resource.MarshalLog from panicking on nil resources in go.opentelemetry.io/otel/sdk/resource. (#8758)
What's Changed
chore(deps): update github/codeql-action action to v4.37.6 by @renovate[bot] in #8697
chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.64.0 by @renovate[bot] in #8698
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/exporters/stdout/stdoutlog](https://github.com/open-telemetry/opentelemetry-go) | `v0.21.0` → `v0.22.0` |  |  |
| [go.opentelemetry.io/otel/log](https://github.com/open-telemetry/opentelemetry-go) | `v0.21.0` → `v0.22.0` |  |  |
| [go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/sdk/log](https://github.com/open-telemetry/opentelemetry-go) | `v0.21.0` → `v0.22.0` |  |  |
| [go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `v1.45.0` → `v1.46.0` |  |  |
---
### Release Notes
<details>
<summary>open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)</summary>
### [`v1.46.0`](https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.46.0): /v0.68.0/v0.22.0/v0.0.19
[Compare Source](https://github.com/open-telemetry/opentelemetry-go/compare/v1.45.0...v1.46.0)
This release is the last to support [Go 1.25].
The next release will require at least [Go 1.26].
##### Added
- Support testing of [Go 1.27]. ([#​8811](https://github.com/open-telemetry/opentelemetry-go/issues/8811))
- Support `http/json` protocol in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. ([#​8273](https://github.com/open-telemetry/opentelemetry-go/issues/8273), [#​8775](https://github.com/open-telemetry/opentelemetry-go/issues/8775), [#​8831](https://github.com/open-telemetry/opentelemetry-go/issues/8831))
- Add `Hasher` struct and methods in `go.opentelemetry.io/otel/attribute` to compute authoritative `Distinct` hashes incrementally for attribute filtering and deduplication. ([#​8598](https://github.com/open-telemetry/opentelemetry-go/issues/8598))
##### Changed
- Lazily evaluate filtered and dropped attributes on measurement hot paths in `go.opentelemetry.io/otel/sdk/metric` to avoid unnecessary attribute set allocations. ([#​8598](https://github.com/open-telemetry/opentelemetry-go/issues/8598))
- Add `ErrExporterShutdown` to `go.opentelemetry.io/otel/sdk/log` and return it from the `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`, `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` exporters when `Export` is called after `Shutdown`. ([#​8773](https://github.com/open-telemetry/opentelemetry-go/issues/8773))
- Clarify in `go.opentelemetry.io/otel/log` that calling `Logger.Enabled` is optional and that cached results can become stale. ([#​8764](https://github.com/open-telemetry/opentelemetry-go/issues/8764))
##### Fixed
- Export dropped attribute counts in OTLP log records from `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. ([#​8829](https://github.com/open-telemetry/opentelemetry-go/issues/8829))
- Name span events created from OpenTracing logs after the `event` log field, falling back to `log`, instead of always using an empty name in `go.opentelemetry.io/otel/bridge/opentracing`. ([#​8648](https://github.com/open-telemetry/opentelemetry-go/issues/8648))
- Count exception attributes omitted due to the attribute count limit as dropped in `go.opentelemetry.io/otel/sdk/log`. ([#​8796](https://github.com/open-telemetry/opentelemetry-go/issues/8796))
- Prevent log record and instrumentation scope attributes with empty keys from reaching processors and exporters in `go.opentelemetry.io/otel/sdk/log`. ([#​8797](https://github.com/open-telemetry/opentelemetry-go/issues/8797))
- Fix a data race when span attributes are read concurrently in `go.opentelemetry.io/otel/sdk/trace`. ([#​8706](https://github.com/open-telemetry/opentelemetry-go/issues/8706))
- Prevent a panic in `(*Set).Filter` when called on a nil receiver in `go.opentelemetry.io/otel/attribute`. ([#​8792](https://github.com/open-telemetry/opentelemetry-go/issues/8792))
- The simple span and log processors record `otel.sdk.processor.{span,log}.processed` when the record is submitted to the exporter instead of after the export completes, and no longer set `error.type` from the export outcome, in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. ([#​8705](https://github.com/open-telemetry/opentelemetry-go/issues/8705))
- Prevent `Resource.MarshalLog` from panicking on nil resources in `go.opentelemetry.io/otel/sdk/resource`. ([#​8758](https://github.com/open-telemetry/opentelemetry-go/issues/8758))
[Go 1.27]: https://go.dev/doc/go1.27
[Go 1.26]: https://go.dev/doc/go1.26
[Go 1.25]: https://go.dev/doc/go1.25
##### What's Changed
- chore(deps): update github/codeql-action action to v4.37.6 by [@​renovate](https://github.com/renovate)\[bot] in [#​8697](https://github.com/open-telemetry/opentelemetry-go/pull/8697)
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.64.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8698](https://github.com/open-telemetry/opentelemetry-go/pull/8698)
- chore(deps): update golang.org/x/telemetry digest to [`bdd03c3`](https://github.com/open-telemetry/opentelemetry-go/commit/bdd03c3) by [@​renovate](https://github.com/renovate)\[bot] in [#​8699](https://github.com/open-telemetry/opentelemetry-go/pull/8699)
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.64.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8700](https://github.com/open-telemetry/opentelemetry-go/pull/8700)
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.30.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8701](https://github.com/open-telemetry/opentelemetry-go/pull/8701)
- chore(deps): update module github.com/rogpeppe/go-internal to v1.16.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8702](https://github.com/open-telemetry/opentelemetry-go/pull/8702)
- chore(deps): update module github.com/cloudflare/circl to v1.6.5 by [@​renovate](https://github.com/renovate)\[bot] in [#​8703](https://github.com/open-telemetry/opentelemetry-go/pull/8703)
- Record processor.{span,log}.processed before invoking the exporter in simple processors by [@​cijothomas](https://github.com/cijothomas) in [#​8705](https://github.com/open-telemetry/opentelemetry-go/pull/8705)
- perf(sdk/metric): reduce benchmark suite execution time ([#​8683](https://github.com/open-telemetry/opentelemetry-go/issues/8683)) by [@​dashpole](https://github.com/dashpole) in [#​8688](https://github.com/open-telemetry/opentelemetry-go/pull/8688)
- chore(deps): update codspeedhq/action action to v5.0.3 by [@​renovate](https://github.com/renovate)\[bot] in [#​8710](https://github.com/open-telemetry/opentelemetry-go/pull/8710)
- attempt 2: Lazily compute filtered and dropped attributes by [@​dashpole](https://github.com/dashpole) in [#​8598](https://github.com/open-telemetry/opentelemetry-go/pull/8598)
- fix(deps): update googleapis to [`c8921c7`](https://github.com/open-telemetry/opentelemetry-go/commit/c8921c7) by [@​renovate](https://github.com/renovate)\[bot] in [#​8712](https://github.com/open-telemetry/opentelemetry-go/pull/8712)
- chore(deps): update module github.com/santhosh-tekuri/jsonschema/v6 to v6.0.3 by [@​renovate](https://github.com/renovate)\[bot] in [#​8708](https://github.com/open-telemetry/opentelemetry-go/pull/8708)
- chore(deps): update github.com/charmbracelet/ultraviolet digest to [`402eeaa`](https://github.com/open-telemetry/opentelemetry-go/commit/402eeaa) by [@​renovate](https://github.com/renovate)\[bot] in [#​8716](https://github.com/open-telemetry/opentelemetry-go/pull/8716)
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.6.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8715](https://github.com/open-telemetry/opentelemetry-go/pull/8715)
- chore(deps): update mvdan.cc/unparam digest to [`a64391f`](https://github.com/open-telemetry/opentelemetry-go/commit/a64391f) by [@​renovate](https://github.com/renovate)\[bot] in [#​8717](https://github.com/open-telemetry/opentelemetry-go/pull/8717)
- fix(deps): update golang.org/x to [`a8b543c`](https://github.com/open-telemetry/opentelemetry-go/commit/a8b543c) by [@​renovate](https://github.com/renovate)\[bot] in [#​8720](https://github.com/open-telemetry/opentelemetry-go/pull/8720)
- fix(deps): update googleapis to [`ec0a776`](https://github.com/open-telemetry/opentelemetry-go/commit/ec0a776) by [@​renovate](https://github.com/renovate)\[bot] in [#​8719](https://github.com/open-telemetry/opentelemetry-go/pull/8719)
- chore(deps): update module golang.org/x/mod to v0.39.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8722](https://github.com/open-telemetry/opentelemetry-go/pull/8722)
- Disable Go module major updates to v2+ by [@​MrAlias](https://github.com/MrAlias) in [#​8475](https://github.com/open-telemetry/opentelemetry-go/pull/8475)
- otlp: wrap the Cause error when context is canceled by [@​bboreham](https://github.com/bboreham) in [#​7811](https://github.com/open-telemetry/opentelemetry-go/pull/7811)
- ci: add shared security scanning workflow by [@​opentelemetrybot](https://github.com/opentelemetrybot) in [#​8684](https://github.com/open-telemetry/opentelemetry-go/pull/8684)
- fix(deps): update module google.golang.org/protobuf to v1.36.12 by [@​renovate](https://github.com/renovate)\[bot] in [#​8721](https://github.com/open-telemetry/opentelemetry-go/pull/8721)
- chore(deps): update open-telemetry/shared-workflows action to v0.6.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8725](https://github.com/open-telemetry/opentelemetry-go/pull/8725)
- chore(deps): update module github.com/charmbracelet/x/ansi to v0.11.8 by [@​renovate](https://github.com/renovate)\[bot] in [#​8733](https://github.com/open-telemetry/opentelemetry-go/pull/8733)
- fix(deps): update golang.org/x by [@​renovate](https://github.com/renovate)\[bot] in [#​8732](https://github.com/open-telemetry/opentelemetry-go/pull/8732)
- chore(deps): update github.com/charmbracelet/ultraviolet digest to [`006e29f`](https://github.com/open-telemetry/opentelemetry-go/commit/006e29f) by [@​renovate](https://github.com/renovate)\[bot] in [#​8734](https://github.com/open-telemetry/opentelemetry-go/pull/8734)
- ci: use shared OSSF Scorecard workflow by [@​opentelemetrybot](https://github.com/opentelemetrybot) in [#​8737](https://github.com/open-telemetry/opentelemetry-go/pull/8737)
- Support `http/json` in `otlptracehttp` by [@​sqyang94](https://github.com/sqyang94) in [#​8273](https://github.com/open-telemetry/opentelemetry-go/pull/8273)
- chore(deps): update module github.com/xo/terminfo to v1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8727](https://github.com/open-telemetry/opentelemetry-go/pull/8727)
- fix(deps): update golang.org/x by [@​renovate](https://github.com/renovate)\[bot] in [#​8742](https://github.com/open-telemetry/opentelemetry-go/pull/8742)
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to [`0e895d2`](https://github.com/open-telemetry/opentelemetry-go/commit/0e895d2) by [@​renovate](https://github.com/renovate)\[bot] in [#​8726](https://github.com/open-telemetry/opentelemetry-go/pull/8726)
- chore(deps): update github.com/charmbracelet/ultraviolet digest to [`68fa937`](https://github.com/open-telemetry/opentelemetry-go/commit/68fa937) by [@​renovate](https://github.com/renovate)\[bot] in [#​8741](https://github.com/open-telemetry/opentelemetry-go/pull/8741)
- chore(deps): update module charm.land/lipgloss/v2 to v2.0.6 by [@​renovate](https://github.com/renovate)\[bot] in [#​8735](https://github.com/open-telemetry/opentelemetry-go/pull/8735)
- \[chore] docs: clarify compatibility promise by [@​RedZapdos123](https://github.com/RedZapdos123) in [#​8686](https://github.com/open-telemetry/opentelemetry-go/pull/8686)
- chore(deps): update mvdan.cc/unparam digest to [`06ca53c`](https://github.com/open-telemetry/opentelemetry-go/commit/06ca53c) by [@​renovate](https://github.com/renovate)\[bot] in [#​8744](https://github.com/open-telemetry/opentelemetry-go/pull/8744)
- \[chore] Reenable context-as-argument revive linter by [@​om7057](https://github.com/om7057) in [#​8718](https://github.com/open-telemetry/opentelemetry-go/pull/8718)
- fix(deps): update golang.org/x by [@​renovate](https://github.com/renovate)\[bot] in [#​8746](https://github.com/open-telemetry/opentelemetry-go/pull/8746)
- chore(deps): update github/codeql-action action to v4.37.7 by [@​renovate](https://github.com/renovate)\[bot] in [#​8745](https://github.com/open-telemetry/opentelemetry-go/pull/8745)
- chore(deps): update module github.com/sirupsen/logrus to v1.10.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8747](https://github.com/open-telemetry/opentelemetry-go/pull/8747)
- fix(deps): update golang.org/x by [@​renovate](https://github.com/renovate)\[bot] in [#​8748](https://github.com/open-telemetry/opentelemetry-go/pull/8748)
- ci: add cross-build workflow by [@​TheJhyeFactor](https://github.com/TheJhyeFactor) in [#​8634](https://github.com/open-telemetry/opentelemetry-go/pull/8634)
- Add partial benchmarks in CI by [@​XSAM](https://github.com/XSAM) in [#​8387](https://github.com/open-telemetry/opentelemetry-go/pull/8387)
- chore(deps): update ubuntu docker tag to v26 by [@​renovate](https://github.com/renovate)\[bot] in [#​8755](https://github.com/open-telemetry/opentelemetry-go/pull/8755)
- chore(deps): update mvdan.cc/unparam digest to [`3570034`](https://github.com/open-telemetry/opentelemetry-go/commit/3570034) by [@​renovate](https://github.com/renovate)\[bot] in [#​8749](https://github.com/open-telemetry/opentelemetry-go/pull/8749)
- chore(deps): update open-telemetry/shared-workflows action to v0.7.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8751](https://github.com/open-telemetry/opentelemetry-go/pull/8751)
- chore(deps): update golang.org/x/telemetry digest to [`d8c1694`](https://github.com/open-telemetry/opentelemetry-go/commit/d8c1694) by [@​renovate](https://github.com/renovate)\[bot] in [#​8757](https://github.com/open-telemetry/opentelemetry-go/pull/8757)
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.7.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8761](https://github.com/open-telemetry/opentelemetry-go/pull/8761)
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.65.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8767](https://github.com/open-telemetry/opentelemetry-go/pull/8767)
- Fix race in concurrent span attribute reads by [@​MrAlias](https://github.com/MrAlias) in [#​8706](https://github.com/open-telemetry/opentelemetry-go/pull/8706)
- Test OTLP retry cancellation causes by [@​MrAlias](https://github.com/MrAlias) in [#​8724](https://github.com/open-telemetry/opentelemetry-go/pull/8724)
- chore(deps): update module github.com/mattn/go-runewidth to v0.0.28 by [@​renovate](https://github.com/renovate)\[bot] in [#​8771](https://github.com/open-telemetry/opentelemetry-go/pull/8771)
- log: clarify that Logger.Enabled is optional by [@​pellared](https://github.com/pellared) in [#​8764](https://github.com/open-telemetry/opentelemetry-go/pull/8764)
- Prevent a nil-pointer panic in (\*attribute.Set).Filter by [@​Shaurya2k06](https://github.com/Shaurya2k06) in [#​8792](https://github.com/open-telemetry/opentelemetry-go/pull/8792)
- Return shutdown error from log exporters by [@​pellared](https://github.com/pellared) in [#​8773](https://github.com/open-telemetry/opentelemetry-go/pull/8773)
- fix(deps): update module google.golang.org/grpc to v1.83.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8804](https://github.com/open-telemetry/opentelemetry-go/pull/8804)
- chore(deps): update module github.com/sirupsen/logrus to v1.10.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8803](https://github.com/open-telemetry/opentelemetry-go/pull/8803)
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to [`8a76746`](https://github.com/open-telemetry/opentelemetry-go/commit/8a76746) by [@​renovate](https://github.com/renovate)\[bot] in [#​8799](https://github.com/open-telemetry/opentelemetry-go/pull/8799)
- chore(deps): update ubuntu:26.04 docker digest to [`889d056`](https://github.com/open-telemetry/opentelemetry-go/commit/889d056) by [@​renovate](https://github.com/renovate)\[bot] in [#​8798](https://github.com/open-telemetry/opentelemetry-go/pull/8798)
- chore(deps): update module github.com/alwxsin/noinlineerr to v1.0.6 by [@​renovate](https://github.com/renovate)\[bot] in [#​8794](https://github.com/open-telemetry/opentelemetry-go/pull/8794)
- chore(deps): update mvdan.cc/unparam digest to [`3f964bc`](https://github.com/open-telemetry/opentelemetry-go/commit/3f964bc) by [@​renovate](https://github.com/renovate)\[bot] in [#​8793](https://github.com/open-telemetry/opentelemetry-go/pull/8793)
- fix(deps): update googleapis to [`08b0e42`](https://github.com/open-telemetry/opentelemetry-go/commit/08b0e42) by [@​renovate](https://github.com/renovate)\[bot] in [#​8770](https://github.com/open-telemetry/opentelemetry-go/pull/8770)
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.65.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8768](https://github.com/open-telemetry/opentelemetry-go/pull/8768)
- fix(deps): update module github.com/stretchr/testify to v1.12.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8763](https://github.com/open-telemetry/opentelemetry-go/pull/8763)
- chore(deps): update open-telemetry/shared-workflows action to v0.8.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8807](https://github.com/open-telemetry/opentelemetry-go/pull/8807)
- chore(deps): update golang.org/x/telemetry digest to [`f79da96`](https://github.com/open-telemetry/opentelemetry-go/commit/f79da96) by [@​renovate](https://github.com/renovate)\[bot] in [#​8806](https://github.com/open-telemetry/opentelemetry-go/pull/8806)
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8808](https://github.com/open-telemetry/opentelemetry-go/pull/8808)
- Fix grammar in Logs GoDoc comments by [@​pellared](https://github.com/pellared) in [#​8802](https://github.com/open-telemetry/opentelemetry-go/pull/8802)
- chore(deps): update module github.com/bombsimon/wsl/v5 to v5.9.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8810](https://github.com/open-telemetry/opentelemetry-go/pull/8810)
- chore(deps): update mvdan.cc/unparam digest to [`a201bf8`](https://github.com/open-telemetry/opentelemetry-go/commit/a201bf8) by [@​renovate](https://github.com/renovate)\[bot] in [#​8809](https://github.com/open-telemetry/opentelemetry-go/pull/8809)
- chore(deps): update module github.com/nunnatsa/ginkgolinter to v0.24.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8813](https://github.com/open-telemetry/opentelemetry-go/pull/8813)
- sdk/resource: prevent nil MarshalLog panic by [@​jstar0](https://github.com/jstar0) in [#​8758](https://github.com/open-telemetry/opentelemetry-go/pull/8758)
- sdk/log: discard attributes with empty keys by [@​pellared](https://github.com/pellared) in [#​8797](https://github.com/open-telemetry/opentelemetry-go/pull/8797)
- fix(deps): update golang.org/x by [@​renovate](https://github.com/renovate)\[bot] in [#​8814](https://github.com/open-telemetry/opentelemetry-go/pull/8814)
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8818](https://github.com/open-telemetry/opentelemetry-go/pull/8818)
- Support Go 1.27 by [@​pellared](https://github.com/pellared) in [#​8811](https://github.com/open-telemetry/opentelemetry-go/pull/8811)
- Fix OTLP JSON encoding of non-finite doubles by [@​pellared](https://github.com/pellared) in [#​8775](https://github.com/open-telemetry/opentelemetry-go/pull/8775)
- chore(deps): update open-telemetry/shared-workflows action to v0.10.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8821](https://github.com/open-telemetry/opentelemetry-go/pull/8821)
- chore(deps): update github/codeql-action action to v4.37.8 by [@​renovate](https://github.com/renovate)\[bot] in [#​8833](https://github.com/open-telemetry/opentelemetry-go/pull/8833)
- sdk/log: count limit-suppressed exception attributes as dropped by [@​pellared](https://github.com/pellared) in [#​8796](https://github.com/open-telemetry/opentelemetry-go/pull/8796)
- bridge/opentracing: set span event name from the event log field by [@​singhlovepreet9](https://github.com/singhlovepreet9) in [#​8648](https://github.com/open-telemetry/opentelemetry-go/pull/8648)
- \[chore] Remove stale TODO([#​7066](https://github.com/open-telemetry/opentelemetry-go/issues/7066)) comments in prometheus exporter by [@​om7057](https://github.com/om7057) in [#​8738](https://github.com/open-telemetry/opentelemetry-go/pull/8738)
- chore(deps): update module github.com/mgechev/revive to v1.16.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8835](https://github.com/open-telemetry/opentelemetry-go/pull/8835)
- \[chore] Add doc comments to exported internal symbols (2/N) by [@​om7057](https://github.com/om7057) in [#​8762](https://github.com/open-telemetry/opentelemetry-go/pull/8762)
- chore(deps): update mvdan.cc/unparam digest to [`2fa3d84`](https://github.com/open-telemetry/opentelemetry-go/commit/2fa3d84) by [@​renovate](https://github.com/renovate)\[bot] in [#​8850](https://github.com/open-telemetry/opentelemetry-go/pull/8850)
- chore(deps): update golang.org/x/telemetry digest to [`16c97dc`](https://github.com/open-telemetry/opentelemetry-go/commit/16c97dc) by [@​renovate](https://github.com/renovate)\[bot] in [#​8837](https://github.com/open-telemetry/opentelemetry-go/pull/8837)
- chore(deps): update module github.com/uudashr/iface to v1.5.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8841](https://github.com/open-telemetry/opentelemetry-go/pull/8841)
- chore(deps): update codspeedhq/action action to v5.2.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​8851](https://github.com/open-telemetry/opentelemetry-go/pull/8851)
- chore(deps): update module honnef.co/go/tools to v0.8.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8816](https://github.com/open-telemetry/opentelemetry-go/pull/8816)
- otlplog: export dropped attribute count by [@​pellared](https://github.com/pellared) in [#​8829](https://github.com/open-telemetry/opentelemetry-go/pull/8829)
- otlptracehttp: Accept quoted finite doubles in OTLP JSON by [@​pellared](https://github.com/pellared) in [#​8831](https://github.com/open-telemetry/opentelemetry-go/pull/8831)
- sdk/log: Add interface stability markers by [@​pellared](https://github.com/pellared) in [#​8855](https://github.com/open-telemetry/opentelemetry-go/pull/8855)
- attribute: clarify xxhash test purpose by [@​RedZapdos123](https://github.com/RedZapdos123) in [#​8753](https://github.com/open-telemetry/opentelemetry-go/pull/8753)
- chore(deps): update codspeedhq/action action to v5.2.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​8854](https://github.com/open-telemetry/opentelemetry-go/pull/8854)
- chore(deps): update golang.org/x/telemetry digest to [`1f5465a`](https://github.com/open-telemetry/opentelemetry-go/commit/1f5465a) by [@​renovate](https://github.com/renovate)\[bot] in [#​8853](https://github.com/open-telemetry/opentelemetry-go/pull/8853)
- Release v1.46.0 by [@​pellared](https://github.com/pellared) in [#​8858](https://github.com/open-telemetry/opentelemetry-go/pull/8858)
##### New Contributors
- [@​sqyang94](https://github.com/sqyang94) made their first contribution in [#​8273](https://github.com/open-telemetry/opentelemetry-go/pull/8273)
- [@​om7057](https://github.com/om7057) made their first contribution in [#​8718](https://github.com/open-telemetry/opentelemetry-go/pull/8718)
- [@​TheJhyeFactor](https://github.com/TheJhyeFactor) made their first contribution in [#​8634](https://github.com/open-telemetry/opentelemetry-go/pull/8634)
- [@​Shaurya2k06](https://github.com/Shaurya2k06) made their first contribution in [#​8792](https://github.com/open-telemetry/opentelemetry-go/pull/8792)
- [@​jstar0](https://github.com/jstar0) made their first contribution in [#​8758](https://github.com/open-telemetry/opentelemetry-go/pull/8758)
- [@​singhlovepreet9](https://github.com/singhlovepreet9) made their first contribution in [#​8648](https://github.com/open-telemetry/opentelemetry-go/pull/8648)
**Full Changelog**: <https://github.com/open-telemetry/opentelemetry-go/compare/v1.45.0...v1.46.0>
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **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://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v1.45.0→v1.46.0v1.45.0→v1.46.0v1.45.0→v1.46.0v0.21.0→v0.22.0v0.21.0→v0.22.0v1.45.0→v1.46.0v1.45.0→v1.46.0v0.21.0→v0.22.0v1.45.0→v1.46.0v1.45.0→v1.46.0Release Notes
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)
v1.46.0: /v0.68.0/v0.22.0/v0.0.19Compare Source
This release is the last to support Go 1.25.
The next release will require at least Go 1.26.
Added
http/jsonprotocol ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8273, #8775, #8831)Hasherstruct and methods ingo.opentelemetry.io/otel/attributeto compute authoritativeDistincthashes incrementally for attribute filtering and deduplication. (#8598)Changed
go.opentelemetry.io/otel/sdk/metricto avoid unnecessary attribute set allocations. (#8598)ErrExporterShutdowntogo.opentelemetry.io/otel/sdk/logand return it from thego.opentelemetry.io/otel/exporters/stdout/stdoutlog,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpexporters whenExportis called afterShutdown. (#8773)go.opentelemetry.io/otel/logthat callingLogger.Enabledis optional and that cached results can become stale. (#8764)Fixed
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpcandgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8829)eventlog field, falling back tolog, instead of always using an empty name ingo.opentelemetry.io/otel/bridge/opentracing. (#8648)go.opentelemetry.io/otel/sdk/log. (#8796)go.opentelemetry.io/otel/sdk/log. (#8797)go.opentelemetry.io/otel/sdk/trace. (#8706)(*Set).Filterwhen called on a nil receiver ingo.opentelemetry.io/otel/attribute. (#8792)otel.sdk.processor.{span,log}.processedwhen the record is submitted to the exporter instead of after the export completes, and no longer seterror.typefrom the export outcome, ingo.opentelemetry.io/otel/sdk/traceandgo.opentelemetry.io/otel/sdk/log. (#8705)Resource.MarshalLogfrom panicking on nil resources ingo.opentelemetry.io/otel/sdk/resource. (#8758)What's Changed
bdd03c3by @renovate[bot] in #8699c8921c7by @renovate[bot] in #8712402eeaaby @renovate[bot] in #8716a64391fby @renovate[bot] in #8717a8b543cby @renovate[bot] in #8720ec0a776by @renovate[bot] in #8719006e29fby @renovate[bot] in #8734http/jsoninotlptracehttpby @sqyang94 in #82730e895d2by @renovate[bot] in #872668fa937by @renovate[bot] in #874106ca53cby @renovate[bot] in #87443570034by @renovate[bot] in #8749d8c1694by @renovate[bot] in #87578a76746by @renovate[bot] in #8799889d056by @renovate[bot] in #87983f964bcby @renovate[bot] in #879308b0e42by @renovate[bot] in #8770f79da96by @renovate[bot] in #8806a201bf8by @renovate[bot] in #88092fa3d84by @renovate[bot] in #885016c97dcby @renovate[bot] in #88371f5465aby @renovate[bot] in #8853New Contributors
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.45.0...v1.46.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ 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 if that's undesired.
This PR has been generated by Mend Renovate CLI.
ℹ️ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the
go getcommand, which resulted in the following additional change(s):Details:
github.com/grpc-ecosystem/grpc-gateway/v2v2.29.0->v2.30.0go.opentelemetry.io/otel/exporters/otlp/otlptracev1.45.0->v1.46.0golang.org/x/netv0.57.0->v0.58.0golang.org/x/textv0.40.0->v0.41.0google.golang.org/genproto/googleapis/apiv0.0.0-20260803160001-6ac0973c030d->v0.0.0-20260819154853-08b0e4226688google.golang.org/genproto/googleapis/rpcv0.0.0-20260803160001-6ac0973c030d->v0.0.0-20260819154853-08b0e4226688google.golang.org/grpcv1.83.0->v1.83.1google.golang.org/protobufv1.36.11->v1.36.12Coverage Report
Total coverage: 21%