home *** CD-ROM | disk | FTP | other *** search
- Changes in 1.16e:
-
- 1. As miss-spelling in the CloseWindow requester has been corrected
- ("cnanged" to "changed").
-
- 2. An insidious problem in the NewsGroup Pruning code which could cause
- memory to be over-written, and already freed memory to be used has
- been corrected. (A struct NODE * pointer was being free()'d and then
- the node.ln_Succ field being extracted from the free()'d memory. On
- a busy system, this memory could already have been re-allocated. On
- some systems, GRn would guru; on others, GRn would hang.) Thanks to
- Christopher A. Wichura for helping me track this down.
-
- 3. When posting an article, if the user.nrefs file is not found, then
- user.headers is looked for (to be compliant with DNews).
-
- 4. GRn now looks at the post being editted, and if you did not change
- the post, asks you if you wish to continue with the post. You can
- discard the post at that time. This does require an editor that is
- smart enough to not re-write the file if no changes were made.
-
- 5. GRn now examines the return value from the editor used in posting an
- article. If the value was non-zero, a requester is displayed informing
- the user of that fact, and asking the user whether or not to continue
- with the post.
-
- 6. The Posting routines have been completely re-written to prepare for
- MIME. They should also be faster as a result of this.
-
- 7. Similar changes for all Mail (Reply, Bug report, etc.) has been made
- as in 4, 5, and 6.
-
- 8. The Publish routine was re-written. A couple of memory leaks were fixed.
- Publish also now checks return values, and give you an opportunity to
- abort when there are any questions about the process.
-
- 9. Under certain special data conditions, OutputFile() could enter an
- infinite loop (until memory was exahusted). A "while (len)" condition
- is now "while (len > 0)".
-
- 10. All SendMail routines and all PostNews routines have been modularized.
- Handling is now the same. Kinda boring, actually. :)
-
- 11. SendMail() was not removing the temporary file created if the user
- chose to not send the mail off. This was probably an original bug in
- BugReport(). :)
-
- 12. PROCDEBUG defined and installed in gmode.c and amode.c. What a help!
-
- 13. Cross posting is now honored. GRn used to just place the currently
- selected newsgroup in the editor buffer when a followup was being
- entered. It now properly includes all Newsgroups in the Newsgroup
- line.
-
- 14. The "Followup-To:" header is now honored (with the known exception of
- "poster"). Previously, GRn ignored the header.
-
- 15. Just like GRn allows user.nrefs for additional header information to
- be added to news articles, you may now have a user.mrefs file for
- additional header information to be added to mail messages. If that
- file doesn't exist, GRn also checks for user.header to be consistent
- (and compliant) with DMail and DNews.
-
- Do note that for News it is ".nrefs" and for Mail it is ".mrefs". There
- is a difference, although you can certainly link them to be the same.
-
- 16. GRn now redraws the screen more intelligently. It shouldn't happen
- when it doesn't need to, but it will redraw after a requestor has
- been seen. GRn used to not redraw the Article Mode screen after a
- Reply. If your editor opened on GRn's window, it was possible for the
- GRn screen to become corrupted. The user would have to exit to Group
- Mode and then return to Article Mode.
-
- 17. GRn now explicitly sets the stack of the PostNews and SendMail
- programs to 32000. I could be talked into making this configurable,
- but this is a reasonable number, I think.
-
- 18. A miss-spelling in the text for the "UUCP Bug Report" has been
- corrected.
-
- 19. When exiting, GRn now calculates the size of the GRnRC file, and
- attempts to go ahead and get memory for it. If GRn can acquire all
- the memory at once, the GRnRC file will be built in-core, and dumped
- to disk with a single write statement. This results in a SIGNIFICANT
- improvement in termination speed.
-
- If GRn cannot acquire the memory, or an error occurs while he tries
- to dump the file, GRn will try the old method.
-
- In general, the output error handling has been improved for this
- function (there wasn't any at all, and now there is some). :)
-
- 20. The documentation has been significantly reworked. The next release
- will probably approach GNU recommendations (MANIFEST, INSTALL, README,
- PROBLEMS, GRn.doc, GRn.man).
-
- 21. Two minor performance improvements to ScanAndLoadHeaders(), at the
- cost of a byte of memory. Worthwhile tradeoff. (Eliminated two if
- statements that were interested in whether or not the last read()
- was exactly the maximum size of the array, to avoid overwriting the
- last byte. I made the array one byte larger than the maximum I/O,
- so the code didn't have to care.)
-
- 22. A minor performance improvement to FixNames(). It examined every
- character in the "src" pointer, even though it had passed the
- "interesting" character. It now stops looking once it finds that
- character.
-
- 23. When subscribing to new newsgroups, BuildNewsTree() held a Lock()
- on every new newsgroup, even after it was done with it. This has
- been corrected.
-
- 24. GRn no longer uses a busy-loop "Delay()" when requesters are put up
- looking for input. GRn uses WaitPort() just like he should. This
- will make GRn more multi-tasking "friendly" to people who use things
- like Exploding Windows or Pointer Activate (which activates the
- window underneath the pointer always).
-
- 25. Minor changes were made to the way that Gadtools messages are handled
- with the requesters to eliminate an Enforcer/Mungwall hit. Thanks
- again to Christopher A. Wichura for working with me to figure this out.
-
- 26. The Forward gadget is now handled as worked-out on Usenet. Each
- forwarded message has "(fwd)" appended to the end of the "Subject:"
- header -- unless it already exists. No "Re:"s or anything else are
- prefixed. The "To:" header is no longer filled out as if it were
- a reply. The Forwarded text is headed by an "Originally From <x>"
- line, and has "---------- End of Forwarded Article ----------" at
- the end. There is no prefix of ">" before each line of text.
-
- 27. In a FollowUp, if the Distribution header was not present in the
- article being followed-up-to, a blank Distribution line was put
- into the user's editor. This has been changed to "Distribution: world"
- to avoid any further confusion.
-
- 28. When Forwarding an article, if a line starts with "From ", a ">" is
- now placed in front of the "From " to avoid confusing mailers about
- where the article starts/stops. This is consistent with Elm (BSD) and
- mailx (SVR4).
-
- 29. Threading speed has been significantly improved by using AmigaDOS I/O
- and register pointers intead of stdio and regular pointers.
-
- 30. Shift-up-arrow now goes to the top of the article. Shift-down-arrow
- now goes to the bottom of the article. Both ENTER and RETURN go down
- one line. Previously, all of these were ignored.
-
- The shifted commands are a little odd - the SHIFT-IN only affects the
- NEXT character. So, SHIFT-UP-ARROW followed by DOWN-ARROW while the
- SHIFT is still in, and hasn't been released, will cause only a single
- line down from the top. This is due to the way Intuition gives us
- shift-in-out with Gadtools. There is a workaround, but it'll take
- quite a bit of work. Not right now. :) Just hit shift a lot.
-
- 31. A many-times-reported problem with scrolling (using the space bar to
- go through an article) not completely displaying the article has been
- corrected. The view-height of the display window was being calculated
- using Topaz-8 as the character size instead of the user specified
- font. Those persons using grn.font never saw the problem since grn.font
- is the same size as Topaz-8.
-
- Keep in mind, GRn does require fixed-length fonts. Proportional fonts
- will not work properly.
-
- 32. The Reply command now asks you whether to include the text of the
- original article or not.
-
- 33. The Publish command would, under certain conditions, prefix every line
- of the uuencoded file with "%s". This has been corrected.
-
- 34. SAS/C 5.10b compilation capability was restored.
-
- 35. Another change to make it easier to use GRn with C-News.
-
- Changes in 1.16d:
-
- This version was skipped to avoid confusion with Dillon's version
- numbering scheme.
-
- Changes in 1.16c:
-
- 1. The display of the group name when entering article mode happens much
- earlier than it used to.
-
- 2. A new toolttype "UPDATERC" and command-line option ('-u') are now
- recognized instead of using GRnrc. When GRn is executed with that
- option, no screens are opened, no output is generated (unless errors
- occur), etc, and it performs the same function that GRnrc used to.
-
- GRnrc is obsolete, does not work with HFS, and should be deleted
- from your disk (it is also MUCH slower than this release of GRn).
-
- 3. Memory allocations have been consolidated, and the number of them
- significantly reduced. Overall memory usage is down, and the reduction
- in allocations resulted in a large speedup in certain critical areas.
-
- 4. When in Article Mode, the Next Group button (or the "N" key) will
- now take you to the next group which has UNREAD articles. Not the
- next group in the list. This makes GRn much easier to use.
-
- You can still pick a particular group from Group Mode.
-
- 5. "FYI" in Replies and Forwards was changed to "Re:" to match the
- normal Usenet conventions.
-
- 6. GRn is MUCH more robust now. Errors which used to cause Panics() and
- GRn to terminate are now simply warnings. GRn recovers and continues.
-
- 7. GRn SHOULD be compatible with NFS mounting of C-News partitions.
- PLEASE someone verify this and let me know.
-
- 8. Signature file location searches are now consistent for all functions.
-
- 9. A "Percent Complete" gauge has been added to the WriteNewsTree function.
- So, you'll know how far along you are to letting GRn terminate.
-
- 10. Speed, SPEED, and more SPEED! GRn is MUCH faster than it was in almost
- every function. Certain critical path areas were completely rewritten
- (one of them, ShowMessage(), four times) to speed them up.
-
- There is more that can be done in this area (and it will be). But,
- I think the maximum speedups have now been realized. We've hit the
- limit using Gadtools ListViews.
-
- 11. Too many internal changes to mention. But ALL worthwhile. :)
-
- 12. Oh my god, I almost forgot -- SUBCRIPTIONS. You can now subscribe to
- new newsgroups without blowing away your user.grnrc file. When you
- start GRn, pass it a "-s" flag followed by the new newsgroups that
- you want to be added to your grnrc.
-
- Unfortunately, I'm lazy (and Myke Schwartz is the user interface
- guy), and I didn't add a way to do it online. So you WorkBench users
- will have to drop to the CLI to do this.
-
- One caveat: the NewsGroup MUST exist. If it doesn't, the subscription
- isn't allowed (by exist, I mean it must have a directory tree and a
- .next file on your system).
-
- For example:
-
- GRn -s alt.sex.stories comp.sys.amiga.emulations
-
- after GRn has executed, they are in your grnrc file permanently (or
- until you Junk them). So, you WorkBench users can leave the CLI
- alone.
-
- Oh, yeah. Due to some conflicts in the way things work you CANNOT
- do a "-u" (UPDATERC) and a "-s" in the same run. Sorry. You'll
- get an error message. :)
-
- 14. More speed enhancements in displaying articles (Article Mode). I
- don't think it can get any faster while staying in 'C'. It's pretty
- fast though. :)
-
- 15. The Article window is not cleared and relaid-out for every "Next Group"
- or "Previous Group" request. The article window stays until Article
- Mode is exited (either you Abort [close window] or go to Group Mode).
- This saves about 1.5 seconds on a 68000.
-
- 16. When there are no Newsgroups with unread articles, the "Next Group"
- request will take you to the NEXT GROUP in the list. This restores
- this behavior to the way it was in 1.16b and before -- when there are
- no unread articles left.
-
- 17. Some minor holes (unchecked exceptions) have been filled. I doubt
- anyone ever ran into them -- but now you never will. :)
-
- 18. Some more work in speeding up memory handling. A case of hanging
- pointers was corrected (how come no one every reported the memory
- leak???). It's as fast as it's going to get with DICE. I've put
- it on the list to write something better. *sigh*
-
- 19. Some minor speedups in "References:" header checking (when doing
- threading). Primarily because the check for "Re: " is now case
- sensitive per RFC.
-
- 20. Some preparation for future implementation. Code was written, but
- it was ifdef'ed out because I didn't have time to test it.
-
- 21. The GRn BUG Report has been changed to send mail to Michael B. Smith
- instead of Mike Schwartz.
-
- Changes in 1.16b:
-
- 1. Save article now appends instead of overwriting.
-
- 2. Space bar in article mode now goes down a full screen.
-
- 3. 'b' key does prev article instead of prev group!
-
- 4. Added code in article mode to open 1x1 requester (disable gadgets,
- IDCMP) during processing of events. This should prevent people from
- causing intuition/gadtools from queueing up bunches of events.
- Apparently there is a bug in one or the other if too many events get
- queued.
-
- 5. A problem with HFS support was corrected.
-
- Changes in 1.16a:
-
- 1. Mike Smith added HFS support.
-
- 2. The GRn version number is changed to match the current release of
- Dillon's AmigaUUCP (1.16).
-
- ******** Version Number Order Change
-
- Changes in 1.29:
-
- 1. Found the bug with the article view gadget not resetting to the top of
- the listview when using the thread and next unread gadgets. I normally
- don't use these, so I couldn't figure out what people were complaining
- about. But a very clear message from Norman R. Kraft made me see the
- problem and it was an easy one to fix.
-
- 2. Found a bug in the thread logic that can cause GURUs. No new guru
- bugs have been reported since V1.28 was released, but this will
- make GRn more bulletproof.
-
- 3. GRn is now being compiled with the DICE compiler. I am attempting
- to keep it SAS source compatible, but I can make no guarantees
- that if I stick with DICE that GRn sources will always be this way.
- GRn V1.28 compiled with SAS was 70844 bytes (LARGE CODE/DATA). With
- DICE, it is 52724 bytes (SMALL CODE/DATA). And DICE's library routines
- appear to work MUCH MUCH MUCH faster than those that SAS supplies.
-
- 4. Found a nasty bug in DICE startup code that kept GRn from working from
- workbench. This kept a new release of GRn from happening for a couple
- of weeks. Thanks to Georg Sassen for tracking this down for me!!!
-
- Changes in 1.28:
-
- 1. News editor and mail editor not parsed correctly. Fixed.
-
- 2. Use GetVPModeID() to find out workbench screen resolution. This makes
- GRn truly open its own custom interlace screen when necessary.
-
- 3. Added UUCP bug report. This posts a bug report to alt.sys.amiga.uucp
- in Matt Dillon's standard bug report format...
-
- 4. Improved the article display code to try to find a magical guru bug
- that I have yet to see for myself. The program is also now compiled
- with stack checking enabled. I would appreciate bug reports from
- people who get the crash and then run GRN from the CLI to see if
- it is a stack problem. Naturally, the fix for this would be to
- increase your STACK size in the CLI and the GRN icon! I personally
- run with a 64K stacksize in my CLI, and a 16K stack in my GRn icon
- and never see the problem. I always run GRn from the workbench/icon.
-
- 5. Actually added the 'b' key, which I missed in V1.27... :)
-
- 6. Added initial ToolType support for a few of the things that people
- are asking me for. I am not going to test these things thouroughly,
- however. I am depending on those of you who NEED these features to
- report problems to me and I will make the fixes. The tooltypes are:
-
- TOP=top y coordinate of window
- LEFT=left x coordinate of window
- WIDTH=width of window
- HEIGHT=height of window
- MSGFONT=name of font
- MSGFONTSIZE=size of font
- LOGFILE=filename (full path!)
- WRAPCOL=column
-
- The grn.icon that comes with this release has these tooltypes commented
- out so you can see the exact format. Note for MSGFONT, you MUST use
- fontname.font format or GRn will fail with an unpredictable error
- message :). If the TOP,LEFT,WIDTH,and HEIGHT are specified, then GRn
- will NOT attempt top open its custom screen. Also, if you specify
- screen dimensions, you must they will override GRn's concept of what
- they should be. The WRAPCOL tooltype allows you to specify what column
- to wrap article text at. You will need to specify this if you use a
- font of your own choosing. TOPAZ 8 point font requires a wrap at
- somewhere between 60 and 64, while grn.font requires it at 80-84.
-
- The LOGFILE tooltype lets you specify the name of a file which GRn uses
- to print error messages and other log messages (currently only errors).
- Type the logfile out to see why GRn is failing when run from workbench.
- Logfile defaults to uuspool:logfile (always when run from CLI) unless
- overridden by the tooltype. If GRn fails for some reason before
- getting to figure out your logfile, it will print its panic message to
- uuspool:logfile as well.
-
- 7. Fixed a bug in my ParseName() routine which didn't handle nested
- parenthesis correctly in usernames.
-
- 8. GRn bug report feature now puts the version number in the subject field
- so I know which version of GRN you are "bugging" me about :)
-
- 9. When posting news, GRn now looks for the file uulib:user.nrefs. The
- contents of this file are appended to the header portion of your
- article that will be posted. I've been asked to add this feature,
- though I don't know what real use it will be (please email me the
- answers :)!! Anyhow, GRn has already been doing something similar
- by adding the line "X-NewsSoftware: GRn..." to your news articles.
- Incidentally, even with hide-headers selected, any article posted
- by GRn will still show the X-NewsSoftware line in the message body -
- this way we all know who is using GRn :)
-
- 10. Fixed a nit in the publish feature. It included the full pathname to
- the file that was uuencoded (i.e. begin code:grn-src/grn.lzh 777).
- Now it just uses the filename.
-
- Changes in 1.27:
-
- 1. QueryOverscan used to determine window height.
-
- 2. A bug in v1.26 caused blank lines to be deleted from articles displayed.
- This is fixed.
-
- 3. Catch Up button added to articles mode.
-
- 4. The 'u' key (next unread) wasn't being processed in articles mode.
-
- 5. The 'b' key is aliased (does same thing as) the 'p' key in articles
- mode. I find it easier to hit n/b together to go next/prev article
- than to hunt for the 'p' key. This key is not shown as a GT_Underscore,
- as the 'p' key is still implemented.
-
- 6. GRn used to fail if PostNews or SendMail variables were not set. Now,
- these default to PostNews and SendMail. If these aren't on your path,
- or GRn is not in the same directory as your binaries, this will cause
- GRn to fail to find those binaries when run from Workbench. This is a
- WARNING so beware!
-
- 7. The panic routine now writes its error messages to uuspool:logfile as
- well as attempting to print to the cli window. GRn does not print error
- messages if run from workbench.
-
- 8. GT_Underscore added to YES/NO requester for "Quit".
-
- 9. GRnrc program implemented. It simply reads in the existing tree, if
- found, updates it, and writes it back out. Useful for cron to launch
- in the background and will speed up the launch of grn itself.
-
- 10. Increased size of internal buffers for from: and subject: fields to
- 512 bytes. Some turkeys out there actually have strings longer than
- 128 here :)
-
- 11. Increased size of all internal buffers that were 128 bytes to 256 bytes,
- except as in 10 above.
-
- 12. Added the publish feature. Now there is a way to post multipart
- binaries from directly within GRn. Additional information is in the
- grn.doc file.
-
- Changes in 1.26:
-
- I accidentally posted 1.25 with a bug in it. I tried to delete it from
- my UUSPOOL: before it got out. It should not be used. 1.26 is the one to use!
-
- 1. Lines starting with capital X are not stripped from headers when the
- hide-headers option is on. This way, we will all know who is using
- GRn :). Also, there might be other interesting items in the headers
- worth seeing!
-
- 2. Added date text gadget to the articles mode.
-
- Changes in 1.25:
-
- 1. Fixed problem with program openning its own custom screen in LoRes.
-
- 2. Window height will never exceed 400 pixels.
-
- 3. Tried to make requesters more system friendly (less tendancy to
- block others)
-
- 4. Fixed a bug in the Save feature.
-
- 5. Added my first cut at threading support!
-
- 6. TaskID added to tempfile names for posting and mail functions.
-
- 7. Long lines are split into two lines in article browser listview.
-
- 8. Tabs expanded into spaces in article browser listview.
-
- Changes in 1.24:
-
- Beta 1.24 was skipped because it was only sent to a few testers.
-
- Changes in 1.23:
-
- 1. GT_Underscore added to all requesters.
-
- 2. GT_Underscore added to junk gadget. If you use the key, the group is
- junked without asking you if it is ok. This is to make it very fast
- to trim a lot of newsgroups down to the few you want. I suggest you
- use the mouse and gadget, because it will ask, especially if it is only
- a few to junk!
-
- 3. GRn no longer chokes if a newsgroup has no .next file in it.
-
- Changes in 1.22:
-
- 1. The program now uses significantly less memory. It used to allocate
- 128 bytes for each article for the "From:" and "Subject:" headers.
- Now it allocates what it needs. The savings is dramatic! For my 30
- groups and 3000 articles, the old GRn used 1,650,624 bytes. This new
- beta version, for the same newstree, uses 711,864 bytes.
-
- 2. The bug report button now sends bug reports to
- grnbugs@amiga0.sf-bay.org, so I can keep them separate from my regular
- mail.
-
- Changes in 1.20:
-
- 1. GRn is fully compliant with Dillon's UUCP package. It now uses the
- UUNews config entry instead of requiring a uunews: assign. GRn now
- looks for s:uuconfig first before looking for uulib:config. And if
- s:uuconfig exists, and there is a uulib config variable in it, it is
- used instead of the hard assign uulib:.
-
- 2. A single enforcer hit was found and squashed. I have egg all over my
- face after misreading the autodocs for gadtools and posting about the
- problem in csa.programmer.
-
- 3. GT_Underscore has been added to the various gadgets that now have
- keyboard equivalents. Keep in mind that the keyboard equivalents ARE
- case sensitive! All the gadgets are rendered in Topaz80 font now. The
- grn.font is still used for the listviews only! grn.font allows 84
- columns of text in the listviews, while topaz allows about 60.
-
- 4. A new button has been added to the groups mode display called Junk.
- If you click on this, you will be asked if you really want to junk
- the selected newsgroup. When you junk a newsgroup, it is deleted from
- the news tree (but not your uunews:) so you can filter out the
- newsgroups you don't care to see in the group list LISTVIEW.
-
- 5. Fancier signature support has been added. The program now looks for
- user.signature in the uunews:newsgroup/ directory first. Then it
- looks for uulib:user.signature. Then it looks for uulib:.signature.
- The theory behind this is that you can have a unique .signature for
- each newsgroup you post to.
-
- 6. Full key support has been added to groups mode. The cursor keys scroll
- the group list LISTVIEW.
-
- 7. The requester package I wrote has been cleaned up quite a bit. It now
- uses Topaz 8-point font and should never mess up again!!! (famous last
- words...)
-
- 8. The very first grn.font I sent with the first beta (1.10) required you
- to run FixFonts on it to make it work. Many people got the now famous
- "Can't CreateGadget" error message. Sorry the message is so crude, but
- gadtools doesn't tell me why the gadget wasn't created... The new
- distribution will come with the fixed font.
-
- 9. GRn is designed for an interlaced display. If I cut out half the
- vertical resolution, the program would be unusable. However, some of
- you actually use a non-interlace workbench... This release of GRn
- detects that you aren't in interlace and will open its own custom
- screen.
-
- 10. Minor glitches in Next Unread, Next Group, and Prev Group have been
- fixed. These should work just fine now.
-
- 11. TEXT_KIND gadtools gadgets require that your software uses a static
- buffer to hold the text that the gadget will display. As I wrote
- earlier, I misunderstood the autodocs and thought that gadtools would
- copy the string to a safe place. Therefore, in the last release, some
- of the Text gadgets would display garbage at times. This is no longer
- the case.
-
- 12. The previous version of GRn was imploded (compressed). I will no
- longer distribute it in this form. You can go implode it yourself.
- I only imploded the binary because it is a sure way to ensure that
- debug hunks and symbol hunks are stripped from the executable. (SAS
- adds these hunks for debugging purposes only - but the executable
- loads real real real slow if they are in the file).
-
- 13. And best news of all. The grnrc file has been totally redone to
- reduce the disk space it uses and also speed up the initialization
- time. My grnrc went from 350K down to < 60K for 30 newsgroups and
- 2000 articles. GRn takes about 10 seconds to load it and be up and
- running now.
-
- 14. The grnrc file now has a version number embedded in it. The software
- will tell you to delete old grnrc files so it can create new ones.
- In the future, the grnrc file is likely to change when I add
- preferences items to it, kill files, and threading information.
-
- Changes in 1.10:
-
- 1. When the program was run from an Icon, the followup and reply functions
- broke. This is due to Execute() not being passed the full path to the
- PostNews and SendMail program. It works if you put the GRn executable
- in the same directory as your UUCP binaries.
-
- 2. Added spacebar to amode, which pages down a page.
-
- 3. Added cursor keys up/down to scroll listview up/down in amode.
-
- 4. Implemented Post button in gmode and amode.
-
- 5. Made the window open against the right edge of the screen. This is
- handy for when your news/mail editor opens on the left side...
-
- 6. Added my nifty (pat pat pat my own back :) requester package.
-
-