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
バグ修正
- オンホスト:nri-flexバイナリのコピーを削除し、infra agentTypeが修正されました。
セキュリティアップデート
- Rustクレートのclapを4.6.4に更新しました。
- rustクレートtokioを1.53.1に更新しました
- rust crate glob を 0.3.4 に更新しました
- rust crate tokio-stream を 0.1.19 に更新しました
- rustクレートsynを3.0.3に更新しました
変更の詳細については、リリースノートを参照してください。
July 23
Agent Control v1.19.1
バグ修正
- オンホスト:nri-flexバイナリのコピーを削除し、infra agentTypeが修正されました。
セキュリティアップデート
- Rustクレートのclapを4.6.4に更新しました。
- rustクレートtokioを1.53.1に更新しました
- rust crate glob を 0.3.4 に更新しました
- rust crate tokio-stream を 0.1.19 に更新しました
- rustクレートsynを3.0.3に更新しました
変更の詳細については、リリースノートを参照してください。
July 20
Agent Control v1.19.0
新機能
- オンホストおよびKubernetes:ライブ・リモート設定の更新によってエージェントのタイプが引き上げられた場合、Agent Controlはエージェントごとのファイルシステムと共有ファイルシステムの両方を調整し、アクティブなエージェントの宣言に表示されなくなった、古いタイプによって宣言されたパスを削除するようになりました。ほかのアクティブなエージェントによって引き続き要求されている共同所有の共有パスは保持されます。Kubernetesでは、古いタイプでアノテーションされたk8sオブジェクトはガベージ・コレクションされますが、新しいタイプのリソースはそのまま残されます。
- コマンドラインからOCIレジストリにエージェント・パッケージおよびエージェント・タイプ定義をプッシュするために、
oci-utilsCLIをtest/crates/oci-test-utilsに追加します(開発/テスト・ツール;未公開)。 - オンホストのエージェント・タイプの解析で
reported_version_packageが検証されるようになりました:宣言されたパッケージを参照する必要があり、複数のパッケージが定義されている場合は必須です。無効な設定は、解析時に分かりやすいエラーとともに拒否されます。このreported_version_packageは、どのバージョンがagent.versionとして報告されるかを決定します。 - オンホストの"in-agent"ファイルシステムに対する
copy_from_fileのサポートを追加します。 - オンホストのエージェント・タイプにおける
shared_filesystemのサポートを追加します。これには単一所有者のルールが含まれます:共有ファイルシステム内の同じパスを要求する2つのエージェントは無効であり、Failedとして報告されます。 - オンホストの自己更新:自己更新の進行中は、サブエージェントの調整をスキップします。単一のリモート設定がAgent Controlのバージョンを上げ、かつサブエージェントの
agent_typeを変更する場合、変更されたサブエージェントは、プロセスの再起動直前に再作成されることはなくなりました;新しい設定は保存され、再起動したプロセスによってクリーンに再適用されるため、冗長なサブエージェントの再起動とテレメトリーのギャップを回避できます。 - オンホスト:LinuxとWindowsの両方でnri-redisのagentTypeのサポートを追加しました。
- オンホストのヘルス設定:フラットな
health.http:/health.file:フィールドを明示的なchecks:リストに置き換えました。各エントリはkind:(Process、Http、またはFile)によって区別されます。以前は暗黙的だった監視対象プロセスのヘルスチェックは、kind: Processとして宣言されるようになりました。省略された、または空のchecks:リストは、ヘルスレポートを完全に無効にします。 - オンホストのファイルシステムエントリ(
file/dir)は、サブエージェントの停止、再起動、および設定の適用後も常に維持されるようになりました。既存のエージェントタイプのYAMLにある余分なpersistent:キーは、拒否されるのではなく無視されます。
バグ修正
- agentTypeで
package.version.<id>として指定された各パッケージに識別属性を追加しました。 - RPMパッケージは、以前のアンインストールによって残された
.rpmsaveバックアップからlocal_config.yamlを復元するようになりました。
セキュリティアップデート
- Rustクレートのbytesを1.12.1に更新しました。
- rust crate regexを1.13.1に更新しました
- rustをv1.97.1に更新しました
- alpine/helmをv4.2.3に更新しました
- Rustクレートtomlを1.1.3に更新しました。
- Rustクレートsynをv3に更新しました。
- Rustクレートclapを4.6.2に更新しました。
- rust crate tokioを1.53.0に更新しました
- rust crate AWS-lc-rsを1.17.3に更新しました
- rust crate thiserrorを2.0.19に更新しました
- rust crate serdeを1.0.229に更新しました
- Rustクレートasync-traitを0.1.91に更新しました。
- rust crate futuresを0.3.33に更新しました
- rust crate quoteを1.0.47に更新しました
- Rustクレートserde_jsonを1.0.151に更新しました。
変更の詳細については、リリースノートを参照してください。
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.