Latest features
v4.0:
   The files have been recompiled using compiler with the latest service pack with few small fixes.

v3.9:
   Clearing temp directory could happen too fast not giving opportunity to target application to open the file (bug was introduced some time ago while improving the code.
   Network threads are now default normal priority for new installations and few other small problems fixed.

v3.81:
   Rescan headers has been made faster.
   Added option in properties->articles 'download by article numbers when possible', the option always causes joining newsgroup and then downloading by article number or message-id which is available thus using the most conservative method. If server replies 'no such article' with delay for missing articles the method will work faster since the server won't be requested twice with regular and then with the most conservative way. The option is unchecked by default since for normally working servers with good retention it is not an issue and the fastest way usually works.
   The code for default newsreader and import file types associations was replaced with more advanced one from the future project. It takes into account the windows explorer settings. The file cannot be deassociated since it doesn't make sense (you can do it in windows explorer or by associating it in another program).
   Fixed a rare problem with wrongly trimming subjects (when part number is in square brackets - and in the same time there are parentheses with slash to the left).

v3.8:
   Downloading by article number when possible for badly malfunctioning servers.
   When saving attachments etc. if newsgroups doesn't have its own save directory in properties->newsgroups - the previous general default save directory won't be recreated.
   Fixed an issue with queue order for download immediately articles when queue sorted by date.
   In properties->articles added the following options:
"detect bad message-id", solely for test purposes to see what is the problem when the bad message-id error results, as a rule the option should be checked.
"additional article download kill filter heuristics" - to deal with all kinds of attacks, the option will be adjusted as necessary given the real situation.

v3.77-v3.79:
   Handling malfunctioning servers which cannot download by message-id and require to join the article newsgroup first otherwise they give 'no such article' error.
   In the header properties to the right of the xpat/import group names the newsgroup that the article belongs too is now shown.
   Previous partial solution to the problem is no longer needed.
   Users who are subscribed to problematic servers need to download headers for xpat groups/import nzb files again for the relevant information to enter the database, there is no need to reset the newsgroups.

v3.76:
   A fix to handle broken Power Post posts in so-called "experimental" mode that doesn't make sense and which made users to disable threads in newspro.
   The save progress dialog is now immuned from the Esc key that could be accidentally pressed when it pops up (remember you can also make the dialog invisible in tasks->autosave->visible autosave dialog if you don't want it to appear at all).
   The strict priority is set by default for a new server.
   When importing headers manually newspro will accept other than .nzb extension (treating them as .nzb).
   Removed check for validity of message-ids while optimizing database accesses when message-id longer than 1000 characters (intentionally) aborted the program.
   Added more checks to detect broken XOVER output based on a user report.
   Coping with faulty MIME posts when requred space between the field value and the field name is missing.

v3.75:
   Added an option not to download bodies from servers ("don't get bodies"), it is in properties->servers, message-id direct area ("don't get headers/bodies", the options are separate, 'don't get headers' is former 'suppress headers' - just different name).
   Previously deleted/purged headers in the import group will be not hidden from view and shown as 'read' on reimport.
   Read messages are not automatically marked for download (it is also true for the import behaviour above).
   Fix for buggy output of the latest Power Post with .nzb support which produces non-compliant .nzb files (.nzb is an xml file format and the program doesn't bother to replace control characters, thus introducing invalid control character sequences - still they have to correct that since an ambigous although unlikely case is possible when an xml control sequence is a part of a message-id).
   Fix for questionable .nzb format interpretation from www.binaries.nl when the number of parts is not in the subject.

v3.73:
   Support for export of selected headers into a .nzb file in the import/export menu (the same option in the 'more' submenu of the context menu or through shortcut Shift+E). A related option in the import/export menu: 'use bodies to fill group names for export' means newspro will open bodies when available (not all bodies - only the first part of partials and all non-partials) and will put in the .nzb file the newsgroups the article had been posted to (somewhat slower due to file accesses but recommended when the .nzb files are intended for posting/sharing).
   Importing algorithm for .nzb has been revised to handle wider range of possible xml .nzb output not necessarily by current indexing services, although the newspro output is almost identical to the www.newzbin.com output. Also .nzb files are imported with dates (.zml files don't have a date at all, so the current date is used instead).

v3.72:
   Support for indexing services has been added after numerous user requests. The idea is to import list of relevant message-ids from search results at an indexing service website instead of downloading headers from servers directly.
   All relevant options can be found in the Import menu. All such headers are imported into the #~Import group which is automatically created when invoking an import option in the first time. It is recommended to reset the import group from time to time or enable purging for the group since deleted headers in the group (edit menu->show deleted headers) don't expire (because they don't belong to any server)
   NewsPro now supports a free indexing service http://www.binaries.nl - to use it open the page with article headers and message-ids and copy it into the clipboard, then invoke 'Import from clipboard' from the import menu. If the menu entry is disabled it means that the clipboard doesn't contain meaningful data. Since the site is mostly for viewing there is no official format here.
   Also two other formats are supported .nzb and .zml. You can associate the extensions with NewsPro from the same menu. The .zml format is used by Binnews - http://www.binnews.com, it is compressed format so downloaded indices are essentially smaller. .nbz is used by Newzbin http://www.newzbin.com, it uses xml so it is more extendable but is not compreessed. Both sites are commercial.
   Otherwise processing time for incoming headers has been reduced.

v3.71:
   More capabilities for handling incomplete partial messages: In the More submenu of the newsgroup view context menu 'Find parts and save attachments' has been added: for views with partial auto support enabled (partial menu->enable autosupport... checked) it works like 'save attachments'. For views with partial suto support disabled it combines all remaining parts related to selected parts and save partials even if the first part is missing. Thus gathering all information for par2 recovery becomes more manageable. Reporting problems when saving incompletes is now optional.
   In the tasks menu added 'finish all tasks and exit' and 'finish all tasks and shutdown windows', in the latter case if the system supports the power-off feature, the power is also turned off.
   The xpat option has been updated to handle malfunctoning servers; since there are only few buggy servers it is only a fix (known buggy services are News-Service.com and Usenetserver.com). The xpat capability is narrowed to only one newsgroup, the search group name must be of the form ##<newsgroup name> and the same newsgroup name should be in the newsgroups control of the xpat dialog. It is described here (in the bottom).

v3.7:
   Handles buggy posts of a Power Post clone (released three weesks ago) with a check box which (when checked - it is unchecked by default) adds MIME headers but doesn't do the rest according to the MIME specs so attachments are written in the MIME comment section (and NewsPro following the MIME specs looked for the data header skipping the comments), there were several complaints about it, apparently the bug will be fixed but the beast is already out.
   Header properties show the number and percentage of available parts.
   Increased the limit in the post dialog edit box.
   Added a shortcut to add a filter.
   Subsets with zero tasks or servers work like disabled servers so tasks are transferred to lower priority servers instead of being in the pending state.
   In properties->tasks added an option to set the socket buffer size that may be used for fine connection tuning although in most cases it doesn't make a difference.

v3.6-v3.65:
   Header properties in the context menu now include everything (still the missing parts dialog retained for handling reposts).
   For better 'accounting' there are additional options in the server pane of the workspace window in the context menu of the server entries, it is possible to exclude header bandwidth - desirabe when the header bandwidth is free (if you select one server it suggests the opposite option in the context menu).    Another option in the context menu ('Set auto reset time) is to reset bandwidth counters and download limits at certain time daily (on per server basis since that may differ from server to server). You can select several servers and set the same value (but it will show the current value only when one server is selected).
   There is sort by priority/userid in server names in properties->servers pane, which gives better idea about server order/helps arrange servers according to provider (when userids are different).
   Added separate read timeout for search groups in properties->general since the command may be slow on some servers relative to other commands.
   Added option to control expanding the attachments box in the post dialog for a new post (the post menu).
   The suppress headers option (properties->servers) won't include search (xpat) groups by default since generally it appears users prefer to look on every available server, it can be reversed to the older behaviour by unchecking properties->general, 'Ignore suppress headers for search groups'.
   The browse for folder dialog is now resizable.
   Now newspro can handle better some mismanaged usenet services (especially the renown in this regard usenetserver.com) with corrupted message-id indices (cannot provide articles by message-ids). Formerly newspro was able to handle that only when the newsgroup in question was open, now it also works when it is closed (e.g. from folders). Still in such a case message-id direct cannot work in principle and for search (xpat) groups the solution would result in large overhead (after all it is a server bug which is occuring from time to time on very few mismanaged servers).
   In properties->articles abort download options were added (configured by default but can be adjusted). Press the ? button to the right of the controls for details.
   Like in the message filter dialog - now there are two apply filter entries in the edit menu: 'Open' and 'Add' (with/without prior view reset respectively).
   Task manager is now checked to be within the boundaries of the screen automatically.
   In the task manager article tasks those headers were deleted are removed much faster.

v3.5-v3.51:
   The message-id direct option has been refined - now it can be disabled in properties->servers (the corresponding 'On' checkbox). The vague word 'Strict' was replaced with 'Suppress get new headers' which has the same meaning. Although the latter option is shown in the same message-id direct column - it operates and can be checked/unchecked or disabled (the 'On' checkbox to the right) independently.
   Added option to ignore server priorities which can be used when occationally there is a need to download something fast and but the default preference is some server priority arrangement (properties->servers, the "Enabled" checkbox encircling server priority settings).
   There is clear visual feedback so the above options won't be set accidentally (red color in the relevant column and graying edit controls when disabled).
   The default newsreader option makes NewsPro the default newsreader (edit menu->make newspro default newsreader).
   Added option to disable check for aliases (properties->general) since some users with several servers mapped to the same pool of IP addresses prefer just to ignore the alias issue instead of possible using of the Windows 'hosts' file to map server names to different IP addresses. One should remember that if a different not synchronized server has been associated with the same name - the article numbers become irrelevant, the alias detection option may sometimes point out to these situation (when several servers are synchronized there is no such issue).
   In the split view the mouse wheel can be used to scroll without changing the focus (within the same headers/article view pair). It will work when the mouse driver dispatches mouse wheel messages to applications - otherwise use the mouseware settings.
   There are also other small interface and functionality improvements. With many people using firewalls winsock is not longer considered a reliable system component and crashes inside (manipulated by third parties) winsock are catched and reported in error panes in task manager (naturally such firewalls have to be replaced).
   Restored unselecting with mouse click in the workspace window (Ctrl+Click).
   Google changed something in their search engine so it is not possible to look for message-id/author in the same search string, thus the single Google menu entry had to be replaced with two (in the context menu of the article view).
   Added copying servers from public server lists to the clipboard (context menu in the lists).
   Added logic to counter malicious posts affecting binaries, although even as it stood before the usual download order strongly tended to discard pseudo-duplicate junk posts in a natural way in most cases even though it wasn't intentional (it is now :) ).

v3.4:
   The article task queue can be ordered by date, so older articles will be downloaded first. In addition for such a queue the 'download immediately' option will still work, the range of priorities for immediate download (properties->tasks) is preferred and such tasks are ordered by priority, it allows to keep the queue ordered by date and in the same time to be able to download certain articles fast irrespective of their dates without changing the queue order. The option is located in tasks menu->sort article task queue by date.
   The message-id direct feature has been further refined; as soon as message-id direct servers has been added/removed - it is reflected in the task queue immediately after changing the properties.
   Improved algorithm for server subsets, the article queue order is respected in all cases.

v3.37:
   The subset feature has been extended and its interface improved - see the
Server subsets topic for more details.
. A number of servers can be joined into a subset. The user can define maximal number of servers and/or tasks that will be run within the subset. A subset can be ignored, then the subset servers will act as usual servers.
   The 'Message-Id direct' option has been added. The idea is to download bodies without necessarily downloading headers. E.g. with several (nearly) complete servers (to minimize the number of misses) one can download headers from a complete server and check the option for the rest of servers. The 'Strict' checkbox to the right of the 'Message-Id' checkbox prevents downloading headers for their subscribed newsgroups; when it is unchecked - headers will be downloaded as usual, but also messages that are not in their headers will be tried. For servers in subsets server response time on misses should be also taken into consideration. The option is for advanced users.
   Mouse wheel scroll was reversed to default one page at a time after numerous user requests. In addition there is slow scroll when the 'Shift' key is pressed. If you like it in the opposite way - uncheck the option properties->general, 'mouse wheel scrolls page at a time'. If your mouseware processes the wheel messages itself without dispatching it to applications define the scroll setting in the mouse properties.

v3.35:
   Columns in newsgroup/newsgroup list views can be rearranged by dragging them.
   In the workspace view, newsgroups pane newsgroups can be dragged into folders which is more intuitive than the old way.
   Invoking properties for a partial message (context menu or F2) will also show on which server every part resides and the completion percentage on every server which makes the evaluation of server quality easier.
   Repost selected parts dialog has two additional buttons to perform on selected attachments - to clear or to repost all parts, it is convenient for defining reposting parts for some attachments and whole attachments in one task effectively.
   Added an option to put quotes around filenames of posted attachments as well as automatic adding 'yEnc' afterwards for yEnc posts (enabled by default, properties->post).
   When initiating a reply from a stand-alone article the associated identity of the first subscribed newsgroup in the 'newsgroups' field in the body will be initially shown and not the default identity.
   Added filter by message-id, sometimes spam posted through a certain server with distinctive message-id can be filtered out with the help of the opton.
   The initial "current mark for download priority" for articles (see the tasks menu) can be set in properties->tasks, the value will be set on every program start.
   Thread images take 25% less leaving more space for text.
   Mouse wheel scrolls several lines at a time; it is still possible to scroll a page at a time (like in v3.33 and below) by pressing the Shift key while turning the wheel.

v3.3 to v3.33:
   Posting has been extended to multiple servers; newsgroups can be associated with posting servers and identities. Handling identities has been moved to the post dialog and now it is extremely simple and transparent, no need to open properites except for defining the association with newsgroups. Every post now remembers also its server, last identity, headers, preface and footers field. The 'Custom' identity can be used to add your favorite headers to every outgoing post. You can post to several servers and change posting servers at the same time. Server combo box has been added to the post dialog; colors/icon indicate whether servers contain newsgroups where the post is destined and whether servers allow posting. There is a status box to indicate whether the post was successful (although you can close/open the post dialog during posting like it always was and it won't influence posting, the post can be always accessed through Post menu->Posted Messages). See the Posting articles topic for more details.
   In the newsgroup context menu download later/immediately/with priority entries have been added.
   Mark for later download: In properties->tasks. A priority is set for article tasks marked for later download. All tasks marked for download with this or lower priority will be considered as marked for later download. Suspending/runing such tasks is done through tasks menu->suspend article tasks marked for later download. The option is unchecked by default, so you should check it first to have marked for later download tasks suspended.
   Download immediately: In properties->tasks a priority is set for tasks that will be considered as marked for immediate download. You can also define extra task slots that can be used, which guaranties available slots for such tasks (but maximal number of server tasks is not affected). That e.g. gives dedicated slots for fast reading of text articles while downloading binaries.
   Download with priority without necessity to change the current priority (context menu 'download with priority'), the current priority (tasks menu->current mark for download priority) remains intact.
   The 'Save as' option now uses standard windows dialog.
   In the task manager window, combo boxes, edit control in WinXP has now the same color and entries are auto scrolled to the end like in other Windows.
   In the Windows menu the 'Set the column widths for all groups' option has been added to make all newsgroup windows look the same (e.g. when changing screen resolution).
   When minimizing disk accesses is enabled - periodic deleting partials without bodies and optimizing database accesses (shrinking/improving locality) will be faster, since minimizing accesses is now performed before these operations.
   Default associations (opening attachments from article views) will work ok in WinXP synchronized with Windows explorer (open with).
   When opening the directory dialog it won't access floppy.
   Some more info in the title of the directory dialog what kind of function has been invoked.
   Thread code is working faster, so opening a large thread (e.g. 10000 children) won't take too long, given the nature of spam that appeared lately in some newsgroups.
   Default downloading priority is now set to 7 instead of formerly 5 given the option for later download to give some space towards lower priorities.
   Finally the trial version now has its register fields disabled and an indication is given that it is a trial version so it cannot be confused with the version for registered users.

v3.21:
   Faster observing xpat search results in general - proportional to the number of servers on which the search was launched.
   Copying selected newsgroups is fast now (e.g. copying all newsgroup names with number of articles > 10000 to comprise all binary newsgroups in a single search xpat group).
   Marking read/unread, new/old is much faster now in most cases when a number of newsgroups are open.
   Added option to alleviate the problem of the cold start, when database is initially on disk and random accesses take time, the option is located in file menu->minimize disk accesses. There is automatic (on every start, enabled by default) and manual options. The option loads the database into memory. When the database is only on disk random accesses are slow e.g. on the program start; another case, when you work with other applications, NewsPro doing nothing on background, database pages might be pushed back onto disk when memory is consumed by other applications - invoking the manual option will reload the pages into memory - much faster than if it would be done in a 'natural' way by the system with random disk accesses.
   Replies for non-first part of a partial messages now won't normally appear in views with partial autosupport enabled (although the advantage of dynamic showing replies useful e.g. for tracking threads in filtered views refined in v3.2 remained in place).

v3.2:
   The concept of search groups has been significantly refined (see the Search on servers in many newsgroups topic). Now in the same search group a number of conditions by different search fields can be defined. Every search string can be temporarily disabled giving an option to have many related search strings but to invoke only their subset. Every search string can be commented. Such user remarks are useful for e.g. commenting message-ids when tracking thread by message-id and references. Also a check box has been added to allow not to show the dialog every time when launching searches; when not shown - the dialog can be invoked through the context menu of the newsgroup in question in the newsgroups pane of the workspace window.
   Automated the necessity to delete partial messages with missing parts. Rarely partial messages are reported as complete but when it comes to download some parts cannot be downloaded, but still there is a chance of their reappearance (e.g. a server is temporarily down). Now NewsPro can delete such partials from all the database by invoking the option; the option to do it on per newsgroups basis like it was before has been retained too. The option resides in the partial menu, it is enabled by default; it is possible to disable it and to invoke it manually on rare basis. If a message has all parts - some downloaded and some not - the option won't delete already downloaded parts, only if some parts are missing from the database (not listed among headers) the option will be applied. Thus now all garbage collection is automatic.
   Added an option in properties->general to run network threads on normal priority, by unchecking the 'run network threads on lower pririty' in properties->general (the lower priority was the case in previous versions so the lower priority is the default). If you run other programs that degrade newspro network performance (e.g. some games) you can uncheck the box and subsequent network threads will be run on the normal priority.

v3.1.9:
   Enabling/disabling servers - docking window, the servers pane, context menus.
   Bandwidth counters - shown in the servers pane to the right of the server names, next after the number of articles. They can be reset manually in the context menu for selected items. Also it is possible to reset bandwidth counters for all servers through the context menu of the 'servers' root entry or in the tasks menu.
   Also there is an option in the tasks menu to reset a bandwidth counter when the download limit is reached (enabled by default).
   Added option to ignore priorities of maxed (with exceeded download limit) servers in properties->general, the meaning is even when the strict flag is set lower priority servers may be used after the server exceeded its download limit.
   Maxed and disabled servers are shown with distinctive icons.
   Exceeding download limit can be reset for selected servers in the servers pane or for all servers in the context menu of the 'servers' entry or as it was before in the tasks menu.
   Maxed, disabled servers as well as servers with zero tasks won't have their header tasks queued and their existing header tasks will be removed from the pending queue. This resolves the issue of header tasks remaining in the pending state and keeping newsgroups internally open that could affect performance. Other than header tasks don't have such an issue so queueing tasks there is not a problem but rather useful.

v3.1.8:
   Separate font size for the docking window&console to save screen space (edit menu->font&colors).
   Upload bandwidth can be defined in properties->tasks for connections with limited upload speed so e.g. games will run more smoothly.
   The download limit message boxes can be disabled in properties->general->download limit, warning. That allows to use the option seamlessly with smaller time intervals without notifying user that means faster resuming after servers become available.
   The X-No-Archive header can be added through properties->post for users that use it on a regular basis.
   Fixed a small problem with adding a server from public server search when servers with guest/guest credentials were added without the password and wrong port.

v3.1.6:
   More customisable colors has been added, now it is possible to change background and text color for every type of window (edit menu->fonts&colors). Also in the console (formerly status report) error conditions are shown with different colors. Here is an example:

   The 'download&save attachments' option has been added for the focused item so it is possible to invoke the option without changing selected items.
   Handling yEnc errors has been further refined so output of known buggy posters in wide use is processed transparently. The "Ignore yEnc errors" option was replaced with "Detect yEnc errors" enabled by default with the "strict" check box which is unchecked by default allowing the input from buggy posters to be decoded, but still verifying valid checksums virtually always when they are present and trying to download truly corrupted attachments from other servers.
   Rescan for search (xpat) newsgroup now deletes expired headers.
   In article views removed excessive CR LF when line length was equal to the wrap value.

v3.1.5:
   The meaning of the pause button was redefined - now you can associate a bandwidth value with it and in such a way not necessarily to pause, but just to slow down tasks; the bandwidth edit box can be found in properties->tasks->pause button pressed, the default zero value means to pause (the previous meaning), the option is extremely handy to temporarily free just enough bandwidth for other activities with a click of the pause button. Also the pause tasks option was added in the system tray icon menu.
   The estimation of the time left to download bodies is more correct now since it takes into account yEnc attachments.
   In selection/filter dialog the option to extract, select, ban partial messages, it is useful for killing messages by number of lines given the possibility that the last part of a partial message might be small but shouldn't be killed.
   Option to import/export server list with access proxies (it just asks whether you want it or not).
   Error messages regarding connections through proxies are more detailed.

v3.1.4:
Multiple proxies:
   In addition to the single proxy (now 'local proxy') access proxies have been added, so every server can have a dedicated proxy accessed directly or through the local proxy. The proxy checkbox has been moved from the server pane to the proxy pane in properties, but both panes are synchronized as to the focused item.
   The new proxy pane is self-explanatory (in the list green means enabled and red - disabled, all regulated by check boxes).
   Also HTTP proxy authentication has been added.
   Uses are different, e.g. if your friend's computer has an access to a newsfeed - he may run a proxy server with userid/password protection and allow you to share the access.
   The keep-alive option is synchronized with proxy settings, so after they changed - no sockets from the previous connections will be reused.
Fast pending/errors message windows:
   They are located in the task menu and open a global filter fast without scanning database. Partial support is disabled by default to prevent hidden entries.
Showing missing parts:
   The option can be found in the context menu->advanced->show missing parts, the format is convenient for requests or for pasting in the selected parts repost dialog.
Other options and features:
   Properties->General->Enforce authentication, enforces server authentication to deal with servers that hide some groups from anonymous users.
   Properties->General->Resolve DNS (on) every connect, helps when servers may change ip address during a session.
   Passwords are masked in properties, in newsgroups and servers panes in properties all fields are selected instead of only the leftmost column previously.
   The find dialog retains focus after search for more convenience in repeated searches.
   The directory dialog will check the name validity on creating new folder.
   Also there are other improvements.

v3.1 to v3.1.3:
Posting:
   Extended posting capabilities - an option to add file numbers (its initial value along with other initial check options can be set in the post menu). The 'append filenames' option is now independent from 'a new message for every attachment' (if several attachments sent in one message all filenames will be appended). The 'repost selected parts' option now allows to repost selected parts for several attachments simultaneously - the edit box shows selected parts for the focused item in the attachment list, by changing the focus you can enter selected parts for several attachments; the dialog was improved along with the 'repost selected attachments' dialog to show long filenames in full.
   In the 'post selected parts' dialog ranges can be defined, e.g. if a message contains 300 parts and post was interrupted on 150th part - you can just enter 151- to post the rest.
   Added ability to post/decode yencoded attachments (http://www.yenc.org, by Juergen Helbing, the author of MyNews), the encoding has very small overhead in most cases (3% against 30% in conventional methods) and has crc sums. NewsPro can verify checksums on fly and download articles with corrupted parts from alternative servers automatically. It is strongly recommended for people posting yencoded messages to mention that in the subject since not all newsreaders can understand yet - if more users will use it for posts - it will be adopted faster in other newsreaders.
   Improved posting options - larger box for attachment list, an option to reorder attachments.
   Ability to enter several different identities in properties->post. To select the desired identity just press the 'Author' button repeatedly; it will also remember the last and the original identity (before opening the post dialog in the case of editing of an older message) as long as the dialog is open.
   Identities now include separate headers/header/footer for each identity and an additional entry for identities not covered in the post properties ('other').
   The 'properties' shortcut button has been added in the post dialog to make changing properties faster (although properties are still generic).
   Added the 'reply' option in the context menu of article views, although the ctrl+r shortcut and corresponding toolbar button were working anyway.
Proxy:
   The proxy options now include SOCKS4 and HTTP in addition to SOCKS5.
Console:
   Console now shows error messages after every mishap or abort (aborts were shown in the task manager anyway), the message is displayed on the next line after the mishap/abort message, so it is more easy to see what happen when article can be found on more than one server.
   Added horizontal scrollbar in the console view.
Miscellaneous:
   Now the program remembers the sorting order (ascending/descending) along with the column.
   Added option in properties->general 'autosave per ... sec', so the time between scanning for completed downloads can be adjusted.
   The problem of ambiguously looking dates from the last year when the date column is not fully visible has been resolved, so dates for less than a year ago are shown without year, otherwise full year is always shown.
   Added switching purging in the edit menu since it was technically impossible to disable purging for newsgroup list while it was enabled (no entry for newsgroup list in properties->newsgroups).

v3.0.8:
   XPAT search (search groups) can now accept a number of wildmat expressions separated with '|' (OR), so e.g. the pattern 'midi*keyboard|midi*adapter' (with 'substring' checked) will show both patterns in one window without invoking separate searches with changing pattern or creating separate newsgroups. For user convenience all wildmats are displayed one per line in an edit box.
   Smart word wrap for replies both in downloaded and posted messages (the latter not in the post dialog because of the autowrap and possibility to redefine the wrap later, but for the messages that are being actually posted without affecting the source).
   Fixed 32K limit in the edit control for the XPAT dialog (now it is 1MB).
   There was a problem introduced in the download limit detection code in v3.07 (it didn't work except for numeric error values) that was fixed a few days after the 3.07 release (executable replaced on site, details on forum), still Tucows had the orignal code.

v3.0.7:
   Added word wrap for outgoing posted messages (properties->post) rendering the vertical scroll bar in the post window unnecessary.
   Recoverable errors and exceeding download limit boolean wildmats in properties->general can now include numeric values, e.g. 10065; thus also socket errors that are not followed by an character error string from the server can be catched.
   The option 'visible autosave dialog' has been made persistent.
   Added 'Use socks(tests)' checkbox in the public server search control panel to overly define when socks should be used for server tests (using socks for scans is defined by regular server properties). The option has been added for completeness, since in previous versions when socks were defined - tests always went through socks. The purpose is to allow using anonymous socks servers when other accesses still can be made directly (even if in properties->socks a socks server is defined - it won't be used for servers those 'socks' option is unchecked in properties->servers).
   Resolved the problem when anonymous socks access (properties->socks, the username/password checkbox unchecked) didn't work.
   Fixed cancelling header tasks when the 'posted messages' window was closed.
   Fixed possible false triggering the 'thrashing warning' message when 'fixed *.dat size' was defined.

v3.0.5:
   reset&select/extract/ban combined action in the selection dialog to make simple filtering when reset is invoked two times faster.
   Sorting newsgroup list happens only when the newsgroup list is open (more rarely, felt less).
   New users are directed to the 'getting started' home page to make it more easy to start using the program (it was an issue).
   Most selected topics have been revised.    Some enhancements in user interface, more tolerance to system faults and small fixes based on user reports.

v3.0.1:
   More flexibiliy in saving attachments: in properties->general you can set 'mark read', 'delete headers', 'delete bodies' in every combination. Also added 'mark read on delete bodies' option.
   The program flushes database before closing the main thread so it stays only few seconds in the task bar after the 'flushing database' message box disappears, that prevents probem with windows shutdown with newspro still in the task bar.
   It is possible to rename folders after newspro saved files to them (i.e. doesn't let windows to lock folders).
   Initial filters for folders (see context menu).
   Improved code for picking articles for download.
   Marked new is correlated between opening folders and newsgroups that constitute them.
   Option for fixed del.dat size to improve virtual memory usage.

v3.0:
   Public server finder: See the Public server search topic.

v2.999:
   Newer database format: hdr.dat takes about 3 times less space (and so 3 times less memory which is most important since it makes things faster) for binary newsgroups for the same number of headers. Former sto.dat (now cnt.dat) doesn't take virtual memory which pushes database capacity even further and makes deleting partial messages faster. Other improvements allowed to reduce internal newspro cache so operations like opening newsgroups or folders don't take additional memory besides database records themselves. Reducing memory usage will allow introducing additional features in the future. There is another utility in zip (DBConvert.exe) to transform older database (but info about deleted/read will be lost).
   For newsgroup/folder views, context menu->advanced->properties (F2 shortcut) - in addition to servers also newsgroups the message can be found in will be shown. Since the operation takes a few seconds - the older properties entry (Alt+F2) which shows only servers has been preserved.

v2.99:
   Now retention can be set in ranges. Instead of 'forced natural retention' you can force any retention range for servers which will override retention for newsgroups, e.g. setting range 2-... will delay getting new headers that will be useful for servers with large retention but low download limit (other servers will be tried first) or you can get headers only from specific dates etc. E.g retention 2-3 means the program will get headers 24-72 hours ago.
   The number of downloading priorities for articles (see tasks menu->mark for download priority) has been extended from 9 to 16 which allows more flexibility for users. Shortcuts for priorities 10-16 are Ctrl+Alt+Shift+A...G (Alt+1...9 for 1-9). 1 is the lowest and 16 is the highest priority.
   Now users can define wildmat pattern for recoverable errors (which should be retried and not aborted immediately) by entering wildmat expression, see properties->general->recoverable errors.
   Also it is possible to define wildmat expression for messages about exceeding download limit and to suspend a server for a given number of minutes (properties->general->exceeding download limit). You can reactivate servers before the supending interval ends by invoking tasks menu->reset download limits. Non-intruding notifications are given when a server is disabled.
   There is an option to close sockets synchronously thus improving synchronization between closing and opening connections. In most cases the option is not needed and unless it is absolutely necessary better keep it set to zero (ask in forum) - theoretically it may a bit slow down switching tasks and task manager responsiveness, so the delay, if set, should be minimal.
   Servers can be divided into 'exclusion subsets' (it could be called a group of servers, but the word 'group' might be misleading and associated with newsgroups). In Properties->Servers just select some servers, enter a number of subset in the range 1-126 (the number signifies only that servers having the same number belong to the same subset, nothing to do with number of tasks) and press 'set'. You'll see the number in 'Subset' columns for the servers. Only one server from the subset will be active at given moment. Still articles will be downloaded taking into account downloading priority. Servers that don't belong to any group have 'None' in the column (empty edit field). It is impossible to follow restrictions of every service provider which may change all the time, e.g. the option may alleviate problems during non-attended downloading when some restriction across servers are set.
   There are also other small improvements concerning user interface etc.

v2.98:
   Delay between connects can be set on per server basis which will prevent unnecessary delays when servers don't require it, see the properties->servers pane, the 'connect delay' entries.
   There is an option to rename server so that if it changes name or it is named with ip address and changes its ip adress etc. there will be no necessity to delete it and download all its headers again.
   The number of connections kept in keep-alive for every server won't be larger than its maximal number of tasks. The change has been introduced to deal with usenet service providers which limit overall number of connections on a set of servers. It allows to have keep-alive enabled and enjoy its speed boost in these conditions.
   Selecting articles with mouse drag.

v2.92:
   Faster database reset/restore: if the database contains large number of article bodies it will be restored much faster, but it will take the same time while running in the first time with database from previous versions.

   In message filter dialog the option to define time in terms of days ago along with absolute dates.

   If windows explorer dies - the system tray icon will be restored within one minute after restarting it.

v2.91 and lower:
   [Refined in v2.99] Retention: now for every newsgroup retention can be set to certain number of days to prevent flooding database from servers that have very long retention like some commercial servers. Just limitining the number of headers was considered inadequate by many people. It can be set in properties->newsgroup pane. But when a new server is added it is desirable to see all its messages, so an option has been added to force ignoring retention settings for newsgroups for servers (properties->servers pane). "Natural" retention in the settings means that headers in newsgroups exactly reflect the state on servers. The less retention, the greater database performance. By default "natural" retention is set but you can change the default as well as settings for every newsgroup.

   Purging deleted headers: many people wanted to purge manually deleted headers so they won't occupy space. Now it can be set on newsgroup basis (properties->newsgroup pane). While newsgroup is open - deleted headers are not purged, unless it will be invoked in edit menu->purge deleted headers until the newsgroup has been closed the undelete feature will work. There is always an option to disable the feature and run rescan, so all deleted headers can be reexamined with the help of the undelete feature. The feature is enabled by default that can be changed too.

   Marking new headers: New headers now are marked with different color. Also there are manual options to mark headers new/old. Selection/find dialogs or filters can be also used. By default on program restart the flag will be reset, but it also can be set as persistent (properties->general->reset new headers on restart).

   Customizing colors: Since so many colors are used (read, deleted, new etc.) an option to customize colors has been provided in edit menu->font&colors.

   Opening attachments in user-defined editor: There is an option to open attachments in editor through the context menu. The editor can be defined in properties->articles->default editor. For example win2k has a default for .nfo files which starts some irrelevant management utility.

   Since Deja is dead - the Google search engine is now used, although Deja search strings were more universal.

   There are shortcuts for applying, saving and resetting a filter, so it can be done fast by e.g. pressing the shortcut and clicking a predefined filter (see edit menu).

   [Refined in v2.98] Some servers require delay between connection attempts. The edit box to set the delay can be found in properties->general pane, to the right. The delay is set for all servers, since time penalty is relatively small when the keep-alive option is used (estabilishing a connection is a rare event). The error message from such servers was like: "400 Too many attempts in 15 seconds".

   There is a bandwidth meter in the task manager. Also now the task manager window remembers its position.
   The 'Clear history' option can be found in the edit menu.

   The number of selected entries is shown now in the title bar, so the number of parts in multipart attachments of the form .001, .002 etc. can be easily verified.

   The word wrap option can be found in properties->articles pane. Word wrap is not applied to headers (that looks too ugly), only to the article text.

   Newsgroup list is treated differently now - the information about servers is saved, so it is possible to see newsgroups that a particular server has with corresponding numbers of articles in each newsgroup or to see for every newsgroup what servers have it and how many articles are on every server for that newsgroups. It should be noticed that the number is not always reflect the exact amount of headers but can be used for estimation how active the newsgroup is (it is all what is possible to get from servers). See the Newsgroup list topic for quick introduction to the feature.

   An option to prefer certain servers to other servers when downloading article bodies. Formerly the program used the fastest server. Now every server can be assigned a priority in the range 1 (lowest) -128 (highest) with or without the 'strict' flag. Suppose an article can be found on a set of servers. If all servers in the set with the highest priority have their max number of tasks running - the behaviour will depend on the 'strict' flag, if it is set at least for one of the servers - the download will be postponed, otherwise a server with highest lower priority will be used etc., i.e. the 'strict' flag prohibits using a server with lower priority while there is a chance to download the article later from a more preferred server. If a server exhausted all its retries - lower priority servers will be used in any case if necessary. Within a group of servers with the same priority - the fastest server available will be used.
   The option is located in edit menu -> properties -> servers pane.
Note: The 'minimize overall downloading time' option in the tasks menu should be unchecked, otherwise the option will be ignored (it should be unchecked also for getting complete partial messages faster, it makes sense only for batch mode).

   For high-speed connections - auto (as against manual in the past) limiting bandwidth option for getting new headers has been introduced in properties -> tasks. You can set the value of the reduced speed and the queue size threshold for unprocessed headers, to prevent its growing too large - the reduced speed will be triggered only when the queue reaches this size thus providing maximal performance by using less memory (and in so paging file). The usual limit for hard tasks bandwidth can still be used in the same time without problems (e.g. to download more article bodies than headers for slow connections).

   The 'Select folder' dialog has been enhanced - added the 'delete folder' button, to delete a folder when it has been mistyped, the focus is right and the 'Enter' key will close dialog like the 'OK' button as more natural.
   In the edit menu two menu options added to start the program in the minimized state and/or in the system tray. Doubleclicking the system tray icon will make the program window to show up/disappear. Clicking the icon will bring newpro to foreground and there is an option to disable the style from the icon context menu.
   Two features have been added to prevent activity on startup and to perform faster task cancel; in the task menu - the option to cancel all or specific types of tasks and the option to disable automatic getting new headers on startup.
   For european users added =?ISO-8859... pattern replacement in the headers, so they can see now all umlauts etc. encoded in such a way.

   Performance improvements opening folders/virtual newsgroups is several times faster; deleting a number of servers takes the same time as deleting one server; higher capability to process new headers given the same hardware; resetting/restorig database is faster (several times when compact article storage is large); opening newsgroups is also faster in tough conditions, like high hard drive activity.

   The Fixed hdr.dat size option is useful for fast connections and large databases. It resolves virtual space issues (mapping failures) when several millions of headers are read in one session consequently increasing the largest database file from zero to several hundreds of MBytes. With the option set memory usage will reach saturation before it becomes too fragmented and no such problem will arise (mapping requires continous chunk in virtual space, the feature prevents reallocations when the critical database file grows).

   More thorough treatment of malformed headers that previously gave the error: "Failed to parse the Context-Type header line" when decoding multipart attachments - now the program ignores wrong header lines and just tries to go further.

Features added earlier (also see development history)
   Far more precise approach to limiting bandwidth has been implemented.
   A possibility to limit bandwidth for 'hard tasks': getting new headers or newsgroup lists. It allows to control CPU and disk usage for fast connections. See properties -> task pane -> bandwidth, hard tasks. The same bandwidth value will be applied in the automatic mode.
   Download and save feature has been refined, so changing the target directory always will be reflected.
   The option to add headers like "x-no-archive" or whatever is needed (properties -> post pane).
   Rot13 transformation for article views (context menu) as well as for the post dialog (button).
   For modem users in countries with variable rates - now tasks are suspended exactly with the end of an interval of activity - the program disconnects immediately (automatic mode, scheduler, when suspends tasks).
   Running multiple instances (one per database). The feature works only for registered users. To make use of the feature run the program with a profile name, (the default profile name is "NewsPro"), e.g. C:\Program Files\NewsPro NewsPro_Profile_2. Keeping several databases for subsets of newsgroups may improve performance since operations on smaller databases are faster.