2002-04-02 v0.18:
  * Remove fixed length buffers. (Fix errors with extremely long subjects, etc.)
  * If a group has articles from multiple servers show the shortname of the server each part is being retrieved from.
  * Don't force the connection to close on unequal line count.
  * Further additions to test suite.
  * Documented make test in README.
  * Make -h work for -r/-R too. (Only download articles from the given host.  If that host doesn't have the article, skip and flag it as an error)
  * Added a connection pool to avoid continuously reconnecting when articles are spread across different servers a lot. (suggested by Thore Harald Hoye)  (Adds new .ngetrc global opts idletimeout/maxconnections, and per-server idletimeout)
  * Added "server penalization" to avoid wasting lots of time trying to connect to dead servers. (New .ngetrc global opts penaltystrikes, initialpenalty, penaltymultiplier)
  * nget+uulib tarball includes new uulib version 0.5.18 with yEnc support.

2002-02-28 v0.17:
  * Handle invalid References starting with a '.'.
  * Fix --without-zlib build.
  * Optimized cache file loading and dupe file checking speed.
  * Added cachedir config option and NGETCACHE env var.
  * Added --test-multiserver (and test_multiserver .ngetrc option) to make -T show which servers have each file.
  * Don't show doarticle linecount warning for servers that report # of bytes counted with LF endings, then send with CRLF.
  * Some portability fixes. (Now builds on SunOS.)
  * Handle server_articles left in the cache that have no server with a matching serverid in .ngetrc.
  * .ngetrc now has global fullxover and maxstreaming options to set the default for all host entries that don't specify their own.
  * Update .ngetrc handling to allow # to be used for comment lines (in addition to //), and to not require the // to be on the first column.
  * Make -i mode continue downloading parts even if the server reports one of them is no longer available. (reported by Thore Harald Hoye)
  * Add FAQ about yEnc support.
  * Started adding a test suite.

2002-01-23 v0.16:
  * Print info line about each file before beginning retrieval.
  * Fix slow exit with very large midinfo files.
  * In -T mode, only print x/y parts if the post is incomplete, otherwise just print x.
  * Set default --limit to 0.
  * Remove old -L/-S args since noone probably used them anyway (can still be set in .ngetrc).
  * Added -L/--maxlines to complement -l/--limit.
  * Now saves References in cache file.
  * Cache file format change, so switch default NGETHOME to ~/.nget4.
    (Upgrade should be as simple as "mv ~/.nget3 ~/.nget4; rm ~/.nget4/*,cache*")
  * Add heuristic to detect replies to multi-part posts and mark them as complete.  No more need to specify -i to catch replies.
  * Cleaned up retrieving headers progress display when using fullxover=1.
  * Added streaming support for header retrieval, using fullxover should now be many times faster. (and on high ping links, increasing the maxstreaming setting can improve the speed even more.)
  * Force stdout to be line buffered. (Keeps stdout and stderr from getting out of sync when redirecting both to a file.)
  * Force single-part posts with no body to be handled as text. (As opposed to giving a "No encoded data found" error and keeping the temp file)
  * Better error handling on writing cache/midinfo files.

2001-11-24 - v0.15.2:
  * Fix -df with filenames that begin or end in "non-word" chars since the \< and \> will not match because there is no word boundry in such a case. (reported by Bernhard Josef Rieder)
  * Added LDFLAGS arg in Makefile to facilitate building with fink. (Thomas Kotzian)
  * Support systems that don't have sstream, but do have the older strstream. (Thomas Kotzian, me)
  * Added dupe checking between successive downloads.  Avoids grabbing the same file twice in the same run.
  * Fix undefined reference to cur_term link error that was showing up on some systems.
  * Removed autoconf check for select function that when tested with g++ >=2.96 would always report the function to be not found, due to a bug in autoconf 2.5.  IF you actually don't have select, comment out the HAVE_SELECT in sockstuff.cc.

2001-11-07 - v0.15.1:
  * Fix linking when there is no libtermcap but there is curses or ncurses. (Reported by Erik-Jan Vlieger)
  * Fix hang after fatal error on article retrieval. (Reported by Lance Simmons)

2001-11-01 - v0.15:
  * Fixes for gcc 3.0 compilation.
  * Print time remaining in XhXXmXXs format, rather than XXXXs.
  * Use termcap for clearing progress lines, fixes problems with chars getting left at the end.
  * Use 64bit int for total bytes/lines if available.  Fixes negative/weird time left displays for large queues. 
  * Make timeout a config option.
  * Add manpage for ngetlite.
  * No longer attempt to set user/group in make install.
  * Add messageid (mid) keyword to -R expressions.
  * Add more documentation of win32 build/usage.
  * Error on retrieving headers will retry and try other servers instead of giving up.
  * Errors other than "article not available" on retrieving articles are handled correctly.
  * Added unequal_line_error config option and made default be a warning rather than an error. (since the "unequal line count" error was more of an annoyance than anything.)
  * Added an exit error status for article retrieval errors.
  * Added ok and warning counts on exit.
  * Print part number/total parts in retrieval info.
  * Only mark as successfully recieved if all parts were successufully decoded. (Rather than if any of the parts were decoded ok).
  * Fixed -k mode printing "not decoding, keeping temp files." rather than "decoded ok, keeping temp files."

2001-08-02 - v0.14:
  * Fix exception if files in current dir contained '{' or '}'. (reported by Brian Keefer)
  * Remove autoconf AC_C_CONST, its only for C progs and breaks g++.
  * Fixed east/west of GMT timezone discrepancy if timezone var not found by configure.
  * Add support for ISO8601 date format and some minor fixes to current date parsing.
  * -T now prints date in ISO8601 format, rather than seconds since the epoch. 
  * -p and -P can now be specified multiple times without requiring a -G between each. (eg. now you can -G somegroup -p /dir1 -r somefiles -p /dir2 -r someotherstuff)
  * Remove quotes from quoted filenames.
  * Added FAQ.
  * Fixed some leaks. (mostly unnoticable unless you did lots of -[Gg] on the same instance.)
  * Fixed ngetlite building on platforms without vasprintf. (reported by Michael J. Paluka)
  * Added -d [mM] flags. (Andres Heinloo)
  * Added -[MU] options. (Andres Heinloo, me)
  * nget+uulib tarball includes new uulib version 0.5.15

2001-02-08 - v0.13.2:
  * Add trailing / onto NGETHOME var so you don't need to.
  * Fix compile on Redhat 7.0.  (#defined PROTOTYPES before including uudeview)
  * Added usegz .ngetrc option. (global and per-group)
  * Added exit code setting on non-fatal errors and printout of number of errors. (lemme know if you find some other errors that you think should be reported this way.)
  * ngetlite uses ngetlite.<pid> (instead of .tmp), allowing multiple ngetlite processes to run in the same dir.
  * ngetlite checks for bytes +-3 like nget.
  * fix signed/unsigned error in cache.cc that caused "no host selected" errors if using a serverid larger than would fit in a signed int.
 
2001-01-08 - v0.13.1:
  * Use write to tempfile then rename for saving cache and midinfo.
  * Made some forgotten printfs ("was gonna add...") into PDEBUGs.
  * Use $(MAKE) instead of make for making subdirs. (Howard Jones)

2000-09-05 - v0.13:
  * Locks midinfo files better.  Previous versions would not have corruption,
    but would lose one of the updates, if two nget instances tried to
    update the midinfo file at the same time.
  * Added -m option to optionally make directories that do not exist for
    -p and -P.
  
2000-08-18 - v0.12:
  * Fixed segfault on invalid param to -F
  * Deletes tempfile on drive full error.  (Otherwise the useless
    truncated file may cause annoyances later)
  * On unequal line count errors, will now try other servers or give up, 
    instead of looping on the same one.  (See also: new linelenience option)
  * Fixed configure --with-pcre option being ignored if a path was not
    specified.
  * On uulib warning messages, cause an error and keep the temp files around
    so that the user can examine them and see what (if anything) went wrong.
  * Header cache and midinfo files now have ,cache(.gz) and ,midinfo(.gz)
    extensions, in order to prevent possible (but unlikely) problems with
    newsgroups that might have had _midinfo in the name.  More importantly,
    it allows for easy exclusion of cache files from backups.
    If you are upgrading from a previous version, run the fixnames.sh script
    to update your cache file names.
  * Added per-server linelenience option to control generation of unequal 
    line count errors.
  * Changed -q behavior, a single -q will merely disable the auto-updating
    output, to make redirecting the output (eg, logging) acceptable.
    Specifying -q twice will use the old behavior of being very quiet.
  
2000-08-09 - v0.11:
  * Fixed segfault on reconnecting after exception in ngetlite.
  * Added -F command to flush headers from a group.
  * Fixed const char ** compilation problem in nget.cc (Only showed up with
    newer versions of popt)

2000-04-18 - v0.10:
  * Fixed handling of invalid args when using libpopt.
  * Added _level and _glevel prio options, and made -g select hosts
    automatically.
  * Fixed dual \ problem in regexes. (Now you only need dual \'s for quote
    chars, rather than all chars. (once for the shell, once for nget))
  * Fixed header retrieval for new groups with fullxover=1. (only failed on 
    some servers)
  * Better error handling when selecting invalid host.
  * Better error handling for badly configured sections in .ngetrc.
  * Fixed nrange.cc compile problem in without-zlib build.

2000-04-13 - v0.9:
  * fixed command line arg problems when built with getopt rather that libpopt.
  * fixed creating _midinfo files with no permissions problem (caused error
    after trying to use the group for the second time on some systems).
  * fixed implicit declaration of function close() in mylockfile.h on some
    systems.
  * fixed multiple uses of -p being relative to each other rather than the
    start directory.
  * added curservmult config option (was hardcoded to 2.0 in v0.8)
  * fixed a few documentation ommisions

2000-04-12 - v0.8:
  * nget version 0.8 released on 2000-04-12. (sorry about that wait.)
  * fullxover server option to try to fill in gaps in header lists, for servers
    that don't always add headers in order.
  * Now compiles under cygwin. (Though due to ommisions in the exports for the
    cygwin library, it needs the files in glob/, and you will need to d/l
    libpcre (or perhaps another regex library..), and probably libpopt) 
  * Added -N to allow decoding of parts gotten with -K or -w/ngetlite without
    connecting to server for unretrieved parts.
  * Changed -d operation to support dupechecking in any combination of existing
    files and parts already downloaded.
  * Added -w to write a list of parts to then be gotten with ngetlite.
  * Added ngetlite program for use on comps with older compilers and/or less
    memory. (Still requires you write a list of parts to get with nget -w)
  * Added -P to use a different directory for temp files.
  * Added -L/-S to support filesystems that can't handle the longer tempfile
    names.
  * Fixed bug that occasionaly caused a file to be corrupted (split line).
  * Now uses ~/.nget3 directory, since config/cache formats have changed.
  * Improved multi-server support that can piece together seperate parts from
    multiple servers.
  * Added -k and -K to keep temp files around or not decode at all.
  * Added -R to retrieve based upon any number of rules.
  * Added libpopt support.
  * Added -@ option to read commands from a file (only available with libpopt,
    getopt is not reentrant)
  * Added -s option to specify retry delay.
  * Now aborts on invalid regex entry, instead of segfaulting.
  * Added ability to specify a port in the standard host:port method. (reminded
    by Pete Bentley)
  * Xover consistancy check now allows extra whitespace in numeric fields (Pete
    Bentley) (actually, it allows whitespace anywhere in the field.. could
	probably be improved to only allow it at the end (maybe at the beginning?)
	but I'm not gonna go to that much trouble.)
  * Fixed complete bombing out on bad xover, instead of skipping the header
    like it should have. (reported by Pete Bentley)
  * Fixed a bug that would occasionally split parts from one multipart posting
    into two seperate groups.

1999-07-12 - v0.7:
  * Stores file read info in a seperate file, so it does not need to resave the
    cache if the only change was to mark some messages read.
  * Added +uulib version of the source distro, for easier compilation.
  * Now recognizes when there is no disk space left, and aborts.  fwrite()
    doesn't seem to report errors correctly, at least on linux glibc2.  man
    fwrite says "If an error occurs, or the end-of-file is reached, the return
    value is a short item count (or zero)."  However fwrite() would _always_
    return the full item count, even if the disk was full.  I guess this is a
    libc bug. (fyi, this is on glibc 2.0.7).  It now uses write(), which does
    handle errors correctly.  
  * Added consistancy checking on header retrieval. (Steven Wilcoxon) 
  * Manpage now contains all info that it should.  
  * Fixed dupe filename checking. (broke in 0.5)
  * Only creates a host cache directory if there is something to be written in
    it.
  * Added .ngetrc, with default options, and host/group aliases.
  * Added check for -luulib in configure.in, seems some distro's have it
    installed as such, instead of -luu.

1999-07-05 - v0.6:
  * Added "file read" flag to stop redundant downloading.
  * Watches for a downloaded multipart file being exactly the same as what
    already exists.  Can be disabled with --disable-filecompare. (Steven Wilcoxon)
  * Rewrote header cache code, should now use as little as 1/4th the memory
    depending upon how many multipart messages there are.  Actual disk space
    saved is less due to zlib compression, but it shouldn't be near as much of
    a memory hog when running now.  If you are upgrading from a previous
    version, you will need to reget all your headers.
  * Reads .authinfo in cache dir so you don't have to put it on the command
    line.
  * Optional use of checksum in the filename, rather than
    host/group/articlenum/etc which takes up a rather large amount of space.
    Added advantage is that since the filename is now based soley on the group
    and the subject/author headers, it should be entirely possible to download
    part of a multipart file from one server and the rest from another!
  * Implemented use of crc32 checksums to compare headers when piecing together
    multipart messages, maybe save a bit of cpu power.

1999-06-16 - v0.5:
  * a bit of fixes to the error recovery stuff.
  * handles local files with regex special chars (somewhat) better
  * nntp authinfo user/pass authorization supported
  * trying to retrieve a no longer available article will merely skip to the
    next file, rather than aborting.
  * now compiles on linux libc5

1999-06-15 - v0.4:
  * included aclocal.m4 in the tar.gz

1999-06-15 - v0.3:
  * doesn't download files you already have.. kinda rudementary, could easily
    cause problems if you have a file like "a" in the dir..
  * c_file now has buffered gets() capability, which not only is far faster
    than gzgets(), it is even faster than the gz'd binary cache.
  * Changed prot_nntp to use c_file_tcp, with the new bgets(), reducing cpu
    usage significantly (while retrieving articles: 3.0% to <0.1%)

1999-06-07 - v0.2:
  * uses select() on reads.. no more infinate waits when disconnected

1999-06-06 - v0.1:
  * Initial Release.
