v0.85.0
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 featuregatecoreinternal.attraction.hash.sha256
to stable (#4759)
💡 Enhancements 💡
-
postgresqlreceiver
: Addedpostgresql.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.
- Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (
-
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 optionawsemf.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 functionNewLogServiceClient
(#26304) -
awss3exporter
: Do not export the functionNewMarshaler
(#26304) -
statsdreceiver
: rename and do not export functionNew
tonewReceiver
to pass checkapi (#26304) -
chronyreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26113) -
dockerstatsreceiver
: Removes duplicateTimeout
field. This change has no impact on end users of the component. (#26114) -
elasticsearchexporter
: Do not export the functionDurationAsMicroseconds
(#26304) -
jaegerexporter
: Do not export the functionMetricViews
(#26304) -
k8sobjectsreceiver
: Do not export the functionNewTicker
(#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.
- Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (