Thursday, August 19, 2021

ClamAV 0.104.0 Second Release Candidate is here!

Today we are publishing a second release candidate for 0.104.0. Please help us verify that 0.104.0-rc2 works on your systems and that we have resolved the concerns you reported with the first release candidate. We need your feedback, so let us know what you find and join us on the ClamAV mailing list, or on our Discord.

In particular, we'd love your feedback on the new Debian and RPM packages (see below) and on the install documentation on docs.clamav.net.

For details about what is new in the 0.104 feature release, please refer to the announcement for the first release candidate.


What changed since the first release candidate

First and foremost, we are listening to your concerns about the build system change from Autotools to CMake, and about changes coming in a future feature release when we add the Rust programming language toolchain into our build requirements. We can't bring back Autotools, but we hope that the following will help.

  1. We are introducing a Long Term Support (LTS) program that will begin with the 0.103 feature release. Users will be required to stay up to date with the latest patch versions (e.g., 0.103.3) within the 0.103 feature series, but will have the peace-of-mind that the 0.103 feature release will receive critical patch versions with a stable ABI up until End-of-Life in September 2023. Stay tuned for a separate blog post introducing the full details of our LTS program. We will also add a version-support-matrix to our online documentation in tandem with the LTS blog post for easy reference.

  2. We plan to increase our feature release cadence to make it easier to plan and to get new features and efficacy improvements into your hands faster. So, to make it easier for you to stay up-to-date with the latest stable release, we are introducing new package installers for macOS and for RPM-based and Debian-based Linux distributions. These new packages will be available for download on the clamav.net Downloads page. You can find installation instructions for these packages in our online documentation. Please note that the Linux packages unfortunately do not include clamav-milter at this time, and that we are still working on the signing & notarization process for the macOS installer, so it may not work for users on the latest macOS version.

In addition to the above, we've resolved the following issues identified during the first release candidate:

  • Increased the functionality level (FLEVEL) for the 0.104 release to make space for additional 0.103 (LTS) patch versions. See the Version & FLEVEL reference.
  • Improvements installation instructions in INSTALL.md and in the online documentation.
  • Fixed iconv / libiconv detection in the CMake configuration process when -Werror=return-type is enabled, such as in the openSUSE packaging environment. See PR-233.
  • Fixed broken CMake build when RAR support is intentionally disabled and test-support is enabled. See PR-237.
  • Fixed broken CMake build on systems that do not provide format string macros for standard integer types. See PR-231.
  • Improved long file path support on Windows. (Disclaimer: presently requires user to opt-in with a registry key change). See PR-229.
  • Fixed a segfault and socket file descriptor leak in ClamOnAcc. See PR-227.
  • Fixed an error reported by ClamD when scanning directories on Windows. See PR-230.
  • Fixed issue with Freshclam support for Universal Naming Convention (UNC) paths on Windows. See PR-226.
  • Added missing environment variable feature documentation to the manpages. See PR-254.
  • Fixed an assortment of issues identified by Coverity static analysis. See PR-221.
  • Tuned the Valgrind suppression rules for the public test suite to resolve a false positive that caused intermittent ClamD test failures. See PR-238.
  • Fixed the mspack library name to deconflict with system installed mspack packages. See PR-234.
  • Fixed a false positive in the ClamD tests, reported by Valgrind when compiling with Clang. See PR-236.

Special thanks to Arjen de Korte and Mark Fortescue for contributing patches to fix some of the above issues. And thank you to so many of you who chimed in on the mailing lists, on Discord, and on GitHub Issues to identify issues and share your experiences with the first release candidate.