1.10.0:

- Added support for MH mailboxes

1.9.1:

- Made a bunch of little changes to ensure that gurgitate-mail is compatible
  with Ruby 1.9.0 (whilst not sacrificing compatibility with Ruby 1.8.x)
- Added the unit tests to the tarball for those who are curious

1.9.0:

- Added the ability to create new Gurgitate::Mailmessage objects with the
  "create" constructor--instead of giving it the text of a message to
  parse, you give it headers as a hash and it puts the mail message together.

1.8.3:

- Added an "exit 75 (TEMPFAIL)" for when it tries its best to deliver a mail
  message anywhere at all and fails no matter how hard it tries.  With a
  sensible MTA, this should result in the message being requeued and
  reprocessed later.

1.8.2:

- Fixed a bug discovered by TheWordNerd where gurgitate was writing to
  the default spool after every config file was processed, instead of
  holding off until all of them had gone through.

1.8.1:

- Whoops!  Fixed a bug (thanks tchan!) in argument parsing that was causing
  to parsing to break.

1.8.0:

- Let you (only TEN FREAKIN' YEARS LATE) explicitly specify sender and
  receivers on the command line.
- Added methods (sub and sub!) to HeaderBag to allow you to alter the contents
  of headers

1.7.2:

- Added gem support

1.7.1:

- Fixed Yet Another Header Parsing Bug[tm]

1.7.0:

- Changed it so that when you say "folderstyle Maildir", it changes the
  default mail spool dir and mail spool file to $HOME and $HOME/Maildir
  respectively.
- Changed the way that config params work.  Now instead of having to say:
    self.sendmail = "/usr/sbin/sendmail"
  you can say:
    sendmail "/usr/sbin/sendmail"
  Sort of in the style of attr_reader and attr_writer, or in the style
  of some other programs' config files.
- Added -f option to select rules files from the command-line

1.6.3:

- Restored Gurgitate::Gurgitate#process() with a block, which seemed to have
  disappeared with the config file commotion.
- Added mention of the systemwide configuration files to the manual.  Which,
  by the way, could still use something of an overhaul.  Way too much stuff
  is still SEKRIT.

1.6.2:

- Fixed a bug introduced in the last code reorg, whereby it would forget to
  default to saving mail to the spool

1.6.1:

- Fixed a bug introduced in the last code reorg, whereby it would forget to
  default to saving mail to the spool
- Fixed file permissions in the tarball
- Fixed a really stupid bug with Maildir folder creation where it made invalid
  mail directories.

1.6.0:

- Added site-wide gurgitate-rules-file capability.
- Made it so that headers that start with a number pass through without
  breaking stuff, which is a shame, because those are quite illegal as
  far as I know.
- Also, headers with a . in the *header* name should pass though.
- ALSO, headers with a leading - in the header name, likewise.
- Fixed a (very minor) maildir-writing bug involving a misnamed variable, which
  might trigger were gurgitate to be used as an LMTP process or a Sendmail
  milter.

1.5.3:

- Fixed a problem caused by me not touching filter in way too long:
  there were namespace and parameter problems.

1.5.2:

- Made it not blow up when it encounters a header of the form 
  "To:\n  emailaddress@example.com" (as seen in email messages from
  the obscure Japanese email client Becky)

1.5.1:

- Made it use Postfix's heuristic for determining whether a nonexistent
  mailbox is a mail spool or a Maildir by looking for a slash on the end
  of the mailbox's name.

- Added code from Bertram Scharpf to make error-in-rules handling
  a little more graceful

1.5:
- Made it not throw an exception on (illegal, mind) headers with 
  underscores in their names.

- Added a thing to the "filter" method so that you can say something like

        filter("spamc") do
            if headers["X-Spam"] =~ "Yes" then
                delete
            end
        end

  if you want to.

- Also added the ability to put

      folderstyle = Maildir

  into your .gurgitate-rules.rb to tell it that if it doesn't find
  a mailbox, it should create a Maildir mailbox rather than its
  usual default (mbox).


1.4.1:
 I said I'd given up on minor changes?  I lied.

 - Had it assume that if a file isn't present, that it's a MBox mailbox,
   and create it.

 - Changed the constructor for Gurgitate to take all login information
   from the effective UID instead of trusting the real UID and the
   EUID to be the same.

1.4:
 I seem to have given up on minor changes.  More big stuff.

 - Changed the API!  (WARNING WARNING WARNING)  Now Message#to_s
   returns the email message without the "From " line.  You get that
   with Message#to_mbox

 - Broke the code into lots of little pieces instead of the one great
   big file.  I hope this makes it slightly easier for people to
   understand--it certainly made it easier for me

 - Added maildir delivery!  Plus a sort of mechanism for delivering to
   various kinds of mailboxes.

1.3:
 
 Some pretty big things here (in my opinion), so I figured it was
 worth making it a 1.3 release instead of 1.2.2.

 - Added the ability to say
       headers["From", "Subject", "Cc"] =~ /hi there/
   in your .gurgitate-rules, and have it do the right thing.

 - Added "to" so you can now say
      if to =~ /mailing-list/ then ...;end
   instead of the cumbersome 
      if headers.matches(["To","Cc"],/mailing-list/) then ...; end
   syntax which I just plain ol' hated.

 - Made it possible to change the contents of headers.

 - Made the man page not claim to be user-contributed Perl
   documentation :-)

 - Made it deal correctly with headers that have tabs between the colon
   and the data, instead of spaces (bug #154).

1.2.1:

 - Made it NOT BLOW UP when you give it an email with a header that
   has no contents.  (Aren't those supposed to be illegal?  Regardless,
   I have to deal with whatever turns up, be it kosher or no)

 - Made its installer also politely install a man page

1.2:

 -  Fixed some header handling which was kind of, er, broken.
    Specifically, I'd get an exception on a header which looked
    like:

    Subject:
        Hi there

    The only kind of email that I've ever seen this kind of header
    on has been spam, but nonetheless, it's hardly fair for a mail
    filter to blow up just because it's given crappy input.


 -  Made the comments more rdoc-friendly.

    Fixed the handling of multi-line headers--it was getting it
    RONG RONG RONG (but I've probably implemented this RONG RONG
    RONG too).


 -  Made it so that as well as saying 
                                
    g=Gurgitate::Gurgitate.new(filehandle)
    if g.head =~ /evil@bad.com/ then delete end
                                
    you can also say             
                                
        Gurgitate::Gurgitate.new(filehandle) do
            if head =~ /evil@bad.com/ then delete end
        end                         
                                
    Which gives you another place to put your .gurgitate-rules.


 -  Made install.rb work as both a script as a library, because
    I switched to using rake to build things, rather than make.


 -  Made it canonicalize headers to a standard capitalization,
    because some SMTP client (*cough*virus*cough*) is incorrectly
    sending out all-uppercase headers.

1.1.3:

 -  Put the whole thing into a big module, and added some extra
    comments to make it more rdoc-friendly.  You shouldn't need to
    change your .gurgitate-rules.rb if you use it like that, but
    if you use it as a module, you'll need to prefix 'Gurgitate::'
    to your Gurgitate object construction.

1.1.2: maintenance release

  - Changed gurgitate-mail so that it compiles cleanly under Ruby 1.8,
    and made it work with no warnings.

1.1.1: maintenance release

  - Fixed the regexes for my own email addresses--they had backslashes
    in strange place, causing people to ask odd questions.

    Fixed a typo (thanks to Tom Wadlow)--I was using an undefined
    local variable "sendmail" instead of a class variable "@sendmail".

1.1:

  - Implemented Pavel Kolar's suggestion that if you filter email
    through an external program, you might want the results of that,
    instead of just a return code.

  - Added a default value to the Gurgitate initializer parameter.

  - Added an "install.rb" script to install the script and library
    files into their proper locations.

  - Pulled the "Gurgitate" class and friends out into a separate file,
    and made "gurgitate-mail" into a tiny script which does a
    "require" to pull the gurgitate-mail stuff in.  This should make
    it easier to extend in the future.

  - Added this file to the distribution. :-)

1.0.1: maintenance release

  - Small code cleanup--changed some accessors to use attr_*.

1.0:

  - Initial release of gurgitate-mail
