Files
ports/news/inn
Kevin Bowling 6f63ac1c51 news/inn: Update to 2.7.4
Changes in 2.7.4 (2026-06-22)

* 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.
2026-06-28 22:07:59 -07:00
..
2026-06-28 22:07:59 -07:00
2026-06-28 22:07:59 -07:00
2026-06-28 22:07:59 -07:00