Revision History
================
WinVN release .99.9 (Released Version):

<dumoulin>   Updated the Winvnfaq.txt file so that it is
             more recent and includes features up to version
             WinVN .99-9.

<dumoulin>   Increased the maximum size of a group name from
             80 characters to 120 and the maximum size of
             a timezone string from 20 to 60.  A few other
             constants were boosted in size as well.

<heirich>    Undid a patch that broke the get refrences
             function in WVUTIL.CPP.  This breaks the article
             action (kill file) code for the last reference.

WinVN release .99.9 (Beta 4):

<dumoulin>   Added support to the DDE to call additional
             WWW browsers and added a user interface
             to set the server ID string to a user 
             specified ID.

<dumoulin>   Added code to check that the Users E-mail
             address is a valid address.  Also checks
             to make sure people can't insert Unix "pipe"
             characters into their addresses and exploit
             some sendmail bugs on Unix.

<brydon>     Moved the location of <limits.h> header call
             to make all winvn source files identical up to the
             #pragma so that the precompiled header PCH
             option will work.
             
<brydon>     Changed some initialization code to initialize
             the string class with "" instead of a null character.

<dumoulin,   Changed a few %u's to %lu's so that some scanf
 brydon>     and printf statements don't fail when uint32 calls
             become long in the 16 bit compiler.

<dumoulin>   Disabled the counting of groups on loading 
             in increments of 1 after 32K groups.  Was
             debug code to test failure with large groups
             that is slowing down people on slow machines.

<brydon>     Fixed the GPF on exit for 16bit systems by
             relocating the definition of the LATEST
             structure so that it gets defined after
             the WVString memory pool gets allocated.

<dumoulin>   Fixed a problem in validation of who is
             allowed to cancel an article.  Canceling
             of articles broke in Beta 2

<heirrich>   Fixed a problem in GenerateMIMEBoundaryString
             that would overflow and cause random bad
             bad things to happen and not conform to RFC1521

<dumoulin>   Changed a loop in the Filters code to use a global
             MAXFILTERS define in wvglob.h instead of hardcoding
             the maximum number of filters to 1000.

<dumoulin>   Allowed the Reset Protocol Menu Button (the red
             recycle button) to be active more often during
             network connections.  This is an extreemly crude
             way to abort connections and a start at allowing
             an abort capability.   Since WinVN isn't multi-threaded,
             if the other end is still spitting out massive info,
             there is a good chance this will GPF.    

<dumoulin>   Fixed a problem that could cause WinVN to access
             uninitialized memory if certain header fields
             such as Organization were included but were of
             zero length.

<dumoulin>   Merged in all changes for Dec Alpha platform
             and updated make files so that DEC Axp binaries
             can be compiled.  Created a conditional compile
             option to support Non Tool-Tips version of
             WinVN for Windows NT 3.50.
                 
WinVN release .99.9 (Beta 3):

<dumoulin>   Fixed another problem where bogus information in
             headers would cause the string class to release
             more memory than it allocated and thus GPF.

<dumoulin>   Conditionalized all the C++ Exception handling
             try and catches to only work with Win32 since
             the Microsoft Win16 compiler didn't implement
             it.

<dumoulin>   Fixed the 16bit WVTB Tool Bar DLL code.  Beta 2
             added tooltips to WinVN32 but at the same time
             broke the Toolbar for WinVN 16.

<brydon>     Fixed a typo in the writing/reading of the WinVN.ini 
             setting that enables/disables sorting the group list.
             Fixed a mispelling in the NewsRC file. 

<brydon>     Changed some longs to uint32's.  This should keep
             the 16bit version of WinVN working without forcing
             the 32bit version to use 64bit sizes when 32 will do.

<brydon>     Initialized a structure (sInfo.cb = sizeof(sInfo)) in
             the DDE code that wasn't getting initialized.

<dumoulin>   Fixed problems with the resource compiler when
             using the MSVC 1.52 16bit Windows Compiler by
             conditionalizing some MSVC4.2 AppStudio statements.

<dumoulin>   Fixed the DDE ini code so that it saves and restores
             the DDE options.

<dumoulin>   Added an option for a user specified DDE ID String.
             Currently this is in the INI but have not added
             the ability to edit the ID String from a dialog
             Box.

            
WinVN release .99.9 (Beta 2):

<ishido>     Fix Horizontal scrolling problem in
             Article Window

<dumoulin>   Partially Fix a problem with new String class
             from releasing large blocks of memory that were
  	     never allocated.

<dumoulin>   Fixed a problem with WinVN GPFing upon Exiting.
             However, there are a few more places
             that haven't been fixed.

<dumoulin>   Fixed a problem with the new String class that
             would cause the Group window to GPF if
             if someone posted an article with a
   	     reference header of just plain <>.

 <ishido>    Fix to track newly arrived cross posted article.

 <vielhaber> Fixed "Get Latest Unread" if the article
             threshold was set to 1 and the minimum
			 set to 0, memory would be allocated for
			 only the 1st header.

 <vielhaber> Fixed a problem if the group had more
             articles than unread, memory was allocated
			 for all the headers rather than what is
			 being read.  Also fixed the status bar
			 to update the number being read.

 <dumoulin>  Fixed the About box.  It was inadvertently
             left off during the 1st cut of Beta 1.

 <ishido>    Fixed line below tool bar that was disappeared
             when new ToolTips code was added.


WinVN release .99.9 (Beta-1):

Additions:

 <tanaka>    Support for DDE to load up a URL in a WWW Browsers 
             without needing to start a new browser.

 <dumoulin>  Added an option in the config menu that allows
             a user to disable the automatic sorting of newgroups.
             This can allow people on older/slower/memory poor
             machines to grab a full list of groups from their
             server.

  <ishido>   Option to Catchup all Groups

  <glasser>  Added support for tooltips on 32Bit version.  Needs
             to be compiled in by setting the /D "COMMCTRL flag
             in the compiler options.

Fixes:
 <dumoulin>  Changed many data structures to use long or unsigned
             integers instead of normal "ints".  On 16bit system
             this caused many bugs when the number of newsgroups
             or size of an article exceeded 32,000.

 <dumoulin>  Fixed a problem in printing if printed article 
             contained more than 32,000 lines.

 <dumoulin>  Changed all the WinVN scrolling code to convert
             ranges from the raw number in a window to a "relative"
             range position.  This fixes a number of WinVN scrolling
             bugs.

 <brydon>    Fix "heckler" posts with really long subject lines.

 <tanaka>    Allow cancel article even if FullNameFrom is checked off
 
 <brydon>    Fix "off by one" counting problem with marking expired 
             articles 'seen.

 <dumoulin>  Fixed a problem when requesting xxx number of articles
             from the server.  WinVN was returning (1st article + xxx)
             instead of (last article - xxx).  This causes real 
             problem when first few articles in a group are set
             to stay around for a long time and then there is a
             big gap in article numbers till the recent articles.

 <brydon>    Fixed a problem where a "<" in an article message-id 
             in the references header (which is illegal syntax) would
             cause an overrun on the stack.

 <brydon>    Improved handling of partial reads of large newsgroups.  
             Two added integers in group structure to keep track of 
             range of articles downloaded. Catch up and exit" marks 
             articles loaded as read (ie. instead of entire group, 
             including articles not yet read).  Identify expired 
             articles when we try to read them and mark 'seen' 
             (instead of 'unseen').

 <dumoulin>  Fixed parsedate routines to support using WinVN 
             after the year 2000.

 <brydon>    Rewrote part of the "article threshold" code.  Fixed 
             a longstanding problem where no more than 657 articles 
             could be loaded.

 <vielhaber> Conditional compile changes to support port to OS/2

 <brydon>    Check against data structure overrun if news server 
             lies about # of estimated articles.  This happened 
             with a 'caching server' seen in a few locations in 
             Europe.

 <brydon>    Fix uninitialized data structure problem with printing.  
             Updated dialog so it says "All" instead of 65535 pages.

 <brydon>    Fixed the "catch up and exit" code so it marks expired
             articles as 'seen' instead of 'unseen'.  

 <brydon>    Wrote performant string class.  Replaced fixed size article 
             header information with strings.  This allows any captured 
             article header to be arbitrary size.  Less memory consumption 
             than with fixed size header char arrays, while hopefully 
             retaining performance. Made an optimization to the string 
             class that hopefully makes it slightly quicker - don't 
             delete/reallocate storage if it's already big enough 
             (for assignments).

 <brydon>    Rewrote Range code as a dynamically allocated bitmap.  
             Eliminates the TypRange shell game when modifying the list 
             of seen articles in a group. Wrote OO/C++ variable size 
             memory pool class for string, bitmap and other memory 
             management.  Memory can be allocated/released.  Lines 
             in the newsrc file can be any length (?) without GPF 
             problems.

 <brydon>    Invalid information in the newsrc file is accepted and 
             cleaned up. If the server has renumbered articles, we 
             can handle it gracefully. Proper handling of empty 
             newsgroups. Proper handling of rmgroup'd newsgroups.

 <brydon>    Add Filter/killfile item for 'number of newsgroups'.

 <brydon>    Fixed a logic error in determining if newsgroup header 
             needs to be read, made it a little more performant.

 <brydon>    Fix problem with URL info being improperly parsed, 
             made URL execute buffer larger, removed an extraneous 
             'strcpy'.  URL info with uppercase letters in the 
             "http:" title now handled properly.  
             It was being incorrectly mangled. "Http://www..." 
             previously became "ttp://www...".  [There are still 
             problems to be fixed if we encounter 
             "FTP://..." instead of "ftp:://..." etc.]

 <brydon>    Fixed problem that prevented newsrc error codes from 
             being reported Fixed a problem with crossposting articles









