Volatility
Volatility 3 caught up with Volatility 2, then started reorganising itself.
A side-by-side editorial comparison of ClamAV and werf — release velocity, themes, recent moves, and the top alternatives to consider.
ClamAV's file parsers keep yielding CVEs — and every fix ships twice, to two branches.
ClamAV runs two supported lines, 1.5.x and 1.4.x, and publishes identical patch releases seconds apart whenever a vulnerability lands. The recurring source is the same: file format parsers. The July pair fixed a PESpin unpacker use-after-free and an integer overflow in PE rebuild size calculations; the March pair fixed an HTML parser error-handling crash and a JPEG scanning hang inherited from a Rust image dependency. One of the July issues reaches back to code from 2005.
Three release channels at once as werf 3 takes shape beside a still-shipping 2.75.
werf publishes into parallel channels simultaneously — v2.75.3 tagged beta, ea and stable landed the same minute as v2.75.4 for alpha, while the v3 line runs separately through 3.0.2, a 3.0.0 alpha and a 3.1.0 dev build. The 2.x entries are corrective: buildah pull retries and serialisation, a stapel service script made executable regardless of umask, host cleanup no longer wiping other werf versions' git cache. The v3 entries carry the actual features.
ClamAV runs two supported lines, 1.5.x and 1.4.x, and publishes identical patch releases seconds apart whenever a vulnerability lands. The recurring source is the same: file format parsers. The July pair fixed a PESpin unpacker use-after-free and an integer overflow in PE rebuild size calculations; the March pair fixed an HTML parser error-handling crash and a JPEG scanning hang inherited from a Rust image dependency. One of the July issues reaches back to code from 2005.
Feature work has effectively paused since 1.5.0 last October, which added OLE2 encryption detection and HTML URI recording in JSON metadata. Everything since is patch traffic. The more consequential trend is the Rust dependency chain: fixing image parsing bugs by upgrading crates has twice forced the minimum Rust compiler version upward, which pushes cost onto distribution packagers rather than end users.
Expect the dual-branch CVE pattern to continue at roughly quarterly intervals, with the PE and archive parsers the likeliest source given their history here. Whether a 1.6 line opens is not something these entries indicate — there has been no development release since the 1.5.0 cycle.
werf publishes into parallel channels simultaneously — v2.75.3 tagged beta, ea and stable landed the same minute as v2.75.4 for alpha, while the v3 line runs separately through 3.0.2, a 3.0.0 alpha and a 3.1.0 dev build. The 2.x entries are corrective: buildah pull retries and serialisation, a stapel service script made executable regardless of umask, host cleanup no longer wiping other werf versions' git cache. The v3 entries carry the actual features.
The v3 work is about making builds predictable and inspectable: embedded kubeconform schemas, a per-project meta-repo safeguard with a migration path, additional patches files with the defaults disableable, and repo-built scratch images made readable by dive. Meanwhile v3 alphas are restoring flags that v3 had dropped, which suggests the major is being trimmed and then walked back based on review. Dockerfile fidelity — COPY --parents, COPY/ADD --exclude in staged builds — is a recurring thread across both lines.
Expect the 2.75 line to keep taking build-backend fixes while v3 stabilises, with more v2 flags restored in v3 alphas as review findings land before the major reaches a stable channel.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either ClamAV or werf.
Volatility 3 caught up with Volatility 2, then started reorganising itself.
A small LDAP server that grew OpenTelemetry tracing, embedded plugins and RISC-V builds.
OctoPrint 2.0 turns serial into one connector among several, and breaks plugins doing it.
Patch tags land monthly with release notes that itemize nothing.
A self-hosted PaaS spending its releases on secrets, injection fixes and plan limits.
One release a year, each one a filesystem or networking rewrite you must plan for.
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. werf is currently shipping more aggressively (velocity 5.0 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. werf is currently shipping more aggressively (velocity 5.0 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top ClamAV alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "ClamAV alternatives" section above for the current picks, or visit /alternatives/clamav for the full list with editorial commentary on each.
Top werf alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "werf alternatives" section above for the current picks, or visit /alternatives/werf for the full list with editorial commentary on each.