getmail changes since version 1.11:
-----------------------------------

Version 2.3.7
16 April 2002

  -change an error message in read_configfile().  The bug is triggered by a
  serious syntax error in the getmailrc file.  Thanks to Fatemeh Taj for the
  bug report.

Version 2.3.6
8 April 2002

  -add 'relaxed_address_match' configuration directive.  Set to '1' if you
  want any string to be considered as an email address when doing domain
  mailbox or filtering matches against addresses in header fields.  The default
  is 0, which leaves the present behaviour unchanged (a string is only
  considered an address if it matches the regex '.+?@.+?\..+').
  Requested by Vineet Kumar and forwarded to me by Fredrik Steen, maintainer
  of the Debian package of getmail.

Version 2.3.5
28 March 2002

  -trying to fix the sporadic TypeError (or other) failures in msglog()
  that some users are experiencing.  It's difficult to reproduce here.

Version 2.3.4
27 March 2002

  -make some changes to the log functions.  This should help with the few
  sporadic errors some people have been reporting that result in TypeErrors
  in odd places.  Please let me know if this fixes the problem.

Version 2.3.3
18 March 2002

  -fix typo bug calling extract_recipients_received().  Thanks to
  Richard Luckhurst and Geoffrey Swift for the reports.
  -last (ha!) fixups for quiet/verbose issues.
  -this should be the last cleanups necessary for 2.3.x, and make it
  the best version of getmail yet :)

Version 2.3.2
18 March 2002

  -some versions of Python were choking on a call to time.localtime().  Added
  a workaround to getmail for this.  Thanks to Fredrik Steen (who maintains
  the Debian package of getmail) for reporting this.
  -fix bug where "verbose = 0" was not handled the same as supplying
  "--quiet" on the commandline.  Note to <chain@akw.pl>:  I tried several
  times to reply to you about this, but all messages bounced.  Fix your
  MTA, MUA, or DNS.
  -change parsing of Received: headers to only look at "for <address>" clauses.
  This will eliminate the problem of finding message IDs and thinking they
  might be recipient addresses.

Version 2.3.1
16 March 2002

  -add max_messages_per_session configuration directive.  Use this if you
  want to configure getmail to quit after retrieving a fixed number of messages.
  Defaults to 0, which is no limit.
  -fix bug in help() introduced in 2.3.0 rewrite
  -fix up handling of verbose configuration directive
  -change some internals to make auto-generating a man page possible.
  -include auto-generated man page in tarball and RPM
  -RPM release improvements

Version 2.3.0
15 March 2002

  -remove obsolete stuff from the getmail wrapper script.  Thanks to
  Edmund Evans for noticing this.
  -change to retrieve all UIDs in one command, instead of individually.
  getmail should run significantly faster if you tend to have a POP3 mailbox
  with lots (dozens or hundreds) of messages in it.  Thanks to Edmund Evans for 
  the feature request and testing.
  -change oldmail file naming convention to account for slashes in the
  POP3 username.  Thanks to marct for the bug report.
  -significant rewrite and code cleanup as detailed below.  getmail.py is
  now about 8KB (12%) smaller, and is about 150 lines (8%) shorter, but
  still does everything it did before.
  -rewrite the logging functionality.  If you get "weird" output, please
  send a copy & paste of the output to the getmail mailing list so I can
  correct this.
  -rewrite the message_log functionality.  For those few people using the
  message_log feature, the resulting log is completely different, but much
  more succinct.
  -rewrite the internal configuration parsing and handling.
  -rewrite internal exception handling.

Version 2.2.4
6 March 2002

  -getmail would previously exit if it hit a network error like unresolvable
  DNS.  It should have continued with the next account (if any).  Thanks to
  Geoffrey Swift for the bug report.
  -changed deliver_mbox() to try to truncate the file back to its original
  length if delivery fails.  Thanks to discussion with Matt Armstrong for
  changing my mind about the usefulness of this.
  -fix copy & paste error involving msg_log().  Thanks to Charles Jie for
  the bug report.
  -change deliver_mbox to not declare a delivery error if getmail cannot
  utime() the mbox to change its mtime and atime.  mbox-reading clients
  will not be able to reliably detect new mail if you are writing to
  someone else's mbox file as anyone other than root.  Thanks to
  Bob Ernst for noting this.
  -remove duplicated code in extract_recipients()
  -deliver_command() wouldn't properly note when an MDA exited on a signal.
  It would instead log that the command failed to exit, but would still 
  properly consider the delivery failed.  Fixed.  Thanks to TMDA user
  Tim Legant for the bug report.
  -clean up some code.
  
Version 2.2.3
24 February 2002

  -fix bug in new handling of envelope recipient header fields.
  Thanks to Martin Geisler for testing this.

Version 2.2.2
23 February 2002

  -change handling of header fields which should contain the envelope
  recipient address so that only the first matching header field is used.
  This should make TMDA use easier, and domain mailbox handling better.
  Thanks to Martin Geisler for the report which got me looking at this.

Version 2.2.1
12 February 2002

  -documentation cleanups.  Accidentally had the commandline option
  "--message-log" listed as "--message_log".  The "--help" output did not
  list the "--trace" option.  Thanks to Fredrik Steen for catching both of
  these.

Version 2.2.0
27 January 2002

  -fix bug in deliver_command() that would cause getmail to consider the
  delivery failed if it took a significant amount of time to complete.
  -add delete_after directive to remove mail from the server X days after
  first retrieving it.  Thanks to Mark Levene for the feature request that
  finally got me to implement this option.  Thanks also to Mark Levene and
  Jody Hietpas for alpha-testing this feature.  The oldmail file format and
  naming convention (see below) has changed; getmail will ignore previous
  oldmail files.  This means that previously-seen messages on the POP3 server
  will be downloaded the first time you run this new version of getmail.
  -add extension_sep and extension_depth directives and environment variables 
  SENDER, RECIPIENT, and EXT for command deliveries.  This will allow the 
  creation of a wrapper script for use with TMDA.  Caveat emptor: this is only 
  reliable if the MTA on the POP3 server records the envelope recipient address 
  in a header field, and you configure getmail to only look at that header 
  field.  Users retrieving mail from a qmail server have nothing to worry about 
  :).
  -update to version 3.1 of ConfParser module -- small code cleanups.
  -update to version 1.21 of timeoutsocket.py module by Timothy O'Malley.
  -rewrite and finish user documentation.  Ensure HTML versions pass the
  W3C's HTML4 transitional validation engine without warnings.
  -ship HTML versions of docs and faq in tarball and RPM in addition to text
  versions.
  -change --trace output to hide passwords in the same way that --dump output
  does.  Thanks to ??? for the request.
  -log anything an MDA prints to stdout as a result of a command delivery.
  -change reporting of exit code of command deliveries.
  -change wrapper script to exit with getmail's exit code.  Thanks to
  Alexander Kuprin for the patch.
  -remove dead code.
  -update example getmailrc file.
  -change oldmail file naming scheme; include port number and use '-' instead
  of ':' for separator, for those people using getmail under Cygwin.  Thanks to 
  Jody Hietpas for the report.  You can delete any remaining 'oldmail:*' files 
  in your .getmail directory.
  -report message count and mailbox size prior to retrieving messages.  Thanks
  to Prahlad Vaidyanathan for the request and a patch.  I implemented the code
  differently, but the idea is the same.
  -remove long-fixed bug from the known bugs list in BUGS.
  
Version 2.1.9
27 December 2001

  -add max_message_size option to prevent downloading larger messages.
  Default value is 0, which means no limit.  Thanks to Mark Levene for the
  feature request.

Version 2.1.8
21 November 2001

  -Fix dumb error with an out-of-place debugging message.  It caused
  Python exceptions when no matching recipient was found.

Version 2.1.7
20 November 2001

  -Fix the message delivery logic to prevent multiple deliveries of the
  same message in certain domain mailbox configurations.  Note this is not
  the same as duplicate-message suppression.  Thanks to Jay ? for the 
  initial report which reminded me I wasn't happy with the way it was
  currently working.

Version 2.1.6
20 October 2001

  -correct an error in the documentation about the default installation
  path.  Thanks to Frank Tegtmeyer for the report.
  -change mbox delivery to reset atime after delivery.  This lets MUAs know
  there is new mail in the mbox.  Thanks to Roman Neuhauser for the report.
  -new token-based version 3.0 of ConfParser replaces the previous regex-based
  version.  Most users will see no difference, but users with large
  getmailrc files (hundreds or thousands of lines) will see a significant
  speed improvement.  Thanks to Clemens Hermann for the initial report of
  slow processing with large getmailrc files.

Version 2.1.5
4 September 2001

  -add exception handling for out-of-memory during message retrieval and
  processing.  Thanks to Russell Sutherland for the report.
  -add somewhat experimental eliminate_duplicates option.  Will prevent duplicate
  delivery of identical message bodies when a message is addressed to two
  recipients in the same domain mailbox.

Version 2.1.4
3 September 2001

  -update the Maildir delivery method.  Peter van Dijk was auditing various
  Maildir-aware programs and found a few areas where getmail was not
  fully compliant with the documented standard.  With his help and some
  discussion, this is now fixed.  Note that the previous behaviour would not
  have resulted in the loss of mail in any case, but the new behaviour is
  more predictable in some circumstances.
  
Version 2.1.0
23 June 2001

  -fix the "blank lines output, even in quiet mode" problem which caused cron
  to send email every time getmail was run.  Thanks to Errol Casey for finding
  the cause.
  -Handle user aborting getmail better.
  -Remove dead parameter from message_add_info()
  -move file locking to separate functions
  -add file locking around handling of oldmail file
  -move regular expression objects into a dictionary
  -add ability to deliver to a command (pipe delivery) like maildrop or
  procmail.  getmail won't do this if it's running as root.

Version 2.0.20
20 June 2001

  -remove dead code
  -fix bug in example getmailrc file.  Thanks to John Gennard for spotting this.
  There was an instance of an empty option value left over from before this was
  an issue.

Version 2.0.19
18 April 2001

  -add additional exception handling for POP3 protocol errors (server bugs) and
  socket errors after connect (network errors).  Thanks to Jesper Andersen for
  the bug report.
  -add additional log message to make diagnosis of server problems easier.
  Apparently Mandrake Linux v.7.2 ships with a very broken POP3 server;
  several users sent me traces which I tracked down to gross violations of
  the POP3 protocol (RFC1939).

Version 2.0.18
20 February 2001

  -add better error output when a Maildir delivery target is not a Maildir
  -fix documentation bug regarding percent signs.  Thanks to Niall O'Higgins
  for the bug report.
  -add subclass of rfc822.AddressList to work around bug in standard library.
  Thanks to Alex Kramarox and Dan Reish for both being hit by this bug and
  informing me of it.
  -don't parse recipient addresses if no local user configurations.  Thanks
  to Alex Kramarov for reminding me about this.

Version 2.0.17 (release codename:  "Dan")
15 February 2001

  -fix typo in output of login() while printing the response to the USER 
  command.  I had "reponse".  Thanks to Dan Reish for the patch.
  -change a contraction to two words in the docstring for deliver_msg().
  Emacs apparently doesn't like apostrophes in a triple-quoted docstring if
  the apostrophe isn't on the first line.  Funny, my editor does the same
  thing :).  Again, thanks to Dan Reish.
  -add workaround for servers which violate RFC1939 in their response to the 
  LIST command.  getmail will print a warning and try to gracefully continue. 
  Dan Reish reported this; it appears to have been a temporary problem with the 
  POP3 service of a webmail site.  Please let me know if other servers trigger 
  this.
  -fix APOP.  Was misinterpreting an earlier POP3 RFC.  getmail will fall back
  to normal USER/PASS authentication if you configure it to use APOP for a
  server which does not support it.
  -clean up exception handling.
  -add "no_delivered_to" configuration directive to suppress creation of this
  header.

Version 2.0.16
11 February 2001

  -add additional exception to list to ensure no loss of email.  This is
  a brown-paper-bag bug.  It would happen if delivery failed in some
  circumstances and the server treated a dropped connection as a successfully
  completed session.  Thanks to Dan Reish for the bug report.
  -fix weird code bug -- remove incorrect exception name in two places.  Not
  enough coffee that day?  Nobody noticed (or at least reported) this one.
  Would only have come up in strange error conditions.
  -add APOP authentication.  Use configuration option "use_apop = 1" in the
  account section to enable this.  You still need to supply your password as
  normal.  getmail still defaults to normal PASS authentication.
  Sigh.  Wrote all the code for creating the appropriate secret by hand, then
  looked at poplib.py and found it does it for you.  At least my algorithm was
  identical to it.

Version 2.0.15
10 February 2001

  -make "recipient_header" a configuration option.  It defaults to the
  list of headers which was previously hardcoded.  List once for each header
  type you want to look in.
  -include semi-manual parser for extracting addresses from Received: headers.
  Thanks to Ian ? for the bug report which made me do this.
  -optimize process_msg()
  -remove obsolete "options" global
  -update documentation, FAQ, and example getmailrc file
  
Version 2.0.14
8 February 2001

  -change output to include postmaster deliveries in local deliveries count
  -ensure address is returned by mess822.getaddrlist() in extract_recipients().
  Thanks to Alex Kramarov for the bug report.

Version 2.0.13
6 February 2001

  -fix typo bug in getmail.go() which threw an exception if the POP3 server
  doesn't support the UIDL command.  Thanks to Andrew Medico for the bug
  report.

Version 2.0.12
5 February 2001

  -new method of determining local recipients.  The desired headers are all
  parsed; only if no local configuration directives match any of the
  detected email addresses is the message delivered to the postmaster
  configuration.

Version 2.0.11
1 February 2001

  -changed the getmail helper script to be more efficient.
  -began releasing an RPM of getmail in addition to the raw tarball.  The RPM
  is a noarch RPM with default paths changed to match the Linux Filesystem
  Specification.
  -changes to the way way headers are parsed for matching local recipients.
  -added to the FAQ.

Version 2.0.10
31 January 2001

  -moved the session.quit() handling code around to handle timeouts while
  exiting better.  Thanks to Stephen Morrison for the bug report.
  -added the getmail version number and '--dump' output to its bug report code.
  -moved parsing of Received: headers before To:, cc:, Resent-to:, and
  Resent-cc:.  This should improve identification of the proper local recipient
  if the final MTA is sendmail and the envelope recipient doesn't show up in
  the other headers (mailing list mail, etc).  Also switched the order of
  X-Envelope-To: and Apparently-To:.  I wish sendmail would just go away.
  -includes newer version 1.12 of Timothy O'Malley's timeoutsocket.py.
  Previously included 1.10, which could cause problems under Python 2.0 in
  some circumstances, but did not apparently affect getmail.

Version 2.0.9
23 January 2001

  -added a '--trace' option.  This will spit out copious debugging information,
  very handy for diagnosing problems via email.  Getting this output before
  involved commenting out one line in the source.
  -changes to the way the getmail class takes local user directives as
  arguments.  The previous method prevented you specifying the same re pattern
  more than once.  Thanks to Phil Smith for the initial question/bug report
  and his patience while I tracked this one down.
  -two small changes to handle timeouts and other exceptions.  Thanks to
  Stephen Morrison and Dave Seidel for bug reports on this.
  
Version 2.0.8
14 January 2001

  -Aijaz Ansari reported a bug:  if the first address found in a message
  was illegally formatted in a certain way, Python's rfc822 module could return
  None instead of a string for the address.  getmail would then throw an
  exception.  getmail now contains a workaround for this bug.

Version 2.0.6
8 January 2001

  -another typo bug in extract_recipients().  Thanks to Roger De Salis for the
  bug report.

Version 2.0.5
30 December 2000

  -fix stupid mistake in extract_recipients().  Not sure why no one reported
  this before.  Thanks to J. Boehm for the bug report.

Version 2.0.4
30 December 2000

  -add additional exception class to catch case of PPP down, etc.

Version 2.0.3
20 December 2000

  -fix bug in one error message which caused getmail to throw an exception
  if it failed to write the oldmail file.
  -added to the FAQ and documentation while I was at it.

Version 2.0.2
19 December 2000

  -fix bug where getmail would throw an exception when supplied the --help
  commandline option.  Changed behaviour of --help slightly.
  -add additional documentation.  Not 100% complete yet, but better.
  -packaging changes.  Separate files are now included for getmail.txt, 
  docs.txt, and faq.txt.
  -updated website.

Version 2.0.1
18 December 2000

  -add "Apparently-To:" to first group of headers to parse for recipient
  addresses, to better handle mailing list traffic and bcc with some MTAs.
  -packaging changes.

Version 2.0
16 December 2000

  -complete rewrite, plus rewrite of ConfParser module

