This is a list of changes to each version of xvnews. Most recent changes are listed first: Changes 2.3 -> 2.3.1 -------------------- 2.3.1 is a bug-fix release only. No new features have been added. Here is a list of problems which should be fixed in this release. o When talking to the NNTP server, take into account that the connection may be lost (e.g. because of timeouts). o If xvnews uses the POSIX regular expression routines, xvnews should also free used expressions, otherwise memory will leak this way. (With big KILL files this can be quite a leak!) o When reading an article with a line starting with a dot xvnews would stop reading the rest of the article, and then become confused by it. o With many subscribed groups xvnews could get into memory problems, because no additional memory would be allocated. o If a server has more than 5000 groups, and xvnews would have to "view all groups", it would crash because of a hard-coded limit on the number of groups. o Subjects not starting with a letter would be sorted in the wrong order. Changes 2.2.1 -> 2.3 -------------------- User-visibly changes o The information in the header is displayed differently, and only displays the newsgroup name when reading a particular group. o "Next subject" now leaves the group when no unread articles remain, like "Next unread". o Added a "c" option to match case-sensitive kill-rules. Patch by John Durand. o The quit button is replced with a menu. This menu contains the default action "done", which iconifies xvnews, and a "quit" option, which quits xvnews. Both options update the .newsrc file. Partly based on a patch by John Durand. o When viewing groups the "goto group" button is only available when exactly one group is selected. Reported by Stefan Keuhnel. o Added patches by Alec Muffet to enhance the single newsgroup mode. Made a number of changes to make using xvnews with just a single group more consistent. o When a 'Kill Subject' was done with a number of articles already read, the next selected article would be the first article in the list, instead of the next unread article. Reported by Andrew Tefft. o Date: headers in articles are now converted to local time. Patch by D. Douglas Valkenaar. o The undelete popup doesn't pop up anymore. Use a new command line option (-u) to get the old behaviour. Patch by D. Douglas Valkenaar. o The name of the group is now listed in the header of window. Patch by D. Douglas Valkenaar. o The maximum rescan time is changed to 1440 minutes (24 hours). This longer rescan time allows for better use with dialup lines. Reported by Pete Delaney. o The Organization: header is no also shown in the abbreviated header. o Articles are now sorted in a more sane way, with replies following the original article. Also, numerical subjects are sorted properly. Bug-fixes --------- o Imakefile should now work. Fixed mostly using Juergen Zimmermann's patches, but mistakes remaining are mine. o Rewrote the subject-sorting code, fixed some small bugs, and made some speedups in the sort routine. o When using an external editor the signature would always be appended regardless of the compile-time ADD_SIGNATURE option. Reported by Vidiot. o If no Follow-Up: header is present the Newsgroups: header is used. Includes code to reconnect to the server. Patch by Andrei Arkhipov. o Some of the properties are not written when they don't have a value. Patch by Andrei Arkhipov. o The article bookkeeping routines have been rewritten. This should fix some odd crashes, and article renumbering problems. o Fixed a number of problems related to using an external editor. Reported by Vidiot. - A '%' in a .signature would be parsed as a format-string for printf, resulting in interesting random signatures. Could be considered a feature, but removed nonetheless. - The "-- " separator for the signature, and the reference line would be missing o Fixed some additional inconsistencies with inclusion of signatures. ADD_SIGNATURE should now always result in the correct behaviour. o When an article would be printed (indicated by [print]), it could not be marked as unread anymore. Reported by Thomas Oliver. o When USE_INEWS_TO_POST was defined, and an external editor was used, xvnews would use the internal posting method anyway, instead of inews as indicated. Fixed, reported by Mark McIntosh. o Fixed a bug where the next group would disappear from the display when the current group would be unsubscribed while reading its articles. Reported by Mark Jackson. o Fixed some bugs with the counting of unread articles. o Fixed some problems with newsgroups with names of more than 70 characters. This still isn't fully fixed. See the TODO file. o The "all articles" button would not show all articles in the newsgroup. Fixed. o A infinite loop could happen while killing articles in a group. Patch by Alexander I. Murashkin. Additional functionality ------------------------ o xvnews now uses the LIST SUBSCRIPTIONS NNTP command to find the default subscription when no .newsrc is present. Patch by Dave Hill. o xvnews now uses the XGTITLE NNTP command. This command isn't standard, but it is present with INN. This conserves both memory and time, as descriptions of newsgroups are only read when needed. LIST NEWSGROUPS will be used as a backup. Patches by Leif Hedstrom. o Support for LOCALE has been added. Default locale can be defined in config.h. Patch by Andrei Arkhipov. o Added support for handling of the nnrp passwd mechanism used by INN. See comments in config.h. Patch by D. Douglas Valkenaar o A new environment variable MAIL_ALIAS can be used to set the mail alias in postings and e-mail. This can be used to use an alias instead of a login name (which might be mandatory within a company), or it can be used to add additional system names, as happens with a number of Xerox machines. Other ----- o The CHANGES file is now rewritten in a better format (I hope) o Changed put_server routine to use variable number of arguments. This make the code cleaner, and gets rid of a number of static buffers within the program. o To enhance portability the regular expression code has been rewritten. xvnews now uses internal routines, so that all portability dependencies are contained within one file: xv_regex.c. o Ported to FreeBSD, with help from James Robinson. o Added a patch by Doug Shuck, which streamlined several things when doing follow-ups. o Made several speed-ups to the kill-file code, patch by Andrew Tefft. o A define has been added to keep the article window editable. Patch by Bertrand Decouty. -------------------- Changes 2.2 -> 2.2.1 o Fixed a bug which caused problems with long subject lines. o Fixed a off-by-one bug which caused problems while sorting. ------------------------- Changes 2.1betaPL4 -> 2.2 User-visible changes o Article window is now always read-only to avoid confusion. o '/usr/lib/sendmail -t' is now the default program to deliver mail. Note that this has some consequences for the use of aliases. See xconfig.h for details. o The Makefiles have been rewritten. Support is now available for sunos4, sunos5, and linux. - suos5 uses the -R option when linking. o All configurable options are now located in config.h. o The default location of the news.record file changed to $HOME/News/news.record. o Changed the scanning routine for new news. xvnews now keeps scanning until new news is detected. Note that if there is still unread news, no scanning will occur at all. The previous behaviour was to only check twice after iconizing. o "Distribution: world" is not a valid distribution, and is being frowned upon by many knowledgable people. xvnews now proposes an empty Distribution: header. inews will handle its removal if needed, but we can still easily substitute it with a value from the menu. Bug-fixes o Several kinds of crashes could occur when using the Search... menu. Fixed. o xvnews could crash when going to a next article. Fixed. o There is no longer a fixed boundary on the number of newsgroups and the number of articles per newsgroup. Initial estimates can be set in config.h. [Leif Hedstrom] o stdarg is now the prefered way to use variable arguments. varargs is only used is stdarg is not available. o The list of new groups in now invisible during updates. Cuts back on time, and looks much better. [Scott Hiles] o With some versions of XView the TEXTSW lock up when including text. Changed all places where text was loaded instead of included. See also the TODO file, which describes a few of the instances where this bug can still pop up. [Peter Maier] o If the last article was found during a search, then the list didn't always return to the currently selected article. Fixed. [Leif Neve] o The window footer would always tell you there were subscribed groups with unread articles, even if there weren't. [Doug Shuck] o The problem where the first line of a list was'nt displayed correctly also occured in the undelete popup. [Cyril Plisko] o xvnews now handles unexpected quits better. xvnews is now more carefull about trying to save the .newsrc file. If xvnews is quit through the window manager it saves the .newsrc file. However, I'm still not able to detect the window system itself quitting. xvnews just dies in this case. As a compromise the .newsrc is also saved whenever the window is iconified. [Douglas Shuck] o A bug in the sorting routine made the first group unsubscribed when sorting. [Douglas Shuck] o Fixed problems with fonts in scrolling lists. [Alan Snyder] Additional functionality o There are more configurable options available: - An inews-program can now be used for posting. It's location can be specified in config.h [Geoff Ballinger] - Specify the compress-program and extension. [Cyril Plisko] - The program to deliver mail can be configured in config.h. - Option to let xvnews include a signature or not. [Geoff Ballinger] o xvnews is now aware of INN, and will issue a "mode reader" command to get a copy of NNRP. [Rob Montjoy] Other o Many code-changes to avoid warnings and enhance portability to Linux. Also incorporated some of the changes in the DevGuide 3.0.1 libraries. Made Makefiles and rules work with GNU Make. Made xvnews compile with GCC. o Added a X-Newsreader: header to identify xvnews posts This header will only be used in beta-test version. The official release will not contain this header field. o There is just one Makefile, with targets for SunOS 4, SunOS 5, and Linux. ---------------------- Version 2.1 (4/24/92): ---------------------- ------------- Enhancements: ------------- Added the ability to sort subjects in alphabetical order. Check out the resource XVnews.sortSubjects and the properties window. xvnews now kills crossposted articles automatically after one of them is read. The resource XVnews.postEditor defines a different editor to use for composing articles and forwarding/replying through email. Just define an editor in the properties window under Editor (eg. shelltool -Wx large vi). Default is the built-in xvnews post/email window. If the xvnews window is iconic, upon the second automatic rescan xvnews will disconnect from the news server until xvnews is opened again. There will then be a rescan done when the window is opened. To change this time period, simply adjust the auto rescan timer in the properties window. This helps save cpu time and connections on the news server. xvnews tries to remember what group was highlighted in the scrolling list after an auto rescan or going to view groups. When printing ([print]) or filtering ([filt]) an article, the correct action is now displayed at the right hand edge of the article list. Previously the messages were limited to [read], [unread], and [save]. You can now set the background color for the text window using the resource XVnews.textback in the properties window. Added file completion like action for matching groups. Added support for extended GECO's format to postings. The way an article's header is displyaed has changed slightly. The full header option if the way the article header is stored on the news server, with no changes. The abbreviated header should be mail compatible on all systems. -------------------------- Bugs fixed in version 2.1: -------------------------- Pinning up next or prev article menu and then exiting the group and then selecting an entry from that menu would cause a crash. Version 2.0 (2/11/92): ---------------------- patch2 bug fixes: ----------------- Postings that had a line that began with a period should have been padded to have 2 periods '..'. Articles that were read in that had a line beginning with 2 periods should have been edited to only have one period. $NNTPSERVER would not override the default defined in xvnews.h File chooser flashes during saves. Added 'h' accelerator key as header toggle option. When saving an article in mail format to a new file, a blank line would get inserted as the first line. patch1 bug fixes: ----------------- Fixed a memory leak that occured when viewing groups. Could have leaked ~100K if 'all subscribed', or regex match was used. Core dumps with .newsrc lines longer than 3K. Could get the same article in the undelete window more than once. The wrong article could get included when searching for an article and then posting a reply. ------------- Enhancements: ------------- [x]rn style kill files are now supported. Check under the Kill menu at the article level. Next and Previous article is now a menu which contains "next/prev article", , "next unread", "next/prev subject", or "next/prev author". You can set your favorite selection using ctrl-right mouse button and then xvnews will save this as a resource when you hit the apply button in the properties window. Undelete popup was added that stores articles that have been killed. You can add these killed articles back to the group. Check under the kill menu. Added a "Load file..." option under include for posting. This allows you to load a file as text, compressed & uuencoded, or just uuencoded to a posting. You will also be informed of how many lines and bytes were included into this window. xvnews now checks for new newsgroups when it rescans. Checking for new groups was only done at startup before. Added resources for menu defaults. Just set your default menu item (right mouse button + ctrl key) for Next, Prev, and Search menus, and then apply properties will store you default selections so the next time xvnews is started there is no need to set these defaults again. Confirmation for catchup was added to the newsgroup level. When using goto group, mark unread now works correctly and actually adds the article back into the unread list. Space bar is a keyboard accelerator that works similar to the space bar in [x]rn. The environment variable DOTDIR can now be used to specify the directory that your .newsrc is in. xvnews now has 2 icons, one when there is unread news, one when there is no unread news. The ability to have different .newsrc files for different news servers is now present. First .newsrc-$NNTPSERVER is checked to see if it exists, if not, xvnews defaults to .newsrc. The environment variable SAVEDIR is used for specifying the default directory for xvnews to save articles as well as load and store KILL files. If unset, the default is ~/News. When posting an article you now have the option of copying the article to a log file, defined by the resource XVnews.logFile. The default file is $HOME/news.record. Added an option to the Save menu "filter". This allows you to pipe articles through a command when it is saved. The article is filtered in edited form. xvnews now checks to see if you are running on a NNTP server or a INN server. When an INN server is found, some things can be done for xvnews to run faster which are automatically enabled. Examples are that with an INN server, you do not have to close and reopen connections whenever you rescan for new groups and articles. Also, xvnews uses the XPAT command for matching articles This make searching much faster, but only allows the use of wildmat style matching as opposed to regular expressions. For this reason, XPAT searching is only used for searching for subject and author pervious Still, the speedups from these searches are significant. When posting or following up to an article when you are reading a group, xvnews will look in $SAVEDIR/group first to try and find a .signature file. This is handy for people who want to have different .signature files for different groups. For example: To have a custom signature for sci.military, put a .signature file in $SAVEDIR/sci/military. The defaults NNTPSERVER, DOMAIN, and ORGANIZATION or now settable at compile time by a couple of defines in xvnews.h. -------------------------- Bugs fixed in version 2.0: -------------------------- The tempfile used by xvnews is now /tmp/.xvnews.file.getpid(). This allows you to have multiple programs running without conflicting with each other. Saving article that had the full header displayed was incompatible with mailtool. Searching previous archives would fail to find original article. randolph@cognito Some users have .newsrc lines greater than 2K which was the default. Bertrand.Decouty@irisa A Summary line was added to the header for post-followup. randolph@cognito Retrieving an article from the articles using the previous button would sometimes cause a bus error due to using strcpy() as opposed to strncpy(). When reading a group and hitting all articles more than once, xvnews get confused very quickly. Some users had problems with certain security programs and xterminals not setting the environment LOGNAME which xvnews looked for. exudnw@exu.ericsson.se Some people get Memory insertion errors when reading articles if they don't have Text.MaxDocumentSize set. many Some machines seem to close socket connections rather quickly, so I changed the parameters of the socket to hoepfully keep the connection alive longer. cary@scripps.edu xvnews would sometimes crash on an unsubscribe function if no groups were selected. Keyboard accelerators would not function if goto group had been used to view the news group. If you unsubscribed to a group that you were reading, your .newsrc would not have the articles that were read updated by that change. randolph@cognito.Eng If xvnews.displaysize was set to a negative number, xvnews could crash in strange places. Bertrand.Decouty@irisa.fr When regex searching for articles, sometimes the article ordering would get screwed up. Version 1.1: ------------ ------------- Enhancements: ------------- Major performance improvements for using goto group feature. Also speedups should be noticed when you exit a view groups option. Drag and Drop is back and should work for both V2 and V3 applications. Changed the timeout parameters a little, xvnews now tries to connect to the server 10 times before it times out. The wait time is 20 seconds * number of tried connections so that the wait is gradually increasing. -------------------------- Bugs fixed in version 1.1: -------------------------- If the server you are on is running the new INN s/w, some articles previously read may return after a rescan on high volume groups. naughton@green Searching for subjects would find previously read articles. naughton@green If your NNTP server returned a status of no posting(201), xvnews would fail to connect to the server. lwv27@cas.org Some groups with no articles read would be saved by xvnews as "group! 0-0". This would cause certain versions of rn to give warning messages. bkm@wintermute Hitting return on the Search string line for all matching groups should retrieve the groups similar to hitting the view groups button. was@thresher A subscribed newsgroup that has a number of cancelled articles, and when read in had no article subjects available would sometimes crash. Some domains would have the first character missing. Chris.Crampton@ecrc.de Fixed a few more make clean problems. Version 1.0: Patch 1: ------------ -------------------------- Bugs fixed in version 1.0: -------------------------- Some NNTP servers don't have the DISTRIBUTIONS files installed. Symptoms were that posting would hang, or xvnews would hang on startup. cflatter@zia.aoc.nrao.edu If you had a zero length .newsrc or one that had no valid groups, xvnews would crash. almo@usops.ebay.sun.com make clean removed xvnews_ui.c xvnews_ui.h and xvnews_stubs.c. Chris.Crampton@ecrc.de If you hit unread on an article that was marked unread, it continued to decrement the unread article counter. Various Imakefile problems installing on certain machines. numerous people Cursor was not placed properly in post/email popup. If no .newsrc is found, the new .newsrc should be sorted in alphabetical order. Otherwise, same as 0.8PL1. I just had to make xvnews version 1.0 to release xvnews. --------------------------- Changes for xvnews 0.8 PL1: --------------------------- Kill article now goes to the next unread article. Kill understands that "foo" and "Re: foo" are the same subject. Save->save in the articles panel saves to the file in the file saver popup if the popup is displayed. Posting now recongizes "&" in the fullname field of the password file as the login name of the user. Catchup removes the save popup if it is up, just like next and done do. Followup is now the default action under Post/E-Mail. Followup windows now have the References line filled in correctly. If you save an article using the file saver, if the file was new, the saver would delete the filename making it difficult to save multiple articles to one file. This is now fixed. Regular expression searching for article text was kind of broken. Regular expression searching for article text now highlights the text you were searching for and scrolls to that point of the article. Under Search->*prev, a prompt now asks you to confirm searching previously read articles. Searching for subject/author next/previous now goes to next unread article after the current article you started at or are now reading. This works much better for following threads. Keyboard accelerators are available for certain functions. Make sure that keyboard focus is in the center button panel (Click in it) and accelerators can be used for: Subscribed Groups: 'n' -- next group 'p' -- previous group 'L3' -- Properties popup Unread Articles: 'n' -- next article 'p' -- previous article 'f' -- scroll text one page forward 'b' -- scroll text one page backward 's' -- save article 'q' -- exit reading articles 'k' -- kill current subject 'L3' -- Properties popup 'L9' -- Find next subject Drag and Drop under OpenWindowsV2 no longer works. ----------------------- Changes for xvnews 0.8: ----------------------- Double click opens newsgroups as opposed to single clicks. Support for unread articles in .newsrc file similar to rn/xrn(comma seperated list). Change of save popup to use Guide file chooser. No limit to number of e-mail/post popups open at one time, used to be 1. Regular expression searching for newsgroups to be displayed. Catchup now doesn't mark read articles marked as unread. Catchup has a menu that allows catching up to the current article. Deleted skip group (kludgy) button Fixed some bugs with searching and group descriptions. Change kill button to a menu and have subject and author options. Allow to regular expression search on body of articles and entire header. Changed including article to a button on popup window, similar to mailtool. The biggest change is the support for the comma seperated list in the .newsrc file. This means that any articles not marked read or saved will be considered unread and will appear the next time you open the newsgroup. If you are done with all the articles in any group, you should hit catchup to leave the group. The other change that will be immediatly noticable is the you have to dbl. click to open a newsgroup now. That allows you to catchup or unsubscribe to groups without opening them.