--------------------------------------
Ultrafunk Popcorn e-mail client readme
--------------------------------------


Release information
-------------------
Release date : 23-June-2009
Version      : Popcorn 1.94 (unlimited freeware release)
Requirements : Windows 2000/XP/2003/Vista/7
Author       : www.ultrafunk.com
Contact      : ultrafunk@gmail.com
Support      : Popcorn is no longer actively supported, updated or developed
User guide   : Andrew Smith & Ultrafunk (no longer updated)


What's new in this release (1.94 - 23-June-2009)?
-------------------------------------------------
Other changes:

* The "Help" -> "Popcorn Homepage" menu item now uses the new Popcorn
  homepage URL: http://www.ultrafunk.com/popcorn/.


What's new in this release (1.93 - 03-June-2009)?
-------------------------------------------------
Bug-fixes:

* Fixed a bug in the new MIME message decoder that caused Popcorn to crash
  when downloading a mail without any body.
  
* Fixed a bug in the mail edior that caused Popcorn to crash when redirecting
  a mail without any body.
  
* When redirecting a mail it is now properly saved after it is sent.

Other changes:

* When redirecting a mail, most menu items in the "File" menu is now correctly
  disabled.


What is Popcorn?
----------------
Popcorn is a lightweight and portable e-mail client for Windows.

* Works as a client/server application, reading mail "directly" from POP
  servers (all downloaded mail is stored in memory only).

* Send and receive mail using secure SSL encrypted server connections.

* Ideally suited for "on the road" mail access, for scanning, reading and
  sending mail over slow connections. 

* Supports multiple account profiles, enabling you to read and send mail from
  any number of accounts. 

* Requires no installation, no data is saved locally other than a portable
  .INI file containing account information. 

* Ideal for cleaning up POP accounts, removing spam, unwanted mail, large
  attachments etc... 

* Immune to all forms of e-mail attachment and HTML viruses/scripts/trojans
  because it does not display or run received attachments and/or HTML.

* Received mail can be scanned for useful content without downloading it
  completely (only the top N lines are fetched) and attachments can be
  downloaded and saved only when needed.

* The built-in mail editor and address book enables you to compose and send
  new mail with or without file attachments, reply to, forward and re-direct
  received mail using SMTP or (E)SMTP with authentication. 

* Supports and fits easily on all portable (even read only) media, making it
  easy to carry around at all times.

* Using the Mail Message (.eml) format, you can easily import mail items
  composed, saved or sent from Popcorn into other popular e-mail clients.


Installing Popcorn
------------------
If you have downloaded the Popcorn ZIP install archive, unzip it and either
replace your prevoius executable or simply start Popcorn. Replacing an
older version with the new version retains your existing account profile
information and program settings.


Getting started and using Popcorn
---------------------------------
For detailed information on getting started and using Popcorn, please read
the accompanying users guide (popcorn.chm), accessible in Popcorn by pressing
F1, through the "Help" -> "Contents and Index" menu item, or from the Popcorn
program item on your Start menu.


Uninstalling Popcorn
--------------------
To uninstall Popcorn, delete the installation directory and all shortcuts.
No data or files are stored in the registry or other directories.


Send and receive mail using SSL in Popcorn
------------------------------------------
Popcorn supports sending and receiving mail using SSL encrypted server
connections via the OpenSSL (www.openssl.org) Win32 DLLs. The two DLLs
needed (ssleay32.dll and libeay32.dll) are available for download here:

http://www.slproweb.com/products/Win32OpenSSL.html

Download and run the installer, if Popcorn finds and is able to load the
SSL DLLs, SSL support is enabled, if not, SSL support is disabled. To see
if SSL support is loaded and enabled after Popcorn has been started, select
the "Tools" -> "Program/Settings Info..." menu item.

To use SSL, select the "Tools" -> "Account Profiles..." menu item, select the
"Identity & Servers" tab and tick off the "Use SSL" checkbox for POP and/or SMTP
for each (relevant) account profile. When using SSL to access POP and/or SMTP
servers, the Port numbers are usually not 25/110, please check with your e-mail
provider for the right settings.


Portable SSL support
--------------------
If you want to take Popcorn with you on a removable disk like a USB key or external
HD, just copy the two SSL DDLs (ssleay32.dll and libeay32.dll) to the folder that
contains the popcorn.exe file to enable portable SSL support.


Popcorn Source Code
-------------------
The complete source code archive for Popcorn can be downloaded here:
http://www.ultrafunk.com/popcorn/

More information about the source code, usage restrictions etc. can be read here:
http://www.ultrafunk.com/popcorn/PopcornSource_ReadMe.txt


Changelog (release history)
---------------------------
Release 1.92 - 18-May-2009

Bug-fixes:
* Saving attachments after fully downloading a mail item from the server did
  not work properly in some instances, this has now been fixed.
* An edit box in the Setting tab in the Account Profiles editor was sometimes
  disabled erroneously, this has now been fixed.

Other changes:
* When saving attachments and no named attachments are found in a format
  supported by Popcorn, an info dialog is now shown. This will happen when
  mail is tagged as "multipart/mixed" without actually containing any
  attached files and in some other rare cases where the MIME type is
  ambiguous.
* Cleaned up and reorganized the layout of the Settings tab (Mail Download
  section) in the Account Profiles editor.
* When using Shift + H or R-click -> "View Selection as HTML" in the mail
  view, an error dialog is now displayed if Popcorn for some reason is unable
  to perform this action.  
* Cleaned up some of the attachment download code.



Release 1.91 - 14-May-2009

New features:
* The mail editor now supports loading mail with encoded attachments (sent/
  outgoing mail or .eml files from other applications). The attachments
  contained in the loaded mail are added to the attachment list and can
  be managed as usual with the File Attachments dialog.

Bug-fixes:
* Fixed a bug in the new MIME parser that caused a few extra characters to
  appear at the beginning of downloaded messages when the "Get top lines of
  body when downloading headers" option was not enabled/checked.

Other changes:
* Popcorn now creates a "Popcorn" folder within the Windows system temp
  directory on startup. This is only used for storing temporary files when
  loading mail with encoded attachments in the mail editor and viewing mail
  content as HTML from the mail view. This temp folder is emptied and then
  deleted upon each program startup and exit.
* The maximum number of attachments allowed when sending mail has been
  increased from 100 to 200.
* The size of the save attachments toolbar button image has been slightly
  increased to make it easier to see when it is enabled/disabled.
* The "TempPath" setting has been removed because of the new way Popcorn
  now handles temporary files.



Release 1.90 - 05-May-2009

Bug-fixes:
* Fixed two bugs that caused text find and replace to not function
  properly (it did not find and/or replace the words even if they
  were present).
* Fixed a potential bug in the MIME parsing code (checking bit flags
  using the '==' operator instead of the correct '&' operator).
* Updated and fixed the code used for centering file dialogs on screen,
  this should now work properly again.
* An error dialog is now displayed if Popcorn for some reason is unable
  to show/explore the content of the mail out folder ("File" ->
  "Open Mail Out Folder/File").

Other changes:
* Removed a number of unused resource text strings.
* Removed the obsolete compiler flag /OPT:NOWIN98 from the debug build
  configuration.



Release 1.89 - 01-May-2009

Bug-fixes:
* Because of an incompatibility with the compiler used to build the
  popcorn executable and/or the latest SDK header files from Microsoft,
  file dialogs no longer worked (GetOpenFileName() and GetSaveFileName()).
  This has now been fixed, but it will probably cause popcorn to no longer
  work on Windows versions earlier than 2000.



Release 1.88 - 30-April-2009

New features:
* MIME message (mail text) decoding has been rewritten and enhanced:
  * multipart/mixed mail (i.e. mail with attachments) containing
    multipart/alternative content is now properly decoded and displayed.
  * multipart/alternative content encoded with UTF-8 is now properly
    decoded and displayed.
* When using "Mail" -> "Reply to All", Popcorn now removes "To:" and "Cc:"
  field address entries to your own currently selected account profile,
  meaning that you will reply to all the mail recipients except yourself.
* Added "Ctrl + Shift + R" as a "Reply to All" keyboard shortcut.
* Shift + "File" -> "Save Attachments..." or Shift + save attachments
  toolbar button downloads attachments without prompting first (you will
  still be prompted for an attachment save folder).
* The subject line of sent messages are now encoded as base64/ISO 8859-1
  if it contains non-ASCII characters.

Other changes:
* The "SuppressErrorsAllProfilesUpdate" setting now defaults to enabled
  (TRUE), meaning that non-critical error dialogs displayed during an All
  Profiles update cycle will be suppressed (not shown).
* Popcorn now has an embedded manifest file for better compatibility with
  UAC in Windows Vista and Windows 7.
* Popcorn is now flagged as compatible with DEP (/NXCOMPAT compile flag).
* Removed the obsolete compiler flag /OPT:NOWIN98.
* Error dialog suppression has been fine-tuned a bit more.
* Misc. minor code cleanups.



Release 1.87 - 26-May-2008

New features:
* Password prompting has now been implemented for the "Use incoming (POP)
  server username and password" SMTP send authentication method.

Bug-fixes:
* Fixed a bug that caused some downloaded mail items to not show the correct
  status when they were only partially downloaded.
* Fixed a bug that caused the All Profiles view not to appear when the "Get
  headers on startup" option was enabled.
* Fixed some misc. usability issues with the All Profiles view caused by the
  change from a free floating dialog window to a docked view.
  
Other changes:
* Better default values for Popcorn settings and account profiles when starting
  from scratch (no popcorn.ini file present).
* Removed the All Profiles "You have new mail..." notification pop-up dialog.
* Added a standard message box question mark icon to the application already
  running dialog making it look like a Windows MessageBox().
* Optimized a couple of message and attachment download routines.
* Error dialog suppression has been fine-tuned a bit more.



Release 1.86 - 20-May-2008

New features:
* The message body and attachments of downloaded mail items are now stored
  seperately meaning that the full raw mail is no longer shown in the mail
  view after attachments have been downloaded.
* The status bar now shows how many attachments were successfully saved.
* Error dialog suppression has been re-implemented meaning that it does no
  longer suppress (not show) non-error dialogs when it is active.

Bug-fixes:
* Fixed a bug in the MIME attachment filename parser; It did not properly
  identify ';' as a string end delimiter causing some attachments to be saved
  with extra non-filename characters.
* The size of mail items in the inbox view are now always displayed using
  their server size (the size of the total raw mail on the server) regardless
  of their status. This also fixed a bug in the All Profiles view when mail
  items were deleted from the server, the Total Size column now correctly shows
  the new total server mailbox size after delete operations.
* Sorting mail items in the inbox view based on server size now works correctly.

Other changes:
* Optimized the message and attachment MIME parsers/decoders.
* The inbox view size column is now correctly labeled "Server size".
* Removed obsolete common controls version check (Popcorn needs v4.70 or newer).



Release 1.85 - 15-May-2008

New features:
* FINALLY Popcorn has built-in support for decoding and saving (not viewing
  and/or running!) received attachments. Not all encoding types and MIME
  formats are supported (Apple Mail multipart/appledouble does not currently
  work), better support might be added in future releases. If a mail item
  contains any attachments, click on the save attachments button on the toolbar
  or select the "File" -> "Save Attachments..." menu item to start the process.
* The latest folder used to save attachments is automatically stored in and
  restored from the AttachmentSavePath setting.
* The All Profiles view now properly supports Windows large font settings.

Other changes:
* The maximum number of attachments when sending mail has been increased from
  50 to 100.
* Removed the AttachExtractApp and AttachExtractCmdLine settings since they
  are no longer needed and removed the old code used for decoding attachments
  using an external application.



Release 1.84 - 11-May-2008

New features:
* Popcorn now remembers and restores all checked mail items (marked for deletion)
  when switching accounts if inbox caching is enabled.
* Popcorn now remembers and restores the mail item sort order and sort by column
  when switching accounts if inbox caching is enabled.
  
Bug-fixes:
* Fixed a bug that causes the All Profiles view not to appear when clicking on a
  mailto: link if a new Popcorn instance is started.

Other changes:
* Moved all Popcorn resources (bitmaps, icons etc.) into the source\res folder.
* The "Help" -> "Popcorn Homepage" menu item is back again, making it easier to
  check for new versions etc.



Release 1.83 - 25-April-2008

Bug-fixes:
* Fixed a bug that sometimes caused Popcorn to hang when fully downloading mail
  items over an SSL socket connection (Gmail).



Release 1.82 - 22-April-2008

Bug-fixes:
* Fixed a nasty bug introduced a long time ago in release 1.72 that would cause
  heavy CPU use and spiking when downloading and displaying large mail items (1MB+).



Release 1.81 - 20-April-2008

New features:
* The All Profiles dialog is now a an integrated docked view in Popcorn
  instead of a free floating window and it is enabled/visible by default.
  Docking is limited to the lower right corner in this release. The width
  of the All Profiles view can only be adjusted by manually editing the
  "AllProfilesPosSize" setting in the popcorn.ini file.
* The "All Profiles" menu item, the F2 key and the All Profiles toolbar
  button now toggles the All Profiles view visible/hidden (closed). This
  toggle state is stored and restored from the "AllProfilesOnStart" setting.
* The stop/abort connection toolbar button (ESC) now also completely stops
  the All Profiles update cycle instead of just stopping/aborting the current
  connection.
* Implemented a new setting "SuppressErrorsAllProfilesUpdate" (it can be
  changed through the "Tools" -> "Settings..." dialog) which will suppress
  all error dialogs that might pop up during an All Profiles update cycle.
  This setting is disabled by default.
* Ctrl+O now opens the "Mail Out Folder/File".

Other changes:
* Removed the the now obsolete "Window" -> "All Profiles on Startup"
  menu item.
* Removed the obsolete "FreewareMultiWarn" setting.



Release 1.80 - 14-April-2008

New features:
* The new menu item "Tools" -> "Register mailto..." now enables Popcorn to handle
  the mailto: protocol (clicking on a mailto: link on a webpage will open Popcorn
  and then the mail-editor). You might have to change the 'E-mail:' program
  setting in the 'Internet Options' control panel applet before this change will
  take effect.

Bug-fixes:
* Tray Icon menu item "Compose New Mail..." now works as intended.
* Fixed a minor bug in the All Profiles dialog docking code (All Profiles
  auto-dokking is disabled by default because it is not yet fully implemented).
* Fixed a minor bug in the All Profiles dialog code that would make it steal
  input focus when Popcorn was restored from a hidden or minimized state.

Other changes:
* Fixed a typo in one of the string resources.
* Cleaned up the the project workspace files (registered_release is no longer
  present).



Release 1.79 - 17-October-2007

Bug-fixes:
* If a file attached to an outgoing mail was already open/being read from
  another application when it is sent (the attachment is encoded for sending),
  Popcorn would silently fail to read the content of the file and the mail
  would be sent without that file attached. This has now been fixed and
  an error message is also displayed if the file attachment encoding process
  fails for any other reason which in turn will stop the mail sending process.

Other changes:
* The "Sending mail..." status bar text now also includes a percentage progress
  value when sending a mail.
* Cleaned up some internal string resources.



Release 1.78 - 10-October-2007

Bug-fixes:
* Fixed a bug that would cause the gmtime() function to crash when a time_t
  struct with invalid data was passed to it. This made Popcorn crash when
  spam mails with invalid "Date:" header fields were downloaded, when this
  happens now, Popcorn displays "<Invalid date>" instead.



Release 1.77 - 19-July-2007

New features:
* A new dialog that pops up if Popcorn is already running has been implemented
  allowing the user to choose between showing the running copy, starting a new
  copy or canceling. The SuppressAppRunningPrompt setting can be used to override
  the dialog using the following values:
  SuppressAppRunningPrompt=0 - Show the dialog if Popcorn is already running.
  SuppressAppRunningPrompt=1 - Start a new copy if Popcorn is already running.
  SuppressAppRunningPrompt=2 - Show running copy if Popcorn is already running.
* New separate settings for ClearType fonts are now available for the mail view,
  mail editor and log viewer, these fonts will be used if ClearType is available
  and enabled in the OS (WinXP and up). The settings are designated as follows:
  MailViewCTFont, MailEditorCTFont and LogCTFont. The fonts can be set using the
  "Tools" -> "Settings..." menu item. Theses settings were created to allow the
  user to select fixed width fonts that support ClearType.
* Popcorn now has partial support for decoding UTF-8 header fields and mail
  content.
* Popcorn now remembers and restores the last selected mail item when switching
  accounts if inbox caching is enabled.
* A "Clear..." button has been added to the file attachment dialog.

Bug-fixes:
* The horizontal scroller in the Log viewer now actually appears and works.
* Fixed lots of potential buffer overflow situations (replaced all _snprintf()
  calls with safer _snprintf_s() calls).
* Popcorn is now compiled with /GS (Buffer Security Check) enabled (Visual C++
  2005 Express) which should decrease the number of potential buffer overflow
  situations even further.
* When re-directing mail, the "Attach..." button and some of the items on the
  "Mail" menu are now disabled correctly because they have no function.
* A minor bug in the Quoted Printable decoder has been fixed.

Other changes:
* Removed "..." (ellipsis) from menu items and buttons that should not have it.
* All "Clone..." buttons are now more correctly named "Copy..."
* Removed the "Cancel" (close) button from the mail editor, it should really
  not have been there in the first place.
* The "Send" button in the mail editor now changes to "Stop" when a mail is
  being sent instead of the removed "Cancel" button.



Release 1.76 - 09-August-2006

New features:
* Popcorn is now freeware without limitations of any kind.
* Popcorn dialogs now properly support cleartype fonts/text on Windows XP.

Bug-fixes:
* Fixed a bug that would cause Popcorn to crash when it received a malformed
  (spam) message header.
* Fixed a linked-list free memory bug that could cause tiny memory leaks.
* Fixed a few small user interface glitches.

Other changes:
* Removed all Popcorn support, homepage, purchase and registration code
  and menu items from the Help menu.



Release 1.74 - 11-May-2005

New features:
* Popcorn now supports sending and receiving mail using SSL encrypted server
  connections.
  * Popcorn uses the OpenSSL (www.openssl.org) Win32 DLLs for SSL. The two
    DLLs needed (ssleay32.dll and libeay32.dll) are available for download
    from Ultrafunk: http://www.ultrafunk.com/popcorn/
  * The file is called popcornssl.zip, installation instructions are available
    in the popsslreadme.txt file in the popcornssl.zip archive.
  * If Popcorn finds and is able to load the SSL DLLs (ssleay32.dll and
    libeay32.dll), SSL support is enabled, if not, SSL support is disabled.
    To see if SSL support is loaded and enabled, select the "Tools" ->
    "Program/Settings Info..." menu item.
  * To use this feature, select the "Tools" -> "Account Profiles..." menu
    item, select the "Identity & Servers" tab and tick off the "Use SSL"
    checkbox for POP and/or SMTP for each (relevant) account profile.
  * The command log now indicates what kind of server connection is used
    when sending and receiving mail (plain CONNECT or secure SSLCONNECT).
* Popcorn can now display HTML mail content as plain text. Mail view context
  pop-up menu, "Message Body" -> "Decoded and Stripped": Encoded text or HTML
  parts in the message body are decoded and non essential parts of the message
  body are stripped away before being displayed. If the message part of the
  mail body is only available as HTML, Popcorn will strip away all HTML tags
  and show it as plain text. 
* InboxMemoryCache: When enabled (default), Popcorn will store and restore
  downloaded items in the inbox when switching between account profiles.
  * To disable this feature, do the following: "Tools" -> "Settings...",
    "InboxMemoryCache" -> "Disabled (false)".
  * Empty a cached inbox: "Mail" -> "Empty Local Inbox".
  * To see how much memory is used for caching the inbox(es), select the
    "Tools" -> "Profiles/Settings Info..." menu item.
  The inbox memory cache does not survive between program sessions.
* "Edit" -> "Find in Headers" (Shift + F3) allows you to search for text in
  downloaded header items (From, Subject and Date fields).
* Shift + F5 or Shift + clicking on the toolbar button ("Get latest headers
  on server") empties the local inbox first and then downloads the last N
  headers.
* Ctrl+D re-downloads the currently selected mail item.

Bug-fixes:
* Fixed two bugs that could cause Popcorn to crash if a large number of files
  (over 50, the current maximum limit) were added in the file attachment dialog.
* Fixed a bug that in some cases caused a dialog box to be fully or partially
  covered by a another window when it appeared.
* Fixed a bug that caused the From: and Subject: fields to be enabled after
  a re-direct send if "Close after Send" was disabled.
* Popcorn would only restore the window state (focus) on the Find dialog
  if it was already open and find was selected from a different window
  or menu item.
* Fixed a bug that was caused by empty hostnames being returned from the
  Win32/BSD socket API when running Win95. This (an empty hostname) could
  in rare cases cause mail sending to fail on certain SMTP servers.
* Fixed a bug that caused the inbox view / mail view separator pane position
  to be save incorrectly if Popcorn was minimized and exited without showing
  the window.
* Fixed a bug that caused critical error/info message dialogs to dissapear
  when Popcorn was minimized in the system tray and the SupressErrorsTray
  settings was enabled (true).
* Fixed a minor bug when switching between account profiles.
* Fixed a bug that caused Popcorn to crash when decoding an invalid/
  un-terminated base64 ("=?ISO-8859-1?B?") encoded header field.

Other changes:
* The command log now also includes the POP and SMTP server ports used in
  addition to the host name and IP address "[ipaddr - port]" when connecting.
* The command log now also includes seconds in the send/receive time stamps.
* Cleaned up some UI inconsistencies.
* Moved the "Empty Local Inbox..." menu item from "View" to "Mail".



Release 1.73 - 21-December-2004

Bug-fixes:
* Fixed a bug that caused the "Add Sender to Address Book" menu item to be
  disabled when the first item in the inbox view was selected.
* The "Subject:" edit box in the mail editor is now disabled/greyed out when
  a message is re-directed. The subject (along with all other header fields)
  can still be edited/changed through the headers present in the message body.
  Be aware though that editing the header fields directly can cause the mail
  to become invalid.



Release 1.72 - 16-December-2004

New features:
* Popcorn now supports and decodes headers encoded using us-ascii.
* When saving the currently displayed mail item ("File" -> "Save..."), a
  date stamp string is now added to the file name.
* Shift+H in the main (view) window is now "View Selection as HTML".
* New entries can now be added to the Address Book by right-clicking on
  an item/header in the inbox view by selecting the "Add Sender To Address
  Book" menu item.

Bug-fixes:
* Fixed a bug when cloning an account profile that caused the number of
  messages on the server in the source profile to be copied to the cloned
  (destination) profile.
* Fixed a bug that in very rare circumstances could cause Popcorn to believe
  it was started from a read only volume/drive even if this was not the case.
* Fixed a bug that caused the "Save...", "Save Attachments..." and "Print..."
  menu items and toolbar icons to be active (not disabled) before a message has
  been fully downloaded from the server.
* Fixed a bug that caused file .ext -> MIME/Type mapping to be case sensitive.
* Fixed bugs that caused several things to fail and/or crash when using
  relative paths (Popcorn launched from a USB mobile disk).
* Fixed a bug that could cause Popcorn to crash when sending mail with
  attachments.
* EOD receive transparency removal is now fully RFC 2821 compliant.
* EOD send transparency is now fully RFC 2821 compliant.
* Fixed a bug that caused hard line wrapping and EOD seq. transparency
  formatting to be performed when saving mail drafts.

Other changes:
* "File" -> "Save All..." is now available when only a single message is Local.
* Optimized code for decoding message headers.
* Optimized a core string function.
* Optimized code for sending mail with attachments.



Release 1.71 - 20-September-2004

New features:
* Popcorn now saves and restores the file attachment list in the mail
  editor when saving/loading mail drafts.
* Enabling/checking the "Window" -> "Minimize on Escape" menu item will
  minimize Popcorn to the system tray when pressing the Esc (escape) key
  if the "Window" -> "Minimize to Tray Icon" menu item is enabled.
* Pressing Shift + Delete when one or more messages is checked or
  highlighted in the inbox view will delete all marked items without
  any confirmation dialog. Shift + clicking on the "Delete checked/
  selected items from server" toolbar icon does the same.
* Shift + Ctrl + E empties the local inbox without confirmation.
  Shift + clicking on the "Empty Local Inbox" toolbar icon does the same.
* The TempPath popcorn.ini variable is used to set where Popcorn stores
  any temporary datafiles. The default value is blank/empty meaning that
  Popcorn uses the system/windows temp directory. If a directory is
  specified, this will be used instead of the system/windows temp directory.
  Popcorn only creates temporary files when saving attachments and when
  using the "View Selection as HTML" mail view command.
* Popcorn can now use the From: field address in the mail editor directly
  when sending the MAIL FROM:<address> SMTP command. Default behaviour is
  to use the address of the current profile regardless of the From: field
  content. To disable the default behaviour, set the "MailSendFromProfile"
  variable to FALSE (disabled).
* Popcorn now has better time-out handling when a server does not respond
  to commands or if it closes the connection prematurely.
* The "FileAttachmentFont" variable is used to specify which font and
  colors to use for the file attachment list view.
  Default="MS Sans Serif",8,00000000,00ffffff

Bug-fixes:
* Fixed a bug that caused Popcorn to check for new mail or download the
  latest headers when invoked through a mailto: DDE call.
* Fixed a bug in the mail send hard text wrapping (MailSendWrapToWidth)
  routine that caused text following lines without any spaces over the
  wrap-to-width limit not to be hard wrapped.
* Fixed several minor bugs that prevented checking for new mail on
  startup using "All Profiles" from functioning properly when Popcorn
  was launched (minimized) as a tray icon.
* If Popcorn was set to append outgoing mail items to a single file,
  selecting the "Open Mail Out Folder" menu item did not work. When set
  to append, Popcorn will now open the outgoing mail file.
* Fixed a bug that caused Popcorn to decode a base64 encoded attachment
  even when it was not of the type text/plain or text/html.
* Fixed a bug that in rare cases caused Popcorn to decode base64 content
  even if it was a binary attachment.
* Fixed a bug that caused the File Attachments dialog to not open the
  associated application for some file types when double clicking on a
  list view item or selecting "Open..." from the context pop-up menu.

Other changes:
* Only a single click is needed to launch an URL/hyperlink in the default
  browser from the mail view.
* Better sanity/bounds-checking on auto save outgoing mail files.
* The X-URL: header field is no longer included when sending mail from
  Popcorn because it is non-standard.
* Renamed the "Transaction Log" to the "Command Log".
* File save date/time stamps have been simplified for better clarity.
* Popcorn now displays a better warning/error message when it is unable to
  auto-save outgoing (sent) mail.
* The maximum length for each field in the address book has been increased
  from 512 to 2048 characters.
* Cleaned up and/or re-wrote some dialog and UI text for better clarity.
* Cleaned up variable and fuction naming in all classes.
* The transaction log no longer displays the full server UID listing, it
  only shows the first reply line (command OK or fail).
* Replaced ANSI C strncpy and strncat functions with buffer overflow
  protected FreeBSD replacements strlcpy and strlcat.



Release 1.70 - 21-June-2004

New features:
* Popcorn now automatically detects and maps attachment send file
  types/extensions to the corresponding MIME/Type in the attachment
  headers.
* The mail editor title bar now also displays the total size of all
  file attachments in addition to the total number.
* Popcorn no longer uses the POPRecvPollTimeout and SMTPRecvPollTimeout
  tweak values for polling the server for a full command response, it
  now uses RFC standard command termination to make sure commands are
  properly received.
* F4 now downloads all headers for the active account profile.

Bug-fixes:
* Fixed a bug that could cause Popcorn to crash when sending attachments
  on Windows 95/98.
* Fixed a bug that caused the first line of the e-mail body text to
  dissapear in some cases when sending an e-mail with attachments.
* Fixed a bug that caused the Bcc: field in the mail editor to not scale
  horizontally based on the window size.
* Fixed some minor bugs in the mail editor when selecting new mail or
  loading mail drafts caused by not clearing some internal state variables.
* The last MIME part boundary string did not have two trailing hyphens "--".
* Fixed a bug that caused the POP password prompt dialog to query the
  user for account passwords even after the "Remember the password for
  this session" option has been enabled/checked.

Other changes:
* POPRecvPollTimeout popcorn.ini tweak variable has been removed because
  it is obsolete.
* SMTPRecvPollTimeout popcorn.ini tweak variable has been removed because
  it is obsolete.
* The currently selected message in the inbox no longer looses it's
  highlight when marking all messages for deletion.



Release 1.69 - 15-June-2004

New features:
* Popcorn now has built-in support for sending multiple attachments. To
  attach files to outgoing (send) mail, click on the "Attach..." button
  or use the "Mail" -> "File Attachment..." menu item in the mail editor.
* Ctrl + H now cycles through the three available message header display
  modes (None, Brief and Full).
* Ctrl + G now downloads the complete mail (inbox context pop-up menu ->
  "Get Complete Mail").
* The spacebar key can now be used to scroll one page at the time in the
  mail view.
* The address book now has a notes field for each entry.

Bug-fixes:
* Removed several minor memory and resource leaks.

Other changes:
* Popcorn attachement save temp files ("PopcornAttachmentTemp") now have
  the ".mim" (MIME) file extension instead of the ".uue" (UUencoded) file
  extension.
* The default outgoing mail save path is now set to the application working
  directory instead of the system temp path if the setting is blank/empty.



Release 1.68 - 05-May-2004

New features:
* Popcorn now has a Settings dialog ("Tools" -> "Settings...") that
  allows you to more easily view/edit all the available global program
  settings without having to manually edit the corresponding variables
  in the Popcorn.ini file.
* Popcorn now properly formats and includes all text in recipient fields
  (To:, Cc: and Bcc:) when saving and sending mail in accordance with
  RFC 822 and RFC 2822. This means that if you enter the following text
  in the to field: "John Doe <johndoe@johndoe.com>", Popcorn will no
  longer strip away the "John Doe" part when the mail is sent.
* Popcorn now supports the "In-Reply-To:" header field.
* Implemented context sensitive help (F1) in all Popcorn windows/dialogs.
* Enhanced .eml format draft loading in the mail editor.
* Enhanced text and .eml format draft saving in the mail editor.

Bug-fixes:
* Fixed a bug that could crash Popcorn when downloading headers containing
  multiple "Content-Type:" fields if the "Decode and Stripped" mode was
  activated.
* Fixed a bug that in extremely rare cases could partially corrupt downloaded
  message headers when replying and/or forwarding.
* Fixed a bug that caused an extra error messages to appear if packet receive
  timed out when establishing a server connection.
* Fixed a bug in the address book that caused the wrong entry to be
  selected when double clicking it after sorting.
* Fixed a bug that caused control focus rectangles not to function properly
  in the mail editor.
* MIME boundary detection could fail in rare instances.

Other changes:
* Complete re-write and optimization of received header parsing and mail
  send header and body generation.
* Large parts of the mail editor has been re-written and optimized.
* User Profiles are now called Account Profiles which is a more correct
  and descriptive term.
* The currently selected/highlighted item in the address book list is
  no longer inserted when OK is clicked if an address has already been
  inserted by double clicking or context pop-up menu selection.
* The edit boxes for the "Save outgoing" and "Signature file" paths in
  the account profile managers settings tab are no longer read-only making
  it easier to edit relative paths.
* Created a "Tools" main menu header item containing related tools,
  removed the "Connection" main menu header item.



Release 1.67 - 29-March-2004

New features:
* Popcorn now supports the Mail Message (.eml) format, enabling you to
  easily import mail items composed, saved or sent from Popcorn into
  other popular e-mail clients.
* To save mail drafts and downloaded mail items as .eml, select "Mail
  (*.eml)" from the "Save as type:" drop down list in the file save dialog.
  Popcorn will remember which format you choose (.txt or .eml) between
  sessions and between the mail view and mail edior -- what you choose
  becomes the "preferred" save format.  
* To save outgoing (sent) mail items in the .eml format, open the user
  profile manager, go to the "Settings" tab and select the preffered
  format from the "Outgoing format:" dropdown list for each profile.
* The mail editor also has limited capability to load .eml messages
  as mail drafts. Mails with "pure decoded text" content will load
  and be displayed correctly.
* You can now change the active profile in the main window using the
  keyboard. Pressing Ctrl + 1,2,3,4,5,6,7,8,9,0 (0 = 10) will select
  the "matching" profile (from top to bottom) in the list.

Bug-fixes:
* Tab order (left to right, top to bottom) on the "Settings" tab in
  the user profile manager is now correct.
* Pressing Alt + O in the user profile manager (the same as clicking
  on the OK button) now also works when the "Identity & Servers" and 
  "Settings" tabs are active.
* Popcorn now inserts a properly formatted "Message-ID:" header field
  in all sent e-mails. In very rare cases, messages could be rejected
  by spam filters if this field was missing or wrongly formatted.
* ESMTP multiline responses (EHLO) should now always be received correctly,
  making the "SMTPRecvPollTimeout" tweak value in the popcorn.ini file
  obsolete.
* Fixed a bug that sometimes made the mail editor clone the wrong user
  profile information while the All Profiles window was being updated.
* Popcorn now saves the "From:" field in mail drafts, enabling support
  for .EML message save/export.
* MIME parser and decoder now complies better with RFC-2045.
* Recipient list parser now complies better with RFC-822.

Other changes:
* Removed the "Copy Selected" menu item from the transaction log context
  pop-up menu. Use the "Save Log..." menu item to save the entire log and
  then copy/paste the relevant parts when needed instead.
* All file dialogs (Open and Save) are now centered.
* Optimized transaction log and POP/SMTP server communication code.
* The Popcorn User Guide has been thoroughly reviewed and updated.



Release 1.66 - 05-March-2004

New features:
* Popcorn can now download the top n lines of the mail body when
  retrieving mail headers. To enable this feature (it is turned off
  by default), go to the Settings tab in the User Profile manager and
  check off the "Get top lines of body when downloading headers"
  checkbox. The number of body lines downloaded is controlled through
  the "Number of top lines" edit box.
* Hard wrapping outgoing mail to a specific character width/limit is
  now available through the "MailSendWrapToWidth" variable in the
  popcorn.ini file. This feature is turned off/disabled by default
  (MailSendWrapToWidth=0), to enable it, set it to a value greater
  than 0, 72 or 76 characters are the "standard" values used. Quoted
  lines starting with the ">" character are not hard wrapped to preserve
  the message history.
* Wrap to window width in the mail editor is now always enabled or
  disabled based on the current setting even when replying and
  forwarding. Enabling/disabling wrap to window width is now done
  through the "Edit" -> "Word Wrap" menu item, and this setting is
  now global, not per profile. This setting is totally independent
  of the outgoing/send hard wrapping setting.
* When replying to and forwarding messages, an original message separator
  string is now inserted. This string can be disabled or customized
  through the "ReplyForwardSepString" variable in the popcorn.ini file.
  The default value is "\n\n----- Original Message ---------------\n",
  leaving it blank "" disables it. The "\n" control characters can be
  used to insert newline/return characters in the string when it is
  inserted.
* Popcorn now shows the "Message Header" display mode and the "Message
  Body" decode mode in the status bar below the mail/message view.

Bug-fixes:
* Fixed a bug that sometimes caused the mail editor controls to remain
  inactive (grayed out) when a send mail operation was cancelled.
* Fixed a bug that caused pressing enter in the list view in the All
  Profiles window to not behave in the same way as double-clicking with
  the mouse.
* Fixed a bug that caused Popcorn to crash when "Decoded and Stripped"
  mode was active and a downloaded message contained the multipart/
  alternative and a second MIME Content-Type in the mail header.
* When using Alt + Tab to switch between applications, the inbox list
  view selection was lost when Popcorn was re-activated, this has now
  been fixed.

Other changes:
* Attachment save is now always on regardless of whether Popcorn thinks
  an e-mail contains attachments or not. This makes it easier to correctly
  decode/save and view e-mail parts through external applications (HTML
  in particular) that Popcorn does not currently decode.
* The User Profile -> Settings "Wrap Text to Window Width" and "Display
  Header" settings for the mail view have now been removed and made
  global. They are now controlled through the "Word Wrap" and "Message
  Header" menu items on the mail view context popup menu.
* The User Profile -> Settings "Wrap Text to Window Width" and "Close
  on Send" settings for the mail editor have now been removed and made
  global. They are now controlled through the "Edit" -> "Word Wrap" and
  "File" -> "Close after Send" menu items in the mail editor.



Release 1.65 - 09-February-2004

New features:
* Popcorn now supports viewing and saving attachments through external
  applications like WinZip. To view/save attachments in a downloaded
  message, you can either click on the Save Attachments button on the
  toolbar, select "Save Attachments..." on the File menu, or you can
  right click in the message view and select "Save Attachments..."
  from the context pop-up menu. 
  * Which external app. is used is controlled through the
    "AttachExtractApp" variable in the Popcorn.ini file (the default
    value is "C:\Program Files\WinZip\WINZIP32.EXE"). If Popcorn is
    unable to find the application, it will open a file selection
    dialog allowing you to specify the location of the app.
  * The "AttachExtractCmdLine" variable is used to specify the command
    line options for the external attachment view/save application.
    The default value is "%s", where the %s string gets replaced by the
    temp folder path + PopcornAttachmentTemp.uue.
  * Attachment view/save support can be completely disabled by setting
    the "AttachExtractApp" variable to an empty "" string.
* Added a "Get Complete Mail" item to the inbox context pop-up menu.
  When viewing and/or saving attachments in a downloaded mail, it must
  be completely downloaded and not MIME decoded in any way. This item/
  command ignores all user settings for partial downloads and MIME
  decoding, making it easy to completely download a message containing
  attachments and then successfully viewing and/or saving them.
* Added a "Decoded and Stripped" item to the mail view context pop-up
  menu "Message Body". When this view mode is activated, Popcorn will
  strip away (not display) the HTML code part of multipart/alternative
  messages.
* The mail editor window is now completely separated from profile/
  account changes in the inbox view while it is open. The user profile
  that was active/selected when the mail editor was opened, is always
  used when sending mail.
* The Popcorn.ini variable "SuppressPromptsTray" is used to suppress
  (not display) any user input dialogs/prompts while it is minimized
  in the system tray. Currently, this only affects the Password prompt
  dialog. The default value is "FALSE".
* Added menu item mnemonics to the main and mail editor menus.
* The "AddressBookFont" variable is used to specify which font and colors
  to use for the address book list view.
  Default="MS Sans Serif",8,00000000,00ffffff
* All list view columns in the address book are now automatically
  sized horizontally to fit the longest item text.
* The default number of tab characters is now 8 for the mail view and
  mail editor windows for both system and custom fixed width fonts as
  stated in the MIME RFC. The number of tab characters can be adjusted
  through the "TabChars" variable in the Popcorn.ini file.
* Popcorn now automatically sends mouse wheel input (scroll up/down)
  to the inbox or mail view based on the position of the mouse cursor.
* Popcorns tray icon is now automatically restored if Explorer crashes
  and/or restarts.

Bug-fixes:
* Controls added dynamically to the mail editor (Cc and Bcc controls)
  did not properly handle large system fonts.
* Fixed a small bug in the MIME header parser.
* Fixed a bug that caused a downloaded message to be displayed twice in
  the mail view when selected.
* Fixed a bug in the mail editor that would cause text in the From,
  To, Cc and Bcc fields to be selected when the window was resized.
* Fixed a bug in the mail editor that could cause the content of the
  From, Cc and Bcc fields to be automagically set to a matching entry
  in the recent-to list.
* Fixed a bug that caused Popcorn to partially stop responding if the
  password promp dialog was show while Popcorn was minimized in the
  system tray.
* Fixed a "double click on the header column separator" resize bug in
  the inbox and all profiles list view that caused the columns to be
  wrongly sized if custom/non-system fonts were used.
* Fixed a bug that could cause the All Profiles window to crash if all
  user profiles/accounts were deleted while it was open.
* Fixed a bug that could cause the mail editor window to crash if all
  user profiles/accounts were deleted while it was open.
* Fixed a bug introduced in release 1.60 that caused internal User Profile
  manager change notification messages to not be sent with proper change
  detail parameters to the main window, mail editor and all profiles
  windows.
* Fixed a bug that caused a keyboard input delay/lag when composing a
  mail when Popcorn checked for new mail and downloaded new headers
  for the active user profile/account.
* Fixed a bug in the address book/mail editor that did not insert a
  space separator character when inserting a new address after an
  existing To: or Cc: address.

Other changes:
* Included a C++ link switch that reduced the popcorn.exe file size
  with 8KB.
* Included a C++ link switch, alternate application startup code and
  several other optimizations that reduced popsetup.exe (the Popcorn
  setup executable) file size with 26KB.
* The popcorn.exe file has been compressed with UPX (Ultimate Packer
  for eXecutables - http://upx.sourceforge.net/) reducing it's size
  from 250KB to 112KB.



Release 1.60 - 12-January-2004

New features:
* A simple address book has been added to Popcorn, accessible either
  from the main toolbar, the "Mail" -> "Address Book..." menu item,
  or from the "To:", "Cc:" or "Bcc:" buttons and the "Mail" -> "Address
  Book..." menu item in the mail editor. Address book data is stored
  in the "addressbook.ini" file which is created and located in the
  directory where Popcorn is started from.
* Re-designed the mail editor to work with the newly added address
  book. The "+" (more) button to toggle on/off the "Cc:" and "Bcc:"
  fields has been removed, the same options are now available from
  the "Mail" -> "Header Fields" menu item. "To:", "Cc:" and "Bcc:"
  buttons were added to insert address entries directly from the
  address book.
* Added detection and decoding of the "multipart/related" MIME type.
* Added detection and decoding of the "multipart/report" MIME type.
* Added an "Empty Local Inbox" toolbar button (Ctrl+E).

Bug-fixes:
* Fixed a bug that caused Popcorn to crash when re-directing a message
  and sending it after changing the active profile/account. There are
  two "side effects" caused by this fix:
  1.) The complete header is always shown in the Mail Editor when mails
      are re-directed (slightly negative).
  2.) You can now change the content of the re-directed message, including
      header data, exactly what is shown in the editor window is sent to
      the recipient (very positive). This used to be read-only...  
* Fixed a minor bug in the quoted printable decoder.
* Fixed a bug that caused Popcorn to not decode base64 mail body content
  for the "multipart/alternative" MIME content-type.
* Popcorn now signals all child windows to properly close down if they
  are open when the application is exited. Some window size/position
  settings were not saved because the child windows were not signalled
  upon exit.
* Fixed a bug that sometimes caused the mail editor to display the wrong
  from address when it was opened if the all profiles window was being
  updated.

Other changes:
* The "From:" field is now always visible above the "To:" field in the
  mail editor, and it can no longer be hidden.
* All items on the "Mail Properties" menu in the mail editor has now
  been moved to the "Mail" menu.
* Cleaned up a few of the icon and toolbar images.
* The "File" -> "Profiles/Settings Info" message box now also displays
  the path and read/write access for the address book data file.
* Cleaned up some of the message send code.
* The "From:" address field in the mail editor is no longer automatically
  updated to reflect the currently selected profile if it is changed while
  the editor window is opened.
* Optimized user profile/account switching and management.
* Optimized and enhanced MIME parser/decoder code.
