IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

Fleet and Elastic Agent 8.17.1

edit

Review important information about the Fleet and Elastic Agent 8.17.1 release.

Breaking changes

edit

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade, review the breaking changes, then mitigate the impact to your application.

Elastic Agent
  • Elastic Agent Docker images for Elastic Cloud have been reverted from having been based off of Ubuntu 24.04 to being based off of Ubuntu 20.04. This is to ensure compatibility with Elastic Cloud Enterprise, support for new Wolfi-based images, and for GNU C Library (glibc) compatibility. #6393

Known issues

edit
Kibana out of memory crashes on 1 GB Elastic Cloud Kibana instances using Elastic Security view

Details

Elastic Cloud deployments that use the smallest available Kibana instance size of 1 GB may crash due to out of memory errors when the Security UI is loaded.

Impact

The root cause is inefficient memory allocation, and this is exacerbated when the prebuilt security rules package is installed on the initial load of the Elastic Security UI.

As a workaround, you can upgrade your deployment to 8.17.1 in which this issue has been resolved by #208869 and #208475.

On Windows, Elastic Agent is unable to re-enroll into Fleet

Details
There is a known issue where an Elastic Agent installed on Windows and previously enrolled into Fleet is unable to re-enroll. Attempting to enroll the Elastic Agent fails with the following error:

Error: the command is executed as root but the program files are not owned by the root user.

Impact
The issue affects Elastic Agent installed on Windows. Until a bug fix is available in a later release, you can temporarily resolve the issue by changing the ownership of the Elastic Agent directory:

icacls "C:\Program Files\Elastic\Agent" /setowner "NT AUTHORITY\SYSTEM" /t /l

After the output confirms all files were successfully processed, run the enroll command again.

fleet-agents template is missing mappings

Details

On May 2, 2025 a known issue was discovered that the .fleet-agents index template was missing a mapping for the local_metadata.complete attribute. This may cause agent checkins to be rejected and the agents to appear as offline.

In this Fleet’s logs this will appear as:

elastic fail 400: document_parsing_exception: [1:209] object mapping for [local_metadata] tried to parse field [local_metadata] as object, but found a concrete value
Eat bulk checkin error; Keep on truckin'

And in the Elastic Agent logs it will appear as:

"log.level":"error","@timestamp":"2025-04-22:12:35:25.295Z","message":"Eat bulk checkin error; Keep on truckin'","component":{"binary":"fleet-server","dataset":"elastic_agent.fleet_server","id":"fleet-server-es-containerhost","type":"fleet-server"},"log":{"source":"fleet-server-es-containerhost"},"service.type":"fleet-server","error.message":"elastic fail 400: document_parsing_exception: [1:209] object mapping for [local_metadata] tried to parse field [local_metadata] as object, but found a concrete value","ecs.version":"1.6.0","service.name":"fleet-server","ecs.version":"1.6.0"

This attribute was added to the template in versions: 8.17.11 8.18.3, and 8.19.3.

Further investigation revealed that the .fleet-agents index template was not correctly applied due to an unchanged _meta.managed_index_mappings_version number. This change also affects other attributes as well, such as upgrade_attempts, namespaces, unprivileged, and unhealthy_reason. If there is an error related to any of these attributes, there will be a similar error message in the logs.

Impact

Updating to a version with a fixed _meta.managed_index_mappings_version will correctly apply the new index template. The fixed versions are 8.18.8, 8.19.4, 9.0.8, 9.1.4.

New features

edit

The 8.17.1 release added the following new and notable features.

Elastic Agent

Enhancements

edit
Elastic Agent
  • Respond with an error message in case the user running the enroll command and the user who is the owner of the Elastic Agent program files don’t match. #6144 #4889
  • Implement the MarshalJSON method on the component.Component struct, so that when the component model is logged, the output does not contain any secrets that might be part of the component model. #6329 #5675

Bug fixes

edit
Fleet Server
  • Do not set the unenrolled_at attribute when the audit/unenroll API is called. #4221 #6213
  • Remove PGP endpoint auth requirement so that air-gapped Elastic Agents can retrieve a PGP key from Fleet Server. #4256 #4255
Elastic Agent
  • During uninstall, call the audit or unenroll API before components are stopped, if Elastic Agent is running a Fleet Server instance. #6085 #5752
  • Update OTel components to v0.115.0. #6391
  • Restore the cloud-defend binary which was accidentally removed in version 8.17.0. #6470 #6469