            *** NOTE NOTE NOTE ***

        WinVN 0.99-12 [mds]

NOTE: If this is the first time you've used WinVn, WinVn will ask you
to specify the location of the WinVn.ini file and newsrc file. Simply
click OK or OPEN to create new files in the WinVn program directory.


Copyright:
It is free, but you have no warrantee and you use it on your own risk.

The 32 bit version was compiled with Microsoft Visual Studio 6 SP3
The 16 bit version was compiled with Microsoft Visual C V1.52

The source is public domain. WinVn is known to compile under the various
Microsoft C++ compilers, WatCom C++, Borland, GCC, and others. 

If using on your own risk isn't possible by your country's law, you are
not permitted to use the binaries. Take the source, verify that's all 
correct (or let an expert do it for you) and compile yourself. In
addition you have to create a usable full-system backup at least daily.

Last version should be available from:
http://www.execpc.com/~mspankus

The previous version can be found at
http://www.ebn.net/homepages/winvn/
	Browser without frames should try
http://www.ebn.net/homepages/winvn/index.html

This version was based on Peter Heirich's 0.99.10 (beta 4) [de]
Thanks Peter!

Thanks to Jordan Russell (http://www.jordanr.dhs.org) for the nice, free, 
installation program Inno Setup 1.2!

Feel free to send bug reports for this version to mark@shorty.cs.wisc.edu
You may also send bug reports to WINVN@HEIRICH.IN-BERLIN.DE especially
if your native language is German.

	-Mark Spankus  Sept 8, 2002

Changes to version 0.99.12h [mds]
<MDS>          - Fix single part yEnc decode error when part of a multifile post
               - Added option to convert spaces to underscore (restoring old behavior)
                 in Smart Filer dialog 

Changes to version 0.99.12g [mds]
<MDS>          -More rework for 16bit crash fix. Tested with 10K+ article lists
               -ShellExecute changed back to WinExec for Win16 due to stack requirements.
               -Enhanced encoding options dialog for num lines vs num bytes calculation
               -yEnc decode-only support

Changes to version 0.99.12f [mds]
<MDS>          -Changed 16bit compiler settings to prevent stack overflow on mail send.
               -Part number parsing enhancement in decoder
 
Changes to version 0.99.12e [mds]
<MDS>           Fixed wrapped URL execute problem. Shouldn't have as many errors.

               -Spaces are no longer always converted to underscore in decoded 
                filenames.
               -Better support for AppleDouble MIME posts. No longer loses
                filenames during decode. Applefile part get a .apl extension.

               -Better MIME header decoding & part detection.

               -In non "use shift/control selections" Enter shows currently selected
                article instead of 1st marked article.

               -When saving articles to a file, no wrap processing or tab expansion
                occurs to prevent corruption of yEnc data. If the article is saved
                from the article window, normal processing occurs.

               -Increased max internal line to 256 characters, was 180. If article 
                is not wrapped, lines longer than this are truncated.

               -Fixed path picker dialog. Previously would crash when browsing 
                directory containing folders longer than 29 characters

               -When retrieved articles are not available on server, they are
                highlighted in red (by default) and not marked as seen.

Changes to version 0.99.12d [mds]
<MDS>           Corrected default web browser DDE selection in Execute Options.
                Previously it would alway try to connect to Netscape.

<MDS>           When double-clicking URLs in article body, WinVN will now look
                for wrapped entries of up to 2 lines, as long as you click on 
                the 1st line .  It will also assume http: if the address starts
                with www.

<MDS>           Added EHLO SMTP greeting for some mail servers which do not
                allow HELO anymore.

<MDS>		Corrected article memory size calculation which should prevent
                SIG truncation.

<MDS>           Corrected blue toolbar button color, to prevent Windows toolbar
                from changing it to the current "selected item" color.

<J.Bryan>       Corrected date format in headers to comply with RFC 1036, and
                add date regardless of message type.

<dirkf>         Enhance address parsing to work with RFC 822 styles mail addresses

Changes to version 0.99.12c [mds]
<MDS>           Corrected lack of word-wrap when composing new mail/articles
                using richedit control (32bit only)

<MDS>           Fixed double-paste & other clipboard operations when composing
                new mail/articles. (32bit only)

Changes to version 0.99.12b [mds]

<MDS>           Added string compare which sorts based on numerical values. This
                is used when sorting subjects to make i.e. part (2/5) show up before
                part (10/50). Thanks to Clinton R. Johnson for proto code.

<MDS>           Added ability to set default sorting (see Article List Prefs).
  
Changes to version 0.99.12 [mds]
<MDS>           When sending a text-only message (no attachements), warn when
                settings will cause message to be split.

<MDS>           Added 2 digit year field to date & time display in article list
                for those rare servers that contain very old message.

<MDS>           Corrected bug in 16bit version that occurred when changing news
                servers without clearing the newsrc. 

<MDS>           Added "Matches Pattern" to filter matching options. Use unix style
                wildcards *, ?, \, [], -

<MDS>           Added true kill operation to filters to prevent killed articles from 
                being seen. The filter action is "Remove article from list".
                Note side-effect: Changing kill filters causes articles to be resorted. 

<MDS>           Corrected memory leak that occured whenever a server returned less 
                articles than expected.

<S.Yoshida>     Toolbar background color matches system color settings 32bit version

<MDS>           In Win32 version, allow "number of lines" field in article list to 
                exceed 64K.

<MDS>           Apply Killed flag before Seen flag so that previously killed items in
                reopened groups continue to show up as killed.
 
<MDS>           Change to WVPersBOOL, when writing default values delete the entry
                to avoid filling .ini with default entries.

<MDS>           Change compose window to a Rich Edit Control on Win32 to eliminate 
                buffer size restrictions of ~30-60K.

<MDS>           When composition exceeds 78 char line lengths & you select YES to
                resize, the window is autosized to the correct width.

<MDS>           Calculate actual buffer requirements before warning about large
                message edits. Previous version's estimates could be 50% larger than actual.

<MDS>           Enable focus rect in Non "use shift/control-selections" mode article list 
                view to show current article when window focus lost.

<MDS>           Use current article focus when continuing search operations in
                Non "use shift/control-selections" mode article list view.

<MDS>           Enable reverse search when using "shift/control-selections" mode.

<MDS>           Shift-Click toggles selection range in Non "use shift/control-selections"
                article view, and does not change previous selections outside selected 
                range.
 
<MDS>           Correct filter operation if newsgroup header is required and server
                returns empty list for 'XHDR newsgroups' command. This caused an empty
                article list even though it had been received.

<MDS>           Correct bug when server has missing articles & you retrieve latest 
                unseen. It will no longer reset to 1st article on server, but instead 
                will maintain your previously seen count.

<MDS>           Correct uninitialized default filter value for new filters on Win16.

<MDS>           Remove .ini file entry NeedGroupHeader=1 when no longer needed by
                filter settings.

<MDS>           Fix endless loop of error messageboxes/GPF if mouse wheel is scrolled
                before 1st line of article text has been received

<MDS>           Don't add 'X-No-Archive: yes' to mail messages.

<MDS>		Set active line after search in Article list so <search><Enter> brings up
                matching article.

Changes to version 0.99.11 [mds]
<dirkf>         Corrections to prevent access of uninitialized variables.

<dirkf>         When downloading headers, assume server lies and allocate space
                space for 5 additional lines of XOVER.  

<MDS>           Added Shift-F3 "find previous" when searching for text (article,
                article list and group).

<MDS>           When decoding uuencoded files, compensate for truncated 
                trailing spaces, don't abort decode.

<MDS>           Prevent subjects from being displayed truncated in article list, 
                especially when threaded including full subject using proportional 
                font.

<MDS>           Disable timezone fields in communications setup dialog under WIN32
                since they are not used.

<MDS>           Fix initial view position of unseen articles code so the list doesn't
                scroll beyond the bottom of the screen.

<MDS>           Code change: moved resource IDs into resource.h, removed #ifdefs 
                from rc file. Language specific resources now in separate .rc files.
                Offline specific resources included in main resource files, app
                removes the controls at runtime. This means resources no longer have
                to be edited by hand with popular development environments.

<MDS>           Restored lost HOME & END key scroll code.
                
Changes to version 0.99.10 beta8 [mds]

<MDS>           Added code to decoder to track MIME multipart messages by
                MIME ID when present instead of subject line filenames.
                This corrects decoding of multipart messages where filename
                has a space in the subject, or there are reposted parts.

<MDS>           Change code to use macros to parse windows messages 
                correctly under Win16 & Win32.

<MDS>           Removed Socket option SO_LINGER NO to prevent SMTP socket
                from closing before signing off from remote server.

<MDS>           Restored some resources lost from the 0.99.9 version.
                -"Keep grouplist sorted" checkbox in grouplist prefs dialog
                -DDE options & application browse in Execute Prefs Dialog

<MDS>		Added code to read registry for default http, ftp, gopher
                client for URL execute.

<MDS>           Correct GPF if you double-click on a message reference
                after the article list had been closed and another opened.

<MDS>           Corrected error which doubled the actual line count in the 
                progess window when sending mail/posting.

<MDS>           Corrected handling of XOVER that contains empty lines or bytes
                fields in fix I did for last version. The line was ignored, 
                which would lead to empty article lists on some servers.

<MDS>           Added attachment subject format specifiers %b and %k which 
                convert to "# bytes" and "#K" respectively, denoting the 
                number of bytes in an attached file. See attachement prefs 
                dialog. 

<RDunn>         Added "Confirm Crossposting" checkbox to confirmation options 
                dialog. When enabled, this warns you before allowing posting 
                to multiple newsgroups. Fixed a bug I introduced in Edit 
                Headers when "confirm Crossposting" option set.

<RDunn>         Added requested "Don't sort" option to the view menu and the 
                "Threshold" dialog. This shows the article list in the order 
                it was received from the server, and may help slow machines 
                with large article lists.

<RDunn>         Fixed a major bug in the tracking of seen crossposted articles
                which caused article numbers to be flagged as seen in the 
                wrong groups.

<RDunn>         Added some consistency checking to the newsrc handling - this
                will fix some problems in newsrc created by the previous bug

<RDunn>         Added a check for connection timed out when posting an article
                or mailing an email - winvn would hang if this was the case, 
                now it tells you so you can reconnect.

<MDS>           Line count indicator for messages claiming to be > 64K lines 
                is limited to showing 65535 rather than wraping count.

<MDS>           Added messagebox to ask if you "want to edit what fits" when 
                replying to long messages, instead of just dumping you in an
                empty window telling you to attach the message.

<MDS>           Corrected Smart Filer problems when decoded filename contained
                illegal characters.

<MDS>           Added X-No-Archive: yes checkbox to composition prefs dialog.
                This prevents some services from storing/indexing a message.
                Remember: You can use the WinVn.ini AddHdr01= format to specify
                other custom headers.

<MDS>           Added Content-Disposition: field to Mime message attachments.

<MDS>           Make sure attachment filename is also included with recognized 
                MIME types, instead of just type "application/octetstream".

<MDS>           Added additional MIME Content-Types Audio/X-Wav, Audio/Midi,
                Application/RTF, Application/msword

<MDS>           Updated Execute Decoded file code. It now warns you before
                running potentially bad executables including .bat, .com, 
                .exe, .scr, .hta, .vbs, .htm, .html. DecodePrefs dialog
                updated to allow customization of allowed/disallowed extn. 
                Additional bugs fixed. It should now be able to run any 
                program or association you can run from the windows 'Run' 
                command. (Uses ShellExecute instead of WinExec).
                When 'Execute decode file' option is checked and the file
                is incomplete or empty, it will not try to execute it.

<MDS>           Added F12 shortcut to 'Catch up & Exit', F8 to 'Save AS' and
                F10 to 'Decode' menu items in article list view. Added 
                BackSpace key to toggle between article and article list 
                windows. Restored Home & End key operations from my original
                0.9.99 fixes.

<MDS>		Added a 'Most Recently Used' list to the 'Save As', and 
                'Save selected articles' dialogs. These dialogs now default
                to the last used filename.

<MDS>           Correct problem with date of mail generated in 16bit version.
                It now displays '2000' instead of '100'.

<MDS>           Fix GPF when SMTP server sends unusually large welcome header.

<MDS>           Added ability to disable logging of attachments to logging 
                configuration dialog. Instead it logs one line with filename 
                and part number.

<MDS>           Fix decoding of files that are less than ~45 bytes for both 
                UU/XX/Custom and Base64 encoded files.

<S.Yoshida>     added: autosearch unread articles in other group.
                fixed: better decoding.
                fixed: batchsend
                added: gnu cc support

Changes to version 0.99.10 beta7 [mds]

<MDS>           Default to WinVn dir when requesting to create new winvn.ini 
                or newsrc file on Win98+ instead of "My Documents"

<MDS>           Restored TAB operation in compose window. Corrected operation 
                of backspace key.

<MDS>           Fixed GPF when empty string used as a filter.

<MDS>           Added handling of server error when getting XOVER or XHDR data.
                This corrects apparent "hanging" when trying to access 
                unauthorized groups on Lyris servers.

<MDS>           Corrected error in decoding which incorrectly picked the last
                number on the subject line as a sequence number.

<MDS>           Corrected earlier modification of Comm Timeout. It was sending
                timeout messages far too frequently.

Changes to version 0.99.10 beta6 [mds]

<MDS>		Removed "setcapture" in file writing code which took focus 
		from scrollbar causing problems with drawing, continuous 
		scrolling, and occasional GPF

<MDS>		Added autoscroll operation when selecting articles and NOT using 
		"use shift/ctrl selection" preference. When using the mouse 
		to drag, the article list will scroll, selecting or unselecting
		as appropriate.

<MDS>		When using the mouse to select multiple articles, it no longer
		skips selecting articles when moving quickly.

<MDS>		Added processing to XOVER code to support multiline XOVER data,
		and XOVER data with more reference fields than expected. Fixed
		a GPF if server sends one more line than expected.

<MDS>		Toss out groups longer than the internal limit of 180 chars  
		when getting article list. 

<MDS>		Fixed cosmetic bug when message date is not present. It used to
		reuse article number in date field.

<MDS>		When saving newsrc, trim "seen" articles that exceed the max 
		server article. This happens if you reuse newsrc on different 
		server <shame, shame>, and causes articles to be flagged as seen.

<MDS>		Removed 5 minute lowerlimit on keep-alive timer. (One server I
		use times out in just over 4 minutes.) Also added a timeout
		cancel, to prevent keeping winvn busy if server does not 
		respond to keep-alive message. Keep-alive timer is reset
		on communications activity, and only then triggers on timeout.
		Added CommTimeout setting to Communications Dialog.

<MDS>		Several minor resource string changes, including length limit
		for 16bit MSVC.

<MDS>		Fixed scrollcode in decode window to handle Win32 thumbposition.

<MDS>		Set default ShowDescriptions to FALSE, since if the server does
		not support group specifier, it sends all groups which can take
		a really really long time. WinVn now checks that the descripion
		is for the group specified.

<MDS>		Worked with decoding code to better handle multipart messages.
		Also integrated s.yoshi's latest decoding fixes.
		Paths are stripped from MIME Base64 filenames.
		Base64 decodes do not trigger as easily on text parts of multi-
		part messages.  
		Removed code that prevented blocks from being written in 
		sequence as they were received.

<MDS>		Changed page up/down code to scroll by pages based on the 
		current window top, and not the current active line. This
		prevents WinVn from totally skipping over lines, never 
		presenting them to the user. (Both article & group lists.)

<MDS>		Fixed bug which would prevent scrolling up via keyboard if a 
		certain combination of memory allocations & line positions was
		hit. WVBLOCK.C

<MDS>		While downloading multiple articles, WinVn will also ignore 
		error 430 <no such message>

<MDS>		Threshold dialog no longer tries to retrieve "0 articles"
		if there were no article unread in a group and you click
		"Latest Unseen".

<MDS>		Made toolbar button "Catch-Up & Exit" work the same as the
		menu item for RDunn's fix below.

<MDS>		Integrated RDunn's changes (below). Fixed a few casts to
		compile on 16bit correctly. Built updated help file for both
		Win16 & Win32. Updated MSDEV6 project workspace.


<RDunn>		Some casts were added and a function was renamed to remove 
		compiler warnings from MS VC 6.0.

<RDunn>		Multi-level sorting has been added.  When sorting by Date, 
		Subject and  Author, a further pop-up menu is presented to 
		allow the second level sort to be chosen.  As an example, you 
		can sort by Date within Author, or Subject within Author, etc.

<RDunn>		A bug has been removed which lost the current article position
		after the article list was resorted.

<RDunn>		A bug has been removed which incorrectly calculated the number
		of unseen articles.  (In entries in the "seen" bit-map, when 
		the word entry indicated that some, but not all, of the 
		articles associated with the bits of that word were seen, the 
		existing code counted the *unseen* articles in that word, not
		the seen ones).

<RDunn> 	A check-box option has been added to the "Article..." 
		configuration dialog to allow the optional display of the 
		Author name in addition to the Subject, in the title bar of 
		the article window.

<RDunn>		A check-box has been added to the "Article List..." 
		configuration dialog to allow the option to sort by Subject 
		using the alpha-numerics only in the  Subject, ignoring 
		punctuation and other characters.  This means, for example, 
		that an article with the subject ""Hello world"" is sorted 
		with the 'H's,  rather than put at the very start of the 
		article list.

<RDunn>		"Catch-up and exit this group" in the "Article" menu of the 
		group window,  now does a full catch-up on the group, even 
		if you did not fetch all the unseen articles in the group 
		(before it only marked the listed articles as seen).  The 
		functionality of the "Mark all articles and exit" *button* 
		remains unchanged.

<RDunn>		In the "THRESHOLD" dialog (which asks how many articles do 
		you want to load), added the display of the number of articles 
		which will be loaded if you ask for "Latest Unseen".  For 
		example if articles 1 - 1000 exist, with article 
		800, and 995 - 1000 unseen, "7 Unseen" used to be displayed.
		Now it displays  "7 unseen in 201", to indicate that to display
		the 7 unseen, it will have to list 201 articles (from 800 
		onwards).

<RDunn>		The 'Ok" button in the "THRESHOLD" dialog is ignored if there 
		is no number typed in the edit box.

<RDunn>		When closing winvn windows, another winvn window automatically
		receives the focus:
      		a)  When the group window is closed, the main window receives
		    the focus  (and is normalized if currently minimized);
      		b)  Similarly, when an article window is closed, another winvn
		    window receives the focus:  If there's another article 
		    window open and not minimized, the most recent gets the 
		    focus.  If no article window is open, the group window 
		    (normalized if currently minimized) receives the focus if 
		    present, otherwise the main window.  If article windows are
		    minimized, they don't get the focus (Ad hoc, but I thought 
		    this was the best thing to do, some people keep articles 
		    open and minimized while they read other groups).



