Feature Gates

ID   |   Enabled   |   Description   |   Stage   |   From Version   |   To Version   |   Reference URL
confmap.enableMergeAppendOption  |   false  |   Combines lists when resolving configs from different sources. This feature gate will not be stabilized 'as is'; the current behavior will remain the default.  |   Alpha  |   v0.120.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/issues/8754  |  
exporter.file.nativeCompression  |   false  |   Use native file-level compression (zstd) instead of message-level compression. Creates standard .zst files compatible with standard decompression tools  |   Alpha  |   v0.154.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44077  |  
exporter.kafka.useRequestType  |   false  |   When enabled, the Kafka exporter converts pdata into Kafka records at request-creation time and uses a custom exporterhelper.Request for queue/batch sizing.  |   Alpha  |   v0.157.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/48090  |  
exporter.prometheus.DisableResourceToTelemetryConversion  |   false  |   When enabled, the deprecated resource_to_telemetry_conversion section and legacy conversion fields are disabled, and resource_constant_labels must be used instead  |   Alpha  |   v0.160.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/48861  |  
exporter.prometheusexporter.DisableAddMetricSuffixes  |   true  |   When enabled, the deprecated add_metric_suffixes configuration option is ignored and translation_strategy is always used  |   Beta  |   v0.132.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-specification/pull/4533  |  
exporter.prometheusremotewrite.DisableResourceToTelemetryConversion  |   false  |   When enabled, the deprecated resource_to_telemetry_conversion section and legacy conversion fields are disabled, and resource_constant_labels must be used instead  |   Alpha  |   v0.160.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/48862  |  
exporter.prometheusremotewritexporter.EnableMultipleWorkers  |   false  |   When enabled and settings configured, the Prometheus remote exporter will spawn multiple workers/goroutines to handle incoming metrics batches concurrently.  |   Alpha  |   v0.118.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36134  |  
exporter.prometheusremotewritexporter.RetryOn429  |   false  |   When enabled, the Prometheus remote write exporter will retry 429 http status code. Requires exporter.prometheusremotewritexporter.metrics.RetryOn429 to be enabled.  |   Alpha  |   v0.101.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/31924  |  
exporter.prometheusremotewritexporter.enableSendingRW2  |   false  |   When enabled, the Prometheus remote write exporter will support sending rw2. Extra configuration is still required besides enabling this feature gate.  |   Alpha  |   v0.125.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/35888  |  
exporter.prometheusremotewritexporter.removeTopLevelHTTPSettings  |   false  |   When enabled, it rejects top-level HTTP client settings (e.g. endpoint, tls, proxy_url); configure them under the http block instead.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46209  |  
extension.healthcheck.useComponentStatus  |   false  |   Switch to the shared healthcheck implementation powered by component status events  |   Alpha  |   v0.142.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42256  |  
filter.filterlog.useOTTLBridge  |   false  |   When enabled, filterlog will convert filterlog configuration to OTTL and use filterottl evaluation  |   Alpha  |   v0.81.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/18642  |  
filter.filtermetric.useOTTLBridge  |   false  |   When enabled, filtermetric will convert filtermetric configuration to OTTL and use filterottl evaluation  |   Alpha  |   v0.81.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/18642  |  
filter.filterspan.useOTTLBridge  |   false  |   When enabled, filterspan will convert filterspan configuration to OTTL and use filterottl evaluation  |   Alpha  |   v0.79.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/18642  |  
hostmetrics.process.bootTimeCache  |   true  |   When enabled, all process scrapes will use the boot time value that is cached at the start of the process.  |   Beta  |   v0.98.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/28849  |  
ottl.PanicDuplicateName  |   true  |   When enabled, the CreateFactoryMap panics if the name is duplicated.  |   Beta  |   v0.141.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/44630  |  
ottl.contexts.enableOTelColContext  |   true  |   Enable the `otelcol` context for OTTL. This allows users using `otelcol.*` paths in their OTTL statements and conditions.  |   Beta  |   v0.147.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46437  |  
ottl.functions.enableLambda  |   false  |   Allow OTTL functions to take lambda arguments. When disabled, lambda arguments are rejected.  |   Alpha  |   v0.155.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/48227  |  
ottl.set.allowNil  |   false  |   When enabled, the set function passes nil values directly to the target.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/49741  |  
pdata.useProtoPooling  |   false  |   When enabled, enable using local memory pools for underlying data that the pdata messages are pushed to.  |   Alpha  |   v0.133.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/issues/13631  |  
pkg.experimentalmetricmetadata.useEntityEventsSpecification  |   false  |   When enabled, emit entity events using the OpenTelemetry entity events specification log record format.  |   Alpha  |   v0.156.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/49667  |  
pkg.exporterhelper.queueBatchEnabled  |   false  |   Enables exporterhelper batching by default in NewDefaultQueueConfig, as described in the batching migration RFC.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/issues/15047  |  
pkg.translator.jaeger.DontEmitV0HttpConventions  |   false  |   When enabled, the Jaeger translator no longer emits the deprecated http.status_code attribute (semconv v1.25.0). Requires pkg.translator.jaeger.EmitV1HttpConventions to also be enabled.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45036  |  
pkg.translator.jaeger.EmitV1HttpConventions  |   false  |   When enabled, the Jaeger translator emits http.response.status_code (semconv v1.40.0) instead of the deprecated http.status_code (semconv v1.25.0).  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45036  |  
pkg.translator.prometheus.PermissiveLabelSanitization  |   false  |   Controls whether to change labels starting with '_' to 'key_'.  |   Alpha  |   v0.55.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8950  |  
pkg.translator.zipkin.DontEmitV0CloudResourceConventions  |   false  |   When enabled, the Zipkin translator no longer emits the deprecated faas.id attribute (semconv v1.18.0). Requires pkg.translator.zipkin.EmitV1CloudResourceConventions to also be enabled.  |   Alpha  |   v0.155.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45080  |  
pkg.translator.zipkin.DontEmitV0HttpConventions  |   false  |   When enabled, the Zipkin translator no longer emits the deprecated http.status_code attribute (semconv v1.25.0). Requires pkg.translator.zipkin.EmitV1HttpConventions to also be enabled.  |   Alpha  |   v0.154.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45089  |  
pkg.translator.zipkin.DontEmitV0NetworkConventions  |   true  |   When enabled, the Zipkin translator no longer emits the deprecated net.host.ip, net.peer.ip, and peer.service (semconv v1.12.0) attributes. Requires pkg.translator.zipkin.EmitV1NetworkConventions to also be enabled.  |   Beta  |   v0.147.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45041  |  
pkg.translator.zipkin.DontEmitV0ScopeConventions  |   false  |   When enabled, the Zipkin translator no longer emits the deprecated otel.library.name and otel.library.version attributes (semconv v1.25.0). Requires pkg.translator.zipkin.EmitV1ScopeConventions to also be enabled.  |   Alpha  |   v0.154.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45089  |  
pkg.translator.zipkin.EmitV1CloudResourceConventions  |   false  |   When enabled, the Zipkin translator emits cloud.resource_id (semconv v1.40.0) instead of the deprecated faas.id (semconv v1.18.0).  |   Alpha  |   v0.155.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45080  |  
pkg.translator.zipkin.EmitV1HttpConventions  |   false  |   When enabled, the Zipkin translator emits http.response.status_code (semconv v1.40.0) instead of the deprecated http.status_code (semconv v1.25.0).  |   Alpha  |   v0.154.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45089  |  
pkg.translator.zipkin.EmitV1NetworkConventions  |   true  |   When enabled, the Zipkin translator emits network.local.address and network.peer.address and service.peer.name (semconv v1.40.0) instead of the deprecated net.host.ip, net.peer.ip, and peer.service (semconv v1.12.0).  |   Beta  |   v0.147.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45041  |  
pkg.translator.zipkin.EmitV1ScopeConventions  |   false  |   When enabled, the Zipkin translator emits otel.scope.name and otel.scope.version (semconv v1.40.0) instead of the deprecated otel.library.name and otel.library.version (semconv v1.25.0).  |   Alpha  |   v0.154.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45089  |  
processor.filter.defaultErrorModeIgnore  |   true  |   Changes the default error_mode of the filter processor from propagate to ignore  |   Stable  |   v0.150.0  |   v0.159.0  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47232  |  
receiver.hostmetrics.DontEmitV0SystemConventions  |   false  |   When enabled, all scrapers stop emitting legacy semantic convention metrics, superseding per-scraper gates.  |   Alpha  |   v0.160.0  |   v<nil>  |   https://github.com/open-telemetry/semantic-conventions/issues/3041  |  
receiver.hostmetrics.EmitV1SystemConventions  |   false  |   When enabled, all scrapers emit metrics aligned with the latest semantic conventions, superseding per-scraper gates.  |   Alpha  |   v0.160.0  |   v<nil>  |   https://github.com/open-telemetry/semantic-conventions/issues/3041  |  
receiver.hostmetricsreceiver.UseLinuxMemAvailable  |   true  |   When enabled, the used value for the system.memory.usage and system.memory.utilization metrics will be based on the Linux kernel's MemAvailable statistic instead of MemFree, Buffers, and Cached.  |   Beta  |   v0.137.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42221  |  
receiver.prometheusreceiver.EnableCreatedTimestampZeroIngestion  |   false  |   Enables the Prometheus created-timestamps-zero-injection feature. Created timestamps are injected as 0-valued samples when appropriate. This is disabled by default due to worse CPU performance with higher metric volumes.  |   Alpha  |   v0.113.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40355  |  
receiver.prometheusreceiver.IgnoreScopeInfoMetric  |   true  |   When enabled, the `otel_scope_info` metric is ignored for scope attribute extraction.  |   Beta  |   v0.148.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41502  |  
receiverhelper.newReceiverMetrics  |   false  |   Controls whether receivers emit new metrics and span attributes to distinguish downstream errors from internal errors. This is a breaking change for the semantics of the otelcol_receiver_refused_metric_points, otelcol_receiver_refused_log_records and otelcol_receiver_refused_spans.  |   Alpha  |   v0.138.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/pull/12802  |  
scraper.process.DontEmitV0SystemConventions  |   false  |   When enabled, semconv legacy attributes are disabled.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/semantic-conventions/issues/3041  |  
scraper.process.EmitV1SystemConventions  |   false  |   When enabled, semconv stable attributes are enabled.  |   Alpha  |   v0.158.0  |   v<nil>  |   https://github.com/open-telemetry/semantic-conventions/issues/3041  |  
service.AllowNoPipelines  |   false  |   Allow starting the Collector without starting any pipelines.  |   Alpha  |   v0.122.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/pull/12613  |  
service.partialReload  |   false  |   Controls whether configuration changes trigger a partial reload that rebuilds only the affected components.  |   Alpha  |   v0.157.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/partial-reload.md  |  
service.partialReloadReceivers  |   true  |   Controls whether receiver-only configuration changes restart only the receivers.  |   Beta  |   v0.157.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/partial-reload.md  |  
service.profilesSupport  |   false  |   Controls whether profiles support can be enabled  |   Alpha  |   v0.112.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/pull/11477  |  
telemetry.newPipelineTelemetry  |   false  |   Injects component-identifying scope attributes in internal Collector metrics  |   Alpha  |   v0.123.0  |   v<nil>  |   https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md  |