Revision History:
=================

0.8 - 98/02/10:

New features:

- "Re: " is stripped from subject lines, for sorting and display purposes,
  and added automatically on replies (unless doing so would truncate the
  subject). Subject sorting is now case-insensitive.

- Letter window now displays "bbsnum (x of y)", for consistency with the 
  letter list and to provide more information.

- Slightly expanded the area description length to make better use of the
  available space. Also, in the letter list, more of the subject is shown.

- Restored the "line/lines" counter found in early versions of MultiMail.
  This shows the length of the message in lines, and the number of the
  top line on screen.

- Temporary files are now cleared at the end of a session. Also, since
  MultiMail now generates a unique temporary directory for each session,
  a single user can run multiple concurrent sessions. (Just don't try to
  read the same packet in each one!)

- System uname added to Blue Wave tearline (if it will fit).

- Character set translation can now be toggled at runtime, by pressing
  'c', instead of at compilation time.

- Packet type is now recognized automatically, based on the filename's
  extension. (You can still force the other type.) Consequently, the "-b"
  and "-q" options have been removed.

- The Blue Wave area list now uses the description instead of the echotag.
  This is much more useful, and conforms to the Blue Wave reader.

- The number of the original message is now passed to the door for reply
  linking.

- In the letter window, the top and bottom bars are now inversed when in
  monochrome. In the various lists, the highlight bar is now drawn with 
  stdout(), for greater contrast.

- Many changes to the top-level Makefile; it's now more portable, and 
  commented. You can now set the location of the ncurses header file 
  here, instead of editing the source.

- The packet list is now sorted, and shows file sizes as well as dates.

- The backquote character (`) is converted to an ESC when using the ANSI 
  viewer. (Some systems recode ESC characters this way.)

- You can now Kill packets from the packet list.

Bug fixes and such:

- If all preexisting replies were deleted, attempting to create a new
  reply during the same session could cause a segfault.

- Terminal newlines stripped from replies. Conforms to the Blue Wave
  reader; supresses gaps after the tagline with some doors.

- QWK subject fields had been truncated at 24 characters. (The field is 
  25 chars.)

- The tagline file can now be hand-edited without introducing blank lines.

- In the letter window, PgDn, End, and the down arrow now stop at the
  actual end of the text.

- No more extra junk in Blue Wave reply packets.

- Blue Wave replies can now be safely reedited. (Previously, the line
  endings could be messed up -- left in Unix format.) Stray characters no 
  longer appear at the end of Blue Wave replies while viewing them.

- Blue Wave mode, like QWK mode, now shows the BBS message numbers in the
  letter list, instead of the messages' position in the packet.

- Trailing ", Sysop" stripped from sysop name in QWK mode.

- Opening reply packets that were generated by the Blue Wave reader caused
  a segfault, due to case mismatch; it now works correctly.

- Version number "encryption" for Blue Wave replies fixed (so the number
  appears correctly in tearlines). (IMO, the Blue Wave specs are in error
  in describing this feature -- bluewave.h refers to addition when it
  should say subtraction.)

- Left and right arrow keys in the area list now work much faster when
  skipping empty areas, and can take you to the first and last areas,
  instead of second and next-to-last.

- Killed the stupid repeating-REPLY-area bug in Blue Wave mode.

- When creating Blue Wave replies, MultiMail now makes the proper choice
  between "real name" and "alias", depending on the area flags.

0.7 - 97/12/07:

New features:

- Right and left arrow keys now select next/previous unread message in an 
  area, similarly to the way they function in the area list (jumping to 
  non-empty areas).

- ANSI viewer. Hit ^A while reading a message to view it in color, if it
  has ANSI codes embedded. This is still rudimentary; it uses "less" as
  the viewer, and it depends on the terminal to interpret the codes.

- Private flag support. Complete, except for Blue Wave area flag checks.

- Character set translation is essentially complete. The only further
  changes I envision are the ability to turn translation on or off at run
  time, instead of at compile time; some possible changes to the
  translation table; and maybe additional character sets.

- Stolen taglines are checked for dupes, included only once.

- With some minor changes, I got it to work under SunOS (Solaris). No longer 
  just a Linux program! :-) So, the tearline is now derived from the uname.
  Blue Wave mode still requires a little-endian system.

- QWK "Personal" conference.

- Many key aliases added, mainly for use on terminals that don't support
  keys like PgDn and F1. Also, Space Bar now functions as a combination
  PgDn/Enter in the letter window, to allow paging through a conference.

- Marking and read/unread toggle now work from the letter list,
  simplifying bulk marking. In the REPLY area, Kill now works from the
  letter list.

- Automatic creation of .mmailrc and the mmail directories; no more "make
  install_dirs".

- Changed bluewave.h to version 3. (No related feature changes yet.) I now 
  use it in unmodified form; "-fpack-struct" is sufficient.

Bug fixes and such:

- Suppression of "hidden" text lines added for Blue Wave (already present 
  for QWK).

- Append saved files instead of overwrite.

- If saving without a path specified, save in the "save" directory.

- Better adaptation to nonstandard screen sizes.

- Really random taglines (previously, there was no call to srand).

- "Save lastread pointers?" and "Reply area has changed..." messages now
  come up only when appropriate.

- "Personal" column in area list removed in QWK mode. Maybe not a bug, 
  but it was unused.

- Fall back to login name if no alias name defined. (It was using only
  the alias name, sometimes leading to blank From: lines in Blue Wave
  mode. This feature needs more work -- the alias should not always be the
  default.)

- Various date fixes (QWK and Blue Wave).

- Print the right area type for QWK Replies.

- Area names padded out with spaces when necessary to correct a cosmetic 
  defect in the REPLIES/PERSONAL letter lists' "Area" fields.

- Version number references made consistent.

- Remove extra bytes from ends of messages (QWK and Blue Wave).

- A big one: Kill the *correct* reply messages with 'K'. (!)

- A BIG one: QWK reply area numbers fixed. It was using the internal area 
  number, rather than the QWK number; so replies would go to the wrong 
  areas! (Under specific conditions -- a packet with conferences that were 
  numbered serially, starting from zero -- this would actually work right,
  which is doubtless how the bug snuck in to begin with.)

- Stop truncating replies. (This bug complimented the extra byte bug, 
  preventing segfaults in the old version.)

- I changed the default directories from "bwdown", etc., to "down", etc. 
  This wasn't a bug, but it was too Blue Wave-centric for a dual- 
  function reader. (I believe the original intent of K.T. & T.I. was that
  the QWK implementation would have its own directories, e.g., "qwkdown"; 
  but as implemented by J.Z., a common directory was used. I may revert 
  to the putative original design at some point. Internally, the "bw" 
  prefix is still used on many shared structures.)

- Make .REP packets from the BBSID, not the base packetname.

- "Unread" now counts all messages marked unread, not just those which 
  are also unmarked and unreplied.

- Letter sort fixed (now sorts by number within each subject), and faster.

- Eliminated the defaulting to "reply" when an otherwise undefined key 
  was pressed.

- Calls to todos replaced with internal code.

- QWK .ndx parser replaced with faster, non-endian-dependent version.

- Many ncurses changes. Most importantly, shells and (normal) exits now
  restore the screen mode. (Error exits still need fixing.)

- Makefile changes (including centralizing options in top-level 
  Makefile). Could do with a bit more changing, I think.

- A big one (since it prevented me from even using 0.6, as it was): Fixed
  segfaults on opening packets with uppercase names within (i.e., those 
  from most or all DOS-based BBSes).

- Many minor changes to suppress warning messages during compilation.

- Many, many more. :-) These are just the user-visible ones.

Bugs unfixed:

- The lockup-on-exit bug, described below as having appeared in 0.3 and
  disappeared in 0.4, has resurfaced. I too am unable to trace it. It can
  come or go after almost any random change in the code.

-- William McBrine

0.6a - 97/03/25:

* Oops! The signature was in the wrong place. Right order is: signature,
  tagline, tearline ;-)

+ Tagline adoption is supported! (Doesn't check dupe tags yet.)

* QWK-reply packs contained '\n' as a line terminator. It's incorrect! We
  have to use softCR (char#227). 

+ Character conversion is somewhat in! For ISO 8859-1 <--> CP437 (DOS)
  translation, #define ISOCONVERT in /interface/interface.h

- ISO conversion doesn't do the from/to/subj yet

0.5a - 97/03/22:

* Fixed another date bug (when reloading QWK replies, the date would be
  mangled). 

+ You can now use a signature file after each letter (specify its filename
  in .mmailrc)

+ Says error, if ~/.mmailrc isn't found. (The program needs this file!)

+ File open errors printed, inside a BW/QWK packet, it tries four
  variations of the filename (eg. mybbs.dat, MYBBS.dat, MYBBS.DAT,
  mybbs.DAT). 

- The annoying bug, which occurred when quitting, has disappeared! ;-o

0.4a - 97/03/12:

+ Fixed the date handling with QWK packets. Should do it well. That part
  wasn't even implemented before. 

* Colors should be fine now, everywhere.

! One small, but ANNOYING bug introduced: the program doesn't exit
  properly, sometimes you have to kill it! Sorry, couldn't trace this bug
  yet. Maybe you can help. 

0.3alpha - 97/02/16:

  Took out many more bugs. This version now is almost usable ;)

  You can now (re)Edit your reply!

  Major design and color changes... Still not done, but doing good!

  Added message Marking, Read/Unread toggle.

0.2alpha - 97/02/12:

  Debugged the program, fixed lots'a bugs, added QWK support. Only a
  preview! Don't use it, that's my advice! ;)

-- John Zero

0.1c.staticbin - 96/??/??:

  statically linked elf executable of 0.1c. Problems were reported with
  gcc 2.7.2 and libc 5.2.?.

0.1c - 96/03/19:

  bugfix, now uses "todos", instead of "/usr/bin/todos", only elf binary
  included

0.1b - 96/02/05:

  Compiles on RedHat 2.1 + dynamic elf binary included

0.1a - 96/02/03:

  INSTALL file created (cut from readme)

0.1 - 96/01/27:

  initial release

-- Kolossvary Tamas & Toth Istvan
