
Changes since leafnode+-2.13:

 - Changed Makefile for ease of porting.

Changes since leafnode+-2.12:

 - Added NOWAIT_LOCK macros for who want to stop leafnode when it cannot
   take a lock.
 - Added some detailed error messages.
 - Improved the estimation of the year of messages.
 - Changed to post messages to upstream servers as many as possible.
 - Changed timeout values for open and read for NNTP as variables.  You can
   change them from configuration file.

Changes since leafnode+-2.11:

 - Added DONTSTRICTDATEFORMAT flag for people don't care the correctness
   of date format.
 - Added nntpconnectauth() to call authenticate() explicitly.
   So, now authenticate() is not called automatically from putaline()
   or nntpreply().
 - Added mysyslog().
 - Applied YOSHIFUJI-san's IPv6 patch.
 - Enhanced myfnmatch to support leading '*' by following
   SHIRAI-san's implementation.
 - Implemented pattern matching functions.
 - Added "minlines", "maxbytes", "killsubject", and "killfrom" as
   configuration variables for filtering purpose.  See leafnode.8
   for more details.

Changes since leafnode+-2.10:

 - Fixed a problem of posting '.' line.
 - Avoid SIGSEGV if leafnode cannot read configuration file.
 - Fix problems around FQDN.  Thanks SHIRAI-san for a patch file.
 - Change to write 1 byte datum to interesting files.
   Thanks SHIRAI-san.

Changes since leafnode+-2.9:

 - Supported Y2K problem. :-)
 - Changed messages.
 - Added maxcount option.

Changes since leafnode+-2.8:

 - Added lockf support.  Thanks Tim for patches.
 - Changed archivefaq.pl.  Now it is not so great resource eater.
   Thanks Alexander for patches.
 - Fixed a bug that some header lines are not recorded sometime.
   Thanks Tim for letting me know.
 - Added filteredngs field in config file.  Now leafnode+ can
   declare not only retriving news groups but also screening
   news groups.  Thanks Whisker for patches.
 - Changed to save only listed news groups into groupinfo file
   if they are listed in the configuration file.  Thanks Whisker
   for patches.
 - Added postable field for each server in the configuration file.
   Now, leafnode+ trys to post outgoing articles to each postable
   news server if old attempts are failed.  Thanks Whisker for
   a help.

Changes since leafnode+-2.7:

 - lock function is implemented to use lockf didn't work correct.  I
   changed it into old one.
 - Added never timout option for newsgroups.  If timeout_short and
   timeout_long are equal to zero, newsgroups once marked interesting
   never unmark.

Changes since leafnode+-2.6:

 - Changed to use lockf instead of flck.
 - Changed the size of fqdn in nntpd.c to 256 and related stuff.
 - Splited util.c into *util.c in order to seem all codes same
   with Cornelius's code to prepare for merging.
 - Added msgid checker at the beginning of removearts() and storep().

Changes since leafnode+-2.5:

 - The size of datesofmonth[] was changed.

Changes since leafnode+-2.4:

 - FAQ and INSTALL are changed.  Thanks a lot, Tom Hukins.

Changes since leafnode+-2.3:

 - Age() function was fixed.  It had a problem when it was used to
   compare two dates not in same year.

Changes since leafnode+-2.2:

 - Fixed a timeout problem.  The timeout date, which is the
   date interesting newsgroups will be uninteresting, is
   operated correctly now.  Original leafnode has been
   misimplemented about st_ctime.  It means a changed time
   of a file status, but leafnode uses it as a created time
   of a file.

Changes since leafnode+-2.1:

 - Removed an OLDFILTER support.
 - Added timeout_short, timeout_long and timeout_active as entries
   of configuration file.
 - Changed old information about leafnode 1.4 to new information
   about leafnode+.
 - Added maxage and maxcrosspost as entries of configuration file
   for compatibility with Cornelius's Leafnode.
 - Changed removearts() to eliminate too many warning messages
   when unlinked files have already been unlinked.

Changes since leafnode+-2.0:

 - Added and fixed comments.  Added information about MLs.

Changes since leafnode+-1.6:

 - Supported groupexpire which showed expire time for particular newsgroups.
 - Changed the name of program of "fetch" into "fetchnews."

Changes since leafnode+-1.5:

 - Fixed a bug in a calculation of hash values in lookup().
 - Removed some unnecessary chdir() from postarticles().

Changes since leafnode+-1.4:

 - Caching operation of chdir was incorporated into chdirgroup().
 - Changed to use fnmatch().

Changes since leafnode+-1.3:

 - Fixed a bug around flushing and closing the groupinfo.

Changes since leafnode+-1.2:

 - Changed config.c to read time.h and other headers.
 - Added SIGINT handling routine.

Changes since leafnode+-1.1:

 - Added FAQ.
 - Fixed some documents.

Changes since leafnode-1.4:

 - Corrected the monthname buffer handling.
 - Fixed a bug of processing routine of "XHDR".
 - Divided groupinfo and server's information file.  Now
   groupinfo has informations for local nntpd.  The
   information about the server and supplementary servers
   were moved into "servername" file.
 - Supported "supplement" configuration.  Read active data
   from all servers and make one groupinfo file and multi
   server's information files.
 - Removeed "-l" option because there is no difference between
   "server" and "supplement."
 - Added "-n" option which force to write server's information
   when finishing the fetching from each news group.  It
   may help you if your server is on an unstable link and
   you got many problem of suddenly disconnection.
 - Added right reconnection routine.
 - Supported multiple user names and passwords to connect
   multiple NNTP servers.
 - Added SIGPIPE handling routine.
 - Supported "22X n a XXX" format responses.  It is required
   in NNTP, but leafnode's nntpd didn't support it.
 - Added NOMSGID compile flag to add no message-id header to
   posting articles.
 - Added "newsgroups" entry in configuration file.  It shows
   what news groups are in each news server.
 - Added removeart function to supersede articles.
 - Added lockactive function to access information exclusively
   (Original lock codes are broken).
 - Added leaftool program which maintain leafnode information.
 - Changed to increase xlast when removing a news group from
   interesting.groups to let users know about it.
 - Changed to not increase xlast for ".XXXX" news groups in
   interesting.groups.  I cannot understand what it want.
 - Changed to add Xref header anytime.
 - Changed to keep the order of headers in fetched articles.
 - Added DOTNGFILE compile option.  I changed whole codes to
   use no ".<newsgroup-name>" file, but if you want to use
   old codes, please use this option.
 - Added OLDFILTER compile option.  I changed filtering codes
   in fetch.c, but if you want ot use old codes, please use
   this option.
 - Added "maxold", "maxlines" and "maxgroups" configuration
   values to filter some hated news artcles.  "maxold"
   specifies the maximum dates of articles fetch should
   fetch from the upstream server in each group.  "maxlines"
   specifies the maximum number of lines of articles fetch
   should do so.  "maxgroups" specifies the maximum number
   of cross-posted news groups of articles fetch should do
   so.  See leafnode.8 also.
 - Changed to use asynchronous transmission for looking for
   new articles in news groups.  It makes fetch faster.
 - Removed a chdirgroup call from getgroups().  I guess it
   is a reason of saving an article to wrong news groups.
 - Added preconnect and viahost ability to use SSH.
 - Changed the name of this package to leafnode+.


Kazushi (Jam) Marukawa <jam@pobox.com>
