All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased section should follow Release Toolkit.
Remember that the keywords that you can use are the following:
- breaking => Major
- security => Minor
- enhancement => Minor
- bugfix => Patch
- Added identifying attributes for each package specified in the agentType as
package.version.<id>. - RPM packages now restore
local_config.yamlfrom the.rpmsavebackup left by a prior uninstall.
- On-host agent-type parsing now validates
reported_version_package: it must reference a declared package, and is required when more than one package is defined. Invalid configurations are rejected at parse time with a descriptive error. Thisreported_version_packagewill be used to know which version to report asagent.version. - Add support for
copy_from_filefor on-host "in-agent" filesystem. - Add support for
shared_filesystemin on-host agent types. It includes a single-owner rule: two agents claiming the same path in the shared-filesystem are invalid and reported as Failed. - On-host self-update: skip sub-agent reconciliation when a self-update is in progress. When a single remote config both bumps the Agent Control version and changes a sub-agent's
agent_type, the changed sub-agent is no longer recreated moments before the process restarts; the new config is stored and re-applied cleanly by the restarted process, avoiding a redundant sub-agent restart and telemetry gap. - On-host agent-type parsing now rejects a filesystem entry marked
persistent: truewhen a parent directory is not persistent. A non-persistent parent is deleted recursively on sub-agent stop and would take the persistent child with it, so the whole parent chain must be declaredpersistent: true. - On-host health config: replaced the flat
health.http:/health.file:fields with an explicitchecks:list. Each entry is discriminated bykind:(Process,Http, orFile). The previously implicit supervised-process health check is now declared askind: Process. An omitted or emptychecks:list disables health reporting entirely.
- Adds exponential backoff + jitter retries to OCI artifact fetches via a new
BackoffPolicy(configurable underself_update.download_retry), replacing the oldwith_retries(usize, Duration)API. - add post-download script support for OCI packages.
- Hardens service restart policies on Linux and Windows (systemd rate limiting: 5 restarts max in 60s) to prevent crash-looping from saturating CPU.
- Added support for remote agent type definition retrieval from OCI registries.
- Agent type definitions now tolerate unknown fields for forward compatibility.
- On-host agents: now it is possible to avoid specifying a health check in the agent type definition, in which case the agent health will be not reported.
- On-host agents: removed command-based version checking. Agent version is now determined from OCI package metadata, eliminating the need for
deployment.versionconfiguration in agent type definitions. - Replace filesystem in on-host agent-type definitions with an explicit, recursive, tagged-kind tree: every entry declares
kind: file | dir | dir_content_from_map, anddirentries nest viaentries:. - On-host filesystem entries now accept a
persistentflag (defaultfalse): ephemeral entries are deleted on sub-agent stop, persistent entries survive until the agent is removed from the fleet. Reconciliation across writes is driven by a.ac-managed-paths.jsonmanifest (reserved filename — agent types must not declare it) so paths Agent Control no longer owns are deleted while sub-agent-created files are preserved. - Include new 'shared-filesystem-dir` variable for Agent Types.
- Extend internal
fscrate with a copy operation. - Removed the filesystem manifest-based prune mechanism; Agent Control no longer deletes previously-declared paths that a config later drops. Agent-managed files are reclaimed only when the agent is removed from the fleet.
- On-host self-update: an empty
version: ""pushed from Fleet Control now behaves the same as an absentversionfield (no-op, no update attempted). Previously it silently triggered a pull of the:latestOCI tag.
- Updated rust crate config to 0.15.25
- Updated rust crate syn to 2.0.118
- Updated alpine/helm to v4.2.2
- Updated rust crate bytes to 1.12.0
- Updated rust crate serde-saphyr to 0.0.29
- Updated rust crate actix-web to 4.14.0
- Updated rust crate quote to 1.0.46
- Updated kubernetes crates (major)
- Updated rust crate opentelemetry-semantic-conventions to 0.32.1
- Updated rust crate mockall to 0.15.0
- Updated rust to v1.96.1
- Updated rust crate aws-lc-rs to 1.17.1
- Updated rust crate rustls-pki-types to 1.15.0
- Updated rust crate opamp-client to v0.0.41
- Added support for JP endpoints.
- Agent type definitions changed: flat per-platform schema (one YAML per
(platform, operating_system)pair), a new top-levelprotocol_versionfield (quotedMAJOR.MINOR, validated at registry ingestion), and strictername/namespacevalidation (no-) andversion(plainMajor.Minor.Patchsemver). FQNs and configuration values are unchanged, so this is not a breaking change for end users; internal authors of custom definitions must migrate — see docs/INTEGRATING_AGENTS.md.
- Validate version coming from remote.
- Updated rust crate chrono to 0.4.45
- Updated amazon-eks to v1.36
- Updated rust crate http to 1.4.2
- Updated rust crate regex to 1.12.4
- Updated alpine/kubectl to v1.36.2
- Updated alpine/helm to v4.2.1
- Updated rust crate opamp-client to v0.0.40
- Updated rust crate nr-auth to v0.5.1
- the agentType for the PCG config should be called pipeline_control_gateway_config_mode
- Add support for Ubuntu 26.
- Updated rust crate serial_test to 3.5.0
- Add DaemonSet health-check in pipeline-control-gateway-config Agent Type
- pcg_config: revert agentType config
- Updated rust crate opentelemetry_sdk to 0.32.1
- Updated rust crate serde-saphyr to 0.0.27
- Updated rust to v1.96.0
- On-host: clean the OpAMP instance id and remote config of an agent when it is removed, matching the k8s behavior (previously these files were left orphaned under
fleet-data/). - self-instrumentation: dropped the internal traces exporter support for self-instrumentation.
- pcg_config: the agentType variable structure should assume the same file structure
- cd_enabled: when cd_enabled is false, we should set ac_remote_update to false as well
- Updated rust crate oci-client to 0.17.0
- Updated rust crate either to 1.16.0
- Updated rust crate serde_json to 1.0.150
- Updated rust crate http to 1.4.1
- Updated rust crate reqwest to 0.13.4
- bumping opamp-rs to fix custom_capabilities
- Updated rust crate aws-lc-rs to 1.17.0
- Updated rust crate config to 0.15.23
- Updated alpine/helm to v4.2.0
- Updated rust crate opamp-client to v0.0.39
- Updated alpine/kubectl to v1.36.1
- Updated rust crate tar to 0.4.46
- We should check cd_enabled not remote update
- OCI registry authentication configurable via config
- Adds support for Fluxless mode