Version 3 is basically a completely new Swift which is (barely) based on the original.

3.0.4 [6th March 2007]
------------------------

More Encoding Adjustments
  * Thanks to Joaquim Homrighausen (www.webbplatsen.se) the header encoding
     specifically that for long and non-ascii attributes has been vastly improved and
     works on-par with any popular, compliant mail client.

Bugfixes
  * MailSend plugin (for the NativeMail connection) was not working very well with
     attachments.  Parts of this have now been completely rewritten and it's been well-tested.
  * Sendmail connection was previously reporting to be connected even on windows and other
     systems where sendmail did not exist.  This was due to proc_open() always returning a
     shell process.  It now runs a preliminary check for stderr output *before* starting the connection
  * class_exists() and interface_exists() now pass the second parameter to stop __autoload() being
     invoked.

Refactoring
  * Refactored areas where Swift_ClassLoader was being called to K.I.S.S. (Keep it simple stupid)
  * Added the BadResponseException to distinguish between actual connection failures, and unexpected
    responses

3.0.3 [4th March 2007]
------------------------

Bugfix
  * Swift_Connection_Multi did not call the active connection when setting extensions

3.0.2 [4th March 2007]
------------------------

Multiple Bugfixes
  * Added some calls to Swift_ClassLoader before instanceof operators are used
  * Ensured headers are iso-8859-1 by default, but UTF-8 if needed
  * Resolved an issue with long attribute encoding caused by misinterpretation of RFC 2184
  * Resolved an issue with Swift_Plugin_ConnectionRotator retrying the first open connection

Small internal changes
  * Made Swift_Cache_Disk throw an exception if it fails to write.  This had caused me to
    receive emails regarding entirely blank messages.  This was tested to be the cause.
    Fingers crossed!
  * Changed QP encoding to use a callback rather than an evaluated expression.

3.0.1 [23rd Feb 2007]
------------------------

Optimizations
  * Abstracted caching mechanism so a DiskCache can be used
  * Optimized includes memory usage by using Swift_ClassLoader
  * Added benchmarks folder (Xdebug2 required!)
  * Got rid of runAllTests.php and replaced with 4 smaller group tests

3.0.0 [19th Feb 2007]
------------------------

Trivial Bugfixes
  * SMTP SSL read error in PHP's fgets() worked around with a secondary EOF check
  * Added extra newline to ending MIME boundary for Gmail with embedded images


From RC2 to RC3
------------------------

Small Changes
  * Eased up on the number of Exceptions that are thrown
  * Added check if date_default_Timezone_set() exists for E_STRICT

From RC1 to RC2
-------------------------

SMTP Connection BugFixed
  * Port number was not defaulting to 25, 465 etc
  * Encryption was not being set to any defaults

Swift QUIT command response Code was wrongly 250. Corrected to 221.
Changed send() to not throw exceptions purely on failed deliveries.

Changes since Version 2
-------------------------

API Refactored:
  * Message composition is now handled (and cached) by a sub-package
    - More rigid RFC conformance
    - Better support for header encoding
    - More intellegent caching
    - No need for "Template" plugins just to make customized messages
    - Headers handled by a separate layer
    - Full MIME node-tree support (you can keep nesting documents)
  * Plugin API works in a more obvious and scalable fashion akin to Java Swing's Events
    - Events fired by Swift controller class and picked up by Listener classes (plugins)
    - Interfaces created for the individual event types
    - Swift is message-passed with the event rather than set in the plugin as a property
  * Connection I/O handling abstracted back into the connection classes
    - The connections no longer just have references to open reading and writing resources,
      they now deal with reading and writing
    - Extension information stored in the connection itself so the correct behaviour is seen
      if the connection is changed
    - SMTP Authentication now handled by the connections on a per-connection basis
  * Swift Main class tidied up and shortened through composition with message handling objects
    - All message composition features have been removed from the Swift class
    - Recipient handling has been removed from the Swift class and into Recipient handling
      classes
    - Sending is by default, no longer a batched send.  A batchSend() method has been provided
  * NativeMail connection bugfixed
    - Bcc recipients were not dealt with correctly in version 2; this is now corrected
    - Refactored into a plugin and a connection stub

Fully Test-Driven:
  * For all you TDDers who won't go near code without tests you'll find that this release has
    close to 100% test-coverage using SimpleTest



End of file
