[ISO-8859-1]

v2.1.0.2a
   - A change in the build environment was corrupting the binaries on linux
   - While searching for the cause of the problem, a part of the code has been optimized

v2.1.0.2
   - New: PolluStop now adds a X-Orig-Return-Path header along with the X-PolluStop normal headers, to allow training from Outlook (which strips the Return-Path header)
   - New: PolluStop don't add its header when the exact same header can be found in the message (for instance, whe message is redirected to another account through rules)
   - Fixed: Minor bug in List account names processing, list-action wasn't considered as list. No real incidence, since only list-request and list-admin will pass through pollustop
   - Removed the url from the X-PolluStop header, was not very useful and was cluttering headers

v2.1.0.1
   - Fixed: PolluStop can crash on startup with very specific CGPro server settings

v2.1
   - Fixed: If an alias is used for Pop, PolluStop may fail to resolve the filesystem path of the account
   - Fixed: After machine reboot, PolluStop may think another PolluStop instance is running if a process has the same pid than a pre-reboot pollustop instance
   - IPC info file is relocated in the default temp directory (%temp% on Windows, /tmp on other platforms)
   - Fixed: In PolluStop package (tar files), files rights weren't set correctly
   - Added security code to be sure all response are sent properly to CGPro, even when a response text or comment is missing a newline. This could cause CGPro to shutdown PolluStop repeatedly.
   - Fixed: Drop Mailboxes settings validity is checked on commit even if Drop Mailboxes are disabled

v2.1 RC2
   - Fixed: PolluStop X- Headers are all on a single line (too much escaping)
   - Fixed: Default setting m_interestingthreshold value is incorrect
   - Fixed: Learning from attached messages can fail for invalid reasons
   - Fixed: A new license smaller than the current requirements can't be applied and is rejected with an erroneous message
   - Fixed: License page numbers are not updated immediately
   - Fixed: Changed settings are not reloaded when filtering is disabled
   - Fixed: "Multiple recipients" bounce error message is not customizeable

v2.1 RC1
   - Fixed: CGPro Router entries can't be read properly if they don't end with a newline character
   - Fixed: PolluStop license is not updated properly when new license is entered on the License page
   - Fixed: PolluStop now uses settings instead of separate files to store a few more internal states
   - Fixed: A small style problem in webadmin pages
   - Fixed: Forward as attachment wasn't working properly
   - Fixed: Learn bounce messages was not formatted properly
   - Fixed: The Filter page auto-applies the change to the "Scan all local domains" drop-down
   - Fixed: Training from a mbox-type Mailbox can abort on a big message, letting PolluStop ignore messages after this point
   - The webadmin pages text has been reviewed and corrected
   - Changed the path of the ipc info file, it will now be written in [cgpro files]/pollustop.pid
   - Added locks to avoid harmless crash on shutdown if PolluStop was still learning from files

v2.1 beta 5c
   - Fixed: PolluStop can crash if a message put in the drop box doesn't contain a Return-Path

v2.1 beta 5b
   - Fixed: Aliases creation in the wizard can't complete
   - Fixed: PolluStop can stop itself after two seconds if no settings file is present

v2.1 beta 5a
   - Fixed: OSX installation can't read dataset files
   - Fixed: Error in a few warning messages
   - Fixed: The CLI module doesn't get its new settings immediately when the Passwords page is submitted

v2.1 beta 5
   - New: The Initial Setup Wizard is implemented
   - New: Text hidden by HTML tricks such as using <title> tags, prepending an invalid < character, or text in html comments is now ignored by the filter.
   - New: [Experimental] White text on white background is now ignored by the filter.
   - Fixed: The MessageID disk database was triggered 1024x too early
   - Fixed: The name of the in-memory MessageID database savefile was not correct
   - Published a new spam database
   - When a message is send to pollustop-spam or pollustop-good and used for additional training, the From and To fields of the message are not considered
   - Sending a message to pollustop@yourdomain is now possible if the original message is sent as an attachment.
   - Added auto-blacklist and auto-whitelist based on dropped messages and messages sent to the filter as an attachement
   - Added the possibility to configure the bounce message of PolluStop

v2.1 beta 4b
   - Fixed: Error in the Last Startup date of the Statistics module
   - Fixed the /version URL to get PolluStop's current version number

v2.1 beta 4a
   - Fixed: Whitelist and Blacklist config page could crash PolluStop

v2.1 beta 4
   - Fixed: Statistics' scanned count is not properly reloaded on filter startup
   - Fixed: Forwarding option (for training) were not working properly, the filter_uselearnsettings was taken backwardsI
   - Added Last Reset Date and Last Startup Date to statistics. Existing statistics will be reset upon beta 4 installation
   - Implemented Date functions in the page renderer
   - Implemented basic Whitelist and Blacklist
   - The HTTP listener port (for the webadmin interface) can now be changed directly in the webadmin interface
   - Added an option to use APOP or not use it for PWD access.
   - Added an option to stop PolluStop from using CLI.
   - Recoded the POP fetcher, better error handling

v2.1 beta 3
   - NEW: Explicit user relay entries (no wildcard) can now be included in the scanned accounts
   - Modified the Mutex objects used in non-Win32 platform to match the behaviors of the Win32 mutexes.
   - Mutexes has been choosen to be recursive to prevent self-deadlock of a thread and simplify code and mutex management
   - Faster integrity check at filter startup
   - Code cleanup, removed c-style functions in favor of C++ classes (yes, I know it you reader don't really care about this...)

v2.1 beta 2
   - Fixed: PolluStop can deadlock on a Mutex under certain conditions, not all OSes are affected.
   - Increased by one character the length limit of the SubjectPrefix parameter (now 16)
   - Maked sure the HTTPd listener is closed before exiting the filter
   - In the Password page, the webadmin Password is now saved even if there's a CLI error

v2.1 beta 1
   - Implemented WebAdmin module
   - Implemented Statistics module
   - Implemented Message ID History
   - Implemented Invisibility detection (experimental)
   - Implemented Long Tokens Sequence detection
   - Implemented Cluster support (some parts has to be disabled; requires a special license)
   - Changed the format of the settings file, more computer-readable
   - Changed the format of the database, it takes about 30% less place in memory
   - Removed AutoTrain mode, was causing problems and database instability, and wasn't compatible with new enhancements
   - When ScanGroups is not set, a group specified in the scan list will still be scanned. Same thing for Lists and Forwarders
   - Added partial protection against | separators (ex: cal:s)
   - All settings and license files are now stored with the database, in the [pollustop]/data subdirectory

v2.0.0.6
   - PolluStop router module now accepts router entries with a % instead of a @
   - Added CheckMoreThanReturnPath feature. When you're not using SMTP AUTH, people can send you mail in your behalf, and this may trick Pollustop in
      not scanning the mail. If you enable this setting, PolluStop verifies other things to determine the sender. Leave it disabled if you use SMTP AUTH.

v2.0.0.5
   - Changed the parser flags to generate a 8-bits parser

v2.0.0.4
   - Fixed a small display problem in the Warning messages.
   - Added PGP check and tweak (EXPERIMENTAL)
   - PolluStop now waits for the first INTF command to initialize itself to be sure CGPro is done reading its settings files (to avoid sharing violation)

v2.0.0.3
   - Added Encrypted Zip detection in the FindAttachments module
   - Modified the Router to make it stop matching domain when the domain is final

v2.0.0.2
   - Fixed the Router Parser, was not able to read the router entries when the first entry was a new line or a comment

v2.0.0.1
   - Fixed the Ignore flag on learning modes
   - Fixed the MessageCount on Unlearn mode (was increased instead of being decreased)
   - People that used Unlearn mode or used -i flag while doing training can redo the training from scratch for more accuracy.

v2.0
   - Recreated the default Spam database from scratch. Enhanced the cleanup process.
   - Separated package in two: binaries and database. *nix packages are now made with tar and gzip and should contain correct exec permissions
   - Fixed a small display bug in debug mode
   - Fixed: An empty [Ignore] instruction in the settings file could remove the main domain from the scanned list
   - Fixed: An empty [Scan] instruction in the settings file could add the main domain to the scanned list
   - Fixed: A bug in lockfiles prevented second instance of the same installation on non-Win32 platforms
   - Added a math feature to protect against the now common "accented words" attack (New setting, DoubleCheckWithoutAccents)
   - Added a math feature to reduce the bias caused by the To/CC fields and the shared database (New setting, OnlyAllowHighTOCCTokens).
   - Removed ConfidenceLevel setting, replaced by NewWordConfidenceOnRare, another concept
   - HTML entities like "&eacute;" are now converted to the equivalent character before token evaluation
   - Successful testing with Communigate Pro 4.2b6
   - Fixed a problem in router parser with PIPE entries
   - A few changes in default settings, a complete review of your existing configuration is strongly recommended

v2.0 Release Candidate 3
   - Integrated the enhanced threading and platform-independant library developed for another filter.
   - Fixed a bug in licensing.
   - Added a multi-process protection in licensing.
   - Added three new settings (ScanGroups, ScanForwarders, ScanLists) for people who doesn't want to include these in their license size
   - Fixed a timing bug to increase the delay between server info calculations
   - Fixed some typos in log messages

v2.0 Release Candidate 2
   - The OS-independent library has been updated, introducing its optimizations into PolluStop (file access and information query)
   - Fixed a small glitch that causes PolluStop to reload the router information for each message received (bug introduced in rev 2)

v2.0 Release Candidate 1 rev 2 (Win32 only)
   - Modified the thread library wrapper, the locking objects were not reliable. Since there's no wrapper in the *nix versions, this bug doesn't affect them.

v2.0 Release Candidate 1 rev 1
   - Added a syntax condition to the router parser for a case not specified in CGPro documentation

v2.0 Release Candidate 1
   - Filter/Scan: lines are not interpreted anymore when ScanAllLocalDomains is set
   - Remplaced Genera/ScanInternal by ScanFromLocalScanned & ScanFromLocalNonScanned
   - Modified a few strings
   - The builtin Attachment Finder has been updated with the new features of Find_Attachments v1.06
   - Fixed detection of GB2312 & Windows-1251/2 character sets
   - Fixed domain alias parsing
   - Now using Communigate Pro router entries (with settings file and domain aliases) to determine the path of a message
   - New log level (debug) added (undocumented)
   - New mode (router test) added (undocumented)
   - Fixed SubjectPrefix (discrepancy between doc and setting, and the value was hardcoded)
   - Fixed Endianness of database bytes on Solaris (Sparc) - the database is now transferable from i386 to sparc
   - Added a new supported platform: Solaris (i386)

v2.0 public beta 7 rev 1
   - Fixed Modify Subject feature to avoid incorrect relaying.
   - Unlicensed/Standalone mode doesn't try anymore to match Domains and Account settings with existing domains and accounts
   - Added a warning when database is not trained enough (< 1000 messages in Good or Spam database)

v2.0 public beta 7
   - Fixed Diagnostic mode (dump all was crashing)
   - Messages to external users with names similar to [LEARN-Prefix] were treated by pollustop as control messages.
   - Added a lockfile to avoid multiple instance of the same database loaded
   - Added "Local" Drop directory. You can now put things in [pollustop path]/Drop/Spam and [pollustop path]/Drop/Good, the current running instance will take care of them.
   - From now, if you try to une the Learn feature and there's already a pollustop instance running with the same database, the learn request is transferred to the running instance that will take care of it in the DropMailboxes thread.
   - Added the possibility to modify the Subject line when the message score is high enough

v2.0 public beta 6 rev 1
   - Fixed Forward To Learn feature

v2.0 public beta 6
   - Added "ALL" to Filter settings
   - Removed "SCANRELAY" and "SCANOUTBOUND" from general settings,
     can't really be used or useful and were causing problems and support questions.
   - Better handling of non-ASCII characters in tokens
   - Added MATH.GOODIMPORTANCE setting to give additional importance to Good corpus.
   - Context Tagged tokens, helps the filter to determine the part of the message where the token comes from
   - Now filters with To and CC fields too, along with Subject.
   - Completely rewrote the Settings file
   - Tokens are now case sensitive,
   - Internal "timeout", the filter stops scanning after a preset number of line to avoid CGP timeout
   - Tokens polymorphism
   - "Interesting" tokens threshold
   - A lot of new settings
   - DropMailboxes separate process no longer exists, now multithreaded.

v2.0 public beta 5 revision 1
   - Fixed a crash occuring with euc-kr character set

v2.0 public beta 5
   - Fixed bug with POP retrieval on linux/osx/freebsd. CRLF issue.
   - Fixed bug that prevented PolluStop training from .mbox files
   - Small other optimisations
   - USETOCCMATCH is now disabled by default

v2.0 public beta 4
   - Fix bug about opened filehandles. Some were not closed and after a while (depending on
     the number of domains in the server) the process was running out of filehandles.
   - Fixed another bug regarding licensing check. Was done too often.

v2.0 public beta 3
   - Fixed database compatibility between Intel and Motorola platforms (endianness)
   - Fixed problems while reading POP message if the message contained NULL chars
   - Small bugfix in licensing module. New licenses are required.

v2.0 public beta 2
   - "Floating Point Exception" bug on training fixed.
   - Settings parser problem with tab characters fixed
   - Integrated changes made to Find_Attachments (v1.04->v1.05)

v2.0 public beta 1
   - First public release of PolluStop

[...]

v1.0
   - First release of PolluStop, perl version