Contributors should read our contributors guide for instructions on how to update the changelog.
This document contains a historical list of changes between releases. Only changes that impact end-user behavior are listed; changes to documentation or internal API changes are not present.
- Updated OpenTelemetry to v0.102.1. (@mattdurham)
- Components
otelcol.receiver.otlp,otelcol.receiver.zipkin,otelcol.extension.jaeger_remote_sampling, andotelcol.receiver.jaegersettingmax_request_body_sizedefault changed from unlimited size to20MiB. This is due to CVE-2024-36129.
- Components
-
Update Public preview
remotecfgto usealloy-remote-configinstead ofagent-remote-config. The API has been updated to use the termcollectoroveragent. (@erikbaranowski) -
Component
otelcol.receiver.vcenterremovedvcenter.host.network.packet.errors,vcenter.host.network.packet.count, andvcenter.vm.network.packet.count.vcenter.host.network.packet.errorsreplaced byvcenter.host.network.packet.error.rate.vcenter.host.network.packet.countreplaced byvcenter.host.network.packet.rate.vcenter.vm.network.packet.countreplaced byvcenter.vm.network.packet.rate.
-
Add an
otelcol.exporter.kafkacomponent to send OTLP metrics, logs, and traces to Kafka. -
Added
live debuggingto the UI. Live debugging streams data as they flow through components for debugging telemetry data. Individual components must be updated to support live debugging. (@wildum) -
Added live debugging support for
prometheus.relabel. (@wildum) -
(Experimental) Add a
otelcol.processor.deltatocumulativecomponent to convert metrics from delta temporality to cumulative by accumulating samples in memory. (@rfratto) -
(Experimental) Add an
otelcol.receiver.datadogcomponent to receive metrics and traces from Datadog. (@carrieedwards, @jesusvazquez, @alexgreenbank, @fedetorres93)
-
(Public preview) Add native histogram support to
otelcol.receiver.prometheus. (@wildum) -
(Public preview) Add metrics to report status of
remotecfgservice. (@captncraig) -
Added
scrape_protocolsoption toprometheus.scrape, which allows to control the preferred order of scrape protocols. (@thampiotr) -
Add support for configuring CPU profile's duration scraped by
pyroscope.scrape. (@hainenber) -
Improved filesystem error handling when working with
loki.source.fileandlocal.file_match, which removes some false-positive error log messages on Windows (@thampiotr) -
Updates
processor/probabilistic_samplerto use newFailedClosedfield from OTEL release v0.101.0. (@StefanKurek) -
Updates
receiver/vcenterto use new features and bugfixes introduced in OTEL releases v0.100.0 and v0.101.0. Refer to the v0.100.0 and v0.101.0 release notes for more detailed information. Changes that directly affected the configuration are as follows: (@StefanKurek)- The resource attribute
vcenter.datacenter.namehas been added and enabled by default for all resource types. - The resource attribute
vcenter.virtual_app.inventory_pathhas been added and enabled by default to differentiate between resource pools and virtual apps. - The resource attribute
vcenter.virtual_app.namehas been added and enabled by default to differentiate between resource pools and virtual apps. - The resource attribute
vcenter.vm_template.idhas been added and enabled by default to differentiate between virtual machines and virtual machine templates. - The resource attribute
vcenter.vm_template.namehas been added and enabled by default to differentiate between virtual machines and virtual machine templates. - The metric
vcenter.cluster.memory.usedhas been removed. - The metric
vcenter.vm.network.packet.drop.ratehas been added and enabled by default. - The metric
vcenter.cluster.vm_template.counthas been added and enabled by default.
- The resource attribute
-
Add
yaml_decodeto standard library. (@mattdurham, @djcode) -
Allow override debug metrics level for
otelcol.*components. (@hainenber) -
Add an initial lower limit of 10 seconds for the the
poll_frequencyargument in theremotecfgblock. (@tpaschalis) -
Added support for NS records to
discovery.dns. (@djcode) -
Improved clustering use cases for tracking GCP delta metrics in the
prometheus.exporter.gcp(@kgeckhart) -
Add the
targetsargument to theprometheus.exporter.snmpcomponent to support passing SNMP targets at runtime. (@wildum) -
Prefix Faro measurement values with
value_to align with the latest Faro cloud receiver updates. (@codecapitano) -
Add
base64_decodeto standard library. (@hainenber) -
Updated OpenTelemetry Contrib to v0.102.0. (@mattdurham)
otelcol.processor.resourcedetection: Added atagsconfig argument to theazuredetection mechanism. It exposes regex-matched Azure resource tags as OpenTelemetry resource attributes.
-
A new
snmp_contextconfiguration argument forprometheus.exporter.snmpwhich overrides thecontext_nameparameter in the SNMP configuration file. (@ptodev) -
Add extra configuration options for
beyla.ebpfto select Kubernetes objects to monitor. (@marctc)
-
Fixed an issue with
prometheus.scrapein which targets that move from one cluster instance to another could have a staleness marker inserted and result in a gap in metrics (@thampiotr) -
Fix panic when
import.gitis given a revision that does not exist on the remote repo. (@hainenber) -
Fixed an issue with
loki.source.dockerwhere collecting logs from targets configured with multiple networks would result in errors. (@wildum) -
Fixed an issue where converting OpenTelemetry Collector configs with unused telemetry types resulted in those types being explicitly configured with an empty array in
outputblocks, rather than them being omitted entirely. (@rfratto)
-
pyroscope.ebpf,pyroscope.java,pyroscope.scrape,pyroscope.writeanddiscovery.processcomponents are now GA. (@korniltsev) -
prometheus.exporter.snmp: Updating SNMP exporter from v0.24.1 to v0.26.0. (@ptodev, @erikbaranowski) -
prometheus.scrapecomponent'senable_protobuf_negotiationargument is now deprecated and will be removed in a future major release. Usescrape_protocolsinstead and refer toprometheus.scrapereference documentation for further details. (@thampiotr) -
Updated Prometheus dependency to v2.51.2 (@thampiotr)
-
Upgrade Beyla from v1.5.1 to v1.6.3. (@marctc)
-
Fix panic when component ID contains
/inotelcomponent.MustNewType(ID).(@qclaogui) -
Exit Alloy immediately if the port it runs on is not available. This port can be configured with
--server.http.listen-addror using the default listen address127.0.0.1:12345. (@mattdurham) -
Fix a panic in
loki.source.dockerwhen trying to stop a target that was never started. (@wildum) -
Fix error on boot when using IPv6 advertise addresses without explicitly specifying a port. (@matthewpi)
-
Fix an issue where having long component labels (>63 chars) on otelcol.auth components lead to a panic. (@tpaschalis)
-
Update
prometheus.exporter.snowflakewith the latest version of the exporter as of May 28, 2024 (@StefanKurek)- Fixes issue where returned
NULLvalues from database could cause unexpected errors.
- Fixes issue where returned
-
Bubble up SSH key conversion error to facilitate failed
import.git. (@hainenber)
-
(Public preview) Add support for setting GOMEMLIMIT based on cgroup setting. (@mattdurham)
-
(Experimental) A new
otelcol.exporter.awss3component for sending telemetry data to a S3 bucket. (@Imshelledin21) -
(Public preview) Introduce BoringCrypto Docker images. The BoringCrypto image is tagged with the
-boringcryptosuffix and is only available on AMD64 and ARM64 Linux containers. (@rfratto, @mattdurham) -
(Public preview) Introduce
boringcryptorelease assets. BoringCrypto builds are publshed for Linux on AMD64 and ARM64 platforms. (@rfratto, @mattdurham) -
otelcol.exporter.loadbalancing: Add a newaws_cloud_mapresolver. (@ptodev) -
Introduce a
otelcol.receiver.file_statscomponent from the upstream OpenTelemetryfilestatsreceivercomponent. (@rfratto)
-
Update
prometheus.exporter.kafkawith the following functionalities (@wildum):- GSSAPI config
- enable/disable PA_FX_FAST
- set a TLS server name
- show the offset/lag for all consumer group or only the connected ones
- set the minimum number of topics to monitor
- enable/disable auto-creation of requested topics if they don't already exist
- regex to exclude topics / groups
- added metric kafka_broker_info
-
In
prometheus.exporter.kafka, the interpolation table used to compute estimated lag metrics is now pruned onmetadata_refresh_intervalinstead ofprune_interval_seconds. (@wildum) -
Don't restart tailers in
loki.source.kubernetescomponent by above-average time deltas if K8s version is >= 1.29.1 (@hainenber) -
In
mimir.rules.kubernetes, add support for running in a cluster of Alloy instances by electing a single instance as the leader for themimir.rules.kubernetescomponent to avoid conflicts when making calls to the Mimir API. (@56quarters) -
Add the possibility of setting custom labels for the AWS Firehose logs via
X-Amz-Firehose-Common-Attributesheader. (@andriikushch)
-
Fixed issue with defaults for Beyla component not being applied correctly. (marctc)
-
Fix an issue on Windows where uninstalling Alloy did not remove it from the Add/Remove programs list. (@rfratto)
-
Fixed issue where text labels displayed outside of component node's boundary. (@hainenber)
-
Fix a bug where a topic was claimed by the wrong consumer type in
otelcol.receiver.kafka. (@wildum) -
Fix an issue where nested import.git config blocks could conflict if they had the same labels. (@wildum)
-
In
mimir.rules.kubernetes, fix an issue where unrecoverable errors from the Mimir API were retried. (@56quarters) -
Fix an issue where
faro.receiver'sextra_log_labelswith empty value don't map existing value in log line. (@hainenber) -
Fix an issue where
prometheus.remote_writeonly queued data for sending every 15 seconds instead of as soon as data was written to the WAL. (@rfratto) -
Imported code using
sloglogging will now not panic and replay correctly when logged before the logging config block is initialized. (@mattdurham) -
Fix a bug where custom components would not shadow the stdlib. If you have a module whose name conflicts with an stdlib function and if you use this exact function in your config, then you will need to rename your module. (@wildum)
-
Fix an issue where
loki.source.dockerstops collecting logs after a container restart. (@wildum) -
Upgrading
pyroscope/ebpffrom 0.4.6 to 0.4.7 (@korniltsev):- detect libc version properly when libc file name is libc-2.31.so and not libc.so.6
- treat elf files with short build id (8 bytes) properly
-
Update
alloy-mixinto use more specific alert group names (for example,alloy_clusteringinstead ofclustering) to avoid collision with installs ofagent-flow-mixin. (@rfratto) -
Upgrade Beyla from v1.4.1 to v1.5.1. (@marctc)
-
Add a description to Alloy DEB and RPM packages. (@rfratto)
-
Allow
pyroscope.scrapeto scrapealloy.internal:12345. (@hainenber) -
The latest Windows Docker image is now pushed as
nanoserver-1809instead oflatest-nanoserver-1809. The old tag will no longer be updated, and will be removed in a future release. (@rfratto) -
The log level of
finished node evaluationlog lines has been decreased to 'debug'. (@tpaschalis) -
Update post-installation scripts for DEB/RPM packages to ensure
/var/lib/alloyexists before configuring its permissions and ownership. (@rfratto) -
Remove setcap for
cap_net_bind_serviceto allow alloy to run in restricted environments. Modern container runtimes allow binding to unprivileged ports as non-root. (@BlackDex) -
Upgrading from OpenTelemetry v0.96.0 to v0.99.0.
otelcol.processor.batch: Prevent starting unnecessary goroutines. open-telemetry/opentelemetry-collector#9739otelcol.exporter.otlp: Checks for port in the config validation for the otlpexporter. open-telemetry/opentelemetry-collector#9505otelcol.receiver.otlp: Fix bug where the otlp receiver did not properly respond with a retryable error code when possible for http. open-telemetry/opentelemetry-collector#9357otelcol.receiver.vcenter: Fixed the resource attribute model to more accurately support multi-cluster deployments. open-telemetry/opentelemetry-collector-contrib#30879 For more information on impacts please refer to: open-telemetry/opentelemetry-collector-contrib#31113 The main impact is thatvcenter.resource_pool.name,vcenter.resource_pool.inventory_path, andvcenter.cluster.nameare reported with more accuracy on VM metrics.otelcol.receiver.vcenter: Remove thevcenter.cluster.nameresource attribute from Host resources if the Host is standalone (no cluster). open-telemetry/opentelemetry-collector-contrib#32548otelcol.receiver.vcenter: Changes process for collecting VMs & VM perf metrics to be more efficient (one call now for all VMs). open-telemetry/opentelemetry-collector-contrib#31837otelcol.connector.servicegraph: Added a newdatabase_name_attributeconfig argument to allow users to specify a custom attribute name for identifying the database name in span attributes. open-telemetry/opentelemetry-collector-contrib#30726otelcol.connector.servicegraph: Fix 'failed to find dimensions for key' error from race condition in metrics cleanup. open-telemetry/opentelemetry-collector-contrib#31701otelcol.connector.spanmetrics: Addmetrics_expirationoption to enable expiration of metrics if spans are not received within a certain time frame. By default, the expiration is disabled (set to 0). open-telemetry/opentelemetry-collector-contrib#30559otelcol.connector.spanmetrics: Change default value ofmetrics_flush_intervalfrom 15s to 60s. open-telemetry/opentelemetry-collector-contrib#31776otelcol.connector.spanmetrics: Discard counter span metric exemplars after each flush interval to avoid unbounded memory growth. This aligns exemplar discarding for counter span metrics with the existing logic for histogram span metrics. open-telemetry/opentelemetry-collector-contrib#31683otelcol.exporter.loadbalancing: Fix panic when a sub-exporter is shut down while still handling requests. open-telemetry/opentelemetry-collector-contrib#31410otelcol.exporter.loadbalancing: Fix memory leaks on shutdown. open-telemetry/opentelemetry-collector-contrib#31050otelcol.exporter.loadbalancing: Support the timeout period of k8s resolver list watch can be configured. open-telemetry/opentelemetry-collector-contrib#31757otelcol.processor.transform: Change metric unit for metrics extracted withextract_count_metric()to be the default unit (1). open-telemetry/opentelemetry-collector-contrib#31575otelcol.receiver.opencensus: Refactor the receiver to pass lifecycle tests and avoid leaking gRPC connections. open-telemetry/opentelemetry-collector-contrib#31643otelcol.extension.jaeger_remote_sampling: Fix leaking goroutine on shutdown. open-telemetry/opentelemetry-collector-contrib#31157otelcol.receiver.kafka: Fix panic on shutdown. open-telemetry/opentelemetry-collector-contrib#31926otelcol.processor.resourcedetection: Only attempt to detect Kubernetes node resource attributes when they're enabled. open-telemetry/opentelemetry-collector-contrib#31941otelcol.processor.resourcedetection: Fix memory leak on AKS. open-telemetry/opentelemetry-collector-contrib#32574otelcol.processor.resourcedetection: Update to ec2 scraper so that core attributes are not dropped if describeTags returns an error (likely due to permissions). open-telemetry/opentelemetry-collector-contrib#30672
-
Use Go 1.22.3 for builds. (@kminehart)
-
Support for programmable pipelines using a rich expression-based syntax.
-
Over 130 components for processing, transforming, and exporting telemetry data.
-
Native support for Kubernetes and Prometheus Operator without needing to deploy or learn a separate Kubernetes operator.
-
Support for creating and sharing custom components.
-
Support for forming a cluster of Alloy instances for automatic workload distribution.
-
(Public preview) Support for receiving configuration from a server for centralized configuration management.
-
A built-in UI for visualizing and debugging pipelines.