Skip to content

Update module github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile to v0.150.0#47636

Merged
codeboten merged 1 commit into
mainfrom
renovate/all-opentelemetry-collector-contrib-packages
Apr 14, 2026
Merged

Update module github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile to v0.150.0#47636
codeboten merged 1 commit into
mainfrom
renovate/all-opentelemetry-collector-contrib-packages

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 14, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile v0.146.2-0.20260219223409-66996adfaaf7v0.150.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

open-telemetry/opentelemetry-collector-contrib (github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile)

v0.150.0

Compare Source

🛑 Breaking changes 🛑
  • pkg/ottl: Return errors when OTTL context accessors receive values of the wrong type (part 2) (#​40198)
    Setters in OTTL contexts now validate that values are of the expected type and return
    descriptive errors when type mismatches occur. This is the continuation of work done in
    #​43505, addressing remaining contexts: datapoint, profile, profilesample, resource, span,
    and spanevent.

    Changes include:

    • Slice setters (explicit_bounds, bucket_counts, positive.bucket_counts, negative.bucket_counts)
      now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better type handling.
    • SetMap now returns an error for invalid value types instead of silently ignoring them.

    Note: Users may see new errors from OTTL statements that were previously silently failing
    due to type mismatches. These errors indicate pre-existing issues in OTTL configurations that
    were not being applied as expected.

  • processor/resourcedetection: Remove feature gate processor.resourcedetection.propagateerrors (#​45853)

  • processor/transform: Remove the processor.transform.ConvertBetweenSumAndGaugeMetricContext feature gate. (#​47358)
    This feature gate has been stable for over a year and is no longer used in any code paths.

  • receiver/k8s_cluster: Kubernetes resource labels in entity events are now prefixed per OTel semantic conventions. (#​47491)
    Labels on Kubernetes resources emitted as entity event attributes are now prefixed with
    k8s.<resource>.label. to align with OTel semantic conventions (e.g. k8s.pod.label.<key>,
    k8s.node.label.<key>, k8s.deployment.label.<key>, etc.).
    Previously, label keys were emitted verbatim without any prefix.
    Users consuming entity event attributes by label key will need to update their configurations.

  • receiver/kubeletstats: Disable deprecated resource attributes by default (#​47184)
    The following resource attributes are deprecated and will now be disabled by default:
    aws.volume.id, fs.type, gce.pd.name, glusterfs.endpoints.name, glusterfs.path, and partition.
    All of these attributes will be removed in a future release.

🚩 Deprecations 🚩
  • receiver/http_check: Rename httpcheck receiver to http_check with deprecated alias httpcheck (#​45339)
  • receiver/named_pipe: Rename namedpipe receiver to named_pipe with deprecated alias namedpipe. (#​45339)
  • receiver/tcp_log: Rename tcplog receiver to tcp_log with deprecated alias tcplog (#​45339)
  • receiver/tls_check: Rename tlscheck receiver to tls_check with deprecated alias tlscheck (#​45339)
  • receiver/udp_log: Rename udplog receiver to udp_log with deprecated alias udplog (#​45339)
  • receiver/windows_event_log: Rename windowseventlog receiver to windows_event_log with deprecated alias windowseventlog (#​45339)
🚀 New components 🚀
  • exporter/google_secops: Add Google SecOps exporter for sending logs to the Google SecOps (Chronicle) Ingestion APIs. (#​46148)
  • processor/spanpruning: Add span pruning processor for aggregating repetitive leaf spans in trace data. (#​45654)
  • receiver/osquery: Implement osquery query scraping (#​30375)
💡 Enhancements 💡
  • exporter/datadog: Promote exporter.datadogexporter.DisableAllMetricRemapping feature gate to beta. (#​47212)

    • All metrics remappings are now handled by the Datadog backend and this should be a transparent change. If you run into any issues, please disable the feature gate by passing --feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping and reach out to Datadog support (https://www.datadoghq.com/support/).
  • exporter/elasticsearch: Add suppress_conflict_errors config to optionally silence document level 409 version conflict logs (#​47248)

  • exporter/kafka: Add record_headers configuration option to set static headers on outgoing records (#​47193)

  • exporter/kafka: Add support for partitioning kafka records (#​46931)
    Add support for RoundRobin and LeastBackup partitioning strategies, as well as custom partitioners
    provided by RecordPartitionerExtension implementations. Users can implement their own partitioning logic
    and plug it into the kafka exporter via the RecordPartitionerExtension interface.

  • exporter/prometheus: Exemplar support for exponential histograms in Prometheus exporter (#​47159)

  • exporter/prometheus: prevent panic on histogram with empty BucketCounts. (#​47351)
    Guard BucketCounts access with a length check in convertDoubleHistogram to avoid index-out-of-range panic when a histogram has explicit bounds but no corresponding bucket counts.

  • exporter/signalfx: Add dimension_client::strip_k8s_label_prefix option to strip k8s.<resource>.label. prefix from dimension property updates. (#​47491)
    The k8s cluster receiver now emits Kubernetes resource labels in entity events with the
    k8s.<resource>.label. prefix per OTel semantic conventions (e.g. k8s.pod.label.app).
    When strip_k8s_label_prefix: true (the default), the SignalFx exporter strips this prefix
    when forwarding labels as dimension properties, preserving the existing SignalFx behavior (e.g. app).
    Set strip_k8s_label_prefix: false to disable stripping and receive the full prefixed keys.

  • exporter/sumologic: Modify default retry settings to prevent dropping data on transient backend unavailability (#​47503)

  • extension/datadog: Add gateway_service and gateway_destination config fields to support gateway topology view in Fleet Automation. (#​47471)
    Gateway collectors set gateway_service to the k8s Service fronting them.
    Agent/daemonset collectors set gateway_destination to the k8s Service they forward telemetry to.
    Both fields are optional and omitted from the metadata payload when empty.

  • extension/health_check: Migrate extension.healthcheck.useComponentStatus feature gate registration from manual code to metadata.yaml for mdatagen code generation (#​46116)

  • extension/sumologic: Adding support to sumologic extension for auto discovery of services in windows (#​47349)

  • pkg/ottl: Add Coalesce converter that returns the first non-nil value from a list of arguments. (#​46847)
    The Coalesce converter accepts a list of values and returns the first one that is not nil.
    This simplifies common patterns where a canonical attribute must be resolved from multiple possible sources.
    Example: set(attributes["user"], Coalesce([attributes["user.id"], attributes["enduser.id"], "unknown"]))

  • pkg/stanza: Optimizing the performance of Windows Event log unmarshalling when raw = true (#​47164)

  • pkg/stanza: Add new scrape model for Windows event logs using an event-driven subscription instead of polling (#​47091)

  • pkg/stanza: Add on_truncate option to fileconsumer to control behavior when a file's stored offset exceeds its current size. (#​43693)

  • processor/filter: Add feature gate processor.filter.defaultErrorModeIgnore to change default error_mode to ignore (#​47232)

  • processor/interval: Flush remaining buffered metrics on shutdown to prevent data loss during restarts and rollouts. (#​47238)
    Previously, the interval processor would silently drop any metrics accumulated
    in its buffer when receiving a shutdown signal. Now it flushes the buffer to
    the next consumer before exiting, consistent with the batch processor behavior.

  • processor/lookup: Add DNS lookup source and LRU caching (#​46114)
    Adds a DNS source that performs reverse DNS lookups (PTR records) to resolve IP addresses to hostnames.
    Implements a full LRU cache with size-based eviction, TTL expiration, and negative caching.
    The DNS source has caching enabled by default.

  • processor/spanpruning: Add full implementation of the span pruning processor. (#​45654)

  • processor/tail_sampling: Add gated tail storage extension support to tailsampling processor via new tail_storage config (#​45250)
    Introduces a new tail storage interface with in-memory default behavior and allows extension-backed storage when
    the processor.tailsamplingprocessor.tailstorageextension feature gate is enabled.

  • processor/transform: Add feature gate processor.transform.defaultErrorModeIgnore to change default error_mode to ignore (#​47231)

  • processor/transform: Add support for semantic conventions 1.38.0, 1.39.0, and 1.40.0 in the set_semconv_span_name function. (#​45911)
    The set_semconv_span_name function now recognizes semantic conventions 1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using the latest rules. Support for the rpc.system.name attribute (introduced in 1.39.0) has been added so span names can reflect the new RPC system conventions. Backward compatibility is preserved: the rpc.system attribute remains supported.

  • receiver/active_directory_ds: Enables dynamic metric reaggregation in the Active Directory Domain Services receiver. This does not break existing configuration files. (#​46346)

  • receiver/apachespark: Enable the re-aggregation feature for the apachespark receiver (#​46349)

  • receiver/awss3: add tag_object_after_ingestion flag to the s3 receiver so objects that have been processed can be identified (#​46078)
    They will be tagged with otel-collector:status=ingested. Operators can use that tag to define bucket lifecycle policies.

  • receiver/awss3: add zstd decompression to the s3 receiver (#​46854)

  • receiver/cloudfoundry: Migrate cloudfoundry.resourceAttributes.allow feature gate registration from manual code to metadata.yaml for mdatagen code generation (#​46116)

  • receiver/elasticsearch: Enable dynamic attribute metric with attribute re-aggregation in configuration at runtime (#​46353)

  • receiver/filestats: Enable re-aggregation and set requirement levels for attributes. (#​46355)

  • receiver/googlecloudpubsub: Add flow control configuration (#​44804)
    Add flow control configuration, giving advanced users more control over the parameters of the streaming
    pull control loop.

  • receiver/k8s_cluster: Emit entity references as part of metrics resources. (#​41080)

  • receiver/k8sobjects: Add kube_api_qps and kube_api_burst config options to control Kubernetes API request rate limits and prevent client-side throttling when watching or polling many resources (#​44484)
    The same fields are also available in receiver/k8sevents via the shared internal/k8sconfig package.
    Default values match the client-go defaults: kube_api_qps=5, kube_api_burst=10.

  • receiver/receiver_creator: add support for profiling signal for receiver creator (#​46930)

  • receiver/splunkenterprise: Add custom search support to the Splunk Enterprise receiver (#​47124)

  • receiver/windows_event_log: Add discover_domain_controllers config flag to automatically discover and collect Security events from Active Directory domain controllers based on feature gate domainControllers.autodiscovery. (#​44156, #​44423)
    When discover_domain_controllers in config and domainControllers.autodiscovery feature gate is set true , the receiver queries LDAP Root DSE to
    discover the root domain path, enumerates all domain controllers in the Active Directory
    forest, and creates receiver for each domain controller.
    Falls back to the currently joined DC if the root DN cannot be determined.

🧰 Bug fixes 🧰
  • exporter/awsemf: Fix data races in getPusher and logPusher that cause nil pointer panics and out-of-order log events (#​47126)

  • exporter/awss3: Use AWS SDK S3 types for StorageClass and ACL validation instead of hardcoded lists (#​46825)
    The hardcoded list of valid S3 storage classes was missing GLACIER_IR, REDUCED_REDUNDANCY, and EXPRESS_ONEZONE.
    Replaced both StorageClass and ACL hardcoded validation maps with values from the AWS SDK s3types package
    to prevent this from going out of date again in the future.

  • exporter/datadog: Fix use-after-free bug causing corrupted quantile sketches when exporting ExponentialHistogram metrics with multiple attribute sets (#​47338)
    When multiple ExponentialHistogram data points were converted to Datadog sketches in a single
    export call, the underlying sync.Pool backing array was shared across conversions. A second
    conversion would reuse and overwrite the first sketch's bin memory, producing non-monotonic
    bin keys and inflated percentile values. This is fixed by upgrading
    github.com/DataDog/datadog-agent/pkg/util/quantile to commit bfa4eff, which deep-copies
    the bin slice before returning the sketch.

  • exporter/elasticsearch: Fix malformed JSON creation for numbers in exponential notation. (#​47363)
    When rendering numbers in exponential notation the exporter JSON implementation always added a radix point (e.g. 1.0 not 1).
    The implementation had a buffer corruption bug where it was overriding part of the buffer leading to malformed and invalid JSON numbers being created.

  • exporter/prometheus: Fix Prometheus exporter default HTTP server behavior where keep-alives and server timeouts were not using the intended defaults. (#​47173)
    This fixes default behavior where keep_alives_enabled was effectively false unless explicitly configured.

  • exporter/prometheus: Fix unbounded memory growth when metrics are no longer being scraped. (#​41123)
    Expired metric families now get cleaned up even when no Prometheus scraper is actively collecting,
    preventing memory from growing indefinitely.

  • extension/aws_logs_encoding: Add source_region field (27th field) to S3 server access log parser and skip unknown future fields gracefully. (#​47149)
    AWS added a source_region field to the S3 server access log format. The parser
    previously returned an error ("values in log line exceed the number of available fields")
    when it encountered log lines with more fields than defined. This fix:

    • Adds source_region as field index 26 mapped to aws.s3.source_region.
    • Makes the parser skip any fields beyond the known schema instead of failing,
      providing forward compatibility with future AWS S3 access log additions.
  • pkg/stanza: Fix severity parser to work with JSON parser with parse_ints: true (#​47209)

  • receiver/awss3: Fix infinite loop and metric skew caused by SQS failing to parse and delete "s3:TestEvent" messages (#​47045)

  • receiver/vcenter: Fixes a nil pointer dereference panic in recordVMStats when scraping metrics from VMs with missing performance counters (#​46977)

v0.149.0

Compare Source

🛑 Breaking changes 🛑
  • exporter/elasticsearch: Remove host.os.type encoding in ECS mode (#​46900)
    Use processor/elasticapmprocessor v0.36.2 or later for host.os.type enrichment
  • receiver/prometheus: Remove the deprecated report_extra_scrape_metrics receiver configuration option and obsolete extra scrape metric feature gates. (#​44181)
    report_extra_scrape_metrics is no longer accepted in prometheusreceiver configuration.
    Control extra scrape metrics through the PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead.
🚩 Deprecations 🚩
  • receiver/awsfirehose: Deprecate built-in unmarshalers (cwlogs, cwmetrics, otlp_v1) in favor of encoding extensions. (#​45830)
    Use the aws_logs_encoding extension (format: cloudwatch) instead of cwlogs,
    and the awscloudwatchmetricstreams_encoding extension instead of cwmetrics (format: json)
    or otlp_v1 (format: opentelemetry1.0).

  • receiver/file_log: Rename filelog receiver to file_log with deprecated alias filelog (#​45339)

  • receiver/kafka: Deprecate the built-in azure_resource_logs encoding in favour of azureencodingextension. (#​46267)
    The built-in azure_resource_logs encoding does not support all timestamp formats
    emitted by Azure services (e.g. US-format timestamps from Azure Functions).
    Users should migrate to the azureencodingextension,
    which provides full control over time formats and is actively maintained.

💡 Enhancements 💡
  • cmd/opampsupervisor: Add configuration validation before applying remote config to prevent collector downtime (#​41068)
    Validates collector configurations before applying them, preventing downtime from invalid remote configs.
    Disabled by default. Enable via agent.validate_config: true. May produce false positives when resources
    like ports are temporarily unavailable during validation.

  • connector/datadog: Document datadog connector is not supported in aix environments (#​47010)
    Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.

  • connector/signal_to_metrics: Add keys_expression support in include_resource_attributes and attributes for dynamic attribute key resolution at runtime (#​46884)
    The keys_expression field allows specifying an OTTL value expression that resolves to a list
    of attribute keys at runtime. This enables dynamic resource attribute filtering based on runtime
    data such as client metadata. Exactly one of key or keys_expression must be set per entry.

  • connector/signal_to_metrics: Reduce per-signal allocations in the hot path by replacing attribute map allocation with a pooled hash-based ID check, and caching filtered resource attributes per metric definition within each resource batch. (#​47197)

  • connector/signal_to_metrics: Pre-compute prefixed collector key to avoid a string allocation on every signal processed. (#​47183)
    Pre-computing the collector key avoids a string allocation on every signal processed.

  • exporter/datadog: Document datadog exporter is not supported in aix environments (#​47010)
    Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.

  • exporter/elasticsearch: Add histogram:raw mapping hint to bypass midpoint approximation for histogram metrics (#​47150)

  • exporter/elasticsearch: Cache metric attribute set per bulk session instead of recomputing it for every document (#​47170)
    syncBulkIndexerSession.Add() was calling getAttributesFromMetadataKeys +
    attribute.NewSet + metric.WithAttributeSet on every document in the hot path. The attribute set is
    derived from the request context metadata, which is constant for the lifetime of a session, so it is
    now computed once in StartSession and reused across all Add() calls in that session.

  • exporter/elasticsearch: populate _doc_count field in ECS mapping mode (#​46936)
    _doc_count is a special metadata field in Elasticsearch used when a document represents pre-aggregated data (like histograms or aggregate metrics).
    Currently, elasticsearchexporter only populates this field for otel mapping mode (native otel field structure). This change
    adds support for ECS mapping mode (native ECS field structure) so that we have consistent behavior for both mapping modes.

  • exporter/elasticsearch: Encode require_data_stream in Elasticsearch bulk action metadata instead of the bulk request query string. (#​46970)
    This preserves existing endpoint query parameters while moving require_data_stream
    to the per-document action line expected by newer bulk workflows. Benchmarks show
    a stable ~27 bytes/item NDJSON payload overhead before compression.

  • exporter/elasticsearch: Improve performance of Elasticsearch exporter document serialisation (#​47171)

  • exporter/elasticsearch: Add metric for docs retried because of request errors (#​46215)

  • exporter/kafka: Cache OTel metric attribute sets in OnBrokerE2E hook to reduce per-export allocations (#​47186)
    OnBrokerE2E previously rebuilt attribute.NewSet + metric.WithAttributeSet on every
    call. The set of distinct (nodeID, host, outcome) combinations is bounded by
    2 × number-of-brokers, so the computed MeasurementOption is now cached per key.

  • exporter/pulsar: This component does not support aix/ppc64. (#​47010)
    Make the exporter explicitly panic if used in aix/ppc64 environments.

  • extension/datadog: Document datadog extension is not supported in aix environments (#​47010)
    Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.

  • extension/db_storage: Make dbstorage work in AIX environments (#​47010)
    sqlite support is offered via modernC, which doesn't support the AIX ppc64 compilation target.
    We carve out support for sqlite in AIX environments so contrib can compile for this compilation target.

  • extension/health_check: Add component event attributes to serialized output. (#​43606)
    When http.status.include_attributes is enabled in the healthcheckv2 extension (with use_v2: true),
    users will see additional attributes in the status output. These attributes provide more
    context about component states, including details like error messages and affected components.
    For example:

    {
      "healthy": false,
      "status": "error",
      "attributes": {
        "error_msg": "not enough permissions to read cpu data",
        "scrapers": ["cpu", "memory", "network"]
      }
    }
  • extension/healthcheckv2: Add component event attributes to serialized output. (#​43606)
    When http.status.include_attributes is enabled in the healthcheckv2 extension (with use_v2: true),
    users will see additional attributes in the status output. These attributes provide more
    context about component states, including details like error messages and affected components.
    For example:

    {
      "healthy": false,
      "status": "error",
      "attributes": {
        "error_msg": "not enough permissions to read cpu data",
        "scrapers": ["cpu", "memory", "network"]
      }
    }
  • extension/sigv4auth: Add support for External IDs when assuming roles in cross-account authentication scenarios (#​44930)
    Added external_id field to the AssumeRole configuration, allowing users to specify
    an External ID when assuming roles for enhanced cross-account security.

  • internal/datadog: Do not compute host metadata in AIX environments (#​47010)
    Explicitly opt out of host metadata computation in datadog components to support AIX compilation target.

  • pkg/stanza: Ensure router operator does not split batches of entries (#​42393)

  • pkg/stanza: Parse all Windows Event XML fields into the log body, including RenderingInfo (with Culture, Channel, Provider, Task, Opcode, Keywords, Message), UserData, ProcessingErrorData, DebugData, and BinaryEventData. (#​46943)
    Previously, RenderingInfo was only used to derive the top-level level/task/opcode/keywords/message
    fields. It is now also emitted as a top-level rendering_info key containing all fields including
    culture, channel, and provider. UserData (an alternative to EventData used by some providers)
    is now parsed into a user_data key. Rare schema elements ProcessingErrorData, DebugData, and
    BinaryEventData are also captured when present.

  • processor/resourcedetection: Added IBM Cloud VPC resource detector to the Resource Detection Processor (#​46874)

  • processor/resourcedetection: Added IBM Cloud Classic resource detector to the Resource Detection Processor (#​46874)

  • processor/tail_sampling: Add sampling_strategy config with trace-complete and span-ingest modes for tail sampling decision timing and evaluation behavior. (#​46600)

  • receiver/awslambda: Enrich context with AWS Lambda receiver metadata for S3 logs (#​47046)

  • receiver/azure_event_hub: Add support for Azure Event Hubs distributed processing. This allows the receiver to automatically coordinate partition ownership and checkpointing across multiple collector instances via Azure Blob Storage. (#​46595)

  • receiver/docker_stats: Add TLS configuration support for connecting to the Docker daemon over HTTPS with client and server certificates. (#​33557)
    A new optional tls configuration block is available in docker_stats receiver config (and the
    shared internal/docker package). When omitted the connection remains insecure (plain HTTP or
    Unix socket), preserving existing behavior. When provided it supports the standard
    configtls.ClientConfig fields: ca_file, cert_file, key_file, insecure_skip_verify,
    min_version, and max_version.
    A warning is now emitted when a plain tcp:// or http:// endpoint is used without TLS,
    reflecting Docker's deprecation of unauthenticated TCP connections since Docker v26.0
    (see https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections).

  • receiver/docker_stats: Add "stream_stats" config option to maintain a persistent Docker stats stream per container instead of opening a new connection on every scrape cycle. (#​46493)
    When stream_stats: true is set, each container maintains a persistent open Docker stats
    stream instead of opening and closing a new connection on every scrape cycle. The scraper
    reads from the cached latest value, which reduces connection overhead.

  • receiver/expvar: Enable the re-aggregation feature for the expvar receiver (#​45396)

  • receiver/file_log: Add max_log_size_behavior config option to control oversized log entry behavior (#​44371)
    The new max_log_size_behavior setting controls what happens when a log entry exceeds max_log_size.

    • split (default): Splits oversized log entries into multiple log entries. This is the existing behavior.
    • truncate: Truncates oversized log entries and drops the remainder, emitting only a single truncated log entry.
  • receiver/hostmetrics: Enable re-aggregation for system scraper (#​46624)
    Enabled the reaggregation feature gate for the system scraper.

  • receiver/hostmetrics: Enable re-aggregation for process scraper (#​46623)
    Enabled the reaggregation feature gate for the process scraper and set all metric attributes (context_switch_type, direction, paging_fault_type, state) with requirement_level recommended.

  • receiver/mongodb: Enable re-aggregation feature for mongodb receiver metrics (#​46366)

  • receiver/mongodb: Add scheme configuration option to support mongodb+srv connections (#​36011)
    The new scheme field allows connecting to MongoDB clusters using
    SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for
    backward compatibility.

  • receiver/mysql: Add mysql.query_plan.hash attribute to top query log records, enabling users to correlate top queries with their corresponding execution plans. (#​46626)

  • receiver/mysql: Added mysql.session.status and mysql.session.id attributes to query samples. mysql.session.status indicates the session status (waiting, running, or other) at the time of the sample. mysql.session.id provides the unique session identifier. Both attributes provide additional context for understanding query performance and behavior. (#​135350)

  • receiver/mysql: Add and tune obfuscation of sensitive properties in both V1 and V2 JSON query plans. (#​46629, #​46587)
    Configure and test obfuscation for V1 and V2 plans, including tests of queries retrieved from the performance schema that are truncated and cannot be obfuscated.
    The importance of obfuscation can be very context dependent; sensitive PII, banking, and authorization data may reside in the same database as less sensitive data, and it can be vital to ensure that what is expected to be obfuscated is always obfuscated. Significant additional testing has been added around query plan obfuscation to ensure that this is enforced and to provide assurance and reference to users about what specifically is obfuscated and what is not.

  • receiver/mysql: Propagates W3C TraceContext from MySQL session variables to query sample log records. When a MySQL session sets @traceparent, the receiver extracts the TraceID and SpanID and stamps them onto the corresponding db.server.query_sample log record, enabling correlation between application traces and query samples. (#​46631)
    Only samples from sessions where @traceparent is set will have non-zero traceId and spanId fields on the log record.

  • receiver/prometheus: Add support for reading instrumentation scope attributes from otel_scope_<attribute-name> labels while feature-gating deprecation of otel_scope_info. (#​41502)
    Scope attributes are always extracted from otel_scope_<attribute-name> labels on metrics.
    The receiver.prometheusreceiver.IgnoreScopeInfoMetric feature gate (alpha, disabled by default)
    controls only whether the legacy otel_scope_info metric is ignored for scope attribute extraction.
    When the gate is disabled, both mechanisms coexist to support migration.
    See the specification change for motivation: open-telemetry/opentelemetry-specification#4505

  • receiver/pulsar: This component does not support aix/ppc64. (#​47010)
    Make the receiver explicitly panic if used in aix/ppc64 environments.

  • receiver/skywalking: Add feature gate translator.skywalking.useStableSemconv to update semantic conventions from v1.18.0 to v1.38.0 (#​44796)
    A feature gate translator.skywalking.useStableSemconv has been added to control the migration.
    The gate is disabled by default (Alpha stage), so existing behavior is preserved.

  • receiver/sqlquery: Add clickhouse support to sqlquery (#​47116)

  • receiver/sqlquery: Add row_condition to metric configuration for filtering result rows by column value (#​45862)
    Enables extracting individual metrics from pivot-style result sets where each row
    represents a different metric (e.g. pgbouncer's SHOW LISTS command). When
    row_condition is configured on a metric, only rows where the specified column
    equals the specified value are used; all other rows are silently skipped.

  • receiver/sqlserver: Enable dynamic metric reaggregation in the SQL Server receiver. (#​46379)

  • receiver/yang_grpc: Support collecting any metric by browsing the whole metrics tree (#​47054)

🧰 Bug fixes 🧰
  • exporter/kafka: Fixes the validation for topic_from_metadata_key to use partition keys. (#​46994)

  • exporter/kafka: Fix topic routing for multi-resource batches when topic_from_attribute is set without resource-level partitioning (#​46872)
    Previously, when a batch contained multiple resources with different
    topic attribute values, all data was silently sent to the topic of the
    first resource. Each resource is now correctly routed to its own topic.

  • exporter/splunk_hec: Fix timestamp precision in Splunk HEC exporter to preserve microseconds instead of truncating to milliseconds. (#​47175)
    Timestamps were rounded to milliseconds before sending to Splunk HEC. The rounding has been removed, giving microsecond precision in the HEC time field.

  • extension/bearertokenauth: Redact bearer token from authentication error messages to prevent credential exposure in logs. (#​46200)
    Previously, when a client presented an invalid bearer token, the full token value was
    included in the error message returned by the Authenticate method. This error could be
    propagated to log output, exposing sensitive credentials. The error message now omits
    the token value entirely.

  • internal/aws: Respect NO_PROXY/no_proxy environment variables when using env-based proxy configuration in awsutil (#​46892)
    When no explicit proxy_address was configured, the HTTP client manually read HTTPS_PROXY
    and used http.ProxyURL which ignores NO_PROXY. Now delegates to http.ProxyFromEnvironment
    which correctly handles all proxy environment variables.

  • processor/deltatorate: Append "/s" to the unit of output datapoints to reflect the per-second rate. (#​46841)

  • processor/filter: Fix validation of include and exclude severity configurations so they run independently of LogConditions. (#​46883)

  • receiver/datadog: Propagate Datadog trace sampling priority to all spans translated from a trace chunk. (#​45402)

  • receiver/file_log: Fix data corruption after file compression (#​46105)
    After a log file is compressed (e.g. test.log → test.log.gz), the receiver configured with compression: auto will now correctly decompress the content and continue reading from where the plaintext file left off.

  • receiver/file_log: Fixes bug where File Log receiver did not read the last line of gzip compressed files. (#​45572)

  • receiver/hostmetrics: Align HugePages metric instrument types with the semantic conventions by emitting page_size, reserved, and surplus as non-monotonic sums instead of gauges. (#​42650)

  • receiver/hostmetrics: Handle nil PageFaultsStat in process scraper to prevent panic on zombie processes. (#​47095)

  • receiver/journald: Fix emitting of historical entries on startup (#​46556)
    When start_at is "end" (the default), pass --lines=0 to journalctl to suppress
    the 10 historical entries it emits by default in follow mode.

  • receiver/k8s_events: Exclude DELETED watch events to prevent duplicate event ingestion. (#​47035)

  • receiver/mysql: Remove deprecated information_schema.processlist JOIN from query samples template; use thread.processlist_host instead. (#​47041)

  • receiver/oracledb: Fix oracledbreceiver aborting entire scrape when a SQL query text fails to obfuscate (e.g. due to Oracle truncating a CLOB mid-string-literal). The affected entry is now skipped with a warning log and the rest of the scrape continues normally. (#​47151)

  • receiver/otelarrow: Remove assumed positions of otel arrow root payload types (#​46878)

  • receiver/otelarrow: Fix OTLP fallback handlers returning codes.Unknown instead of codes.Unavailable for pipeline errors, causing upstream exporters to permanently drop data instead of retrying. (#​46182)

  • receiver/pprof: Fixes pprofreceiver file_scrapper appending resource profiles instead of merging them. (#​46991)

  • receiver/prometheus_remote_write: Count target_info samples in PRW response stats (#​47108)

v0.148.0

Compare Source

🛑 Breaking changes 🛑
  • all: Removes the k8slog receiver after being unmaintained for 3 months (#​46544)

  • all: Remove deprecated SAPM exporter (#​46555)

  • all: Remove the datadogsemantics processor. (#​46893)
    If you need help, please contact Datadog support: https://www.datadoghq.com/support.

  • exporter/google_cloud_storage: reuse_if_exists behavior changed: now checks bucket existence instead of attempting creation (#​45971)
    Previously, reuse_if_exists=true would attempt bucket creation and fall back to reusing on conflict.
    Now, reuse_if_exists=true checks if bucket exists (via storage.buckets.get) and uses it, failing if it doesn't exist.
    Set to true when the service account lacks project-level bucket creation permissions but has bucket-level permissions.
    reuse_if_exists=false still attempts to create the bucket and fails if it already exists.

  • exporter/kafka: Remove deprecated top-level topic and encoding configuration fields (#​46916)
    The top-level topic and encoding fields were deprecated in v0.124.0.
    Use the per-signal fields instead: logs::topic, metrics::topic,
    traces::topic, profiles::topic, and the corresponding encoding
    fields under each signal section.

  • exporter/kafka: Remove kafka-local batching partitioner wiring and require explicit sending_queue::batch::partition::metadata_keys configuration as a superset of include_metadata_keys when batching is enabled. (#​46757)

  • pkg/ottl: truncate_all function now supports UTF-8 safe truncation (#​36713)
    The default truncate_all behavior has changed. Truncation now respects UTF-8 character boundaries by default (new optional parameter utf8_safe, default: true), so results stay valid UTF-8 and may be slightly shorter than the limit.
    To keep the previous byte-level truncation behavior (e.g. for non-UTF-8 data or to avoid any behavior change), set utf8_safe to false in all truncate_all usages.

  • receiver/awsecscontainermetrics: Add ephemeral storage metrics and fix unit strings from Megabytes to MiB (#​46414)
    Adds two new task-level gauge metrics: ecs.task.ephemeral_storage.utilized and ecs.task.ephemeral_storage.reserved (in MiB).
    These metrics are available on AWS Fargate Linux platform version 1.4.0+ and represent the shared ephemeral storage for the entire task.

    Breaking change: The unit string for ecs.task.memory.utilized, ecs.task.memory.reserved,
    container.memory.utilized, and container.memory.reserved has been corrected from "Megabytes" to "MiB".
    The underlying values were already in MiB (computed via division by 1024*1024), but the unit label was incorrect.
    Users relying on the exact unit string (e.g. in metric filters or dashboards) will need to update accordingly.

  • receiver/mysql: Set the default collection of query_sample to false (#​46902)

  • receiver/postgresql: Disable default collection of top_query and query_sample events. (#​46843)
    This change is breaking because it disables the default collection of top_query and query_sample events. These events will need to be enabled manually if desired.

  • receiver/redfish: system.host_name and base_url resource attribute has been changed to host.name and url.full respectively.
    (#​46236)

  • receiver/windowseventlog: Change event_data from an array of single-key maps to a flat map by default, making fields directly accessible via OTTL. The previous format is available by setting event_data_format: array. (#​42565, #​32952)
    Named elements become direct keys (e.g., body["event_data"]["ProcessId"]).
    Anonymous elements use numbered keys: param1, param2, etc.
    To preserve the previous array format, set event_data_format: array in the receiver configuration.

🚩 Deprecations 🚩
  • exporter/azure_blob: Introduce new snake case compliant name azure_blob (#​46722)
  • exporter/google_cloud_storage: Introduce new snake case compliant name google_cloud_storage (#​46733)
  • extension/aws_logs_encoding: Introduce new snake case compliant name aws_logs_encoding (#​46776)
  • extension/azure_auth: Introduce new snake case compliant name azure_auth (#​46775)
  • extension/cgroup_runtime: Introduce new snake case compliant name cgroup_runtime (#​46773)
  • extension/google_cloud_logentry_encoding: Introduce new snake case compliant name google_cloud_logentry_encoding (#​46778)
  • processor/metric_start_time: Introduce new snake case compliant name metric_start_time (#​46777)
  • receiver/azure_blob: Introduce new snake case compliant name azure_blob (#​46721)
  • receiver/azure_monitor: Introduce new snake case compliant name azure_monitor (#​46730)
  • receiver/cisco_os: Introduce new snake case compliant name cisco_os (#​46948)
  • receiver/macos_unified_logging: Introduce new snake case compliant name macos_unified_logging (#​46729)
  • receiver/prometheus_remote_write: Introduce new snake case compliant name prometheus_remote_write (#​46726)
  • receiver/yang_grpc: Introduce new snake case compliant name yang_grpc (#​46723)
🚀 New components 🚀

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "on tuesday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner April 14, 2026 14:25
@renovate renovate Bot added dependencies Pull requests that update a dependency file renovatebot labels Apr 14, 2026
@renovate renovate Bot requested a review from songy23 April 14, 2026 14:25
@renovate renovate Bot added dependencies Pull requests that update a dependency file renovatebot labels Apr 14, 2026
@github-actions github-actions Bot requested a review from frzifus April 14, 2026 15:48
@codeboten codeboten merged commit 85bfe69 into main Apr 14, 2026
357 of 367 checks passed
@codeboten codeboten deleted the renovate/all-opentelemetry-collector-contrib-packages branch April 14, 2026 17:49
AndrewCharlesHay pushed a commit to AndrewCharlesHay/opentelemetry-collector-contrib that referenced this pull request Apr 23, 2026
…ib/extension/internal/credentialsfile to v0.150.0 (open-telemetry#47636)

> ℹ️ **Note**
> 
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile](https://github.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.146.2-0.20260219223409-66996adfaaf7` → `v0.150.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fextension%2finternal%2fcredentialsfile/v0.150.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fextension%2finternal%2fcredentialsfile/v0.146.2-0.20260219223409-66996adfaaf7/v0.150.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/20907) for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile)</summary>

###
[`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0)

##### 🛑 Breaking changes 🛑

- `pkg/ottl`: Return errors when OTTL context accessors receive values
of the wrong type (part 2)
([#&#8203;40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198))
Setters in OTTL contexts now validate that values are of the expected
type and return
descriptive errors when type mismatches occur. This is the continuation
of work done in

[#&#8203;43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505),
addressing remaining contexts: datapoint, profile, profilesample,
resource, span,
  and spanevent.

  Changes include:

- Slice setters (explicit\_bounds, bucket\_counts,
positive.bucket\_counts, negative.bucket\_counts)
now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better
type handling.
- SetMap now returns an error for invalid value types instead of
silently ignoring them.

**Note:** Users may see new errors from OTTL statements that were
previously silently failing
due to type mismatches. These errors indicate pre-existing issues in
OTTL configurations that
  were not being applied as expected.

- `processor/resourcedetection`: Remove feature gate
processor.resourcedetection.propagateerrors
([#&#8203;45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853))

- `processor/transform`: Remove the
`processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature
gate.
([#&#8203;47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358))
This feature gate has been stable for over a year and is no longer used
in any code paths.

- `receiver/k8s_cluster`: Kubernetes resource labels in entity events
are now prefixed per OTel semantic conventions.
([#&#8203;47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491))
Labels on Kubernetes resources emitted as entity event attributes are
now prefixed with
`k8s.<resource>.label.` to align with OTel semantic conventions (e.g.
`k8s.pod.label.<key>`,
  `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.).
  Previously, label keys were emitted verbatim without any prefix.
Users consuming entity event attributes by label key will need to update
their configurations.

- `receiver/kubeletstats`: Disable deprecated resource attributes by
default
([#&#8203;47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184))
The following resource attributes are deprecated and will now be
disabled by default:
`aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`,
`glusterfs.path`, and `partition`.
  All of these attributes will be removed in a future release.

##### 🚩 Deprecations 🚩

- `receiver/http_check`: Rename `httpcheck` receiver to `http_check`
with deprecated alias `httpcheck`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe`
with deprecated alias `namedpipe`.
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with
deprecated alias `tcplog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with
deprecated alias `tlscheck`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with
deprecated alias `udplog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/windows_event_log`: Rename `windowseventlog` receiver to
`windows_event_log` with deprecated alias `windowseventlog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))

##### 🚀 New components 🚀

- `exporter/google_secops`: Add Google SecOps exporter for sending logs
to the Google SecOps (Chronicle) Ingestion APIs.
([#&#8203;46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148))
- `processor/spanpruning`: Add span pruning processor for aggregating
repetitive leaf spans in trace data.
([#&#8203;45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654))
- `receiver/osquery`: Implement osquery query scraping
([#&#8203;30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375))

##### 💡 Enhancements 💡

- `exporter/datadog`: Promote
`exporter.datadogexporter.DisableAllMetricRemapping` feature gate to
beta.
([#&#8203;47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212))
- All metrics remappings are now handled by the Datadog backend and this
should be a transparent change. If you run into any issues, please
disable the feature gate by passing
`--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping`
and reach out to Datadog support (<https://www.datadoghq.com/support/>).

- `exporter/elasticsearch`: Add suppress\_conflict\_errors config to
optionally silence document level 409 version conflict logs
([#&#8203;47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248))

- `exporter/kafka`: Add `record_headers` configuration option to set
static headers on outgoing records
([#&#8203;47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193))

- `exporter/kafka`: Add support for partitioning kafka records
([#&#8203;46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931))
Add support for RoundRobin and LeastBackup partitioning strategies, as
well as custom partitioners
provided by RecordPartitionerExtension implementations. Users can
implement their own partitioning logic
and plug it into the kafka exporter via the RecordPartitionerExtension
interface.

- `exporter/prometheus`: Exemplar support for exponential histograms in
Prometheus exporter
([#&#8203;47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159))

- `exporter/prometheus`: prevent panic on histogram with empty
BucketCounts.
([#&#8203;47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351))
Guard BucketCounts access with a length check in convertDoubleHistogram
to avoid index-out-of-range panic when a histogram has explicit bounds
but no corresponding bucket counts.

- `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix`
option to strip `k8s.<resource>.label.` prefix from dimension property
updates.
([#&#8203;47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491))
The k8s cluster receiver now emits Kubernetes resource labels in entity
events with the
`k8s.<resource>.label.` prefix per OTel semantic conventions (e.g.
`k8s.pod.label.app`).
When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter
strips this prefix
when forwarding labels as dimension properties, preserving the existing
SignalFx behavior (e.g. `app`).
Set `strip_k8s_label_prefix: false` to disable stripping and receive the
full prefixed keys.

- `exporter/sumologic`: Modify default retry settings to prevent
dropping data on transient backend unavailability
([#&#8203;47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503))

- `extension/datadog`: Add `gateway_service` and `gateway_destination`
config fields to support gateway topology view in Fleet Automation.
([#&#8203;47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471))
Gateway collectors set `gateway_service` to the k8s Service fronting
them.
Agent/daemonset collectors set `gateway_destination` to the k8s Service
they forward telemetry to.
Both fields are optional and omitted from the metadata payload when
empty.

- `extension/health_check`: Migrate
extension.healthcheck.useComponentStatus feature gate registration from
manual code to metadata.yaml for mdatagen code generation
([#&#8203;46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116))

- `extension/sumologic`: Adding support to sumologic extension for auto
discovery of services in windows
([#&#8203;47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349))

- `pkg/ottl`: Add Coalesce converter that returns the first non-nil
value from a list of arguments.
([#&#8203;46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847))
The Coalesce converter accepts a list of values and returns the first
one that is not nil.
This simplifies common patterns where a canonical attribute must be
resolved from multiple possible sources.
Example: `set(attributes["user"], Coalesce([attributes["user.id"],
attributes["enduser.id"], "unknown"]))`

- `pkg/stanza`: Optimizing the performance of Windows Event log
unmarshalling when raw = true
([#&#8203;47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164))

- `pkg/stanza`: Add new scrape model for Windows event logs using an
event-driven subscription instead of polling
([#&#8203;47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091))

- `pkg/stanza`: Add `on_truncate` option to fileconsumer to control
behavior when a file's stored offset exceeds its current size.
([#&#8203;43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693))

- `processor/filter`: Add feature gate
`processor.filter.defaultErrorModeIgnore` to change default error\_mode
to ignore
([#&#8203;47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232))

- `processor/interval`: Flush remaining buffered metrics on shutdown to
prevent data loss during restarts and rollouts.
([#&#8203;47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238))
Previously, the interval processor would silently drop any metrics
accumulated
in its buffer when receiving a shutdown signal. Now it flushes the
buffer to
the next consumer before exiting, consistent with the batch processor
behavior.

- `processor/lookup`: Add DNS lookup source and LRU caching
([#&#8203;46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114))
Adds a DNS source that performs reverse DNS lookups (PTR records) to
resolve IP addresses to hostnames.
Implements a full LRU cache with size-based eviction, TTL expiration,
and negative caching.
  The DNS source has caching enabled by default.

- `processor/spanpruning`: Add full implementation of the span pruning
processor.
([#&#8203;45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654))

- `processor/tail_sampling`: Add gated tail storage extension support to
tailsampling processor via new tail\_storage config
([#&#8203;45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250))
Introduces a new tail storage interface with in-memory default behavior
and allows extension-backed storage when
the processor.tailsamplingprocessor.tailstorageextension feature gate is
enabled.

- `processor/transform`: Add feature gate
`processor.transform.defaultErrorModeIgnore` to change default
error\_mode to ignore
([#&#8203;47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231))

- `processor/transform`: Add support for semantic conventions 1.38.0,
1.39.0, and 1.40.0 in the `set_semconv_span_name` function.
([#&#8203;45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911))
The `set_semconv_span_name` function now recognizes semantic conventions
1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using
the latest rules. Support for the `rpc.system.name` attribute
(introduced in 1.39.0) has been added so span names can reflect the new
RPC system conventions. Backward compatibility is preserved: the
`rpc.system` attribute remains supported.

- `receiver/active_directory_ds`: Enables dynamic metric reaggregation
in the Active Directory Domain Services receiver. This does not break
existing configuration files.
([#&#8203;46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346))

- `receiver/apachespark`: Enable the re-aggregation feature for the
apachespark receiver
([#&#8203;46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349))

- `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3
receiver so objects that have been processed can be identified
([#&#8203;46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078))
They will be tagged with `otel-collector:status=ingested`. Operators can
use that tag to define bucket lifecycle policies.

- `receiver/awss3`: add zstd decompression to the s3 receiver
([#&#8203;46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854))

- `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow
feature gate registration from manual code to metadata.yaml for mdatagen
code generation
([#&#8203;46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116))

- `receiver/elasticsearch`: Enable dynamic attribute metric with
attribute re-aggregation in configuration at runtime
([#&#8203;46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353))

- `receiver/filestats`: Enable re-aggregation and set requirement levels
for attributes.
([#&#8203;46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355))

- `receiver/googlecloudpubsub`: Add flow control configuration
([#&#8203;44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804))
Add flow control configuration, giving advanced users more control over
the parameters of the streaming
  pull control loop.

- `receiver/k8s_cluster`: Emit entity references as part of metrics
resources.
([#&#8203;41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080))

- `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config
options to control Kubernetes API request rate limits and prevent
client-side throttling when watching or polling many resources
([#&#8203;44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484))
The same fields are also available in `receiver/k8sevents` via the
shared `internal/k8sconfig` package.
Default values match the client-go defaults: `kube_api_qps=5`,
`kube_api_burst=10`.

- `receiver/receiver_creator`: add support for profiling signal for
receiver creator
([#&#8203;46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930))

- `receiver/splunkenterprise`: Add custom search support to the Splunk
Enterprise receiver
([#&#8203;47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124))

- `receiver/windows_event_log`: Add `discover_domain_controllers` config
flag to automatically discover and collect Security events from Active
Directory domain controllers based on feature gate
domainControllers.autodiscovery.
([#&#8203;44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156),
[#&#8203;44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423))
When `discover_domain_controllers` in config and
`domainControllers.autodiscovery` feature gate is set `true` , the
receiver queries LDAP Root DSE to
discover the root domain path, enumerates all domain controllers in the
Active Directory
  forest, and creates receiver for each domain controller.
Falls back to the currently joined DC if the root DN cannot be
determined.

##### 🧰 Bug fixes 🧰

- `exporter/awsemf`: Fix data races in getPusher and logPusher that
cause nil pointer panics and out-of-order log events
([#&#8203;47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126))

- `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL
validation instead of hardcoded lists
([#&#8203;46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825))
The hardcoded list of valid S3 storage classes was missing GLACIER\_IR,
REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE.
Replaced both StorageClass and ACL hardcoded validation maps with values
from the AWS SDK s3types package
  to prevent this from going out of date again in the future.

- `exporter/datadog`: Fix use-after-free bug causing corrupted quantile
sketches when exporting ExponentialHistogram metrics with multiple
attribute sets
([#&#8203;47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338))
When multiple ExponentialHistogram data points were converted to Datadog
sketches in a single
export call, the underlying sync.Pool backing array was shared across
conversions. A second
conversion would reuse and overwrite the first sketch's bin memory,
producing non-monotonic
  bin keys and inflated percentile values. This is fixed by upgrading
github.com/DataDog/datadog-agent/pkg/util/quantile to commit
[`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991),
which deep-copies
  the bin slice before returning the sketch.

- `exporter/elasticsearch`: Fix malformed JSON creation for numbers in
exponential notation.
([#&#8203;47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363))
When rendering numbers in exponential notation the exporter JSON
implementation always added a radix point (e.g. 1.0 not 1).
The implementation had a buffer corruption bug where it was overriding
part of the buffer leading to malformed and invalid JSON numbers being
created.

- `exporter/prometheus`: Fix Prometheus exporter default HTTP server
behavior where keep-alives and server timeouts were not using the
intended defaults.
([#&#8203;47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173))
This fixes default behavior where keep\_alives\_enabled was effectively
false unless explicitly configured.

- `exporter/prometheus`: Fix unbounded memory growth when metrics are no
longer being scraped.
([#&#8203;41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123))
Expired metric families now get cleaned up even when no Prometheus
scraper is actively collecting,
  preventing memory from growing indefinitely.

- `extension/aws_logs_encoding`: Add `source_region` field (27th field)
to S3 server access log parser and skip unknown future fields
gracefully.
([#&#8203;47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149))
AWS added a `source_region` field to the S3 server access log format.
The parser
previously returned an error ("values in log line exceed the number of
available fields")
  when it encountered log lines with more fields than defined. This fix:
- Adds `source_region` as field index 26 mapped to
`aws.s3.source_region`.
- Makes the parser skip any fields beyond the known schema instead of
failing,
providing forward compatibility with future AWS S3 access log additions.

- `pkg/stanza`: Fix severity parser to work with JSON parser with
`parse_ints: true`
([#&#8203;47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209))

- `receiver/awss3`: Fix infinite loop and metric skew caused by SQS
failing to parse and delete "s3:TestEvent" messages
([#&#8203;47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045))

- `receiver/vcenter`: Fixes a nil pointer dereference panic in
recordVMStats when scraping metrics from VMs with missing performance
counters
([#&#8203;46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977))

<!-- previous-version -->

###
[`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0)

##### 🛑 Breaking changes 🛑

- `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode
([#&#8203;46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900))
Use
[processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor)
v0.36.2 or later for `host.os.type` enrichment
- `receiver/prometheus`: Remove the deprecated
`report_extra_scrape_metrics` receiver configuration option and obsolete
extra scrape metric feature gates.
([#&#8203;44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181))
`report_extra_scrape_metrics` is no longer accepted in
`prometheusreceiver` configuration.
Control extra scrape metrics through the
PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead.

##### 🚩 Deprecations 🚩

- `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs,
cwmetrics, otlp\_v1) in favor of encoding extensions.
([#&#8203;45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830))
Use the aws\_logs\_encoding extension (format: cloudwatch) instead of
cwlogs,
and the awscloudwatchmetricstreams\_encoding extension instead of
cwmetrics (format: json)
  or otlp\_v1 (format: opentelemetry1.0).

- `receiver/file_log`: Rename `filelog` receiver to `file_log` with
deprecated alias `filelog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))

- `receiver/kafka`: Deprecate the built-in `azure_resource_logs`
encoding in favour of `azureencodingextension`.
([#&#8203;46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267))
The built-in `azure_resource_logs` encoding does not support all
timestamp formats
emitted by Azure services (e.g. US-format timestamps from Azure
Functions).
Users should migrate to the
[`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension),
which provides full control over time formats and is actively
maintained.

##### 💡 Enhancements 💡

- `cmd/opampsupervisor`: Add configuration validation before applying
remote config to prevent collector downtime
([#&#8203;41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068))
Validates collector configurations before applying them, preventing
downtime from invalid remote configs.
Disabled by default. Enable via `agent.validate_config: true`. May
produce false positives when resources
  like ports are temporarily unavailable during validation.

- `connector/datadog`: Document datadog connector is not supported in
aix environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `connector/signal_to_metrics`: Add `keys_expression` support in
`include_resource_attributes` and `attributes` for dynamic attribute key
resolution at runtime
([#&#8203;46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884))
The `keys_expression` field allows specifying an OTTL value expression
that resolves to a list
of attribute keys at runtime. This enables dynamic resource attribute
filtering based on runtime
data such as client metadata. Exactly one of `key` or `keys_expression`
must be set per entry.

- `connector/signal_to_metrics`: Reduce per-signal allocations in the
hot path by replacing attribute map allocation with a pooled hash-based
ID check, and caching filtered resource attributes per metric definition
within each resource batch.
([#&#8203;47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197))

- `connector/signal_to_metrics`: Pre-compute prefixed collector key to
avoid a string allocation on every signal processed.
([#&#8203;47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183))
Pre-computing the collector key avoids a string allocation on every
signal processed.

- `exporter/datadog`: Document datadog exporter is not supported in aix
environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass
midpoint approximation for histogram metrics
([#&#8203;47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150))

- `exporter/elasticsearch`: Cache metric attribute set per bulk session
instead of recomputing it for every document
([#&#8203;47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170))
`syncBulkIndexerSession.Add()` was calling
`getAttributesFromMetadataKeys` +
`attribute.NewSet` + `metric.WithAttributeSet` on every document in the
hot path. The attribute set is
derived from the request context metadata, which is constant for the
lifetime of a session, so it is
now computed once in `StartSession` and reused across all `Add()` calls
in that session.

- `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping
mode
([#&#8203;46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936))
\_doc\_count is a special metadata field in Elasticsearch used when a
document represents pre-aggregated data (like histograms or aggregate
metrics).
Currently, elasticsearchexporter only populates this field for otel
mapping mode (native otel field structure). This change
adds support for ECS mapping mode (native ECS field structure) so that
we have consistent behavior for both mapping modes.

- `exporter/elasticsearch`: Encode `require_data_stream` in
Elasticsearch bulk action metadata instead of the bulk request query
string.
([#&#8203;46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970))
This preserves existing endpoint query parameters while moving
`require_data_stream`
to the per-document action line expected by newer bulk workflows.
Benchmarks show
  a stable \~27 bytes/item NDJSON payload overhead before compression.

- `exporter/elasticsearch`: Improve performance of Elasticsearch
exporter document serialisation
([#&#8203;47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171))

- `exporter/elasticsearch`: Add metric for docs retried because of
request errors
([#&#8203;46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215))

- `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook
to reduce per-export allocations
([#&#8203;47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186))
`OnBrokerE2E` previously rebuilt `attribute.NewSet` +
`metric.WithAttributeSet` on every
call. The set of distinct (nodeID, host, outcome) combinations is
bounded by
2 × number-of-brokers, so the computed `MeasurementOption` is now cached
per key.

- `exporter/pulsar`: This component does not support aix/ppc64.
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
  Make the exporter explicitly panic if used in aix/ppc64 environments.

- `extension/datadog`: Document datadog extension is not supported in
aix environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `extension/db_storage`: Make dbstorage work in AIX environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
sqlite support is offered via modernC, which doesn't support the AIX
ppc64 compilation target.
We carve out support for sqlite in AIX environments so contrib can
compile for this compilation target.

- `extension/health_check`: Add component event attributes to serialized
output.
([#&#8203;43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606))
When `http.status.include_attributes` is enabled in the healthcheckv2
extension (with `use_v2: true`),
users will see additional attributes in the status output. These
attributes provide more
context about component states, including details like error messages
and affected components.
  For example:
  ```json
  {
    "healthy": false,
    "status": "error",
    "attributes": {
      "error_msg": "not enough permissions to read cpu data",
      "scrapers": ["cpu", "memory", "network"]
    }
  }
  ```

- `extension/healthcheckv2`: Add component event attributes to
serialized output.
([#&#8203;43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606))
When `http.status.include_attributes` is enabled in the healthcheckv2
extension (with `use_v2: true`),
users will see additional attributes in the status output. These
attributes provide more
context about component states, including details like error messages
and affected components.
  For example:
  ```json
  {
    "healthy": false,
    "status": "error",
    "attributes": {
      "error_msg": "not enough permissions to read cpu data",
      "scrapers": ["cpu", "memory", "network"]
    }
  }
  ```

- `extension/sigv4auth`: Add support for External IDs when assuming
roles in cross-account authentication scenarios
([#&#8203;44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930))
Added external\_id field to the AssumeRole configuration, allowing users
to specify
an External ID when assuming roles for enhanced cross-account security.

- `internal/datadog`: Do not compute host metadata in AIX environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `pkg/stanza`: Ensure router operator does not split batches of entries
([#&#8203;42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393))

- `pkg/stanza`: Parse all Windows Event XML fields into the log body,
including RenderingInfo (with Culture, Channel, Provider, Task, Opcode,
Keywords, Message), UserData, ProcessingErrorData, DebugData, and
BinaryEventData.
([#&#8203;46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943))
Previously, RenderingInfo was only used to derive the top-level
level/task/opcode/keywords/message
fields. It is now also emitted as a top-level `rendering_info` key
containing all fields including
`culture`, `channel`, and `provider`. UserData (an alternative to
EventData used by some providers)
is now parsed into a `user_data` key. Rare schema elements
ProcessingErrorData, DebugData, and
  BinaryEventData are also captured when present.

- `processor/resourcedetection`: Added IBM Cloud VPC resource detector
to the Resource Detection Processor
([#&#8203;46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874))

- `processor/resourcedetection`: Added IBM Cloud Classic resource
detector to the Resource Detection Processor
([#&#8203;46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874))

- `processor/tail_sampling`: Add `sampling_strategy` config with
`trace-complete` and `span-ingest` modes for tail sampling decision
timing and evaluation behavior.
([#&#8203;46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600))

- `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata
for S3 logs
([#&#8203;47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046))

- `receiver/azure_event_hub`: Add support for Azure Event Hubs
distributed processing. This allows the receiver to automatically
coordinate partition ownership and checkpointing across multiple
collector instances via Azure Blob Storage.
([#&#8203;46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595))

- `receiver/docker_stats`: Add TLS configuration support for connecting
to the Docker daemon over HTTPS with client and server certificates.
([#&#8203;33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557))
A new optional `tls` configuration block is available in `docker_stats`
receiver config (and the
shared `internal/docker` package). When omitted the connection remains
insecure (plain HTTP or
Unix socket), preserving existing behavior. When provided it supports
the standard
`configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`,
`insecure_skip_verify`,
  `min_version`, and `max_version`.
A warning is now emitted when a plain `tcp://` or `http://` endpoint is
used without TLS,
reflecting Docker's deprecation of unauthenticated TCP connections since
Docker v26.0
(see
<https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>).

- `receiver/docker_stats`: Add "stream\_stats" config option to maintain
a persistent Docker stats stream per container instead of opening a new
connection on every scrape cycle.
([#&#8203;46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493))
When `stream_stats: true` is set, each container maintains a persistent
open Docker stats
stream instead of opening and closing a new connection on every scrape
cycle. The scraper
  reads from the cached latest value, which reduces connection overhead.

- `receiver/expvar`: Enable the re-aggregation feature for the expvar
receiver
([#&#8203;45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396))

- `receiver/file_log`: Add `max_log_size_behavior` config option to
control oversized log entry behavior
([#&#8203;44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371))
The new `max_log_size_behavior` setting controls what happens when a log
entry exceeds `max_log_size`.
- `split` (default): Splits oversized log entries into multiple log
entries. This is the existing behavior.
- `truncate`: Truncates oversized log entries and drops the remainder,
emitting only a single truncated log entry.

- `receiver/hostmetrics`: Enable re-aggregation for system scraper
([#&#8203;46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624))
  Enabled the reaggregation feature gate for the system scraper.

- `receiver/hostmetrics`: Enable re-aggregation for process scraper
([#&#8203;46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623))
Enabled the reaggregation feature gate for the process scraper and set
all metric attributes (context\_switch\_type, direction,
paging\_fault\_type, state) with requirement\_level recommended.

- `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver
metrics
([#&#8203;46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366))

- `receiver/mongodb`: Add `scheme` configuration option to support
`mongodb+srv` connections
([#&#8203;36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011))
  The new `scheme` field allows connecting to MongoDB clusters using
  SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for
  backward compatibility.

- `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query
log records, enabling users to correlate top queries with their
corresponding execution plans.
([#&#8203;46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626))

- `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id`
attributes to query samples. `mysql.session.status` indicates the
session status (`waiting`, `running`, or `other`) at the time of the
sample. `mysql.session.id` provides the unique session identifier. Both
attributes provide additional context for understanding query
performance and behavior.
([#&#8203;135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350))

- `receiver/mysql`: Add and tune obfuscation of sensitive properties in
both V1 and V2 JSON query plans.
([#&#8203;46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629),
[#&#8203;46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587))
Configure and test obfuscation for V1 and V2 plans, including tests of
queries retrieved from the performance schema that are truncated and
cannot be obfuscated.
The importance of obfuscation can be very context dependent; sensitive
PII, banking, and authorization data may reside in the same database as
less sensitive data, and it can be vital to ensure that what is expected
to be obfuscated is always obfuscated. Significant additional testing
has been added around query plan obfuscation to ensure that this is
enforced and to provide assurance and reference to users about what
specifically is obfuscated and what is not.

- `receiver/mysql`: Propagates W3C TraceContext from MySQL session
variables to query sample log records. When a MySQL session sets
`@traceparent`, the receiver extracts the TraceID and SpanID and stamps
them onto the corresponding `db.server.query_sample` log record,
enabling correlation between application traces and query samples.
([#&#8203;46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631))
Only samples from sessions where `@traceparent` is set will have
non-zero `traceId` and `spanId` fields on the log record.

- `receiver/prometheus`: Add support for reading instrumentation scope
attributes from `otel_scope_<attribute-name>` labels while
feature-gating deprecation of `otel_scope_info`.
([#&#8203;41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502))
Scope attributes are always extracted from `otel_scope_<attribute-name>`
labels on metrics.
The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate
(alpha, disabled by default)
controls only whether the legacy `otel_scope_info` metric is ignored for
scope attribute extraction.
When the gate is disabled, both mechanisms coexist to support migration.
See the specification change for motivation:
[open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505)

- `receiver/pulsar`: This component does not support aix/ppc64.
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
  Make the receiver explicitly panic if used in aix/ppc64 environments.

- `receiver/skywalking`: Add feature gate
`translator.skywalking.useStableSemconv` to update semantic conventions
from v1.18.0 to v1.38.0
([#&#8203;44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796))
A feature gate `translator.skywalking.useStableSemconv` has been added
to control the migration.
The gate is disabled by default (Alpha stage), so existing behavior is
preserved.

- `receiver/sqlquery`: Add clickhouse support to sqlquery
([#&#8203;47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116))

- `receiver/sqlquery`: Add `row_condition` to metric configuration for
filtering result rows by column value
([#&#8203;45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862))
Enables extracting individual metrics from pivot-style result sets where
each row
represents a different metric (e.g. pgbouncer's `SHOW LISTS` command).
When
`row_condition` is configured on a metric, only rows where the specified
column
equals the specified value are used; all other rows are silently
skipped.

- `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL
Server receiver.
([#&#8203;46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379))

- `receiver/yang_grpc`: Support collecting any metric by browsing the
whole metrics tree
([#&#8203;47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054))

##### 🧰 Bug fixes 🧰

- `exporter/kafka`: Fixes the validation for `topic_from_metadata_key`
to use partition keys.
([#&#8203;46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994))

- `exporter/kafka`: Fix topic routing for multi-resource batches when
`topic_from_attribute` is set without resource-level partitioning
([#&#8203;46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872))
  Previously, when a batch contained multiple resources with different
  topic attribute values, all data was silently sent to the topic of the
first resource. Each resource is now correctly routed to its own topic.

- `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter
to preserve microseconds instead of truncating to milliseconds.
([#&#8203;47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175))
Timestamps were rounded to milliseconds before sending to Splunk HEC.
The rounding has been removed, giving microsecond precision in the HEC
`time` field.

- `extension/bearertokenauth`: Redact bearer token from authentication
error messages to prevent credential exposure in logs.
([#&#8203;46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200))
Previously, when a client presented an invalid bearer token, the full
token value was
included in the error message returned by the Authenticate method. This
error could be
propagated to log output, exposing sensitive credentials. The error
message now omits
  the token value entirely.

- `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when
using env-based proxy configuration in awsutil
([#&#8203;46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892))
When no explicit proxy\_address was configured, the HTTP client manually
read HTTPS\_PROXY
and used http.ProxyURL which ignores NO\_PROXY. Now delegates to
http.ProxyFromEnvironment
  which correctly handles all proxy environment variables.

- `processor/deltatorate`: Append "/s" to the unit of output datapoints
to reflect the per-second rate.
([#&#8203;46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841))

- `processor/filter`: Fix validation of include and exclude severity
configurations so they run independently of LogConditions.
([#&#8203;46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883))

- `receiver/datadog`: Propagate Datadog trace sampling priority to all
spans translated from a trace chunk.
([#&#8203;45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402))

- `receiver/file_log`: Fix data corruption after file compression
([#&#8203;46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105))
After a log file is compressed (e.g. test.log → test.log.gz), the
receiver configured with `compression: auto` will now correctly
decompress the content and continue reading from where the plaintext
file left off.

- `receiver/file_log`: Fixes bug where File Log receiver did not read
the last line of gzip compressed files.
([#&#8203;45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572))

- `receiver/hostmetrics`: Align HugePages metric instrument types with
the semantic conventions by emitting page\_size, reserved, and surplus
as non-monotonic sums instead of gauges.
([#&#8203;42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650))

- `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper
to prevent panic on zombie processes.
([#&#8203;47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095))

- `receiver/journald`: Fix emitting of historical entries on startup
([#&#8203;46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556))
When start\_at is "end" (the default), pass --lines=0 to journalctl to
suppress
  the 10 historical entries it emits by default in follow mode.

- `receiver/k8s_events`: Exclude DELETED watch events to prevent
duplicate event ingestion.
([#&#8203;47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035))

- `receiver/mysql`: Remove deprecated `information_schema.processlist`
JOIN from query samples template; use `thread.processlist_host` instead.
([#&#8203;47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041))

- `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when
a SQL query text fails to obfuscate (e.g. due to Oracle truncating a
CLOB mid-string-literal). The affected entry is now skipped with a
warning log and the rest of the scrape continues normally.
([#&#8203;47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151))

- `receiver/otelarrow`: Remove assumed positions of otel arrow root
payload types
([#&#8203;46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878))

- `receiver/otelarrow`: Fix OTLP fallback handlers returning
codes.Unknown instead of codes.Unavailable for pipeline errors, causing
upstream exporters to permanently drop data instead of retrying.
([#&#8203;46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182))

- `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending
resource profiles instead of merging them.
([#&#8203;46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991))

- `receiver/prometheus_remote_write`: Count target\_info samples in PRW
response stats
([#&#8203;47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108))

<!-- previous-version -->

###
[`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0)

##### 🛑 Breaking changes 🛑

- `all`: Removes the k8slog receiver after being unmaintained for 3
months
([#&#8203;46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544))

- `all`: Remove deprecated SAPM exporter
([#&#8203;46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555))

- `all`: Remove the datadogsemantics processor.
([#&#8203;46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893))
If you need help, please contact Datadog support:
<https://www.datadoghq.com/support>.

- `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed:
now checks bucket existence instead of attempting creation
([#&#8203;45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971))
Previously, `reuse_if_exists=true` would attempt bucket creation and
fall back to reusing on conflict.
Now, `reuse_if_exists=true` checks if bucket exists (via
storage.buckets.get) and uses it, failing if it doesn't exist.
Set to true when the service account lacks project-level bucket creation
permissions but has bucket-level permissions.
`reuse_if_exists=false` still attempts to create the bucket and fails if
it already exists.

- `exporter/kafka`: Remove deprecated top-level `topic` and `encoding`
configuration fields
([#&#8203;46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916))
The top-level `topic` and `encoding` fields were deprecated in v0.124.0.
  Use the per-signal fields instead: `logs::topic`, `metrics::topic`,
  `traces::topic`, `profiles::topic`, and the corresponding `encoding`
  fields under each signal section.

- `exporter/kafka`: Remove kafka-local batching partitioner wiring and
require explicit `sending_queue::batch::partition::metadata_keys`
configuration as a superset of `include_metadata_keys` when batching is
enabled.
([#&#8203;46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757))

- `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation
([#&#8203;36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713))
The default `truncate_all` behavior has changed. Truncation now respects
UTF-8 character boundaries by default (new optional parameter
`utf8_safe`, default: `true`), so results stay valid UTF-8 and may be
slightly shorter than the limit.
To keep the previous byte-level truncation behavior (e.g. for non-UTF-8
data or to avoid any behavior change), set `utf8_safe` to `false` in all
`truncate_all` usages.

- `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and
fix unit strings from Megabytes to MiB
([#&#8203;46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414))
Adds two new task-level gauge metrics:
`ecs.task.ephemeral_storage.utilized` and
`ecs.task.ephemeral_storage.reserved` (in MiB).
These metrics are available on AWS Fargate Linux platform version 1.4.0+
and represent the shared ephemeral storage for the entire task.

**Breaking change:** The unit string for `ecs.task.memory.utilized`,
`ecs.task.memory.reserved`,
`container.memory.utilized`, and `container.memory.reserved` has been
corrected from `"Megabytes"` to `"MiB"`.
The underlying values were already in MiB (computed via division by
1024\*1024), but the unit label was incorrect.
Users relying on the exact unit string (e.g. in metric filters or
dashboards) will need to update accordingly.

- `receiver/mysql`: Set the default collection of query\_sample to false
([#&#8203;46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902))

- `receiver/postgresql`: Disable default collection of top\_query and
query\_sample events.
([#&#8203;46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843))
This change is breaking because it disables the default collection of
top\_query and query\_sample events. These events will need to be
enabled manually if desired.

- `receiver/redfish`: `system.host_name` and `base_url` resource
attribute has been changed to `host.name` and `url.full` respectively.

([#&#8203;46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236))

- `receiver/windowseventlog`: Change event\_data from an array of
single-key maps to a flat map by default, making fields directly
accessible via OTTL. The previous format is available by setting
`event_data_format: array`.
([#&#8203;42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565),
[#&#8203;32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952))
Named <Data> elements become direct keys (e.g.,
body\["event\_data"]\["ProcessId"]).
  Anonymous <Data> elements use numbered keys: param1, param2, etc.
To preserve the previous array format, set event\_data\_format: array in
the receiver configuration.

##### 🚩 Deprecations 🚩

- `exporter/azure_blob`: Introduce new snake case compliant name
`azure_blob`
([#&#8203;46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722))
- `exporter/google_cloud_storage`: Introduce new snake case compliant
name `google_cloud_storage`
([#&#8203;46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733))
- `extension/aws_logs_encoding`: Introduce new snake case compliant name
`aws_logs_encoding`
([#&#8203;46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776))
- `extension/azure_auth`: Introduce new snake case compliant name
`azure_auth`
([#&#8203;46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775))
- `extension/cgroup_runtime`: Introduce new snake case compliant name
`cgroup_runtime`
([#&#8203;46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773))
- `extension/google_cloud_logentry_encoding`: Introduce new snake case
compliant name `google_cloud_logentry_encoding`
([#&#8203;46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778))
- `processor/metric_start_time`: Introduce new snake case compliant name
`metric_start_time`
([#&#8203;46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777))
- `receiver/azure_blob`: Introduce new snake case compliant name
`azure_blob`
([#&#8203;46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721))
- `receiver/azure_monitor`: Introduce new snake case compliant name
`azure_monitor`
([#&#8203;46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730))
- `receiver/cisco_os`: Introduce new snake case compliant name
`cisco_os`
([#&#8203;46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948))
- `receiver/macos_unified_logging`: Introduce new snake case compliant
name `macos_unified_logging`
([#&#8203;46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729))
- `receiver/prometheus_remote_write`: Introduce new snake case compliant
name `prometheus_remote_write`
([#&#8203;46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726))
- `receiver/yang_grpc`: Introduce new snake case compliant name
`yang_grpc`
([#&#8203;46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723))

##### 🚀 New components 🚀

- `receiver/azure_functions`: Introduce new component to receive logs
from Azure Functions
([#&#8203;43507](https://github.com/open-telemetry/opentelemetry-collector-con

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "on tuesday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
gracewehner pushed a commit to gracewehner/opentelemetry-collector-contrib that referenced this pull request Apr 29, 2026
…ib/extension/internal/credentialsfile to v0.150.0 (open-telemetry#47636)

> ℹ️ **Note**
> 
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile](https://github.com/open-telemetry/opentelemetry-collector-contrib)
| `v0.146.2-0.20260219223409-66996adfaaf7` → `v0.150.0` |
![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fextension%2finternal%2fcredentialsfile/v0.150.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fopen-telemetry%2fopentelemetry-collector-contrib%2fextension%2finternal%2fcredentialsfile/v0.146.2-0.20260219223409-66996adfaaf7/v0.150.0?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/20907) for more information.

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-contrib
(github.com/open-telemetry/opentelemetry-collector-contrib/extension/internal/credentialsfile)</summary>

###
[`v0.150.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01500)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.149.0...v0.150.0)

##### 🛑 Breaking changes 🛑

- `pkg/ottl`: Return errors when OTTL context accessors receive values
of the wrong type (part 2)
([#&#8203;40198](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40198))
Setters in OTTL contexts now validate that values are of the expected
type and return
descriptive errors when type mismatches occur. This is the continuation
of work done in

[#&#8203;43505](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43505),
addressing remaining contexts: datapoint, profile, profilesample,
resource, span,
  and spanevent.

  Changes include:

- Slice setters (explicit\_bounds, bucket\_counts,
positive.bucket\_counts, negative.bucket\_counts)
now use SetCommonTypedSliceValues/SetCommonIntSliceValues for better
type handling.
- SetMap now returns an error for invalid value types instead of
silently ignoring them.

**Note:** Users may see new errors from OTTL statements that were
previously silently failing
due to type mismatches. These errors indicate pre-existing issues in
OTTL configurations that
  were not being applied as expected.

- `processor/resourcedetection`: Remove feature gate
processor.resourcedetection.propagateerrors
([#&#8203;45853](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45853))

- `processor/transform`: Remove the
`processor.transform.ConvertBetweenSumAndGaugeMetricContext` feature
gate.
([#&#8203;47358](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47358))
This feature gate has been stable for over a year and is no longer used
in any code paths.

- `receiver/k8s_cluster`: Kubernetes resource labels in entity events
are now prefixed per OTel semantic conventions.
([#&#8203;47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491))
Labels on Kubernetes resources emitted as entity event attributes are
now prefixed with
`k8s.<resource>.label.` to align with OTel semantic conventions (e.g.
`k8s.pod.label.<key>`,
  `k8s.node.label.<key>`, `k8s.deployment.label.<key>`, etc.).
  Previously, label keys were emitted verbatim without any prefix.
Users consuming entity event attributes by label key will need to update
their configurations.

- `receiver/kubeletstats`: Disable deprecated resource attributes by
default
([#&#8203;47184](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47184))
The following resource attributes are deprecated and will now be
disabled by default:
`aws.volume.id`, `fs.type`, `gce.pd.name`, `glusterfs.endpoints.name`,
`glusterfs.path`, and `partition`.
  All of these attributes will be removed in a future release.

##### 🚩 Deprecations 🚩

- `receiver/http_check`: Rename `httpcheck` receiver to `http_check`
with deprecated alias `httpcheck`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/named_pipe`: Rename `namedpipe` receiver to `named_pipe`
with deprecated alias `namedpipe`.
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/tcp_log`: Rename `tcplog` receiver to `tcp_log` with
deprecated alias `tcplog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/tls_check`: Rename `tlscheck` receiver to `tls_check` with
deprecated alias `tlscheck`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/udp_log`: Rename `udplog` receiver to `udp_log` with
deprecated alias `udplog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))
- `receiver/windows_event_log`: Rename `windowseventlog` receiver to
`windows_event_log` with deprecated alias `windowseventlog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))

##### 🚀 New components 🚀

- `exporter/google_secops`: Add Google SecOps exporter for sending logs
to the Google SecOps (Chronicle) Ingestion APIs.
([#&#8203;46148](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46148))
- `processor/spanpruning`: Add span pruning processor for aggregating
repetitive leaf spans in trace data.
([#&#8203;45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654))
- `receiver/osquery`: Implement osquery query scraping
([#&#8203;30375](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/30375))

##### 💡 Enhancements 💡

- `exporter/datadog`: Promote
`exporter.datadogexporter.DisableAllMetricRemapping` feature gate to
beta.
([#&#8203;47212](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47212))
- All metrics remappings are now handled by the Datadog backend and this
should be a transparent change. If you run into any issues, please
disable the feature gate by passing
`--feature-gates=-exporter.datadogexporter.DisableAllMetricRemapping`
and reach out to Datadog support (<https://www.datadoghq.com/support/>).

- `exporter/elasticsearch`: Add suppress\_conflict\_errors config to
optionally silence document level 409 version conflict logs
([#&#8203;47248](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47248))

- `exporter/kafka`: Add `record_headers` configuration option to set
static headers on outgoing records
([#&#8203;47193](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47193))

- `exporter/kafka`: Add support for partitioning kafka records
([#&#8203;46931](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46931))
Add support for RoundRobin and LeastBackup partitioning strategies, as
well as custom partitioners
provided by RecordPartitionerExtension implementations. Users can
implement their own partitioning logic
and plug it into the kafka exporter via the RecordPartitionerExtension
interface.

- `exporter/prometheus`: Exemplar support for exponential histograms in
Prometheus exporter
([#&#8203;47159](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47159))

- `exporter/prometheus`: prevent panic on histogram with empty
BucketCounts.
([#&#8203;47351](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47351))
Guard BucketCounts access with a length check in convertDoubleHistogram
to avoid index-out-of-range panic when a histogram has explicit bounds
but no corresponding bucket counts.

- `exporter/signalfx`: Add `dimension_client::strip_k8s_label_prefix`
option to strip `k8s.<resource>.label.` prefix from dimension property
updates.
([#&#8203;47491](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47491))
The k8s cluster receiver now emits Kubernetes resource labels in entity
events with the
`k8s.<resource>.label.` prefix per OTel semantic conventions (e.g.
`k8s.pod.label.app`).
When `strip_k8s_label_prefix: true` (the default), the SignalFx exporter
strips this prefix
when forwarding labels as dimension properties, preserving the existing
SignalFx behavior (e.g. `app`).
Set `strip_k8s_label_prefix: false` to disable stripping and receive the
full prefixed keys.

- `exporter/sumologic`: Modify default retry settings to prevent
dropping data on transient backend unavailability
([#&#8203;47503](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47503))

- `extension/datadog`: Add `gateway_service` and `gateway_destination`
config fields to support gateway topology view in Fleet Automation.
([#&#8203;47471](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47471))
Gateway collectors set `gateway_service` to the k8s Service fronting
them.
Agent/daemonset collectors set `gateway_destination` to the k8s Service
they forward telemetry to.
Both fields are optional and omitted from the metadata payload when
empty.

- `extension/health_check`: Migrate
extension.healthcheck.useComponentStatus feature gate registration from
manual code to metadata.yaml for mdatagen code generation
([#&#8203;46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116))

- `extension/sumologic`: Adding support to sumologic extension for auto
discovery of services in windows
([#&#8203;47349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47349))

- `pkg/ottl`: Add Coalesce converter that returns the first non-nil
value from a list of arguments.
([#&#8203;46847](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46847))
The Coalesce converter accepts a list of values and returns the first
one that is not nil.
This simplifies common patterns where a canonical attribute must be
resolved from multiple possible sources.
Example: `set(attributes["user"], Coalesce([attributes["user.id"],
attributes["enduser.id"], "unknown"]))`

- `pkg/stanza`: Optimizing the performance of Windows Event log
unmarshalling when raw = true
([#&#8203;47164](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47164))

- `pkg/stanza`: Add new scrape model for Windows event logs using an
event-driven subscription instead of polling
([#&#8203;47091](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47091))

- `pkg/stanza`: Add `on_truncate` option to fileconsumer to control
behavior when a file's stored offset exceeds its current size.
([#&#8203;43693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43693))

- `processor/filter`: Add feature gate
`processor.filter.defaultErrorModeIgnore` to change default error\_mode
to ignore
([#&#8203;47232](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232))

- `processor/interval`: Flush remaining buffered metrics on shutdown to
prevent data loss during restarts and rollouts.
([#&#8203;47238](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47238))
Previously, the interval processor would silently drop any metrics
accumulated
in its buffer when receiving a shutdown signal. Now it flushes the
buffer to
the next consumer before exiting, consistent with the batch processor
behavior.

- `processor/lookup`: Add DNS lookup source and LRU caching
([#&#8203;46114](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46114))
Adds a DNS source that performs reverse DNS lookups (PTR records) to
resolve IP addresses to hostnames.
Implements a full LRU cache with size-based eviction, TTL expiration,
and negative caching.
  The DNS source has caching enabled by default.

- `processor/spanpruning`: Add full implementation of the span pruning
processor.
([#&#8203;45654](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45654))

- `processor/tail_sampling`: Add gated tail storage extension support to
tailsampling processor via new tail\_storage config
([#&#8203;45250](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45250))
Introduces a new tail storage interface with in-memory default behavior
and allows extension-backed storage when
the processor.tailsamplingprocessor.tailstorageextension feature gate is
enabled.

- `processor/transform`: Add feature gate
`processor.transform.defaultErrorModeIgnore` to change default
error\_mode to ignore
([#&#8203;47231](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47231))

- `processor/transform`: Add support for semantic conventions 1.38.0,
1.39.0, and 1.40.0 in the `set_semconv_span_name` function.
([#&#8203;45911](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45911))
The `set_semconv_span_name` function now recognizes semantic conventions
1.38.0, 1.39.0, and 1.40.0, allowing span names to be determined using
the latest rules. Support for the `rpc.system.name` attribute
(introduced in 1.39.0) has been added so span names can reflect the new
RPC system conventions. Backward compatibility is preserved: the
`rpc.system` attribute remains supported.

- `receiver/active_directory_ds`: Enables dynamic metric reaggregation
in the Active Directory Domain Services receiver. This does not break
existing configuration files.
([#&#8203;46346](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46346))

- `receiver/apachespark`: Enable the re-aggregation feature for the
apachespark receiver
([#&#8203;46349](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46349))

- `receiver/awss3`: add `tag_object_after_ingestion` flag to the s3
receiver so objects that have been processed can be identified
([#&#8203;46078](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46078))
They will be tagged with `otel-collector:status=ingested`. Operators can
use that tag to define bucket lifecycle policies.

- `receiver/awss3`: add zstd decompression to the s3 receiver
([#&#8203;46854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46854))

- `receiver/cloudfoundry`: Migrate cloudfoundry.resourceAttributes.allow
feature gate registration from manual code to metadata.yaml for mdatagen
code generation
([#&#8203;46116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46116))

- `receiver/elasticsearch`: Enable dynamic attribute metric with
attribute re-aggregation in configuration at runtime
([#&#8203;46353](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46353))

- `receiver/filestats`: Enable re-aggregation and set requirement levels
for attributes.
([#&#8203;46355](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46355))

- `receiver/googlecloudpubsub`: Add flow control configuration
([#&#8203;44804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44804))
Add flow control configuration, giving advanced users more control over
the parameters of the streaming
  pull control loop.

- `receiver/k8s_cluster`: Emit entity references as part of metrics
resources.
([#&#8203;41080](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41080))

- `receiver/k8sobjects`: Add `kube_api_qps` and `kube_api_burst` config
options to control Kubernetes API request rate limits and prevent
client-side throttling when watching or polling many resources
([#&#8203;44484](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44484))
The same fields are also available in `receiver/k8sevents` via the
shared `internal/k8sconfig` package.
Default values match the client-go defaults: `kube_api_qps=5`,
`kube_api_burst=10`.

- `receiver/receiver_creator`: add support for profiling signal for
receiver creator
([#&#8203;46930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46930))

- `receiver/splunkenterprise`: Add custom search support to the Splunk
Enterprise receiver
([#&#8203;47124](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47124))

- `receiver/windows_event_log`: Add `discover_domain_controllers` config
flag to automatically discover and collect Security events from Active
Directory domain controllers based on feature gate
domainControllers.autodiscovery.
([#&#8203;44156](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44156),
[#&#8203;44423](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44423))
When `discover_domain_controllers` in config and
`domainControllers.autodiscovery` feature gate is set `true` , the
receiver queries LDAP Root DSE to
discover the root domain path, enumerates all domain controllers in the
Active Directory
  forest, and creates receiver for each domain controller.
Falls back to the currently joined DC if the root DN cannot be
determined.

##### 🧰 Bug fixes 🧰

- `exporter/awsemf`: Fix data races in getPusher and logPusher that
cause nil pointer panics and out-of-order log events
([#&#8203;47126](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47126))

- `exporter/awss3`: Use AWS SDK S3 types for StorageClass and ACL
validation instead of hardcoded lists
([#&#8203;46825](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46825))
The hardcoded list of valid S3 storage classes was missing GLACIER\_IR,
REDUCED\_REDUNDANCY, and EXPRESS\_ONEZONE.
Replaced both StorageClass and ACL hardcoded validation maps with values
from the AWS SDK s3types package
  to prevent this from going out of date again in the future.

- `exporter/datadog`: Fix use-after-free bug causing corrupted quantile
sketches when exporting ExponentialHistogram metrics with multiple
attribute sets
([#&#8203;47338](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47338))
When multiple ExponentialHistogram data points were converted to Datadog
sketches in a single
export call, the underlying sync.Pool backing array was shared across
conversions. A second
conversion would reuse and overwrite the first sketch's bin memory,
producing non-monotonic
  bin keys and inflated percentile values. This is fixed by upgrading
github.com/DataDog/datadog-agent/pkg/util/quantile to commit
[`bfa4eff`](https://github.com/open-telemetry/opentelemetry-collector-contrib/commit/bfa4eff6c991),
which deep-copies
  the bin slice before returning the sketch.

- `exporter/elasticsearch`: Fix malformed JSON creation for numbers in
exponential notation.
([#&#8203;47363](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47363))
When rendering numbers in exponential notation the exporter JSON
implementation always added a radix point (e.g. 1.0 not 1).
The implementation had a buffer corruption bug where it was overriding
part of the buffer leading to malformed and invalid JSON numbers being
created.

- `exporter/prometheus`: Fix Prometheus exporter default HTTP server
behavior where keep-alives and server timeouts were not using the
intended defaults.
([#&#8203;47173](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47173))
This fixes default behavior where keep\_alives\_enabled was effectively
false unless explicitly configured.

- `exporter/prometheus`: Fix unbounded memory growth when metrics are no
longer being scraped.
([#&#8203;41123](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41123))
Expired metric families now get cleaned up even when no Prometheus
scraper is actively collecting,
  preventing memory from growing indefinitely.

- `extension/aws_logs_encoding`: Add `source_region` field (27th field)
to S3 server access log parser and skip unknown future fields
gracefully.
([#&#8203;47149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47149))
AWS added a `source_region` field to the S3 server access log format.
The parser
previously returned an error ("values in log line exceed the number of
available fields")
  when it encountered log lines with more fields than defined. This fix:
- Adds `source_region` as field index 26 mapped to
`aws.s3.source_region`.
- Makes the parser skip any fields beyond the known schema instead of
failing,
providing forward compatibility with future AWS S3 access log additions.

- `pkg/stanza`: Fix severity parser to work with JSON parser with
`parse_ints: true`
([#&#8203;47209](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47209))

- `receiver/awss3`: Fix infinite loop and metric skew caused by SQS
failing to parse and delete "s3:TestEvent" messages
([#&#8203;47045](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47045))

- `receiver/vcenter`: Fixes a nil pointer dereference panic in
recordVMStats when scraping metrics from VMs with missing performance
counters
([#&#8203;46977](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46977))

<!-- previous-version -->

###
[`v0.149.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01490)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.148.0...v0.149.0)

##### 🛑 Breaking changes 🛑

- `exporter/elasticsearch`: Remove `host.os.type` encoding in ECS mode
([#&#8203;46900](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46900))
Use
[processor/elasticapmprocessor](https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticapmprocessor)
v0.36.2 or later for `host.os.type` enrichment
- `receiver/prometheus`: Remove the deprecated
`report_extra_scrape_metrics` receiver configuration option and obsolete
extra scrape metric feature gates.
([#&#8203;44181](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44181))
`report_extra_scrape_metrics` is no longer accepted in
`prometheusreceiver` configuration.
Control extra scrape metrics through the
PromConfig.ScrapeConfigs.ExtraScrapeMetrics setting instead.

##### 🚩 Deprecations 🚩

- `receiver/awsfirehose`: Deprecate built-in unmarshalers (cwlogs,
cwmetrics, otlp\_v1) in favor of encoding extensions.
([#&#8203;45830](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45830))
Use the aws\_logs\_encoding extension (format: cloudwatch) instead of
cwlogs,
and the awscloudwatchmetricstreams\_encoding extension instead of
cwmetrics (format: json)
  or otlp\_v1 (format: opentelemetry1.0).

- `receiver/file_log`: Rename `filelog` receiver to `file_log` with
deprecated alias `filelog`
([#&#8203;45339](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45339))

- `receiver/kafka`: Deprecate the built-in `azure_resource_logs`
encoding in favour of `azureencodingextension`.
([#&#8203;46267](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46267))
The built-in `azure_resource_logs` encoding does not support all
timestamp formats
emitted by Azure services (e.g. US-format timestamps from Azure
Functions).
Users should migrate to the
[`azureencodingextension`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding/azureencodingextension),
which provides full control over time formats and is actively
maintained.

##### 💡 Enhancements 💡

- `cmd/opampsupervisor`: Add configuration validation before applying
remote config to prevent collector downtime
([#&#8203;41068](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41068))
Validates collector configurations before applying them, preventing
downtime from invalid remote configs.
Disabled by default. Enable via `agent.validate_config: true`. May
produce false positives when resources
  like ports are temporarily unavailable during validation.

- `connector/datadog`: Document datadog connector is not supported in
aix environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `connector/signal_to_metrics`: Add `keys_expression` support in
`include_resource_attributes` and `attributes` for dynamic attribute key
resolution at runtime
([#&#8203;46884](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46884))
The `keys_expression` field allows specifying an OTTL value expression
that resolves to a list
of attribute keys at runtime. This enables dynamic resource attribute
filtering based on runtime
data such as client metadata. Exactly one of `key` or `keys_expression`
must be set per entry.

- `connector/signal_to_metrics`: Reduce per-signal allocations in the
hot path by replacing attribute map allocation with a pooled hash-based
ID check, and caching filtered resource attributes per metric definition
within each resource batch.
([#&#8203;47197](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47197))

- `connector/signal_to_metrics`: Pre-compute prefixed collector key to
avoid a string allocation on every signal processed.
([#&#8203;47183](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47183))
Pre-computing the collector key avoids a string allocation on every
signal processed.

- `exporter/datadog`: Document datadog exporter is not supported in aix
environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `exporter/elasticsearch`: Add `histogram:raw` mapping hint to bypass
midpoint approximation for histogram metrics
([#&#8203;47150](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47150))

- `exporter/elasticsearch`: Cache metric attribute set per bulk session
instead of recomputing it for every document
([#&#8203;47170](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47170))
`syncBulkIndexerSession.Add()` was calling
`getAttributesFromMetadataKeys` +
`attribute.NewSet` + `metric.WithAttributeSet` on every document in the
hot path. The attribute set is
derived from the request context metadata, which is constant for the
lifetime of a session, so it is
now computed once in `StartSession` and reused across all `Add()` calls
in that session.

- `exporter/elasticsearch`: populate \_doc\_count field in ECS mapping
mode
([#&#8203;46936](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46936))
\_doc\_count is a special metadata field in Elasticsearch used when a
document represents pre-aggregated data (like histograms or aggregate
metrics).
Currently, elasticsearchexporter only populates this field for otel
mapping mode (native otel field structure). This change
adds support for ECS mapping mode (native ECS field structure) so that
we have consistent behavior for both mapping modes.

- `exporter/elasticsearch`: Encode `require_data_stream` in
Elasticsearch bulk action metadata instead of the bulk request query
string.
([#&#8203;46970](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46970))
This preserves existing endpoint query parameters while moving
`require_data_stream`
to the per-document action line expected by newer bulk workflows.
Benchmarks show
  a stable \~27 bytes/item NDJSON payload overhead before compression.

- `exporter/elasticsearch`: Improve performance of Elasticsearch
exporter document serialisation
([#&#8203;47171](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47171))

- `exporter/elasticsearch`: Add metric for docs retried because of
request errors
([#&#8203;46215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46215))

- `exporter/kafka`: Cache OTel metric attribute sets in OnBrokerE2E hook
to reduce per-export allocations
([#&#8203;47186](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47186))
`OnBrokerE2E` previously rebuilt `attribute.NewSet` +
`metric.WithAttributeSet` on every
call. The set of distinct (nodeID, host, outcome) combinations is
bounded by
2 × number-of-brokers, so the computed `MeasurementOption` is now cached
per key.

- `exporter/pulsar`: This component does not support aix/ppc64.
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
  Make the exporter explicitly panic if used in aix/ppc64 environments.

- `extension/datadog`: Document datadog extension is not supported in
aix environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `extension/db_storage`: Make dbstorage work in AIX environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
sqlite support is offered via modernC, which doesn't support the AIX
ppc64 compilation target.
We carve out support for sqlite in AIX environments so contrib can
compile for this compilation target.

- `extension/health_check`: Add component event attributes to serialized
output.
([#&#8203;43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606))
When `http.status.include_attributes` is enabled in the healthcheckv2
extension (with `use_v2: true`),
users will see additional attributes in the status output. These
attributes provide more
context about component states, including details like error messages
and affected components.
  For example:
  ```json
  {
    "healthy": false,
    "status": "error",
    "attributes": {
      "error_msg": "not enough permissions to read cpu data",
      "scrapers": ["cpu", "memory", "network"]
    }
  }
  ```

- `extension/healthcheckv2`: Add component event attributes to
serialized output.
([#&#8203;43606](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43606))
When `http.status.include_attributes` is enabled in the healthcheckv2
extension (with `use_v2: true`),
users will see additional attributes in the status output. These
attributes provide more
context about component states, including details like error messages
and affected components.
  For example:
  ```json
  {
    "healthy": false,
    "status": "error",
    "attributes": {
      "error_msg": "not enough permissions to read cpu data",
      "scrapers": ["cpu", "memory", "network"]
    }
  }
  ```

- `extension/sigv4auth`: Add support for External IDs when assuming
roles in cross-account authentication scenarios
([#&#8203;44930](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44930))
Added external\_id field to the AssumeRole configuration, allowing users
to specify
an External ID when assuming roles for enhanced cross-account security.

- `internal/datadog`: Do not compute host metadata in AIX environments
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
Explicitly opt out of host metadata computation in datadog components to
support AIX compilation target.

- `pkg/stanza`: Ensure router operator does not split batches of entries
([#&#8203;42393](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42393))

- `pkg/stanza`: Parse all Windows Event XML fields into the log body,
including RenderingInfo (with Culture, Channel, Provider, Task, Opcode,
Keywords, Message), UserData, ProcessingErrorData, DebugData, and
BinaryEventData.
([#&#8203;46943](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46943))
Previously, RenderingInfo was only used to derive the top-level
level/task/opcode/keywords/message
fields. It is now also emitted as a top-level `rendering_info` key
containing all fields including
`culture`, `channel`, and `provider`. UserData (an alternative to
EventData used by some providers)
is now parsed into a `user_data` key. Rare schema elements
ProcessingErrorData, DebugData, and
  BinaryEventData are also captured when present.

- `processor/resourcedetection`: Added IBM Cloud VPC resource detector
to the Resource Detection Processor
([#&#8203;46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874))

- `processor/resourcedetection`: Added IBM Cloud Classic resource
detector to the Resource Detection Processor
([#&#8203;46874](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46874))

- `processor/tail_sampling`: Add `sampling_strategy` config with
`trace-complete` and `span-ingest` modes for tail sampling decision
timing and evaluation behavior.
([#&#8203;46600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46600))

- `receiver/awslambda`: Enrich context with AWS Lambda receiver metadata
for S3 logs
([#&#8203;47046](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47046))

- `receiver/azure_event_hub`: Add support for Azure Event Hubs
distributed processing. This allows the receiver to automatically
coordinate partition ownership and checkpointing across multiple
collector instances via Azure Blob Storage.
([#&#8203;46595](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46595))

- `receiver/docker_stats`: Add TLS configuration support for connecting
to the Docker daemon over HTTPS with client and server certificates.
([#&#8203;33557](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33557))
A new optional `tls` configuration block is available in `docker_stats`
receiver config (and the
shared `internal/docker` package). When omitted the connection remains
insecure (plain HTTP or
Unix socket), preserving existing behavior. When provided it supports
the standard
`configtls.ClientConfig` fields: `ca_file`, `cert_file`, `key_file`,
`insecure_skip_verify`,
  `min_version`, and `max_version`.
A warning is now emitted when a plain `tcp://` or `http://` endpoint is
used without TLS,
reflecting Docker's deprecation of unauthenticated TCP connections since
Docker v26.0
(see
<https://docs.docker.com/engine/deprecated/#unauthenticated-tcp-connections>).

- `receiver/docker_stats`: Add "stream\_stats" config option to maintain
a persistent Docker stats stream per container instead of opening a new
connection on every scrape cycle.
([#&#8203;46493](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46493))
When `stream_stats: true` is set, each container maintains a persistent
open Docker stats
stream instead of opening and closing a new connection on every scrape
cycle. The scraper
  reads from the cached latest value, which reduces connection overhead.

- `receiver/expvar`: Enable the re-aggregation feature for the expvar
receiver
([#&#8203;45396](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45396))

- `receiver/file_log`: Add `max_log_size_behavior` config option to
control oversized log entry behavior
([#&#8203;44371](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44371))
The new `max_log_size_behavior` setting controls what happens when a log
entry exceeds `max_log_size`.
- `split` (default): Splits oversized log entries into multiple log
entries. This is the existing behavior.
- `truncate`: Truncates oversized log entries and drops the remainder,
emitting only a single truncated log entry.

- `receiver/hostmetrics`: Enable re-aggregation for system scraper
([#&#8203;46624](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46624))
  Enabled the reaggregation feature gate for the system scraper.

- `receiver/hostmetrics`: Enable re-aggregation for process scraper
([#&#8203;46623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46623))
Enabled the reaggregation feature gate for the process scraper and set
all metric attributes (context\_switch\_type, direction,
paging\_fault\_type, state) with requirement\_level recommended.

- `receiver/mongodb`: Enable re-aggregation feature for mongodb receiver
metrics
([#&#8203;46366](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46366))

- `receiver/mongodb`: Add `scheme` configuration option to support
`mongodb+srv` connections
([#&#8203;36011](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36011))
  The new `scheme` field allows connecting to MongoDB clusters using
  SRV DNS records (mongodb+srv protocol). Defaults to "mongodb" for
  backward compatibility.

- `receiver/mysql`: Add `mysql.query_plan.hash` attribute to top query
log records, enabling users to correlate top queries with their
corresponding execution plans.
([#&#8203;46626](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46626))

- `receiver/mysql`: Added `mysql.session.status` and `mysql.session.id`
attributes to query samples. `mysql.session.status` indicates the
session status (`waiting`, `running`, or `other`) at the time of the
sample. `mysql.session.id` provides the unique session identifier. Both
attributes provide additional context for understanding query
performance and behavior.
([#&#8203;135350](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/135350))

- `receiver/mysql`: Add and tune obfuscation of sensitive properties in
both V1 and V2 JSON query plans.
([#&#8203;46629](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46629),
[#&#8203;46587](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46587))
Configure and test obfuscation for V1 and V2 plans, including tests of
queries retrieved from the performance schema that are truncated and
cannot be obfuscated.
The importance of obfuscation can be very context dependent; sensitive
PII, banking, and authorization data may reside in the same database as
less sensitive data, and it can be vital to ensure that what is expected
to be obfuscated is always obfuscated. Significant additional testing
has been added around query plan obfuscation to ensure that this is
enforced and to provide assurance and reference to users about what
specifically is obfuscated and what is not.

- `receiver/mysql`: Propagates W3C TraceContext from MySQL session
variables to query sample log records. When a MySQL session sets
`@traceparent`, the receiver extracts the TraceID and SpanID and stamps
them onto the corresponding `db.server.query_sample` log record,
enabling correlation between application traces and query samples.
([#&#8203;46631](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46631))
Only samples from sessions where `@traceparent` is set will have
non-zero `traceId` and `spanId` fields on the log record.

- `receiver/prometheus`: Add support for reading instrumentation scope
attributes from `otel_scope_<attribute-name>` labels while
feature-gating deprecation of `otel_scope_info`.
([#&#8203;41502](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502))
Scope attributes are always extracted from `otel_scope_<attribute-name>`
labels on metrics.
The `receiver.prometheusreceiver.IgnoreScopeInfoMetric` feature gate
(alpha, disabled by default)
controls only whether the legacy `otel_scope_info` metric is ignored for
scope attribute extraction.
When the gate is disabled, both mechanisms coexist to support migration.
See the specification change for motivation:
[open-telemetry/opentelemetry-specification#4505](https://github.com/open-telemetry/opentelemetry-specification/pull/4505)

- `receiver/pulsar`: This component does not support aix/ppc64.
([#&#8203;47010](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47010))
  Make the receiver explicitly panic if used in aix/ppc64 environments.

- `receiver/skywalking`: Add feature gate
`translator.skywalking.useStableSemconv` to update semantic conventions
from v1.18.0 to v1.38.0
([#&#8203;44796](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44796))
A feature gate `translator.skywalking.useStableSemconv` has been added
to control the migration.
The gate is disabled by default (Alpha stage), so existing behavior is
preserved.

- `receiver/sqlquery`: Add clickhouse support to sqlquery
([#&#8203;47116](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47116))

- `receiver/sqlquery`: Add `row_condition` to metric configuration for
filtering result rows by column value
([#&#8203;45862](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45862))
Enables extracting individual metrics from pivot-style result sets where
each row
represents a different metric (e.g. pgbouncer's `SHOW LISTS` command).
When
`row_condition` is configured on a metric, only rows where the specified
column
equals the specified value are used; all other rows are silently
skipped.

- `receiver/sqlserver`: Enable dynamic metric reaggregation in the SQL
Server receiver.
([#&#8203;46379](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46379))

- `receiver/yang_grpc`: Support collecting any metric by browsing the
whole metrics tree
([#&#8203;47054](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47054))

##### 🧰 Bug fixes 🧰

- `exporter/kafka`: Fixes the validation for `topic_from_metadata_key`
to use partition keys.
([#&#8203;46994](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46994))

- `exporter/kafka`: Fix topic routing for multi-resource batches when
`topic_from_attribute` is set without resource-level partitioning
([#&#8203;46872](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46872))
  Previously, when a batch contained multiple resources with different
  topic attribute values, all data was silently sent to the topic of the
first resource. Each resource is now correctly routed to its own topic.

- `exporter/splunk_hec`: Fix timestamp precision in Splunk HEC exporter
to preserve microseconds instead of truncating to milliseconds.
([#&#8203;47175](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175))
Timestamps were rounded to milliseconds before sending to Splunk HEC.
The rounding has been removed, giving microsecond precision in the HEC
`time` field.

- `extension/bearertokenauth`: Redact bearer token from authentication
error messages to prevent credential exposure in logs.
([#&#8203;46200](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46200))
Previously, when a client presented an invalid bearer token, the full
token value was
included in the error message returned by the Authenticate method. This
error could be
propagated to log output, exposing sensitive credentials. The error
message now omits
  the token value entirely.

- `internal/aws`: Respect NO\_PROXY/no\_proxy environment variables when
using env-based proxy configuration in awsutil
([#&#8203;46892](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46892))
When no explicit proxy\_address was configured, the HTTP client manually
read HTTPS\_PROXY
and used http.ProxyURL which ignores NO\_PROXY. Now delegates to
http.ProxyFromEnvironment
  which correctly handles all proxy environment variables.

- `processor/deltatorate`: Append "/s" to the unit of output datapoints
to reflect the per-second rate.
([#&#8203;46841](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46841))

- `processor/filter`: Fix validation of include and exclude severity
configurations so they run independently of LogConditions.
([#&#8203;46883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46883))

- `receiver/datadog`: Propagate Datadog trace sampling priority to all
spans translated from a trace chunk.
([#&#8203;45402](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45402))

- `receiver/file_log`: Fix data corruption after file compression
([#&#8203;46105](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46105))
After a log file is compressed (e.g. test.log → test.log.gz), the
receiver configured with `compression: auto` will now correctly
decompress the content and continue reading from where the plaintext
file left off.

- `receiver/file_log`: Fixes bug where File Log receiver did not read
the last line of gzip compressed files.
([#&#8203;45572](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45572))

- `receiver/hostmetrics`: Align HugePages metric instrument types with
the semantic conventions by emitting page\_size, reserved, and surplus
as non-monotonic sums instead of gauges.
([#&#8203;42650](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42650))

- `receiver/hostmetrics`: Handle nil PageFaultsStat in process scraper
to prevent panic on zombie processes.
([#&#8203;47095](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47095))

- `receiver/journald`: Fix emitting of historical entries on startup
([#&#8203;46556](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46556))
When start\_at is "end" (the default), pass --lines=0 to journalctl to
suppress
  the 10 historical entries it emits by default in follow mode.

- `receiver/k8s_events`: Exclude DELETED watch events to prevent
duplicate event ingestion.
([#&#8203;47035](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47035))

- `receiver/mysql`: Remove deprecated `information_schema.processlist`
JOIN from query samples template; use `thread.processlist_host` instead.
([#&#8203;47041](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47041))

- `receiver/oracledb`: Fix oracledbreceiver aborting entire scrape when
a SQL query text fails to obfuscate (e.g. due to Oracle truncating a
CLOB mid-string-literal). The affected entry is now skipped with a
warning log and the rest of the scrape continues normally.
([#&#8203;47151](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47151))

- `receiver/otelarrow`: Remove assumed positions of otel arrow root
payload types
([#&#8203;46878](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46878))

- `receiver/otelarrow`: Fix OTLP fallback handlers returning
codes.Unknown instead of codes.Unavailable for pipeline errors, causing
upstream exporters to permanently drop data instead of retrying.
([#&#8203;46182](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46182))

- `receiver/pprof`: Fixes pprofreceiver file\_scrapper appending
resource profiles instead of merging them.
([#&#8203;46991](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46991))

- `receiver/prometheus_remote_write`: Count target\_info samples in PRW
response stats
([#&#8203;47108](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47108))

<!-- previous-version -->

###
[`v0.148.0`](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/HEAD/CHANGELOG.md#v01480)

[Compare
Source](https://github.com/open-telemetry/opentelemetry-collector-contrib/compare/v0.147.0...v0.148.0)

##### 🛑 Breaking changes 🛑

- `all`: Removes the k8slog receiver after being unmaintained for 3
months
([#&#8203;46544](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46544))

- `all`: Remove deprecated SAPM exporter
([#&#8203;46555](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46555))

- `all`: Remove the datadogsemantics processor.
([#&#8203;46893](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46893))
If you need help, please contact Datadog support:
<https://www.datadoghq.com/support>.

- `exporter/google_cloud_storage`: `reuse_if_exists` behavior changed:
now checks bucket existence instead of attempting creation
([#&#8203;45971](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45971))
Previously, `reuse_if_exists=true` would attempt bucket creation and
fall back to reusing on conflict.
Now, `reuse_if_exists=true` checks if bucket exists (via
storage.buckets.get) and uses it, failing if it doesn't exist.
Set to true when the service account lacks project-level bucket creation
permissions but has bucket-level permissions.
`reuse_if_exists=false` still attempts to create the bucket and fails if
it already exists.

- `exporter/kafka`: Remove deprecated top-level `topic` and `encoding`
configuration fields
([#&#8203;46916](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46916))
The top-level `topic` and `encoding` fields were deprecated in v0.124.0.
  Use the per-signal fields instead: `logs::topic`, `metrics::topic`,
  `traces::topic`, `profiles::topic`, and the corresponding `encoding`
  fields under each signal section.

- `exporter/kafka`: Remove kafka-local batching partitioner wiring and
require explicit `sending_queue::batch::partition::metadata_keys`
configuration as a superset of `include_metadata_keys` when batching is
enabled.
([#&#8203;46757](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46757))

- `pkg/ottl`: `truncate_all` function now supports UTF-8 safe truncation
([#&#8203;36713](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36713))
The default `truncate_all` behavior has changed. Truncation now respects
UTF-8 character boundaries by default (new optional parameter
`utf8_safe`, default: `true`), so results stay valid UTF-8 and may be
slightly shorter than the limit.
To keep the previous byte-level truncation behavior (e.g. for non-UTF-8
data or to avoid any behavior change), set `utf8_safe` to `false` in all
`truncate_all` usages.

- `receiver/awsecscontainermetrics`: Add ephemeral storage metrics and
fix unit strings from Megabytes to MiB
([#&#8203;46414](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46414))
Adds two new task-level gauge metrics:
`ecs.task.ephemeral_storage.utilized` and
`ecs.task.ephemeral_storage.reserved` (in MiB).
These metrics are available on AWS Fargate Linux platform version 1.4.0+
and represent the shared ephemeral storage for the entire task.

**Breaking change:** The unit string for `ecs.task.memory.utilized`,
`ecs.task.memory.reserved`,
`container.memory.utilized`, and `container.memory.reserved` has been
corrected from `"Megabytes"` to `"MiB"`.
The underlying values were already in MiB (computed via division by
1024\*1024), but the unit label was incorrect.
Users relying on the exact unit string (e.g. in metric filters or
dashboards) will need to update accordingly.

- `receiver/mysql`: Set the default collection of query\_sample to false
([#&#8203;46902](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46902))

- `receiver/postgresql`: Disable default collection of top\_query and
query\_sample events.
([#&#8203;46843](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46843))
This change is breaking because it disables the default collection of
top\_query and query\_sample events. These events will need to be
enabled manually if desired.

- `receiver/redfish`: `system.host_name` and `base_url` resource
attribute has been changed to `host.name` and `url.full` respectively.

([#&#8203;46236](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46236))

- `receiver/windowseventlog`: Change event\_data from an array of
single-key maps to a flat map by default, making fields directly
accessible via OTTL. The previous format is available by setting
`event_data_format: array`.
([#&#8203;42565](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42565),
[#&#8203;32952](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32952))
Named <Data> elements become direct keys (e.g.,
body\["event\_data"]\["ProcessId"]).
  Anonymous <Data> elements use numbered keys: param1, param2, etc.
To preserve the previous array format, set event\_data\_format: array in
the receiver configuration.

##### 🚩 Deprecations 🚩

- `exporter/azure_blob`: Introduce new snake case compliant name
`azure_blob`
([#&#8203;46722](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46722))
- `exporter/google_cloud_storage`: Introduce new snake case compliant
name `google_cloud_storage`
([#&#8203;46733](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46733))
- `extension/aws_logs_encoding`: Introduce new snake case compliant name
`aws_logs_encoding`
([#&#8203;46776](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46776))
- `extension/azure_auth`: Introduce new snake case compliant name
`azure_auth`
([#&#8203;46775](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46775))
- `extension/cgroup_runtime`: Introduce new snake case compliant name
`cgroup_runtime`
([#&#8203;46773](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46773))
- `extension/google_cloud_logentry_encoding`: Introduce new snake case
compliant name `google_cloud_logentry_encoding`
([#&#8203;46778](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46778))
- `processor/metric_start_time`: Introduce new snake case compliant name
`metric_start_time`
([#&#8203;46777](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46777))
- `receiver/azure_blob`: Introduce new snake case compliant name
`azure_blob`
([#&#8203;46721](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46721))
- `receiver/azure_monitor`: Introduce new snake case compliant name
`azure_monitor`
([#&#8203;46730](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46730))
- `receiver/cisco_os`: Introduce new snake case compliant name
`cisco_os`
([#&#8203;46948](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46948))
- `receiver/macos_unified_logging`: Introduce new snake case compliant
name `macos_unified_logging`
([#&#8203;46729](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46729))
- `receiver/prometheus_remote_write`: Introduce new snake case compliant
name `prometheus_remote_write`
([#&#8203;46726](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46726))
- `receiver/yang_grpc`: Introduce new snake case compliant name
`yang_grpc`
([#&#8203;46723](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46723))

##### 🚀 New components 🚀

- `receiver/azure_functions`: Introduce new component to receive logs
from Azure Functions
([#&#8203;43507](https://github.com/open-telemetry/opentelemetry-collector-con

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "on tuesday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file extension/bearertokenauth renovatebot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants