# NewsCache --- A cache server for USENET News.
# Copyright (C) 1996,1997  Thomas Gschwind
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# ----------------------------------------------------------------

Work that has been done since release 0.9.11
--------------------------------------------
* Corrected a bug in NVNewsgroup::getover
  The return argument got garbled. Possibly, this was a problem 
  of gcc, who called the destructor too early?

* Corrected the post command (0.9.11 has not really been tested :( )

* Added next, last commands

* Fixed head and body commands

* Added an option that forces newscache not to connect to a news server.
  This is useful, if you want to read news offline and have diald running.

* Started to add INN style logging. 

Work that has been done since release 0.9.9
-------------------------------------------
* Postings are now posted to those news servers, whose newsgroups
  are listed in the newsgroups field of the posting.
  Eg: news.a.org a*
      news.b.org b*
  posting to a.newsgroup and to b.newsgroup. Posting is posted
  to news.a.org and news.b.org. If those newsgroups are distributed
  to other news servers, those news servers can identify this article
  as duplicate, since NewsCache assigns an article identifier to each
  posting.

* Fixed a bug in NVNewsgroup. In some situation the Newsgroup was
  not correctly unlocked.

* Fixed some problems, when the news server was not reachable (offline 
  mode)

* Added the head and body commands. pine should now work in combination
  with NewsCache

* Fixed a problem in the destruction of the CServer class. The overview 
  and active database has been freed twice up to now, which resulted in
  a segmentation violation in updatenews

Work that has been done since release 0.9.8
-------------------------------------------
* Fixed a news server selection bug. When only one newsgroup without
  wildcard was entered in the config file, the news server has not
  been selected correctly.

* Fixed a bug in the on-the-fly generation of the overview-records.
  Each entry had appended an additional character.  Did some code-cleanup 
  in Text.(cc|h).  

* Split the TODO file into Changes and TODO.

* Added cacheclean script

Work that has been done since release 0.9.7
-------------------------------------------
* Fixed compatibility problems with xrn.

Work that has been done since release 0.9.6
-------------------------------------------
* Moved all the multiplexing functionality from loose functions
  to the RServer class, where it fits in smoothly.

* Unified the active databases of different news servers into one.
  Advantage: I request only those newsgroups from a news server
    being really necessary.
  Disadvantage: I do not store which newsgroup belongs to what
    newsserver. I think if the admin changes these relations
    he should remove the cache entries of the affected groups.
    So this is not really a disadvantage.

* Improved the class hierarchy. See my last paper submitted to 
  Usenix98 for its description.

* Implemented list active.times and newgroups commands
  xrn should really work now! Otherwise, I move my xrn installation
  to /dev/null!

* Implemented a new and better newsgroup class.
  - uses an array instead of a list now
  - stores not only the overview database, but also the articles
  - big articles will be stored in the filesystem
  - overview records are stored only for big articles separately. All 
    the others will be generated on the fly. Saves about 20% disc 
    space (See the SLAC-article in doc). Hope this does not degrade
    performance too much.

* Mark groups from news server without posting permission as read only

Work that has been done since release 0.9.5
-------------------------------------------
* Fixed a major bug in the non volatile container class

* Better documentation (Manual Pages)

* Eliminated a bug, where NewsCache dumps core when
  no nnrp command is specified

* list newsgroups command supported. However, always returns an empty list
  at the moment

Work that has been done since release 0.9.4
-------------------------------------------
* Support for XHDR-command

* Support for DATE-command

* Fixed a mutex problem in overviewdb introduced
  with the overview-database expire command

* Improved article retrieval of updatenews

* Logging of incoming requests

* xrn works with NewsCache

Work that has been done since release 0.9
-----------------------------------------
* Better XOverDB (overview.fmt)
  Convert remote server database to local database format

* XOverDB does not support expiry of old records

* connecting to a non-existing host => core dump

* Who is responsible for posting articles in the local queue? 
  - The class itself? 
    Check whether we have articles stored in the article queue
    in CServer's constructor?
  - The NewsCache? 
  - An external program?
  The routine to post articles from the outgoing queue is provided
  with the CServer class (postq()). Currently, this routine is 
  invoked by an external program called updatenews.
