Skip to content

Reference

Look-up facts for the OpenTelemetry Collector engine: versions and the release train, module and component stability, component type renames and deprecations, default ports, and the configuration keys that the how-to guides and explanation rely on. Every row was checked on 2026-09-25 against the upstream CHANGELOGs, metadata.yaml files, and READMEs of opentelemetry-collector, opentelemetry-collector-contrib, opentelemetry-collector-releases, and opentelemetry-operator, with release timestamps cross-checked on the Go module proxy (proxy.golang.org). Project-level facts (spec, OTLP, semantic conventions, Operator CRDs and injection annotations) live in the sibling OpenTelemetry reference.

Versions And Release Train

Artifact Latest (date) Notes
Collector core v1.67.0 / v0.161.0 (2026-09-14) Dual tag: stable modules v1.x, everything else v0.x
Collector contrib v0.161.0 (2026-09-15) Tagged the day after core
Collector releases (distributions) v0.161.0 Builds otelcol, otelcol-contrib, otelcol-k8s, otelcol-otlp, otelcol-ebpf-profiler, and the new experimental otelcol-prometheus
Collector Builder (ocb) v0.161.0 (2026-09-14) Module go.opentelemetry.io/collector/cmd/builder
OpAMP Supervisor v0.161.0 (2026-09-15) Module .../cmd/opampsupervisor in contrib, component stability alpha
OpenTelemetry Operator v0.159.0 (2026-09-14) versions.txt pins Collector 0.159.0 and Target Allocator 0.159.0
Collector Helm chart 0.173.1 (appVersion 0.160.0) Chart open-telemetry/opentelemetry-collector
OpAMP specification v0.20.0, status Beta opamp-spec repo
Next scheduled release v0.162.0 on 2026-09-28 Per the release schedule in docs/release.md

Recent core releases (dates from the Go module proxy):

Core release Date Headline user-facing change
v1.67.0 / v0.161.0 2026-09-14 Removal of deprecated pprofile, scraperhelper, ZapOptions APIs. confmap escaped-URI expansion fix
v1.66.0 / v0.160.0 2026-09-01 Go 1.26 minimum. windows/amd64 declared Tier 1. confighttp flat keepalive fields deprecated in favor of a keepalive section
v1.65.0 / v0.159.0 2026-08-17 pkg.exporterhelper.queueBatchEnabled gate (batching on by default in NewDefaultQueueConfig). Batch-size metrics now recorded post-batching
v1.64.0 / v0.158.0 2026-08-04 New queue_batch processor to replace batch. memory_limiter extension promoted to beta
v1.63.0 / v0.157.0 2026-07-21 service.partialReload (alpha) and service.partialReloadReceivers (beta) gates. config.schema.yaml bootstrapped for core components. Batch-size histogram buckets changed to powers of two (128 B to 16 MiB)
v1.62.0 / v0.156.0 2026-07-06 Receivers always start after all other components (startup race fix). memory_limiter GC backoff (max_gc_interval_when_soft_limited/_hard_limited, default 30s)
v1.61.0 / v0.155.0 2026-06-23 Stabilized feature gates removed. schemagen moved into core. Memory limiter metrics renamed to otelcol_processor_memory_limiter_*

Release policy facts (docs/release.md):

  • "All OpenTelemetry Collector repositories have very short 2 week release cycles." Measured intervals for v1.58.0 through v1.67.0 were 13 to 15 days.
  • No LTS or end-of-life window is published. Patch releases carry a high bar.
  • Security fixes: a release "in at most 30 days since they are publicly announced". Critical vulnerabilities (CVSSv3 >= 9.0) warrant a release within five business days.

Module Stability

versions.yaml in the core repo splits modules into two module sets:

Module set Version Members (abridged)
stable v1.67.0 pdata, component, confmap plus the env/file/http/https/yaml providers, featuregate, client, consumer, pipeline, receiver, processor, exporter, extension, extension/extensionauth, and config/configauth, configgrpc, configopaque, configoptional, configcompression, configretry, configtls, confignet, configmiddleware
beta v0.161.0 The otelcol and service packages, confighttp, connector, exporterhelper, processorhelper, receiverhelper, scraper, pdata/pprofile, cmd/builder, cmd/mdatagen, cmd/schemagen, and every core component (otlpreceiver, otlpexporter, otlphttpexporter, debugexporter, batchprocessor, queuebatchprocessor, memorylimiterprocessor, zpagesextension, memorylimiterextension, forwardconnector, and others)

Collector 1.0 is not out

pdata reached v1.0.0 on 2023-11-27, and more APIs have joined the stable set since. The Collector binary, the service/otelcol packages, and all components are still v0.x. The public roadmap to v1 (2024) remains the reference plan. No 1.0 date is published.

Component Stability Levels

Levels are declared per signal in each component's metadata.yaml and README (docs/component-stability.md):

Level Meaning (abridged from upstream)
Development Not all pieces in place. Configuration may break often. Not for production
Alpha Limited non-critical workloads. Configuration may change with minimal notice (changelog entry is enough)
Beta Configuration options deemed stable. Breaking changes should be rare and ship with a migration path
Stable General availability. Must stay compatible between minor versions except for critical security fixes
Deprecated Planned for removal. Kept for at least two minor releases
Unmaintained No active code owner. Removed from official distributions after 3 months unmaintained

A component can be versioned 1.x only when it is stable for at least one signal.

Component Stability Table

Declared levels at v0.161.0 (core and contrib metadata.yaml). "Type" is the configuration key. A second name in parentheses is a deprecated alias that still works.

Component Type Repo Stability
OTLP receiver otlp core stable: traces, metrics, logs. alpha: profiles
OTLP gRPC exporter otlp_grpc (otlp) core stable: traces, metrics, logs. alpha: profiles
OTLP HTTP exporter otlp_http (otlphttp) core stable: traces, metrics, logs. alpha: profiles
Debug exporter debug core alpha: traces, metrics, logs, profiles
Batch processor batch core beta: traces, metrics, logs
Queue/batch processor queue_batch core development: all four signals. Not in any distribution yet
Memory limiter processor memory_limiter core beta: traces, metrics, logs. alpha: profiles
Memory limiter extension memory_limiter core beta
zPages extension zpages core beta
Forward connector forward core beta: same-signal. alpha: profiles
Load-balancing exporter load_balancing (loadbalancing) contrib beta: traces, logs. alpha: metrics
Tail sampling processor tail_sampling contrib beta: traces
Probabilistic sampler processor probabilistic_sampler contrib beta: traces. alpha: logs
Kubernetes attributes processor k8s_attributes (k8sattributes) contrib stable: logs, metrics, traces. development: profiles
Transform processor transform contrib beta: traces, metrics, logs. development: profiles
Filter processor filter contrib alpha: traces, metrics, logs. development: profiles
Resource detection processor resource_detection (resourcedetection) contrib beta: traces, metrics, logs
Attributes / resource processors attributes / resource contrib beta: traces, metrics, logs
Routing connector routing contrib alpha: same-signal
Span metrics connector span_metrics (spanmetrics) contrib alpha: traces to metrics
Service graph connector service_graph (servicegraph) contrib alpha: traces to metrics
Count / failover connectors count / failover contrib alpha
Prometheus receiver prometheus contrib beta: metrics
Filelog receiver file_log (filelog) contrib beta: logs
Host metrics receiver host_metrics (hostmetrics) contrib beta: metrics. development: logs
Kubelet stats receiver kubelet_stats (kubeletstats) contrib beta: metrics
Kafka receiver / exporter kafka contrib beta: traces, metrics, logs
Prometheus remote write exporter prometheus_remote_write (prometheusremotewrite) contrib beta: metrics
pprof receiver pprof contrib alpha: profiles
File storage extension file_storage contrib beta
Pebble tail storage extension pebble_tail_storage contrib alpha
Health check extension health_check contrib alpha
OpAMP extension opamp contrib alpha

Component Type Renames

Contrib is moving component types to snake_case (tracking issue #45339). Old names stay as deprecated aliases unless noted.

Old type New type Since
otlp (exporter) otlp_grpc core v0.144.0
otlphttp otlp_http core v0.144.0
k8sattributes k8s_attributes v0.146.0
filelog file_log v0.149.0
hostmetrics host_metrics v0.151.0
spanmetrics / servicegraph span_metrics / service_graph v0.151.0
kubeletstats / metricstransform kubelet_stats / metrics_transform v0.152.0
loadbalancing load_balancing v0.153.0
resourcedetection resource_detection v0.153.0
prometheusremotewrite prometheus_remote_write v0.154.0
cumulativetodelta cumulative_to_delta v0.157.0
deltatocumulative / deltatorate delta_to_cumulative / delta_to_rate v0.158.0
sqlquery / azuremonitor (exporter) sql_query / azure_monitor v0.159.0
windowsperfcounters / icmpcheckreceiver windows_perf_counters / icmp_check v0.160.0
dynamic_sampling adaptive_tail_sampling v0.160.0, no alias

Deprecations And Removals

Item Status Replacement
Routing processor (routing) Deprecated contrib v0.116.0, removed v0.133.0 Routing connector
Routing connector request context Deprecated v0.156.0 otelcol.* OTTL paths
Batch processor Still beta. Replacement exists but is development-stage queue_batch processor (v0.158.0) or exporter-side sending_queue::batch
service::telemetry::metrics::address Deprecated v0.111.0, ignored by default since v0.123.0 service::telemetry::metrics::readers
confighttp flat keepalive fields (idle_conn_timeout, max_idle_conns, disable_keep_alives, server idle_timeout, keep_alives_enabled) Deprecated v0.160.0 (warning, still work) keepalive::* section
Legacy memory limiter metric names Renamed v0.155.0 otelcol_processor_memory_limiter_*
service_name/service_instance_id/service_version labels on every internal metric Removed v0.149.0 Join on target_info
SAPM exporter Removed v0.148.0 OTLP exporters
JMX receiver Code removed v0.157.0 TBD, see contrib issue #45740
Mezmo exporter Deprecated v0.158.0, removed v0.161.0 OTLP/HTTP exporter
kafkatopicsobserver extension Deprecated v0.152.0, dropped from contrib distribution v0.159.0 Kafka receiver directly
Tail sampling invert_match decisions Deprecated (gate processor.tailsamplingprocessor.disableinvertdecisions) drop and not policies
Supervisor reports_remote_config Deprecated v0.161.0 accepts_remote_config enables both capabilities

Default Ports

Port Component Default bind
4317 OTLP receiver, gRPC localhost:4317
4318 OTLP receiver, HTTP localhost:4318
8888 Internal telemetry, Prometheus pull reader localhost:8888 since v0.111.0 (was :8888)
13133 health_check extension localhost:13133
55679 zpages extension localhost:55679
1777 pprof extension localhost:1777

Localhost defaults inside containers

Receivers and extensions bind to localhost by default. In a container or pod you must set endpoint: 0.0.0.0:<port> (or the pod IP) explicitly for other pods to reach them. The Helm chart's default config binds to ${env:MY_POD_IP} for this reason.

Internal Telemetry Settings

Key under service::telemetry Default Notes
metrics::level normal none, basic, normal, detailed
metrics::readers Prometheus pull on localhost:8888 When you define readers yourself, without_type_suffix/without_units are no longer set for you
metrics::views none Added v0.123.0
logs::level INFO DEBUG, WARN, ERROR
traces off Experimental. OTLP exporter via processors[*]::batch::exporter::otlp
resource::detection/development off Experimental (v0.157.0). Detectors container, host, process, service

Exporter Queue And Retry Defaults

From exporter/exporterhelper/README.md:

Key Default Meaning
retry_on_failure::enabled true
retry_on_failure::initial_interval 5s
retry_on_failure::max_interval 30s Backoff cap
retry_on_failure::multiplier 1.5
retry_on_failure::max_elapsed_time 300s 0 = retry forever
sending_queue::enabled true
sending_queue::num_consumers 10
sending_queue::queue_size 1000 Units set by sizer
sending_queue::sizer requests requests, items, bytes (slowest)
sending_queue::block_on_overflow false false = reject when full
sending_queue::wait_for_result false
sending_queue::storage none Storage extension ID, enables the persistent queue
sending_queue::batch disabled batch: {} enables flush_timeout 200ms, min_size 8192, max_size 0, sizer items
sending_queue::batch::partition::metadata_keys empty Per-metadata batching (v0.147.0)
timeout 5s Per send attempt

Processor And Extension Keys

Component Key Default
memory_limiter check_interval 0s (must be set)
memory_limiter limit_mib / limit_percentage one of them is required
memory_limiter spike_limit_mib 20% of limit_mib. Soft limit = limit_mib - spike_limit_mib
batch send_batch_size / timeout / send_batch_max_size 8192 / 200ms / 0
tail_sampling decision_wait 30s
tail_sampling num_traces 50000
tail_sampling block_on_overflow false (option since v0.133.0)
tail_sampling decision_cache::sampled_cache_size / non_sampled_cache_size 0 (disabled)
tail_sampling sampling_strategy trace-complete (alternative span-ingest)
tail_sampling num_shards 1, maximum 256. Not combinable with tail_storage
tail_sampling tail_storage none. Needs gate processor.tailsamplingprocessor.tailstorageextension
load_balancing routing_key traceID for traces, service for logs and metrics
load_balancing resolver::dns::interval / timeout 5s / 1s
file_storage directory /var/lib/otelcol/file_storage (Linux)
file_storage timeout 1s
file_storage max_size unlimited. Added v0.156.0
file_storage compaction::rebound_needed_threshold_mib / rebound_trigger_threshold_mib / check_interval 100 / 10 / 5s
pebble_tail_storage max_storage_size_mib unbounded. Added v0.159.0

Feature Gates Of Note

Gate Stage Effect
service.profilesSupport alpha (since v0.112.0) Required to declare profiles pipelines
service.AllowNoPipelines alpha Start with zero pipelines
service.partialReload / service.partialReloadReceivers alpha / beta (v0.157.0) Restart only receivers on receiver-only config change
telemetry.newPipelineTelemetry alpha (v0.123.0) Component-identifying attributes on internal telemetry
pkg.exporterhelper.queueBatchEnabled added v0.159.0 Batching on by default in NewDefaultQueueConfig()
processor.tailsamplingprocessor.tailstorageextension off by default Allows tail_storage (for example Pebble)
processor.tailsamplingprocessor.usetracestate alpha (v0.157.0) Probabilistic policy honors W3C tracestate randomness

Enable gates with --feature-gates=<id>[,<id>]. Prefix an ID with - to disable a beta gate.

Auth Extension Matrix

Authenticator types defined by the stable config/configauth and extension/extensionauth modules, and the contrib extensions that implement them:

Direction Authenticates Contrib extensions (type, stability)
Server Incoming requests (receivers) basicauth (beta), bearertokenauth (beta), oidc (beta)
Client Outgoing requests (exporters) asapclient (beta), basicauth, bearertokenauth, oauth2client (beta), sigv4auth (beta)

basicauth and bearertokenauth implement both directions. headers_setter (alpha) sets headers but is not an authenticator.

OpAMP Supervisor Capability Status

From the Supervisor README at v0.161.0:

Capability Status
AcceptsRemoteConfig, ReportsEffectiveConfig, ReportsRemoteConfig Implemented. accepts_remote_config defaults to false
ReportsOwnTraces / Metrics / Logs Implemented
AcceptsOpAMPConnectionSettings, AcceptsOtherConnectionSettings, AcceptsRestartCommand, ReportsAvailableComponents Implemented
ReportsHealth Implemented with caveats
AcceptsPackages, ReportsPackageStatuses Not implemented. Enabling accepts_packages fails startup ("not yet fully implemented"). Tracked in contrib issue #47272
ReportsStatus Open (#38729)
Updating the Collector binary Open (#33947). Groundwork (agent_binary, tar.gz archives) landed v0.159.0

Other Supervisor switches: agent::use_hup_config_reload (non-Windows only), agent::automatic_config_rollback (default off), startup fallback config until connected (v0.154.0).

Target Allocator Facts

Fact Value
Purpose Discovers Prometheus scrape targets (including ServiceMonitor/PodMonitor CRs) and assigns them to Collector replicas, which pull their share over HTTP service discovery
Enabling spec.targetAllocator.enabled: true on an OpenTelemetryCollector (mode: statefulset in the docs), or a separate TargetAllocator CR (opentelemetry.io/v1alpha1) linked with the label opentelemetry.io/target-allocator: <name>
Allocation strategies consistent-hashing (default), least-weighted, per-node (DaemonSet only, optional fallback via allocation_strategy_config.per_node.fallback_strategy)
Filter strategies relabel-config (default) or none (explicit none accepted since v0.159.0)
Receiver rewrite The Operator rewrites the prometheus receiver to target_allocator: {endpoint, interval: 30s, collector_id: $POD_NAME}
mTLS Per-CR spec.mtls. cert-manager by default. User-provided Secrets possible since v0.157.0
Self-telemetry Prometheus /metrics, and OTLP export since v0.157.0

Security Advisories Of Note

CVE Component Fixed in Severity
CVE-2026-55701 GitHub receiver did not enforce required_headers on webhook requests contrib v0.151.0 CVSS 6.9 (medium) per third-party trackers
CVE-2026-47256 Sentry exporter path traversal via service.name in API URLs contrib v0.154.0 CVSS 5.3 (medium) per third-party trackers

The project's list of advisories is at opentelemetry.io/docs/security/cve. Both fixes are confirmed in the contrib CHANGELOG. Severity scores come from third-party trackers and are not re-verified here.

Builder Manifest Keys

Key Purpose
dist::name, description, version, output_path, module Binary name, metadata, output directory, Go module path
dist::debug_compilation Keep debug symbols (default strips with -s -w)
dist::cgo_enabled Default false, matching official releases
receivers, processors, exporters, extensions, connectors, providers, converters Lists of gomod entries (plus optional import, name, path)
telemetry Telemetry provider module (added v0.146.0)
replaces go.mod replace directives
conf_resolver::default_uri_scheme For example env, so ${HOST} means ${env:HOST}
Flags --config, --skip-generate, --skip-get-modules, --skip-compilation, --skip-strict-versioning (temporary), --ldflags, --gcflags

Sources