Sourced from go.opentelemetry.io/otel/exporters/prometheus's releases.
Release v1.38.0/v0.60.0/v0.14.0/v0.0.13
Overview
This release is the last to support [Go 1.23]. The next release will require at least [Go 1.24].
Added
- Add native histogram exemplar support in
go.opentelemetry.io/otel/exporters/prometheus. (#6772)- Add template attribute functions to the
go.opentelmetry.io/otel/semconv/v1.34.0package. (#6939)
ContainerLabelDBOperationParameterDBSystemParameterHTTPRequestHeaderHTTPResponseHeaderK8SCronJobAnnotationK8SCronJobLabelK8SDaemonSetAnnotationK8SDaemonSetLabelK8SDeploymentAnnotationK8SDeploymentLabelK8SJobAnnotationK8SJobLabelK8SNamespaceAnnotationK8SNamespaceLabelK8SNodeAnnotationK8SNodeLabelK8SPodAnnotationK8SPodLabelK8SReplicaSetAnnotationK8SReplicaSetLabelK8SStatefulSetAnnotationK8SStatefulSetLabelProcessEnvironmentVariableRPCConnectRPCRequestMetadataRPCConnectRPCResponseMetadataRPCGRPCRequestMetadataRPCGRPCResponseMetadata- Add
ErrorTypeattribute helper function to thego.opentelmetry.io/otel/semconv/v1.34.0package. (#6962)- Add
WithAllowKeyDuplicationingo.opentelemetry.io/otel/sdk/logwhich can be used to disable deduplication for log records. (#6968)- Add
WithCardinalityLimitoption to configure the cardinality limit ingo.opentelemetry.io/otel/sdk/metric. (#6996, #7065, #7081, #7164, #7165, #7179)- Add
Clonemethod toRecordingo.opentelemetry.io/otel/logthat returns a copy of the record with no shared state. (#7001)- Add experimental self-observability span and batch span processor metrics in
go.opentelemetry.io/otel/sdk/trace. Check thego.opentelemetry.io/otel/sdk/trace/internal/xpackage documentation for more information. (#7027, #6393, #7209)- The
go.opentelemetry.io/otel/semconv/v1.36.0package. The package contains semantic conventions from thev1.36.0version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade fromgo.opentelemetry.io/otel/semconv/v1.34.0.(#7032, #7041)- Add support for configuring Prometheus name translation using
WithTranslationStrategyoption ingo.opentelemetry.io/otel/exporters/prometheus. The current default translation strategy when UTF-8 mode is enabled isNoUTF8EscapingWithSuffixes, but a future release will change the default strategy toUnderscoreEscapingWithSuffixesfor compliance with the specification. (#7111)- Add experimental self-observability log metrics in
go.opentelemetry.io/otel/sdk/log. Check thego.opentelemetry.io/otel/sdk/log/internal/xpackage documentation for more information. (#7121)- Add experimental self-observability trace exporter metrics in
go.opentelemetry.io/otel/exporters/stdout/stdouttrace. Check thego.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/xpackage documentation for more information. (#7133)- Support testing of [Go 1.25]. (#7187)
- The
go.opentelemetry.io/otel/semconv/v1.37.0package. The package contains semantic conventions from thev1.37.0version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade fromgo.opentelemetry.io/otel/semconv/v1.36.0.(#7254)Changed
... (truncated)
Sourced from go.opentelemetry.io/otel/exporters/prometheus's changelog.
[1.39.0/0.61.0/0.15.0/0.0.14] 2025-12-05
Added
- Greatly reduce the cost of recording metrics in
go.opentelemetry.io/otel/sdk/metricusing hashing for map keys. (#7175)- Add
WithInstrumentationAttributeSetoption togo.opentelemetry.io/otel/log,go.opentelemetry.io/otel/metric, andgo.opentelemetry.io/otel/tracepackages. This provides a concurrent-safe and performant alternative toWithInstrumentationAttributesby accepting a pre-constructedattribute.Set. (#7287)- Add experimental observability for the Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheus. Check thego.opentelemetry.io/otel/exporters/prometheus/internal/xpackage documentation for more information. (#7345)- Add experimental observability metrics in
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#7353)- Add temporality selector functions
DeltaTemporalitySelector,CumulativeTemporalitySelector,LowMemoryTemporalitySelectortogo.opentelemetry.io/otel/sdk/metric. (#7434)- Add experimental observability metrics for simple log processor in
go.opentelemetry.io/otel/sdk/log. (#7548)- Add experimental observability metrics in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#7459)- Add experimental observability metrics in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#7486)- Add experimental observability metrics for simple span processor in
go.opentelemetry.io/otel/sdk/trace. (#7374)- Add experimental observability metrics in
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#7512)- Add experimental observability metrics for manual reader in
go.opentelemetry.io/otel/sdk/metric. (#7524)- Add experimental observability metrics for periodic reader in
go.opentelemetry.io/otel/sdk/metric. (#7571)- Support
OTEL_EXPORTER_OTLP_LOGS_INSECUREandOTEL_EXPORTER_OTLP_INSECUREenvironmental variables ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#7608)- Add
Enabledmethod to theProcessorinterface ingo.opentelemetry.io/otel/sdk/log. AllProcessorimplementations now include anEnabledmethod. (#7639)- The
go.opentelemetry.io/otel/semconv/v1.38.0package. The package contains semantic conventions from thev1.38.0version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade fromgo.opentelemetry.io/otel/semconv/v1.37.0.(#7648)Changed
Distinctingo.opentelemetry.io/otel/attributeis no longer guaranteed to uniquely identify an attribute set. Collisions betweenDistinctvalues for different Sets are possible with extremely high cardinality (billions of series per instrument), but are highly unlikely. (#7175)WithInstrumentationAttributesingo.opentelemetry.io/otel/tracesynchronously de-duplicates the passed attributes instead of delegating it to the returnedTracerOption. (#7266)WithInstrumentationAttributesingo.opentelemetry.io/otel/metersynchronously de-duplicates the passed attributes instead of delegating it to the returnedMeterOption. (#7266)WithInstrumentationAttributesingo.opentelemetry.io/otel/logsynchronously de-duplicates the passed attributes instead of delegating it to the returnedLoggerOption. (#7266)- Rename the
OTEL_GO_X_SELF_OBSERVABILITYenvironment variable toOTEL_GO_X_OBSERVABILITYingo.opentelemetry.io/otel/sdk/trace,go.opentelemetry.io/otel/sdk/log, andgo.opentelemetry.io/otel/exporters/stdout/stdouttrace. (#7302)- Improve performance of histogram
Recordingo.opentelemetry.io/otel/sdk/metricwhen min and max are disabled usingNoMinMax. (#7306)- Improve error handling for dropped data during translation by using
prometheus.NewInvalidMetricingo.opentelemetry.io/otel/exporters/prometheus. ⚠️ Breaking Change: Previously, these cases were only logged and scrapes succeeded. Now, when translation would drop data (e.g., invalid label/value), the exporter emits aNewInvalidMetric, and Prometheus scrapes fail with HTTP 500 by default. To preserve the prior behavior (scrapes succeed while errors are logged), configure your Prometheus HTTP handler with:promhttp.HandlerOpts{ ErrorHandling: promhttp.ContinueOnError }. (#7363)- Replace fnv hash with xxhash in
go.opentelemetry.io/otel/attributefor better performance. (#7371)- The default
TranslationStrategyingo.opentelemetry.io/exporters/prometheusis changed fromotlptranslator.NoUTF8EscapingWithSuffixestootlptranslator.UnderscoreEscapingWithSuffixes. (#7421)- Improve performance of concurrent measurements in
go.opentelemetry.io/otel/sdk/metric. (#7427)- Include W3C TraceFlags (bits 0–7) in the OTLP
Span.Flagsfield ingo.opentelemetry.io/exporters/otlp/otlptrace/otlptracehttpandgo.opentelemetry.io/exporters/otlp/otlptrace/otlptracegrpc. (#7438)- The
ErrorTypefunction ingo.opentelemetry.io/otel/semconv/v1.37.0now handles custom error types. If an error implements anErrorType() stringmethod, the return value of that method will be used as the error type. (#7442)Fixed
- Fix
WithInstrumentationAttributesoptions ingo.opentelemetry.io/otel/trace,go.opentelemetry.io/otel/metric, andgo.opentelemetry.io/otel/logto properly merge attributes when passed multiple times instead of replacing them. Attributes with duplicate keys will use the last value passed. (#7300)- The equality of
attribute.Setwhen using theEqualmethod is not affected by the user overriding the empty set pointed to byattribute.EmptySetingo.opentelemetry.io/otel/attribute. (#7357)
... (truncated)
6ce1429
Release v1.39.0 (#7676)12e421a
sdk/log: move Enabled method from FilterProcessor to Processor (#7639)5982f16
fix(deps): update module golang.org/x/sys to v0.39.0 (#7684)9288378
chore(deps): update module golang.org/x/sync to v0.19.0 (#7683)ee3dfef
chore(deps): update github.com/securego/gosec/v2 digest to 41f28e2 (#7682)9345d1f
fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.7.2
(#7680)d03b033
Check context prior to delaying retry in OTLP exporters (#7678)61765e7
Fix flaky TestClientInstrumentation (#7677)a54721c
chore(deps): update module github.com/go-git/go-billy/v5 to v5.7.0 (#7679)746d086
chore(deps): update github/codeql-action action to v4.31.7 (#7675)