Skip to content

v0.85.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Sep 13:14
· 4398 commits to main since this release
70c334b

The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.

User facing changes

🛑 Breaking changes 🛑

  • k8sclusterreceiver: Remove deprecated Kubernetes API resources (#23612, #26551)
    Drop support of HorizontalPodAutoscaler v2beta2 version and CronJob v1beta1 version.
    Note that metrics for those resources will not be emitted anymore on Kubernetes 1.22 and older.

  • prometheusexporters: Append prometheus type and unit suffixes by default in prometheus exporters. (#26488)
    Suffixes can be disabled by setting add_metric_suffixes to false on the exporter.

  • attributesprocessor, resourceprocessor: Transition featuregate coreinternal.attraction.hash.sha256 to stable (#4759)

💡 Enhancements 💡

  • postgresqlreceiver: Added postgresql.database.locks metric. (#26317)

  • receiver/statsdreceiver: Add support for distribution type metrics in the statsdreceiver. (#24768)

  • pkg/ottl: Add converters to convert time to unix nanoseconds, unix microseconds, unix milliseconds or unix seconds (#24686)

  • oauth2clientauthextension: Enable dynamically reading ClientID and ClientSecret from files (#26117)

    • Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (client_id_file) and ClientSecretFile (client_secret_file) fields respectively.
    • The file is read every time the client issues a new token. This means that the corresponding value can change dynamically during the execution by modifying the file contents.
  • receiver/hostmetrics: Don't collect connections data from the host if system.network.connections metric is disabled to not waste CPU cycles. (#25815)

  • jaegerreceiver,jaegerremotesamplingextension: Add featuregates to replace Thrift-gen with Proto-gen types for sampling strategies (#18401)
    Available featuregates are:

    • extension.jaegerremotesampling.replaceThriftWithProto
    • receiver.jaegerreceiver.replaceThriftWithProto
  • influxdbexporter: Add user-configurable LogRecord dimensions (otel attributes -> InfluxDB tags) (#26342)

  • k8sclusterreceiver: Add optional k8s.kubelet.version, k8s.kubeproxy.version node resource attributes (#24835)

  • k8sclusterreceiver: Add k8s.pod.status_reason option metric (#24034)

  • k8sobjectsreceiver: Adds logic to properly handle 410 response codes when watching. This improves the reliability of the receiver. (#26098)

  • k8sobjectreceiver: Adds option to exclude event types (MODIFIED, DELETED, etc) in watch mode. (#26042)

  • datadogexporter: Host metadata for remote hosts is now reported on first sight or on change (#25145)
    Host metadata for remote hosts will only be sent for payloads with the datadog.host.use_as_metadata resource attribute.

🧰 Bug fixes 🧰

  • processor/routing: When using attributes instead of resource attributes, the routing processor would crash the collector. This does not affect the connector version of this component. (#26462)
  • awsemfexporter: Fix possible panic in when configuration option awsemf.output_destination:stdout is set (#26250)
  • snmpreceiver: Fix how to determine how many RAs on a metric are scalar (#26363)
    We now create the proper number of resources for configurations where a resource uses fewer than the available number of scalar resource attribtues.
  • processor/tailsampling: Added saving instrumentation library information for tail-sampling (#13642)
  • receiver/kubeletstats: Fixes client to refresh service account token when authenticating with kubelet (#26120)
  • datadogexporter: Fixes crash when mapping OTLP Exponential Histograms with no buckets. These will now be dropped instead. (#26103)
  • filelogreceiver: Fix the behavior of the add operator to continue to support EXPR(env("MY_ENV_VAR")) expressions (#26373)
  • snmpreceiver: SNMP values of type Counter64 were seen as unsupported, because the returned data type unint64 was unhandeled. (#23897, #26119)
  • pkg/stanza: Fix issue unsupported type 'syslog_parser' (#26452)

Go API changes

🛑 Breaking changes 🛑

  • alibabacloudlogserviceexporter: Do not export the function NewLogServiceClient (#26304)

  • awss3exporter: Do not export the function NewMarshaler (#26304)

  • statsdreceiver: rename and do not export function New to newReceiver to pass checkapi (#26304)

  • chronyreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26113)

  • dockerstatsreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26114)

  • elasticsearchexporter: Do not export the function DurationAsMicroseconds (#26304)

  • jaegerexporter: Do not export the function MetricViews (#26304)

  • k8sobjectsreceiver: Do not export the function NewTicker (#26304)

  • pkg/stanza: Rename 'pkg/stanza/decoder' to 'pkg/stanza/decode' (#26340)

  • pkg/stanza: Move tokenize.SplitterConfig.Encoding to fileconsumer.Config.Encoding (#26511)

  • pkg/stanza: Remove Flusher from tokenize.SplitterConfig (#26517)
    Removes the following in favor of flush.WithPeriod - tokenize.DefaultFlushPeriod - tokenize.FlusherConfig - tokenize.NewFlusherConfig

  • pkg/stanza: Remove tokenize.SplitterConfig (#26537)

  • pkg/stanza: Rename "tokenize" package to "split" (#26540)

    • Remove 'Multiline' struct
    • Remove 'NewMultilineConfig' struct
    • Rename 'MultilineConfig' to 'split.Config'
  • pkg/stanza: Extract whitespace trim configuration into trim.Config (#26511)

    • PreserveLeading and PreserveTrailing removed from tokenize.SplitterConfig.
    • PreserveLeadingWhitespaces and PreserveTrailingWhitespaces removed from tcp.BaseConfig and udp.BaseConfig.

💡 Enhancements 💡

  • oauth2clientauthextension: Enable dynamically reading ClientID and ClientSecret from files (#26117)
    • Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (client_id_file) and ClientSecretFile (client_secret_file) fields respectively.
    • The file is read every time the client issues a new token. This means that the corresponding value can change dynamically during the execution by modifying the file contents.