[REVIEW ONLY DO NOT MERGE] Span counting + khan specific change#1
Draft
zaquestion wants to merge 37 commits into
Draft
[REVIEW ONLY DO NOT MERGE] Span counting + khan specific change#1zaquestion wants to merge 37 commits into
zaquestion wants to merge 37 commits into
Conversation
The goal of this feature is to enrich traces leaving refinery with more information about what happened in the trace and ease querying on that information in honeycomb. Scenario: Finding endpoints with lots of database interactions Challenge: In honeycomb (and most trace providers) querying is done on span events themselves, and there's only a single layer of aggregation. You can query for a count of events where db.statement is set and group that by resolver name. You'll end up with the total number of database interactions per endpoint. Useful, but you can't take the avg or 99th% sum of database interactions and see what endpoints are having issues. I'll note that it is possible to create a calculated field to count the interactions, compute a sum of that, and group by `trace.trace_id` to see what endpoints are the worst offenders. If you export this table, you can throw it into a sheet and do a second aggregation to get the avg of those sums. That said, it's really expensive to do these querys and I've found them to be really slow. Thus the goal of these changes is to make it dramatically easier to query and monitor these values in widgets. For example: I might setup a filter for spans with `db.statement` to count the number of database interactions in a trace. Then in honeycomb I can take the avg of a new database_interactions attribute now set on root spans.
Extracts findSuitableRootSpan: prefers the trace's RootSpan, falls back to the first non-annotation span (not a span event or link). Updates computeCustomCounts to use it so custom counts land on the best available span even when no root has arrived before the trace times out.
) ## Which problem is this PR solving? Removes the hardcoded `honeycombio/pipeline-team` reviewer from the dependabot config as part of renaming the GitHub team. ## Short description of the changes - Removes the `reviewers` entry from `.github/dependabot.yml` Dependabot PRs will still require a review via the CODEOWNERS branch protection rule. Part of OTEL-125
Update codeowners to the `agentic-observability` team.
…eycombio#1799) Include metrics to show when Refinery is getting close to the limit for peer queue, incoming queue, and memory allocation.
…dates (honeycombio#1795) Bumps the minor-patch group with 12 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/honeycombio/husky](https://github.com/honeycombio/husky) | `0.41.0` | `0.43.0` | | [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.18.2` | `1.18.4` | | [github.com/open-telemetry/opamp-go](https://github.com/open-telemetry/opamp-go) | `0.22.0` | `0.23.0` | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `0.145.0` | `0.147.0` | | [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.17.3` | `9.18.0` | | [github.com/tinylib/msgp](https://github.com/tinylib/msgp) | `1.6.2` | `1.6.3` | | [github.com/valyala/fastjson](https://github.com/valyala/fastjson) | `1.6.7` | `1.6.10` | | [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.65.0` | `0.67.0` | | [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.65.0` | `0.67.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://github.com/open-telemetry/opentelemetry-go) | `1.40.0` | `1.42.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.40.0` | `1.42.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.40.0` | `1.42.0` | Updates `github.com/honeycombio/husky` from 0.41.0 to 0.43.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/honeycombio/husky/releases">github.com/honeycombio/husky's releases</a>.</em></p> <blockquote> <h2>v0.43.0</h2> <!-- raw HTML omitted --> <h2>What's Changed</h2> <h3>✨ Added</h3> <ul> <li>feat(otlp): emit app.schema_urls telemetry for traces and logs (<a href="https://redirect.github.com/honeycombio/husky/issues/349">#349</a>) | <a href="https://github.com/MikeGoldsmith">Mike Goldsmith</a></li> <li>feat: replace OTLP proto fork with a 0.7 compat package (<a href="https://redirect.github.com/honeycombio/husky/issues/347">#347</a>) | <a href="https://github.com/robbkidd">Robb Kidd</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/honeycombio/husky/compare/v0.42.0...v0.43.0">https://github.com/honeycombio/husky/compare/v0.42.0...v0.43.0</a></p> <h2>v0.42.0</h2> <h2>What's Changed</h2> <p>✨ Added</p> <ul> <li>feat(otlp): record schema_url for traces and logs by <a href="https://github.com/MikeGoldsmith"><code>@MikeGoldsmith</code></a> in <a href="https://redirect.github.com/honeycombio/husky/pull/344">honeycombio/husky#344</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/honeycombio/husky/compare/v0.41.0...v0.42.0">https://github.com/honeycombio/husky/compare/v0.41.0...v0.42.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/honeycombio/husky/blob/main/CHANGELOG.md">github.com/honeycombio/husky's changelog</a>.</em></p> <blockquote> <h2>v0.43.0 2026-03-06</h2> <h3>✨ Added</h3> <ul> <li>feat(otlp): emit app.schema_urls telemetry for traces and logs (<a href="https://redirect.github.com/honeycombio/husky/issues/349">#349</a>) | <a href="https://github.com/MikeGoldsmith">Mike Goldsmith</a></li> <li>feat: replace OTLP proto fork with a 0.7 compat package (<a href="https://redirect.github.com/honeycombio/husky/issues/347">#347</a>) | <a href="https://github.com/robbkidd">Robb Kidd</a></li> </ul> <h2>v0.42.0 2026-03-04</h2> <h3>✨ Added</h3> <ul> <li>feat: record schema_url for traces and logs (<a href="https://redirect.github.com/honeycombio/husky/issues/344">#344</a>) | <a href="https://github.com/MikeGoldsmith">Mike Goldsmith</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/honeycombio/husky/commit/64a409a97d415889a026ee9b7703dccbf3eb1509"><code>64a409a</code></a> rel: prepare v0.43.0 release (<a href="https://redirect.github.com/honeycombio/husky/issues/350">#350</a>)</li> <li><a href="https://github.com/honeycombio/husky/commit/0a25e2eb3cca1ef7cd71d49dfbe935ebccfac709"><code>0a25e2e</code></a> feat(otlp): emit app.schema_urls telemetry for traces and logs [OTEL-121] (<a href="https://redirect.github.com/honeycombio/husky/issues/349">#349</a>)</li> <li><a href="https://github.com/honeycombio/husky/commit/21a078fad931cfbadedd4eeff29265facffd54c1"><code>21a078f</code></a> feat: replace OTLP proto fork with a 0.7 compat package (<a href="https://redirect.github.com/honeycombio/husky/issues/347">#347</a>)</li> <li><a href="https://github.com/honeycombio/husky/commit/08175297a57ae6a40e939570621166ec52d1497c"><code>0817529</code></a> rel: Prepare the v0.42.0 release (<a href="https://redirect.github.com/honeycombio/husky/issues/348">#348</a>)</li> <li><a href="https://github.com/honeycombio/husky/commit/551e5e8853105bcf1c77101cc4a91be182b85252"><code>551e5e8</code></a> feat(otlp): record schema_url for traces and logs (<a href="https://redirect.github.com/honeycombio/husky/issues/344">#344</a>)</li> <li>See full diff in <a href="https://github.com/honeycombio/husky/compare/v0.41.0...v0.43.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/klauspost/compress` from 1.18.2 to 1.18.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/klauspost/compress/releases">github.com/klauspost/compress's releases</a>.</em></p> <blockquote> <h2>v1.18.4</h2> <h2>What's Changed</h2> <ul> <li>gzhttp: Add zstandard to server handler wrapper by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1121">klauspost/compress#1121</a></li> <li>zstd: Add ResetWithOptions to encoder/decoder by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1122">klauspost/compress#1122</a></li> <li>gzhttp: preserve qvalue when extra parameters follow in Accept-Encoding by <a href="https://github.com/analytically"><code>@analytically</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1116">klauspost/compress#1116</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/analytically"><code>@analytically</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1116">klauspost/compress#1116</a></li> <li><a href="https://github.com/ethaizone"><code>@ethaizone</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1124">klauspost/compress#1124</a></li> <li><a href="https://github.com/zwass"><code>@zwass</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1125">klauspost/compress#1125</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/klauspost/compress/compare/v1.18.2...v1.18.4">https://github.com/klauspost/compress/compare/v1.18.2...v1.18.4</a></p> <h2>v1.18.3</h2> <p>Downstream CVE-2025-61728</p> <p>See <a href="https://redirect.github.com/golang/go/issues/77102">golang/go#77102</a></p> <p><strong>Full Changelog</strong>: <a href="https://github.com/klauspost/compress/compare/v1.18.2...v1.18.3">https://github.com/klauspost/compress/compare/v1.18.2...v1.18.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/klauspost/compress/commit/c03560f58ab1f595f17838b482483849d585d0c2"><code>c03560f</code></a> zstd: Add ResetWithOptions to encoder/decoder (<a href="https://redirect.github.com/klauspost/compress/issues/1122">#1122</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/0874ab860fc90779cb032996aee0c9e11880738c"><code>0874ab8</code></a> build(deps): bump the github-actions group with 3 updates (<a href="https://redirect.github.com/klauspost/compress/issues/1126">#1126</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/4a368369aa67e1da850e9a38fbbbea7c20cfd377"><code>4a36836</code></a> doc: Clarify documentation in readme (<a href="https://redirect.github.com/klauspost/compress/issues/1125">#1125</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/4309644706928691448da21eaa03895b982e086c"><code>4309644</code></a> zstd: document concurrency option handling in encoder (<a href="https://redirect.github.com/klauspost/compress/issues/1124">#1124</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/c262ec6542b376c1a7da652011385a3109d8026b"><code>c262ec6</code></a> Update README.md</li> <li><a href="https://github.com/klauspost/compress/commit/861ca972e91cf227262e01e4d343f32787cd396d"><code>861ca97</code></a> Downstream CVE-2025-61728 (<a href="https://redirect.github.com/klauspost/compress/issues/1123">#1123</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/03de960a317daf22b1c4f00c9337137cb37ea078"><code>03de960</code></a> gzhttp: Add zstandard to server handler wrapper (<a href="https://redirect.github.com/klauspost/compress/issues/1121">#1121</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/bb1ab3b2909e20e8f21999d44118a22b4496864f"><code>bb1ab3b</code></a> build(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/klauspost/compress/issues/1120">#1120</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/986a51ed1cf18e2ae85f6a72a5e40b368a12611e"><code>986a51e</code></a> fix(gzhttp): preserve qvalue when extra parameters follow in Accept-Encoding ...</li> <li><a href="https://github.com/klauspost/compress/commit/fbe3b12d6f8acb26c6c2028f83dc38165a4b91ce"><code>fbe3b12</code></a> build(deps): bump the github-actions group with 3 updates (<a href="https://redirect.github.com/klauspost/compress/issues/1118">#1118</a>)</li> <li>Additional commits viewable in <a href="https://github.com/klauspost/compress/compare/v1.18.2...v1.18.4">compare view</a></li> </ul> </details> <br /> Updates `github.com/open-telemetry/opamp-go` from 0.22.0 to 0.23.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opamp-go/releases">github.com/open-telemetry/opamp-go's releases</a>.</em></p> <blockquote> <h2>v0.23.0</h2> <h2>What's Changed</h2> <ul> <li>fix: Package Download race condition and close idle connections by <a href="https://github.com/dpaasman00"><code>@dpaasman00</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/434">open-telemetry/opamp-go#434</a></li> <li>Use client.SetCapabilities() instead of deprecated Capabilities in the Agent example by <a href="https://github.com/juandemanjon"><code>@juandemanjon</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/450">open-telemetry/opamp-go#450</a></li> <li>Issue <a href="https://redirect.github.com/open-telemetry/opamp-go/issues/451">#451</a> Agent and Server examples cannot find the certificates when the CWD is different by <a href="https://github.com/juandemanjon"><code>@juandemanjon</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/454">open-telemetry/opamp-go#454</a></li> <li>Explicitly close resp.Body in retry loop by <a href="https://github.com/pavankrish123"><code>@pavankrish123</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/463">open-telemetry/opamp-go#463</a></li> <li>Add configurable TLS settings and server endpoint to agent example by <a href="https://github.com/juandemanjon"><code>@juandemanjon</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/461">open-telemetry/opamp-go#461</a></li> <li>Clone existing Transport before updating TLSConfig by <a href="https://github.com/kelseyma"><code>@kelseyma</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/471">open-telemetry/opamp-go#471</a></li> <li>Add Docker and Docker Compose support for running OpAMP server … by <a href="https://github.com/juandemanjon"><code>@juandemanjon</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/473">open-telemetry/opamp-go#473</a></li> <li>Update go to version v1.24.0 by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/486">open-telemetry/opamp-go#486</a></li> <li>Do not run OnReadMessageError when a connection closes normally by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/488">open-telemetry/opamp-go#488</a></li> <li>Server uses sync.Pool for gzip.Writer allocations by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/484">open-telemetry/opamp-go#484</a></li> <li>Example server will ensure client is capable of handling response by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/483">open-telemetry/opamp-go#483</a></li> <li>Change pollingIntervalMs to atomic.Int64 to improve legibility by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/492">open-telemetry/opamp-go#492</a></li> <li>Websocket client ensures message are BinaryMessage type by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/491">open-telemetry/opamp-go#491</a></li> <li>Use req.Body readers to reduce allocs by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/489">open-telemetry/opamp-go#489</a></li> <li>Ensure ReportsPackageStatueses is set when adding packagestatus by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/493">open-telemetry/opamp-go#493</a></li> <li>Add CustomMessages demo examples by <a href="https://github.com/TomasVrabel"><code>@TomasVrabel</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/496">open-telemetry/opamp-go#496</a></li> <li>Update opamp-spec to v0.15.0 by <a href="https://github.com/tigrannajaryan"><code>@tigrannajaryan</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/505">open-telemetry/opamp-go#505</a></li> <li>Add OpAMP-Instance-UID request header by <a href="https://github.com/tigrannajaryan"><code>@tigrannajaryan</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/503">open-telemetry/opamp-go#503</a></li> <li>fix: flaky TestHTTPClientStartWithHeartbeatInterval test by <a href="https://github.com/Arpit529Srivastava"><code>@Arpit529Srivastava</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/510">open-telemetry/opamp-go#510</a></li> <li>Add scale test mode to example agent by <a href="https://github.com/michel-laterman"><code>@michel-laterman</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/481">open-telemetry/opamp-go#481</a></li> <li>Handle Broken Pipe and Connection reset issues with wssender by <a href="https://github.com/lokesh-balla"><code>@lokesh-balla</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/506">open-telemetry/opamp-go#506</a></li> <li>Update opamp-spec to v0.16.0 by <a href="https://github.com/andykellr"><code>@andykellr</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/516">open-telemetry/opamp-go#516</a></li> <li>Exclude full status on websocket reconnect by <a href="https://github.com/andykellr"><code>@andykellr</code></a> in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/512">open-telemetry/opamp-go#512</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/juandemanjon"><code>@juandemanjon</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/450">open-telemetry/opamp-go#450</a></li> <li><a href="https://github.com/pavankrish123"><code>@pavankrish123</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/463">open-telemetry/opamp-go#463</a></li> <li><a href="https://github.com/kelseyma"><code>@kelseyma</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/471">open-telemetry/opamp-go#471</a></li> <li><a href="https://github.com/dmitryax"><code>@dmitryax</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/480">open-telemetry/opamp-go#480</a></li> <li><a href="https://github.com/TomasVrabel"><code>@TomasVrabel</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/496">open-telemetry/opamp-go#496</a></li> <li><a href="https://github.com/Arpit529Srivastava"><code>@Arpit529Srivastava</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/510">open-telemetry/opamp-go#510</a></li> <li><a href="https://github.com/lokesh-balla"><code>@lokesh-balla</code></a> made their first contribution in <a href="https://redirect.github.com/open-telemetry/opamp-go/pull/506">open-telemetry/opamp-go#506</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-telemetry/opamp-go/compare/v0.22.0...v0.23.0">https://github.com/open-telemetry/opamp-go/compare/v0.22.0...v0.23.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opamp-go/commit/f68db345cc4bac08fc38a5a9fdad9de17da11048"><code>f68db34</code></a> Exclude full status on websocket reconnect (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/512">#512</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/623ef46c2384d2a182fcda57651a9c27712e07c4"><code>623ef46</code></a> Update opamp-spec to v0.16.0 (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/516">#516</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/97981b320ea6adc0a027380847d6b566995430d1"><code>97981b3</code></a> Handle Broken Pipe and Connection reset issues with wssender (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/506">#506</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/7cd18975363a6ec863deae247f763d18a7077efe"><code>7cd1897</code></a> Add scale test mode to example agent (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/481">#481</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/3c4aa124065f6dbb1a5604d94fd06a2f95fdd087"><code>3c4aa12</code></a> chore(deps): update github/codeql-action action to v4.32.2 (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/508">#508</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/50ebdcc6f0afcc1afd1fb3b9318edc3b2f9e278b"><code>50ebdcc</code></a> chore(deps): update module golang.org/x/tools to v0.42.0 (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/511">#511</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/f640fa88ff83697512a0fab02afd81a8371fb901"><code>f640fa8</code></a> fix: flaky TestHTTPClientStartWithHeartbeatInterval test (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/510">#510</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/b7c50eebc407697ceba513e1b76e855e77631539"><code>b7c50ee</code></a> chore(deps): update fossas/fossa-action action to v1.8.0 (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/509">#509</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/cd3b0abdceb06fc8e52094e7f3dabd41f981b07c"><code>cd3b0ab</code></a> Add OpAMP-Instance-UID request header (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/503">#503</a>)</li> <li><a href="https://github.com/open-telemetry/opamp-go/commit/647a076815709c569db9c5f9bff18fcfa5410bc0"><code>647a076</code></a> Update opamp-spec to v0.15.0 (<a href="https://redirect.github.com/open-telemetry/opamp-go/issues/505">#505</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opamp-go/compare/v0.22.0...v0.23.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest` from 0.145.0 to 0.147.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/releases">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's releases</a>.</em></p> <blockquote> <h2>v0.147.0</h2> <p>The OpenTelemetry Collector Contrib contains everything in the <a href="https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.147.0">opentelemetry-collector release</a>, be sure to check the release notes there as well.</p> <h2>End User Changelog</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>all</code>: Remove unmaintained receiver/bigip component (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46040">#46040</a>)</p> </li> <li> <p><code>exporter/elasticsearch</code>: Ignore <code>mapping::mode</code> config option (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45246">#45246</a>) The <code>mapping::mode</code> config option has already been deprecated and is now ignored. Instead, use the <code>X-Elastic-Mapping-Mode</code> client metadata key (via headers_setter extension) or the <code>elastic.mapping.mode</code> scope attribute to control the mapping mode per-request. See the README for migration instructions.</p> </li> <li> <p><code>extension/sumologic</code>: Migrate updateCollectorMetadata from feature gate to config parameter and enable by default (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46102">#46102</a>) The <code>extension.sumologic.updateCollectorMetadata</code> feature gate has been replaced with an <code>update_metadata</code> configuration parameter. The feature is now enabled by default, eliminating the need for users to specify the <code>--feature-gates</code> flag. Users can control this behavior via the YAML configuration:</p> <pre lang="yaml"><code>extensions: sumologic: update_metadata: true # default: true </code></pre> </li> <li> <p><code>processor/azuredetector</code>: Changed cloud platform value for Azure VM from <code>azure_vm</code> to <code>azure.vm</code> to align with OpenTelemetry semantic conventions v1.39.0. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45030">#45030</a>)</p> </li> <li> <p><code>processor/resourcedetection</code>: Remove feature gate processor.resourcedetection.removeGCPFaasID (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45808">#45808</a>)</p> </li> <li> <p><code>processor/resourcedetection</code>: Changed cloud platform value for Azure EKS from <code>azure_eks</code> to <code>azure.eks</code> to align with OpenTelemetry semantic conventions v1.39.0. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45030">#45030</a>)</p> </li> <li> <p><code>receiver/kafka</code>: Remove deprecated topic and exclude_topic fields (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46232">#46232</a>)</p> </li> <li> <p><code>receiver/mongodb</code>: Add service.instance.id resource attribute and move database from resource to db.namespace metric attribute in MongoDB receiver (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45506">#45506</a>) The service.instance.id attribute is a deterministic UUID v5 derived from server address and port. The database attribute has been moved from a resource attribute to a metric-level attribute (db.namespace) on all per-database metrics, following OpenTelemetry semantic conventions. This produces a single resource per MongoDB server instead of one per database, fixing Prometheus batching compatibility.</p> </li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li><code>processor/k8s_attributes</code>: Rename internal telemetry metrics to use dots instead of underscores (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45871">#45871</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>connector/grafanacloud</code>: Make the default configuration of the Grafana Cloud Connector support Kubernetes deployments. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45469">#45469</a>) Add "k8S.node.uid" and "k8S.cluster.name" to the default set of resource attributes evaluated by the Grafana Cloud Connector.</p> </li> <li> <p><code>exporter/clickhouse</code>: Do not crash the exporter if it cannot inspect the table schemas (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46285">#46285</a>) Previously setting <code>create_schema: false</code> would skip validating the actual connection on start. This was useful if you had unstable targets, as you could run the collector and let the sending queue/failover connector handle connection errors to ClickHouse.</p> </li> <li> <p><code>exporter/loadbalancing</code>: Support metrics routing by attributes in the loadbalancing exporter (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45675">#45675</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CHANGELOG-API.md">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's changelog</a>.</em></p> <blockquote> <h2>v0.147.0</h2> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>extension/oauth2client</code>: Expose a context-aware Token method from oauth2clientauth extension (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45917">#45917</a>) This change exposes a <code>Token(ctx context.Context) (*oauth2.Token, error)</code> method that clients can use to obtain a Token. This may be used by components that are not HTTP-based, such as the Kafka components for use with SASL/OAUTHBEARER.</p> </li> <li> <p><code>pkg/pdatatest</code>: Add entity references comparison to CompareResource and IgnoreResourceEntityRefs option (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46345">#46345</a>)</p> </li> <li> <p><code>pkg/xk8stest</code>: Display pod events and logs on collector startup timeout for easier diagnosis of e2e failures. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46305">#46305</a>)</p> </li> <li> <p><code>receiver/splunkenterprise</code>: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396">#45396</a>)</p> </li> </ul> <!-- raw HTML omitted --> <h2>v0.146.0</h2> <h3>🚩 Deprecations 🚩</h3> <ul> <li><code>pkg/stanza</code>: Package "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/parser/json" has been deprecated. Use "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/parser/jsonparser" instead (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45006">#45006</a>)</li> <li><code>pkg/stanza</code>: Package "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/errors" has been deprecated. Use "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/stanzaerrors" instead (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45006">#45006</a>)</li> <li><code>pkg/stanza</code>: Package "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/parser/time" has been deprecated. Use "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/parser/timeparser" instead (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45006">#45006</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>processor/filter</code>: Introduces inferred context conditions for filtering (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/37904">#37904</a>) Introduces three new top-level config fields [metric_conditions, log_conditions, trace_conditions]. A user can supply OTTL conditions for each without needing to supply context.</p> </li> <li> <p><code>receiver/pprof</code>: Implement the functionality of transforming pprof to OTel Profiles (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45411">#45411</a>)</p> </li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>processor/sumologic</code>: Export config types to allow programmatic configuration via Go API (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45880">#45880</a>)</li> <li><code>receiver/filestats</code>: Ensure that bsd build tags are respected by renaming filestats_darwin.go to filestats_bsd.go (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/42645">#42645</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/28446b3e2d590451992761222d4c43b7948632d8"><code>28446b3</code></a> [chore] Prepare release 0.147.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46554">#46554</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/f9a60cd382bc52463f04f28e347eb147d249a8a7"><code>f9a60cd</code></a> [chore] Update core dependencies (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46549">#46549</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/3fcd89acc2369ce0d99d02ef629c9145632f0afa"><code>3fcd89a</code></a> [chore][pkg/stanza] Bump missing semconv to v1.39.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46529">#46529</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/f92adcba91c42c213798e2774382e60e45089455"><code>f92adcb</code></a> Bump go.opentelemetry.io/otel/sdk from 1.37.0 to 1.40.0 in /internal/docker (...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/540ae312c28a717f65629e9c1ff324fd92db5e3e"><code>540ae31</code></a> [receiver/haproxy] Enable re-aggregation feature (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46518">#46518</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/277dbbd867885a6a2a561180bdbbb2815e1e9a96"><code>277dbbd</code></a> Oracle Stored Procedure Fixes (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46466">#46466</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/d2a325ca561b5a0265599b57dd641b4f433986de"><code>d2a325c</code></a> [receiver/oracledb] Enable re-aggregation feature (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46512">#46512</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/b140c8e9febefdb267b393fcfc3a63ab75e0673f"><code>b140c8e</code></a> [chore] Fix test flakiness awsxrayreceiver (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46509">#46509</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/18e4bd80fb909c3fc67b78331ca9f4535ef79d1f"><code>18e4bd8</code></a> [chore] Add display names for receivers - batch 4 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46472">#46472</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/a6e7210d5491eae07f3b6d7209e956cfbeee6164"><code>a6e7210</code></a> [receiver/awscloudwatchreceiver] fix logs being skipped (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46253">#46253</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.145.0...v0.147.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/redis/go-redis/v9` from 9.17.3 to 9.18.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/go-redis/releases">github.com/redis/go-redis/v9's releases</a>.</em></p> <blockquote> <h2>9.18.0</h2> <h3>Redis 8.6 Support</h3> <p>Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.</p> <h3>Smart Client Handoff (Maintenance Notifications) for Cluster</h3> <p><strong>note: Pending RS version release</strong></p> <p>This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:</p> <ul> <li><strong>Relaxing timeouts during migration</strong> (SMIGRATING) to prevent false failures</li> <li><strong>Triggering lazy cluster state reloads</strong> upon completion (SMIGRATED)</li> <li>Enabling seamless operations during Redis Enterprise maintenance windows</li> </ul> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3643">#3643</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></p> <h3>OpenTelemetry Native Metrics Support</h3> <p>Added comprehensive OpenTelemetry metrics support following the <a href="https://opentelemetry.io/docs/specs/semconv/database/database-metrics/">OpenTelemetry Database Client Semantic Conventions</a>. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new <code>extra/redisotel-native</code> package.</p> <p><strong>Metric groups include:</strong></p> <ul> <li>Command metrics: Operation duration with retry tracking</li> <li>Connection basic: Connection count and creation time</li> <li>Resiliency: Errors, handoffs, timeout relaxation</li> <li>Connection advanced: Wait time and use time</li> <li>Pubsub metrics: Published and received messages</li> <li>Stream metrics: Processing duration and maintenance notifications</li> </ul> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3637">#3637</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></p> <h2>✨ New Features</h2> <ul> <li><strong>HOTKEYS Commands</strong>: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (<a href="https://redirect.github.com/redis/go-redis/pull/3695">#3695</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>Streams Idempotent Production</strong>: Added support for Redis 8.6+ Streams Idempotent Production with <code>ProducerID</code>, <code>IdempotentID</code>, <code>IdempotentAuto</code> in <code>XAddArgs</code> and new <code>XCFGSET</code> command (<a href="https://redirect.github.com/redis/go-redis/pull/3693">#3693</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>NaN Values for TimeSeries</strong>: Added support for NaN (Not a Number) values in Redis time series commands (<a href="https://redirect.github.com/redis/go-redis/pull/3687">#3687</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>DialerRetries Options</strong>: Added <code>DialerRetries</code> and <code>DialerRetryTimeout</code> to <code>ClusterOptions</code>, <code>RingOptions</code>, and <code>FailoverOptions</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3686">#3686</a>) by <a href="https://github.com/naveenchander30"><code>@naveenchander30</code></a></li> <li><strong>ConnMaxLifetimeJitter</strong>: Added jitter configuration to distribute connection expiration times and prevent thundering herd (<a href="https://redirect.github.com/redis/go-redis/pull/3666">#3666</a>) by <a href="https://github.com/cyningsun"><code>@cyningsun</code></a></li> <li><strong>Digest Helper Functions</strong>: Added <code>DigestString</code> and <code>DigestBytes</code> helper functions for client-side xxh3 hashing compatible with Redis DIGEST command (<a href="https://redirect.github.com/redis/go-redis/pull/3679">#3679</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>SMIGRATED New Format</strong>: Updated SMIGRATED parser to support new format and remember original host:port (<a href="https://redirect.github.com/redis/go-redis/pull/3697">#3697</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Cluster State Reload Interval</strong>: Added cluster state reload interval option for maintenance notifications (<a href="https://redirect.github.com/redis/go-redis/pull/3663">#3663</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li><strong>PubSub nil pointer dereference</strong>: Fixed nil pointer dereference in PubSub after <code>WithTimeout()</code> - <code>pubSubPool</code> is now properly cloned (<a href="https://redirect.github.com/redis/go-redis/pull/3710">#3710</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> <li><strong>MaintNotificationsConfig nil check</strong>: Guard against nil <code>MaintNotificationsConfig</code> in <code>initConn</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3707">#3707</a>) by <a href="https://github.com/veeceey"><code>@veeceey</code></a></li> <li><strong>wantConnQueue zombie elements</strong>: Fixed zombie <code>wantConn</code> elements accumulation in <code>wantConnQueue</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3680">#3680</a>) by <a href="https://github.com/cyningsun"><code>@cyningsun</code></a></li> <li><strong>XADD/XTRIM approx flag</strong>: Fixed XADD and XTRIM to use <code>=</code> when approx is false (<a href="https://redirect.github.com/redis/go-redis/pull/3684">#3684</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Sentinel timeout retry</strong>: When connection to a sentinel times out, attempt to connect to other sentinels (<a href="https://redirect.github.com/redis/go-redis/pull/3654">#3654</a>) by <a href="https://github.com/cxljs"><code>@cxljs</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md">github.com/redis/go-redis/v9's changelog</a>.</em></p> <blockquote> <h1>9.18.0 (2026-02-16)</h1> <h2>🚀 Highlights</h2> <h3>Redis 8.6 Support</h3> <p>Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.</p> <h3>Smart Client Handoff (Maintenance Notifications) for Cluster</h3> <p>This release introduces comprehensive support for Redis Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:</p> <ul> <li><strong>Relaxing timeouts during migration</strong> (SMIGRATING) to prevent false failures</li> <li><strong>Triggering lazy cluster state reloads</strong> upon completion (SMIGRATED)</li> <li>Enabling seamless operations during Redis Enterprise maintenance windows</li> </ul> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3643">#3643</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></p> <h3>OpenTelemetry Native Metrics Support</h3> <p>Added comprehensive OpenTelemetry metrics support following the <a href="https://opentelemetry.io/docs/specs/semconv/database/database-metrics/">OpenTelemetry Database Client Semantic Conventions</a>. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new <code>extra/redisotel-native</code> package.</p> <p><strong>Metric groups include:</strong></p> <ul> <li>Command metrics: Operation duration with retry tracking</li> <li>Connection basic: Connection count and creation time</li> <li>Resiliency: Errors, handoffs, timeout relaxation</li> <li>Connection advanced: Wait time and use time</li> <li>Pubsub metrics: Published and received messages</li> <li>Stream metrics: Processing duration and maintenance notifications</li> </ul> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3637">#3637</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></p> <h2>✨ New Features</h2> <ul> <li><strong>HOTKEYS Commands</strong>: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (<a href="https://redirect.github.com/redis/go-redis/pull/3695">#3695</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>Streams Idempotent Production</strong>: Added support for Redis 8.6+ Streams Idempotent Production with <code>ProducerID</code>, <code>IdempotentID</code>, <code>IdempotentAuto</code> in <code>XAddArgs</code> and new <code>XCFGSET</code> command (<a href="https://redirect.github.com/redis/go-redis/pull/3693">#3693</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>NaN Values for TimeSeries</strong>: Added support for NaN (Not a Number) values in Redis time series commands (<a href="https://redirect.github.com/redis/go-redis/pull/3687">#3687</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>DialerRetries Options</strong>: Added <code>DialerRetries</code> and <code>DialerRetryTimeout</code> to <code>ClusterOptions</code>, <code>RingOptions</code>, and <code>FailoverOptions</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3686">#3686</a>) by <a href="https://github.com/naveenchander30"><code>@naveenchander30</code></a></li> <li><strong>ConnMaxLifetimeJitter</strong>: Added jitter configuration to distribute connection expiration times and prevent thundering herd (<a href="https://redirect.github.com/redis/go-redis/pull/3666">#3666</a>) by <a href="https://github.com/cyningsun"><code>@cyningsun</code></a></li> <li><strong>Digest Helper Functions</strong>: Added <code>DigestString</code> and <code>DigestBytes</code> helper functions for client-side xxh3 hashing compatible with Redis DIGEST command (<a href="https://redirect.github.com/redis/go-redis/pull/3679">#3679</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>SMIGRATED New Format</strong>: Updated SMIGRATED parser to support new format and remember original host:port (<a href="https://redirect.github.com/redis/go-redis/pull/3697">#3697</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Cluster State Reload Interval</strong>: Added cluster state reload interval option for maintenance notifications (<a href="https://redirect.github.com/redis/go-redis/pull/3663">#3663</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li><strong>PubSub nil pointer dereference</strong>: Fixed nil pointer dereference in PubSub after <code>WithTimeout()</code> - <code>pubSubPool</code> is now properly cloned (<a href="https://redirect.github.com/redis/go-redis/pull/3710">#3710</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> <li><strong>MaintNotificationsConfig nil check</strong>: Guard against nil <code>MaintNotificationsConfig</code> in <code>initConn</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3707">#3707</a>) by <a href="https://github.com/veeceey"><code>@veeceey</code></a></li> <li><strong>wantConnQueue zombie elements</strong>: Fixed zombie <code>wantConn</code> elements accumulation in <code>wantConnQueue</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3680">#3680</a>) by <a href="https://github.com/cyningsun"><code>@cyningsun</code></a></li> <li><strong>XADD/XTRIM approx flag</strong>: Fixed XADD and XTRIM to use <code>=</code> when approx is false (<a href="https://redirect.github.com/redis/go-redis/pull/3684">#3684</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Sentinel timeout retry</strong>: When connection to a sentinel times out, attempt to connect to other sentinels (<a href="https://redirect.github.com/redis/go-redis/pull/3654">#3654</a>) by <a href="https://github.com/cxljs"><code>@cxljs</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/go-redis/commit/90faf0692313160b1140f96716763227912aec44"><code>90faf06</code></a> chore(release): update versions in deps (<a href="https://redirect.github.com/redis/go-redis/issues/3712">#3712</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/bf8e8e3b16dc5b4f51b69e9bb9a49b72fb9e3e79"><code>bf8e8e3</code></a> chore(release): v9.18.0 (<a href="https://redirect.github.com/redis/go-redis/issues/3711">#3711</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/a881cd4280bf6006c14eda4b9449168b30e7dd02"><code>a881cd4</code></a> fix(clone): nil pointer dereference in PubSub after WithTimeout() (<a href="https://redirect.github.com/redis/go-redis/issues/3710">#3710</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/ee6e9dbf09125366d1270f31969b493325f524f1"><code>ee6e9db</code></a> feat(otel): Add OpenTelemetry Native Metrics Support (<a href="https://redirect.github.com/redis/go-redis/issues/3637">#3637</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/b53f2b0c9d1fa4e19680a20de2050aa7c2c5ab8d"><code>b53f2b0</code></a> feat(sch): MaintNotifications for ClusterClient (<a href="https://redirect.github.com/redis/go-redis/issues/3643">#3643</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/f25343d2813d9f718a9158175d747173756f02c2"><code>f25343d</code></a> chore(tests): Add comprehensive TLS tests and example (<a href="https://redirect.github.com/redis/go-redis/issues/3681">#3681</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/33ca5cb864ce5567e8c955f66aba2723e89100d3"><code>33ca5cb</code></a> feat(commands): Add support for Redis HOTKEYS commands (<a href="https://redirect.github.com/redis/go-redis/issues/3695">#3695</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/34f4568e4f847465a5219fb51267c41433407c52"><code>34f4568</code></a> fix(conn): guard against nil MaintNotificationsConfig in initConn (<a href="https://redirect.github.com/redis/go-redis/issues/3707">#3707</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/2fc030f0d1020e3c7a52011343fcd10b995c22df"><code>2fc030f</code></a> perf(options): perf Fuzz Test Go File (<a href="https://redirect.github.com/redis/go-redis/issues/3692">#3692</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/63ed1fd9cd6084e3bd68903d9f9a72df165693a7"><code>63ed1fd</code></a> Add support for Redis Streams Idempotent Production (<a href="https://redirect.github.com/redis/go-redis/issues/3693">#3693</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/go-redis/compare/v9.17.3...v9.18.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/tinylib/msgp` from 1.6.2 to 1.6.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tinylib/msgp/releases">github.com/tinylib/msgp's releases</a>.</em></p> <blockquote> <h2>v1.6.3</h2> <ul> <li>Remove debug println.</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tinylib/msgp/compare/v1.6.2...v1.6.3">https://github.com/tinylib/msgp/compare/v1.6.2...v1.6.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tinylib/msgp/commit/23b90066e6ab31e9540d13fc28fb4e82201fa7b2"><code>23b9006</code></a> msgp: read.go: remove bogus Println</li> <li>See full diff in <a href="https://github.com/tinylib/msgp/compare/v1.6.2...v1.6.3">compare view</a></li> </ul> </details> <br /> Updates `github.com/valyala/fastjson` from 1.6.7 to 1.6.10 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/valyala/fastjson/commit/d652a1b1909d3520389b2c287ca3cf3aa3791451"><code>d652a1b</code></a> Properly reset the cache (<a href="https://redirect.github.com/valyala/fastjson/issues/118">#118</a>)</li> <li><a href="https://github.com/valyala/fastjson/commit/4c897622896d3d82f51adcf38e4c1b5c03e06a54"><code>4c89762</code></a> Properly clear references to external objects and byte slices on Arena.Reset(...</li> <li><a href="https://github.com/valyala/fastjson/commit/87cb56e9c67bade6dc330af4aa60913ee4ef0752"><code>87cb56e</code></a> Add Arena.CloneString() function for cloning the string to the internal buffe...</li> <li><a href="https://github.com/valyala/fastjson/commit/227c53b131b1e35d0f30645add44ce568c122c65"><code>227c53b</code></a> run <code>go fix -rangeint</code></li> <li>See full diff in <a href="https://github.com/valyala/fastjson/compare/v1.6.7...v1.6.10">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc` from 0.65.0 to 0.67.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/releases">go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc's releases</a>.</em></p> <blockquote> <h2>v1.42.0/v2.4.0/v0.67.0/v0.36.0/v0.22.0/v0.17.0/v0.15.0/v0.14.0</h2> <h3>Added</h3> <ul> <li>Add environment variables propagation carrier in <code>go.opentelemetry.io/contrib/propagators/envcar</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8442">#8442</a>)</li> </ul> <h3>Changed</h3> <ul> <li> <p>Upgrade <code>go.opentelemetry.io/otel/semconv</code> to <code>v1.40.0</code>, including updates across instrumentation and detector modules. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8631">#8631</a>)</p> <ul> <li>The semantic conventions v1.40.0 release introduces RPC breaking changes applied in this repository: <ul> <li>RPC spans and metrics no longer include <code>network.protocol.name</code>, <code>network.protocol.version</code>, or <code>network.transport</code> attributes.</li> <li><code>rpc.client.request.size</code>, <code>rpc.client.response.size</code>, <code>rpc.server.request.size</code>, and <code>rpc.server.response.size</code> are no longer emitted in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.</li> <li><code>rpc.message</code> span events and their message attributes are no longer emitted in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> (including when <code>WithMessageEvents</code> is configured).</li> </ul> </li> </ul> <p>See <a href="https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.40.0">semantic-conventions v1.40.0 release</a> for complete details.</p> </li> </ul> <h3>Fixed</h3> <ul> <li>Ignore informational response status codes (<code>100-199</code>) except <code>101 Switching Protocols</code> when storing the HTTP status code in <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code> and <code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6913">#6913</a>)</li> <li>Make <code>Body</code> handling in <code>Transport</code> consistent with stdlib in <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8618">#8618</a>)</li> <li>Fix bucket boundaries for <code>rpc.server.call.duration</code> and <code>rpc.client.call.duration</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8642">#8642</a>)</li> <li>Host resource detector in <code>go.opentelemetry.io/contrib/otelconf</code> now includes <code>os.</code> attributes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8578">#8578</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Drop support for <a href="https://go.dev/doc/go1.24">Go 1.24</a>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8628">#8628</a>)</li> </ul> <h2>What's Changed</h2> <ul> <li>chore(deps): update github artifact actions to v7 (major) by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8605">open-telemetry/opentelemetry-go-contrib#8605</a></li> <li>chore(deps): update module github.com/sonatard/noctx to v0.5.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8610">open-telemetry/opentelemetry-go-contrib#8610</a></li> <li>chore(deps): update github/codeql-action action to v4.32.5 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8620">open-telemetry/opentelemetry-go-contrib#8620</a></li> <li>fix(deps): update module github.com/aws/smithy-go to v1.24.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8614">open-telemetry/opentelemetry-go-contrib#8614</a></li> <li>chore(deps): update go-openapi packages by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8621">open-telemetry/opentelemetry-go-contrib#8621</a></li> <li>fix(deps): update module github.com/shirou/gopsutil/v4 to v4.26.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8622">open-telemetry/opentelemetry-go-contrib#8622</a></li> <li>chore(deps): update module github.com/kisielk/errcheck to v1.10.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8608">open-telemetry/opentelemetry-go-contrib#8608</a></li> <li>chore(deps): update module github.com/protonmail/go-crypto to v1.4.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8609">open-telemetry/opentelemetry-go-contrib#8609</a></li> <li>chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.147.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8625">open-telemetry/opentelemetry-go-contrib#8625</a></li> <li>chore(deps): update module github.com/daixiang0/gci to v0.14.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8623">open-telemetry/opentelemetry-go-contrib#8623</a></li> <li>Drop support for 1.24 by <a href="https://github.com/dmathieu"><code>@dmathieu</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8628">open-telemetry/opentelemetry-go-contrib#8628</a></li> <li>fix(deps): update golang.org/x by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8554">open-telemetry/opentelemetry-go-contrib#8554</a></li> <li>fix(deps): update kubernetes packages to v0.35.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8626">open-telemetry/opentelemetry-go-contrib#8626</a></li> <li>fix(deps): update aws-sdk-go-v2 monorepo by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8598">open-telemetry/opentelemetry-go-contrib#8598</a></li> <li>fix(deps): update module github.com/aws/aws-lambda-go to v1.53.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8630">open-telemetry/opentelemetry-go-contrib#8630</a></li> <li>otelgrpc: modernize the example project by <a href="https://github.com/ash2k"><code>@ash2k</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8619">open-telemetry/opentelemetry-go-contrib#8619</a></li> <li>chore(deps): update googleapis to a57be14 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8606">open-telemetry/opentelemetry-go-contrib#8606</a></li> <li>fix(deps): update module github.com/gin-gonic/gin to v1.12.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8627">open-telemetry/opentelemetry-go-contrib#8627</a></li> <li>chore(deps): update module github.com/prometheus/procfs to v0.20.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8624">open-telemetry/opentelemetry-go-contrib#8624</a></li> <li>fix(otelhttp): make Body handling in Transport consistent with stdlib by <a href="https://github.com/ash2k"><code>@ash2k</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8618">open-telemetry/opentelemetry-go-contrib#8618</a></li> <li>otelhttp: Ignore informational response status codes when persisting status by <a href="https://github.com/VirrageS"><code>@VirrageS</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/6913">open-telemetry/opentelemetry-go-contrib#6913</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md">go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc's changelog</a>.</em></p> <blockquote> <h2>[1.42.0/2.4.0/0.67.0/0.36.0/0.22.0/0.17.0/0.15.0/0.14.0] - 2026-03-06</h2> <h3>Added</h3> <ul> <li>Add environment variables propagation carrier in <code>go.opentelemetry.io/contrib/propagators/envcar</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8442">#8442</a>)</li> </ul> <h3>Changed</h3> <ul> <li> <p>Upgrade <code>go.opentelemetry.io/otel/semconv</code> to <code>v1.40.0</code>, including updates across instrumentation and detector modules. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8631">#8631</a>)</p> <ul> <li>The semantic conventions v1.40.0 release introduces RPC breaking changes applied in this repository: <ul> <li>RPC spans and metrics no longer include <code>network.protocol.name</code>, <code>network.protocol.version</code>, or <code>network.transport</code> attributes.</li> <li><code>rpc.client.request.size</code>, <code>rpc.client.response.size</code>, <code>rpc.server.request.size</code>, and <code>rpc.server.response.size</code> are no longer emitted in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>.</li> <li><code>rpc.message</code> span events and their message attributes are no longer emitted in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> (including when <code>WithMessageEvents</code> is configured).</li> </ul> </li> </ul> <p>See <a href="https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.40.0">semantic-conventions v1.40.0 release</a> for complete details.</p> </li> </ul> <h3>Fixed</h3> <ul> <li>Ignore informational response status codes (<code>100-199</code>) except <code>101 Switching Protocols</code> when storing the HTTP status code in <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code> and <code>go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/6913">#6913</a>)</li> <li>Make <code>Body</code> handling in <code>Transport</code> consistent with stdlib in <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8618">#8618</a>)</li> <li>Fix bucket boundaries for <code>rpc.server.call.duration</code> and <code>rpc.client.call.duration</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8642">#8642</a>)</li> <li>Host resource detector in <code>go.opentelemetry.io/contrib/otelconf</code> now includes <code>os.</code> attributes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8578">#8578</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Drop support for [Go 1.24]. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8628">#8628</a>)</li> </ul> <h2>[1.41.0/2.3.0/0.66.0/0.35.0/0.21.0/0.16.0/0.14.0/0.13.0] - 2026-03-02</h2> <p>This release is the last to support [Go 1.24]. The next release will require at least [Go 1.25].</p> <h3>Added</h3> <ul> <li>Add <code>WithSpanKind</code> option in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code> to override the default span kind. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8506">#8506</a>)</li> <li>Add <code>const Version</code> in <code>go.opentelemetry.io/contrib/bridges/otelzap</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8544">#8544</a>)</li> <li>Support testing of [Go 1.26]. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8549">#8549</a>)</li> <li>Add <code>const Version</code> in <code>go.opentelemetry.io/contrib/detectors/autodetect</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8555">#8555</a>)</li> <li>Add <code>const Version</code> in <code>go.opentelemetry.io/contrib/detectors/azure/azurevm</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8553">#8553</a>)</li> <li>Add <code>const Version</code> in <code>go.opentelemetry.io/contrib/processors/baggagecopy</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8557">#8557</a>)</li> <li>Add <code>const Version</code> in <code>go.opentelemetry.io/contrib/detectors/aws/lambda</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8510">#8…
## Which problem is this PR solving? Prepare for v3.1.2 release ## Short description of the changes - update changelog, release notes, and update metric doc
…bio#1806) ## Summary - Bumps ko from v0.11.2 to v0.18.0 for local image builds - Fixes ko release asset arch suffix for v0.18.0 compatibility (`x86_64`) - Replaces racy `time.Sleep(15ms)` in integration tests with TCP readiness polling, fixing intermittent test failures Split from PR honeycombio#1798 as independent infrastructure improvements. ## Test plan - [ ] `make local_image` builds successfully with ko v0.18.0 - [ ] Integration tests pass reliably without flaky timing issues - [ ] `go vet ./...` passes - [ ] All existing tests continue to pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…eycombio#1807) ## Which problem is this PR solving? honeycombio#1802 ## Short description of the changes - Make sure that all error logs for sending events are populated with the default fields `dataset`, `apihost`, and `environment`. - Make sure all error logs for sending events has the AdditionalErrorFields added.
…oneycombio#1803) ## Summary - Adds `AccessKeys.ReceiveKeyIDs` config option allowing Refinery to authorize traffic by Honeycomb ingest key IDs (from `/1/auth` endpoint) instead of requiring full API keys - Updates `IsAccepted()` to check both `ReceiveKeys` (full keys) and `ReceiveKeyIDs` (key IDs) simultaneously - Enables live reload for both `ReceiveKeys` and `ReceiveKeyIDs` config fields - Adds benchmarks for the `IsAccepted` hot path with various list sizes This is part of the RaaS (Refinery as a Service) feature set, split from PR honeycombio#1798. Closes FRE-6 ## Test plan - [x] Unit tests pass for `IsAccepted()` with key IDs, full keys, and mixed scenarios - [x] Benchmarks verify performance of key lookup with 10/100 keys - [x] Config validation passes (`make validate` in `tools/convert/`) - [x] `go vet ./...` passes - [x] All existing tests continue to pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…#1804) ## Summary - Adds `OTelMetrics.AdditionalAttributes` config option to inject custom resource attributes (e.g., cluster ID, environment name) into all OTLP metrics emitted by Refinery - Both keys and values must be strings, supplied as comma-separated `key:value` pairs - Fixes metadata for HoneycombLogger `AdditionalAttributes` (removed invalid validations, fixed example quoting, fixed indentation) This is part of the RaaS (Refinery as a Service) feature set, split from PR honeycombio#1798. Closes FRE-75 ## Test plan - [ ] `TestOTelMetricsAdditionalAttributes` verifies resource attributes are present - [ ] `Test_OTelMetrics_AdditionalAttributes` verifies attributes appear in exported metrics - [ ] Config validation passes (`make validate` in `tools/convert/`) - [ ] `go vet ./...` passes - [ ] All existing tests continue to pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…#1805) ## Summary - Adds granular event-level metrics: `events_received_traces`, `events_received_logs`, `events_dropped_traces`, `events_dropped_logs` - Tracks received and dropped event counts per signal type (traces vs logs) separately from byte counts - Reports granular metrics via OTLP usage reporting (alongside existing `bytes_received`) for accurate RaaS usage billing - Metrics are differentiated by a `signal` attribute ("traces" or "logs") on each data point This is part of the RaaS (Refinery as a Service) feature set, split from PR honeycombio#1798. Closes FRE-76 ## Test plan - [ ] New metrics are registered and increment correctly during event processing - [ ] Usage report includes new signal types in OTLP metric export - [ ] Config validation passes (`make validate` in `tools/convert/`) - [ ] `go vet ./...` passes - [ ] All existing tests continue to pass 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…oneycombio#1810) Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.42.0 to 1.43.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/sdk's changelog</a>.</em></p> <blockquote> <h2>[1.43.0/0.65.0/0.19.0] 2026-04-02</h2> <h3>Added</h3> <ul> <li>Add <code>IsRandom</code> and <code>WithRandom</code> on <code>TraceFlags</code>, and <code>IsRandom</code> on <code>SpanContext</code> in <code>go.opentelemetry.io/otel/trace</code> for <a href="https://www.w3.org/TR/trace-context-2/#random-trace-id-flag">W3C Trace Context Level 2 Random Trace ID Flag</a> support. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8012">#8012</a>)</li> <li>Add service detection with <code>WithService</code> in <code>go.opentelemetry.io/otel/sdk/resource</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7642">#7642</a>)</li> <li>Add <code>DefaultWithContext</code> and <code>EnvironmentWithContext</code> in <code>go.opentelemetry.io/otel/sdk/resource</code> to support plumbing <code>context.Context</code> through default and environment detectors. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8051">#8051</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Support attributes with empty value (<code>attribute.EMPTY</code>) in <code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Add support for per-series start time tracking for cumulative metrics in <code>go.opentelemetry.io/otel/sdk/metric</code>. Set <code>OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=true</code> to enable. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8060">#8060</a>)</li> <li>Add <code>WithCardinalityLimitSelector</code> for metric reader for configuring cardinality limits specific to the instrument kind. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7855">#7855</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Introduce the <code>EMPTY</code> Type in <code>go.opentelemetry.io/otel/attribute</code> to reflect that an empty value is now a valid value, with <code>INVALID</code> remaining as a deprecated alias of <code>EMPTY</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> <li>Improve slice handling in <code>go.opentelemetry.io/otel/attribute</code> to optimize short slice values with fixed-size fast paths. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8039">#8039</a>)</li> <li>Improve performance of span metric recording in <code>go.opentelemetry.io/otel/sdk/trace</code> by returning early if self-observability is not enabled. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8067">#8067</a>)</li> <li>Improve formatting of metric data diffs in <code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8073">#8073</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li>Deprecate <code>INVALID</code> in <code>go.opentelemetry.io/otel/attribute</code>. Use <code>EMPTY</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Return spec-compliant <code>TraceIdRatioBased</code> description. This is a breaking behavioral change, but it is necessary to make the implementation <a href="https://opentelemetry.io/docs/specs/otel/trace/sdk/#traceidratiobased">spec-compliant</a>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8027">#8027</a>)</li> <li>Fix a race condition in <code>go.opentelemetry.io/otel/sdk/metric</code> where the lastvalue aggregation could collect the value 0 even when no zero-value measurements were recorded. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8056">#8056</a>)</li> <li>Limit HTTP response body to 4 MiB in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code> to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li> <li>Limit HTTP response body to 4 MiB in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code> to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li> <li>Limit HTTP response body to 4 MiB in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code> to mitigate excessive memory usage caused by a misconfigured or malicious server. Responses exceeding the limit are treated as non-retryable errors. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li> <li><code>WithHostID</code> detector in <code>go.opentelemetry.io/otel/sdk/resource</code> to use full path for <code>kenv</code> command on BSD. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li> <li>Fix missing <code>request.GetBody</code> in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code> to correctly handle HTTP2 GOAWAY frame. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/9276201a64b623606e3eaa0d61ae8ee6d62756c0"><code>9276201</code></a> Release v1.43.0 / v0.65.0 / v0.19.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8128">#8128</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/61b8c9466c4e6b17e69b622279fe9b63fb15c89a"><code>61b8c94</code></a> chore(deps): update module github.com/mattn/go-runewidth to v0.0.22 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8131">#8131</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/97a086e82ffe01502f4c620e9c447efa229e2a23"><code>97a086e</code></a> chore(deps): update github.com/golangci/dupl digest to c99c5cf (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8122">#8122</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/5e363de517dba6db62736b2f5cdef0e0929b4cd0"><code>5e363de</code></a> limit response body size for OTLP HTTP exporters (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/35214b60138eac8dec97a2d2b851d8c8471680c7"><code>35214b6</code></a> Use an absolute path when calling bsd kenv (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/290024ceaf695f9cdbf29a0c6731a317d92bc361"><code>290024c</code></a> fix(deps): update module google.golang.org/grpc to v1.80.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8121">#8121</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/e70658e098033d6bb5ec1b399de16bbb2642f6dc"><code>e70658e</code></a> fix: support getBody in otelploghttp (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/4afe468e3b4859c949a1c1e8d92684d43d86ef8a"><code>4afe468</code></a> fix(deps): update googleapis to 9d38bb4 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8117">#8117</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/b9ca729776309e3c08fe700c131797a3b4d10634"><code>b9ca729</code></a> chore(deps): update module github.com/go-git/go-git/v5 to v5.17.2 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8115">#8115</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/69472ec56cb7674d55ca2e2bcb04dea73228ab79"><code>69472ec</code></a> chore(deps): update fossas/fossa-action action to v1.9.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8118">#8118</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/honeycombio/refinery/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yingrong Zhao <22300958+VinozzZ@users.noreply.github.com>
…dates (honeycombio#1812) Bumps the minor-patch group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.18.4` | `1.18.5` | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `0.147.0` | `0.149.0` | | [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) | `2.2.4` | `2.3.0` | | [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.67.0` | `0.68.0` | | [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.67.0` | `0.68.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://github.com/open-telemetry/opentelemetry-go) | `1.42.0` | `1.43.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.42.0` | `1.43.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.42.0` | `1.43.0` | Updates `github.com/klauspost/compress` from 1.18.4 to 1.18.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/klauspost/compress/releases">github.com/klauspost/compress's releases</a>.</em></p> <blockquote> <h2>v1.18.5</h2> <h2>What's Changed</h2> <ul> <li>zstd: Fix crash when changing encoder dictionary with same ID by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1135">klauspost/compress#1135</a></li> <li>zstd: Default to full zero frames by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1134">klauspost/compress#1134</a></li> <li>flate: Clean up histogram order by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1133">klauspost/compress#1133</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5">https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/klauspost/compress/commit/c5e0077f50a3268a27b02816adc48ebfb535c65e"><code>c5e0077</code></a> zstd: Fix encoder changing dictionary with same ID (<a href="https://redirect.github.com/klauspost/compress/issues/1135">#1135</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/fd3f23e2d1d0fca18f38ee2dfedb73d0ca5b02e5"><code>fd3f23e</code></a> zstd: Default to full zero frames (<a href="https://redirect.github.com/klauspost/compress/issues/1134">#1134</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/8233c587ef6e7b0f5168bfc08e63ea37e97b2d36"><code>8233c58</code></a> flate: Clean up histogram order (<a href="https://redirect.github.com/klauspost/compress/issues/1133">#1133</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/bcf0d1289c8df01178af919dd5d8ff83afaa5471"><code>bcf0d12</code></a> build(deps): bump the github-actions group with 3 updates (<a href="https://redirect.github.com/klauspost/compress/issues/1132">#1132</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/cf758fe1c54e3049f302474d2a98afd3acc1a884"><code>cf758fe</code></a> ci: Upgrade Go versions, clean up (<a href="https://redirect.github.com/klauspost/compress/issues/1130">#1130</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/77cc5203de2eb0034a63eace182bb28aa869cb83"><code>77cc520</code></a> Add v1.18.4</li> <li>See full diff in <a href="https://github.com/klauspost/compress/compare/v1.18.4...v1.18.5">compare view</a></li> </ul> </details> <br /> Updates `github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest` from 0.147.0 to 0.149.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/releases">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's releases</a>.</em></p> <blockquote> <h2>v0.149.0</h2> <p>The OpenTelemetry Collector Contrib contains everything in the <a href="https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.149.0">opentelemetry-collector release</a>, be sure to check the release notes there as well.</p> <h2>End User Changelog</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>exporter/elasticsearch</code>: Remove <code>host.os.type</code> encoding in ECS mode (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900">#46900</a>) Use <a href="https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor">processor/elasticapmprocessor</a> v0.36.2 or later for <code>host.os.type</code> enrichment</li> <li><code>receiver/prometheus</code>: Remove the deprecated <code>report_extra_scrape_metrics</code> receiver configuration option and obsolete extra scrape metric feature gates. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181">#44181</a>) <code>report_extra_scrape_metrics</code> is no longer accepted in <code>prometheusreceiver</code> configuration. Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead.</li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li> <p><code>receiver/awsfirehose</code>: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp_v1) in favor of encoding extensions. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830">#45830</a>) Use the aws_logs_encoding extension (format: cloudwatch) instead of cwlogs, and the awscloudwatchmetricstreams_encoding extension instead of cwmetrics (format: json) or otlp_v1 (format: opentelemetry1.0).</p> </li> <li> <p><code>receiver/file_log</code>: Rename <code>filelog</code> receiver to <code>file_log</code> with deprecated alias <code>filelog</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</p> </li> <li> <p><code>receiver/kafka</code>: Deprecate the built-in <code>azure_resource_logs</code> encoding in favour of <code>azureencodingextension</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267">#46267</a>) The built-in <code>azure_resource_logs</code> encoding does not support all timestamp formats emitted by Azure services (e.g. US-format timestamps from Azure Functions). Users should migrate to the <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension"><code>azureencodingextension</code></a>, which provides full control over time formats and is actively maintained.</p> </li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>cmd/opampsupervisor</code>: Add configuration validation before applying remote config to prevent collector downtime (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068">#41068</a>) Validates collector configurations before applying them, preventing downtime from invalid remote configs. Disabled by default. Enable via <code>agent.validate_config: true</code>. May produce false positives when resources like ports are temporarily unavailable during validation.</p> </li> <li> <p><code>connector/datadog</code>: Document datadog connector is not supported in aix environments (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010">#47010</a>) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.</p> </li> <li> <p><code>connector/signal_to_metrics</code>: Add <code>keys_expression</code> support in <code>include_resource_attributes</code> and <code>attributes</code> for dynamic attribute key resolution at runtime (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884">#46884</a>) The <code>keys_expression</code> field allows specifying an OTTL value expression that resolves to a list of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime data such as client metadata. Exactly one of <code>key</code> or <code>keys_expression</code> must be set per entry.</p> </li> <li> <p><code>connector/signal_to_metrics</code>: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197">#47197</a>)</p> </li> <li> <p><code>connector/signal_to_metrics</code>: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183">#47183</a>) Pre-computing the collector key avoids a string allocation on every signal processed.</p> </li> <li> <p><code>exporter/datadog</code>: Document datadog exporter is not supported in aix environments (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010">#47010</a>) Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CHANGELOG-API.md">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's changelog</a>.</em></p> <blockquote> <h2>v0.149.0</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>pkg/stanza</code>: Change signature of <code>adapter.NewFactory</code> to accept <code>xreceiver.FactoryOption</code>s (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>) While the change is technically breaking, the existing calls to <code>adapter.NewFactory</code> will continue to work.</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>pkg/expohisto</code>: Move Go exponential histogram data structure into collector-contrib repository (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46646">#46646</a>)</p> </li> <li> <p><code>receiver/docker_stats</code>: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557">#33557</a>) A new optional <code>tls</code> configuration block is available in <code>docker_stats</code> receiver config (and the shared <code>internal/docker</code> package). When omitted the connection remains insecure (plain HTTP or Unix socket), preserving existing behavior. When provided it supports the standard <code>configtls.ClientConfig</code> fields: <code>ca_file</code>, <code>cert_file</code>, <code>key_file</code>, <code>insecure_skip_verify</code>, <code>min_version</code>, and <code>max_version</code>. A warning is now emitted when a plain <code>tcp://</code> or <code>http://</code> endpoint is used without TLS, reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0 (see <a href="https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections">https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections</a>).</p> </li> <li> <p><code>receiver/docker_stats</code>: Add "stream_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493">#46493</a>) When <code>stream_stats: true</code> is set, each container maintains a persistent open Docker stats stream instead of opening and closing a new connection on every scrape cycle. The scraper reads from the cached latest value, which reduces connection overhead.</p> </li> <li> <p><code>receiver/sqlquery</code>: Add <code>row_condition</code> to metric configuration for filtering result rows by column value (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862">#45862</a>) Enables extracting individual metrics from pivot-style result sets where each row represents a different metric (e.g. pgbouncer's <code>SHOW LISTS</code> command). When <code>row_condition</code> is configured on a metric, only rows where the specified column equals the specified value are used; all other rows are silently skipped.</p> </li> </ul> <!-- raw HTML omitted --> <h2>v0.148.0</h2> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>pkg/azurelogs</code>: Remove semconv v1.28.0 and v1.34.0 dependencies, migrating to v1.38.0 via paired feature gates (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45033">#45033</a>, <a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45034">#45034</a>) Two new alpha feature gates control the migration: <code>pkg.translator.azurelogs.EmitV1LogConventions</code> emits stable attribute names (<code>code.function.name</code>, <code>code.file.path</code>, <code>eventName</code> per log record). <code>pkg.translator.azurelogs.DontEmitV0LogConventions</code> suppresses the old names (<code>code.function</code>, <code>code.filepath</code>, <code>event.name</code> on resource). Both gates default to off; enable <code>EmitV1LogConventions</code> first for a dual-emit migration window.</p> </li> <li> <p><code>pkg/datadog</code>: Expose feature gate to infer intervals for delta metrics. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46851">#46851</a>)</p> </li> <li> <p><code>pkg/xstreamencoding</code>: Add stream decoding adapters for unmarshaler interfaces (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46754">#46754</a>)</p> </li> <li> <p><code>processor/tail_sampling</code>: Add hooks to call when a sampling decision is made for a trace. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46161">#46161</a>)</p> </li> <li> <p><code>receiver/github</code>: Enables dynamic metric reaggregation in the GitHub receiver. This does not break existing configuration files. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46385">#46385</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/262df712c2a3f8d240b041a73109e8ab3904b916"><code>262df71</code></a> [chore] Prepare release 0.149.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47280">#47280</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/4158922e05686638755f93366d4b7b8c307f8741"><code>4158922</code></a> [chore] update dependency (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47273">#47273</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/9a9c77927449a8effd2b7046c751327271f94196"><code>9a9c779</code></a> fix(deps): update module golang.org/x/sync to v0.20.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47266">#47266</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/4c1d5a14ddd69deb168ebb200b4643fc6579abae"><code>4c1d5a1</code></a> [receiver/mysql] Adding trace propagation (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46327">#46327</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/d66072486640db52f8c7be0e5e9b7c5f3a54179e"><code>d660724</code></a> fix(deps): update module github.com/hetznercloud/hcloud-go/v2 to v2.37.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47">#47</a>...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/0cee13318ba2a36b69376dbe1e6aab2bd4ee1b58"><code>0cee133</code></a> fix(deps): update module github.com/stretchr/testify to v1.11.1 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47263">#47263</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/33d749ae41fd8a99ada0fffc43903f556a053f2d"><code>33d749a</code></a> fix(deps): update module github.com/googleapis/gax-go/v2 to v2.20.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47260">#47260</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/12912f35b2eae5da053d5ed7fb65a5f8f3ff28fe"><code>12912f3</code></a> fix(deps): update module github.com/hashicorp/go-version to v1.9.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47261">#47261</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/173558b3687b0ab4f6f735c4ce1d38ec065bd05f"><code>173558b</code></a> [chore] [sentryexporter] Add giortzisg to CODEOWNERS (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47258">#47258</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/1647290d013cde5dc3263be53bd48a31b39c50aa"><code>1647290</code></a> [receiver/hostmetrics] restrict system.processes.created to Linux and OpenBSD...</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.149.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/pelletier/go-toml/v2` from 2.2.4 to 2.3.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pelletier/go-toml/releases">github.com/pelletier/go-toml/v2's releases</a>.</em></p> <blockquote> <h2>v2.3.0</h2> <p>This is the first release built largely with the help of AI coding agents. Highlights include the complete removal of the unsafe package. go-toml is now fully safe Go code, with a geomean overhead of only ~1.4% vs v2.2.4 and zero additional allocations on benchmarks. This release also adds omitzero struct tag support, improves UnmarshalText/Unmarshaler handling for tables and array tables, and fixes several bugs including nil pointer marshaling, leap second handling, and datetime unmarshaling panics.</p> <!-- raw HTML omitted --> <h2>What's Changed</h2> <h3>What's new</h3> <ul> <li>marshal: don't escape quotes unnecessarily by <a href="https://github.com/virtuald"><code>@virtuald</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/991">pelletier/go-toml#991</a></li> <li>Add <code>omitzero</code> tag support by <a href="https://github.com/NathanBaulch"><code>@NathanBaulch</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/998">pelletier/go-toml#998</a></li> <li>Support custom IsZero() methods with omitzero tag by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1020">pelletier/go-toml#1020</a></li> <li>UnmarshalText fallbacks to struct unmarshaling for tables and arrays by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1026">pelletier/go-toml#1026</a></li> <li>[unstable] Support Unmarshaler interface for tables and array tables by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1027">pelletier/go-toml#1027</a></li> </ul> <h3>Fixed bugs</h3> <ul> <li>Add missing UnmarshalTOML call by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/996">pelletier/go-toml#996</a></li> <li>Handle array table into an empty slice by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/997">pelletier/go-toml#997</a></li> <li>Unwrap strict errors by <a href="https://github.com/bersace"><code>@bersace</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1012">pelletier/go-toml#1012</a></li> <li>Fix leap second handling found by fuzz by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1019">pelletier/go-toml#1019</a></li> <li>Fix nil pointer map values not being marshaled by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1025">pelletier/go-toml#1025</a></li> <li>Fix panic when unmarshaling datetime values to incompatible types (<a href="https://redirect.github.com/pelletier/go-toml/issues/1028">#1028</a>) by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1029">pelletier/go-toml#1029</a></li> <li>Fix parser error pointing to wrong line at EOF without trailing newline by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1041">pelletier/go-toml#1041</a></li> </ul> <h3>Documentation</h3> <ul> <li>Improve Unmarshaling README by <a href="https://github.com/heckelson"><code>@heckelson</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1016">pelletier/go-toml#1016</a></li> <li>Create AGENTS.md guidelines file by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1017">pelletier/go-toml#1017</a></li> </ul> <h3>Other changes</h3> <ul> <li>Unsafe package removal by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1021">pelletier/go-toml#1021</a></li> <li>Bump CI and test scripts to Go 1.26 by <a href="https://github.com/pelletier"><code>@pelletier</code></a> in <a href="https://redirect.github.com/pelletier/go-toml/pull/1030">pelletier/go-toml#1030</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/virtuald"><code>@virtuald</code></a> made their first contribution in <a href="https://redirect.github.com/pelletier/go-toml/pull/991">pelletier/go-toml#991</a></li> <li><a href="https://github.com/NathanBaulch"><code>@NathanBaulch</code></a> made their first contribution in <a href="https://redirect.github.com/pelletier/go-toml/pull/999">pelletier/go-toml#999</a></li> <li><a href="https://github.com/bersace"><code>@bersace</code></a> made their first contribution in <a href="https://redirect.github.com/pelletier/go-toml/pull/1012">pelletier/go-toml#1012</a></li> <li><a href="https://github.com/flyn-org"><code>@flyn-org</code></a> made their first contribution in <a href="https://redirect.github.com/pelletier/go-toml/pull/1013">pelletier/go-toml#1013</a></li> <li><a href="https://github.com/heckelson"><code>@heckelson</code></a> made their first contribution in <a href="https://redirect.github.com/pelletier/go-toml/pull/1016">pelletier/go-toml#1016</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0">https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pelletier/go-toml/commit/f36a3ece9e3adf0efaf9f9bd3591c3001f17602b"><code>f36a3ec</code></a> Reduce marshal and unmarshal overhead (<a href="https://redirect.github.com/pelletier/go-toml/issues/1044">#1044</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/77f3862df44d71c6eab9a7f4b30154046a9c3c62"><code>77f3862</code></a> Fix benchmark script replacing internal package imports (<a href="https://redirect.github.com/pelletier/go-toml/issues/1042">#1042</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/16b1ef5508d99a35131b454a80e05a784d0f61fe"><code>16b1ef5</code></a> Fix parser error pointing to wrong line when last line has no trailing newlin...</li> <li><a href="https://github.com/pelletier/go-toml/commit/e14bde7c1d0e055cc26b8348f7a08ba0c7af1cdb"><code>e14bde7</code></a> build(deps): bump docker/login-action from 3 to 4 (<a href="https://redirect.github.com/pelletier/go-toml/issues/1039">#1039</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/4b1ff01eb3bdc32f3610d5715da3d9e1d03a2d8c"><code>4b1ff01</code></a> build(deps): bump docker/setup-buildx-action from 3 to 4 (<a href="https://redirect.github.com/pelletier/go-toml/issues/1040">#1040</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/048a25f0f2360787e267ac3025c7f74a9aa3a3c9"><code>048a25f</code></a> Go 1.26 (<a href="https://redirect.github.com/pelletier/go-toml/issues/1030">#1030</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/b3575580f98d71a957f5ff4e05b39d959aee1957"><code>b357558</code></a> build(deps): bump goreleaser/goreleaser-action from 6 to 7 (<a href="https://redirect.github.com/pelletier/go-toml/issues/1035">#1035</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/a0be52f4c1d9cd997580d9d8962628ad7a18b32d"><code>a0be52f</code></a> build(deps): bump actions/upload-artifact from 6 to 7 (<a href="https://redirect.github.com/pelletier/go-toml/issues/1036">#1036</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/316bfc66a4af619a1b0b8f844659b533992bde40"><code>316bfc6</code></a> Support Unmarshaler interface for tables and array tables (<a href="https://redirect.github.com/pelletier/go-toml/issues/1027">#1027</a>)</li> <li><a href="https://github.com/pelletier/go-toml/commit/2edc61f17159e4fde0f26098841160013015430b"><code>2edc61f</code></a> Fix panic when unmarshaling datetime values to incompatible types (<a href="https://redirect.github.com/pelletier/go-toml/issues/1028">#1028</a>) (<a href="https://redirect.github.com/pelletier/go-toml/issues/1">#1</a>...</li> <li>Additional commits viewable in <a href="https://github.com/pelletier/go-toml/compare/v2.2.4...v2.3.0">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc` from 0.67.0 to 0.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/releases">go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc's releases</a>.</em></p> <blockquote> <h2>Release v1.43.0/v2.5.0/v0.68.0/v0.37.0/v0.23.0/v0.18.0/v0.16.0/v0.15.0</h2> <h2>Added</h2> <ul> <li>Add <code>Resource</code> method to <code>SDK</code> in <code>go.opentelemetry.io/contrib/otelconf/v0.3.0</code> to expose the resolved SDK resource from declarative configuration. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8660">#8660</a>)</li> <li>Add support to set the configuration file via <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> <li>Add support for <code>service</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8674">#8674</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in tracer provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8687">#8687</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in logger provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8686">#8686</a>)</li> <li>Add support for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> <li>Add support for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. Supported values are <code>rpc</code> (default), <code>rpc/dup</code> and <code>rpc/old</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8726">#8726</a>)</li> <li>Add the <code>http.route</code> metric attribute to <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8632">#8632</a>)</li> </ul> <h2>Changed</h2> <ul> <li>Prepend <code>_</code> to the normalized environment variable name when the key starts with a digit in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, ensuring POSIX compliance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8678">#8678</a>)</li> <li>Move experimental types from <code>go.opentelemetry.io/contrib/otelconf</code> to <code>go.opentelemetry.io/contrib/otelconf/x</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li>Normalize cached environment variable names in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, aligning <code>Carrier.Keys</code> output with the carrier's normalized key format. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Fix <code>go.opentelemetry.io/contrib/otelconf</code> Prometheus reader converting OTel dot-style label names (e.g. <code>service.name</code>) to underscore-style (<code>service_name</code>) in <code>target_info</code> when both <code>without_type_suffix</code> and <code>without_units</code> are set. Use <code>NoTranslation</code> instead of <code>UnderscoreEscapingWithoutSuffixes</code> to preserve dot-style label names while still suppressing metric name suffixes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li>Limit the request body size at 1MB in <code>go.opentelemetry.io/contrib/zpages</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8656">#8656</a>)</li> <li>Fix server spans using the client's address and port for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> </ul> <h2>Removed</h2> <ul> <li>Host ID resource detector has been removed when configuring the <code>host</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8581">#8581</a>)</li> </ul> <h2>Deprecated</h2> <ul> <li>Deprecate <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> in favour of <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> </ul> <h2>What's Changed</h2> <ul> <li>chore(deps): update module github.com/jgautheron/goconst to v1.9.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8651">open-telemetry/opentelemetry-go-contrib#8651</a></li> <li>chore(deps): update module go.yaml.in/yaml/v2 to v2.4.4 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8652">open-telemetry/opentelemetry-go-contrib#8652</a></li> <li>chore(deps): update golang.org/x/telemetry digest to e526e8a by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8647">open-telemetry/opentelemetry-go-contrib#8647</a></li> <li>chore(deps): update module k8s.io/klog/v2 to v2.140.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8650">open-telemetry/opentelemetry-go-contrib#8650</a></li> <li>chore(deps): update module github.com/mgechev/revive to v1.14.0 by <a href="https://github.com/mmorel-35"><code>@mmorel-35</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8646">open-telemetry/opentelemetry-go-contrib#8646</a></li> <li>chore(deps): update module github.com/mgechev/revive to v1.15.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8539">open-telemetry/opentelemetry-go-contrib#8539</a></li> <li>chore: fix noctx issues by <a href="https://github.com/mmorel-35"><code>@mmorel-35</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8645">open-telemetry/opentelemetry-go-contrib#8645</a></li> <li>chore(deps): update golang.org/x by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8655">open-telemetry/opentelemetry-go-contrib#8655</a></li> <li>chore(deps): update module codeberg.org/chavacava/garif to v0.2.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8654">open-telemetry/opentelemetry-go-contrib#8654</a></li> <li>chore(deps): update module github.com/mattn/go-runewidth to v0.0.21 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8653">open-telemetry/opentelemetry-go-contrib#8653</a></li> <li>fix(deps): update module go.opentelemetry.io/proto/otlp to v1.10.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8657">open-telemetry/opentelemetry-go-contrib#8657</a></li> <li>Limit the number of bytes read from the zpages body by <a href="https://github.com/dmathieu"><code>@dmathieu</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8656">open-telemetry/opentelemetry-go-contrib#8656</a></li> <li>fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8648">open-telemetry/opentelemetry-go-contrib#8648</a></li> <li>fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.3 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8661">open-telemetry/opentelemetry-go-contrib#8661</a></li> <li>chore(deps): update github.com/securego/gosec/v2 digest to 8895462 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8663">open-telemetry/opentelemetry-go-contrib#8663</a></li> <li>otelconf: support OTEL_CONFIG_FILE as it is no longer experimental by <a href="https://github.com/codeboten"><code>@codeboten</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8639">open-telemetry/opentelemetry-go-contrib#8639</a></li> <li>chore(deps): update module github.com/sonatard/noctx to v0.5.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8664">open-telemetry/opentelemetry-go-contrib#8664</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md">go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc's changelog</a>.</em></p> <blockquote> <h2>[1.43.0/2.5.0/0.68.0/0.37.0/0.23.0/0.18.0/0.16.0/0.15.0] - 2026-04-03</h2> <h3>Added</h3> <ul> <li>Add <code>Resource</code> method to <code>SDK</code> in <code>go.opentelemetry.io/contrib/otelconf/v0.3.0</code> to expose the resolved SDK resource from declarative configuration. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8660">#8660</a>)</li> <li>Add support to set the configuration file via <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> <li>Add support for <code>service</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8674">#8674</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in tracer provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8687">#8687</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in logger provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8686">#8686</a>)</li> <li>Add support for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> <li>Add support for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. Supported values are <code>rpc</code> (default), <code>rpc/dup</code> and <code>rpc/old</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8726">#8726</a>)</li> <li>Add the <code>http.route</code> metric attribute to <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8632">#8632</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Prepend <code>_</code> to the normalized environment variable name when the key starts with a digit in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, ensuring POSIX compliance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8678">#8678</a>)</li> <li>Move experimental types from <code>go.opentelemetry.io/contrib/otelconf</code> to <code>go.opentelemetry.io/contrib/otelconf/x</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li>Normalize cached environment variable names in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, aligning <code>Carrier.Keys</code> output with the carrier's normalized key format. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>go.opentelemetry.io/contrib/otelconf</code> Prometheus reader converting OTel dot-style label names (e.g. <code>service.name</code>) to underscore-style (<code>service_name</code>) in <code>target_info</code> when both <code>without_type_suffix</code> and <code>without_units</code> are set. Use <code>NoTranslation</code> instead of <code>UnderscoreEscapingWithoutSuffixes</code> to preserve dot-style label names while still suppressing metric name suffixes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li>Limit the request body size at 1MB in <code>go.opentelemetry.io/contrib/zpages</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8656">#8656</a>)</li> <li>Fix server spans using the client's address and port for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Host ID resource detector has been removed when configuring the <code>host</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8581">#8581</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li>Deprecate <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> in favour of <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/45977a4b9cf4a60effd1ee07367043f7e9bcae66"><code>45977a4</code></a> Release v1.43.0/v2.5.0/v0.68.0/v0.37.0/v0.23.0/v0.18.0/v0.16.0/v0.15.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8769">#8769</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/0fcc1524d1a740b3632db418f73236d29536f119"><code>0fcc152</code></a> fix(deps): update module github.com/googlecloudplatform/opentelemetry-operati...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/eaba3cdaa1559cc7425644e21a389f227e30dc86"><code>eaba3cd</code></a> chore(deps): update googleapis to 6f92a3b (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8776">#8776</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/6df430c48045ad1221f203c01f6656367dd46fd1"><code>6df430c</code></a> chore(deps): update module github.com/jgautheron/goconst to v1.10.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8771">#8771</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ae90e3237e8d8f14bc3f181e1f82feb1686604f0"><code>ae90e32</code></a> Fix otelconf prometheus label escaping (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/f202c3f8000fe3e681621808b5e316fe4749850a"><code>f202c3f</code></a> otelconf: move experimental types to otelconf/x (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/8ddaecee1cc531ae753d4812842745bdfb805208"><code>8ddaece</code></a> fix(deps): update aws-sdk-go-v2 monorepo (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8764">#8764</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/c7c03a47d4cf7252728b11efd78e2159b437dbd2"><code>c7c03a4</code></a> chore(deps): update module github.com/mattn/go-runewidth to v0.0.22 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8766">#8766</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/717a85a20313ac21712dd055ba2ede71205889e8"><code>717a85a</code></a> envcar: normalize cached environment variable names (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ad990b6d55811953d06ec88720fa373931fa1a27"><code>ad990b6</code></a> fix(deps): update module github.com/aws/smithy-go to v1.24.3 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8765">#8765</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.67.0...zpages/v0.68.0">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.67.0 to 0.68.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/releases">go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's releases</a>.</em></p> <blockquote> <h2>Release v1.43.0/v2.5.0/v0.68.0/v0.37.0/v0.23.0/v0.18.0/v0.16.0/v0.15.0</h2> <h2>Added</h2> <ul> <li>Add <code>Resource</code> method to <code>SDK</code> in <code>go.opentelemetry.io/contrib/otelconf/v0.3.0</code> to expose the resolved SDK resource from declarative configuration. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8660">#8660</a>)</li> <li>Add support to set the configuration file via <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> <li>Add support for <code>service</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8674">#8674</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in tracer provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8687">#8687</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in logger provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8686">#8686</a>)</li> <li>Add support for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> <li>Add support for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. Supported values are <code>rpc</code> (default), <code>rpc/dup</code> and <code>rpc/old</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8726">#8726</a>)</li> <li>Add the <code>http.route</code> metric attribute to <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8632">#8632</a>)</li> </ul> <h2>Changed</h2> <ul> <li>Prepend <code>_</code> to the normalized environment variable name when the key starts with a digit in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, ensuring POSIX compliance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8678">#8678</a>)</li> <li>Move experimental types from <code>go.opentelemetry.io/contrib/otelconf</code> to <code>go.opentelemetry.io/contrib/otelconf/x</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li>Normalize cached environment variable names in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, aligning <code>Carrier.Keys</code> output with the carrier's normalized key format. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Fix <code>go.opentelemetry.io/contrib/otelconf</code> Prometheus reader converting OTel dot-style label names (e.g. <code>service.name</code>) to underscore-style (<code>service_name</code>) in <code>target_info</code> when both <code>without_type_suffix</code> and <code>without_units</code> are set. Use <code>NoTranslation</code> instead of <code>UnderscoreEscapingWithoutSuffixes</code> to preserve dot-style label names while still suppressing metric name suffixes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li>Limit the request body size at 1MB in <code>go.opentelemetry.io/contrib/zpages</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8656">#8656</a>)</li> <li>Fix server spans using the client's address and port for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> </ul> <h2>Removed</h2> <ul> <li>Host ID resource detector has been removed when configuring the <code>host</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8581">#8581</a>)</li> </ul> <h2>Deprecated</h2> <ul> <li>Deprecate <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> in favour of <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> </ul> <h2>What's Changed</h2> <ul> <li>chore(deps): update module github.com/jgautheron/goconst to v1.9.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8651">open-telemetry/opentelemetry-go-contrib#8651</a></li> <li>chore(deps): update module go.yaml.in/yaml/v2 to v2.4.4 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8652">open-telemetry/opentelemetry-go-contrib#8652</a></li> <li>chore(deps): update golang.org/x/telemetry digest to e526e8a by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8647">open-telemetry/opentelemetry-go-contrib#8647</a></li> <li>chore(deps): update module k8s.io/klog/v2 to v2.140.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8650">open-telemetry/opentelemetry-go-contrib#8650</a></li> <li>chore(deps): update module github.com/mgechev/revive to v1.14.0 by <a href="https://github.com/mmorel-35"><code>@mmorel-35</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8646">open-telemetry/opentelemetry-go-contrib#8646</a></li> <li>chore(deps): update module github.com/mgechev/revive to v1.15.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8539">open-telemetry/opentelemetry-go-contrib#8539</a></li> <li>chore: fix noctx issues by <a href="https://github.com/mmorel-35"><code>@mmorel-35</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8645">open-telemetry/opentelemetry-go-contrib#8645</a></li> <li>chore(deps): update golang.org/x by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8655">open-telemetry/opentelemetry-go-contrib#8655</a></li> <li>chore(deps): update module codeberg.org/chavacava/garif to v0.2.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8654">open-telemetry/opentelemetry-go-contrib#8654</a></li> <li>chore(deps): update module github.com/mattn/go-runewidth to v0.0.21 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8653">open-telemetry/opentelemetry-go-contrib#8653</a></li> <li>fix(deps): update module go.opentelemetry.io/proto/otlp to v1.10.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8657">open-telemetry/opentelemetry-go-contrib#8657</a></li> <li>Limit the number of bytes read from the zpages body by <a href="https://github.com/dmathieu"><code>@dmathieu</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8656">open-telemetry/opentelemetry-go-contrib#8656</a></li> <li>fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8648">open-telemetry/opentelemetry-go-contrib#8648</a></li> <li>fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.11.3 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8661">open-telemetry/opentelemetry-go-contrib#8661</a></li> <li>chore(deps): update github.com/securego/gosec/v2 digest to 8895462 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8663">open-telemetry/opentelemetry-go-contrib#8663</a></li> <li>otelconf: support OTEL_CONFIG_FILE as it is no longer experimental by <a href="https://github.com/codeboten"><code>@codeboten</code></a> in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8639">open-telemetry/opentelemetry-go-contrib#8639</a></li> <li>chore(deps): update module github.com/sonatard/noctx to v0.5.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/pull/8664">open-telemetry/opentelemetry-go-contrib#8664</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md">go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's changelog</a>.</em></p> <blockquote> <h2>[1.43.0/2.5.0/0.68.0/0.37.0/0.23.0/0.18.0/0.16.0/0.15.0] - 2026-04-03</h2> <h3>Added</h3> <ul> <li>Add <code>Resource</code> method to <code>SDK</code> in <code>go.opentelemetry.io/contrib/otelconf/v0.3.0</code> to expose the resolved SDK resource from declarative configuration. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8660">#8660</a>)</li> <li>Add support to set the configuration file via <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> <li>Add support for <code>service</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8674">#8674</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in tracer provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8687">#8687</a>)</li> <li>Add support for <code>attribute_count_limit</code> and <code>attribute_value_length_limit</code> in logger provider configuration in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8686">#8686</a>)</li> <li>Add support for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> <li>Add support for <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. Supported values are <code>rpc</code> (default), <code>rpc/dup</code> and <code>rpc/old</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8726">#8726</a>)</li> <li>Add the <code>http.route</code> metric attribute to <code>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8632">#8632</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Prepend <code>_</code> to the normalized environment variable name when the key starts with a digit in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, ensuring POSIX compliance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8678">#8678</a>)</li> <li>Move experimental types from <code>go.opentelemetry.io/contrib/otelconf</code> to <code>go.opentelemetry.io/contrib/otelconf/x</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li>Normalize cached environment variable names in <code>go.opentelemetry.io/contrib/propagators/envcar</code>, aligning <code>Carrier.Keys</code> output with the carrier's normalized key format. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>go.opentelemetry.io/contrib/otelconf</code> Prometheus reader converting OTel dot-style label names (e.g. <code>service.name</code>) to underscore-style (<code>service_name</code>) in <code>target_info</code> when both <code>without_type_suffix</code> and <code>without_units</code> are set. Use <code>NoTranslation</code> instead of <code>UnderscoreEscapingWithoutSuffixes</code> to preserve dot-style label names while still suppressing metric name suffixes. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li>Limit the request body size at 1MB in <code>go.opentelemetry.io/contrib/zpages</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8656">#8656</a>)</li> <li>Fix server spans using the client's address and port for <code>server.address</code> and <code>server.port</code> attributes in <code>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8723">#8723</a>)</li> </ul> <h3>Removed</h3> <ul> <li>Host ID resource detector has been removed when configuring the <code>host</code> resource detector in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8581">#8581</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li>Deprecate <code>OTEL_EXPERIMENTAL_CONFIG_FILE</code> in favour of <code>OTEL_CONFIG_FILE</code> in <code>go.opentelemetry.io/contrib/otelconf</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8639">#8639</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/45977a4b9cf4a60effd1ee07367043f7e9bcae66"><code>45977a4</code></a> Release v1.43.0/v2.5.0/v0.68.0/v0.37.0/v0.23.0/v0.18.0/v0.16.0/v0.15.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8769">#8769</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/0fcc1524d1a740b3632db418f73236d29536f119"><code>0fcc152</code></a> fix(deps): update module github.com/googlecloudplatform/opentelemetry-operati...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/eaba3cdaa1559cc7425644e21a389f227e30dc86"><code>eaba3cd</code></a> chore(deps): update googleapis to 6f92a3b (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8776">#8776</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/6df430c48045ad1221f203c01f6656367dd46fd1"><code>6df430c</code></a> chore(deps): update module github.com/jgautheron/goconst to v1.10.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8771">#8771</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ae90e3237e8d8f14bc3f181e1f82feb1686604f0"><code>ae90e32</code></a> Fix otelconf prometheus label escaping (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8763">#8763</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/f202c3f8000fe3e681621808b5e316fe4749850a"><code>f202c3f</code></a> otelconf: move experimental types to otelconf/x (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8529">#8529</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/8ddaecee1cc531ae753d4812842745bdfb805208"><code>8ddaece</code></a> fix(deps): update aws-sdk-go-v2 monorepo (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8764">#8764</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/c7c03a47d4cf7252728b11efd78e2159b437dbd2"><code>c7c03a4</code></a> chore(deps): update module github.com/mattn/go-runewidth to v0.0.22 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8766">#8766</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/717a85a20313ac21712dd055ba2ede71205889e8"><code>717a85a</code></a> envcar: normalize cached environment variable names (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8761">#8761</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ad990b6d55811953d06ec88720fa373931fa1a27"><code>ad990b6</code></a> fix(deps): update module github.com/aws/smithy-go to v1.24.3 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8765">#8765</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.67.0...zpages/v0.68.0">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` from 1.42.0 to 1.43.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp's changelog</a>.</em></p> <blockquote> <h2>[1.43.0/0.65.0/0.19.0] 2026-04-02</h2> <h3>Added</h3> <ul> <li>Add <code>IsRandom</code> and <code>WithRandom</code> on <code>TraceFlags</code>, and <code>IsRandom</code> on <code>SpanContext</code> in <code>go.opentelemetry.io/otel/trace</code> for <a href="https://www.w3.org/TR/trace-context-2/#random-trace-id-flag">W3C Trace Context Level 2 Random Trace ID Flag</a> support. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8012">#8012</a>)</li> <li>Add service detection with <code>WithService</code> in <code>go.opentelemetry.io/otel/sdk/resource</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7642">#7642<…
## Which problem is this PR solving? Update all releasing docs for v3.2.0 ## Short description of the changes - update CHANGLOG.md - update RELEASING_NOTE.md
) Bumps the minor-patch group with 8 updates: | Package | From | To | | --- | --- | --- | | [github.com/honeycombio/libhoney-go](https://github.com/honeycombio/libhoney-go) | `1.26.0` | `1.27.1` | | [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.18.5` | `1.18.6` | | [github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest](https://github.com/open-telemetry/opentelemetry-collector-contrib) | `0.149.0` | `0.151.0` | | [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `9.18.0` | `9.19.0` | | [github.com/tinylib/msgp](https://github.com/tinylib/msgp) | `1.6.3` | `1.6.4` | | [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector) | `1.55.0` | `1.57.0` | | [golang.org/x/mod](https://github.com/golang/mod) | `0.33.0` | `0.35.0` | | [golang.org/x/tools](https://github.com/golang/tools) | `0.42.0` | `0.43.0` | Updates `github.com/honeycombio/libhoney-go` from 1.26.0 to 1.27.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/honeycombio/libhoney-go/releases">github.com/honeycombio/libhoney-go's releases</a>.</em></p> <blockquote> <h2>v1.27.1</h2> <h3>Fixes</h3> <ul> <li><strong>AddFields</strong>: Allocate a correctly-sized new map instead of swapping the caller's map pointer, which mutated the caller's map as a side effect (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/279">#279</a>)</li> </ul> <h3>Install / Upgrade</h3> <pre><code>go get github.com/honeycombio/libhoney-go@v1.27.1 </code></pre> <h2>v1.27.0</h2> <h3>Enhancements</h3> <ul> <li>feat: add bulk AddFields method to Event and fieldHolder (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/275">#275</a>) | <a href="https://github.com/lizthegrey"><code>@lizthegrey</code></a></li> </ul> <h3>Maintenance</h3> <ul> <li>maint: bump minimum Go version to 1.24 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/276">#276</a>) | <a href="https://github.com/lizthegrey"><code>@lizthegrey</code></a></li> <li>maint(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.5 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/274">#274</a>) | <a href="https://github.com/dependabot"><code>@dependabot</code></a></li> <li>maint(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/268">#268</a>) | <a href="https://github.com/dependabot"><code>@dependabot</code></a></li> <li>ci(OTEL-125): remove pipeline-team dependabot reviewer (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/273">#273</a>) | <a href="https://github.com/JamieDanielson"><code>@JamieDanielson</code></a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/honeycombio/libhoney-go/blob/main/CHANGELOG.md">github.com/honeycombio/libhoney-go's changelog</a>.</em></p> <blockquote> <h2>1.27.1 2026-04-14</h2> <h3>Fixes</h3> <ul> <li>perf: allocate correctly-sized map in AddFields to avoid rehashing and caller map mutation (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/279">#279</a>) | <a href="https://github.com/lizthegrey"><code>@lizthegrey</code></a></li> </ul> <h2>1.27.0 2026-04-13</h2> <h3>Enhancements</h3> <ul> <li>feat: add bulk AddFields method to Event and fieldHolder (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/275">#275</a>) | <a href="https://github.com/lizthegrey"><code>@lizthegrey</code></a></li> </ul> <h3>Maintenance</h3> <ul> <li>maint: bump minimum Go version to 1.24 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/276">#276</a>) | <a href="https://github.com/lizthegrey"><code>@lizthegrey</code></a></li> <li>maint(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.5 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/274">#274</a>) | <a href="https://github.com/dependabot"><code>@dependabot</code></a></li> <li>maint(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/268">#268</a>) | <a href="https://github.com/dependabot"><code>@dependabot</code></a></li> <li>ci(OTEL-125): remove pipeline-team dependabot reviewer (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/273">#273</a>) | <a href="https://github.com/JamieDanielson"><code>@JamieDanielson</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/honeycombio/libhoney-go/commit/02e9dbf361012fafbe8698f429b65630500dc10a"><code>02e9dbf</code></a> chore: prepare v1.27.1 release (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/280">#280</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/07718135ce6ed816341d685b983148b28eb8fcf6"><code>0771813</code></a> perf: allocate correctly-sized map in AddFields to avoid rehashing (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/279">#279</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/ceeb7d9f639893a837dfd9884f54e8513249b721"><code>ceeb7d9</code></a> chore: prepare v1.27.0 release (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/277">#277</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/271f36578ffc340ae33f2f6dba74454c1ad201e1"><code>271f365</code></a> maint(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.5 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/274">#274</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/4199724ef5a4fd49062cff5595c757865b23fe68"><code>4199724</code></a> maint: bump minimum Go version to 1.24 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/276">#276</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/a4a7ffd6db7cee89e9bf096b26d07ca5b26e4c50"><code>a4a7ffd</code></a> maint(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/268">#268</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/da785074837fa4c8d2298ea13a46bd46da92189f"><code>da78507</code></a> feat: add bulk AddFields method to Event and fieldHolder (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/275">#275</a>)</li> <li><a href="https://github.com/honeycombio/libhoney-go/commit/2863df8b8e32e2da3f5505add3c47215cf65289b"><code>2863df8</code></a> ci(OTEL-125): remove pipeline-team dependabot reviewer (<a href="https://redirect.github.com/honeycombio/libhoney-go/issues/273">#273</a>)</li> <li>See full diff in <a href="https://github.com/honeycombio/libhoney-go/compare/v1.26.0...v1.27.1">compare view</a></li> </ul> </details> <br /> Updates `github.com/klauspost/compress` from 1.18.5 to 1.18.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/klauspost/compress/releases">github.com/klauspost/compress's releases</a>.</em></p> <blockquote> <h2>v1.18.6</h2> <h2>What's Changed</h2> <ul> <li>s2: Fix amd64 stack frame corruption by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1145">klauspost/compress#1145</a></li> <li>gzhttp: Canonicalize ETag header by <a href="https://github.com/justinmayhew"><code>@justinmayhew</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1139">klauspost/compress#1139</a></li> <li>perf: pool hash tables in Go encode paths to reduce allocations by <a href="https://github.com/huynhanx03"><code>@huynhanx03</code></a> in <a href="https://redirect.github.com/klauspost/compress/pull/1143">klauspost/compress#1143</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/justinmayhew"><code>@justinmayhew</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1139">klauspost/compress#1139</a></li> <li><a href="https://github.com/huynhanx03"><code>@huynhanx03</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1143">klauspost/compress#1143</a></li> <li><a href="https://github.com/thaJeztah"><code>@thaJeztah</code></a> made their first contribution in <a href="https://redirect.github.com/klauspost/compress/pull/1144">klauspost/compress#1144</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/klauspost/compress/compare/v1.18.5...v1.18.6">https://github.com/klauspost/compress/compare/v1.18.5...v1.18.6</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/klauspost/compress/commit/ac2f5e87a3089bd58c974ca53cef71c7aa8bf877"><code>ac2f5e8</code></a> docs: use unix line-endings for markdown files (<a href="https://redirect.github.com/klauspost/compress/issues/1144">#1144</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/620d7b5cfbf89fbfdf69884f8a561a2981c25b11"><code>620d7b5</code></a> s2: Fix amd64 stack frame corruption (<a href="https://redirect.github.com/klauspost/compress/issues/1145">#1145</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/1b63f2fece784da6334068c671e3f94366bf9d68"><code>1b63f2f</code></a> build(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/klauspost/compress/issues/1141">#1141</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/3d86b893733380c370eba876f5beaaf63aeeea94"><code>3d86b89</code></a> s2: pool hash tables in Go encode paths to reduce allocations (<a href="https://redirect.github.com/klauspost/compress/issues/1143">#1143</a>)</li> <li><a href="https://github.com/klauspost/compress/commit/15967def6890f5494829394274686436976c4936"><code>15967de</code></a> gzhttp: Canonicalize ETag header (<a href="https://redirect.github.com/klauspost/compress/issues/1139">#1139</a>)</li> <li>See full diff in <a href="https://github.com/klauspost/compress/compare/v1.18.5...v1.18.6">compare view</a></li> </ul> </details> <br /> Updates `github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest` from 0.149.0 to 0.151.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/releases">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's releases</a>.</em></p> <blockquote> <h2>v0.151.0</h2> <p>The OpenTelemetry Collector Contrib contains everything in the <a href="https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.151.0">opentelemetry-collector release</a>, be sure to check the release notes there as well.</p> <h2>End User Changelog</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>all</code>: Removed DNS lookup processor skeleton. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47874">#47874</a>)</p> </li> <li> <p><code>connector/datadog</code>: Remove stable feature gate <code>connector.datadogconnector.NativeIngest</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47580">#47580</a>)</p> </li> <li> <p><code>exporter/datadog</code>: Remove stable feature gates <code>exporter.datadogexporter.UseLogsAgentExporter</code> and <code>exporter.datadogexporter.metricexportnativeclient</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47583">#47583</a>)</p> </li> <li> <p><code>exporter/signalfx</code>: Default <code>api_url</code> and <code>ingest_url</code> values derived from <code>realm</code> now use <code>*.observability.splunkcloud.com</code> instead of <code>*.signalfx.com</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47670">#47670</a>) Explicit <code>api_url</code> and <code>ingest_url</code> settings are unchanged. Update network allowlists if they targeted only <code>*.signalfx.com</code>.</p> </li> <li> <p><code>exporter/splunk_hec</code>: Remove deprecated <code>batcher</code> config field. Use <code>sending_queue::batch</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47737">#47737</a>)</p> </li> <li> <p><code>extension/jaegerremotesampling</code>: Remove replaceThriftWithProto feature gate. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47553">#47553</a>)</p> </li> <li> <p><code>pkg/translator/prometheus</code>: Removes <code>pkg.translator.prometheus.NormalizeName</code> feature gate which has been stable for some time. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47597">#47597</a>)</p> </li> <li> <p><code>pkg/zipkin</code>: Promote "pkg.translator.zipkin.DontEmitV0NetworkConventions" and "pkg.translator.zipkin.EmitV1NetworkConventions" feature gates to Beta. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46682">#46682</a>) This changes the default behavior to emit the new semantic convention attributes instead of the old deprecated ones. The Zipkin translator will now use <code>network.local.address</code> (replacing <code>net.host.ip</code>), <code>network.peer.address</code> (replacing <code>net.peer.ip</code>), and <code>service.peer.name</code> (replacing <code>peer.service</code>) by default when emitting spans.</p> </li> <li> <p><code>processor/k8s_attributes</code>: Disable otelcol.k8s.pod.association metric until pod_identifier attribute is properly calculated (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47669">#47669</a>)</p> </li> <li> <p><code>receiver/jaeger</code>: Stabilize <code>DisableRemoteSampling</code> feature gate which has been in beta for over 2 years. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47599">#47599</a>)</p> </li> <li> <p><code>receiver/prometheus</code>: Remove <code>receiver.prometheusreceiver.EnableNativeHistograms</code>, <code>receiver.prometheusreceiver.RemoveStartTimeAdjustment</code> and <code>receiver.prometheusreceiver.UseCreatedMetric</code> feature gates. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/40606">#40606</a>)</p> </li> <li> <p><code>receiver/prometheus</code>: Removes the feature gate <code>receiver.prometheusreceiver.RemoveLegacyResourceAttributes</code> which has been stable for some time. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47598">#47598</a>)</p> </li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li><code>connector/service_graph</code>: Rename component type from <code>servicegraph</code> to <code>service_graph</code> to follow snake_case naming convention. The old name is kept as a deprecated alias. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47971">#47971</a>)</li> <li><code>connector/span_metrics</code>: Rename component type from <code>spanmetrics</code> to <code>span_metrics</code> to follow snake_case naming convention. The old name is kept as a deprecated alias. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47963">#47963</a>)</li> <li><code>exporter/honeycomb_marker</code>: Rename exporter type from <code>honeycombmarker</code> to <code>honeycomb_marker</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</li> <li><code>exporter/prometheusremotewrite</code>: <code>add_metric_suffixes</code> is deprecated. Use <code>translation_strategy: UnderscoreEscapingWithoutSuffixes</code> if you are setting this to false. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/33661">#33661</a>)</li> <li><code>extension/aws_logs_encoding</code>: Deprecates transparent gzip decompression in aws_logs_encoding and clarifies that callers must decompress payloads before invoking the streaming decoder. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/46463">#46463</a>)</li> <li><code>processor/log_dedup</code>: Rename processor type from <code>logdedup</code> to <code>log_dedup</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</li> <li><code>receiver/file_stats</code>: Rename <code>filestats</code> receiver to <code>file_stats</code> with deprecated alias <code>filestats</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</li> <li><code>receiver/fluent_forward</code>: Rename receiver type from <code>fluentforward</code> to <code>fluent_forward</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</li> <li><code>receiver/host_metrics</code>: Rename <code>hostmetrics</code> receiver to <code>host_metrics</code> and add deprecated alias <code>hostmetrics</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45449">#45449</a>)</li> <li><code>receiver/k8s_objects</code>: Rename k8sobjects receiver to k8s_objects and add deprecated alias k8sobjects. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47440">#47440</a>)</li> <li><code>receiver/ssh_check</code>: Rename <code>sshcheck</code> receiver to <code>ssh_check</code> with deprecated alias <code>sshcheck</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339">#45339</a>)</li> </ul> <h3>🚀 New components 🚀</h3> <ul> <li> <p><code>extension/pebble_tail_storage</code>: First PR for new Pebble tail storage extension (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47916">#47916</a>)</p> </li> <li> <p><code>processor/drain</code>: Add drain processor that applies the Drain log clustering algorithm to annotate log records with a derived template string. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47235">#47235</a>) The processor sets <code>log.record.template</code> (e.g. <code>"user <*> logged in from <*>"</code>) on each log record. Downstream processors such as the filter processor can act on this attribute to, for example, drop entire classes of noisy logs by template string.</p> <p>Key features:</p> <ul> <li>Configurable Drain parse tree parameters (depth, similarity threshold, max clusters with LRU eviction)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CHANGELOG-API.md">github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest's changelog</a>.</em></p> <blockquote> <h2>v0.151.0</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>exporter/splunk_hec</code>: Remove deprecated <code>batcher</code> config field. Use <code>sending_queue::batch</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47737">#47737</a>)</p> </li> <li> <p><code>pkg/ottl</code>: OTTL API breaking change in <code>ottlscope.NewTransformContextPtr</code>: the function signature now requires schema URL items for scope and resource. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47784">#47784</a>) What changed:</p> <ul> <li>Old: NewTransformContextPtr(instrumentationScope, resource, schemaURLItem, options...)</li> <li>New: NewTransformContextPtr(instrumentationScope, resource, scopeSchemaURLItem, resourceSchemaURLItem, options...)</li> </ul> <p>Migration:</p> <ul> <li>If you previously passed one shared schema URL item, pass it to both new parameters.</li> <li>If scope and resource schema URLs differ, pass distinct items for each.</li> </ul> <p>Example migration:</p> <ul> <li>Before: tCtx := ottlscope.NewTransformContextPtr(scope, resource, schemaURLItem)</li> <li>After (independent items): tCtx := ottlscope.NewTransformContextPtr(scope, resource, scopeSchemaURLItem, resourceSchemaURLItem)</li> </ul> </li> <li> <p><code>pkg/stanza</code>: Remove deprecated packages <code>pkg/stanza/errors</code>, <code>pkg/stanza/operator/parser/json</code> and <code>pkg/stanza/operator/parser/time</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/45006">#45006</a>) These packages were renamed to <code>pkg/stanza/stanzaerrors</code>, <code>pkg/stanza/operator/parser/jsonparser</code> and <code>pkg/stanza/operator/parser/timeparser</code>.</p> </li> <li> <p><code>processor/filter</code>: Change <code>With*Functions</code> and <code>Default*Functions</code> to use pointer-based transform context signatures (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47975">#47975</a>) The filter processor function options <code>With*Functions</code> and <code>Default*Functions</code> now use pointer-based transform context signatures and are no longer deprecated. As a result, they are not compatible with older non-pointer signatures anymore and must be updated to use the new signature.</p> </li> <li> <p><code>processor/transform</code>: Change <code>With*Functions</code> and <code>Default*Functions</code> to use pointer-based transform context signatures (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47970">#47970</a>) The transform processor function options <code>With*Functions</code> and <code>Default*Functions</code> now use pointer-based transform context signatures and are no longer deprecated. As a result, they are not compatible with older non-pointer signatures anymore and must be updated to use the new signature.</p> </li> <li> <p><code>receiver/prometheus</code>: Remove <code>receiver.prometheusreceiver.EnableNativeHistograms</code>, <code>receiver.prometheusreceiver.RemoveStartTimeAdjustment</code> and <code>receiver.prometheusreceiver.UseCreatedMetric</code> feature gates. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/40606">#40606</a>)</p> </li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li> <p><code>processor/filter</code>: Deprecate custom function options suffixed with <code>New</code> in favor of the existing pointer-based options (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47975">#47975</a>) The <code>With*FunctionsNew</code> and <code>Default*FunctionsNew</code> variants are now deprecated and will be removed in a future release. If you register custom filter processor functions, migrate:</p> <ul> <li><code>With*FunctionsNew</code> -> <code>With*Functions</code></li> <li><code>Default*FunctionsNew</code> -> <code>Default*Functions</code></li> </ul> </li> <li> <p><code>processor/transform</code>: Deprecate custom function options suffixed with <code>New</code> in favor of the existing pointer-based options (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47970">#47970</a>) The <code>With*FunctionsNew</code> and <code>Default*FunctionsNew</code> variants are now deprecated and will be removed in a future release. If you register custom transform processor functions, migrate:</p> <ul> <li><code>With*FunctionsNew</code> -> <code>With*Functions</code></li> <li><code>Default*FunctionsNew</code> -> <code>Default*Functions</code></li> </ul> </li> </ul> <h3>💡 Enhancements 💡</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/25a1fd0fc4bafc64fc28ab33516bedf30b3c9a50"><code>25a1fd0</code></a> [chore] Prepare release 0.151.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/48002">#48002</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/2f03b151f35ca123bfdbacbe5a52927c916e0e2f"><code>2f03b15</code></a> [chore]Update OTEL_VERSION=v0.151.0 OTEL_STABLE_VERSION=v1.57.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/48000">#48000</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/5ca48dc2a964e400e68f917f59a9bb9df5ad5627"><code>5ca48dc</code></a> Graceful handling when PostgreSQL datname and rolname are null (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47769">#47769</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/423b585815dab9a412ae516d4cc5a88e8406d766"><code>423b585</code></a> [exporter/honeycomb_marker] rename to <code>honeycomb_marker</code> with deprecated alia...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/57aa51f809fab78cb38e6d51e905daacb9046701"><code>57aa51f</code></a> Update module modernc.org/sqlite to v1.50.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47996">#47996</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/c432fc3b6793eae7902913f2e7d4f1886cbc2e93"><code>c432fc3</code></a> Update module golang.org/x/vuln to v1.3.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47995">#47995</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/3d37d91ce0e2e26e2b0920647ae6fe2591800afb"><code>3d37d91</code></a> Update module gitlab.com/gitlab-org/api/client-go/v2 to v2.21.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47993">#47993</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/052530274ed960a3ec59cb0fb93f5011eb63f86b"><code>0525302</code></a> [chore] group github.com/twmb/franz-go updates in renovate (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47994">#47994</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/407e59f9fe36ecc27bca214cee534231de243e8a"><code>407e59f</code></a> [receiver/fluent_forward] rename to <code>fluent_forward</code> with deprecated alias `f...</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfaa4cf227fdd87b58d57c0414e745dd830df69e"><code>bfaa4cf</code></a> Update module github.com/redis/go-redis/v9 to v9.19.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector-contrib/issues/47990">#47990</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.151.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/redis/go-redis/v9` from 9.18.0 to 9.19.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/redis/go-redis/releases">github.com/redis/go-redis/v9's releases</a>.</em></p> <blockquote> <h2>9.19.0</h2> <h2>🚀 Highlights</h2> <h3>FIPS-Compatible Script Helper</h3> <p><code>Script</code> now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new <code>NewScriptServerSHA</code> constructor uses <code>SCRIPT LOAD</code> to obtain and cache the digest from the server, then runs commands via <code>EVALSHA</code>/<code>EVALSHA_RO</code>. Falls back to <code>EVAL</code>/<code>EVALRO</code> if loading fails, and transparently retries once on <code>NOSCRIPT</code>. The default behavior is unchanged for existing users.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3700">#3700</a>) by <a href="https://github.com/chaitanyabodlapati"><code>@chaitanyabodlapati</code></a></p> <h3>FT.AGGREGATE Step-Based Pipeline Builder</h3> <p>Added a new step-based <code>FT.AGGREGATE</code> pipeline API via <code>FTAggregateOptions.Steps</code>, allowing <code>LOAD</code>, <code>APPLY</code>, <code>GROUPBY</code>, and <code>SORTBY</code> (with per-step <code>MAX</code>) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy <code>Load</code>/<code>Apply</code>/<code>GroupBy</code>/<code>SortBy</code>/<code>SortByMax</code> fields are now deprecated.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3782">#3782</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></p> <h3>Raw RESP Protocol Access</h3> <p>Added <code>DoRaw</code> and <code>DoRawWriteTo</code> methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3713">#3713</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></p> <h3>Configurable Dial Retry Backoff</h3> <p>Added <code>DialerRetryBackoff</code> option (plumbed through <code>Options</code>, <code>ClusterOptions</code>, <code>RingOptions</code>, <code>FailoverOptions</code>) to let callers customize the delay between failed dial attempts. Helpers <code>DialRetryBackoffConstant</code> and <code>DialRetryBackoffExponential</code> (with jitter and cap) are provided out of the box. Dial timeout is now also applied <strong>per attempt</strong> rather than across all retries.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3706">#3706</a>, <a href="https://redirect.github.com/redis/go-redis/pull/3705">#3705</a>) by <a href="https://github.com/mwhooker"><code>@mwhooker</code></a></p> <h2>✨ New Features</h2> <ul> <li><strong>FT.AGGREGATE Steps</strong>: Step-based pipeline builder for <code>FT.AGGREGATE</code> with support for repeated/interleaved <code>LOAD</code>, <code>APPLY</code>, <code>GROUPBY</code>, and <code>SORTBY</code> stages (<a href="https://redirect.github.com/redis/go-redis/pull/3782">#3782</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>VectorSet commands</strong>: Added <code>VISMEMBER</code> and <code>WITHATTRIBS</code> support (<a href="https://redirect.github.com/redis/go-redis/pull/3753">#3753</a>) by <a href="https://github.com/romanpovol"><code>@romanpovol</code></a></li> <li><strong>FIPS-safe Script</strong>: <code>NewScriptServerSHA</code> uses <code>SCRIPT LOAD</code> to obtain the digest from the server, avoiding client-side SHA-1 (<a href="https://redirect.github.com/redis/go-redis/pull/3700">#3700</a>) by <a href="https://github.com/chaitanyabodlapati"><code>@chaitanyabodlapati</code></a></li> <li><strong>Raw RESP access</strong>: <code>DoRaw</code> and <code>DoRawWriteTo</code> for raw RESP protocol access (<a href="https://redirect.github.com/redis/go-redis/pull/3713">#3713</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>Dial retry backoff</strong>: <code>DialerRetryBackoff</code> function option with constant and exponential helpers (<a href="https://redirect.github.com/redis/go-redis/pull/3706">#3706</a>) by <a href="https://github.com/mwhooker"><code>@mwhooker</code></a></li> <li><strong>Typed NOSCRIPT error</strong>: Redis <code>NOSCRIPT</code> replies are now surfaced as a typed error for easier handling (<a href="https://redirect.github.com/redis/go-redis/pull/3738">#3738</a>) by <a href="https://github.com/LINKIWI"><code>@LINKIWI</code></a></li> <li><strong>PubSub ClientSetName</strong>: Added <code>ClientSetName</code> method to <code>PubSub</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3727">#3727</a>) by <a href="https://github.com/Flack74"><code>@Flack74</code></a></li> <li><strong>ReplicaOf</strong>: New <code>ReplicaOf</code> method replaces the deprecated <code>SlaveOf</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3720">#3720</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> <li><strong>HSCAN BinaryUnmarshaler</strong>: <code>HScan</code> now supports types implementing <code>encoding.BinaryUnmarshaler</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3768">#3768</a>) by <a href="https://github.com/Aaditya-dubey1"><code>@Aaditya-dubey1</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li><strong>Auto hostname type detection</strong>: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (<a href="https://redirect.github.com/redis/go-redis/pull/3789">#3789</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>HELLO fallback</strong>: Don't send <code>CLIENT MAINT_NOTIFICATIONS</code> handshake when <code>HELLO</code> fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (<a href="https://redirect.github.com/redis/go-redis/pull/3788">#3788</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Dial TCP retry</strong>: <code>ShouldRetry</code> now treats <code>net.OpError</code> with <code>Op == "dial"</code> timeout errors as safe to retry since no command was sent (<a href="https://redirect.github.com/redis/go-redis/pull/3787">#3787</a>) by <a href="https://github.com/vladisa88"><code>@vladisa88</code></a></li> <li><strong>wrappedOnClose leak</strong>: Fixed resource leak caused by repeatedly wrapping <code>baseClient</code> close logic; replaced with a bounded, concurrency-safe named-hook registry (<a href="https://redirect.github.com/redis/go-redis/pull/3785">#3785</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Pool Close() on stale connections</strong>: Suppress close errors (e.g., TLS <code>closeNotify</code> timeouts) for connections already dropped by the server due to idle timeout (<a href="https://redirect.github.com/redis/go-redis/pull/3778">#3778</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>FIFO waiter ordering</strong>: Fixed race in <code>ConnStateMachine.notifyWaiters</code> that could wake multiple waiters under a single mutex hold and violate FIFO ordering (<a href="https://redirect.github.com/redis/go-redis/pull/3777">#3777</a>) by <a href="https://github.com/0x48core"><code>@0x48core</code></a></li> <li><strong>Lua READONLY detection</strong>: Detect <code>READONLY</code> errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (<a href="https://redirect.github.com/redis/go-redis/pull/3769">#3769</a>) by <a href="https://github.com/zhengjilei"><code>@zhengjilei</code></a></li> <li><strong>VectorScoreSliceCmd RESP2</strong>: Fixed <code>VSimWithScores</code>, <code>VSimWithArgsWithScores</code>, and <code>VLinksWithScores</code> which were broken on RESP2 connections returning flat arrays instead of maps (<a href="https://redirect.github.com/redis/go-redis/pull/3767">#3767</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/redis/go-redis/blob/master/RELEASE-NOTES.md">github.com/redis/go-redis/v9's changelog</a>.</em></p> <blockquote> <h1>9.19.0 (2026-04-27)</h1> <h2>🚀 Highlights</h2> <h3>FIPS-Compatible Script Helper</h3> <p><code>Script</code> now supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A new <code>NewScriptServerSHA</code> constructor uses <code>SCRIPT LOAD</code> to obtain and cache the digest from the server, then runs commands via <code>EVALSHA</code>/<code>EVALSHA_RO</code>. Falls back to <code>EVAL</code>/<code>EVALRO</code> if loading fails, and transparently retries once on <code>NOSCRIPT</code>. The default behavior is unchanged for existing users.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3700">#3700</a>) by <a href="https://github.com/chaitanyabodlapati"><code>@chaitanyabodlapati</code></a></p> <h3>FT.AGGREGATE Step-Based Pipeline Builder</h3> <p>Added a new step-based <code>FT.AGGREGATE</code> pipeline API via <code>FTAggregateOptions.Steps</code>, allowing <code>LOAD</code>, <code>APPLY</code>, <code>GROUPBY</code>, and <code>SORTBY</code> (with per-step <code>MAX</code>) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacy <code>Load</code>/<code>Apply</code>/<code>GroupBy</code>/<code>SortBy</code>/<code>SortByMax</code> fields are now deprecated.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3782">#3782</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></p> <h3>Raw RESP Protocol Access</h3> <p>Added <code>DoRaw</code> and <code>DoRawWriteTo</code> methods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3713">#3713</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></p> <h3>Configurable Dial Retry Backoff</h3> <p>Added <code>DialerRetryBackoff</code> option (plumbed through <code>Options</code>, <code>ClusterOptions</code>, <code>RingOptions</code>, <code>FailoverOptions</code>) to let callers customize the delay between failed dial attempts. Helpers <code>DialRetryBackoffConstant</code> and <code>DialRetryBackoffExponential</code> (with jitter and cap) are provided out of the box. Dial timeout is now also applied <strong>per attempt</strong> rather than across all retries.</p> <p>(<a href="https://redirect.github.com/redis/go-redis/pull/3706">#3706</a>, <a href="https://redirect.github.com/redis/go-redis/pull/3705">#3705</a>) by <a href="https://github.com/mwhooker"><code>@mwhooker</code></a></p> <h2>✨ New Features</h2> <ul> <li><strong>FT.AGGREGATE Steps</strong>: Step-based pipeline builder for <code>FT.AGGREGATE</code> with support for repeated/interleaved <code>LOAD</code>, <code>APPLY</code>, <code>GROUPBY</code>, and <code>SORTBY</code> stages (<a href="https://redirect.github.com/redis/go-redis/pull/3782">#3782</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>VectorSet commands</strong>: Added <code>VISMEMBER</code> and <code>WITHATTRIBS</code> support (<a href="https://redirect.github.com/redis/go-redis/pull/3753">#3753</a>) by <a href="https://github.com/romanpovol"><code>@romanpovol</code></a></li> <li><strong>FIPS-safe Script</strong>: <code>NewScriptServerSHA</code> uses <code>SCRIPT LOAD</code> to obtain the digest from the server, avoiding client-side SHA-1 (<a href="https://redirect.github.com/redis/go-redis/pull/3700">#3700</a>) by <a href="https://github.com/chaitanyabodlapati"><code>@chaitanyabodlapati</code></a></li> <li><strong>Raw RESP access</strong>: <code>DoRaw</code> and <code>DoRawWriteTo</code> for raw RESP protocol access (<a href="https://redirect.github.com/redis/go-redis/pull/3713">#3713</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>Dial retry backoff</strong>: <code>DialerRetryBackoff</code> function option with constant and exponential helpers (<a href="https://redirect.github.com/redis/go-redis/pull/3706">#3706</a>) by <a href="https://github.com/mwhooker"><code>@mwhooker</code></a></li> <li><strong>Typed NOSCRIPT error</strong>: Redis <code>NOSCRIPT</code> replies are now surfaced as a typed error for easier handling (<a href="https://redirect.github.com/redis/go-redis/pull/3738">#3738</a>) by <a href="https://github.com/LINKIWI"><code>@LINKIWI</code></a></li> <li><strong>PubSub ClientSetName</strong>: Added <code>ClientSetName</code> method to <code>PubSub</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3727">#3727</a>) by <a href="https://github.com/Flack74"><code>@Flack74</code></a></li> <li><strong>ReplicaOf</strong>: New <code>ReplicaOf</code> method replaces the deprecated <code>SlaveOf</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3720">#3720</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> <li><strong>HSCAN BinaryUnmarshaler</strong>: <code>HScan</code> now supports types implementing <code>encoding.BinaryUnmarshaler</code> (<a href="https://redirect.github.com/redis/go-redis/pull/3768">#3768</a>) by <a href="https://github.com/Aaditya-dubey1"><code>@Aaditya-dubey1</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li><strong>Auto hostname type detection</strong>: Improved endpoint type detection for maintenance notifications using DNS-based classification; handles empty hosts and expanded private-IP ranges (<a href="https://redirect.github.com/redis/go-redis/pull/3789">#3789</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>HELLO fallback</strong>: Don't send <code>CLIENT MAINT_NOTIFICATIONS</code> handshake when <code>HELLO</code> fails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (<a href="https://redirect.github.com/redis/go-redis/pull/3788">#3788</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Dial TCP retry</strong>: <code>ShouldRetry</code> now treats <code>net.OpError</code> with <code>Op == "dial"</code> timeout errors as safe to retry since no command was sent (<a href="https://redirect.github.com/redis/go-redis/pull/3787">#3787</a>) by <a href="https://github.com/vladisa88"><code>@vladisa88</code></a></li> <li><strong>wrappedOnClose leak</strong>: Fixed resource leak caused by repeatedly wrapping <code>baseClient</code> close logic; replaced with a bounded, concurrency-safe named-hook registry (<a href="https://redirect.github.com/redis/go-redis/pull/3785">#3785</a>) by <a href="https://github.com/ndyakov"><code>@ndyakov</code></a></li> <li><strong>Pool Close() on stale connections</strong>: Suppress close errors (e.g., TLS <code>closeNotify</code> timeouts) for connections already dropped by the server due to idle timeout (<a href="https://redirect.github.com/redis/go-redis/pull/3778">#3778</a>) by <a href="https://github.com/ofekshenawa"><code>@ofekshenawa</code></a></li> <li><strong>FIFO waiter ordering</strong>: Fixed race in <code>ConnStateMachine.notifyWaiters</code> that could wake multiple waiters under a single mutex hold and violate FIFO ordering (<a href="https://redirect.github.com/redis/go-redis/pull/3777">#3777</a>) by <a href="https://github.com/0x48core"><code>@0x48core</code></a></li> <li><strong>Lua READONLY detection</strong>: Detect <code>READONLY</code> errors embedded in Lua script error messages on read-only replicas so commands are correctly retried (<a href="https://redirect.github.com/redis/go-redis/pull/3769">#3769</a>) by <a href="https://github.com/zhengjilei"><code>@zhengjilei</code></a></li> <li><strong>VectorScoreSliceCmd RESP2</strong>: Fixed <code>VSimWithScores</code>, <code>VSimWithArgsWithScores</code>, and <code>VLinksWithScores</code> which were broken on RESP2 connections returning flat arrays instead of maps (<a href="https://redirect.github.com/redis/go-redis/pull/3767">#3767</a>) by <a href="https://github.com/apps/copilot-swe-agent"><code>@Copilot</code></a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/redis/go-redis/commit/e7e9866e54f4423addca48ec804044cfca1b30d6"><code>e7e9866</code></a> chore(release): v9.19.0 (<a href="https://redirect.github.com/redis/go-redis/issues/3796">#3796</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/22b26f4b3ea5c2ab58605092e0937b78a8673267"><code>22b26f4</code></a> feat(ft.aggregate): Add Steps for query building (<a href="https://redirect.github.com/redis/go-redis/issues/3782">#3782</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/d9d769491154d4da6d683b73e9dfff5c878c1890"><code>d9d7694</code></a> fix(pool): two fixes for closed connection handling (<a href="https://redirect.github.com/redis/go-redis/issues/3764">#3764</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/44e8b7309cf547f620b9849a5a4dd9013cc3660a"><code>44e8b73</code></a> fix(sch): auto hostname type detection (<a href="https://redirect.github.com/redis/go-redis/issues/3789">#3789</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/ad21622ce8dba26c4ac7dc0fbf74a0bd278d2c19"><code>ad21622</code></a> fix(hello): do not send maintnotifications handshake when hello fails (<a href="https://redirect.github.com/redis/go-redis/issues/3788">#3788</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/1a7ac744c3f98b415852b4c9842b97991e3e4d91"><code>1a7ac74</code></a> fix(pool): suppress pool Close() errors for stale connections (<a href="https://redirect.github.com/redis/go-redis/issues/3778">#3778</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/903d6bd360af9ea53d4af4ca652d18b915398c7d"><code>903d6bd</code></a> fix(retry): make dial tcp error redirectable (<a href="https://redirect.github.com/redis/go-redis/issues/3786">#3786</a>) (<a href="https://redirect.github.com/redis/go-redis/issues/3787">#3787</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/00a551b3b468687e5e06b295b419292786bcdc99"><code>00a551b</code></a> fix(credentials): leak in wrappedOnClose (<a href="https://redirect.github.com/redis/go-redis/issues/3785">#3785</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/b5a6f99b7a9d496bf2e3d68ad9c33e43c23c4df9"><code>b5a6f99</code></a> refactor(pool): remove redundant Conn.closed atomic field (<a href="https://redirect.github.com/redis/go-redis/issues/3783">#3783</a>)</li> <li><a href="https://github.com/redis/go-redis/commit/928f27aef850b3508b590e41a050f27d29fb14a2"><code>928f27a</code></a> feat(hscan): add support for encoding.BinaryUnmarshaler (<a href="https://redirect.github.com/redis/go-redis/issues/3768">#3768</a>)</li> <li>Additional commits viewable in <a href="https://github.com/redis/go-redis/compare/v9.18.0...v9.19.0">compare view</a></li> </ul> </details> <br /> Updates `github.com/tinylib/msgp` from 1.6.3 to 1.6.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tinylib/msgp/releases">github.com/tinylib/msgp's releases</a>.</em></p> <blockquote> <h2>v1.6.4</h2> <h2>What's Changed</h2> <ul> <li>msgp: Reader: reset limits on cached readers by <a href="https://github.com/philhofer"><code>@philhofer</code></a> in <a href="https://redirect.github.com/tinylib/msgp/pull/435">tinylib/msgp#435</a></li> <li>JSON: Support integer map keys by <a href="https://github.com/klauspost"><code>@klauspost</code></a> in <a href="https://redirect.github.com/tinylib/msgp/pull/434">tinylib/msgp#434</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tinylib/msgp/compare/v1.6.3...v1.6.4">https://github.com/tinylib/msgp/compare/v1.6.3...v1.6.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tinylib/msgp/commit/6f99c863451752e6aa9c7aacde4215a471a64242"><code>6f99c86</code></a> msgp: Reader: reset limits on cached readers (<a href="https://redirect.github.com/tinylib/msgp/issues/435">#435</a>)</li> <li><a href="https://github.com/tinylib/msgp/commit/090a62e1d698676bf67ca5f649cc4ec07d7afdc3"><code>090a62e</code></a> JSON: Support integer map keys (<a href="https://redirect.github.com/tinylib/msgp/issues/434">#434</a>)</li> <li>See full diff in <a href="https://github.com/tinylib/msgp/compare/v1.6.3...v1.6.4">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/collector/pdata` from 1.55.0 to 1.57.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector/releases">go.opentelemetry.io/collector/pdata's releases</a>.</em></p> <blockquote> <h2>v1.57.0/v0.151.0</h2> <h3>Images and binaries here: <a href="https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.151.0">https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.151.0</a></h3> <h2>End User Changelog</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>cmd/builder</code>: In the generated Collector source, the <code>replace</code> statements in the Go module will now use relative paths by default. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15097">#15097</a>) We expect that this will not break existing use-cases where the generated collector is only used in an interim manner for builds. It enables the possibility of tracking the generated Collector code as a longer living artifact, allowing it to be run on any machine (whereas absolute paths will be different depending on the machine the Collector source is generated on.) We have added <code>dist::use_absolute_replace_paths</code> to go back to the absolute path behaviour in the case where there is an unforeseen use-case that requires absolute paths.</p> </li> <li> <p><code>pkg/confighttp</code>: Stabilize framedSnappy feature gate. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15096">#15096</a>)</p> </li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>all</code>: Add declarative schema support for service telemetry resource configuration. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14411">#14411</a>) The <code>service::telemetry::resource</code> configuration now accepts the declarative schema with explicit name/value pairs:</p> <pre lang="yaml"><code>service: telemetry: resource: schema_url: https://opentelemetry.io/schemas/1.38.0 attributes: - name: service.name value: my-collector - name: host.name value: collector-host </code></pre> <p>The legacy inline attribute map format is still supported for backward compatibility:</p> <pre lang="yaml"><code>service: telemetry: resource: service.name: my-collector host.name: collector-host </code></pre> <p>Note: <code>resource.detectors</code> is accepted for forward compatibility but is not yet applied by the collector.</p> </li> <li> <p><code>exporter/otlp_grpc</code>: Added the <code>server.address</code> and <code>url.path</code> attributes to metrics generated by the otlp exporter. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14998">#14998</a>)</p> </li> <li> <p><code>exporter/otlp_http</code>: Added the <code>server.address</code> and <code>url.path</code> attributes to metrics generated by the otlp_http exporter. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14998">#14998</a>)</p> </li> <li> <p><code>pkg/config/configgrpc</code>: Add <code>UserAgent</code> field to <code>ClientConfig</code> to allow overriding the default gRPC user-agent string. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14686">#14686</a>) The otlp gRPC exporter was unconditionally setting the User-Agent via grpc.WithUserAgent() at dial time, which takes precedence over per-call metadata, causing any user-configured User-Agent to be silently discarded. A dedicated <code>UserAgent</code> field has been added to <code>ClientConfig</code> which, when set, is used in the dial option directly instead of the default BuildInfo-derived string.</p> </li> <li> <p><code>pkg/config/configgrpc</code>: Accept gRPC resolver scheme URIs in client endpoint (e.g. passthrough:///host:port) to allow control over name resolution (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14990">#14990</a>) After the migration to grpc.NewClient, some gRPC client components such as the OTLP</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md">go.opentelemetry.io/collector/pdata's changelog</a>.</em></p> <blockquote> <h2>v1.57.0/v0.151.0</h2> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>receiver/otlp</code>: <code>Config.Protocols</code> is now a named field instead of an anonymous embedded field. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15178">#15178</a>) Access to <code>cfg.GRPC</code> and <code>cfg.HTTP</code> must be updated to <code>cfg.Protocols.GRPC</code> and <code>cfg.Protocols.HTTP</code>.</li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li><code>cmd/mdatagen</code>: The <code>DefaultMetricsBuilderConfig</code> function is deprecated. Use <code>NewDefaultMetricsBuilderConfig</code> instead. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15165">#15165</a>) The generated <code>DefaultMetricsBuilderConfig</code> function has been renamed to <code>NewDefaultMetricsBuilderConfig</code> to follow Go naming conventions. The old function is kept as a deprecated wrapper and will be removed in a future release.</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>cmd/mdatagen</code>: Handle default values for configuration fields in generated code in mdatagen. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14560">#14560</a>)</p> </li> <li> <p><code>cmd/mdatagen</code>: Add opt-in override_value support for resource_attributes config via <code>override_value_enabled</code> flag (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15109">#15109</a>) Components can opt in by setting <code>override_value_enabled: true</code> in their metadata.yaml. When enabled, per-attribute config types are generated with typed <code>override_value</code> fields that let users override resource attribute values in the collector configuration. Components without the flag continue to use the shared <code>ResourceAttributeConfig</code> type.</p> </li> <li> <p><code>cmd/mdatagen</code>: Extend mdatagen config code generation to correctly handle default values for allOf embedded references (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14560">#14560</a>)</p> </li> <li> <p><code>cmd/mdatagen</code>: Handle string validators in generated config structs (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14807">#14807</a>) Supported validators include <code>minLength</code>, <code>maxLength</code> and <code>pattern</code>.</p> </li> <li> <p><code>pkg/config/configgrpc</code>: Add a <code>DefaultBalancerName</code> constant for the name of the default load balancer (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15139">#15139</a>) This replaces the <code>BalancerName</code> function.</p> </li> <li> <p><code>pkg/config/configgrpc</code>: Accept gRPC resolver scheme URIs in client endpoint (e.g. passthrough:///host:port) to allow control over name resolution (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14990">#14990</a>) After the migration to grpc.NewClient, some gRPC client components such as the OTLP exporter experienced connection issues in dual-stack DNS environments. This can now be fixed by using the passthrough:/// gRPC resolver scheme in the endpoint field.</p> </li> <li> <p><code>pkg/exporterhelper</code>: Added the <code>WithAttrs</code> option to allow custom attributes on exporter metrics (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14998">#14998</a>)</p> </li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li> <p><code>cmd/mdatagen</code>: Fix a bug in mdatagen where the <code>allOf</code> field was not being properly handled, resulting in incorrect generation of data models. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15153">#15153</a>)</p> </li> <li> <p><code>pkg/otelcol</code>: Synchronize Collector Run and Shutdown lifecycles so that Shutdown blocks until Run completes all cleanup. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/4947">#4947</a>) Shutdown now blocks until Run finishes cleanup, matching http.Server semantics. If Shutdown is called before Run, the next Run call returns nil after cleaning up the config provider.</p> </li> <li> <p><code>pkg/pdata</code>: Use pool-aware constructors in gRPC service handlers so top-level request structs participate in the sync.Pool lifecycle. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14763">#14763</a>) The gRPC service handlers for all signal types allocated the top-level ExportXxxServiceRequest with bare new(), bypassing the sync.Pool when pdata.useProtoPooling is enabled. This caused objects returned to the pool via Delete to never be retrieved. The handlers now use the pool-aware New*() constructors.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/ec1082239cd4ce6f9c2b48e8850e3e455f855e9e"><code>ec10822</code></a> [chore] Prepare release v1.57.0/v0.151.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15219">#15219</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/3fa9b1120b1fae5e373b88e96ace03832b156c87"><code>3fa9b11</code></a> Update module github.com/golang/snappy to v1 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15209">#15209</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/0d4b2f7958fc16e84a47a04258f1986d4eca1f3e"><code>0d4b2f7</code></a> Update github-actions deps (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15204">#15204</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/00864cf759191f90091cdde8de5a1860b846d5b2"><code>00864cf</code></a> Update actions/create-github-app-token action to v3 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15208">#15208</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/261c6b9780f7e6a513fb0ee39682dc605972adb4"><code>261c6b9</code></a> Update module go.uber.org/zap to v1.28.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15206">#15206</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/9010b744b80bd420c64cad2413ede19560249311"><code>9010b74</code></a> Update module github.com/klauspost/compress to v1.18.5 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15205">#15205</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/baaca9a148f680390982842d5c18da4a34e73755"><code>baaca9a</code></a> Update module golang.org/x/vuln to v1.3.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15207">#15207</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/d09001776564a283f82e11b5a2e420e4413c3910"><code>d090017</code></a> [chore] Remove go-grpc-compression dependency (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15201">#15201</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/efde8a253d80453156e4de80308576bd3876c7d3"><code>efde8a2</code></a> Support npipe transport in confignet (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/14985">#14985</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-collector/commit/f1f655be1c221f42e3b7c3628cfa9560fa05e6b7"><code>f1f655b</code></a> Add <code>override_value</code> to mdatagen (<a href="https://redirect.github.com/open-telemetry/opentelemetry-collector/issues/15112">#15112</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.55.0...pdata/v1.57.0">compare view</a></li> </ul> </details> <br /> Updates `golang.org/x/mod` from 0.33.0 to 0.35.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/mod/commit/03901d351deb5bd95deb90714fb75bf8e232cb22"><code>03901d3</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/mod/commit/1ac721dff8591283e59aba6412a0eafc8b950d83"><code>1ac721d</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/mod/commit/fb1fac8b369ec75b114cb416119e80d3aebda7f5"><code>fb1fac8</code></a> all: upgrade go directive to at least 1.25.0 [generated]</li> <li>See full diff in <a href="https://github.com/golang/mod/compare/v0.33.0...v0.35.0">compare view</a></li> </ul> </details> <br /> Updates `golang.org/x/tools` from 0.42.0 to 0.43.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/24a8e95f9d7ae2696f66314da5e50c0d98ccaa90"><code>24a8e95</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/3dd57fba1a6eed320cd9ea2b292cacdacda1e5e8"><code>3dd57fb</code></a> gopls/internal/mcp: refactor unified diff generation</li> <li><a href="https://github.com/golang/tools/commit/fcc014db2b644cc1e0a9d08157efab0156699ada"><code>fcc014d</code></a> cmd/digraph: fix package doc</li> <li><a href="https://github.com/golang/tools/commit/39f0f5c6d34afcb5664463f6e97c076187a305ea"><code>39f0f5c</code></a> cmd/stress: add -failfast flag</li> <li><a href="https://github.com/golang/tools/commit/063c2644e296d3154b4dcbfc15ebeb09e6f07290"><code>063c264</code></a> gopls/test/integration/misc: add diagnostics to flaky test</li> <li><a href="https://github.com/golang/tools/commit/deb6130cda665525d826291d591e988ace74f447"><code>deb6130</code></a> gopls/internal/golang: fix hover panic in raw strings with CRLF</li> <li><a href="https://github.com/golang/tools/commit/5f1186b97512a314f8a35509072d7657eaf7c60a"><code>5f1186b</code></a> gopls/internal/analysis/driverutil: remove unnecessary new imports</li> <li><a href="https://github.com/golang/tools/commit/ff454944261ad40f98abfc097fae89272ce40935"><code>ff45494</code></a> go/analysis: expose GoMod etc. to Pass.Module</li> <li><a href="https://github.com/golang/tools/commit/62daff4834809b6cce693f6f0dff1c2722cb6328"><code>62daff4</code></a> go/analysis/passes/inline: fix panic in inlineAlias with instantiated generic...</li> <li><a href="https://github.com/golang/tools/commit/fcb6088b9059538dd6bcbd5238c10ffdc71700b5"><code>fcb6088</code></a> x/tools: delete obsolete code</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.42.0...v0.43.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@d…
## Which problem is this PR solving? Update husky to v0.43.1 for[ fixing trace id and span id decoding when sending raw http json to refinery](honeycombio/husky#355) ## Short description of the changes - update go.mod
## Which problem is this PR solving? prepare for v3.2.1 release ## Short description of the changes - update change logs and release notes
…bio#1820) ## Summary Fixes honeycombio#1819. `refinery --validate` was exiting 0 even when `rules.yaml` had a YAML syntax error, causing broken configs to pass CI and ship to production. **Fix:** Replace the type assertion with a `c == nil` check. `NewConfig` already encodes severity in its return: nil config = fatal error, non-nil config = warnings only. Checking `c == nil` catches all fatal errors regardless of their type. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…io#1823) ## Which problem is this PR solving? The `send_errors` metric was never incremented for network errors. ## Short description of the changes - Replaced the per-event error loop at the `httpClient.Do` failure site with a single `handleBatchFailure` call, so network errors now increment `counterSendErrors` once and log once (for the first event) - Updated test
…neycombio#1825) ## Which problem is this PR solving? Dynsampler instances are shared across datasets/environments with identical sampler configs. The sharing key was built from `FieldList` in its original order, so configs with the same fields in different order (e.g. `[status, method]` vs `[method, status]`) were treated as distinct and got separate instances. **User impact**: multiple dynsampler instances were created instead of one shared instance, causing unexpected sampling results — each instance only saw a subset of traffic and made independent decisions, breaking the intended throughput/rate targets. ## Short description of the changes Sort `FieldList` before building the dynsampler map key so field order never affects instance sharing.
…io#1826) ## Which problem is this PR solving? When multiple sampler configurations share a dynsampler instance (same type + same config), dynsampler metrics like `event_count` and `request_count` were inflated by the number of collector workers — making them N× higher than actual throughput. This made these metrics unreliable for diagnosing sampling behavior. ## Short description of the changes - have `SamplerFactory` be responsible for creating `metricsRecorder` instance. This is the same pattern as with the shared dynsampler instance so they are created and shared atomically
## Summary - Updates `CHANGELOG.md` with v3.2.2 entries - Updates `RELEASE_NOTES.md` with v3.2.2 summary
Extends SpanCounter so users can scope counts to user-defined anchor spans, with per-anchor subtree counts written to each matching anchor. Default behavior (no ScopeConditions) is unchanged: the trace-wide total is written to the root via a single linear pass. When at least one counter has ScopeConditions, a parent->children index is built and counts are aggregated via iterative post-order DFS with cycle defense. Also adds IDFieldsConfig.SpanNames so the algorithm can resolve each span's own ID, plus validation rules for the new fields (Key uniqueness, reserved meta.refinery. namespace, has-root-span rejection inside ScopeConditions). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…field names When ScopeConditions and RootKey are both set, per-anchor counts are written under Key and the trace-wide total on the root span is written under RootKey. This lets the two counts land on different attribute names so they can be queried independently in Honeycomb (e.g. resolver_db_count on each resolver, trace_db_count on the root). RootKey is ignored when ScopeConditions is empty — unscoped counters always write Key to the root, preserving today's behavior. Validation warns if RootKey is set without a scope, and treats RootKey as a separate field for cross-counter uniqueness checks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… total Setting RootKey alongside ScopeConditions now opts the root span into receiving the trace-wide total under RootKey. An empty RootKey on a scoped counter means no root write happens. This collapses the previous two-field design (EmitTotalOnRoot + RootKey) into a single field whose presence carries the opt-in meaning. Unscoped counters are unchanged: they continue to write Key to the root (today's behavior). RootKey set on an unscoped counter is still ignored with a validation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…alidate The metadata-driven validator splits a field's qualified name and looks up the trailing segment as a group; for SpanCounters.ScopeConditions that resolved to a non-existent "ScopeConditions" group, producing "unknown group" and "unknown field" errors for every entry in real rules files. Validate ScopeConditions entries explicitly against the existing "Conditions" group instead, and strip the field from the entry map before the recursive metadata Validate call so the broken walk never happens. Added a regression test that runs a representative rules document through ValidateRules end to end and confirms a bogus Operator inside ScopeConditions still fails the choice validation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See commit descriptions for context, and main review point is 42f0b8b