The OpenTelemetry Collector Contrib contains everything in the opentelemetry-collector release, be sure to check the release notes there as well.
End User Changelog
🛑 Breaking changes 🛑
-
awscloudwatchreceiver: Adds option to set storage for AWS CloudWatch receiver (#32231)- The default value of the
start_fromfield in the logs config changed to Unix epoch (1970-01-01T00:00:00Z) when not explicitly configured. This may alter the behavior of existing configurations relying on the previous default. - To maintain previous behavior, explicitly configure
start_fromin the logs configuraiton.
- The default value of the
-
k8sobjectsreceiver: Check for K8s API objects existence on receiver startup and not during config validation. (#38803) -
receiver/kubeletstats: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta (#39487)
Deprecated metricscontainer.cpu.utilization,k8s.pod.cpu.utilizationandk8s.node.cpu.utilizationare being replaced
bycontainer.cpu.usage,k8s.pod.cpu.usageandk8s.node.cpu.usage.
To be able to use the deprecated metrics, switchreceiver.kubeletstats.enableCPUUsageMetricsfeature gate tofalse. -
processor/k8sattributes: Change processor/k8sattributes to return error if unset envvar is used fornode_from_env_var(#39447)
Before this was a valid configuration, but had an unexpected behavior to monitor the entire cluster. | To keep the same behavior simply do not set thenode_from_env_varvalue or use empty string. -
sqlserverreceiver:host.name,sqlserver.computer.name, andsqlserver.instance.nameare now resource attributes instead of log attributes. We used to reportcomputer_nameandinstance_namein the log attributes for top query collection and they are now deprecated. Now we report the three resources attributes in both top query collection and sample query collection. (#39449)
This change is only relevant for logs.
🚩 Deprecations 🚩
spanmetricsconnector: Deprecate the unused configurationdimensions_cache_size(#39646)
Deprecated configurationdimensions_cache_size, please useaggregation_cardinality_limitinstead
🚀 New components 🚀
dnslookupprocessor: Add structure of new processor (#34398)datadogextension: Introduce framework for Datadog Extension (#39589)sematextexporter: basic logs implementation (#36465)
💡 Enhancements 💡
-
spanmetricsconnector: Add newaggregation_cardinality_limitconfiguration option to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. (#38990) -
awslogsencodingextension: Add support for S3 Access Logs. (#39161) -
pkg: Improve performance of azure logs translator. (#39340) -
azureauthextension: Update stability to alpha. (#39574) -
countconnector: Add profiles support (#39577) -
awscloudwatchlogsexporter: Add dynamic log_group_name and log_group_stream naming, based on awsemfexporter (#31382) -
elasticsearchexporter: Add support for include_source_on_error, which configures whether bulk index responses should include source document on error (#39211) -
elasticsearchexporter: Introduce LRU cache for profiles (#38606) -
elasticsearchexporter: Add support for extracting mapping mode from a scope attribute. (#39110) -
opampextension: Introduces a new config fieldinclude_resource_attributeswhich allows the extension to copy the agent's resource attributes to the non-identifying attributes in the agent description. (#37487) -
statsdreceiver: Add new config to customize socket permissions when transport is set tounixgram. (#37807) -
kubeletstatsreceiver: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196) -
awss3exporter: add configuration fieldresource_attrs_to_s3/s3_prefixto support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefixis configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefixwill serve as a fallback. -
azureblobexporter: Add SerialNumBeforeExtension option to BlobNameFormat in Azure Blob exporter as an option to avoid breaking file extension (#39593) -
splunkhecexporter: Use ObservedTimestamp if Timestamp is empty. (#39221) -
githubreceiver: add dedicated job queue spans with cicd.pipeline.run.queue.duration attribute (#39081) -
hostmetricsreceiver: Possible to enable the process scraper under FreeBSD in the hostmetrics receiver. (#39622) -
k8sclusterreceiver: add support for k8s leader election in k8s cluster receiver (#38429)
Allows multiple instances of the k8s cluster receiver to run in a HA mode in a single cluster. -
kafkareceiver: Add support for configuring Kafka consumer rebalance strategy and group instance ID (#39513)
This enhancement introduces two optional settings: group_rebalance_strategy and group_instance_id.
These allow users to override the default Range-based rebalance strategy and optionally provide a static instance ID (as per KIP-345) for cooperative sticky balancing.
This is particularly useful when handling high-cardinality metric workloads, as it reduces rebalance impact, improves cache reuse, and boosts CPU efficiency.
Both settings are optional to maintain full backward compatibility. -
kafkareceiver: Added a new 'topic' attribute to all existing internal consume-claim metrics. (#35336) -
kafkareceiver: Addmax_fetch_waitconfig setting (#39360)
This setting allows you to specify the maximum time that the broker will wait for
min_fetch_size bytes of data to be available before sending a response to the client.
Defaults to 250ms. -
receiver_creator: Fix kafkametrics receiver instantiation (#39313) -
signaltometricsconnector: Add profiles support (#39609) -
sqlserverreceiver: Acceptcontext_infowithtraceparentformat in query sample collection, setting log record with correct traceId and spanId. (#39539) -
opampsupervisor: Add support for the opampsupervisor to be able to start with only local config (#38794) -
prometheusremotewritereceiver: Cachetarget_infometrics so it can be used to populate metrics' Resource Attributes. (#37277)
You can read more about resource attributes handling in https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#resource-attributes-1
🧰 Bug fixes 🧰
sqlqueryreceiver: respectmax_open_connconfiguration for multiple queries (#39270)resourcedetectionprocessor: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)datadogexporter: Fix a race condition in metric serializer exporter where the exporter may not be fully initialized when it receives metrics (#39669)filelogreceiver: Fix frozen receiver when max_concurrent_files is 1 (#39598)transformprocessor: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)prometheusreceiver: When a histogram metric has both classic and native histogram buckets, keep both, instead of throwing away the native histogram buckets. (#26555)
This was a technical dept from the previous implementation in PR 28663.geoipprocessor: Close providers readers on shutdown (#38961)receivercreator: Fix how escaped backticks are handled in receiver creator templates (#39163)opampsupervisor: Supervisor will no longer report a config status of "applying" if the config has not changed (#39500)githubreceiver: Fix span end times for skipped and cancelled workflows (#39020)k8sobjectsreceiver: Introduceserror_mode, so users can choose between propagating, ignoring, or silencing missing objects. (#38803)opampextension: Skips loading TLS config for insecure endpoints (#39515)opampsupervisor: fixes OpAMP Supervisor macOS example config (#39492)tcpcheckreceiver: Fix tcpcheck.error to report as a cumulative value instead of always being 1. (#39234)kafkareceiver:namelabel will be correctly set in receiver metrics (#39483)signaltometricsconnector: Fix incorrect result for metrics configured with same name but different type (#39442)tcplogreceiver: Ignore SplitFuncBuilder field to prevent panic during config marshaling (#39474)deltatocumulative: fixes misuse of xsync, leading to bad mutex unlock (#39106)
API Changelog
💡 Enhancements 💡
-
pkg/ottl: Addottl.WithContextInferenceConditionsoption to allow configuring extra context inferrer OTTL conditions (#39455) -
awss3exporter: add configuration fieldresource_attrs_to_s3/s3_prefixto support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefixis configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefixwill serve as a fallback. -
pkg/golden: Expose methods to write data to file outside of the scope of a test (#39673)
Expose WriteMetricsToFile to write pmetric data to a file outside of the scope of a test.
Expose WriteTracesToFile to write ptrace data to a file outside of the scope of a test
Expose WriteLogsToFile to write plog data to a file outside of the scope of a test
Expose WriteProfilesToFile to write pprofile data to a file outside of the scope of a test -
pkg/ottl: Add PMapGetSetter interface and StandardPMapGetSetter type. (#39657)