Sourced from go.opentelemetry.io/otel/sdk's changelog.
[1.40.0/0.62.0/0.16.0] 2026-02-02
Added
- Add
AlwaysRecordsampler ingo.opentelemetry.io/otel/sdk/trace. (#7724)- Add
Enabledmethod to all synchronous instrument interfaces (Float64Counter,Float64UpDownCounter,Float64Histogram,Float64Gauge,Int64Counter,Int64UpDownCounter,Int64Histogram,Int64Gauge,) ingo.opentelemetry.io/otel/metric. This stabilizes the synchronous instrument enabled feature, allowing users to check if an instrument will process measurements before performing computationally expensive operations. (#7763)- Add
go.opentelemetry.io/otel/semconv/v1.39.0package. The package contains semantic conventions from thev1.39.0version of the OpenTelemetry Semantic Conventions. See the migration documentation for information on how to upgrade fromgo.opentelemetry.io/otel/semconv/v1.38.0.(#7783, #7789)Changed
- Improve the concurrent performance of
HistogramReservoiringo.opentelemetry.io/otel/sdk/metric/exemplarby 4x. (#7443)- Improve the concurrent performance of
FixedSizeReservoiringo.opentelemetry.io/otel/sdk/metric/exemplar. (#7447)- Improve performance of concurrent histogram measurements in
go.opentelemetry.io/otel/sdk/metric. (#7474)- Improve performance of concurrent synchronous gauge measurements in
go.opentelemetry.io/otel/sdk/metric. (#7478)- Add experimental observability metrics in
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric. (#7492)Exporteringo.opentelemetry.io/otel/exporters/prometheusignores metrics with the scopego.opentelemetry.io/contrib/bridges/prometheus. This prevents scrape failures when the Prometheus exporter is misconfigured to get data from the Prometheus bridge. (#7688)- Improve performance of concurrent exponential histogram measurements in
go.opentelemetry.io/otel/sdk/metric. (#7702)- The
rpc.grpc.status_codeattribute in the experimental metrics emitted fromgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcis replaced with therpc.response.status_codeattribute to align with the semantic conventions. (#7854)- The
rpc.grpc.status_codeattribute in the experimental metrics emitted fromgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpcis replaced with therpc.response.status_codeattribute to align with the semantic conventions. (#7854)Fixed
- Fix bad log message when key-value pairs are dropped because of key duplication in
go.opentelemetry.io/otel/sdk/log. (#7662)- Fix
DroppedAttributesonRecordingo.opentelemetry.io/otel/sdk/logto not count the non-attribute key-value pairs dropped because of key duplication. (#7662)- Fix
SetAttributesonRecordingo.opentelemetry.io/otel/sdk/logto not log that attributes are dropped when they are actually not dropped. (#7662)- Fix missing
request.GetBodyingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpto correctly handle HTTP/2GOAWAYframe. (#7794)WithHostIDdetector ingo.opentelemetry.io/otel/sdk/resourceto use full path forioregcommand on Darwin (macOS). (#7818)Deprecated
- Deprecate
go.opentelemetry.io/otel/exporters/zipkin. For more information, see the OTel blog post deprecating the Zipkin exporter. (#7670)[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)
... (truncated)
a3a5317
Release v1.40.0 (#7859)77785da
chore(deps): update github/codeql-action action to v4.32.1 (#7858)56fa1c2
chore(deps): update module github.com/clipperhouse/uax29/v2 to v2.5.0
(#7857)298cbed
Upgrade semconv use to v1.39.0 (#7854)3264bf1
refactor: modernize code (#7850)fd5d030
chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27...8d3b4cb
chore(deps): update actions/cache action to v5.0.3 (#7847)91f7cad
chore(deps): update github.com/timakin/bodyclose digest to 73d1f95 (#7845)fdad1eb
chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to
v2.27...c46d3ba
chore(deps): update golang.org/x/telemetry digest to fcf36f6 (#7843)Sourced from google.golang.org/grpc's releases.
Release 1.79.3
Security
- server: fix an authorization bypass where malformed :path headers (missing the leading slash) could bypass path-based restricted "deny" rules in interceptors like
grpc/authz. Any request with a non-canonical path is now immediately rejected with anUnimplementederror. (#8981)Release 1.79.2
Bug Fixes
- stats: Prevent redundant error logging in health/ORCA producers by skipping stats/tracing processing when no stats handler is configured. (grpc/grpc-go#8874)
Release 1.79.1
Bug Fixes
- grpc: Remove the
-devsuffix from the User-Agent header. (grpc/grpc-go#8902)Release 1.79.0
API Changes
- mem: Add experimental API
SetDefaultBufferPoolto change the default buffer pool. (#8806)
- Special Thanks:
@vanja-p- experimental/stats: Update
MetricsRecorderto require embedding the newUnimplementedMetricsRecorder(a no-op struct) in all implementations for forward compatibility. (#8780)Behavior Changes
- balancer/weightedtarget: Remove handling of
Addressesand only handleEndpointsin resolver updates. (#8841)New Features
- experimental/stats: Add support for asynchronous gauge metrics through the new
AsyncMetricReporterandRegisterAsyncReporterAPIs. (#8780)- pickfirst: Add support for weighted random shuffling of endpoints, as described in gRFC A113.
- This is enabled by default, and can be turned off using the environment variable
GRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING. (#8864)- xds: Implement
:authorityrewriting, as specified in gRFC A81. (#8779)- balancer/randomsubsetting: Implement the
random_subsettingLB policy, as specified in gRFC A68. (#8650)
- Special Thanks:
@marek-szewsBug Fixes
- credentials/tls: Fix a bug where the port was not stripped from the authority override before validation. (#8726)
- Special Thanks:
@Atul1710- xds/priority: Fix a bug causing delayed failover to lower-priority clusters when a higher-priority cluster is stuck in
CONNECTINGstate. (#8813)- health: Fix a bug where health checks failed for clients using legacy compression options (
WithDecompressororRPCDecompressor). (#8765)
- Special Thanks:
@sanki92- transport: Fix an issue where the HTTP/2 server could skip header size checks when terminating a stream early. (#8769)
- Special Thanks:
@joybestourous- server: Propagate status detail headers, if available, when terminating a stream during request header processing. (#8754)
- Special Thanks:
@joybestourousPerformance Improvements
... (truncated)
dda86db
Change version to 1.79.3 (#8983)72186f1
grpc: enforce strict path checking for incoming requests on the server
(#8981)97ca352
Changing version to 1.79.3-dev (#8954)8902ab6
Change the version to release 1.79.2 (#8947)a928670
Cherry-pick #8874 to
v1.79.x (#8904)06df363
Change version to 1.79.2-dev (#8903)782f2de
Change version to 1.79.1 (#8902)850eccb
Change version to 1.79.1-dev (#8851)765ff05
Change version to 1.79.0 (#8850)68804be
Cherry pick #8864 to
v1.79.x (#8896)