This file covers the major changes between each release.  For more details,
the reader is referred to the changelog (CHANGELOG.TXT in the main directory
of the archive), or for extreme details, to the check-ins archive (see
<http://mail.python.org/pipermail/spambayes-checkins>)
                                                                   
This is a bugfix release, so there are no new features, and you do not need
to do anything to migrate to the new release (other than install it).  There
are no incompatible changes.

Barring any unexpected problems with this release or the forthcoming 1.1
release, it is likely that this will be the last release in the 1.0.x series.

New in 1.0.3
============

1.0.3 fixes two problems with 1.0.2 - firstly, as a result of building with
Python 2.4, the Microsoft file mscvr71.dll must be distributed with SpamBayes,
which was not done in 1.0.2 (so those without an existing copy would not be
able to use the binary).  In addition, a bug with a web interface fix meant
that headers would contain data like '&lt;' instead of '<'.  This has also
been fixed.

Since 1.0.2 was only around for about a day, this file also details changes
from 1.0.1.

New in 1.0.2
============

 o The SpamBayes 1.0.2 binaries (for users of the Windows installers) are
   built with Python 2.4 (earlier versions used Python 2.3).  The most
   significant effect of this is that this should solve all email parsing
   problems for non-Outlook users (those messages that previously failed
   to classify and had a X-Spambayes-Exception header added).  Both the
   Outlook plug-in and sb_server should also be (nearly unnoticeably)
   faster, as well.

 o Similarly, all SpamBayes 1.0.2 scripts should work correctly with Python
   2.4 (for those running from source), as well as Python 2.3 and Python 2.2
   (now including 2.2.0 and 2.2.1) as previously.

 o The web interface has been fixed to correctly handle subject lines and
   configuration file names that include the characters &, <, and >.

 o AUTH-Digest authentication for the web interface has been fixed and should
   now work correctly.

 o The web interface had a bug where changing any options via the
   configuration pages would mean that some options were reset to their
   default values until the next time that sb_server was reloaded.  This bug
   has been fixed.

 o The reasonably common problem with sb_imapfilter, Mac OS X and
   MemoryErrors is hopefully fixed (although we have not been able to
   verify this).


Reported Bugs Fixed
===================
The following bug tracked via the SourceForge system was fixed:
    1078923
More details regarding this bug can be found at:

  http://sourceforge.net/tracker/index.php?func=detail&group_id=61702&atid=498103&aid=1078923

As this is a bugfix release, no feature requests or patches tracked via the
SourceForge system were added.


Deprecated Options
==================

The following options are still deprecated and will be removed in the 1.1
release:
  o [Tokenizer] generate_time_buckets
  o [Tokenizer] extract_dow
  o [Classifier] experimental_ham_spam_imbalance_adjustment

We recommend that you cease using these options if you still are.  If you
have any questions about the deprecated options, please email
spambayes@python.org and we will try and answer them.


Experimental Options
====================

We would like to remind users about our set of experimental options.  These
are options which we believe may be of benefit to users, but have not been
tested throughly enough to warrent full inclusion.  We would greatly
appreciate feedback from users willing to try these options out as to their
perceived benefit.  Both source code and binary users (including Outlook)
can try these options out.

To enable an experimental option, sb_server and sb_imapfilter users should
click on the "Experimental Configuration" button on the main configuration
page, and select the option(s) they wish to try.

To enable an experimental option, Outlook plug-in users should open their
"Data Directory" (via SpamBayes->SpamBayes Manager->Advanced->Show Data Folder)
and open the "default_bayes_customize.ini" file in there (create one with
Notepad if there isn't already one).  In this file, add the options that
you wish to try - for example, to enable searching for "Habeas" headers,
add a line with "Tokenizer" and, below that, a line with
"x-search_for_habeas_headers:True".

More information about the experimental options and how to enable them
can be found at:
  http://spambayes.org/experimental.html

If you have any queries about the experimental options, please email
spambayes@python.org and we will try and answer them.
                                                          
Experimental options that are currently available include:
  o [Tokenizer] x-search_for_habeas_headers
  o [Tokenizer] x-reduce_habeas_headers
    These generate tokens based on the Habeas headers (see
    <http://habeas.com> for more details).
  
  o [Classifier] x-use_bigrams
    By default, SpamBayes uses unigrams tokens that are basically
    single words (split on whitespace).  This option enables both unigrams
    and bigrams (pairs of words), but uses a 'tiling' scheme, where only
    the set of unigrams and bigrams that have the strongest effect on
    the message are used.  Note that this option will no longer be
    experimental (although still off by default) with 1.1 - we recommend
    that you try it out if you want higher accuracy.

  o [URLRetriever] x-slurp_urls
  o [URLRetriever] x-cache_expiry_days
  o [URLRetriever] x-cache_directory
  o [URLRetriever] x-only_slurp_base
  o [URLRetriever] x-web_prefix
    If these are used, if a message is scored as 'unsure', and could use
    more tokens in its classification, then text from any URLs in the
    message is retrieved and used, if it makes a difference to the
    classification.

  o [Tokenizer] x-pick_apart_urls
    Pick out some semantic bits from URLs.

  o [Tokenizer] x-fancy_url_recognition
    Recognize 'abbreviated' URLs of the form www.xyz.com or ftp.xyz.com as
    http://www.xyz.com and ftp://ftp.xyz.com, respectively.  This gets rid
    of some fairly common "skip:w NNN" tokens.
