August 11
Agent Control v1.21.0
New features
- Windows filesystem: Removed unused code and use higher-level APIs for Windows interaction.
- Reports the
com.newrelic.remoteAgentTypeRepoReachableOpAMP custom capability when the configured Agent Type OCI repository is reachable at startup. - On-host: added nri-flex agentType.
Bug fixes
- Windows: fixed files under Agent Control's managed directories being left with permissions it could not use. Managed directories now use an inheritable Administrators ACE, and Agent Control tries to repair ACEs on startup.
Security updates
- Updated rust crate http to 1.5.0
- Updated rust crate clap to 4.6.6
- Updated rust crate serde-saphyr to 1.0.1
- Updated rust crate base64 to 0.23.1
- Updated rust crate aws-lc-rs to 1.18.0
- Updated rust crate thiserror to 2.0.20
- Updated rust crate async-trait to 0.1.92
- Updated rust crate actix-web to 4.14.1
- Updated rust crate rcgen to 0.14.9
For a detailed description of changes, see the release notes.
July 29
Agent Control v1.20.0
New features
- Kubernetes:
--release-nameis now optional onuninstall-agent-control; omitting it skips deleting the release's own HelmRelease/HelmRepository CRs. - On-host: added nri-apache and nri-nginx agentTypes.
- On-host: added nri-postgresql agentType.
- On-host: added nri-mysql agentType.
- On-host: added nri-memcached Agent Type.
- Log files rotated have now 30 days of retention.
- Added
agent-type validate --file <path>subcommand tonewrelic-agent-control-cliandnewrelic-agent-control-k8s-clifor schema-level validation of agent type definition files. - Extended
agent-type validatewith semantic validation: every${nr-var:X}reference indeploymentmust have a matchingvariablesdeclaration. - Enable cache for remote Agent Type registry
Security updates
- Updated rust crate kube to 4.2.0
- Updated rust crate rustls-pki-types to 1.15.1
- Updated rust crate base64 to 0.23.0
- Updated rust crate either to 1.17.0
- Updated rust crate jsonwebtoken to v11
- Updated rust crate serial_test to v4
- Updated rust crate schemars to 1.2.2
- Updated alpine/kubectl to v1.36.3
- Updated rust crate toml to 1.1.4
For a detailed description of changes, see the release notes.
July 23
Agent Control v1.19.1
Bug fixes
- On-host: the infra agentType has been fixed removing nri-flex binary copy.
Security updates
- Updated rust crate clap to 4.6.4
- Updated rust crate tokio to 1.53.1
- Updated rust crate glob to 0.3.4
- Updated rust crate tokio-stream to 0.1.19
- Updated rust crate syn to 3.0.3
For a detailed description of changes, see the release notes.
July 20
Agent Control v1.19.0
New features
- On-host and Kubernetes: When an agent's type is bumped via a live remote config update, Agent Control now reconciles both per-agent and shared filesystems, deleting paths declared by the old type that no longer appear in any active agent's declarations. Co-owned shared paths still claimed by another active agent are preserved. On Kubernetes, k8s objects annotated with the old type are garbage-collected while new-type resources are left intact.
- Adds
oci-utilsCLI totest/crates/oci-test-utilsfor pushing agent packages and agent type definitions to OCI registries from the command line (dev/test tooling; not published). - 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_packagedetermines which version is reported asagent.version. - Adds support for
copy_from_filefor on-host "in-agent" filesystem. - Adds 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: Added support for nri-redis agentType for both Linux and Windows.
- 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. - On-host filesystem entries (
file/dir) now always survive sub-agent stop, restart, and config-apply. A straypersistent:key in existing agent-type YAML is ignored rather than rejected.
Bug fixes
- 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.
Security updates
- Updated rust crate bytes to 1.12.1
- Updated rust crate regex to 1.13.1
- Updated rust to v1.97.1
- Updated alpine/helm to v4.2.3
- Updated rust crate toml to 1.1.3
- Updated rust crate syn to v3
- Updated rust crate clap to 4.6.2
- Updated rust crate tokio to 1.53.0
- Updated rust crate aws-lc-rs to 1.17.3
- Updated rust crate thiserror to 2.0.19
- Updated rust crate serde to 1.0.229
- Updated rust crate async-trait to 0.1.91
- Updated rust crate futures to 0.3.33
- Updated rust crate quote to 1.0.47
- Updated rust crate serde_json to 1.0.151
For a detailed description of changes, see the release notes.
July 6
Agent Control v1.18.0
Features
- Added exponential backoff and jitter retries to OCI artifact fetches using a new
BackoffPolicy(configured underself_update.download_retry), replacing the previouswith_retries(usize, Duration)API. - Added post-download script support for OCI packages.
- Hardened service restart policies on Linux and Windows platforms (implementing
systemdrate limiting: maximum of 5 restarts within 60 seconds) to prevent crash-looping from saturating CPU capacity. - Added support for retrieving remote agent type definitions directly from OCI registries.
- Configured agent type definitions to tolerate unknown fields to ensure forward compatibility.
- Added support for creating on-host agents without defining a health check, which disables health reporting for that agent.
- Streamlined version tracking for on-host agents by deriving versions directly from OCI package metadata. This eliminates command-based version checking and removes the need for the
deployment.versionconfiguration in agent type definitions. - Replaced the
filesystemconfiguration in on-host agent type definitions with an explicit, recursive, tagged-kind tree structure where every entry declareskind: file | dir | dir_content_from_mapanddirentries nest usingentries:. - Introduced a
persistentflag (default value is set tofalse) for on-host filesystem entries; ephemeral entries are deleted when a sub-agent stops, while persistent entries remain until the agent is removed from thefleet.Reconciliationacross 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. - Introduced the
shared-filesystem-dirvariable for agent type configurations. - Extended the internal
fscrate to support file copy operations. - Removed the filesystem manifest-based prune mechanism; Agent Control no longer deletes previously-declared paths dropped by subsequent configurations; agent-managed files are now reclaimed only when the agent is removed from the fleet.
Fixes
- Fixed an on-host self-update issue where pushing an empty
version: ""string from Fleet Control incorrectly triggered an image pull of the:latestOCI tag. It now correctly treats an empty string as a no-op (), matching the behavior of an absent version field.
For a detailed description of changes, see the release notes.