dependabot[bot] opened a new pull request, #3775: URL: https://github.com/apache/arrow-adbc/pull/3775
Bumps the opentelemetry group in /go/adbc with 6 updates: | Package | From | To | | --- | --- | --- | | [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | | [go.opentelemetry.io/otel/exporters/stdout/stdouttrace](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | | [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | | [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.38.0` | `1.39.0` | Updates `go.opentelemetry.io/otel` from 1.38.0 to 1.39.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/releases">go.opentelemetry.io/otel's releases</a>.</em></p> <blockquote> <h2>v1.39.0</h2> <h2>Overview</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and <code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li> <li>Add <code>Enabled</code> method to the <code>Processor</code> interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All <code>Processor</code> implementations now include an <code>Enabled</code> method. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package. The package contains semantic conventions from the <code>v1.38.0</code> version of the OpenTelemetry Semantic Conventions. See the <a href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.38.0/MIGRATION.md">migration documentation</a> for information on how to upgrade from <code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>Distinct</code> in <code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed to uniquely identify an attribute set. Collisions between <code>Distinct</code> values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>TracerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>MeterOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>LoggerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment variable to <code>OTEL_GO_X_OBSERVABILITY</code> in <code>go.opentelemetry.io/otel/sdk/trace</code>, <code>go.opentelemetry.io/otel/sdk/log</code>, and <code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li> <li>Improve performance of histogram <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are disabled using <code>NoMinMax</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li> <li>Improve error handling for dropped data during translation by using <code>prometheus.NewInvalidMetric</code> in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️ <strong>Breaking Change:</strong> Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with HTTP 500</strong> by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: <code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li> <li>Replace fnv hash with xxhash in <code>go.opentelemetry.io/otel/attribute</code> for better performance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li> <li>The default <code>TranslationStrategy</code> in <code>go.opentelemetry.io/exporters/prometheus</code> is changed from <code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to <code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li> <li>Improve performance of concurrent measurements in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li> <li>Include W3C TraceFlags (bits 0–7) in the OTLP <code>Span.Flags</code> field in <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code> and <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li> <li>The <code>ErrorType</code> function in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom error types. If an error implements an <code>ErrorType() string</code> method, the return value of that method will be used as the error type. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>WithInstrumentationAttributes</code> options in <code>go.opentelemetry.io/otel/trace</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/log</code> to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li> <li>The equality of <code>attribute.Set</code> when using the <code>Equal</code> method is not affected by the user overriding the empty set pointed to by <code>attribute.EmptySet</code> in <code>go.opentelemetry.io/otel/attribute</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Fix <code>AddAttributes</code>, <code>SetAttributes</code>, <code>SetBody</code> on <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/log</code> to not mutate input. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7403">#7403</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7655">#7655</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.36.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7656">#7656</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/blob/main/CHANGELOG.md">go.opentelemetry.io/otel's changelog</a>.</em></p> <blockquote> <h2>[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and <code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li> <li>Add <code>Enabled</code> method to the <code>Processor</code> interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All <code>Processor</code> implementations now include an <code>Enabled</code> method. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package. The package contains semantic conventions from the <code>v1.38.0</code> version of the OpenTelemetry Semantic Conventions. See the <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.38.0/MIGRATION.md">migration documentation</a> for information on how to upgrade from <code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>Distinct</code> in <code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed to uniquely identify an attribute set. Collisions between <code>Distinct</code> values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>TracerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>MeterOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>LoggerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment variable to <code>OTEL_GO_X_OBSERVABILITY</code> in <code>go.opentelemetry.io/otel/sdk/trace</code>, <code>go.opentelemetry.io/otel/sdk/log</code>, and <code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li> <li>Improve performance of histogram <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are disabled using <code>NoMinMax</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li> <li>Improve error handling for dropped data during translation by using <code>prometheus.NewInvalidMetric</code> in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️ <strong>Breaking Change:</strong> Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with HTTP 500</strong> by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: <code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li> <li>Replace fnv hash with xxhash in <code>go.opentelemetry.io/otel/attribute</code> for better performance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li> <li>The default <code>TranslationStrategy</code> in <code>go.opentelemetry.io/exporters/prometheus</code> is changed from <code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to <code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li> <li>Improve performance of concurrent measurements in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li> <li>Include W3C TraceFlags (bits 0–7) in the OTLP <code>Span.Flags</code> field in <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code> and <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li> <li>The <code>ErrorType</code> function in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom error types. If an error implements an <code>ErrorType() string</code> method, the return value of that method will be used as the error type. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>WithInstrumentationAttributes</code> options in <code>go.opentelemetry.io/otel/trace</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/log</code> to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li> <li>The equality of <code>attribute.Set</code> when using the <code>Equal</code> method is not affected by the user overriding the empty set pointed to by <code>attribute.EmptySet</code> in <code>go.opentelemetry.io/otel/attribute</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/6ce14298b9d58647295280560205307768400496"><code>6ce1429</code></a> Release v1.39.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7676">#7676</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/12e421a7061c1ab5c25a1851ca168e1c3ac11bbb"><code>12e421a</code></a> sdk/log: move Enabled method from FilterProcessor to Processor (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/5982f16d244fafebffcfc92b4673dbeb565b4e7b"><code>5982f16</code></a> fix(deps): update module golang.org/x/sys to v0.39.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7684">#7684</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/928837830da34dea636b48a468149d480cc41058"><code>9288378</code></a> chore(deps): update module golang.org/x/sync to v0.19.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7683">#7683</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/ee3dfef45d9462e209d92e0651a58d2417c1305f"><code>ee3dfef</code></a> chore(deps): update github.com/securego/gosec/v2 digest to 41f28e2 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7682">#7682</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/9345d1f64d874fa8df5f6ca4e14acaeb44532cd3"><code>9345d1f</code></a> fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.2 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7680">#7680</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/d03b03395dc9436d79d5ba7b5ea77053b18a9915"><code>d03b033</code></a> Check context prior to delaying retry in OTLP exporters (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7678">#7678</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/61765e78a620994b5922e34e776e029da1a2b983"><code>61765e7</code></a> Fix flaky <code>TestClientInstrumentation</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7677">#7677</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/a54721cc8052fcd497d6f637a463d1aba787012c"><code>a54721c</code></a> chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7679">#7679</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/746d0860d70bb9c1e875afe1c7e41e9060387d46"><code>746d086</code></a> chore(deps): update github/codeql-action action to v4.31.7 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7675">#7675</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...v1.39.0">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.38.0 to 1.39.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/releases">go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc's releases</a>.</em></p> <blockquote> <h2>v1.39.0</h2> <h2>Overview</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and <code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li> <li>Add <code>Enabled</code> method to the <code>Processor</code> interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All <code>Processor</code> implementations now include an <code>Enabled</code> method. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package. The package contains semantic conventions from the <code>v1.38.0</code> version of the OpenTelemetry Semantic Conventions. See the <a href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.38.0/MIGRATION.md">migration documentation</a> for information on how to upgrade from <code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>Distinct</code> in <code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed to uniquely identify an attribute set. Collisions between <code>Distinct</code> values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>TracerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>MeterOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>LoggerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment variable to <code>OTEL_GO_X_OBSERVABILITY</code> in <code>go.opentelemetry.io/otel/sdk/trace</code>, <code>go.opentelemetry.io/otel/sdk/log</code>, and <code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li> <li>Improve performance of histogram <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are disabled using <code>NoMinMax</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li> <li>Improve error handling for dropped data during translation by using <code>prometheus.NewInvalidMetric</code> in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️ <strong>Breaking Change:</strong> Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with HTTP 500</strong> by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: <code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li> <li>Replace fnv hash with xxhash in <code>go.opentelemetry.io/otel/attribute</code> for better performance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li> <li>The default <code>TranslationStrategy</code> in <code>go.opentelemetry.io/exporters/prometheus</code> is changed from <code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to <code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li> <li>Improve performance of concurrent measurements in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li> <li>Include W3C TraceFlags (bits 0–7) in the OTLP <code>Span.Flags</code> field in <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code> and <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li> <li>The <code>ErrorType</code> function in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom error types. If an error implements an <code>ErrorType() string</code> method, the return value of that method will be used as the error type. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>WithInstrumentationAttributes</code> options in <code>go.opentelemetry.io/otel/trace</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/log</code> to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li> <li>The equality of <code>attribute.Set</code> when using the <code>Equal</code> method is not affected by the user overriding the empty set pointed to by <code>attribute.EmptySet</code> in <code>go.opentelemetry.io/otel/attribute</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Fix <code>AddAttributes</code>, <code>SetAttributes</code>, <code>SetBody</code> on <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/log</code> to not mutate input. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7403">#7403</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7655">#7655</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.36.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7656">#7656</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/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc's changelog</a>.</em></p> <blockquote> <h2>[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and <code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li> <li>Add <code>Enabled</code> method to the <code>Processor</code> interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All <code>Processor</code> implementations now include an <code>Enabled</code> method. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package. The package contains semantic conventions from the <code>v1.38.0</code> version of the OpenTelemetry Semantic Conventions. See the <a href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.38.0/MIGRATION.md">migration documentation</a> for information on how to upgrade from <code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>Distinct</code> in <code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed to uniquely identify an attribute set. Collisions between <code>Distinct</code> values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>TracerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>MeterOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>LoggerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment variable to <code>OTEL_GO_X_OBSERVABILITY</code> in <code>go.opentelemetry.io/otel/sdk/trace</code>, <code>go.opentelemetry.io/otel/sdk/log</code>, and <code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li> <li>Improve performance of histogram <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are disabled using <code>NoMinMax</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li> <li>Improve error handling for dropped data during translation by using <code>prometheus.NewInvalidMetric</code> in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️ <strong>Breaking Change:</strong> Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with HTTP 500</strong> by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: <code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li> <li>Replace fnv hash with xxhash in <code>go.opentelemetry.io/otel/attribute</code> for better performance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li> <li>The default <code>TranslationStrategy</code> in <code>go.opentelemetry.io/exporters/prometheus</code> is changed from <code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to <code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li> <li>Improve performance of concurrent measurements in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li> <li>Include W3C TraceFlags (bits 0–7) in the OTLP <code>Span.Flags</code> field in <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code> and <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li> <li>The <code>ErrorType</code> function in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom error types. If an error implements an <code>ErrorType() string</code> method, the return value of that method will be used as the error type. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>WithInstrumentationAttributes</code> options in <code>go.opentelemetry.io/otel/trace</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/log</code> to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li> <li>The equality of <code>attribute.Set</code> when using the <code>Equal</code> method is not affected by the user overriding the empty set pointed to by <code>attribute.EmptySet</code> in <code>go.opentelemetry.io/otel/attribute</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/6ce14298b9d58647295280560205307768400496"><code>6ce1429</code></a> Release v1.39.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7676">#7676</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/12e421a7061c1ab5c25a1851ca168e1c3ac11bbb"><code>12e421a</code></a> sdk/log: move Enabled method from FilterProcessor to Processor (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/5982f16d244fafebffcfc92b4673dbeb565b4e7b"><code>5982f16</code></a> fix(deps): update module golang.org/x/sys to v0.39.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7684">#7684</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/928837830da34dea636b48a468149d480cc41058"><code>9288378</code></a> chore(deps): update module golang.org/x/sync to v0.19.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7683">#7683</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/ee3dfef45d9462e209d92e0651a58d2417c1305f"><code>ee3dfef</code></a> chore(deps): update github.com/securego/gosec/v2 digest to 41f28e2 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7682">#7682</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/9345d1f64d874fa8df5f6ca4e14acaeb44532cd3"><code>9345d1f</code></a> fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.2 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7680">#7680</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/d03b03395dc9436d79d5ba7b5ea77053b18a9915"><code>d03b033</code></a> Check context prior to delaying retry in OTLP exporters (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7678">#7678</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/61765e78a620994b5922e34e776e029da1a2b983"><code>61765e7</code></a> Fix flaky <code>TestClientInstrumentation</code> (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7677">#7677</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/a54721cc8052fcd497d6f637a463d1aba787012c"><code>a54721c</code></a> chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7679">#7679</a>)</li> <li><a href="https://github.com/open-telemetry/opentelemetry-go/commit/746d0860d70bb9c1e875afe1c7e41e9060387d46"><code>746d086</code></a> chore(deps): update github/codeql-action action to v4.31.7 (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7675">#7675</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...v1.39.0">compare view</a></li> </ul> </details> <br /> Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` from 1.38.0 to 1.39.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-telemetry/opentelemetry-go/releases">go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp's releases</a>.</em></p> <blockquote> <h2>v1.39.0</h2> <h2>Overview</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and <code>OTEL_EXPORTER_OTLP_INSECURE</code> environmental variables in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7608">#7608</a>)</li> <li>Add <code>Enabled</code> method to the <code>Processor</code> interface in <code>go.opentelemetry.io/otel/sdk/log</code>. All <code>Processor</code> implementations now include an <code>Enabled</code> method. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7639">#7639</a>)</li> <li>The <code>go.opentelemetry.io/otel/semconv/v1.38.0</code> package. The package contains semantic conventions from the <code>v1.38.0</code> version of the OpenTelemetry Semantic Conventions. See the <a href="https://github.com/open-telemetry/opentelemetry-go/blob/HEAD/semconv/v1.38.0/MIGRATION.md">migration documentation</a> for information on how to upgrade from <code>go.opentelemetry.io/otel/semconv/v1.37.0.</code>(<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7648">#7648</a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>Distinct</code> in <code>go.opentelemetry.io/otel/attribute</code> is no longer guaranteed to uniquely identify an attribute set. Collisions between <code>Distinct</code> values for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/trace</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>TracerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/meter</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>MeterOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li><code>WithInstrumentationAttributes</code> in <code>go.opentelemetry.io/otel/log</code> synchronously de-duplicates the passed attributes instead of delegating it to the returned <code>LoggerOption</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7266">#7266</a>)</li> <li>Rename the <code>OTEL_GO_X_SELF_OBSERVABILITY</code> environment variable to <code>OTEL_GO_X_OBSERVABILITY</code> in <code>go.opentelemetry.io/otel/sdk/trace</code>, <code>go.opentelemetry.io/otel/sdk/log</code>, and <code>go.opentelemetry.io/otel/exporters/stdout/stdouttrace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7302">#7302</a>)</li> <li>Improve performance of histogram <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/metric</code> when min and max are disabled using <code>NoMinMax</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7306">#7306</a>)</li> <li>Improve error handling for dropped data during translation by using <code>prometheus.NewInvalidMetric</code> in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. ⚠️ <strong>Breaking Change:</strong> Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits a <code>NewInvalidMetric</code>, and Prometheus scrapes <strong>fail with HTTP 500</strong> by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with: <code>promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7363">#7363</a>)</li> <li>Replace fnv hash with xxhash in <code>go.opentelemetry.io/otel/attribute</code> for better performance. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7371">#7371</a>)</li> <li>The default <code>TranslationStrategy</code> in <code>go.opentelemetry.io/exporters/prometheus</code> is changed from <code>otlptranslator.NoUTF8EscapingWithSuffixes</code> to <code>otlptranslator.UnderscoreEscapingWithSuffixes</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7421">#7421</a>)</li> <li>Improve performance of concurrent measurements in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7427">#7427</a>)</li> <li>Include W3C TraceFlags (bits 0–7) in the OTLP <code>Span.Flags</code> field in <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttp</code> and <code>go.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7438">#7438</a>)</li> <li>The <code>ErrorType</code> function in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code> now handles custom error types. If an error implements an <code>ErrorType() string</code> method, the return value of that method will be used as the error type. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7442">#7442</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Fix <code>WithInstrumentationAttributes</code> options in <code>go.opentelemetry.io/otel/trace</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/log</code> to properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7300">#7300</a>)</li> <li>The equality of <code>attribute.Set</code> when using the <code>Equal</code> method is not affected by the user overriding the empty set pointed to by <code>attribute.EmptySet</code> in <code>go.opentelemetry.io/otel/attribute</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7357">#7357</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Return partial OTLP export errors to the caller in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7372">#7372</a>)</li> <li>Fix <code>AddAttributes</code>, <code>SetAttributes</code>, <code>SetBody</code> on <code>Record</code> in <code>go.opentelemetry.io/otel/sdk/log</code> to not mutate input. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7403">#7403</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.37.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7655">#7655</a>)</li> <li>Do not double record measurements of <code>RecordSet</code> methods in <code>go.opentelemetry.io/otel/semconv/v1.36.0</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7656">#7656</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/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp's changelog</a>.</em></p> <blockquote> <h2>[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05</h2> <h3>Added</h3> <ul> <li>Greatly reduce the cost of recording metrics in <code>go.opentelemetry.io/otel/sdk/metric</code> using hashing for map keys. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7175">#7175</a>)</li> <li>Add <code>WithInstrumentationAttributeSet</code> option to <code>go.opentelemetry.io/otel/log</code>, <code>go.opentelemetry.io/otel/metric</code>, and <code>go.opentelemetry.io/otel/trace</code> packages. This provides a concurrent-safe and performant alternative to <code>WithInstrumentationAttributes</code> by accepting a pre-constructed <code>attribute.Set</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7287">#7287</a>)</li> <li>Add experimental observability for the Prometheus exporter in <code>go.opentelemetry.io/otel/exporters/prometheus</code>. Check the <code>go.opentelemetry.io/otel/exporters/prometheus/internal/x</code> package documentation for more information. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7345">#7345</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7353">#7353</a>)</li> <li>Add temporality selector functions <code>DeltaTemporalitySelector</code>, <code>CumulativeTemporalitySelector</code>, <code>LowMemoryTemporalitySelector</code> to <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7434">#7434</a>)</li> <li>Add experimental observability metrics for simple log processor in <code>go.opentelemetry.io/otel/sdk/log</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7548">#7548</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7459">#7459</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7486">#7486</a>)</li> <li>Add experimental observability metrics for simple span processor in <code>go.opentelemetry.io/otel/sdk/trace</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7374">#7374</a>)</li> <li>Add experimental observability metrics in <code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7512">#7512</a>)</li> <li>Add experimental observability metrics for manual reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7524">#7524</a>)</li> <li>Add experimental observability metrics for periodic reader in <code>go.opentelemetry.io/otel/sdk/metric</code>. (<a href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7571">#7571</a>)</li> <li>Support <code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code> and... _Description has been truncated_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
