INN 2.7.4 release candidate
Julien ÉLIE
julien at trigofacile.com
Sat Jun 13 08:18:08 UTC 2026
Hi all,
A release candidate for INN 2.7.4 can be downloaded at:
https://github.com/InterNetNews/inn/releases/tag/2.7.4rc1
The tarball is attached as an asset at the end of the page.
As it has been the case since the release process of INN 2.7.1 in 2023,
we no longer use the "testing" repository on ftp.isc.org.
The final 2.7.4 release is scheduled by the end of this month (June).
Feel free to test this release candidate and report any issue you may
encounter.
Changes from 2.7.3 to 2.7.4rc1
* 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.
* Various other minor bug fixes and documentation improvements.
--
Julien ÉLIE
« Sur vingt personnes qui parlent de nous, dix-neuf en disent du mal et
la vingtième, qui en dit du bien, le dit mal. » (Rivarol)
More information about the inn-workers
mailing list