Overview
This release is the last to support Go 1.21. The next release will require at least Go 1.22.
Added
- Add MacOS ARM64 platform to the compatibility testing suite. (#5577)
- Add
InstrumentationScope
field toSpanStub
ingo.opentelemetry.io/otel/sdk/trace/tracetest
, as a replacement for the deprecatedInstrumentationLibrary
. (#5627) - Make the initial release of
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc
. This new module contains an OTLP exporter that transmits log telemetry using gRPC. This module is unstable and breaking changes may be introduced. See our versioning policy for more information about these stability guarantees. (#5629) - Add
Walk
function toTraceState
ingo.opentelemetry.io/otel/trace
to iterate all the key-value pairs. (#5651) - Bridge the trace state in
go.opentelemetry.io/otel/bridge/opencensus
. (#5651) - Zero value of
SimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
no longer panics. (#5665) - The
FilterProcessor
interface type is added ingo.opentelemetry.io/otel/sdk/log/internal/x
. This is an optional and experimental interface that logProcessor
s can implement to instruct theLogger
if aRecord
will be processed or not. It replaces the existingEnabled
method that is removed from theProcessor
interface itself. It does not fall within the scope of the OpenTelemetry Go versioning and stability policy and it may be changed in backwards incompatible ways or removed in feature releases. (#5692) - Support Go 1.23. (#5720)
Changed
NewMemberRaw
,NewKeyProperty
andNewKeyValuePropertyRaw
ingo.opentelemetry.io/otel/baggage
allow UTF-8 string in key. (#5132)Processor.OnEmit
ingo.opentelemetry.io/otel/sdk/log
now accepts a pointer toRecord
instead of a value so that the record modifications done in a processor are propagated to subsequent registered processors. (#5636)SimpleProcessor.Enabled
ingo.opentelemetry.io/otel/sdk/log
now returnsfalse
if the exporter isnil
. (#5665)- Update the concurrency requirements of
Exporter
ingo.opentelemetry.io/otel/sdk/log
. (#5666) SimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
synchronizesOnEmit
calls. (#5666)- The
Processor
interface ingo.opentelemetry.io/otel/sdk/log
no longer includes theEnabled
method. See theFilterProcessor
interface type added ingo.opentelemetry.io/otel/sdk/log/internal/x
to continue providing this functionality. (#5692) - The
SimpleProcessor
type ingo.opentelemetry.io/otel/sdk/log
is no longer comparable. (#5693) - The
BatchProcessor
type ingo.opentelemetry.io/otel/sdk/log
is no longer comparable. (#5693)
Fixed
- Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#5584) - Pass the underlying error rather than a generic retry-able failure in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
andgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#5541) - Correct the
Tracer
,Meter
, andLogger
names used ingo.opentelemetry.io/otel/example/dice
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/namedtracer
. (#5612) - Correct the
Tracer
name used ingo.opentelemetry.io/otel/example/opencensus
. (#5612) - Correct the
Tracer
andMeter
names used ingo.opentelemetry.io/otel/example/otel-collector
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/passthrough
. (#5612) - Correct the
Meter
name used ingo.opentelemetry.io/otel/example/prometheus
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/zipkin
. (#5612) - Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#5641) - Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
. (#5650) - Stop percent encoding header environment variables in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
(#5705) - Remove invalid environment variable header keys in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
(#5705)
Removed
- The
Enabled
method of theSimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
is removed. (#5692) - The
Enabled
method of theBatchProcessor
ingo.opentelemetry.io/otel/sdk/log
is removed. (#5692)
What's Changed
- Upgrade Go versions in CI by @MrAlias in #5570
- fix(deps): update module google.golang.org/grpc to v1.65.0 by @renovate in #5568
- fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.4.0 by @renovate in #5571
- fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.3.0 by @renovate in #5573
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.53.0 by @renovate in #5574
- Implement otlploggrpc gRPC client by @XSAM in #5572
- chore(deps): update module golang.org/x/sys to v0.22.0 by @renovate in #5576
- chore(deps): update module golang.org/x/net to v0.27.0 by @renovate in #5581
- Enable benchmark summary for release by @XSAM in #5527
- sdk/log: Add package example by @pellared in #5579
- [chore] Update macOS runners by @pellared in #5577
- fix(deps): update module golang.org/x/tools to v0.23.0 by @renovate in #5583
- fix(deps): update golang.org/x/exp digest to 46b0784 by @renovate in #5585
- baggage: Fix invalid percent-encoded octet sequences by @santileira in #5528
- Extend trace config benchmarks to run each option individually by @dmathieu in #5566
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 654c5fe by @renovate in #5587
- Protect released changelog in CI by @XSAM in #5560
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 4ad9e85 by @renovate in #5588
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 4ad9e85 by @renovate in #5589
- Correct the comment for the priority of options and environments on otlptracehttp by @XSAM in #5584
- [chore] Add missing changelog entry for #5577 by @pellared in #5586
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 40e1e62 by @renovate in #5592
- Implement otlploggrpc exporter by @XSAM in #5582
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 40e1e62 by @renovate in #5593
- fix(deps): update module go.opentelemetry.io/build-tools/crosslink to v0.14.0 by @renovate in #5594
- fix(deps): update module go.opentelemetry.io/build-tools/gotmpl to v0.14.0 by @renovate in #5595
- fix(deps): update module go.opentelemetry.io/build-tools/multimod to v0.14.0 by @renovate in #5596
- fix(deps): update module go.opentelemetry.io/build-tools/semconvgen to v0.14.0 by @renovate in #5597
- chore(deps): update prom/prometheus docker tag to v2.53.1 by @renovate in #5603
- chore(deps): update jaegertracing/all-in-one docker tag to v1.59 by @renovate in #5605
- Add TestSpanStartConfigAttributeMutability by @MrAlias in #5591
- log: Add missing notice to Bytes, Slice, Map doc comment by @pellared in #5598
- Add TestConfigLinkMutability by @MrAlias in #5604
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 46eb208 by @renovate in #5610
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 46eb208 by @renovate in #5611
- sdk/log: Refine BenchmarkProcessor by @pellared in #5607
- sdk/log: Simple processor may be useful for production by @pellared in #5578
- Fix verify_released_changelog.sh by @XSAM in #5616
- Add resource metrics transform benchmarks by @dmathieu in #5602
- Add benchmark for turning readonly spans into their proto struct by @dmathieu in #5601
- sdk/log: Package documentation by @pellared in #5609
- Document Logger name and version recommendations by @MrAlias in #5613
- Add comment to other observable instruments about repeated creation with callbacks by @dashpole in #5606
- Update example instrumentation names by @MrAlias in #5612
- Add integration tests for otlploggrpc exporter by @XSAM in #5614
- Add example test for otlploggrpc by @XSAM in #5615
- Add entry for logs in
go.opentelemetry.io/otel
package documentation by @MrAlias in #5621 - Refactor Batch Processor benchmark to really test OnEnd by @dmathieu in #5600
- Separate trace API components into own files by @MrAlias in #5620
- fix(deps): update golang.org/x/exp digest to e3f2596 by @renovate in #5624
- fix(deps): update module golang.org/x/vuln to v1.1.3 by @renovate in #5625
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.105.0 by @renovate in #5626
- Add
otlploggrpc
package documentation by @XSAM in #5622 - Parse errormsgs in retryable status codes by @pree-dew in #5541
- Include otlploggrpc module into the experimental-logs by @XSAM in #5629
- Rely on net/http error content rather than unreliable deadline exceeded by @dmathieu in #5631
- fix(deps): update golang.org/x/exp digest to 8a7402a by @renovate in #5633
- baggage: fix grammar error by @kevinburkesegment in #5634
- Fix otlp grpc exporters doc to require a scheme by @dmathieu in #5632
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to d784300 by @renovate in #5638
- chore(deps): update google.golang.org/genproto/googleapis/api digest to d784300 by @renovate in #5637
- Use actuated runner to run benchmark by @XSAM in #5635
- chore(deps): update google.golang.org/genproto/googleapis/api digest to e6d459c by @renovate in #5639
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to e6d459c by @renovate in #5640
- Allow relying on InstrumentationScope in SpanStub and fix remaining deprecation issues by @dmathieu in #5627
- Correct the comment for the priority of options and environments on otlpmetric by @XSAM in #5641
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 93522f1 by @renovate in #5646
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 93522f1 by @renovate in #5647
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.21.0 by @renovate in #5648
- fix(deps): update github.com/opentracing-contrib/go-grpc digest to 9dec25a by @renovate in #5643
- typo: fix docs by @intiramisu in #5649
- Enable all benchmarks in CI by @XSAM in #5644
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.106.0 by @renovate in #5654
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to b1a4ccb by @renovate in #5656
- chore(deps): update google.golang.org/genproto/googleapis/api digest to b1a4ccb by @renovate in #5655
- Fix benchmark ci by @XSAM in #5657
- [chore] Add asasalint linter by @pellared in #5653
- [chore] Add bodyclose linter by @pellared in #5659
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.106.1 by @renovate in #5662
- [chore] Remove toolchain from go.mod by @pellared in #5661
- sdk/log: Processor.OnEmit accetps a Record pointer by @pellared in #5636
- Fix membership link by @XSAM in #5667
- Correct the comment for the priority of options and environments on otlploghttp by @XSAM in #5650
- Fix benchmark that does not compare the exact result from the previous commit by @XSAM in #5664
- sdk/log: SimpleProcessor to not panic for zero value by @pellared in #5665
- chore(deps): update module golang.org/x/sys to v0.23.0 by @renovate in #5669
- Fix interfaces doc formatting by @pellared in #5658
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 2c9e96a by @renovate in #5673
- fix(deps): update module golang.org/x/tools to v0.24.0 by @renovate in #5677
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 2c9e96a by @renovate in #5672
- chore(deps): update jaegertracing/all-in-one docker tag to v1.60 by @renovate in #5675
- chore(deps): update module golang.org/x/net to v0.28.0 by @renovate in #5676
- Fix stdoutlog import path by @mikelolasagasti in #5670
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 573a115 by @renovate in #5697
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 573a115 by @renovate in #5698
- fix(deps): update golang.org/x/exp digest to 0cdaa3a by @renovate in #5699
- chore(deps): update module golang.org/x/sys to v0.24.0 by @renovate in #5700
- sdk/log: SimpleProcessor synchronizes OnEmit calls by @pellared in #5666
- Ensure exported struct in
sdk/log
are not comparable by @MrAlias in #5693 - Use self hosted runner to run benchmark by @XSAM in #5695
- Save benchmark cache even the job is failed by @XSAM in #5694
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 8ffd90a by @renovate in #5708
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 8ffd90a by @renovate in #5709
- baggage: Accept non-ASCII keys by @XSAM in #5132
- Stabilize benchmark result of
BenchmarkValueEqual
by @XSAM in #5717 - chore(deps): update google.golang.org/genproto/googleapis/rpc digest to ddb44da by @renovate in #5715
- chore(deps): update google.golang.org/genproto/googleapis/api digest to ddb44da by @renovate in #5714
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.22.0 by @renovate in #5718
- fix(deps): update module github.com/prometheus/client_golang to v1.20.0 by @renovate in #5713
- chore(deps): update prom/prometheus docker tag to v2.54.0 by @renovate in #5701
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.107.0 by @renovate in #5710
- chore(deps): update golang docker tag to v1.23 by @renovate in #5712
- fix(deps): update module github.com/prometheus/client_golang to v1.20.1 by @renovate in #5721
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 278611b by @renovate in #5723
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 278611b by @renovate in #5724
- Add support for go 1.23 by @dmathieu in #5720
- Bugfix: OTLP exporters should not percent decode the key when parsing HEADERS env vars by @zhihali in #5705
- OpenCensus bridge to support TraceState by @jianwu in #5651
- Move
log.Processor.Enabled
to independentFilterProcessor
interfaced type by @MrAlias in #5692 - chore(deps): update google.golang.org/genproto/googleapis/api digest to fc7c04a by @renovate in #5726
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to fc7c04a by @renovate in #5727
- fix(deps): update golang.org/x/exp digest to 778ce7b by @renovate in #5728
- fix(deps): update golang.org/x/exp digest to 9b4947d by @renovate in #5729
- fix(deps): update module github.com/golangci/golangci-lint to v1.60.2 by @renovate in #5711
- fix(deps): update module github.com/golangci/golangci-lint to v1.60.3 by @renovate in #5730
- Release v1.29.0/v0.51.0/v0.5.0 by @MrAlias in #5732
New Contributors
- @santileira made their first contribution in #5528
- @pree-dew made their first contribution in #5541
- @intiramisu made their first contribution in #5649
- @mikelolasagasti made their first contribution in #5670
- @jianwu made their first contribution in #5651
Full Changelog: v1.28.0...v1.29.0