-update broken link in FAQ. Thanks: Stefan Kangas.
-strip a few extra problematic (on non-Unix systems) characters when
generating oldmail filenames; backslash was requested by Andy Ross.
If upgrading and your current oldmail file contains any of these
characters:
\ ; < > |
... then rename it, replacing runs of one or more of those characters with
a single "-".
-improve clarity of message logged by getmail when an external program exits
0 but getmail considers it failed because it wrote to stderr. Thanks:
Chris Dennis.
- change to how getmail counts messages in an IMAP mailbox; prevents problems
where getmail would only see the first 500 messages in a mailbox with some
IMAP servers that return oddball responses to SELECT. Thanks: David Damerell.
- handle additional cases where IMAP (and for good measure, POP3) server is
broken and offers a message that it then fails to return. Thanks: Eric
Waguespack.
- fix --dump not generating any output for rcfiles containing
"verbose = 0" option. Thanks: Morty Abzug.
- fix copy-and-paste error in documentation of MultiSorter destination.
Thanks: Roland Hill.
- add "message_log_verbose" option, defaulting to false. If true,
the message_log file (and syslog, if used) will contain a little
more information than the default of just messages retrieved.
Thanks: Matthias Andree, Gregory Morozov.
- if oldmail file is corrupted on disk (by system crash, perhaps),
handle it gracefully. Some lines may be lost (and messages therefore
re-retrieved), but operation will continue, with the corrupt lines
logged. Thanks: Domen Puncer.
- add Kerberos authentication support to IMAP retriever classes.
Thanks: Guido Günther, Uli M.
- clarify documentation regarding MDA_external. Thanks: AJ Weber.
- eliminate deprecation warning for sets module with Python 2.6 by
using a compatibility wrapper module.
-Add missing fsync() in updatefile close method to ensure data actually
hits disk before the rename takes place, to make writing of the oldmail
file more resilient to system crashes. Thanks: Domen Puncer.
- for IMAP retrievers, keep message state around for 30 days even
if the corresponding message isn't seen. This allows users to
have multiple rc files with different IMAP folders to retrieve
from without losing their "seen" mail state for the folders they're
not currently retrieving from. You no longer need to work around
this with different getmail state directories. Thanks: ?.
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
* explicitly close current IMAP mailbox when selecting a new one,
so all servers expunge deleted mail. Thanks: Josh Triplett.
* include experimental spec file for creating RPM with rpmbuild.
Thanks: Dag Wieers, Rob Loos, Dries Verachtert.
* convert changelog to utf-8 encoding.
* update email addresses, etc. Domain for mailing lists has changed
to lists.pyropus.ca.
* add FAQ about memory errors on OS X. Thanks: Andres Gasson.
* drop log message level for stderr output of destination if
ignore_stderr is set, just like for filter. Thanks: Jeremy
Chadwick.
-make updatefile honour symlinks, so users can alias one server's oldmail
state file to another (for split-horizon DNS and other strange
configurations). Thanks: Scott Hepler.
-explicitly watch for broken POP3 servers that return a blank UIDL value
(not permitted by the POP3 protocol) and print a fatal error message.
Thanks: Florian Hackenberger and Cameron Rangeley.
- disable debug logging message which would show up in messages if
--trace was used and the message was passed through an external
filter. Thanks: Christian Bruemmer.
- add additional sanity checks to ensure a recent-enough Python is
used; trying to run getmail 4 with Python 2.2 would throw an
exception. Thanks: fakhri ?.
- fix regression introduced in 4.6.0 where atime on mbox files would
get updated (i.e. not set back), making it difficult for other
programs to tell if there was new mail or not without actually
opening the mbox. Thanks: Tim van der Molen.
- fix regression: spurious errors thrown when required multidrop
retriever parameter "envelope_recipient" not present in getmailrc
file. Thanks: Elliot Schlegelmilch.
- fix regression: getmail_fetch no longer properly supported external
MDAs because of problems parsing the arguments to them. Thanks: ?.
- change getmail's handling of regular expressions in the "locals"
parameter of MultiSorter destination to allow it to handle
backslashes correctly. Unfortunately this means complicating
the configuration syntax slightly. Thanks: Tim van der Molen.
- update filters to use new configuration code. Remove obsolete code.
- fix attribute deletion error with Filter_classifier when
strip_delivered_to is set. Thanks: ?.
- do not consider qmail-local writing to stderr a delivery error.
Thanks: ?.
Remove nearly 2-year-old MESSAGE about upgrading from version 3.
* keyfile and certfile parameters to SSL retrievers are now expanded
for leading "~/" and "~username/" as well as environment
variables, just like other path parameters. Thanks: Fredrik Steen.
- add delete_dup_msgids option to non-multidrop POP3 retrievers.
Thanks: Matthias Andree.
- suppress stack trace in getmail_fetch error message when
configuration error detected. Thanks: Dave Jarvis.
- documentation updates.
- build and development environment changes. The plaintext versions
of the documentation are now generated with links instead of lynx.
- explicitly log the reason for not retrieving a message (seen or
oversized). Thanks: Payal Rathod.
4.3.14:
-Fix copy and paste error that caused BrokenUIDLPOP3SSLRetriever to default
to port 110. Thanks: Daniel Burrows via Fredrik Steen.
4.4.0:
-add new POP3-over-SSL initialization class, which is automatically used
when Python 2.4 or newer is in use. This reduces the overhead involved
in retrieving messages from a POP3SSL server (reduces systime about 35%,
user time about 50%, wall time 10-30%). Thanks: Jan Vereecke.
-add getmail_fetch configuration-less commandline POP retriever, perfect
for scripting use. Development of getmail_fetch was sponsored by
Texas Communications.
-future proofing: eliminate relative imports within getmailcore package.
4.4.1:
-work around bug in Python which meant POP3-over-SSL with Python >= 2.4
could "hang" (it's exactly the same bug that affected getmail's initial
IMAP-over-SSL code).
4.4.2:
-fix logging import in corrupt messages with Python 2.3. Thanks: Marco Ferra.
-add BrokenUIDLPOP3SSLRetriever as SSL version of BrokenUIDLPOP3Retriever,
based on an idea by a user of the Debian package. Thanks: Daniel Burrows,
Fredrik Steen.
-remove deprecated "strict" argument from message/header parsing calls.
While it was possible to suppress the warning that resulted when using
Python 2.4, it appears many getmail users couldn't bother to do that
and complained to me instead.