Changes
-------------------

[2003.Mar.13]
   2.2: Fix for javascript problem with comparing multi-
        line message bodies that was crashing quicksave
        and causing browser errors.
        Fixed false recover alerts when cookie only saved
        part of a long body (see below, nothing we can
        do about RFC-imposed cookie limits).

[2003.Mar.04]
   2.1: Minor (optional) fix in the form of a source code
        patch is included if you don't like the "auto-
        draft recovery" "feature" (bug) where QuickSave
        gives false recover alerts after the "Save Draft"
        button is pressed.

[2003.Mar.01]
   2.0: Added encryption of cookie data and made cookies
        persistent and per-user; that is users can recover 
        messages even if their browser crashes, and they
        won't ever get their stored messages mixed up with
        another users'.  
        Encryption is not unbreakable, however!  
        Encryption is turned off by default, because it 
        slows down message composing somewhat (depending
        on the computer and level of encryption) and reduces
        the length of saved messages considerably.  Users
        can enable the desired level of encryption from
        the Options-->Display Preferences screen.
        The sysadmin may can configure the length of time 
        that cookies are kept on users' machines - see 
        config.php for the appropriate settings.
        config.php also contains settings for restricting
        the amount of data stored in cookies; values are
        about maxed out for IE6, default security settings...
        If you experience blank recoveries or "must be 
        logged in" messages, you can adjust these downward
        (the main value you'll want to change is 
        $maxSingleCookieLength).
        Also fixed false recovery alert when adding a
        signature or getting addresses or attachments;
        there isn't a good way to avoid attempted recovery
        when "Save Draft" is pressed, but I say it's good
        enough for now (sort of like auto-draft recovery ;->)
        Included in these changes are fixes for problems 
        introduced in version 1.2.0 that prevented recovery
        between login sessions.
        Updated to work with SquirrelMail 1.4.
        Finally, setup.php is in a new format, which helps
        speed up overall SquirrelMail performance.

[2003.Feb.11]
 1.2.0: Added user controls for quicksave frequency (and the
        option to turn it off).
        Changed functionality so that quicksave will not think
        the message has been sent until it is really sent, 
        instead of turning itself off when the "Send" button
        is pressed.
        Fix for signatures with quotation marks in them that 
        was causing javascript errors.

[2002.Nov.12]
 1.1.4: When "Compose In New Window" is turned on, the CANCEL
        button will now close the window (complements Bruce 
        <itsbruce@uklinux.net>).

[2002.Nov.03]
 1.1.3: User signatures are recognized as being different from a
        message body with actual message text in it, so false 
        alerts when using a signature have been fixed.  (Lots of
        thanks to Nick Tan <nick@wehi.edu.au> for helping track 
        down and test this!)
        All output strings have been internationalized (as of now,
        there is not a quicksave domain (if someone thinks this is
        appropriate, it can be done easily), so the translations
        should be updated in the squirrelmail domain -- see the .po
        file in the quicksave directory for the strings you need to
        translate).
        Updated for compatibility with the Plugin Update plugin.

[2002.Aug.10]
 1.1.2: Very minor changes: new pop-up text when restoring message and 
        fix such that quicksave doesn't try to restore messages that
        had no content (if user accidentally presses "Compose" twice).

[2002.May.10]
 1.1.1: Added a ton more javascript fixes, focused around the problems we
        had when the Compose page was in its own window. So, to put it best,
        Quicksave should now be fully compliant with both the New Window
        and Compose In New Window plugins. Also added a fix for folks like
        myself who use the pagination feature (thanks to Cor Bosman for
        that). Finally, the Cancel button now pseudo-intelligently returns
        you to the message list if you'd clicked 'Compose', or back to
        your message if you'd clicked Forward or Reply (or Reply All).

[2002.Mar.06]
 1.1.0: Javascript bug fixes for our IE friends, plus fixes for all those
        wierd folks out there not using short tags and asp-style prints.
        (thanks to Seth Randall for making this update really easy)

[2001.Apr.30]
 1.0.0: Minor bug fixes to the old, form-based storage system. That's not
        the big thing, though. We now use cookies as the primary storage
        system. If cookies are being refused (then Squirrel shouldn't
        work, but I digress), then we still have all the old functionality
        of the 0.x releases.

 0.6: IE over-save bug FINALLY fixed (thanks DJ!), cancel button added
        to Compose's button row, plus cleaned up recovery process.

 0.4, 0.5: not officially released. Attempted fixed for IE's annoying
        over-save bug (didn't fix it). With 0.5, canceling works better.

 0.3: only fields which have values will be saved and/or restored.

 0.2: bug fixes, requirements updated.

 0.1: initial release (duh).



1.0.1 - To Do
-------------------

 - Add the option to store in cookies OR using a form. If you get messages
        whenever a cookie is stored, then you're going to be pummelled by
        this plugin. I got locked out of SM when I had notification turned
        on and I told the browser to stop taking cookies from this host
        because it was SOOO intrusive. Whoops!

 - Compress the code into something a little more managable. Right now it's
        something like 8k that's being sent to the client with the compose
        page, and that's a lot of overhead to deal with over a modem.

 - It could use some security stuff, like encrypting the cookie values, or
        making sure that we've got the same user logged in when we restore
        as we had when we saved... stuff like that. Most of this only comes
        into play if in an environment where multiple people use the same
        computer to access SM one after the other. Closing the browser
        would fix all of these, btw :)

