This release is the last to support Go 1.25. The next release will require at least Go 1.26.
Added
- Support testing of Go 1.27. (#8811)
- Support
http/jsonprotocol ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#8273, #8775, #8831) - Add
Hasherstruct and methods ingo.opentelemetry.io/otel/attributeto compute authoritativeDistincthashes incrementally for attribute filtering and deduplication. (#8598)
Changed
- Lazily evaluate filtered and dropped attributes on measurement hot paths in
go.opentelemetry.io/otel/sdk/metricto avoid unnecessary attribute set allocations. (#8598) - Add
ErrExporterShutdowntogo.opentelemetry.io/otel/sdk/logand return it from thego.opentelemetry.io/otel/exporters/stdout/stdoutlog,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc, andgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpexporters whenExportis called afterShutdown. (#8773) - Clarify in
go.opentelemetry.io/otel/logthat callingLogger.Enabledis optional and that cached results can become stale. (#8764)
Fixed
- Export dropped attribute counts in OTLP log records from
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpcandgo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#8829) - Name span events created from OpenTracing logs after the
eventlog field, falling back tolog, instead of always using an empty name ingo.opentelemetry.io/otel/bridge/opentracing. (#8648) - Count exception attributes omitted due to the attribute count limit as dropped in
go.opentelemetry.io/otel/sdk/log. (#8796) - Prevent log record and instrumentation scope attributes with empty keys from reaching processors and exporters in
go.opentelemetry.io/otel/sdk/log. (#8797) - Fix a data race when span attributes are read concurrently in
go.opentelemetry.io/otel/sdk/trace. (#8706) - Prevent a panic in
(*Set).Filterwhen called on a nil receiver ingo.opentelemetry.io/otel/attribute. (#8792) - The simple span and log processors record
otel.sdk.processor.{span,log}.processedwhen the record is submitted to the exporter instead of after the export completes, and no longer seterror.typefrom the export outcome, ingo.opentelemetry.io/otel/sdk/traceandgo.opentelemetry.io/otel/sdk/log. (#8705) - Prevent
Resource.MarshalLogfrom panicking on nil resources ingo.opentelemetry.io/otel/sdk/resource. (#8758)
What's Changed
- chore(deps): update github/codeql-action action to v4.37.6 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8697
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.64.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8698
- chore(deps): update golang.org/x/telemetry digest to bdd03c3 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8699
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.64.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8700
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.30.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8701
- chore(deps): update module github.com/rogpeppe/go-internal to v1.16.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8702
- chore(deps): update module github.com/cloudflare/circl to v1.6.5 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8703
- Record processor.{span,log}.processed before invoking the exporter in simple processors by @cijothomas in https://github.com/open-telemetry/opentelemetry-go/pull/8705
- perf(sdk/metric): reduce benchmark suite execution time (#8683) by @dashpole in https://github.com/open-telemetry/opentelemetry-go/pull/8688
- chore(deps): update codspeedhq/action action to v5.0.3 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8710
- attempt 2: Lazily compute filtered and dropped attributes by @dashpole in https://github.com/open-telemetry/opentelemetry-go/pull/8598
- fix(deps): update googleapis to c8921c7 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8712
- chore(deps): update module github.com/santhosh-tekuri/jsonschema/v6 to v6.0.3 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8708
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 402eeaa by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8716
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.6.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8715
- chore(deps): update mvdan.cc/unparam digest to a64391f by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8717
- fix(deps): update golang.org/x to a8b543c by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8720
- fix(deps): update googleapis to ec0a776 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8719
- chore(deps): update module golang.org/x/mod to v0.39.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8722
- Disable Go module major updates to v2+ by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/8475
- otlp: wrap the Cause error when context is canceled by @bboreham in https://github.com/open-telemetry/opentelemetry-go/pull/7811
- ci: add shared security scanning workflow by @opentelemetrybot in https://github.com/open-telemetry/opentelemetry-go/pull/8684
- fix(deps): update module google.golang.org/protobuf to v1.36.12 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8721
- chore(deps): update open-telemetry/shared-workflows action to v0.6.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8725
- chore(deps): update module github.com/charmbracelet/x/ansi to v0.11.8 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8733
- fix(deps): update golang.org/x by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8732
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 006e29f by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8734
- ci: use shared OSSF Scorecard workflow by @opentelemetrybot in https://github.com/open-telemetry/opentelemetry-go/pull/8737
- Support
http/jsoninotlptracehttpby @sqyang94 in https://github.com/open-telemetry/opentelemetry-go/pull/8273 - chore(deps): update module github.com/xo/terminfo to v1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8727
- fix(deps): update golang.org/x by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8742
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 0e895d2 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8726
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 68fa937 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8741
- chore(deps): update module charm.land/lipgloss/v2 to v2.0.6 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8735
- [chore] docs: clarify compatibility promise by @RedZapdos123 in https://github.com/open-telemetry/opentelemetry-go/pull/8686
- chore(deps): update mvdan.cc/unparam digest to 06ca53c by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8744
- [chore] Reenable context-as-argument revive linter by @om7057 in https://github.com/open-telemetry/opentelemetry-go/pull/8718
- fix(deps): update golang.org/x by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8746
- chore(deps): update github/codeql-action action to v4.37.7 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8745
- chore(deps): update module github.com/sirupsen/logrus to v1.10.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8747
- fix(deps): update golang.org/x by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8748
- ci: add cross-build workflow by @TheJhyeFactor in https://github.com/open-telemetry/opentelemetry-go/pull/8634
- Add partial benchmarks in CI by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/8387
- chore(deps): update ubuntu docker tag to v26 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8755
- chore(deps): update mvdan.cc/unparam digest to 3570034 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8749
- chore(deps): update open-telemetry/shared-workflows action to v0.7.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8751
- chore(deps): update golang.org/x/telemetry digest to d8c1694 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8757
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.7.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8761
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.65.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8767
- Fix race in concurrent span attribute reads by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/8706
- Test OTLP retry cancellation causes by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/8724
- chore(deps): update module github.com/mattn/go-runewidth to v0.0.28 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8771
- log: clarify that Logger.Enabled is optional by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8764
- Prevent a nil-pointer panic in (*attribute.Set).Filter by @Shaurya2k06 in https://github.com/open-telemetry/opentelemetry-go/pull/8792
- Return shutdown error from log exporters by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8773
- fix(deps): update module google.golang.org/grpc to v1.83.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8804
- chore(deps): update module github.com/sirupsen/logrus to v1.10.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8803
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 8a76746 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8799
- chore(deps): update ubuntu:26.04 docker digest to 889d056 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8798
- chore(deps): update module github.com/alwxsin/noinlineerr to v1.0.6 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8794
- chore(deps): update mvdan.cc/unparam digest to 3f964bc by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8793
- fix(deps): update googleapis to 08b0e42 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8770
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.65.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8768
- fix(deps): update module github.com/stretchr/testify to v1.12.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8763
- chore(deps): update open-telemetry/shared-workflows action to v0.8.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8807
- chore(deps): update golang.org/x/telemetry digest to f79da96 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8806
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8808
- Fix grammar in Logs GoDoc comments by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8802
- chore(deps): update module github.com/bombsimon/wsl/v5 to v5.9.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8810
- chore(deps): update mvdan.cc/unparam digest to a201bf8 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8809
- chore(deps): update module github.com/nunnatsa/ginkgolinter to v0.24.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8813
- sdk/resource: prevent nil MarshalLog panic by @jstar0 in https://github.com/open-telemetry/opentelemetry-go/pull/8758
- sdk/log: discard attributes with empty keys by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8797
- fix(deps): update golang.org/x by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8814
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8818
- Support Go 1.27 by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8811
- Fix OTLP JSON encoding of non-finite doubles by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8775
- chore(deps): update open-telemetry/shared-workflows action to v0.10.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8821
- chore(deps): update github/codeql-action action to v4.37.8 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8833
- sdk/log: count limit-suppressed exception attributes as dropped by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8796
- bridge/opentracing: set span event name from the event log field by @singhlovepreet9 in https://github.com/open-telemetry/opentelemetry-go/pull/8648
- [chore] Remove stale TODO(#7066) comments in prometheus exporter by @om7057 in https://github.com/open-telemetry/opentelemetry-go/pull/8738
- chore(deps): update module github.com/mgechev/revive to v1.16.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8835
- [chore] Add doc comments to exported internal symbols (2/N) by @om7057 in https://github.com/open-telemetry/opentelemetry-go/pull/8762
- chore(deps): update mvdan.cc/unparam digest to 2fa3d84 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8850
- chore(deps): update golang.org/x/telemetry digest to 16c97dc by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8837
- chore(deps): update module github.com/uudashr/iface to v1.5.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8841
- chore(deps): update codspeedhq/action action to v5.2.0 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8851
- chore(deps): update module honnef.co/go/tools to v0.8.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8816
- otlplog: export dropped attribute count by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8829
- otlptracehttp: Accept quoted finite doubles in OTLP JSON by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8831
- sdk/log: Add interface stability markers by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8855
- attribute: clarify xxhash test purpose by @RedZapdos123 in https://github.com/open-telemetry/opentelemetry-go/pull/8753
- chore(deps): update codspeedhq/action action to v5.2.1 by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8854
- chore(deps): update golang.org/x/telemetry digest to 1f5465a by @renovate[bot] in https://github.com/open-telemetry/opentelemetry-go/pull/8853
- Release v1.46.0 by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/8858
New Contributors
- @sqyang94 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8273
- @om7057 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8718
- @TheJhyeFactor made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8634
- @Shaurya2k06 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8792
- @jstar0 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8758
- @singhlovepreet9 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/8648
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.45.0...v1.46.0