Release v1.29.0/v0.51.0/v0.5.0
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
InstrumentationScopefield toSpanStubingo.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
Walkfunction toTraceStateingo.opentelemetry.io/otel/traceto iterate all the key-value pairs. (#5651) - Bridge the trace state in
go.opentelemetry.io/otel/bridge/opencensus. (#5651) - Zero value of
SimpleProcessoringo.opentelemetry.io/otel/sdk/logno longer panics. (#5665) - The
FilterProcessorinterface type is added ingo.opentelemetry.io/otel/sdk/log/internal/x. This is an optional and experimental interface that logProcessors can implement to instruct theLoggerif aRecordwill be processed or not. It replaces the existingEnabledmethod that is removed from theProcessorinterface 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,NewKeyPropertyandNewKeyValuePropertyRawingo.opentelemetry.io/otel/baggageallow UTF-8 string in key. (#5132)Processor.OnEmitingo.opentelemetry.io/otel/sdk/lognow accepts a pointer toRecordinstead of a value so that the record modifications done in a processor are propagated to subsequent registered processors. (#5636)SimpleProcessor.Enabledingo.opentelemetry.io/otel/sdk/lognow returnsfalseif the exporter isnil. (#5665)- Update the concurrency requirements of
Exporteringo.opentelemetry.io/otel/sdk/log. (#5666) SimpleProcessoringo.opentelemetry.io/otel/sdk/logsynchronizesOnEmitcalls. (#5666)- The
Processorinterface ingo.opentelemetry.io/otel/sdk/logno longer includes theEnabledmethod. See theFilterProcessorinterface type added ingo.opentelemetry.io/otel/sdk/log/internal/xto continue providing this functionality. (#5692) - The
SimpleProcessortype ingo.opentelemetry.io/otel/sdk/logis no longer comparable. (#5693) - The
BatchProcessortype ingo.opentelemetry.io/otel/sdk/logis no longer comparable. (#5693)
Fixed
- Correct comments for the priority of the
WithEndpointandWithEndpointURLoptions 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/otlploghttpandgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#5541) - Correct the
Tracer,Meter, andLoggernames used ingo.opentelemetry.io/otel/example/dice. (#5612) - Correct the
Tracernames used ingo.opentelemetry.io/otel/example/namedtracer. (#5612) - Correct the
Tracername used ingo.opentelemetry.io/otel/example/opencensus. (#5612) - Correct the
TracerandMeternames used ingo.opentelemetry.io/otel/example/otel-collector. (#5612) - Correct the
Tracernames used ingo.opentelemetry.io/otel/example/passthrough. (#5612) - Correct the
Metername used ingo.opentelemetry.io/otel/example/prometheus. (#5612) - Correct the
Tracernames used ingo.opentelemetry.io/otel/example/zipkin. (#5612) - Correct comments for the priority of the
WithEndpointandWithEndpointURLoptions and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#5641) - Correct comments for the priority of the
WithEndpointandWithEndpointURLoptions 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/otlpmetricgrpcandgo.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/otlpmetricgrpcandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp(#5705)
Removed
- The
Enabledmethod of theSimpleProcessoringo.opentelemetry.io/otel/sdk/logis removed. (#5692) - The
Enabledmethod of theBatchProcessoringo.opentelemetry.io/otel/sdk/logis 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/otelpackage 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
otlploggrpcpackage 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/logare 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
BenchmarkValueEqualby @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.Enabledto independentFilterProcessorinterfaced 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