This is the 20 Feb 1993 Performance Release of C News, a minor update
to the 2 May 1992 P.R. that just fixes some installation problems and
a couple of annoying bugs.  Everything that was in the "known.problems"
file on UUNET as of 17 Feb 1993 has been fixed, in particular, as well
as a couple of things that were noticed after those fixes went out.

This release is more or less a halfway step to what we've
been calling the "cleanup release".  Its main claims to fame are
(a) major modifications to improve performance for big-league
sites with a lot of outgoing feeds, and (b) a reimplemented and
much improved ihave/sendme subsystem.  A number of changes planned
for the cleanup release have also been started, although many of
them are not yet finished.  This release may have some rough
edges yet:  due to various complications, including Henry being
seriously ill at an inconvenient time, it's not as well-polished
as we usually prefer.

We are not releasing patches to bring you up to this release --
they would be too big -- and will not be releasing patches to bring
this one up to the cleanup release -- same reason.

People who are happy with the older C News might want to wait for the
cleanup release, which is still coming although behind schedule.
People with performance problems or ihave/sendme problems probably
want to install this one, though, and we'd welcome feedback on
how well it behaves.

A quick overview of changes:

inews is now largely written in C and runs about 10 times as fast as the
old one.  anne.jones is gone; I wish I could say the same of its namesake.
The state has no business in the movie theaters of the nation.

The inews etc. machinery now puts articles into the in.coming spool
directory rather than firing up relaynews directly.  This may cause some
delays in postings (although newsrun is now run rather more frequently
if you use the recommended cron configuration), but avoids a swamp of
problems with setuid, NFS, ulimit, etc etc.

The ngmatch routine has been rewritten and extended to permit pre-parsing
of frequently-matched patterns and to make the matching itself much
faster.  relaynews makes use of pre-parsing to cope rapidly with many and
complex sys entries.

news(5) has been split up due to its size and the resulting pages are
better organised.

documentation has been coalesced into a single Installation & Operations
Guide (excluding manual pages), with a table of contents and an index.

Newsrun is now much more careful about space checking (the December
release introduced some problems in this area).  It also copes better
with an unwriteable or nonexistent in.coming/bad directory, which used
to cause infinite loops and massive errlog bloat if any batch hit
problems in relaynews.

ihave/sendme has been reimplemented (twice!) and is now simpler to set up
and faster to process ihave and sendme control messages.

There is a start at a news mirroring and restoral facility (see
relaynews(8)).

relaynews now writes "master batch files" and so processes articles more
quickly for sites with many outgoing feeds.  There is a new exploder
program to turn these quickly into normal batch files.

Batching has changed to 16-bit compression as the default.  12-bit
compression is still available for the few who need it.

The space checkers are much more careful about some tricky issues,
and include provisions for much better estimates of inode consumption.

There is now an expireiflow command that can be run frequently to trigger
an expire when space gets too low (assuming you're short of space and
willing to run expire at random times).

Addmissing has been revised to lock the news system only as needed, and
generally is much more practical as something to run occasionally on an
operational system rather than only as an emergency measure.

Control messages with serious mischief potential are now delayed 24 hours,
with a note to the local sysadmin.  Newsdaily handles actual execution of
the requests, which occurs only if the control message hasn't been
cancelled meanwhile.  This is done for both "sendsys" and "version";
"senduuname" is gone entirely.  This scheme is somewhat vulnerable to
sites that expire the "control" pseudo-newsgroup quickly anyway, but
it seemed the simplest way of handling the increasing sendsys mess.

There is an (incomplete, ill-documented) provision for controlling how
the "newgroup" control message is handled.

Newswatch has provisions to keep an eye out for space shortages.

As usual, there have been assorted bits of cleanup and improvement
that don't merit specific mention (and possibly some we should mention
but have forgotten about).
