Released: 2026-08-20
repomd.xml and filters primary.xml, recomputing SHA256 sums so dnf’s integrity check still passes. .rpm downloads are blocked at 403 when a deny rule applies. repo_gpgcheck=0 is required on the client because rewriting repomd invalidates its signature; per-package gpgcheck=1 continues to work. Set preserve_manifest: true to keep the upstream repomd signature intact instead: metadata is then passed through unfiltered, but .rpm downloads are still blocked. Supports uncompressed, gzip, zstd, and xz metadata (bz2 streams through unmodified). filelists.xml/other.xml are left untouched and stream through unchanged.sub_paths list alongside sub_path, and either may name a directory, which contributes every .yaml/.yml file under it at any depth. Taking six rulesets from a repository such as varnish/osv-rules is now one source that clones and caches it once, where it previously took six sources, each keeping its own copy of the same repository. Rulesets added to a tracked directory later are picked up without a config change.date: field is no longer reloaded.