Skip to content

Commit 93a693e

Browse files
authored
Release v1.45.0 (#8693)
### Added - Add experimental observability metrics to `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log`. (#7124) - Add the experimental `WithUnsafeAttributes` no-copy attribute option to `go.opentelemetry.io/otel/metric/x` for future performance improvements. This API is a work in progress. (#8251) - Add `Map` and `MapValue` functions for the new `MAP` attribute type in `go.opentelemetry.io/otel/attribute`. (#8445) - Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. (#8453) - Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. (#8453) - Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8453) - Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. (#8453) - Apply `AttributeValueLengthLimit` recursively to values contained in `attribute.MAP` attributes in `go.opentelemetry.io/otel/sdk/trace`. (#8454) - Remove duplicate keys from `attribute.MAP` values in `go.opentelemetry.io/otel/sdk/resource` using last-value-wins semantics. (#8471) - Remove duplicate keys by default from `attribute.MAP` values in instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/log` using last-value-wins semantics. (#8471) - Remove duplicate keys by default from `attribute.MAP` values in span, event, link, and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/trace` using last-value-wins semantics. (#8471) - Remove duplicate keys by default from `attribute.MAP` values in measurement and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/metric` using last-value-wins semantics. (#8471) - Extend `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` to disable duplicate-key removal in `attribute.MAP` values for instrumentation scope attributes. (#8471) - Add the `go.opentelemetry.io/otel/semconv/v1.42.0` package. The package contains semantic conventions from the `v1.42.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.42.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.41.0`. (#8484) - Add `WithoutPanicRecording` as a `TracerProviderOption` in `go.opentelemetry.io/otel/sdk/trace` to disable exception event recording for panics. (#8532) - Add the `go.opentelemetry.io/otel/semconv/v1.43.0` package. The package contains semantic conventions from the `v1.43.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.43.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.42.0`. (#8628) ### Changed - `HistogramReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` now uses a time-unbiased sampling algorithm for exemplars. (#8306) - ⚠️ **Breaking Change:** Use `go.opentelemetry.io/otel/attribute.Value` and `go.opentelemetry.io/otel/attribute.KeyValue` for log bodies and attributes in `go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/log/logtest`, `go.opentelemetry.io/otel/sdk/log`, and `go.opentelemetry.io/otel/sdk/log/logtest`. (#8490) - Encode log bodies and attributes as `go.opentelemetry.io/otel/attribute.Value` JSON in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. (#8490) - Improve the performance of hashing `BOOLSLICE`, `INT64SLICE`, `FLOAT64SLICE`, and `STRINGSLICE` attribute values by avoiding reflection for short slices in `go.opentelemetry.io/otel/attribute`. (#8511) - ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))` to preserve the previous behavior. (#8538) - ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))` to preserve the previous behavior. (#8538) ### Deprecated - Deprecate `WithExportBufferSize` in `go.opentelemetry.io/otel/sdk/log`. The option remains available for source compatibility but no longer affects behavior; `BatchProcessor` no longer maintains a separate export-request buffer. (#8620) ### Removed - ⚠️ **Breaking Change:** Remove `Kind`, `Value`, `KeyValue`, their constructors, and attribute conversion helpers from `go.opentelemetry.io/otel/log`. (#8490) - ⚠️ **Breaking Change:** Remove the `AttributeValueLengthLimit` and `AttributeCountLimit` fields from `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. (#8556) ### Fixed - Fix an off-by-one error in `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` that prevented the first exemplar from being sampled after the reservoir was filled. (#8309) - Interpret HTTP `Retry-After` header values as seconds instead of nanoseconds when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8383) - Fix a memory leak in the `Reservoir` implementation in `go.opentelemetry.io/otel/sdk/metric/exemplar`, where storing the full `context.Context` pinned large objects such as gRPC transport buffers. (#8389) - Prevent a non-empty attribute set whose computed hash is zero from collapsing to an empty set in `go.opentelemetry.io/otel/attribute`. (#8402) - Fix histogram data point reuse in `go.opentelemetry.io/otel/sdk/metric` aggregation to avoid leaking stale sum, minimum, and maximum values when they are disabled in subsequent collections. (#8403) - Avoid preallocating scope attributes when they are disabled in `go.opentelemetry.io/otel/exporters/prometheus`. (#8404) - Support HTTP-date values in the HTTP `Retry-After` header when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8417) - Reduce histogram heap allocations by reusing `BucketCounts` and `Exemplars` slices across `Collect` cycles in the cumulative histogram aggregation in `go.opentelemetry.io/otel/sdk/metric`. (#8428) - Fix `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` self-observability to record `error.type` on the operation-duration histogram when the `exportedSpans` metric is disabled. (#8432) - Stop including trace exporter endpoint configuration in internal logs from `go.opentelemetry.io/otel/sdk/trace`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`, `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, and `go.opentelemetry.io/otel/exporters/zipkin`. (#8438) - Fix invalid error formatting for out-of-range JSON code values in `go.opentelemetry.io/otel/codes`. (#8497) - Clarify in `go.opentelemetry.io/otel/log` that `Logger.Enabled` should be checked for every log emission because its result may change over time. (#8565) - Preserve user-provided exception attributes while independently deriving missing exception message and type attributes in `go.opentelemetry.io/otel/sdk/log`. (#8566) - Make `WithAttributeCountLimit(0)` and `OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT=0` discard all log record attributes in `go.opentelemetry.io/otel/sdk/log`. (#8570) - Clarify that the `Record` methods of `Float64Histogram` and `Int64Histogram` in `go.opentelemetry.io/otel/metric` expect non-negative values. (#8574) - Clarify in `go.opentelemetry.io/otel/log` that `LoggerProvider` implementations should retain an empty `Logger` name instead of replacing it with a default. (#8587) - Ensure that the built-in processors in `go.opentelemetry.io/otel/sdk/log` call exporter `ForceFlush` during `Shutdown`. (#8599) - Prevent panics in `go.opentelemetry.io/otel/bridge/opentracing` when OpenTracing baggage is propagated concurrently with `Span.SetBaggageItem`. ([GHSA-42cj-99w8-cp2p](GHSA-42cj-99w8-cp2p)) - Prevent processor operations in `go.opentelemetry.io/otel/sdk/log` from overlapping with processor shutdown or running after `LoggerProvider` shutdown. (#8608) - Prevent `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` from busy-spinning under exporter backpressure and serialize dequeue, export, force-flush, and shutdown work in one worker. (#8620) - Make `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` return errors encountered while draining records during `ForceFlush` and `Shutdown`, while continuing to attempt later batches as long as the request context remains valid. (#8620) - Keep the default `BatchProcessor` maximum export batch size in `go.opentelemetry.io/otel/sdk/log` at or below the configured maximum queue size. (#8620)
1 parent c65d435 commit 93a693e

43 files changed

Lines changed: 182 additions & 179 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 46 additions & 43 deletions
Large diffs are not rendered by default.

‎bridge/opencensus/go.mod‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ go 1.25.0
55
require (
66
github.com/stretchr/testify v1.11.1
77
go.opencensus.io v0.24.0
8-
go.opentelemetry.io/otel v1.44.0
9-
go.opentelemetry.io/otel/sdk v1.44.0
10-
go.opentelemetry.io/otel/sdk/metric v1.44.0
11-
go.opentelemetry.io/otel/trace v1.44.0
8+
go.opentelemetry.io/otel v1.45.0
9+
go.opentelemetry.io/otel/sdk v1.45.0
10+
go.opentelemetry.io/otel/sdk/metric v1.45.0
11+
go.opentelemetry.io/otel/trace v1.45.0
1212
)
1313

1414
require (
@@ -20,7 +20,7 @@ require (
2020
github.com/google/uuid v1.6.0 // indirect
2121
github.com/pmezard/go-difflib v1.0.0 // indirect
2222
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
23-
go.opentelemetry.io/otel/metric v1.44.0 // indirect
23+
go.opentelemetry.io/otel/metric v1.45.0 // indirect
2424
golang.org/x/sys v0.47.0 // indirect
2525
gopkg.in/yaml.v3 v3.0.1 // indirect
2626
)

‎bridge/opencensus/test/go.mod‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ go 1.25.0
44

55
require (
66
go.opencensus.io v0.24.0
7-
go.opentelemetry.io/otel v1.44.0
8-
go.opentelemetry.io/otel/bridge/opencensus v1.44.0
9-
go.opentelemetry.io/otel/sdk v1.44.0
10-
go.opentelemetry.io/otel/trace v1.44.0
7+
go.opentelemetry.io/otel v1.45.0
8+
go.opentelemetry.io/otel/bridge/opencensus v1.45.0
9+
go.opentelemetry.io/otel/sdk v1.45.0
10+
go.opentelemetry.io/otel/trace v1.45.0
1111
)
1212

1313
require (
@@ -17,8 +17,8 @@ require (
1717
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
1818
github.com/google/uuid v1.6.0 // indirect
1919
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
20-
go.opentelemetry.io/otel/metric v1.44.0 // indirect
21-
go.opentelemetry.io/otel/sdk/metric v1.44.0 // indirect
20+
go.opentelemetry.io/otel/metric v1.45.0 // indirect
21+
go.opentelemetry.io/otel/sdk/metric v1.45.0 // indirect
2222
golang.org/x/sys v0.47.0 // indirect
2323
)
2424

‎bridge/opencensus/version.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ package opencensus
55

66
// Version is the current release version of the opencensus bridge.
77
func Version() string {
8-
return "1.44.0"
8+
return "1.45.0"
99
}

‎bridge/opentracing/go.mod‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ require (
1111
github.com/opentracing-contrib/go-grpc/test v0.0.0-20260727233914-064b4d2bcbbf
1212
github.com/opentracing/opentracing-go v1.2.0
1313
github.com/stretchr/testify v1.11.1
14-
go.opentelemetry.io/otel v1.44.0
15-
go.opentelemetry.io/otel/trace v1.44.0
14+
go.opentelemetry.io/otel v1.45.0
15+
go.opentelemetry.io/otel/trace v1.45.0
1616
google.golang.org/grpc v1.83.0
1717
)
1818

@@ -24,7 +24,7 @@ require (
2424
github.com/golang/protobuf v1.5.4 // indirect
2525
github.com/pmezard/go-difflib v1.0.0 // indirect
2626
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
27-
go.opentelemetry.io/otel/metric v1.44.0 // indirect
27+
go.opentelemetry.io/otel/metric v1.45.0 // indirect
2828
golang.org/x/net v0.57.0 // indirect
2929
golang.org/x/sys v0.47.0 // indirect
3030
golang.org/x/text v0.40.0 // indirect

‎exporters/otlp/otlplog/otlploggrpc/go.mod‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ require (
99
github.com/cenkalti/backoff/v5 v5.0.3
1010
github.com/google/go-cmp v0.7.0
1111
github.com/stretchr/testify v1.11.1
12-
go.opentelemetry.io/otel v1.44.0
13-
go.opentelemetry.io/otel/log v0.20.0
14-
go.opentelemetry.io/otel/metric v1.44.0
15-
go.opentelemetry.io/otel/sdk v1.44.0
16-
go.opentelemetry.io/otel/sdk/log v0.20.0
17-
go.opentelemetry.io/otel/sdk/log/logtest v0.20.0
18-
go.opentelemetry.io/otel/sdk/metric v1.44.0
19-
go.opentelemetry.io/otel/trace v1.44.0
12+
go.opentelemetry.io/otel v1.45.0
13+
go.opentelemetry.io/otel/log v0.21.0
14+
go.opentelemetry.io/otel/metric v1.45.0
15+
go.opentelemetry.io/otel/sdk v1.45.0
16+
go.opentelemetry.io/otel/sdk/log v0.21.0
17+
go.opentelemetry.io/otel/sdk/log/logtest v0.21.0
18+
go.opentelemetry.io/otel/sdk/metric v1.45.0
19+
go.opentelemetry.io/otel/trace v1.45.0
2020
go.opentelemetry.io/proto/otlp v1.11.0
2121
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d
2222
google.golang.org/grpc v1.83.0

‎exporters/otlp/otlplog/otlploggrpc/internal/version.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ package internal
55

66
// Version is the current release version of the OpenTelemetry otlploggrpc
77
// exporter in use.
8-
const Version = "0.20.0"
8+
const Version = "0.21.0"

‎exporters/otlp/otlplog/otlploghttp/go.mod‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ require (
1010
github.com/go-logr/logr v1.4.4
1111
github.com/google/go-cmp v0.7.0
1212
github.com/stretchr/testify v1.11.1
13-
go.opentelemetry.io/otel v1.44.0
14-
go.opentelemetry.io/otel/log v0.20.0
15-
go.opentelemetry.io/otel/metric v1.44.0
16-
go.opentelemetry.io/otel/sdk v1.44.0
17-
go.opentelemetry.io/otel/sdk/log v0.20.0
18-
go.opentelemetry.io/otel/sdk/log/logtest v0.20.0
19-
go.opentelemetry.io/otel/sdk/metric v1.44.0
20-
go.opentelemetry.io/otel/trace v1.44.0
13+
go.opentelemetry.io/otel v1.45.0
14+
go.opentelemetry.io/otel/log v0.21.0
15+
go.opentelemetry.io/otel/metric v1.45.0
16+
go.opentelemetry.io/otel/sdk v1.45.0
17+
go.opentelemetry.io/otel/sdk/log v0.21.0
18+
go.opentelemetry.io/otel/sdk/log/logtest v0.21.0
19+
go.opentelemetry.io/otel/sdk/metric v1.45.0
20+
go.opentelemetry.io/otel/trace v1.45.0
2121
go.opentelemetry.io/proto/otlp v1.11.0
2222
google.golang.org/protobuf v1.36.11
2323
)

‎exporters/otlp/otlplog/otlploghttp/internal/version.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
package internal
55

66
// Version is the current release version of the OpenTelemetry OTLP over HTTP/protobuf logs exporter in use.
7-
const Version = "0.20.0"
7+
const Version = "0.21.0"

‎exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ require (
88
github.com/cenkalti/backoff/v5 v5.0.3
99
github.com/google/go-cmp v0.7.0
1010
github.com/stretchr/testify v1.11.1
11-
go.opentelemetry.io/otel v1.44.0
12-
go.opentelemetry.io/otel/metric v1.44.0
13-
go.opentelemetry.io/otel/sdk v1.44.0
14-
go.opentelemetry.io/otel/sdk/metric v1.44.0
11+
go.opentelemetry.io/otel v1.45.0
12+
go.opentelemetry.io/otel/metric v1.45.0
13+
go.opentelemetry.io/otel/sdk v1.45.0
14+
go.opentelemetry.io/otel/sdk/metric v1.45.0
1515
go.opentelemetry.io/proto/otlp v1.11.0
1616
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d
1717
google.golang.org/grpc v1.83.0
@@ -27,7 +27,7 @@ require (
2727
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
2828
github.com/pmezard/go-difflib v1.0.0 // indirect
2929
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
30-
go.opentelemetry.io/otel/trace v1.44.0 // indirect
30+
go.opentelemetry.io/otel/trace v1.45.0 // indirect
3131
golang.org/x/net v0.57.0 // indirect
3232
golang.org/x/sys v0.47.0 // indirect
3333
golang.org/x/text v0.40.0 // indirect

0 commit comments

Comments
 (0)