From rra at isc.org Mon Jul 6 02:01:59 2026 From: rra at isc.org (Russ Allbery) Date: Sun, 05 Jul 2026 19:01:59 -0700 Subject: [ANNOUNCE] INN 2.7.4 available Message-ID: <87zf04swo8.fsf@hope.eyrie.org> Internet Systems Consortium is pleased to announce that a new minor release of INN is available at: https://downloads.isc.org/isc/inn/inn-2.7.4.tar.gz An OpenPGP signature of this release is present in the same directory. A diff from the previous release are readily available either using Git commands or from the GitHub release page at: https://github.com/InterNetNews/inn/releases/tag/2.7.4 This is a bug-fix and minor feature release over 2.7.3. Upgrading an existing INN 2.7.3 installation is as simple as building INN 2.7.4, running make update, and restarting innd and related programs. Many thanks to Julien ?LIE for preparing this release. Changes in 2.7.4: * The speed of expireover has been greatly improved by the implementation of a Bloom filter (a probabilistic data structure used to efficiently test whether an element is a member of a set, without any false negative). Instead of checking every article in the overview database against the history file to detect orphaned entries, expireover now sequentially reads the history file at startup to build a Bloom filter, and makes its checks in that optimized data structure. On large news spools of billions of articles, expireover could take several weeks to complete; it now runs in a few minutes! This feature is activated by default and controlled by the new *expirebloomfp* parameter in inn.conf. Many thanks to Kevin Bowling for this improvement. * The speed of expire has also been drastically improved for large news spools thanks to the recording of every cancellation alongside the existing storage and overview deletions, so that expire can just drop matching history entries without doing per-article retrieval system calls, thus saving a good amount of time at billion-article scale. This feature contributed by Kevin Bowling is not enabled by default. See the documentation of *expiretombstone* in inn.conf for more details, as well as *nnrpdcheckart* which also makes use of the cancel tombstone log file. * Added four new parameters to ovsqlite.conf for the ovsqlite overview method: *mmapsize* to have SQLite read data via mmap instead of copying into its own page cache, *readercachesize* to set the SQLite in-memory page cache size for each nnrpd reader process, *walmode* to enable SQLite's Write-Ahead Logging journal mode and improve read performance when multiple nnrpd processes access the overview database simultaneously, and *walcheckpointthreshold* to parameterize when to perform checkpoints. See the ovsqlite(5) manual page for more details. Thanks to Kevin Bowling for all these enhancements! * When *laxmid* is set in the *syntaxchecks* parameter in inn.conf, Message-IDs without any "@" character are now accepted by innd. * Fixed very infrequent errors of memory mapping when updating the active file or using the tradindexed overview method, as well as when updating the history file with *nfswriter* set to true. Thanks to Chris Knipe for the bug report and to Richard Kettlewell for the patch. * Fixed the rotation of the perl-nocem.log file generated when syslog is not available or the -l flag used with perl-nocem: the contents of this log file was mistakenly appended to news.notice by scanlogs. * Fixed makehistory so that malformed input does not insert a bogus overview entry. Thanks to Kevin Bowling for the patch. * Following upstream rename from blacklist to blocklist, the --with-blacklist configure flag is renamed --with-blocklist for blocklistd support in FreeBSD 15 and NetBSD 10. For backward compatibility, both blacklist and blocklist libraries will be searched by the new --with-blocklist flag. Thanks to Jose Luis Duran for the information. * Added support for the ALPN TLS extension in nnrpd. Thanks to Roman Donchenko for this feature. * In consequence of the changes in the libinn(3) and libinnstorage(3) interfaces for the Bloom filter and overview improvements, both of these libraries have their SONAME bump in this release. * Various other minor bug fixes and documentation improvements.