LWN.net Logo

bogofilter-0.92.6 - New Stable Release

From:  David Relson <relson-AT-osagesoftware.com>
To:  undisclosed-recipients:;
Subject:  bogofilter-0.92.6 - New Stable Release
Date:  Fri, 27 Aug 2004 13:53:37 -0400


Bogofilter is a mail filter that classifies email as spam or ham
(non-spam) by a statistical analysis of the message's header and content
(body).  The program is able to learn from the user's classifications
and corrections.

The statistical technique is known as the Bayesian technique and its use
for spam was described by Paul Graham in his article "A Plan For Spam". 
Gary Robinson, in his weblog Rants, suggests some refinements for
improved discrimination between spam and ham.  Bogofilter's primary
algorithm uses the f(w) parameter and the Fisher inverse chi-square
technique that he describes.

Bogofilter is run by an MDA script to classify an incoming message as
spam or ham (using wordlists stored by BerkeleyDB).  Bogofilter provides
processing for plain text and html, supports multi-part mime message
with decoding of base64, quoted-printable, and uuencoded text and
ignores attachments, such as images.

Bogofilter is written in C.  Supported platforms: Linux, FreeBSD,
Solaris, OS X, HP-UX, AIX, RISC-OS, OS/2, ...

******* ******* ******* ******* *******

Bogofilter-0.92.6 has been promoted to "stable" status.  See the
BOGOFILTER NEWS (below) for all the changes since bogofilter-0.17.5 -
the previous major stable release.

Files are available at http://sourceforge.net/projects/bogofilter for
download.

Here are the md5sums for the release:

b63823ee96bc3899da4e392e3c77f231  bogofilter-0.92.6-1.i586.rpm
18cd095a6f426a52edea205b1c947271  bogofilter-0.92.6-1.src.rpm
502b42c1c35a243baff100c44258b82f  bogofilter-0.92.6.tar.bz2
1c5e4b2f1c6b2da69479b3dcc03bc407  bogofilter-0.92.6.tar.gz
5c7de0d55386e0b76b0bb0b9f45d96ef  bogofilter-static-0.92.6-1.i586.rpm

			       =================
				BOGOFILTER NEWS
			       =================

Caution: If upgrading from an old version and skipping several
intervening versions of bogofilter, be smart and verify that the new
version is working for you before putting it into production.
Bogofilter's developers recommend that you run a few manual command
line tests.  Use options, config files, and wordlists from your
production environment.  This will help ensure that the new version of
bogofilter is working properly.

0.92.6	2004-08-22

* Revise "-QQ" output so it can be used (unchanged) in a config file.
* Remove obsolete "--with-db" option from configure.ac

0.92.5	2004-08-20

* Improve documentation of '-B' and '-y' options.
* Validate dates used with '-y'.
* Diagnose missing wordlist specification.

* Cross reference man pages to one another.
* Expanded discussion of long options in bogofilter's man page.
* Added "-QQ" option to bogofilter to display extended parameter list.

* OS/2 compatibility changes (contributed by Yuri Dario).
* Removed obsolete test output files - combined.out, separate.out, and
  degen.out

* Documentation update.  Sample configure commands now use
  option --with-libdb-prefix rather than obsolete --with-db.
* Added "--wordlist" to bogofilter's help output.
* Minor clean-ups for bogofilter's help output.

* Merged files RELEASE.NOTES-0.1? into cumulative RELEASE.NOTES file.
* Removed files CHANGES-0.1? as they duplicate info in NEWS.

0.92.4	2004-07-29

* Warn on invalid options, rather than exit.

0.92.3	2004-07-27

* Revise enums and regression tests for new format characters
  %A, %I, %Q.

* Strip bogogrep_static executable to reduce binary rpm size.

* Remove initialize() function in bogoconfig.c and use
  lexer_init() in lexer.c, which provides same functionality.

0.92.2	2004-07-11

* Use an explicit inputs/outputs directory list to avoid shipping test
  files in those directories.

* Miscellaneous cleanups, removed 'degen' code remainders.

* Formatting character changes:
  '%A' is now the message's IP address.
  '%I' is now the Message-ID.
  '%Q' is now the Queue-ID.

* bogofilter-faq.html:
  corrected editting error that deleted "asian spam" question
  added answer to "multi-user" question.

* Fix self-test suite ("make check") when bogofilter is compiled
  with QDBM or TDB as the data base engine.

* Remove obsolete '-f' from t.valgrind, too.

0.92.1	2004-07-01

* Remove 'g', 'r', and 'f' from bogofilter's OPTIONS list as
  there's only one scoring algorithm.

* Removed obsolete occurrences of '-g' and '-f' from
  regression tests.

* Revised README file.

* French version of FAQ updated.
* Rewrote code for identifying message's originating IP address.
* Changed name of variable 'ipaddr' to 'msgaddr'.
* Added t.msgaddr to regression test.

* Fixed db_init/db_cleanup problems encountered with multiple
  wordlists and concurrent data stores.

0.92.0	2004-06-26 - Stable Release

* Fixed problem recognizing empty line ending of header in
  files with CRLFs and X-Bogosity line as last header line.

* Added ESF options to bogofilter's and man page.
* Revised man pages' description of multi-parameter options.

* t.lock3 regression modified for solaris shell compatibility.

0.91.4	2004-06-20

* Fix abort during db_open (ds_open wasn't first calling
  ds_init).
* Added regression test t.lock3 for this fix.
* Revise datastore and database levels so that each level
  calls its own init() and cleanup() routines.

0.91.3	2004-06-15
	
* Added format specification '%I' to allow logging of the IP
  address from which an email was received.

* Avoid "Invalid buffer size, exiting." problems by discarding
  text from an excessively long html tag.

0.91.2	2004-06-11

* FAQ updated with info on multiple wordlists and ignore
  lists.
* FAQ updated with info on building as non-root user.

* Bogofilter's creation of new wordlists now includes
  .WORDLIST_VERSION token.
* Fix erroneous double opening of wordlists specified on
  command line.
* Corrected tests so that "make check" passes with qdbm and
  tdb.

* Fix included GSL compile for compilers that do not support
  "extern inline", such as Compaq C V6.3.

0.91.1	2004-06-04

* Use named constants for wordlist 'type' attribute to
  distinguish open modes of READ, WRITE, and CREATE so
  bogofilter will include .WORDLIST_VERSION in new database.
* Add DS_LOAD flag so bogoutil won't add .WORDLIST_VERSION
* Modify regression tests to use bogoutil to create empty
  wordlists (as needed).

* Fixed registration.  When multiple wordlists are specified,
  registration is to first regular wordlist.
* Added regresstion test for multiple wordlists.

* Modify contrib scripts so they're sh compatible.
* Fix problem when bogofilter's home is a symlink.
* Fix problems with not expanding tildes.

0.91.0	2004-05-22

* Add ignore list capability.
* Revive and revise multiple wordlist code.
* Increase width of 'count' column for -vvv output.
* Cleanup variable names in database open() code.

0.90.0	2004-05-09

* Lower output precision for regression tests, by using %f
  rather than %e, to mask differences between GSL versions.
* Updated TODO list and procmailrc.example

* Added code for Robinson's Effective Size Factor (ESF) 
  to score.c, bogotune.c, bogofilter.cf.example, etc.
* Added '-E' options to bogotune to suppress ESF scan.
* Revised bogotune's parameter ranges.

* Remove unreferenced enum wl_e.
* Add .WORDLIST_VERSION meta symbol.
* Change subnet prefix from url: to ip:
* Add -u switch to bogoutil to do wordlist upgrade.
* Add regression test t.upgrade.subnet.prefix

* Added code for Robinson's Effective Size Factor (ESF) 
  to score.c, bogotune.c, bogofilter.cf.example, etc.
* Added '-E' options to bogotune to suppress ESF scan.
* Revised parameter ranges for coarse scan.

* Changed list address in FAQ to bogofilter.org

0.17.5	2004-04-01 - previous stable release


(Log in to post comments)

bogofilter-0.92.6 - New Stable Release

Posted Sep 2, 2004 13:14 UTC (Thu) by Tet (subscriber, #5433) [Link]

It's been functional for quite some time now. If this release has been declared stable, then where's the justification for calling it anything other than v1.0? I've never understood this obsession with 0.x releases in the free software world. The Linux kernel did it for a long time, for mostly justifiable reasons, but others just seem to do it for the sake of it. I think Enlightenment was the project that popularised this approach for no obviously good reason.

bogofilter-0.92.6 - New Stable Release

Posted Sep 3, 2004 15:28 UTC (Fri) by relson (guest, #23691) [Link]

Yes, bogofilter can be counted on for reliable and accurate spam detection. The missing component for 1.0 is database integrity in the face of adversity. At present, a corrupt database can be caused by a bogofilter crash, a machine crash, drive crash, memory error, etc. There's new code to use BerkeleyDB's transactional mode which allows recovery after a crash. When the new code is fully functional, we'll announce 1.0rc1.

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds