[Note that all dates are in English, not American format - i.e. day/month/year]

Alpha Release 7
===============
Skip Montanaro	  28/10/2003  Determine dbm format from the file if it already exists
Tony Meyer        09/10/2003  An old-style option was left in hammiebulk; fix this.
Tony Meyer        08/10/2003  If the (stats) db uses a pickle, then use a pickle for the messageinfo db as well.
Tony Meyer        08/10/2003  Try and close the db when we are no longer using it.
Tony Meyer        08/10/2003  Ensure that we store the messageinfo database when changes are made.
Tony Meyer        07/10/2003  Fix [ 818552 ] Exchange 2000 IMAPserver & imaplib.error: APPEND command er
Tony Meyer        06/10/2003  Trivial fix for imap over ssl being offered when it is available.
Tony Meyer        03/10/2003  Fix [ 810342 ] sb_smtpproxy does not work with smtplib.SMTP.sendmail()
Tony Meyer        03/10/2003  Fix [ spambayes-Bugs-816400 ] Crash because of bad date.
Sjoerd Mullender  02/10/2003  imapfilter: if problems occur parsing the date, just use the current date/time.
Tony Meyer        30/09/2003  Fix [ 814322 ] AttributeError: hdrtxt
Tony Meyer        29/09/2003  smtpproxy: If we successfully trained a message from the pop3proxy cache or imap server, we still said that we couldn't find it.  Fix.
Tony Meyer        29/09/2003  smtpproxy: Fix a minor printing error that would cause a traceback.
Tony Meyer        29/09/2003  imapfilter: Fix trying to view imap folders before restarting and after entering in details.
Tony Meyer        28/09/2003  Don't use 'pragma: no_cache' to try and stop browsers caching the web interface pages.
Skip Montanaro    26/09/2003  Correct sense of include_trained test in mbox_train.
Tony Meyer        26/09/2003  If the user is using Windows, also install pop3proxy_service.py and pop3proxy_tray.py.
Tony Meyer        24/09/2003  Fix sb_xmlrpcserver to work with the renamed options/scripts.
Tony Meyer        24/09/2003  Fix [ 809769 ] TypeError when training 1.0a6

Alpha Release 6
===============
Skip Montanaro    19/09/2003  Worm around a possible email pkg bug.
Skip Montanaro    19/09/2003  hammiebulk & mboxtrain: Minor performance boost when training on lots of mail.
Skip Montanaro    19/09/2003  Place a threshold on the number of items displayed per section in the review page of the ui.
Tony Meyer        18/09/2003  Change the Outlook plug-in to use the general default (currently False) for the experimental_ham_spam_imbalance adjustment.
Tony Meyer        18/09/2003  Change the default for address_headers to include to, cc, reply-to, and sender as per Tim's suggestion.
Tony Meyer        18/09/2003  Store the user's caches and messageinfo.db file in the app data folder as well (by default), if we have everything else there.
Tony Meyer        18/09/2003  If we can't find a config file anywhere but the windows app data directory, then load it.
Tony Meyer        18/09/2003  Use urllib not urllib2 to shut down the proxy.
Tony Meyer        18/09/2003  Create the server strings for the ui *after* reading in the command line parameters.
Tony Meyer        18/09/2003  Move notate_to and notate_subject options to the "Headers" section.
Tony Meyer        18/09/2003  Move all the storage options in the "pop3proxy" section to the "Storage" section.
Tony Meyer        18/09/2003  Remove the hammie debug options, and use the "Headers" evidence options instead.
Tony Meyer        17/09/2003  Fix [ spambayes-Bugs-806632 ] sb_server failure when saving config
Tony Meyer        17/09/2003  Outlook: Add a warning for those with highly (>5 times) imbalanced ham and spam.
Mark Hammond      17/09/2003  pop3proxy_service: Only munge sys.path in source-code versions, and as the service starts, have it report the username and ini file it is using. In binary builds, write a log to %temp%\SpamBayesServicen.log
Mark Hammond      17/09/2003  If we are running Windows, have no valid config file specified, and have the win32all extensions available, default to: \Documents and Settings\[user]\Application Data\SpamBayes\Proxy
Tony Meyer        16/09/2003  Fix [ 795145 ] pop3proxy review page dies with mixed gzip/non messages
Mark Hammond      15/09/2003  Outlook: Load dialog bitmaps directly from the executable in binary builds.
Adam Walker       15/09/2003  Updated pop3proxy_tray to support the service.
Tony Meyer        15/09/2003  Removed the gary_combining option and code.
Tony Meyer        15/09/2003  Add a (basic) check for version option to the pop3proxy tray app.
Tim Peters        15/09/2003  Fix SF bug 806238:  urllib2 fails in Outlook new-version chk.
Tim Peters        15/09/2003  Outlook: ShowClues():  Made the clue report a little prettier, and (I hope) a little easier to follow.
Tony Meyer        13/09/2003  Fix [ 805351 ] If cc: address is not qualified, proxy fails to send message
Mark Hammond      12/09/2003  pop3proxy_tray: Use simple logging strategy similar to the Outlook addin - if we have no console, redirect either to win32traceutil (source-code version) or to a %TEMP\SpamBayesServer1.log (yet to be released binary version).
Mark Hammond      12/09/2003  pop3proxy_tray: When running from binary, don't hack sys.path.  When running from source code, hack sys.path based file path rather than on os.getcwd.
Mark Hammond      12/09/2003  pop3proxy_tray: When running from binary, load the icon from the executable rather than a .ico file.
Tim Peters        12/09/2003  Outlook: ShowClues():  Add lines revealing the # ham and spam trained on.
Tony Meyer        11/09/2003  When running setup.py if the old (named) files exist, offer to delete them.
Tony Meyer        11/09/2003  Add a unittest to check that we correctly fail when no dbm modules are available.
Anthony Baxter    11/09/2003  Add a new file: NEWTRICKS.TXT to record ideas that have and haven't been tried.
Richie Hindle     11/09/2003  Bug 803501: Fix the "No dbm modules available" message to print rather than crash. 
Skip Montanaro    11/09/2003  Implement a better fix for the storage.py pickle/dbm problems.
Mark Hammond      10/09/2003  Outlook: use the classifier's (new) store method rather than an Outlook specific one.
Tony Meyer        10/09/2003  Re-fix storage.py so that hammie works with a pickle or dbm.
Tony Meyer        09/09/2003  Fix for [ 802545 ] crash when loggin off imapfilter UI
Tony Meyer        09/09/2003  Fix for [ 802347 ] multiline options saved incorrectly
Tony Meyer        09/09/2003  Implement half of [ 801699 ] migration from hammie to sb_* scripts (although in a different way)
Tony Meyer        09/09/2003  sb_server should store and close the db before reopening it.  gdbm fails if we do not do this.  Fix this.
Tony Meyer        09/09/2003  imapfilter: correctly handle imap servers that (wrongly) fail to put folder names in quotation marks
Mark Hammond      09/09/2003  Add a close method to the various storage classes.
Sjoerd Mullender  08/09/2003  Fix for [ 801952 ] Imapfilter appending headers
Sjoerd Mullender  08/09/2003  imapfilter: Count all messages being classified instead of just the ones from the last folder.
Sjoerd Mullender  08/09/2003  Trivial fix for IMAP over SSL.
Tony Meyer        08/09/2003  imapfilter: handle a folder name as a literal when presenting a list to choose from
Tony Meyer        08/09/2003  imapfilter: handle imap servers that don't pass a blank result line for an empty search
Mark Hammond      08/09/2003  Outlook: When we fail to add the 'Spam' field to a read-only store (eg, hotmail), complain less loudly.
Mark Hammond      08/09/2003  Fix [ 798362 ] Toolbar becomes unresponsive and must be recreated
Tony Meyer        06/09/2003  Add a missing file that's necessary to try out the sb_pop3dnd.py script, and the version and options necessary.
Tony Meyer        06/09/2003  Fix [ 800555 ] 1.0a5 release missing key outlook files.
Tony Meyer        05/09/2003  Remove backwards compat code for options, and update all (I hope) the remaining code that uses it.
Tony Meyer        05/09/2003  Move and rename all top-level scripts other than setup.py

Alpha Release 5
===============
Tony Meyer     03/09/2003  imapfilter: We would crash if we hadn't set anything up and didn't prompt for password.
Adam Walker    03/09/2003  pop3proxy_tray: Switch icons based on if the proxy is running or not. Provide some info found on the information page in the tooltip of the icon.
Tony Meyer     02/09/2003  Add a rough autoconfigure script, which will set up both spambayes and a mail client to use pop3proxy
Richie Hindle  01/09/2003  Fix [ 797890 ] "assert hamcount <= nham" problem.
Tony Meyer     01/09/2003  Fix [ spambayes-Bugs-796996 ] smtp server not started until restart.
Richie Hindle  01/09/2003  Integrated [ 791393 ] HTTP Authentication, which closes #791319.
Tony Meyer     01/09/2003  Added [ 796832 ] Word query should show all words starting with certain text 
Tony Meyer     01/09/2003  Fix for [ 797316 ] Extra CRLF to smtp server causes garbage error.
Richie Hindle  31/08/2003  The web UI's Shutdown command, and stopping the pop3proxy_service, now wait for any open proxy connections to finish before exiting the process.
Richie Hindle  31/08/2003  X-Spambayes-Exception headers now contain a traceback as well as the exception.
Richie Hindle  29/08/2003  Fix the yellow colour of the header boxes in the web interface in strict browers (i.e. not IE ;)
Tony Meyer     28/08/2003  smtproxy: try a bit harder to proxy the exact command if we aren't going anything with it, and try to match it more closely even if we are.
Mark Hammond   27/08/2003  Outlook: all menu sub-items are now temporary.
Mark Hammond   27/08/2003  Fix [ 776808 ] Expanding toolbar crashes outlook
Mark Hammond   27/08/2003  Outlook: ensure we only try and use tree items listed as valid by the mask.
Mark Hammond   27/08/2003  Fix [ 795749 ] "Score after training" doesn't in CVS
Mark Hammond   27/08/2003  Outlook: add 'View Log' button to the Diagnostics dialog.
Tony Meyer     26/08/2003  Fix restoring defaults from the web interface.
Tony Meyer     26/08/2003  Implement [ 791254 ] Advanced configuration panel.
Tony Meyer     26/08/2003  smtpproxy: don't convert unknown commands to upper case as this mucks about with passwords, which might be case sensitive.
Richie Hindle  26/08/2003  Fixed [ 787251 ] Problem refreshing message list and [ 790051 ] Can't review messages.
Richie Hindle  26/08/2003  Added a missing line break in the status pane on the Home page when there are no proxies configured.
Richie Hindle  26/08/2003  Fix [ 743131 ] Specifying a POP3 server on the pop3proxy command line but no local port number (ie. no -l) now works again, defaulting to local port 110.
Skip Montanaro 26/08/2003  Change the storage.py print statements to print to stderr, so that using verbose=True is possible using apps that work through stdin.
Mark Hammond   26/08/2003  Fix [ 779319 ] ntpath Unicode error
Mark Hammond   26/08/2003  Outlook: default folder names used by the Wizard are now "Junk E-Mail" and "Junk Suspects"
Mark Hammond   26/08/2003  Outlook: the experimental 'timers' options got upgraded to the 'filter' section.
Adam Walker    26/08/2003  Outlook: added button on advanced tab to display the spambayes data folder.
Adam Walker    26/08/2003  Outlook: move Filter Now to a seperate dialog invoked by the drop down menu on the toolbar.
Tony Meyer     25/08/2003  Fix some old option names.
Tony Meyer     25/08/2003  Change the notate_to and notate_subject options to notate for spam, unsure, ham, or any combination (including none) thereof.
Tony Meyer     25/08/2003  Add no_cache_large_messages option.  If messages are bigger than this, don't cache them (to avoid caching messages with massive attachments that are already correctly classified).
Tony Meyer     25/08/2003  Add an open_storage function to centralise opening storage, which also works with the new SQL classifiers.  Used by pop3proxy and hammiefilter at the moment.
Tony Meyer     25/08/2003  smtpproxy should now work as previously, but also training on the exact message sent, rather than looking up via id.  Lookup into the imapfilter folders is also possible.
Mark Hammond   25/08/2003  Fix [ 785389 ] Folders missing in Spambayes manager.
Mark Hammond   25/08/2003  Fix [ 786952 ] Error when profile name has invalid filename characters.
Mark Hammond   25/08/2003  Outlook: We now work with "IPM.Note" and "IPM.Anti-Virus*"
Mark Hammond   25/08/2003  Outlook: Fail when we can't find a default message store.
Mark Hammond   25/08/2003  Fix "[ 788495 ] Filter fails when folder full"
Mark Hammond   25/08/2003  Outlook: remove last win32ui dialog.
Mark Hammond   25/08/2003  Outlook: change default filter action to "move"
Mark Hammond   25/08/2003  Outlook: don't score if the training was cancelled.
Mark Hammond   25/08/2003  Outlook: present the wizard when required.
Mark Hammond   25/08/2003  Outlook: allow filtering to be enabled, even if no training information!
Tony Meyer     23/08/2003  Add [ 789916 ].  Outlook Express .dbx files can now be used to train, just like mbox files.
Mark Hammond   23/08/2003  Outlook: we can cancel a train without destroying the DB, and mail that comes in during the training will not use the partial db.
Mark Hammond   23/08/2003  An empty 'allowed values' now allows an empty string.
Mark Hammond   23/08/2003  Outlook: add a "New Folder" button to the folder selector dialog.
Mark Hammond   20/08/2003  Outlook: add wizard dialogs.
Tony Meyer     19/08/2003  Implement [ 790615 ] Allowed remote connections management, which addresses [ 698036 ] pop3proxy security
Tony Meyer     19/08/2003  Allow @ and = in paths.
Adam Walker    19/08/2003  Outlook: add a Wizard framework.
Adam Walker    19/08/2003  Outlook: add a diagnostic dialog.
Adam Walker    18/08/2003  Fix [ 790406 ] Allow the timers to be set in half second increments.
Mark Hammond   18/08/2003  Improve the starting/stopping of the pop3proxy service
Adam Walker    18/08/2003  Outlook: change the manager dialog to a tabbed interface, and add a logo to it.
Tony Meyer     18/08/2003  Allow the pop3proxy_service to start smtpproxy as well
Tony Meyer     18/08/2003  Add version information to the web interface, as requested in [ spambayes-Bugs-790051 ] Can't review messages if probability header is turned on
Tony Meyer     16/08/2003  which_database.py: Make the script a little smarter about checking if bsddb[3] is available.
Tony Meyer     14/08/2003  Fix [ spambayes-Bugs-788008 ] smtpproxy.py assumes toogood format for addresses
Tony Meyer     14/08/2003  Implement patches from [ 788001 ] mboxtrain.py maildir bugfix and feature
Tony Meyer     14/08/2003  Fix [ 787296 ] Local installation problem: hammiefilter_persistent_storage
Tony Meyer     14/08/2003  Fix [ 788002 ] hammiebulk.py uses wrong option name
Tony Meyer     13/08/2003  If you didn't use the -p switch to enter your password interactively, imapfilter would try and get it from the options, but if it wasn't there yet (because you hadn't done the setup yet), it would crash.  Fix this.
Skip Montanaro 13/08/2003  Add a simple n-way classifier using a cascade of binary SpamBayes classifiers
Tony Meyer     12/08/2003  Web interface: At some point (before the 1.0a4 release) selecting both "header" and "body" stopped working.  This fixes that.
Tony Meyer     12/08/2003  Have the review messages page put the unsure messages at the top, because they are the most important to take action on
Mark Hammond   11/08/2003  Outlook: SpamClues shows the percentage as well as the raw score.
Adam Walker    09/08/2003  Outlook: Added website links to the help menu.
Adam Walker    09/08/2003  Use the Tahoma font in the Outlook dialogs.
Mark Hammond   09/08/2003  Fix [ 780612 ] Outlook incorrectly trains on moves messages.
Mark Hammond   08/08/2003  Fix bug [ 784323 ] Plug-in will not intialize/watch in offline mode
Tony Meyer     07/08/2003  Add a mySQLClassifier class
Skip Montanaro 07/08/2003  Add a postgreSQL classifier class, and a base SQLClassifier class
Tony Meyer     07/08/2003  Remove dumbdbm from the config options
Skip Montanaro 07/08/2003  Remove dumbdbm from the possible dbm storage options
Tony Meyer     07/08/2003  Fix [ 784296 ] imapfilter broken with Python 2.3
Adam Walker    06/08/2003  Outlook: move the html menu options to a Help sub-menu.
Mark Hammond   06/08/2003  Fix [ 780819 ] Images pasted to clipboard each startup
Mark Hammond   04/08/2003  Add a get_option method, so an option instance itself can be fetched.
Mark Hammond   04/08/2003  Outlook: new data driven dialogs loaded from Windows .rc scripts.
Mark Hammond   04/08/2003  Outlook: add a resource script parser, by Adam Walker.
Mark Hammond   01/08/2003  Outlook: fix [ 780801 ] IMAP Still Failing - GetField() returns None on MAPI error
Mark Hammond   30/07/2003  Outlook: avoid passing a float to C functions that take an int (the slider pos)
Mark Hammond   29/07/2003  Fix [ 779049 ] email.Errors.HeaderParseError: Continuation line seen ...
Mark Hammond   29/07/2003  Outlook: change the way we detect 'unsent' items - this way catches both unsent items, and copies of sent items.
Mark Hammond   29/07/2003  Outlook: add ability to check for the latest version.
Mark Hammond   29/07/2003  Version.py: indicate the generated output is generated :)  Make work for Python 2.2, but don't trust its config parser for remote data.
Mark Hammond   29/07/2003  Support fetching the "latest" set of version data from the spambayes web site.
Richie Hindle  28/07/2003  Made the pop3proxy work with fetchmail.
Mark Hammond   28/07/2003  Outlook: Add a new experimental 'timer'.
Mark Hammond   26/07/2003  Outlook: Log the binary version in the binary.
Mark Hammond   25/07/2003  Fix locale issues in Outlook - fixes [ 765912 ] AssertionError: Proportions must add to 1.0 ...
Tim Peters     25/07/2003  Fix SF bug 777026: Possible cause for db corruption in DBDictClassifier.
Mark Hammond   25/07/2003  Created a directory & readme for test suites, including a storage.py test.
Tony Meyer     25/07/2003  [ 777165 ] Typo in Options.py causes bogus warning on reading config
Mark Hammond   23/07/2003  Outlook: fix a bug in how attachment properties were fetched - if the body was "large", we attempted to get the "large property" from the mail object itself, rather than the attachment.
Mark Hammond   23/07/2003  Outlook: fix a problem where multipart/signed messages could still screw us.
Mark Hammond   23/07/2003  Fix [ 693387 ] user-composed messages are filtered.
Mark Hammond   23/07/2003  Outlook: Check the message flag for the "unsent" bit.
Richie Hindle  22/07/2003  You can once again specify local addresses as well as ports for the pop3proxy to listen on (was broken in 1.0a3 and 1.0a4).
Mark Hammond   21/07/2003  Outlook: Paul Moore reports that not specifying USER_DEFERRED_ERRORS solves his "unread flag" issue - and we certainly don't need that flag here, so out it goes.
Mark Hammond   21/07/2003  Outlook: While we are printing versions, Python gets a go.
Mark Hammond   21/07/2003  Fix 690418: Non mail items filtered by Outlook
Mark Hammond   21/07/2003  Fix 719586: Cannot View Spam Cues for Undeliverable Reports
Mark Hammond   21/07/2003  Outlook: Add IsFilterCandidate() method to a message object to determine if this is a message we should try and filter.
Mark Hammond   21/07/2003  Outlook: Rationalize code that creates a message object.
Mark Hammond   21/07/2003  Outlook: Ignore errors when enumerating stores.
Mark Hammond   21/07/2003  Outlook: Work better with a unicode data directory.
Mark Hammond   21/07/2003  Outlook: Add a new filter option - "save_spam_info", default=True.
Mark Hammond   20/07/2003  Fix [ 769346 ] Problems after deleting certain spam folder as implemented in [ 769981 ] Outlook plugin: allow user to change spam and unsure.
Mark Hammond   20/07/2003  pop3proxy_service: log exceptions if the server thread dies unexpectedly.
Mark Hammond   20/07/2003  Fix [ 761499 ] pop3proxy_service doesn't stop when shutdown from browser.
Mark Hammond   20/07/2003  Fix [ 769346 ] Problems after deleting certain spam folder as implemented in [ 769981 ] Outlook plugin: allow user to change spam and unsure.
Mark Hammond   19/07/2003  pop3proxy_service: Redirect output to win32traceutil (for want of a better place)
Richie Hindle  19/07/2003  pop3proxy: Print a traceback as well as adding an X-Spambayes-Exception header when there's an exception raised while processing a message.
Tony Meyer     18/07/2003  Fix [ 773452 ] Unable to use fractional number as spam_threshold.
Richie Hindle  18/07/2003  pop3proxy:  "ASCII decoding error" problem fixed.
Skip Montanaro 15/07/2003  dbmstorage: trivial hack to give dumbdbm a sync() method (which Shelve will call) and hopefully reduce database corruption
Mark Hammond   09/07/2003  Outlook: Include the Windows version in the log.
Mark Hammond   09/07/2003  Outlook: Use the passed field name rather than hardcoded "Spam".
Mark Hammond   09/07/2003  Fix 765042: IMAP mail fails to filter
Tony Meyer     09/07/2003  Allow $ in pathnames, which fixes [ 768162 ] UNC path for data_directory?
Tony Meyer     09/07/2003  mboxtrain: Use /tmp/ as the temp directory, not /cur/tmp or /new/tmp.  Fixes [ 768221 ] v1.0a4 dies when training on Maildir
Mark Hammond   08/07/2003  Fix [ 760062 ] Traceback untraining a single message - typo in assert.
Tony Meyer     08/07/2003  hammiebulk: a belated patch to account for the default persistent_storage_file option changing.
Richie Hindle  07/07/2003  Added no_cache_bulk_ham option: suppresses caching of 'Precedence: bulk' ham, to stop mailing list traffic swamping the web UI's training page.
Richie Hindle  07/07/2003  Prevent the "Show clues" links on the web UI's training page from word-wrapping and making all the table rows two lines high.


Alpha Release 4
===============
Tony Meyer  04/07/2003  Fix SF#761677 ("mboxtrain.py's -n optionhas no effect")
Richie Hindle   03/07/2003  Put the current date and time into the footer of the web interface, rather than always displaying "Mon Dec 30 14:04:32 2002".
Richie Hindle   03/07/2003  Fix a bug in pop3proxy where long attachments would be broken.
Richie Hindle   02/07/2003  If an exception occurs parsing a message in pop3proxy, append an 'exception' header to the message and recover.
Richie Hindle   02/07/2003  Stop the pop3proxy including the trailing . when passing messages to the email package.
Mark Hammond	01/07/2003	Version 003 of the binary.
Mark Hammond    01/07/2003  In outlook plugin, display a message for "Delete as Spam" or "Recover from Spam" when SpamBayes is not enabled.
Skip Montanaro  01/07/2003  Encode unicode objects as utf-8 before using as a key for DBDictClassifier instances. (Fixes [ spambayes-Bugs-761670 ] Unexpected unicode key inbsd db)
Mark Hammond    01/07/2003  In Outlook plugin, toolbar was not initialized when "Outlook Today" was the default view.
Mark Hammond    30/06/2003  In Outlook plugin, don't (try to) do OnStartupComplete work if OnConnection failed.
Mark Hammond    30/06/2003  In Outlook plugin, log the repr() of messages displayed in a dialog, as they often have embedded \r\n chars - repr() keeps the whole thing to a single line.
Tim Peters  28/06/2003  A new stripper to squash yet another way of hiding content in HTML spam, like Ere<frame><noframes>ywl55</noframes></frame>ctions to hide Erections.
Tim Peters  27/06/2003  In storage.py store():  If a Shelf db doesn't have a key, then "del db[key]" should raise KeyError.
Tim Peters  27/06/2003  In storage.py store():  Use iteritems() instead of items() to materialize the changed_words guts.
Tim Peters  27/06/2003  In storage.py, check WORD_CHANGED and WORD_DELETED with is not ==.
Tim Peters  27/06/2003  Remove a superstituous check for None in storage.py (_wordinfoset()).
Tim Peters  27/06/2003  Fix a bug in storage.py (_wordinfoget()) which could cause incorrect token counts.
Tony Meyer	23/06/2003	In imapfilter, try to append without flags if appending fails.
Tony Meyer	23/06/2003	Implement SF#755098 - "Progress Indicator in imapfilter"
Tony Meyer	23/06/2003	Fix the -i switch in imapfilter.
Barry Warsaw	22/06/2003	Don't try and get password from options if -p is specified in imapfilter.
Barry Warsaw	22/06/2003	Fix an import error in imapfilter.

Alpha Release 3
===============
Tony Meyer	22/06/2003	Fix RFC822.PEEK error in imapfilter.
Neale Pickett	21/06/2003	"In hammiefilter,  make untrain mode work."
Mark Hammond	20/06/2003	"In Outlook plugin, add a 'verbose' option to the options."
Mark Hammond	19/06/2003	"In Outlook plugin, change ""Anti-Spam Manager"" -> ""SpamBayes Manager"""
Mark Hammond	18/06/2003	"In Outlook plugin, allow either spam or unsure messages to be marked as read as they are filtered."
Mark Hammond	18/06/2003	"In Outlook plugin, more work on the toolbar."
Mark Hammond	17/06/2003	2 new [General] options for Outlook plugin - delete_as_spam_message_state and recover_from_spam_message_state.
Mark Hammond	17/06/2003	"In Outlook plugin, prevent ""Deleted items"", Outbox and Sent Items from appearing in the folder list.  Fixes: [ 749277 ] Should prevent ""Deleted Items"" being target folder."
Mark Hammond	17/06/2003	"In Outlook plugin, catch the assertion error in the classifier, and warn the user their database is corrupt."
Mark Hammond	17/06/2003	"In Outlook plugin, introduce ReportErrorOnce, useful for errors on event handlers that you don't want to bombard the user with."
Mark Hammond	17/06/2003	"In Outlook plugin, an error on a single sub-folder need not be fatal.  Hopefully fixes [ 743515 ] Unable to expand folders in folder selection dialog."
Mark Hammond	17/06/2003	"In Outlook plugin, DeleteAsSpam didn't detect ""no folder"" correctly."
Anthony Baxter	17/06/2003	"In IMAPFilter interface, fix parm_map code."
Mark Hammond	16/06/2003	Split OptionsClass into a separate file.
Mark Hammond	16/06/2003	Allow lists to be used for multi-valued options.
Mark Hammond	16/06/2003	"Allow the first entry in the ""defaults"" table to be a sub-class of Option."
Mark Hammond	16/06/2003	"In Outlook plugin, when training, instead of suggesting the inbox, suggest folders we watch."
Mark Hammond	16/06/2003	"In Outlook plugin, change ""Anti-Spam"" on the dropdown to ""SpamBayes"""
Mark Hammond	16/06/2003	"In Outlook plugin, huge changes to configuration.  No longer use a pickle, but instead a series of .INI files."
Tony Meyer	12/06/2003	Update pop3proxy and imapfilter to print out version information.
Skip Montanaro	10/06/2003	Correction to VM mailer addition to spambayes.el
Tony Meyer	8/06/2003	"Add pop3proxy, hammie, smtpproxy & imapfilter version information."
Neale Pickett	6/06/2003	Integrated code for the VM mailer into spambayes.el
Mark Hammond	5/06/2003	Add a version information repository.
Mark Hammond	5/06/2003	Change Outlook plugin to use new version information repository.
Mark Hammond	4/06/2003	"In Outlook plugin, no longer default to the ""Inbox"" (see also SF#741797 ('Does not filter incoming mail'))."
Mark Hammond	4/06/2003	"In Outlook plugin, when filtering, saving the spam score is no longer fatal."
Tony Meyer	4/06/2003	"In muttrc, fix incorrect Spambayes header name."
Mark Hammond	3/06/2003	Handle malformed messages better in the Outlook plugin.
Mark Hammond	3/06/2003	"In Outlook plugin, create our own toolbar, rather than using the standard one."
Mark Hammond	3/06/2003	Fix an Outlook plugin error that would try to save the database when classifying.
Mark Hammond	3/06/2003	"Make Outlook plugin log refer to ""Spambayes"" rather than ""SpamAddin"""
Mark Hammond	3/06/2003	Use 'wait' cursor when incremental training in Outlook plugin.
Mark Hammond	3/06/2003	"In Outlook plugin, save config when dialog closes and not at shutdown."
Mark Hammond	3/06/2003	Clean up toolbar images.
Tony Meyer	30/05/2003	Added url slurper.
Mark Hammond	29/05/2003	"DB classifier keeps a list of ""changed words"" to prevent saves from updating *all* words."
Mark Hammond	29/05/2003	DB classifier doesn't cache hapaxes.
Tony Meyer	26/05/2003	Fix SF#737986 ('Message.as_string() fails.').
Tony Meyer	26/05/2003	Restore notate_to and notate_subject functionality to pop3proxy.
Tony Meyer	25/05/2003	Expose experimental ham/spam imbalance option to pop3proxy/imapfilter users
Tim Peters	25/05/2003	Restore __slots__ declaration to WordInfo object in classifier.py
Tim Peters	25/05/2003	PickledClassifier.load():  use getstate/setstate to copy the state. 
Tony Meyer	21/05/2003	Cosmetic changes to pop3proxy and imapfilter interface.
Tony Meyer	21/05/2003	"Remove the ""account for string nham/nspam"" code in classifier."
Tim Peters	19/05/2003	Catch BoundaryError when parsing messages.
Tim Peters	19/05/2003	Improve tokenisation for messages that have text that looks like Wr<!$FS|i|R3$s80sA >inkle Reduc<!$FS|i|R3$s80sA >tion
Tim Peters	19/05/2003	Decode numeric character entities in html.
Tim Peters	19/05/2003	Replace <p> and <br> tages with single blanks.
Mark Hammond	15/05/2003	The training dialog now shows a correct progress bar for the *complete* operation - training *and* scoring
Mark Hammond	15/05/2003	Fix SF#706170 ('Execute test suite fails in Outlook').
Mark Hammond	15/05/2003	Save bsddb databases after a training operation (should prevent Outlook ever saving at shutdown).
Mark Hammond	15/05/2003	Print how long each save takes (so people can complain).
Mark Hammond	15/05/2003	Keep and print some stats about how many items SpamBayes saw.
Mark Hammond	14/05/2003	Various changes to urlslurper.py
Mark Hammond	14/05/2003	Fix SF#737956 ('No hourglass when building folder lists').
Mark Hammond	14/05/2003	Fix SF#737955 ('Transient connection error disables plugin').
Tony Meyer	14/05/2003	Added missing import to UserInterface.py
Tony Meyer	14/05/2003	Increased efforts to stop browsers caching the interface pages.
Tony Meyer	13/05/2003	Added refresh button to review messages page in pop3proxy ui.
Tony Meyer	13/05/2003	"Added ""check again"" link on 'no more untrained messages page' in pop3proxy ui."
Tony Meyer	13/05/2003	"Added ""html_ui"":""display_to"" option."
Tony Meyer	11/05/2003	Fixed KeyError bug in message.py.
Tony Meyer	11/05/2003	Added SSL support to imapfilter (untested).
Tony Meyer	6/05/2003	Added getattr backwards compatibility for renamed options.
Tony Meyer	6/05/2003	IMAP Filter now deletes existing spambayes headers before training.
Tony Meyer	6/05/2003	"Added ""Storage"":""messageinfo_storage_file"" option."
Tony Meyer	6/05/2003	Fix for SF#733247 ('crash when using merged-in options').
Tim Stone	4/05/2003	Catch exception when a file in the pop3proxy cache mysteriously disappears.
Tony Meyer	4/05/2003	Fix bug stopping some messages loading into pop3proxy cache.
Tony Meyer	3/05/2003	Removed OptionConfig.py
Mark Hammond	3/05/2003	Correct usage doc with respect to default directory.
Mark Hammond	3/05/2003	Fix SF#715248 ('Pickle classifier should save to a temp file first').
Mark Hammond	3/05/2003	Formalised error reporting in Outlook plugin.
Mark Hammond	3/05/2003	"Created special handling for ""startup errors"" in Outlook plugin"
Mark Hammond	3/05/2003	Allow test suite to work with bsddb3 or bsddb.
Tony Meyer	3/05/2003	Fix invalid options names in IMAP and POP3 user interface.
Tony Meyer	3/05/2003	Fix incorrect state information displaying after configuration.
Tony Meyer	2/05/2003	Fix temp file problem with web interface on linux.
Tony Meyer	2/05/2003	Update configuration file reading so that writing uses same delimiters.
Tony Meyer	2/05/2003	Fix temp file problem with web interface on linux.
Mark Hammond	1/05/2003	Ignore the pywin.dialogs package in the Outlook plugin install.
Mark Hammond	1/05/2003	Save the database after an explicit train.
Mark Hammond	1/05/2003	Fix globals statements in url slurper.
Mark Hammond	1/05/2003	Fix testtools import in url slurper.
Mark Hammond	1/05/2003	Print url slurper status to stderr.
Mark Hammond	1/05/2003	Added socket.error catching in url slurper.
Mark Hammond	1/05/2003	Avoid slurping non html content.
Tony Meyer	1/05/2003	Fix bug where url cache would not be in the current working directory by default.
Tony Meyer	28/04/2003	Stop using IMAP uids as our ids.
Tony Meyer	28/04/2003	Fix SelectFolder bug in IMAP Filter.
Tim Stone	28/04/2003	Create IMAP session object for each login.
Tony Meyer	28/04/2003	Fix for SF#728886 ('In the pop3 UI not able to pass more than 1 server').
Tony Meyer	28/04/2003	Fix for incorrect is_boolean code in Options.py
Tony Meyer	28/04/2003	"IMAP Filter now only retrieves RFC822 headers when iterating, not whole message."
Tim Stone	28/04/2003	Moved crlf replacement from IMAP to generic message class.
Tony Meyer	27/04/2003	Minor bug fixes to Options.py
Tony Meyer	27/04/2003	Fixed configuration file reading bug forcing single space separators instead of any whitespace.
Tony Meyer	27/04/2003	Fixed Options.py bug reported by Tim Stone.
Tony Meyer	27/04/2003	Fix hammiefilter calling mergefiles instead of merge_files.
Tony Meyer	25/04/2003	Added message_from_string functions to message.py and imapfilter.py
Tony Meyer	25/04/2003	Extra error checking in IMAP Filter.
Tony Meyer	24/04/2003	"Fix SF#725307 (""Outlook plugin won't load (anymore)"")."
Tony Meyer	24/04/2003	Fix SF#725466 ('Include a proper locale fix in Options.py').
Tony Meyer	24/04/2003	Fix SF#726255 ('Problem if bayescustomize.ini not there').
Tony Meyer	24/04/2003	Moved the crlf fixing from generic message class to IMAP filter.
Tony Meyer	24/04/2003	Major rewrite of Options.py
Tony Meyer	24/04/2003	Changed options with muliple values to tuples.
Tony Meyer	24/04/2003	Fixed bug where the IMAP user interface would try to display a folder before logging in.
Tony Meyer	24/04/2003	Added convert_config_file script.
Tim Stone	24/04/2003	Fix message.py incorrectly persisting/restoring state.
Tony Meyer	24/04/2003	Fix Options.py convert and unconvert functions.
Tony Meyer	24/04/2003	Fix valid characters for IMAP username and password.
Tony Meyer	24/04/2003	Improve behaviour of convert_config_file script.
Tony Meyer	24/04/2003	Check that spam/unsure/filter folders exist in IMAP before filtering/training.
Tony Meyer	24/04/2003	Removed CompatConfigParser.py
Tony Meyer	24/04/2003	Removed UpdatableConfigParser.py
Tony Meyer	22/04/2003	Fixed is_valid method for sets.
Tim Stone	22/04/2003	Added extra verbose output in IMAP Filter.
Tim Stone	22/04/2003	Corrected counting error in IMAP Filter.
Tony Meyer	22/04/2003	Fix SF#725616 ('Options.py mergefiles crashes (+ fix)').
Tony Meyer	22/04/2003	Improved processing of fetch response in IMAP filter.
Tim Stone	21/04/2003	Cosmetic changes to the web configuration page.
Skip Montanaro	21/04/2003	Fix crlf regex in message.py
Tony Meyer	21/04/2003	Fix SF#725307 ('Outlook plugin won't load (anymore)').
Tim Stone	21/04/2003	Rewrote is_valid method in Options.py
Tony Meyer	20/04/2003	Moved pop3proxy test code into separate module.
Tony Meyer	20/04/2003	"Allow """" as a valid option if the valid values are defined by a regex and multiple values are allowed."
Tony Meyer	20/04/2003	Change imapfilter server option to pop3proxy style (i.e. server[:port])
Tony Meyer	20/04/2003	Set web interface pages to not cache.
Tony Meyer	20/04/2003	Fixed imapfilter and pop3proxy web configuration.
Tony Meyer	20/04/2003	Change the select folder config for imapfilter to two pages.
Tony Meyer	20/04/2003	Added check for parsedate failing in imapfilter.
Tony Meyer	20/04/2003	Fix the regex for the date in imapfilter.
Tim Stone	20/04/2003	Removed unnecessary imports/comments in pop3proxy.
Tim Stone	20/04/2003	Changed pop3proxy's STAT handling to return a guess at new message size.
Tony Meyer	19/04/2003	Fixed updating of configuration files.
Tim Stone	19/04/2003	Correction to regex for smtpproxy servers validation.
Tony Meyer	19/04/2003	Stop IMAP filter filtering messages marked as deleted.
Tony Meyer	19/04/2003	Copy IMAP flags along with message.
Tony Meyer	19/04/2003	Use IMAP date instead of the local one.
Tony Meyer	19/04/2003	Added utility functions to Options.py to assist people to figure out what is available.
Tony Meyer	18/04/2003	"Remove support for pop3proxy_port, pop3proxy_server_name and pop3proxy_server_port otpions (long deprecated)."
Tony Meyer	18/04/2003	Remove option to launch smtpproxy and always do this from pop3proxy (if servers are specified).
Tony Meyer	18/04/2003	Fix smtpproxy bug that would prevent mail sent in the same session as training mail being delivered.
Tony Meyer	18/04/2003	Major rework of configuration file reading/options.  Section names no longer ignored.
Tony Meyer	18/04/2003	"Moved interface code out of pop3proxy into ImapUI, ProxyUI and UserInterface.py"
Tim Stone	18/04/2003	Added web interface support to imapfilter.
Tim Stone	18/04/2003	Only start browser if required in imapfilter.
Tony Meyer	18/04/2003	Fix for time retrieval in imapfilter when the date header is missing.
Tony Meyer	18/04/2003	Change the line endings fix (pop3proxy/imapfilter) to a more robust one (from smtplib).
Tim Stone	18/04/2003	Converted pop3proxy to use message.py.  (notate-body is no longer working)
Mark Hammond	18/04/2003	Fixed Outlook plugin to work in non-English locales.
Tim Stone	17/04/2003	Corrected newline mangling in imapfilter.
Tim Stone	17/04/2003	Corrected folder comparison operator in imapfilter.
Tim Stone	17/04/2003	Refactored functionality into an IMAPSession class.
Tim Stone	17/04/2003	Added -p option for password prompt in imapfilter.
Tim Stone	17/04/2003	Corrected imapfilter training error which would result in no training being done.
Tim Stone	17/04/2003	Corrected an error in the timed loop that unnecessarily kept imap sessions open.
Tim Stone	17/04/2003	Moved the header repaid regex into the message class.
Tony Meyer	17/04/2003	Added ConfigParser from Python 2.3 which solves many problems in the 2.2 version.
Tony Meyer	17/04/2003	Updated UpdatableConfigParser to use new 2.3 ConfigParser.
Tony Meyer	16/04/2003	Fix an imapfilter invalid date problem.
Tim Stone	14/04/2003	Fixed the imapfilter docstring not printing.
Tim Stone	14/04/2003	Changed imapfilter -e argument to y/n.
Tim Stone	14/04/2003	Added -l argument to imapfilter allowing looping.
Tim Stone	14/04/2003	Correctly extract timestamp for new messages in imapfilter.
Tim Stone	13/04/2003	Raise an error if message.py is asked to remember an unknown classification.
Tim Stone	13/04/2003	General cleanup of imapfilter.
Tim Stone	13/04/2003	Remove old message ids from the message info db when using imapfilter.
Skip Montanaro	13/04/2003	Fix train() in mboxtrain.
Tony Meyer	13/04/2003	Fix for user interface showing incorrect server strings when using pop3proxy_service.
Tony Meyer	13/04/2003	Various speed improvements to imapfilter.
Tim Stone	12/04/2003	Functional version of the imapfilter.
Tim Stone	10/04/2003	Made base message class more abstract and added a SBHeaderMessage class.
Tim Stone	10/04/2003	Made imapfilter use the new message class.
Tony Meyer	9/04/2003	Update imapfilter to reflect message class changes.
Tony Meyer	8/04/2003	Introduce a IMAPMessage class based on the spambayes Message class.
Tony Meyer	8/04/2003	Introduce an iterable IMAPFolder class.
Tony Meyer	8/04/2003	Allow filtering of multiple folders in IMAP filter.
Tim Stone	8/04/2003	Added methods to message.py to support copying one message to another.
Tim Stone	8/04/2003	Added logic to imapfilter to ensure that classification and training memory is preserved.
Tony Meyer	7/04/2003	First check-in of IMAP filter.
Tim Stone	7/04/2003	First check-in of message.py
Tim Stone	7/04/2003	Changed imapfilter to use the message class.
Tony Meyer	3/04/2003	Expire messages from the unknown pop3proxy cache as well as ham/spam caches.
Tony Meyer	3/04/2003	"Kick off expiry check each time a client connects to the proxy rather than on startup, for those who have the proxy stable!"
Tony Meyer	3/04/2003	"Add ""show clues"" button to the review message page in pop3proxy ui."
Tim Stone	28/03/2003	Unicode print error fix in notesfilter.
Mark Hammond	23/03/2003	Fix SF#707491 ('Pop3 proxy service code for Windows doesn't work...').
Mark Hammond	20/03/2003	Ensure database is saved before testing outlook plugin.
Mark Hammond	20/03/2003	Fix error in testing outlook plugin (getting wrong end of sorted list).
Tim Stone	20/03/2003	Added SF#703283 ('mboxtrain only trains on cur in maildir').
Mark Hammond	18/03/2003	Ensure all buttons are greyed during filter process in Outlook plugin.
Mark Hammond	18/03/2003	When running Outlook plugin from a binary redirect output to a log.
Mark Hammond	18/03/2003	Version 002 of the binary.
Mark Hammond	17/03/2003	"Warn, but ignore errors walking the folder tree in Outlook plugin."
Mark Hammond	17/03/2003	"Fix SF#704921 ('""Train now"" (outlook) fails ')."
Mark Hammond	17/03/2003	Prevent a single error filtering a message from stopping the whole filter process in Outlook plugin.
Mark Hammond	16/03/2003	Allow messages to be scored after training in Outlook plugin.
Mark Hammond	16/03/2003	Fix bug in Outlook plugin where filter operation report was reporting incorrect total.
Tony Meyer	13/03/2003	Revert Options.py to ConfigParser from UpdatableConfigParser.
Mark Hammond	12/03/2003	Added pop3proxy_service.py
Tony Meyer	12/03/2003	"Update web ui so that boolean options are radio buttons rather than text boxes, and multiple choice options are checkboxes."
Tony Meyer	12/03/2003	Separated out pop3proxy options and header options in pop3proxy web ui.
Tony Meyer	12/03/2003	Adds UpdatableConfigParser.
Tony Meyer	12/03/2003	Changes Options.py to use UpdatableConfigParser rather than ConfigParser.
Tony Meyer	11/03/2003	Fixes a bug in pop3proxy/smtpproxy where headers will appear in the message body.
Tony Meyer	10/03/2003	Added level & evidence headers in pop3proxy.
Mark Hammond	9/03/2003	"Correct ""data"" directory location in export.py."
Tony Meyer	9/03/2003	Added pop3proxy include_prob option to (optionally) note the score/prob in the classification header.
Tim Stone	9/03/2003	"Added configuration for pop3proxy include_prob option, add_mailid_to and strip_incoming mailIds options."
Tim Stone	8/03/2003	Fix SF#700165 ('MoveFileEx doesn't exist on Win98').
Tim Peters	8/03/2003	List unique tokens one per line in Outlook plugin's ShowClues.
Mark Hammond	7/03/2003	Handle MAPI exceptions better in Outlook plugin.
Mark Hammond	7/03/2003	"Centralise detection of ""not found"" exceptions in Outlook plugin."
Mark Hammond	7/03/2003	Supress errors in outlook plugin when hotmail connector can't save the message.
T. Alexander Popiel	7/03/2003	Added another regime to regimes.py.
Tim Stone	6/03/2003	Added SF#690928 ('turn off saving messages in popproxy').
Skip Montanaro	6/03/2003	Catch extra exception in header parse errors.
Tim Stone	6/03/2003	"Fix SF#698852 (""can't classify messages"")."
Mark Hammond	4/03/2003	Fix a Outlook plugin bug that could cause incorrect word scores to be used/saved when a bsddb database is used.
Mark Hammond	4/03/2003	Remove unused 'wordcache' instance variable in storage.py.
Mark Hammond	4/03/2003	Show all tokens in message when showing clues in Outlook plugin.
Mark Hammond	4/03/2003	"Fix a bug in the Outlook plugin test code that used *all* ham/spam words, not just top 50."
Mark Hammond	4/03/2003	"Only remember source folder when filtering, not just scoring in Outlook plugin."
Mark Hammond	4/03/2003	"Only attempt to create ""Spam"" field on a mail item in Outlook plugin."
Mark Hammond	4/03/2003	If no items are found in Outlook plugin don't attempt to recurse folders.
Mark Hammond	4/03/2003	Fix SF#696476 ('Manual filtering in outlook fails').
Mark Hammond	4/03/2003	Fix SF#697120 ('Manual filtering in Outlook (still) fails').
Jeremy Hylton	4/03/2003	Band-aid decode_header() in pop3proxy.py
Mark Hammond	3/03/2003	Fix manager.py calling shutil.move (does not exist pre Python 2.3).
Mark Hammond	3/03/2003	Fix SF#696995 ('Invalid HTML comments are not ignored').
Skip Montanaro	3/03/2003	Note when subject charset is invalid (rather than raising an exception).
Tony Meyer	2/03/2003	Added support to smtpproxy for extracting an id in a Mozilla style forwarded message (HTML table).
T. Alexander Popiel	1/03/2003	"Add option to mkgraph to spit out counts *or* error rates, and n-day averages *or* cumulative."
Tony Meyer	1/03/2003	Small modifications to smtpproxy related pop3proxy options.
Tony Meyer	1/03/2003	Expose options for adding an id to incoming mail in pop3proxy.
Tony Meyer	1/03/2003	Expose options for using smtpproxy.
T. Alexander Popiel	28/02/2003	Put all regimes into regmies.py.  Define fpfnunsure and fnunsure regimes.
T. Alexander Popiel	28/02/2003	Fix name conflict between regimes list and regimes source file in incremental.py
T. Alexander Popiel	28/02/2003	Reduce the amount of progress output in incremental.py
Tony Meyer	27/02/2003	"Add options to add an id (as a header or in the body), strip such ids from incoming mail, find a message via the id, train messages by forwarding/bouncing to smtpproxy."
Tony Meyer	27/02/2003	First check in of smtpproxy.
T. Alexander Popiel	27/02/2003	"Added various files relating to incremental training (or ""self training"") regimes."
Tim Stone	27/02/2003	Fix SF#693423 ('email message generates error in pop3proxy.py').
Mark Hammond	26/02/2003	"Fix bug in dbmstorage.py for Python 2.2, which tried bsddb3 twice if it failed."
Tim Stone	25/02/2003	First check in of Lotus Notes filter.
Tim Stone	25/02/2003	Add option for pop3proxy to notate Subject: header.
Tony Meyer	25/02/2003	Fix bug in Corpus.get() which would never return the default value.
Mark Hammond	18/02/2003	"Store Outlook plugin files in the ""correct"" Windows directory."
Neil Schemenauer	16/02/2003	Add -c and -d options to mailsort.py.
Neil Schemenauer	16/02/2003	First check-in of dump_cdb.py
Mark Hammond	13/02/2003	Add SF#685746 ('Outlook plugin folder list sorted alphabetically').
Mark Hammond	13/02/2003	Handle exceptions when opening folders in Outlook plugin better.
Skip Montanaro	13/02/2003	Split BAYESCUSTOMIZE environment variable using os.pathsep.
Mark Hammond	12/02/2003	Check for correct exception when removing file in Outlook addin.
Mark Hammond	12/02/2003	Check for bsddb3 before bsddb (previously bsddb3 would never be found).
Tim Stone	10/02/2003	Changed BAYESCUSTOMIZE environment varaible parsing from a split to a regex to fix filenames with embedded spaces.
Tim Stone	8/02/2003	Ensure that nham and nspam are instances of integer in dbExpImp.py
Tim Stone	8/02/2003	Ensure that nham and nspam becoming strings doesn't break classification.
Tim Stone	8/02/2003	Added ability to put classification in subject or to headers (for OE).
Mark Hammond	7/02/2003	Fix some errors using bsddb3 in Outlook plugin.
Mark Hammond	4/02/2003	"Fix SF#642740 ('""Recover from Spam"" wrong folder')."
Mark Hammond	3/02/2003	Change train.py to be able to work with a bsddb database.
Mark Hammond	3/02/2003	If a new bsddb or bsddb3 module is available use this instead of a pickle in the Outlook plugin.
Mark Hammond	3/02/2003	Add tick-marks to the filter dialog.
Mark Hammond	3/02/2003	Fix SF#677804 ('Untouched fitler command error').
