ProNews/2

Version: 
1.60
Release date: 
Saturday, 19 July, 2008
Price: 
$ 21.00

License:

Interface:

Authors/Port authors:

Multithreaded newsreader for OS/2. Latest version includes, among other things, support for ISO-8859-15 and Windows-1252 codepages and high memory use: see README.TXT for more!

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Program is distributed as ZIP package: download to temporary directory and run INSTALL.EXE. See README.TXT for upgrading (backup your existing ProNews installation!). See below for download link(s).

Following ones are the download links for manual installation:

ProNews/2 v. 1.60 (19/7/2008, Panacea Software) Readme/What's new
Though this document contains mostly descriptions of bugfixes and behaviour/performance improvements, at several points code improvements worth mentioning have been made, that don't have a direct effect on the program's behaviour. Fixes up to 1.60 cp125 ====================== 1) Subject lines split with a continuation containing only a trailing blank would fool PN/2 into thinking it had an end of headers line 2) New Groups command on queue would stop offline.dat loading 3) Increase max overall connections to 100 from 50 4) Added PNUCONVSMPSAFE=1 parameter to make working on eCS with their uconv-smp fix installed quicker. Without this parm, pronews plays safe and locks access to the uniuconv* functions. 5) Sod the GNKSA, increased max connections of each type to 20. Since many dedicated news providers allow you to use as many as 20 connections simultaneously, the GNKSA is obviously out of date in only allowing 4. 6) PNIGNORESERVERERRORS can be set to ignore server reported errors and stay online despite them. Use with caution, only lightly tested! Fixes up to 1.59 cp120 ====================== 1) toolbar.ini format change required to allow for fonts with names > 32 chars 2) uconv.dll appears not to be re-entrant so serialise on a mutex prior to calling it from now on 3) Use high memory if available for codepage translation 4) Minor logging change when run in -4 loglevel 5) Crash when downloading and the from charset name was shorter than the "to" charset name for translation 6) Give option to retry if directory for download was not accessible. Allows for downloading to network drives that have been disconnected. 7) Filtering did not work if lines= or xrefs= was specified 8) Block up headers better when saving header data to speed up i/o 9) Subject and author blanked out if translation failed due to bug in uconv.dll. Now uses untranslated text instead. Fixes up to 1.58 cp116 ====================== 1) Crash fetching new headers where subject or sender contained non-asci chars that needed translation and the translated string was longer than the original. 2) Crash when toggling server online/offline status trying to set bitmap to be displayed 3) Subject and Composer strings in editable filters didn't match if the string contained % signs 4) Crash in codepage.cpp trying to decode broken unicode &#nnn sequences. 5) Posts contained left over garbage when posting with autowrap off. 6) Add bldlevel strings to exe and dll files (Thanks Bob!) 7) Potential 'fix' for the crash when a group's idx file is corrupted. Check servernum < 255 and use defaults instead. 8) SMTP AUTH code - initial code drop 9) SMTP AUTH code - tidy up and comment 10) Now logs outbound data stream when using SET PNDEBUG=1 to file debug.log in current directory 11) SMTP AUTH code - two CRLF pairs sent if encrypted response was exactly 79 chars in length. Fixes up to 1.57 cp107 ====================== 1) Postings made in US-ASCII were missing the charset name from the Content-Type... charset= line Fixes up to 1.56 cp106 ====================== 0) After group reload, some article entries could end up pointing to wrong displacement in article data file resulting in random garbage being displayed. 1) Upgrading from 1.55 and previous, wrong charsets selected in menus and in postings. 2) Crash blinking the arrows in the article window again 3) Crash in ProcessMgrLoad() if offline.dat is corrupt. 4) Memory leaks after ULS errors 5) ULS error messages now include plain text version of errorcode 6) Add recovery from 'buffer full' ULS errors, now reallocates buffer and retries. 7) Subject and From fields are now encoded using base64 or Quoted-Printable depending on settings for group. Old code always QP encoded them. 8) Crash opening group with corrupted index or data files Now checks that article numbers match and gives error if not. 9) PNLOGDIR points to place to store logs - default ".\" 10) Crash opening group containing more than MAXHEADERS articles 11) Crash when saving articles to file or copying them 12) Potential fix for crash while closing a group if any subject and composer lengths combined exceeded 255 chars. 13) Postings containing base64 encoded attachments were missing quotes from the filename 14) Speed up multipart article decode selection 15) Crash if an article body was larger than 1.5MB 16) Charset shortcut keys did not work 17) Crash when posting in UTF-8 via email 18) Articles posted in charsets that are not in charsets.pn will now be translated if the charset is listed in cpalias.pn and has an alias of the IBM codepage name corresponding to that charset. E.G. iso-8859-16 is ibm912 in cpalias.pn but does not appear on the charset menus as it isn't listed in charsets.pn 19) Pronews now exits immediately if any of the *.pn files are missing. 20) Headers would always be translated from their charset to us-ascii. Now uses the codepage for the group or global settings. 21) Missing trailing characters on some base64 decoded strings 22) UniConv functions failed with 0x2040d error due to missing UniFreeUConvObjects 23) Charset settings in global notebook not remembered 24) ULS support (UTF-8) 25) Added: support for pronews.env environment variable file Fixes up to 1.55 cp097 ====================== 1) Divide by zero error in ResizeScrollBar. Added extra logging and checking. 2) Crash in ActivateGroupArticles() 3) Posting multipart articles, part numbers are now zero padded. 4) Allocate a larger buffer to read from disk when posting 5) DosAllocMem(OBJ_ANY) doesn't work for TCP/IP < 4.1 and made posting fail with 10014 error. Move posting buffer < 512MB. 6) Remove panaceasoft email address 7) Missing to-be-downloaded arrows in the article window. 8) Code to auto-recognize "Re: " and "Re:" and adjust the subject accordingly was broken. 9) If NNTP server timed out 10 times in a row then it would try to connect to SMTP instead. 10) Resources belonging to processes could be referenced after being freed. 11) Only copy 255 characters of any status messages. 12) Crash updating task list 13) Add locking around critical control block updates and references. 14) NEW: environment variable PNALTDATE changes the display of the date/time in the article window index so that it includes the year of the post. This is likely to become a notebook setting at some future time. 15) Memory leak when closing a window with toggle filters 16) Fix crash when deleting last toggle filter Fixes up to 1.54 cp091 ====================== 1) Print dialog didn't display Sample text and used 100% cpu 2) Change text in caption on Server settings (page 2 of 3) to Connection Settings for Selected Server. Update Help file. 3) From address was blank if real name was omitted from setup 4) Add "Stop nicely" menu item to connection popup. Stops processing and terminates this connection on completion of current article/decode. 5) Add "Body" to Alt-F search dialog. Brute force search of article bodies done with no wildcarding. 6) Divide by 0 error calculating article percent complete 7) ISO-8859-15 (Latin 9) support 8) Posting character set ignored in subject field etc 9) Added log message for reason why sig file could not be opened 10) Semicolon not stripped from charset name in headers meant that some posts were decoded wrongly. 11) Sucessfully is not spelt that way 12) Quoted printable encoding should do spaces and tabs 13) Fix the magic disappearing "Waiting for header data" dialog 14) Sockets not closed when error on connect happened 15) Crash processing xrefs 16) Crash trying to update traffic statistics on newly started connection thread. 17) Crash processing xrefs somewhere else! 18) Retrieve All Headers got existing bodies confused. 19) Added Reset statistics menu item to connections entry 20) Changes made in server settings are no longer discarded without warning when you OK without hitting 'change' 21) Evironment variables added: SET PNXREFLOG=1 - log lines about which articles are being marked (un)read SET PNCKPTQUEUE=1 - save queue of outstanding tasks each time it's updated. May negatively affect performance 22) XRef entries were not written back correctly after an article was deleted. Could cause wrong articles to be marked as read or deleted. 23) Added: pronews.log file rotation. SET PNMAXLOGSIZE=100 to get pn/2 to rename the log(s) when they reach 100KB. Choose your own size. Keeps pronews.log & pronews[1-9].log 24) Active arrows in group window oscillated in wrong direction 25) Environment variable added: SET PNNOTTOLERANT=1 makes PN/2 expect correct CRLF pairs in the article data as the RFC specifies. Without this, it will now tolerate plain LF characters and that will let PN/2 decode articles posted by broken user agents that post LF not CRLF. Only specify this if you have problems decoding articles. 26) Messages that name Netscape now say "Browser" instead. 27) Reworked browser invocation code. If browser path is left blank then we now search PATH for mozilla.exe first then if mozilla.exe is not found we search PATH for netscape.exe The first one we find, we SET BEGINLIBPATH for the base directory that we found the executable in. If the browser path is filled in, then we attempt to use it so it must point to the right place. We'll then SET BEGINLIBPATH for the base directory that was given. This avoids having to specify the Mozilla directories in config.sys. Similarly, if the browser parameters field is left blank we default it to "-url %U" if Mozilla is in use or to "%U" if it's another browser. DDE now works with both Mozilla and with Netscape. Netscape works without any additional information but Mozilla must be enabled. To enable DDE for mozilla, you must specify "/dde -url %U" in the browser parameters. It appears that /dde must be given in lower case for it to be acceptable to Mozilla as a parameter! Pronews must start the copy of Mozilla to be used for DDE purposes, it will not reuse one that's already running. It will however use a running copy of Netscape and it will use it in preference to starting its own copy of Mozilla. 28) Article Window now shows XRef info from the XRF file when you use the new X command 29) Fix crash caused by off-by-one error when closing group 30) Speed up marking as (un)read by checking current status first - i.e. don't mark things already marked 31) Environment variable added: SET PNXREFFILTER=1 makes PN/2 pass the list of crossposted newsgroups and article numbers to the filtering code for the GROUP= keyword. Default is to pass current groupname only. 32) Home and End keys didn't scroll the article index correctly when there were more than 65,000 articles in the group. 33) Philosophy change: 'filter when needed' not 'filter often'! 34) Memory allocation fixes 35) Rewrite filter file loading, saving, creating etc 36) Crash in about 6 different places when posting or loading a post from the queue with a 255 byte subject. 37) Filter dialogs should now prompt prior to exiting without saving filters you have changed. 38) Convert filter files even if they contain no filters 39) Be safer about writing to subs.dat 40) HotFilter entry field now allows 255 characters instead of 102. 41) Alt-O didn't go online when in article window 42) Now possible to change 'skip to unquoted' setting in global settings notebook 43) Crash manipulating selected expanded articles 44) Added two new filter bitmaps and also two new buttons in toolbar of newly subscribed groups. HotFilter by subject and by composer, both prompt for parameters. 45) Be more strict about allowable uuencode begin lines 46) Tokenise filters on first use, run tokenised version after 47) New environment variable: SET PNFILTERNOOPT=1 disables filter tokenisation 48) Tabbing now goes through options on settings->confirmation page in right order not random as before 49) More URL buffer length problems 50) Memory was limited even after highmem in use. Now has a theoretical limit of approx 1860MB (~3.7million articles) though much lower in practice :-( 51) Locate turbo switch for marking articles (un)read 52) Be safer about writing back filter files, rename them around 53) Manual decode dialog box is now resizeable 54) Manual decode dialog box now attempts to size itself to handle long subject lines 55) Delete Thread included other articles too. 56) Mark (un)read status messages now updated more often 57) Move more memory allocation above 512MB if allowed 58) Adjust default column positions in article window 59) Fix stupid bug selecting more than 1024 articles 60) Speed up 'delete article' processing in same way as 'mark read' 61) Environment variable: SET PNBULKUPDATES=1 has database updates batched up and done in one pass. Speed! 62) Block up more headers per disk write when saving headers 63) Add -noua parameter to stop Pronews from adding a User-Agent header. Also -noid omits unique message-id from articles. 64) Attempt to kick connection into life every 3 seconds to stop connection hangs. Appears not to make any difference but doesn't hurt! 65) Log message when reset statistics is done 66) Stop strange faces (non-asci chars) in messages and dialogs 67) Detect posts made with Outbreak Express and set default charset=windows-1252 for these if no other given first 68) Do not detect stray Content-* lines in article bodies 69) Cap max log size at ~2GB then autorotate even if not specified. Untested ;-) 70) Add compiler version to About dialog 71) Change maximum number of multipart decode parts to 4096 then abolish limit altogether. Limit of 2048 still applies to posts that we make but the limit on download is gone. 72) If you set a viewing default charset then this overrode anything that was specified in the article. Now does the opposite. 73) Multiline RFC2047 subject fields had extra spaces between words where each line began. This fix ended up rewriting the entire RFC2047 decoding routine to eliminate the enormous pile of spaghetti code that was there. 74) yEnc binary downloads would ignore all parts after one with a CRC error. With PAR2 files, it's better to have it all. 75) Add SET PNMIMEDEBUG=1 environment variable. Set this if MIME decodes of headers gives weird results. Very very verbose! 76) Articles that were being watched by filter took precedence over articles that were replies to own posts when it came to colouration of the subject lines in the article index. If an article is a reply to one of your own posts, it is now the right colour. 77) Fix single window mode - remove it!! Unfortunately original code was so badly broken that I am amazed it worked at all. To fix this correctly would have made it so much like using multi-window mode that it seemed pointless to have both. 78) Filter strings with escaped special characters did not match if they were exact matches for the string being searched. 79) Broken multipart decode parts were not coloured (red) correctly 80) Subscribe dialog did not allow the groupname to be scrolled 81) Status bar on "All groups" and "New groups" tabs was overwritten by status messages from article retrieval. 82) Deadlock between threads switching groups 83) Filter->[...]->Globally is now disabled if "Use Global" is unchecked in this group settings. 84) Firefox.exe and Thunderbird.exe added to list of 'Mozilla' programs. 85) Environment variable: PNWAITINTERVAL. Value must be numeric and is the number of milliseconds to wait before the "Wait for header data" dialog window appears. 86) Crash attempting to reference memory freed by another thread 87) Crash when 'D'ownloading more than 1 article when they're not multipart articles 88) Fix ridiculous multiplying menu items on the popup server menus. 89) Add per server statistics about the amount of data downloaded. 90) In the event of deadlock for resources, one thread would loop until the other released the resource thus slowing down the thread it was waiting for. 91) Toggle filters were broken 92) Disable pirated registration key. All monies received for Pronews are donated to charity. 93) Lines starting BEGIN were not displayed correctly when viewing posts in the post queue 94) Improve standard C library default buffer size (4K) to a larger value to improve file i/o. 95) Thread deadlock when switching between group windows quickly. 96) Correctly zero pointers to thread data areas that are freed 97) Expand the 'too many headers' dialog window so more of the groupname is visible. 98) Crash when Ctrl-K cancelling an article from within the article window 99) Improve recovery when a connect thread get a 'too many connections' error. If it's the only thread of its type then it will now wait 30 seconds and retry. 100) Correctly zero pointers to thread data areas that are freed - didn't get them all the first time! Fixes up to 1.53 cp050 (Release) ================================ 1) Status bars could contain residual data after malloc and before first use. 2) The resources owned by a task were freed before it was stopped causing crashes when stopping downloads etc. Fixes up to 1.53 cp048 (Release candidate 1) ============================================ 1) Servers wouldn't go offline on a time delay. 2) Start Netscape/Mozilla with our environment not shell's to allow SET BEGINLIBPATH to work. 3) Make all threads report DNS error to log even if another one has the error dialog window up. 4) Followup-To code didn't cater for multiple groups in the Followup-To: line in the headers. 5) Control Panel status line wasn't updated regularly enough after the previous SIQ fix. 6) Stop hogging the SIQ when doing lots of downloading. 7) Rename source variable DefaultOnline to CurrentlyOnline to more accurately reflect its function in life. 8) Online servers didn't stay online when tasks completed. 9) Speed up article window closing by tuning CompactXRefs() a bit. 10) Add %G to reply/forward heading to allow group to be given in the "On Sun 1st Jan 2003, Mickey Mouse wrote in group %G" blah. 11) Google menu alterations - Deja URLs stopped working. 12) Add h_errno to DNS error log message to give more info about reasons for DNS lookup failures. 13) Amend MAXHEADERS processing in retrieve (new) articles to use the 'AutoLimit to' as its limit not MAXHEADERS. 14) External editor got confused if OS/2 reused child session IDs. Fixes up to 1.53 cp041 ====================== 1) AutoLimitTo entry field was not enabled when UseDefault was unchecked. Checkbox next to it was but not entry field. 2) $ signs not allowed in URLs or filenames 3) Decode gave malloc error message when hitting D with part (0/1) selected. 4) Sort threads after threading code so that subject compare works correctly. Should then thread orphaned articles. 5) Fix GROUPS.DAT properly (i.e. rewrite it) if any entries are flagged as invalid during load. Stop all groups on servers 5 - 14 from being flagged as invalid! 6) Stop a crash if a window has been destroyed while we are using it. 7) Remove TOOLBAR.INI entries when unsubscribing a group. 8) Fix toolbar memory leak - one per article window. 9) Wrong window had focus when replying to an existing post. 10) Fix crash with yEnc encoded articles when decoding is turned off. 11) Allocate memory for NumAutoLimitHeaders in several other places in the code too to make sure we don't overrun arrays. 12) Correct focus when hitting OK on global settings notebook 13) Add basic validity check of GROUPS.DAT entries as loaded. Rewrite number of groups at start of file if incorrect. Add checking for EOF when reading it! 14) Add check for number of headers in group already exceeding NumAutoLimitHeaders when a group is loaded. Stop overlays. 15) Fix GNKSA signature message focus problem. 16) Memory fix, allocate only NumAutoLimit pointers for all. 17) Only the first 99 newsgroups could be selected from the pop up menu. Now allows 1000. 18) Add number of groups per server to tabs at top of window. New groups were already counted but displayed the global total not the per server total. 19) Wrong number of groups could be written to start of GROUPS.DAT causing overflow of group listing and garbage on subsequent display. 20) Correct case sensitiveness of sort of groups tree. 21) When marking articles as read, make sure we have enough memory for the current article beforehand. Stop crash. 22) Few code tidy ups. Rename MISC to MISC_ACTIVITIES to fit in with all the other #defines. Include an indication of debug build vs not in Help/About. 23) Only try to mark an article as read once - not because the xref list says it exists in the local group and then because it's in the local group. 24) Comparing 0 and -1 in an unsigned integer doesn't give the expected results - and crashes. 25) External editor couldn't be started more than once. 26) Restructure popup menus listing available groups. 27) Two semaphores per article window weren't closed off. 28) Memory again... sigh! 29) Trailing blank caused the Followup-To code to be invoked even when it was the same newsgroup. Additionally made it depend on the GNKSA switch in the settings notebook. 30) Problem with ridiculous message ids generated by Mozilla causes messages in response to them to not be part of that thread. Not related to new threading code and requires a Retrieve all Headers to correct as it needs the "bad" message to be refetched and the idx file updated. 31) External editor! Use DosStartSession instead of WinStartApp except for Windows sessions. Pass it shell env not ours. 32) Selected article now placed on second line of article index if appropriate when group initially opened. Article scrolling altered to match. 33) URL's starting file:// didn't launch your browser when clicked 34) Articles in Saved Messages & Sent Messages & would have wrong timestamps - incorrectly adjusted by TZ offset from GMT. 35) Issue warning message if Followup-To is set to a group other than the one you are replying from. 36) Change text of Use No-spam-address in Reply-to checkbox (Settings->Group Defaults, page 3) in settings to better reflect actual behaviour of Pronews. 37) Change format of From address to "Real Name" <email@address> to be in line with current standards. 38) References: line incorrect in posts we made in response to articles with a multiline References: line 39) Rewrite CompactBodies and PurgeBodies and amalgamate the two to perform both jobs. PurgeBodies was doing half the things that CompactBodies had already done about 0.0001 seconds earlier 40) Reduce size of allocated storage to amount required rather as much as we can get away with. 41) Remove all memory freeing related fixes. It can't be done like that! 42) Rip out and recode the multipart article selection code. Should now be quicker to select multipart downloads. 43) Added comments about making Mozilla work to Helpers page in settings dialog - i.e. -url %U vs %U for Netscape. 44) ROT13 had different shortcut keys in post and article windows. Now both are Ctrl-T. 45) Some yEncoded multipart articles were not decoded correctly. All parts were treated as separate single part decodes. 46) Add # of posts to status bar on both builds. 47) Special-case the code for selecting binary articles with only one part. 48) Change shortcut key for Save Article in post window from Shift-S to Alt-Shift-S so you can type "S" again. Menu too. 49) Make shortcut keys work even when Caps Lock is on. 50) Free off allocated memory when clearing a heap. Same fix that was in cp023 that I removed in cp025. Add bugfix that stops crash! 51) Oscillate status bar from #connections to memory stats in debug version. 52) Change article scrolling behaviour. If it needs to move the article list up to see the next article to be selected, it now scrolls the newly selected article to the top of the list. 53) Allocate and free memory using consistent API calls across all source, not a mix'n'match of methods. 54) Report server error message when we get a 502 during authinfo exchange. 55) Add error number to NNTP bad article message in log. 56) Problem when one article has a reference to one that is in the group twice (i.e. cater for duplicate message ids). 57) Reduce ridiculous 43MB dll data segment by reducing static structs in global code. Also helps with memory use and with SYS008 'out of memory' errors experienced by Polarbar mailer users. 58) Fix inability to allocate more than half available memory! 59) More work on memory related stuff (no difference). 60) Fix 4 byte overlay in new threading code. 61) Fix memory leak and SYS3175 when "Do Not Thread Article Tree" is set. 62) Remove memory freeing added in cp024 and cp023. 63) Rudimentary error checking for malloc() errors in dynalloc. It's still creamcrackered though. 64) Threading problems. Some things not visible. Some not threaded correctly. 65) Add status numbers to "Retrieving all articles for ..." tasks. Now says "Queuing article 20 of 948" etc. 66) WinWaitMutexSem() was called with wrong parameters (twice). 67) Clear per group heaps on window close to free memory. 68) SMTP RFC violation - we sent "HELO ." instead of a valid hostname. 69) Error message about corrupt filter file issued when a new group is subscribed to. 70) Fix weird hang when attempting to start more than about 25 article threads. Things would just go to sleep... 71) Free off allocated memory when closing a group window. 72) Crash when processing a uuencoded attachment and "Do Not Decode" is set! 73) Stop crash opening newsgroup when lowest reference message-id is lower than lowest message-id in group.. 74) Reduce memory usage when threading the article tree. 75) Reformat missing parts log messages to have 10 per line. 76) Reformat missing parts messages to better fit in window. 77) Added KB/sec and stats data to log messages when connections terminate. 78) Twiddled a few status bar messages to get more info in. 79) yDecode support. 80) Move MIME structure off stack onto heap in several areas of code. Reduce stack usage... 81) Added KB/sec counter to connection entry on Connections tab. 82) Fix crash when saving queue if server online. 83) Add elementary validity checking for local group filter files. 84) Fix the memory hoggishness introduced in cp018 and also try to reduce the overall allocation in earlier builds. 85) URL's containing an @ sign were broken in the EMLS editor. Should now work in http, https and ftp. 86) Email address used on cancel commands was taken from the article and this could be truncated. Use settings version instead. 87) Only 49 characters of a message id was being stored in the headers files. This caused cancels to fail if the message id was longer than this. Now store 89 characters. 88) Fix bug in the new code that didn't handle duplicate message ids properly. 89) Rip out and recode the article threading algorithm which did not scale well to large numbers of posts. Time to thread a 40,000 article group down from 4.5 minutes to 2.5 seconds. 90) Change NNTP recv() routine to use select() instead of spinning wildly wasting cpu time doing nothing waiting for data to arrive. 91) Remove OFFLINE.DAT when no tasks in queue but prompt for save is not "never". 92) Articles dragged/saved were not correct. 93) More tuning: eliminated redundant calls to unneeded routines. 94) Articles saved to files or dragged to the desktop did not have codepage translation run against them. From and Subject fields were still MIMEd and body contained weird characters! 95) Dot stuffing rewrite. Fixes corrupt attachments. Fixes display in article window, fixes posting. 96) Added PNDEBUG environment variable. Set to anything it writes data received from server, after de-dot-stuffing, to debug.log. And some general code fixes: 97) Corrected(?) random weird data in dll\ctrlhelp.h that was present in all copies of the source from day 1. 98) Changed makefile for CPP365 ifdef to allow use of the 3.65 compiler for builds. Changed the pronews.def file remove WINDOWAPI in name statement, added /pmtype:pm to link flags. 99) Fix a couple of compiler warnings about redefinition of some macros like min() and free(). Release of 1.52 build cp012 Fixes in cp012 over cp011 ------------------------- 1) Attempt to load an URL that spanned multiple lines would fail due to only partial URL being passed to Netscape. Also change max URL length to 512. 2) We'd attempt to retrieve 'autolimit' headers rather than the number of messages in the group when "prompt over" was set. 3) Back out previous "headers containing tab characters" fix and recode it in a different place. 4) CR not added to lines ending in LF when autowrap is OFF !!! 5) "Use Group Defaults" ignored on Posting page of settings note book for each group. Fixes in cp011 over cp005 ------------------------- 1) Add groupname to a couple of messages in the log. 2) Add Cancel and Catchup to commands saved at shutdown. 3) Minor tweaks to retrieval of headers in or around MAXHEADERS. 4) Modify check for "group rebuilt on server" to only spring into action if new "highnum" is less than old "lownum" to stop false detection and retrieval of all articles. 5) Handle headers containing only tab characters correctly when emls formatting is requested. Stops following header lines from appearing as part of the body of the article. 6) Amend Save Queue to save only specific commands not everything except posts. 7) Correct complete cockup in cp007 with article purge. 8) Fix crash when attempting to spellcheck a message. 9) Attempt to invoke various dialogs would loop :-( 10) Handle "Prompt if over" and "Automatically limit to" and upper limit of maxheaders in prompt dialogs. 11) "Append to file" dialog box was incorrectly titled "Save as..." 12) Fixed bug that stopped cancel posts being issued from any group other than "Sent Messages". Fixes in cp005 over ib121 ------------------------- 1) Added PNMAXHEADERS support to "Retrieve all headers" code section. Previously only worked for "Get new headers". 2) Fixed erroneous popup about number of messages in group exceeding threshold when there are no articles at all. 3) Article paths and decode paths truncated in CPP version of settings notebooks. 4) Filter pages did not display in CPP versions of settings notebooks. Nor did the external editor page. 5) Semicolon added to list of allowable characters in http[s] URLs. 6) QP encoded articles received from connection now correctly have trailing = signs on lines removed before article is written to disk. 7) QP encoded articles read from disk are now not translated. (again!). 8) Translated all C source files to CPP for better typing and casting support. Version number bumped to 1.52 cp001. Fixes in ib121 over ib110 ------------------------- 1) Subject field is now always QP encoded if it contains 8BIT characters. Ignores the newsgroup posting settings. 2) Sender email address was in MIME when quoted in the "On such and such, so and so wrote:" line in replies. Now decoded. 3) Corrected "Not enough space" popup error message to include amount of space required correctly (not 0 any more!). 4) Allowed posting and decoding of multipart articles in up to 2048 parts now. 5) Removed previous double-decode quoted printable fix and fixed in a different manner as other things broke like charset translation. 6) Added debug code to let me trace what gets called most often and then tuned the top 10 or so callees. 7) Fixed an error that occurred when the server high message number was lower than the local high message number for a group. Ths happens when a newsgroup is rebuilt on the server and before, it would not be noticeable, just no new messages would show up. Now Pronews will automatically adjust the local high message number to the server h.m.n. and subsequent fetches will pick up new articles. 8) Added % character as a valid URL character. 9) Added support for https:// links. 10) Email address local parts containing the / and + character incorrectly mangled even though it's a valid RFC822 char. 11) Servers incorrectly go offline even with tasks still queued when "Go offline when queue is empty" is set on. 12) Incomplete data displayed when editing an article in the post queue. Data after the first blank line was omitted from the editor window previously. 13) Double-decode of quoted printable articles that lost characters from them. Decode only once on receipt of article from server, not again when displaying it locally. 14) Correct crash when retrieving headers that contain a malformed date. 15) Two too many articles being retrieved when max headers was being reached. Only in build ib114. 16) Speeded up various functions by eliminating a call to put offline servers that were already offline! 17) Changed log functions to add fractions of a second to log output to aid in performance debugging. 18) Correct a problem with groups containing over 32767 headers where the scrollbar behaved weirdly. Scrolling was erratic to say the least! Aha! This will be the "Scrolling bug when more than 32k articles in a group" listed as fixed in ia119 by Panacea. 19) Add log debug message when maximum headers dialog window is issued. Groupname can be too long to be seen so this at least lets you find out what group it is. 20) Enhancement: if an environment variable PNMAXHEADERS is set to a number then that will become the largest number of headers allowed in a newsgroup. Default: 100000. 21) Enhancement: if an environment variable PNNOOFASFILEPART is set to any value then PN2 will not treat "x of y" as file part numbers in multipart decodes, only (x/y) will work. 22) Enhancement to display missing article part numbers when a multipart decode is requested. Makes requesting reposts easier. 23) Check for dates with year > 2037 and set to 2001 to stop crash in strftime(). Validity check all date fields! Fixes in ib110 over ib109 ------------------------- 1) Tighten locking procedures in LockGroupData() and LockSubGroupData() to serialise access. 2) Changed order of some nested for() loops to obtain better cache coherency. Dummy tests of the code executed 5m times shows a drop in execution time from 4 secs to 2 secs. 3) Moved some nested for() loops out of the outer loop because they made no reference to the thing the outer loop was changing! 4) Rewrote LockFilter to eliminate timing windows that would allow lockups. 5) Add check for errors given by DosCreateEventSem in LockFilter code. 6) Change max active groups to a #define and reduce from 500 to 150 initially. Does anyone have more than 150 subscribed groups anyway? Trying to speed things up a bit... 7) Eliminate "duplicate lock" messages from multi-crossposted articles. 8) Change code that uses LockFilter to not clobber someone else's mutex semaphore by mistake! Fixes in ib109 over ib108 ------------------------- 9) Check results of gmtime for null to stop crash formatting date/time in article window. 10) Set number of parts allowed to be posted equal to number that can be decoded. Else we end up not being able to decode our own posts! Fixes in ib108 over ib107 ------------------------- 11) Add about 200 checks for invalid hwnds to cater for broken kernels (14.072+). Still not working! 12) Maybe fix random crash in SaveHeaderData() caused by overlay in nntp.c when references too large. Not completely fixed but much better now thanks! 13) Add checks for number of posts being created more than max. allowed. Issue message box and log message when it happens. Fixes in ib107 over ib104 ------------------------- 14) Fix crash when starting Pronews on kernels 14.072+. Still busted, kernels are rubbish! 15) Throughput increase when multiple crossposted newsgroups are indexed simultaneously. 16) Corrected number of lines per part in multipart posts which caused part numbers to become [402/400]. 17) Changed maximum outbound posts from 255 to 1024 and added checks to make sure it's not exceeded. 18) Changed max number of auto-decode parts again from 512 to 1023. 19) Changed display of date/time in article index to take account of TZ setting. Also add leading zero to day and "UTC" to quoted date/time 20) "Find" matched any string with articles with null subject. 21) Checked maximum headers in a single group doesn't exceed allowed (currently 100000). Incomplete fix and still does not work. 22) Added an "are you sure" prompt to the unsubscribe process. 23) Changed rename of duplicate decoded files to use non 8.3 filenames if on an HPFS or JFS partition. 24) Fixed runaway decode problem - and probably other stuff too like mixed up body parts from other posts. We'd loop through a buffer when the last byte of a rolling window fell on the last byte of the buffer itself. 25) Changed maximum number of parts in a multipart decode from 255 to 512. Multipart articles with more parts used to bomb out with an error about missing part 0. 26) Added log message when multipart decodes are missing parts. 27) Fixed speeling error in prompt dialog. "from" should be "to" in page range (not really a speeling error but...) 28) Correct XOVER processing when no messages in group. 29) Correct Euro representation in iso8859-1 (cp 850&857). 30) References line truncated to 255 when editing post in postq. What's fixed in version ib104 ======================= Increased maximum filehandles to stop open errors. Hopefully fixed the random "wandering server" problems. Fix ugly dashes in 640x480 mode for selected article. Release newsgroup semaphore occasionally to stop lockouts. Whats fixed in version ib102 ========================== Added disk space checking before attempting to write/rename files around. Tried to reduce the cpu load introduced by the fix for the deadlock in ib101. Whats fixed in version ib101 ========================== Entries would be left in HEADERS.IDX when unsubscribing from newsgroups. Articles would go "missing" if the response from the server was wrong because it was in the process of updating its counters. Most commonly this would mean you wouldn't see your own posts but it could affect others too. Filenames will now be only 8.3 compatible for use on FAT. Refixed the "dot stuffing" code. "socket operation on non-socket" messages would appear due to thread serialisation problems. Other tcpip errors could also be (mis)reported. Random crashes would occur, more frequently if the option "Close connections on task completion" was used. Fixed a deadlock that would cause complete cessation of activity and leave tasks in "Waiting for header data to unlock" status. Build number and release number incremented to 1.51/ib101. Whats new in version ib099 ========================== + Changed the maximum articles handled per news group from 50,000 to 100,000. Corrected the 30,000 limit in the Group Defaults page 9/9 to use the defined maximum articles as a maximum. + Fixed the "dot stuffing" so it works properly. Whats fixed in versions up to ib098 =================================== + Change Posting routines to enable "dot stuffing" to avoid problems if an article line contains a single period. + Huge numbers of threads started! >1024. ProNews should now not allow any more than approximately 100 threads to be started at any one time + More than one server with large numbers of groups crashes. The limit for the maximum number of groups for all servers combined has been increased to 300,000 + Delay no longer greyed out when queue operation not selected in Settings notebook "Queue Options" page. + Trailing blanks were accepted on email addresses and cause an SMTP server 553 error. + Replies to posts made in Y2K appeared as in Y3900. Also all posts in Y2K were incorrectly aged from database. + Fixed blank outgoing address when cc: self on outgoing mail was on but Reply To was blank. + Fixed problem will all servers going offline when a single queue was empty. + Quoted text routines now properly decode 7bit mime encoded subjects. + Fixed a bug in the wait for header db function causing unending semaphore waits. + Posting font will not show up correctly. (it will use a different font than the one specified). + Color palette open problem (rc = 00041001) + Fixed trap when resorting was in progress and an article was selected. + Headers retrieved before Y2K fixes have invalid dates. + Weird highlighting happened when distances were given in inches in article bodies (5.25" would treat rest of article as quotation). + LMB - swipe - RMB would not copy to the clipboard from the article window. + Sunday is Everyday for Saved Messages quoting. + Prevent Get all headers from purging old messages. + Maximum tasks in the queues should now not exceed 1,000 at any one time. + Tweaked thread priorities to allow real work to be done while the threads that add tasks to the queue are running. + Corrected the routine CreateUniqueFileName() to actually create an unique filename! Missing article bodies/headers and random crashes are the symptom of this problem when multiple threads tried to use the same TMP file. + Should shutdown in some cases where it would have hung before. + Fixed the crashes that occurred when a Retrieve All Article Bodies was done from a server with a large number of articles. Tested on news server with 56,000+ messages with the largest single group being 35,000+
 ecsoft2.org/system/files/repository/pn2v160.zip  local copy
ProNews/2 v. 1.57 (12/7/2005) Readme/What's new
Fixes up to 1.56 cp106 ====================== 0) After group reload, some article entries could end up pointing to wrong displacement in article data file resulting in random garbage being displayed. 1) Upgrading from 1.55 and previous, wrong charsets selected in menus and in postings. 2) Crash blinking the arrows in the article window again 3) Crash in ProcessMgrLoad() if offline.dat is corrupt. 4) Memory leaks after ULS errors 5) ULS error messages now include plain text version of errorcode 6) Add recovery from 'buffer full' ULS errors, now reallocates buffer and retries. 7) Subject and From fields are now encoded using base64 or Quoted-Printable depending on settings for group. Old code always QP encoded them. 8) Crash opening group with corrupted index or data files Now checks that article numbers match and gives error if not. 9) PNLOGDIR points to place to store logs - default ".\" 10) Crash opening group containing more than MAXHEADERS articles 11) Crash when saving articles to file or copying them 12) Potential fix for crash while closing a group if any subject and composer lengths combined exceeded 255 chars. 13) Postings containing base64 encoded attachments were missing quotes from the filename 14) Speed up multipart article decode selection 15) Crash if an article body was larger than 1.5MB 16) Charset shortcut keys did not work 17) Crash when posting in UTF-8 via email 18) Articles posted in charsets that are not in charsets.pn will now be translated if the charset is listed in cpalias.pn and has an alias of the IBM codepage name corresponding to that charset. E.G. iso-8859-16 is ibm912 in cpalias.pn but does not appear on the charset menus as it isn't listed in charsets.pn 19) Pronews now exits immediately if any of the *.pn files are missing. 20) Headers would always be translated from their charset to us-ascii. Now uses the codepage for the group or global settings. 21) Missing trailing characters on some base64 decoded strings 22) UniConv functions failed with 0x2040d error due to missing UniFreeUConvObjects 23) Charset settings in global notebook not remembered 24) ULS support (UTF-8) 25) Added: support for pronews.env environment variable file
 ftp2.bmtmicro.com/pn2v157.zip
Record updated last time on: 14/06/2019 - 14:44

Translate to...

Add new comment