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 #8697
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.64.0 by @renovate[bot] in #8698
- chore(deps): update golang.org/x/telemetry digest to bdd03c3 by @renovate[bot] in #8699
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.64.0 by @renovate[bot] in #8700
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.30.0 by @renovate[bot] in #8701
- chore(deps): update module github.com/rogpeppe/go-internal to v1.16.0 by @renovate[bot] in #8702
- chore(deps): update module github.com/cloudflare/circl to v1.6.5 by @renovate[bot] in #8703
- Record processor.{span,log}.processed before invoking the exporter in simple processors by @cijothomas in #8705
- perf(sdk/metric): reduce benchmark suite execution time (#8683) by @dashpole in #8688
- chore(deps): update codspeedhq/action action to v5.0.3 by @renovate[bot] in #8710
- attempt 2: Lazily compute filtered and dropped attributes by @dashpole in #8598
- fix(deps): update googleapis to c8921c7 by @renovate[bot] in #8712
- chore(deps): update module github.com/santhosh-tekuri/jsonschema/v6 to v6.0.3 by @renovate[bot] in #8708
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 402eeaa by @renovate[bot] in #8716
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.6.0 by @renovate[bot] in #8715
- chore(deps): update mvdan.cc/unparam digest to a64391f by @renovate[bot] in #8717
- fix(deps): update golang.org/x to a8b543c by @renovate[bot] in #8720
- fix(deps): update googleapis to ec0a776 by @renovate[bot] in #8719
- chore(deps): update module golang.org/x/mod to v0.39.0 by @renovate[bot] in #8722
- Disable Go module major updates to v2+ by @MrAlias in #8475
- otlp: wrap the Cause error when context is canceled by @bboreham in #7811
- ci: add shared security scanning workflow by @opentelemetrybot in #8684
- fix(deps): update module google.golang.org/protobuf to v1.36.12 by @renovate[bot] in #8721
- chore(deps): update open-telemetry/shared-workflows action to v0.6.0 by @renovate[bot] in #8725
- chore(deps): update module github.com/charmbracelet/x/ansi to v0.11.8 by @renovate[bot] in #8733
- fix(deps): update golang.org/x by @renovate[bot] in #8732
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 006e29f by @renovate[bot] in #8734
- ci: use shared OSSF Scorecard workflow by @opentelemetrybot in #8737
- Support
http/jsoninotlptracehttpby @sqyang94 in #8273 - chore(deps): update module github.com/xo/terminfo to v1 by @renovate[bot] in #8727
- fix(deps): update golang.org/x by @renovate[bot] in #8742
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 0e895d2 by @renovate[bot] in #8726
- chore(deps): update github.com/charmbracelet/ultraviolet digest to 68fa937 by @renovate[bot] in #8741
- chore(deps): update module charm.land/lipgloss/v2 to v2.0.6 by @renovate[bot] in #8735
- [chore] docs: clarify compatibility promise by @RedZapdos123 in #8686
- chore(deps): update mvdan.cc/unparam digest to 06ca53c by @renovate[bot] in #8744
- [chore] Reenable context-as-argument revive linter by @om7057 in #8718
- fix(deps): update golang.org/x by @renovate[bot] in #8746
- chore(deps): update github/codeql-action action to v4.37.7 by @renovate[bot] in #8745
- chore(deps): update module github.com/sirupsen/logrus to v1.10.0 by @renovate[bot] in #8747
- fix(deps): update golang.org/x by @renovate[bot] in #8748
- ci: add cross-build workflow by @TheJhyeFactor in #8634
- Add partial benchmarks in CI by @XSAM in #8387
- chore(deps): update ubuntu docker tag to v26 by @renovate[bot] in #8755
- chore(deps): update mvdan.cc/unparam digest to 3570034 by @renovate[bot] in #8749
- chore(deps): update open-telemetry/shared-workflows action to v0.7.0 by @renovate[bot] in #8751
- chore(deps): update golang.org/x/telemetry digest to d8c1694 by @renovate[bot] in #8757
- chore(deps): update module github.com/dlclark/regexp2/v2 to v2.7.1 by @renovate[bot] in #8761
- chore(deps): update module go.opentelemetry.io/collector/featuregate to v1.65.0 by @renovate[bot] in #8767
- Fix race in concurrent span attribute reads by @MrAlias in #8706
- Test OTLP retry cancellation causes by @MrAlias in #8724
- chore(deps): update module github.com/mattn/go-runewidth to v0.0.28 by @renovate[bot] in #8771
- log: clarify that Logger.Enabled is optional by @pellared in #8764
- Prevent a nil-pointer panic in (*attribute.Set).Filter by @Shaurya2k06 in #8792
- Return shutdown error from log exporters by @pellared in #8773
- fix(deps): update module google.golang.org/grpc to v1.83.1 by @renovate[bot] in #8804
- chore(deps): update module github.com/sirupsen/logrus to v1.10.1 by @renovate[bot] in #8803
- fix(deps): update github.com/opentracing-contrib/go-grpc/test digest to 8a76746 by @renovate[bot] in #8799
- chore(deps): update ubuntu:26.04 docker digest to 889d056 by @renovate[bot] in #8798
- chore(deps): update module github.com/alwxsin/noinlineerr to v1.0.6 by @renovate[bot] in #8794
- chore(deps): update mvdan.cc/unparam digest to 3f964bc by @renovate[bot] in #8793
- fix(deps): update googleapis to 08b0e42 by @renovate[bot] in #8770
- fix(deps): update module go.opentelemetry.io/collector/pdata to v1.65.0 by @renovate[bot] in #8768
- fix(deps): update module github.com/stretchr/testify to v1.12.1 by @renovate[bot] in #8763
- chore(deps): update open-telemetry/shared-workflows action to v0.8.0 by @renovate[bot] in #8807
- chore(deps): update golang.org/x/telemetry digest to f79da96 by @renovate[bot] in #8806
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.0 by @renovate[bot] in #8808
- Fix grammar in Logs GoDoc comments by @pellared in #8802
- chore(deps): update module github.com/bombsimon/wsl/v5 to v5.9.0 by @renovate[bot] in #8810
- chore(deps): update mvdan.cc/unparam digest to a201bf8 by @renovate[bot] in #8809
- chore(deps): update module github.com/nunnatsa/ginkgolinter to v0.24.0 by @renovate[bot] in #8813
- sdk/resource: prevent nil MarshalLog panic by @jstar0 in #8758
- sdk/log: discard attributes with empty keys by @pellared in #8797
- fix(deps): update golang.org/x by @renovate[bot] in #8814
- fix(deps): update module github.com/golangci/golangci-lint/v2 to v2.13.1 by @renovate[bot] in #8818
- Support Go 1.27 by @pellared in #8811
- Fix OTLP JSON encoding of non-finite doubles by @pellared in #8775
- chore(deps): update open-telemetry/shared-workflows action to v0.10.0 by @renovate[bot] in #8821
- chore(deps): update github/codeql-action action to v4.37.8 by @renovate[bot] in #8833
- sdk/log: count limit-suppressed exception attributes as dropped by @pellared in #8796
- bridge/opentracing: set span event name from the event log field by @singhlovepreet9 in #8648
- [chore] Remove stale TODO(#7066) comments in prometheus exporter by @om7057 in #8738
- chore(deps): update module github.com/mgechev/revive to v1.16.0 by @renovate[bot] in #8835
- [chore] Add doc comments to exported internal symbols (2/N) by @om7057 in #8762
- chore(deps): update mvdan.cc/unparam digest to 2fa3d84 by @renovate[bot] in #8850
- chore(deps): update golang.org/x/telemetry digest to 16c97dc by @renovate[bot] in #8837
- chore(deps): update module github.com/uudashr/iface to v1.5.1 by @renovate[bot] in #8841
- chore(deps): update codspeedhq/action action to v5.2.0 by @renovate[bot] in #8851
- chore(deps): update module honnef.co/go/tools to v0.8.1 by @renovate[bot] in #8816
- otlplog: export dropped attribute count by @pellared in #8829
- otlptracehttp: Accept quoted finite doubles in OTLP JSON by @pellared in #8831
- sdk/log: Add interface stability markers by @pellared in #8855
- attribute: clarify xxhash test purpose by @RedZapdos123 in #8753
- chore(deps): update codspeedhq/action action to v5.2.1 by @renovate[bot] in #8854
- chore(deps): update golang.org/x/telemetry digest to 1f5465a by @renovate[bot] in #8853
- Release v1.46.0 by @pellared in #8858
New Contributors
- @sqyang94 made their first contribution in #8273
- @om7057 made their first contribution in #8718
- @TheJhyeFactor made their first contribution in #8634
- @Shaurya2k06 made their first contribution in #8792
- @jstar0 made their first contribution in #8758
- @singhlovepreet9 made their first contribution in #8648
Full Changelog: v1.45.0...v1.46.0