Fleet and Elastic Agent release notes
Review the changes, fixes, and more in each version of Fleet and Elastic Agent.
To check for security updates, go to Security announcements for the Elastic stack.
Elastic Agent integrates and manages Beats for data collection, and Beats changes may impact Elastic Agent functionality. To check for Elastic Agent changes in Beats, go to Beats release notes.
Elastic Agent
Adds a new configuration setting,
agent.upgrade.rollback.window
. #8065 #6881The value of the
agent.upgrade.rollback.window
setting determines the period after upgrading Elastic Agent when a rollback to the previous version can be triggered. This is an optional setting, with a default value of168h
(7 days). The value can be any string that is parseable by https://pkg.go.dev/time#ParseDuration.Removes resource/k8s processor and uses k8sattributes processor for service attributes. #8599
This PR removes the
resource/k8s
processor in honour of the k8sattributes processor that provides native support for the service attributes: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.127.0/processor/k8sattributesprocessor#configuring-recommended-resource-attributes This change is aligned with the respective semantic conventions' guidance: https://opentelemetry.io/docs/specs/semconv/non-normative/k8s-attributes/#service-attributesAdds elastic.agent.fips to local_metadata. #7112
Validates pbkdf2 settings when in FIPS mode. #7187
Adds FIPS-capable agent file vault. #7360
With this change FIPS-capable agents will only be able to upgrade to other FIPS-capable agents. This change also restricts non-FIPS to FIPS upgrades as well. #7312
Updates the error messages returned for FIPS upgrades. #7453
Retries enrollment requests on any error. #8056
Removes deprecated otel Elasticsearch exporter config
*_dynamic_index
from code and samples. #8592Includes the forwardconnector as an EDOT collector component. #8753
Updates otel components to v0.129.0. #8819
Updates apm config extension to v0.4.0. #8819
Updates elastic trace processor to v0.7.0. #8819
Updates elastic apm connector to v0.4.0. #8819
Updates api key auth extension to v0.2.0. #8819
Updates elastic infra metrics processor to v0.16.0. #8819
Bumps apmconfig extension to v0.3.0. #8819
Fleet Server
Adds ability for enrollment to take an agent id. #4290 #4226
Adds migrate-action. #4786
Added new MIGRATE action type for moving agent to different cluster.
Clears agent.upgrade_attempts when upgrade is complete. #4528
Makes pbkdf2 settings validation FIPS compliant. #4542
Updates to Go v1.24.0. #4543
Adds version metadata to version command output. #4820
Adds rollback attribute to upgrade actions. #4838
Elastic Agent
- Upgrade to Go 1.24.3. #8109
- Correctly handle sending signal to child process. #7738 #6875
- Preserve agent run state on deb and rpm upgrades. #7999
- Use --header from enrollment when communicating with Fleet Server. #8071 #6823
- Address a race condition that can occur in agent diagnostics if log rotation runs while logs are being zipped.
- Use paths.tempdir for diagnostics actions. #8472
- Use debian 11 to build linux/arm to match linux/amd64. Upgrades linux/arm64's statically linked glibc from 2.28 to 2.31. #8497
- Relax file ownership check to allow admin re-enrollment on Windows. #8503 #7794
- Remove incorrect logging that unprivileged installations are in beta. #8715 #8689
- Ensure standalone Elastic Agent uses log level from configuration instead of persisted state. #8784 #8137
- Resolve deadlocks in runtime checkin communication. #8881 #7944
- Remove init.d support from rpm packages. #8896 #8840
Fleet Server
- Upgrade golang.org/x/net to v0.34.0 and golang.org/x/crypto to v0.32.0. #4405
- Update Go to v1.24.3. #4891
- Fix host parsing in Elasticsearch output diagnostics. #4765
- Redact output in bootstrap config logs. #4775
- Mutex protection for remote bulker config. #4776
- Enable dead code elimination. #4784
- Include the base error for JSON decode error responses. #5069
Elastic Agent
- Add file logs only managed OTLP input kube-stack configuration. #8785
Elastic Agent
- Remove incorrect logging that unprivileged installations are in beta. #8715 #8689
- Ensure standalone Elastic Agent uses log level from configuration instead of persisted state. #8784 #8137
- Resolve deadlocks in runtime checkin communication. #8881 #7944
- Remove init.d support from RPM packages. #8896 #8840
Fleet Server
- Include the base error for JSON decode error responses. #5069
Elastic Agent
- Add
Cumulativetodeltaprocessor
To EDOT Collector. #8372
Fleet Server
- Update Go version to v1.24.4. #5025
Elastic Agent
- Address a race condition that can occur in agent diagnostics if log rotation runs while logs are being zipped. #8215
- Use
paths.tempdir
for diagnostics actions. #8472 - relax file ownership check to allow admin re-enrollment on Windows. #8503
- Improves the upgrade process for Elastic Agent installed using DEB or RPM packages by copying the run directory from the previous installation into the new version's folder #7999 #3832
- Reuse shared integration policies when duplicating Elastic Agent policies in Fleet #217872
- Update OTel components to v0.121.0 #7686
- Add nopexporter to Elastic Distribution of OTel Collector (EDOT) Collector #7788
- In Elastic Agent, use
fullnameOverride
to set the fully qualified application names in the EDOT Kube-Stack Helm chart. #7754 #7381
- In the EDOT Collector, fix Managed OTLP Helm config to use the current image repository #7882
- New setting allowing automatic deletion of unenrolled agents in Fleet settings #195544
- Adds the Azure Asset Inventory definition to Cloudbeat for Elastic Agent #5323
- Adds Kubernetes deployment of the Elastic Distribution of OTel Collector named "gateway" to the Helm kube-stack deployment for Elastic Agent #6444
- Adds the filesource provider to composable inputs. The provider watches for changes of the files and updates the values of the variables when the content of the file changes for Elastic Agent #6587 and #6362
- Adds the jmxreceiver to the Elastic Distribution of OTel Collector for Elastic Agent #6601
- Adds support for context variables in outputs as well as a default provider prefix for Elastic Agent #6602 and #6376
- Adds the Nginx receiver and Redis receiver OTel components for Elastic Agent #6627
- Adds --id (ELASTIC_AGENT_ID environment variable for container) and --replace-token (FLEET_REPLACE_TOKEN environment variable for container) enrollment options for Elastic Agent #6498
- Updates Go version to 1.22.10 in Elastic Agent #6236
- Improves filtering and visibility of Uninstalled and Orphaned agents in Fleet, by differentiating them from Offline agents #205815
- Introduces air-gapped configuration for bundled packages in Fleet #202435
- Updates removed parameters of the Fleet -> Logstash output configurations #210115
- Updates the maximum supported package version in Fleet #196675
- Replaces the use of context.TODO and context.Background in logger function calls for most Fleet Server use cases #4168 and #3087
- Refactor the Fleet Server API constructor to use functional opts instead of a long list of pointers #4169 and #3823
- Removes the deprecated policy_throttle configuration setting in favour of the newer policy-limit for Fleet Server #4288
- Adds the ability for Elastic Agent to enroll using a specific ID #4290 and #4226
- Adds the Filebeat receiver into Elastic Agent #5833
- Updates OTel components to v0.119.0 in Elastic Agent #6713
- Removes old bundled.yaml from oas, fixed tags #194788
- Fixes a validation error that occurs on multi-text input fields in Fleet #205768
- Adds a context timeout to the bulker flush in Fleet Server so it times out if it takes more time than the deadline #3986
- Removes a race condition that may occur when remote Elasticsearch outputs are used in Fleet Server #4171
- Uses the chi/middleware.Throttle package to track in-flight requests and return a 429 response when the limit is reached in Fleet Server #4402 and #4400
- Fixes logical race conditions in the kubernetes_secrets provider in Elastic Agent #6623
- Resolves the proxy to inject into agent component configurations using the Go http package in Elastic Agent #6675 and #6209