Note for MicroDotII Alphas
==========================

- starting with 0.127, MD-2 requires a keyfile.
  I mailed out keys to all known IBeta testers,
  if you're missed out, please complain.
- the cps rate as calculated by the new message scan
  is taken by the entire (!) time of the connection,
  not only by the real transfers, so it will be considerably
  lower than with programs which only measure real transfer
  times. You have to use a watch if you want to compare
  cps speeds between MD-2 and lying programs :-)
- please note that the included button images are ©
  by someone (not me), so you must not spread them.
- SMTP send attempts to use ESMTP if available.
  Will currently send 8 bit mails even with normal ESMTP.
  If your ISP doesn't support a ESMTP-capable mail
  relay, get a real ISP :-)
- Unlike other mail readers claiming to support MIME,
  MD-2 does the full range including decoding of
  x-uue/x-uuencoded and binhex40 encoded parts.
  Supports entity names. Will convert embedded
  uuencode/binhex in "old style" mails to
  "mime parts".

Description of reader flags:

  First col:  U = unread (seen, but not read)
              N = new, not yet seen
                = read
  Second col: D = deleted
              A = archived (will not expire)
                = normal
              (Note that A takes precedence over D)
  Third col:  
   Non-Spool: R = Replied to
              F = Forwarded
              B = Replied to and forwarded
   Spool:     M = already mailed out
              P = already posted
              S = already send and posted
                  (aka completely send)

Flaws in the MIME implementation:

- Supports only "mixed" multipart types
- Currently neither cares for nor creates "Content-MD5:"
- Ignores charset entity and assumes iso-8859-1

(none of them are done by any other implementation
 besides MetaMail, so who cares :)

=====================================================================

0.37alpha
---------
- serious change in prefs; old prefs files are ignored.
- Subscribe/Unsubscribe menu items now work (begin of
  list processing)

0.39alpha
---------
- removal of groups now works

0.40alpha
---------
- started work on group parameter editor windows
  (GUI only; not yet functional)

0.43alpha
---------
- group prefs still not really functional
- started work on language prefs

0.45alpha
---------
- added external prefs
- language prefs now functional
- group prefs still not really functional :-)

0.48alpha
---------
- did some minor GUI work
- group prefs now fully functional :-)

0.49alpha
---------
- now shows number of subscribed and subscribeable groups

0.50alpha
---------
- fixed internal buffer allocation scheme

0.51alpha
---------
- group list now has a (experimental) button bar. This ought to
  be configurable and disableable :) in the future.
- deleting of user created mail folders now works
- added basic pop3/nntp operation

0.53alpha
---------
- reworked grouplist GUI
- nntpget now supports XOVER and STAT/NEXT (data is still discarded
  after receive)

0.54alpha
---------
- added (nearly) full rfc-822 compliant address parsing (yes, it will
  actually accept "owagner"(Oliver Wagner)@"vapor"."com" :-)
- added rfc-822 compliant date parsing

[0.55 - 0.64 internal only]

0.65
----
- old index files will no longer be read due to change in the static
  part of the mixinfo (yes, that's an alpha tester's life)
- thread building now works fine
- all the neat enforcer hits when opening a group are fixed now

[0.66 internal only]

0.67
----
- please delete Data/#?.IX and Data/Message?? for a clean database
- fixed parsing of References: line and the reference information
  in the XOVER data. This caused thread building to not work
  properly in the former versions.
- fixed various bugs in the graphical thread creation for the msglist

0.68
----
- fixed switchting to empty groups
- fixed memory management of message list
- fixed various quirks in the GUI settings (including font settings)
- improved listview refresh speed

0.69
----
- fixed clicking into blank areas of msglist
- added thread folding

0.70
----
- folded threads now show the number of contained messages
  [total/new/unread] in the folded node

[0.71 internal only]

0.72
----
- fixed enforcer hits on early error bail out
- folding of fake thread roots is now possible
- folding states are now properly saved
- began adding reader window (not functional yet, only layout)

0.73
----
- fixed bogus adding of LFs to header lines when getting full
  articles.
- added MIME parsing.
- added basic read capabilities.

0.74
----
- fixed a silly startup problem which involved overwriting
  bitmap bounds.

0.75
----
- added reader quote colorization
- fixed reader font selection
- fixed about text

0.76
----
- fixed handling of characters below WSP in message overview

0.77
----
- now parses the semi-standard text styles *bold*, _underline_
  and /italic/
- fixed calculation of message sizes when an ARTICLE was
  retrieved which already was in the messagebase.
- several small fixes
- added message header filtering, including prefs ("User interface...")

0.78
----
- reworked header filter selection

0.79
----
- now proplery shows message flags in reader
- removed forced reset of article counters for groups
- fixed resetting of horizontal scroller when swapping messages
- XOVER start position was wrong, causing one message being
  repeadly downloaded as being new
- "Get last 100" now works
- XOVER scanning caused the wrong reference ID to be inserted into the list
- reloaded fake nodes will no longer become "orphans"

0.80
----
- recompiled with different compiler revision to hunt down 060 problems

0.81
----
- compiled with "real" SAS/C 6.57
- will now set the tiny font to helvetica/9 if it's unset
- added reader wordwrap (it's the cool way, too)
- reader horiz size doesn't exceed 32767 pixels if wordwrap is turned
  off, thus not breaking virtgroup
- added on-demand-getting of usenet messages not in the database.
  The NNTP link is cached and silently (re)opened on demand for
  maximum efficiency. Hey, doesn't this rule?

0.82
----
- fixed wordwrap bug

0.83
----
- did some GUI and menu cleanup

0.84
----
- began to add button config; experimental still

0.85
----
- Reader now reads the "To:" header if no "Newsgroups:" is present
- completely rewrote database system using a client/server model,
  better caching and asynch I/O. Much faster than before and less
  impact on the user interface process.

0.86
----
- will no longer make messages "seen" which were not seen
  by the user cause he never saw the updated index.
- properly flushes write buffer when finishing a pop3 or nntp
  session.
- Group editor caused enforcer madness upon creating a new group
- Matchheader/Matchpattern/Defaultaddress weren't saved
- Mail sorting into folders now works

0.87
----
- now properly displays an error message if it's unable to read
  an article from the database or via get-on-demand
- recognizes MIME encoded words in headers
- correctly decodes Quoted-Printable encoding
- rexxreplyport wasn't freed, causing signal loss in shell processes

0.88
----
- button configuration system and display is now complete. Contents still suck :-)

0.89
----
- rewrote ibutton class to use a standard IFF loader instead of datatypes
  (which proved to be unusable, again). Fixes startup crash on non V43-DT
  systems.
- fixed db error message display
- display of MIME parts caused the Y position to messed up

0.90
----
- fixed XOVER parsing (which could cause a crash of the network
  thread)
- fixed reader crash on subjects which were "too long"
- fixed get-on-demand line flushing

0.91
----
[that's 0.90 with less kprintf()]

0.92
----
- reworked prefs in "MUI single window" style. Now fits on 640x200/topaz.8, too.
  Not quite finished yet <sigh>
- added Tip Of The Day startup window

0.93
----
- prefs window is now completely functional

0.94
----
- get-on-demand reopened the server connect for every article,
  even if the link was still up
- fixed button config for initial window
- fixed "Get last 100 messages" for new groups
- began to work on the send window. Including of text and attachments works,
  so does dropping of WB icons.

0.95
----
- added "Advanced Settings" to the send requester
- fixed dropping of Icons on the editor view
- included new textview.mcc
- added "advanced settings" to send requester

0.96
----
- prefs list now has icons
- included new textview.mcc
- "Signature prefs" fixed
- added address book window

0.97
----
[lost track of changes]

0.98
----
- fixed a few quirks in the prefs window layout
- sending mail and news now works
- fixed updating of group list overview counts when
  getting news and mail

0.99
----
- fixed enforcer orgy on sending mails
- fixed not resetting of reader scroller top position
  when loading a new message

0.100
-----
- fixed own messages not being stored in the
  correct mail folder
- delete of messages (via DEL key) now works
- viewing of mime parts now works (currently hardwired
  to calling Sys:Utilities/MultiView)

0.101
-----
- fixed buttons not being updated after prefs close
- (E)SMTP sending now works
- fixed state messup in binhex decoding

0.102
-----
- fixed getting of next unsent mails returning totally
  bogus stuff, causing mails to not be send
- fixed db_loadheader() reading a bogus blank line
  (which caused X-Mailer: to appear in the mail body
   insead of the header)

0.103
-----
- fixed updating of windows when a mail was written
  or send out
- fixed database deadlock on pop3get when a
  mail download was skipped because the mail
  was already in the database
- removed kprintf() from IP handling code

0.104
-----
- added full "Single window only?" mode. Note that this
  requires MUI 3.7. MD-2 will still run with 3.6
  but using this mode causes messup®
- added »TRASH folder
- group list is now checked for required entries
  on every load

0.105
-----
- Adding groups with Groupmanager caused deadlock in 0.104.
  Dunno why, probably a problem with recompilation and
  methods changed.
- fixed excess closing/reopening of reader window
  in single window mode when the bottom border is
  already extended

0.106
-----
- lame bug: folders which had no filtering rules at all
  set matched all mails
- now properly drops deleted mails when saving group
  indexes

0.107
-----
- no longer sets the tiny font to helvetica/9 even if
  it's already set

0.108
-----
- folder matching is now a full substring match
- Reply/Followup (by menu item) now works

0.109
-----
- added "Move To Folder" GUI (not functional yet)
- did some minor code and catalog cleanup work

0.110
-----
- fixed adding of quote text in the wrong direction

0.111
-----
- fixed messing of first button entry in prefs
- added "Delete mail from server" option

0.112
-----
- auto-expire of messages now works
- made Select All/Deselect All work
- fixed saving of Window mode selection

0.113
-----
- buttons now send their "action" rexx string
- button hotkeys now work
- button prefs action string now has a popup containing
  all internal rexx commands
- did some internal code cleanup
- the Save/View buttons in the message reader now work
  like the Save/View buttons under the mime part listview
- reader window now recognizes URLs, enabling click.
  Will be send to Voyager (if running) or with a
  SendBrowser.MDRX script similiar to the AmIRC one.
- now extends bottom window border if started in single window
  mode; avoids reopening of window when hitting the
  reader the first time.
- enabling/disabling of menu items now works
  properly upon switching windows
- Reply and associated functions now work from within
  the reader window, too
- added the first set of ARexx commands (use
  the popup list in button prefs to see the list)

0.114
-----
- Return-Receipt: is now off by default
- Signature now defaults to "None", too, in blank
  mails
- fixed alignment of URL highliting object, also
  doesn't create two objects for links which
  are http://www.
- no longer sorts »TRASH (will not work with
  existing group lists yet, for internal reasons.
  Fix underway)

0.115
-----
- fixed enforcer hits upon opening the reader window
- it's now possible to use "-" in folder names
- synchronous message download now has a info window
  and abort facility
- upon MIME SAVE, the filename of the wrong part
  was inserted (or bullshit if the message had only
  one MIME part)
- sorting of mails into folders again was hosed
  sometimes
- finally fixed group list sorting
- the "New message" menu item is now available
  in the group overview window, too

0.116
-----
- reader crashed when trying to read a non-existant
  mail which had to be obtained via NNTP
- no longer puts a silly requester up when it was
  unable to load a message, but simply shows the error
  inside the reader

0.117
-----
- URL list class caused poolwatch hits
- fixed enabling/disabling of message menu items again

0.118
-----
- Mime save part counting was broken again

0.119
-----
- Rexx commands didn't work at all. In fact, the
  command table was never made available to MUI...

0.120
-----
- POP3 status now shows "deleting", too
- fixed saving of message indices on QUIT
- POP3 no longer takes stack nonsense as
  data when hitting a mail which is missing
  required headers (i.e. missing Subject:
  from THOR)
- POP3 now does a quick scan with TOP
  to decide when to actually start downloading
  POP3 messages. Improves performance
  in "Don't delete on server" mode by magnitudes.
- silly bug in memory pool handling caused the
  same pool to be accessed from the main and
  from the network threads, potentially causing
  havoc galore. Now properly semaphore protected.
- "Read on demand" now buffers the last
  downloaded mail in memory to avoid superfluous
  write-to-db/rescan/read-from-db cycle. Also
  avoids flushing of DB write buffers. Major
  speed improvement in online news mode

0.121
-----
- SPOOL index is now saved when a send
  session ends, to better prevent against
  crashes causing flag losses.
- News posting now works. PLEASE, test
  this extensivly with test groups before
  sending something to "real" UseNet. Thanks.

0.122
-----
- Get-on-demand window now uses normal sized
  instead of tiny fonts
- database now uses a full index buffer if
  memory for that is available, for overally
  better performance

0.123
-----
- Fixed generation of "Re:" for reply subjects
- "External edit" in new message window didn't werk
- replies/followups didn't had any reference ID
  header set, nor where they added with a proper
  reference ID to the indexes, thus not being
  properly added to the thread trees
- crashed on obnoxiously long quoted printable
  lines with soft line breaks created by
  mail readers which like to heavily violate
  good style.

0.124
-----
- Reply/Forward caused total trash to be inserted
  into the mailheader, thus breaking nearly everything
- fixed crash on very long lines containing tabs
- no longer attempts to convert fido style text formating
  to recognized signatures
- fixed yet another potential crash on very long text lines
- crashing when trying to read a article not in the database
  and with inactive TCP/IP stack

0.125
-----
- addded drag&drop from addressbook into new message window
- added popup address list for To/Cc/Bcc buttons
- included new textview class version

0.126
-----
- finally fixed crash on long quoted-printable "lines" 
  (aka paragraphs)
- fixed crash related to db write buffering
  (reading article a, then b, then back a caused a nuke
   in online mode)

0.127
-----
- added APOP pop3 authentication
- the "tiny" adressbook windows used in the new msg
  requester now have no edit gadgets

0.128
-----
- now uses UIDL (if available) to obtain a list
  of new messages in pop3 mailbox. Major speed
  increase when getting mails with "Leave mail on server"
  mode.
- added write buffer for index writes

0.129
-----
- fixed excess updating of group overview during
  NNTP get

0.130
-----
- "Significant headers" preference window lost contents
  upon page flips
- MIME decoder now recognizes "name" definition in 
  Content-Type:
- fixed Save/View screwup in the mime part view (again)

0.131
-----
- fixed display of groups without comment (bogus chars)
- fixed behavior of the address list popup in the
  new message window
- added a group list popup for the new message window

0.132
-----
- "New message" is now much more intelligent in how
  it presets To/Groups fields, depending which is
  the active window when selected
- implemented "Fold" msg menu item
- added several new internal ARexx commands (see
  button prefs for list)
- included proper versions of textview.mcc and .mcp

0.133
-----
- new message window is an appwindow again so that
  WB icons can be dropped on it
- fixed handling of "Followup-To: poster"

0.134
-----
- fixed "Delete" menu item (and rexx command) to
  also work from within the reader
- added "Archive" menu item (and rexx command)
- included new version of textview.mcc/.mcp

0.135
-----
- URL detector now recognizes mailto: URLs
- now forces ARexx port to "On" regardless what
  MUI prefs say
- command popup list now puts commands in 'ticks'
- the "menu emulation" rexx commands didn't work at
  all

0.136
-----
- fixed SMTP/NNTP send gauge
- no longer dumps Return-Receipt: header in SMTP send
- Quote headers now work. See bubble help of buttons
  for description.

0.137
-----
- removed follow up header (pointless)
- now sends "MODE READER" before trying to POST stuff
  (in case accidentally connecting to a INN nntpd
   instead of nnrpd)
- no longer attempts header decode when no Mime-Version:
  is present in a mail header (thanks to YAM)
- fixed potential crash with broken header encoding
  (thanks to YAM)

0.138
-----
- url links now have a short help message attached to them
- did some work on the "forward" GUI (not functional yet)
- posted messages had no reference field in the index (only)
  and therefore weren't properly sorted into thread trees

0.139
-----
- added new button preset config
- made button shorthelp bubble more descriptive (hotkey, command)

0.140
-----
- added "add to address book" menu item
- fixed screwed default icon prefs
- fixed lame problem in header matching (actually, contents where
  matched regardless of the header selected)

0.141
-----
- "Delete" didn't work from buttons or menu
- default prefs for "Forward" was broken ("Forward*ed*SelectMsgs"
  instead of "ForwardSelectMsgs")
- now recognizes X-Face: header and displays accordingly
  in message reader
- implemented Goto Next/Prev menu items and arexx commands
- button shortcut keys were broken again
- added "AddToAddressbook" arexx command

0.142
-----
- fixed "DEL" in message reader
- added correctly colored icon files
- began to rework "new message" window (attachments
  section currently not active)
- "external edit" button finally works

0.143
-----
- missing "UIDL" support in the pop server caused a 
  error message, instead of silent fallback
- "Signature" is now on the "Text" page of the new msg
  window
- fixed serious bug in Single Window mode causing MD-2
  to think any commands etc. still going to a previously
  open "read" or "folder list" window
- progress bars in send status window now work properly, 
  both count and size
- fixed network status window opening on the wrong
  screen sometimes

0.144
-----
- language names weren't stored in prefs
- button prefs caused enforcer hits under certain
  circumstances

0.145
-----
- button prefs caused enforcer hits under certain
  circumstances (again)
- single window mode still crashed when going back
  to main window

0.146
-----
- uuencoding now uses 0644 protection mask
- new attachment system now works
- header parser screwed on folded header lines

0.147
-----
- fixed WB drag&drop support for the attachment
  listview
- attachment's MIME types are now be freely
  settable
- header parser screwed on folded header lines
  (even worse than before, too :)
- "Move to folder" command was dysfunctional

0.148
-----
- Getting News/Mail in single window mode caused
  enforcer hits
- "new msg window" now switches to attachment
  page when an attachment is added
- fixed TipOfTheday display

0.149
-----
- disabled TipOfTheDay completely
- fixed preset of "CheckMailNews SEND" button
- added a few more ARexx commands

0.150
-----
- removed obsolete "Editor" prefs item
- added parsing of NC preset prefs (NC version only)
- "ReadSelected" command/menuitem now works
- fixed Forward "One by One" mode

0.151
-----
- fixed behavior of Goto NEXT/PREV in msglist
- attachment section of new message window now
  has a "View attachment" button (double clicking
  an entry will do the same, too)
- Fold/AddToAddressbook no longer screw message flags
- "Move to folder" now works properly

0.152
-----
- included new version of TextView mcc class (1.14)
- inserting/uuencoding of text is now done in "quiet" mode
- fixed potential crash in the network window object
  due to race conditions
- textview external editor temp files now always have extension
  ".mdt"
- "view attachment" buttons is now properly enabled/disabled

0.153
-----
- fixed saving of uudecoded "MIME parts"
- several small cosmetic cleanups
- added bogus "PrintSelectedMessages" command, which triggers
  a NYI requester
- fixed sending of combined news/mail messages
- no longer leaves To:, Cc: and Bcc: headers in posted news
- now properly strips Bcc: from mail headers during send

0.154
-----
- fixed crash with check/send mail/news in multi window mode

0.155
-----
- added "You've got new mail" requester
- fixed Signature preset in new mail window

0.156
-----
- image mime types in new message send are now determined by file
  extension to avoid clashes with broken datatypes

0.157
-----
- fixed parsing of folded header lines in second stage
  MIME part header parsing in db engine
- added new revision of textview.mcc

0.158
-----
- message overview now uses graphics icons to show
  flags

0.159
-----
- Newmsg window "followup" button now popups the
  group list
- fixed scrolling problem introduced in 0.158
- now properly sets "Replied to" flag after
  replying to a message
- fake root nodes were created with messed up
  date, thus breaking the thread sort order

0.160
-----
- fixed major crash when replying to a mail
  (due to flag setting)
- fixed enforcer hits when trying to read
  a fake root node
- no longer opens a bogus reader window
  when trying to read a fake root

0.161
-----
- sending of new message caused an attempt
  to set the Replied flag of the message
  with Message-Id: ""
- attempt to setflag the flags of a message
  which doesn't exist in the database
  caused full crash
- added new "MailImport" Arexx command 
  which allows to import complete rfc-822
  complete mails into the database.
  Even works with BSD style uumail: mailbox
  files seperated by rmail "From ..." headers.
  "MailImport filename GROUP/K", where group
  can be a group name to sort into. If
  left off, normal header parsing is applied
  to find the appropriate folder to sort into.

0.162
-----
- "Posted" and "Mailed" icons were swapped
- added support for range selection in
  group and message lists: CTRL-click will
  select the full range from last active
  to click position
- the custom "by subject" concatanation of
  dangling articles now does a full
  match instead of a substring match,
  to avoid having messages with subjects
  like "V sucks" and "V" to be merged
  into the same thread
- saving of message parts sometimes
  intefered with write buffering
- minimum subject length calculation was hosed

0.163
-----
- fixed a lame bug in "MailImport" command --
  messages where stored with the <brackets>
  around the MessageId to the database
  thus causing them to not be found when
  accessed

0.164
-----
- completely rewrote database system (again)

0.165
-----
- storing of messages to the database speed
  up
- cleaned up gauge display during mail
  download
- fixed gauge display when sending out messages
- reworked async I/O routines for correct
  word alignment on 32 bit CPU machines
- sending of messages no longer ignores
  abort

0.166
-----
- improved caching of toolbar images. Switch
  from group to list to reader screens are
  much faster now.
- added "GotoMsg NEXTNEW/S,PREVNEW/S" switches
  to jump to the next/previous NEW message
- added "GotoMsg NEXTUNREAD/S,PREVUNREAD/S" switches
  to jump to the next/previous UNREAD message
- fixed serious bug in setting up toolbar
  hotkeys; previous window notifications
  weren't removed on a window switch and
  therefore accumulated, causing all kind of
  nifty side effects from full crashes
  up to multiple reactions to keys
- fixed handling of uuencoded messages
  which had no actual textual part

0.167
-----
- speed up loading of group indeces a bit
- NNTP-on-demand died heavily when hitting a line
  longer than 512 chars
- fixed several bugs in the message parser
- uudecode now correctly handles end markers,
  instead of adding bogus data to the output file.
  Also properly deals with multiple uudecoded
  parts inside a message now
- spool group index is now saved after sending a mail
  to avoid index loss on a crash
- "Archived" flag wasn't honored at all
- message list displayed message sizes which were
  MBytes as "G" instead of "M"
- Control-keyrange selecting caused display messup
  when one of the to be selected lines was outside
  of the window

0.168
-----
- pop3 download status bar was totally hosed
- sending of new messages encoded attachments as
  base64 even for plain text
- message reader now displays text which is base64
  encoded properly, instead of showing the encoded
  data

0.169
-----
- fixed presetting of group signatures and headers
- now uses pophotkey.mcc (if available) to offer
  easier settings of command button hotkeys
- writes to messagebase are a bit faster now again
- "MailImport" now recognizes "GROUP=none" to import
  to the database only without creating indices

0.170
-----
- major speedup when closing the groupmanager window
  (no longer frees every entry, but instead relies
  on the pool being disposed)
- fixed bug in MailImport hitting a line which
  starts with "From " which is not a mail introduction
- fixed enforcer hits when doing mail operations
  within an empty message list

0.171
-----
- Ok, ok, I suck, but this time, it's fixed:
  <drums> Preseting Of Signature Now Works </drums>

0.172
-----
- added database compress function
- fixed a problem with not properly recognizing
  the end of a uudecoded section
- "CheckMailNews SEND" command didn't work at all

0.173
-----
- fixed another pretty lame bug in the uudecoder
  which liked to show up at certain chunk sizes
- added "SelectAll" and "UnselectAll" Arexx commands
- fixed "GotoMsg PREV"
- database compress forgot to unlock a lock on
  the datadir
- database compressor thread now only uses half of
  the previous stack size
- only the first page of the button prefs
  actually used the pophotkey class
