"Fossies" - the Fresh Open Source Software Archive

Member "getmail-5.16/docs/CHANGELOG" (31 Oct 2021, 57882 Bytes) of package /linux/misc/getmail-5.16.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "CHANGELOG": 5.15_vs_5.16.

    1 Version 5.16
    2 31 October 2021
    3     -add new use_netrc and netrc_file configuration options to support
    4     reading username/password from a .netrc file.  Thanks: Stephen Gildea.
    5     -documentation updates.
    6 
    7 Version 5.15
    8 10 December 2020
    9     -documentation-only update.  No code changes.
   10     -fix example spamc arguments in FAQ.  Thanks: Christoph Scholzen.
   11     -document exit codes in manpages.  Thanks: Langenxx Feld.
   12 
   13 Version 5.14
   14 19 August 2019
   15     -remove socket setblocking() calls which should be no longer needed,
   16     and which may have caused hangups.  Thanks: Viacheslav Chimishuk.
   17     -correct version number string in error message.  Thanks: Piet van
   18     Oostrum.
   19 
   20 Version 5.13
   21 22 February 2019
   22     -second attempt at fixing SNI change with Python < 2.7.  Thanks: "Cimbal".
   23 
   24 Version 5.12
   25 22 February 2019
   26     -bugfix: the SNI change broke something else with Python 2.6 and earlier;
   27     fixed.  Thanks: "Cimbal".
   28 
   29 Version 5.11
   30 13 February 2019
   31     -bugfix: the SNI change did not work correctly with Python < 2.7.13;
   32     should be fixed now.  Thanks: Scott Robbins.
   33 
   34 Version 5.10
   35 12 February 2019
   36     -experimental: when SSL SNI support is present in the underlying Python
   37     (and OpenSSL), send SNI by default in the SSL setup.  This should work
   38     around Gmail's brokenness with TLSv.1.3 connections when SNI is not sent.
   39 
   40 Version 5.9
   41     -documentation-only update; add note with workaround for Gmail SSL
   42     connections with OpenSSL 1.1.1 and later.
   43     -update copyright dates.
   44 
   45 Version 5.8
   46 9 November 2018
   47     -fix problem handling IMAP errors introduced in 5.7.  Thanks: 
   48     Andreas Reuleaux.
   49 
   50 Version 5.7
   51 30 October 2018
   52     -when users specify an SSL version that no longer exists in the Python
   53     ssl module, do not result in an unhandled exception.  Thanks: "nandre".
   54     -catch IMAP UNAVAILABLE temporary error during login.  Thanks:
   55     Dario Corti.
   56 
   57 Version 5.6
   58 02 April 2018
   59     -fix references to version 4 in README.  Thanks: Daniel Kahn Gillmor.
   60     -add Gmail-specific XOAUTH2 login support for IMAP.  Thanks: Stefan Krah.
   61 
   62 Version 5.5
   63 18 December 2017
   64     -feature request: added record_mailbox configuration parameter, to allow
   65     turning off the header getmail adds with this information.
   66     Thanks: Daniel Kahn Gillmor, Osamu Aoki,  Josh Triplett.
   67 
   68 Version 5.4
   69 6 October 2017
   70     -bugfix: fix another error in logging an error condition.  Thanks: "ng0".
   71 
   72 Version 5.3
   73 5 October 2017
   74     -bugfix: another case where an error condition resulted in getmail not
   75     displaying the correct message.  Thanks: "ng0".
   76 
   77 Version 5.2
   78 4 October 2017
   79     -bugfix: disconnection during IMAP IDLE could result in an error message
   80     rather than silently exiting.  Thanks: David Gray.
   81 
   82 Version 5.1
   83 15 July 2017
   84     -bugfix: if password_command parameter was used with a non-existent program,
   85     getmail would error out during the handling of that condition and not report
   86     the problem correctly.
   87 
   88 Version 5.0
   89 15 July 2017
   90     -new release numbering scheme; previous version numbers were just getting
   91     too high.
   92     -catch and ignore/exit cleanly after reset connection in IMAP IDLE mode.
   93     Thanks:  Stephan Schulz.
   94     -allow specifying an expected SSL certificate hostname, for when the
   95     server's certificate does not match the domain name used to connect to
   96     it.  Thanks:  "Andre".
   97     -fix error message not actually giving the header field name incorrectly
   98     specified as containing the envelope recipient address.  Thanks:  Hardy 
   99     Braunsdorf.
  100     -add new password_command configuration parameter for retrievers, allowing
  101     getmail to retrieve the account password from any arbitrary external 
  102     command.  Suggestion:  "ng0".
  103     
  104 Version 4.54.0
  105 19 February 2017
  106     -fix error running getmail_fetch introduced in 4.53.0.  Thanks: "fsckd"
  107     of Arch Linux.
  108 
  109 Version 4.53.0
  110 15 January 2017
  111     -fix plaintext version of docs not generated correctly.  Thanks: Elijah.
  112     -fix `getmail --fingerprint` not logging server TLS fingerprint correctly
  113     with SimplePOP3SSLRetriever.  Thanks: Gabriel Kihlman.
  114 
  115 Version 4.52.0
  116 22 October 2016
  117     -add `ignore_header_shrinkage` parameter to Filter_external for users who
  118     know it is normal for their particular filter to result in a smaller message
  119     header than the source message, for example when the filter encapsulates
  120     the original message in a simpler wrapper message.  Thanks: "RW", 
  121     Tristan Miller, Francesco Ariis.
  122     -EXPERIMENTAL: when deleting a message from an IMAP mailbox, set the \Seen 
  123     flag in addition to the the \Deleted flag.  This apparently prevents 
  124     the ever-innovatively-broken MSExchange from sending a spurious incorrect 
  125     disposition-notification message to the sender of the message.  I do not 
  126     know if this will cause problems with other broken IMAP server 
  127     implementations; please send a report to the getmail-user's mailing list if
  128     you see odd behaviour with this change.  Thanks: John Hein.
  129     -enable socket timeouts for IMAP SSL classes by default.  They were disabled
  130     in the code because they were incompatible with SSL in older versions of 
  131     Python.  If you see problems with Python 2.6 or 2.7 now, please let me know.
  132     
  133 Version 4.51.0
  134 11 September 2016
  135     -fix exception when using MDA_External and an IMAP mailbox whose name 
  136     contains non-ASCII chars.  Thanks:  "drtmk".
  137 
  138 Version 4.50.0
  139 11 July 2016
  140     -maybe fix handling of OSX keychain passwords containing double-quote chars.
  141     Thanks: Teddy Wing, Patrick Asselman.
  142     -fix getmail erroring out on IMAP folders containing i18n chars.  
  143     Thanks: Jan Stühler.
  144 
  145     Version 4.49.0
  146 13 January 2016
  147     -make IMAP class only issue EXPUNGE command on mailbox close if we have
  148     actually deleted any messages from the open mailbox.  Makes use of read-only
  149     IMAP folders possible.  Thanks: Zoltan Padrah.
  150 
  151 Version 4.48.0
  152 31 May 2015
  153     -work around brain-damaged change in Python's poplib which causes 
  154    message retrieval errors if any line of a message has more than
  155    2048 characters in it.
  156     -restore link to moved Marc mailing list archive.  Thanks:  
  157     David J. Weller-Fahy.
  158 
  159 Version 4.47.0
  160 25 February 2015
  161     -try to work around pathological breakage in one random POP server 
  162     implementation.  Thanks: Michael Thomas Kockmeyer.
  163     -remove dead marc.theaimsgroup.com list archive from docs.  Thanks:
  164     Miroslav Rovis.
  165     -bugfix: if you combined IMAP IDLE mode with delete_after, getmail would, 
  166     after remaining connected to the server for the number of days configured,
  167     begin deleting messages immediately after retrieval instead of after the
  168     configured delay.  Now fixed.  Thanks: Johannes Weißl.
  169 
  170 Version 4.46.0
  171 6 April 2014
  172     -fix --idle checking Python version incorrectly, resulting in incorrect 
  173     warning about running with Python < 2.5.  Thanks: "Voytek", Krzysztof 
  174     Warzecha.
  175     -add missing support for SSL certificate checking in POP3 which broke
  176     POP retrieval in v4.45.0.  Requires Python 2.6 or newer.  Thanks: "mancha".
  177 
  178 Version 4.45.0
  179 30 March 2014
  180     -perform hostname-vs-certificate matching of SSL certificate if validating
  181     the certifcate.  Thanks: "mancha".
  182     -fix missing plaintext versions of documentation.
  183 
  184 Version 4.44.0
  185 22 March 2014
  186     -add extended SSL options for IMAP retrievers, allowing certificate 
  187     verification and other features.  Thanks: Steven Murdoch.
  188     -fix missing plaintext versions of documentation.  Thanks: Osamu Aoki.
  189     -fix "Header instance has no attribute 'strip'" error which cropped up
  190     in some configurations.  Thanks: Krzysztof Warzecha.
  191 
  192 Version 4.43.0
  193 25 August 2013
  194     -add IMAP IDLE support.  Thanks: Jon Gjengset.
  195 
  196 Version 4.42.0
  197 3 August 2013
  198     -fix problem with non-ascii characters in newly-added message header fields
  199     with output from Filter_classifier.  Thanks: "Gour".
  200 
  201 Version 4.41.0
  202 26 May 2013
  203     -messages retrieved with POP could have a blank trailing line removed when
  204     delivered; fixed.  Thanks: Christoph Mitterer, Krzysztof Warzecha.
  205     -fix an ImportError when IMAP retriever used with getmail under Python 2.4.
  206 
  207 Version 4.40.3
  208 10 May 2013
  209     -increase system recursion limit when run with Python 2.3, to prevent
  210     recursion errors in parsing some pathologically complex MIME emails.
  211     Thanks: Kenneth Pronovici.
  212 
  213 Version 4.40.2
  214 8 May 2013
  215     -fix a backwards incompatibility with Python 2.3 and 2.4 introduced in
  216     getmail 4.38.0.  Thanks: Massimo Zambelli, Krzysztof Warzecha.
  217 
  218 Version 4.40.1
  219 22 April 2013
  220     -again change protocol codes passed to OSX, as they're not only reserved
  221     codes, but also case-sensitive.  Use the ones an OSX user reports work
  222     properly.  Thanks: Tim Gray.
  223 
  224 Version 4.40.0
  225 21 April 2013
  226     -convert SIGTERM to SIGINT so getmail can cleanup and exit normally if 
  227     killed with a default signal.  Thanks: Carl Lei.
  228     -fix change which resulted in passing full protocol name to OSX keyring
  229     program, which can't handle it (restricted to 4-character code).
  230     Thanks: Tim Gray.
  231 
  232 Version 4.39.1
  233 10 March 2013
  234     -fix a bug that could crop up when retrieving mail via IMAP from Gmail, and
  235     the Gmail servers provided weird data in their header extensions.
  236     Thanks: Krzysztof Warzecha.
  237 
  238 Version 4.39.0
  239 22 February 2013
  240     -fix an oldmail filename issue that occurred with certain non-ASCII 
  241     characters in an IMAP mailbox name.  Thanks: Michael Kockmeyer.
  242 
  243 Version 4.38.0
  244 16 February 2013
  245     -fix retrieving mail from an IMAP mailbox with non-ASCII characters in its
  246     name causing difficult-to-understand unicode errors during delivery.
  247     Thanks: "fsLeg", Krzysztof Warzecha.
  248     
  249 Version 4.37.0
  250 27 January 2013
  251     -handle IMAP servers which include "/" in message IDs better, so those 
  252     messages aren't always thought to be new.  Thanks: Bradley Rintoul.
  253     -record (IMAP) mailbox retrieved from in X-getmail-retrieved-from-mailbox:
  254     header field, and make it available as %(mailbox) substitution in 
  255     MDA_external arguments.  Thanks: Les Barstow.
  256     -add delete_bigger_than option to allow removal of large messages after
  257     retrieval, even if not deleting messages otherwise.  Thanks: Jan Vereecke.
  258 
  259 Version 4.36.0
  260 15 December 2012
  261     -add support for retrieving POP/IMAP passwords from, and storing them to,
  262     the Gnome keyring.  Thanks: Krzysztof Warzecha, Scott Hepler.
  263 
  264 Version 4.35.0
  265 24 October 2012
  266     -fix From_ quoting in mbox delivery; use of the Python stdlib function 
  267     meant getmail was incorrectly using mboxo-style quoting instead of
  268     mboxrd quoting, probably since early in the v4 series.  
  269     Thanks: Christoph Mitterer.
  270 
  271 Version 4.34.0
  272 8 September 2012
  273     -retrieve Gmail metadata (labels, thread ID, message ID) via IMAP extension
  274     and record it in new message headers.  Thanks: Krzysztof Warzecha.
  275 
  276 Version 4.33.0
  277 7 August 2012
  278     -allow normal exit on interrupt (ctrl-c) to allow the user to abort message
  279     retrieval while still remembering already-retrieved messages as successfully
  280     delivered.  You may get a weird error message after you abort, since the
  281     server may be in the middle of delivering another message to getmail at the
  282     time.  Thanks: Krzysztof Warzecha.
  283 
  284 Version 4.32.0
  285 6 July 2012
  286     -prevent some nuisance stack traces if getmail cannot connect to the POP/
  287     IMAP server correctly.  Thanks: Daniel Dumke.
  288     -restore use_peek IMAP retriever parameter which accidentally got removed
  289     in 4.30.  Thanks: Andreas Amann.
  290 
  291 Version 4.31.0
  292 5 July 2012
  293     -improved backwards compatibility with pre-v.4.22.0 oldmail files, so IMAP
  294     mail is not re-retrieved if you upgrade from a 4.22 or earlier to this one; 
  295     no user action necessary.  Thanks: Osamu Aoki, Tim van der Molen.
  296 
  297 Version 4.30.2
  298 27 June 2012
  299     -fix a nuisance stack trace that would be dumped if a connection failed in
  300     particular states.  Thanks: Gary Schmidt.
  301 
  302 Version 4.30.1
  303 21 June 2012
  304     -silence a nuisance deprecation warning about the sets module when running
  305     with Python >= 2.5 which was reintroduced in 4.29.0.  Thanks: Stephan 
  306     Schulz.
  307 
  308 Version 4.30.0
  309 21 June 2012
  310     -fix breakage introduced in 4.29.0 where BrokenUIDLPOP3Retriever would fail
  311     with a TypeError at logout time.  Thanks: Scott Robbins, Stephan Schulz.
  312     -fix breakage introduced in 4.29.0 where deleted mail was not being expunged
  313     from the last (or only) folder retrieved from in an IMAP session.  Thanks: 
  314     Paul Howarth.
  315 
  316 Version 4.29.0
  317 19 June 2012
  318     -update old contact information for Free Software Foundation.  Thanks: Ricky
  319     Zhou.
  320     -fix incorrect character encoding in plaintext documentation.  Thanks: Ricky
  321     Zhou.
  322     -ensure getmail exits nonzero if a server refuses login due to a credential
  323     problem.  Thanks: Stephan Schulz.
  324 
  325 Version 4.28.0
  326 26 May 2012
  327     -ensure getmail exits nonzero if various error conditions (like POP/IMAP
  328     authentication failure) occur.  Thanks: Ryan J., Stephan Schulz.
  329     -python versions prior to 2.5.0 contain a bug when dealing with read-only
  330     IMAP mailboxes.  Monkey-patch imaplib when running with Python<2.5.0.
  331     Thanks: Les Barstow.
  332     -do IMAP modified-utf7 conversion of mailbox names containing non-ASCII
  333     characters.  Thanks: A. Lapraitis, Randall Mason.
  334     -add special ALL value for retrieving mail from all selectable IMAP 
  335     mailboxes in the account.
  336     -change IMAP retrieval strategy to retrieve all messages from a mailbox,
  337     then move on to the next mailbox, etc.  Should result in increased speed,
  338     but if you set `max_messages_per_session` too low, this could result in
  339     later mailboxes not being retrieved from.
  340 
  341 Version 4.27.0
  342 20 May 2012
  343     -make use of IMAP BODY.PEEK configurable; set the IMAP retriever parameter 
  344     `use_peek` to False to disable use of PEEK to get getmail's historical IMAP 
  345     behaviour.
  346 
  347 Version 4.26.0
  348 14 April 2012
  349     -switch to using BODY.PEEK in IMAP retrieval; I no longer see problems with
  350     this feature in my testing.  If users experience incompatibility with any
  351     IMAP servers where 4.25.0 worked, please let me know.
  352 
  353 Version 4.25.0
  354 1 February 2012
  355     -add support for storing POP/IMAP password in OSX keychain.  Thanks: Adam 
  356     Lazur.
  357 
  358 Version 4.24.0
  359 11 December 2011
  360     -add an explicit expunge when closing an IMAP mailbox, for servers that 
  361     incorrectly do not do this when the mailbox is closed.  Thanks: Nicolas 
  362     Pomarède.
  363     -fix incorrect section reference for `mailboxes` parameter in documentation.
  364     Thanks: Ross Boylan.
  365     -fix getmail_fetch broken in 4.21.0.  Thanks: Chris Donoghue.
  366 
  367 Version 4.23.0
  368 20 November 2011
  369 
  370     -fix race if new message shows up in POP3 mailbox between running the UIDL 
  371     and LIST commands.  Thanks: Roland Koebler, Osamu Aoki.
  372 
  373 Version 4.22.2
  374 12 November 2011
  375 
  376   -fix an error when logging a bad response to an IMAP SELECT command, 
  377   introduced in 4.21.0.  Thanks: "kureshii".
  378 
  379 Version 4.22.1
  380 30 September 2011
  381 
  382   -fix BrokenUIDLPOP3Retriever breakage from 4.21.0.  Thanks: Scott Robbins, 
  383   "hgolden".
  384   
  385 Version 4.22.0
  386 25 September 2011
  387 
  388   -when retriever supports multiple mail folders (IMAP), store oldmail data for
  389   each folder separately, preventing problems in some cases when using multiple
  390   rc files with the same account.  Thanks: Jesse Schobben.
  391 
  392 Version 4.21.0
  393 23 September 2011
  394 
  395   -automatically open IMAP folders read-only if neither the delete nor 
  396   delete_after options are in use; necessary to access chatlogs via Gmail.
  397   Thanks: Daniel M. Drucker.
  398   -avoid sorting msgids on each retrieval, reducing overhead when dealing with
  399   folders containing thousands of messages.  Thanks: Daniel Koukola.
  400 
  401 Version 4.20.4
  402 16 July 2011
  403   -include more info from server response in error message when IMAP command
  404   errors out.  Thanks: W. Martin Borgert, Osamu Aoki.
  405   -switch to using Parser instead of HeaderParser to correct illegal formatting
  406   bogosities in the body parts of incoming messages.  Thanks: Lauri Alanko.
  407 
  408 Version 4.20.3
  409 30 May 2011
  410   -fix logging errors in error paths.  Thanks: Visa Putkinen.
  411 
  412 Version 4.20.2
  413 9 Apr 2011
  414   -further changes to the Received: header construction to handle IPv6 better.
  415   Thanks: Frédéric Perrin.
  416 
  417 Version 4.20.1
  418 7 Apr 2011
  419   -ensure correct remote address and port is included in the Received: trace
  420   headers generated by getmail.  Previously the first address found for the 
  421   server was used even if another address was actually used to connect to the
  422   server.  Thanks: Frédéric Perrin.
  423   -add workaround for Python issue http://bugs.python.org/issue1389051 which
  424   affects Python < 2.5.3, causing message retrieval of large messages from IMAP4
  425   SSL servers to consume pathologically large amounts of memory.  
  426   Thanks: Bill Janssen.
  427 
  428 Version 4.20.0
  429 29 June 2010
  430   -fix crap code from bad svn merge that slipped into 4.18.0, triggering 
  431   exceptions in MDA_external configs.  Thanks: Paul Howarth.
  432 
  433 Version 4.19.0
  434 29 June 2010
  435   -fix missing import introduced in 4.18.0.  Thanks: Paul Howarth.
  436 
  437 Version 4.18.0
  438 26 June 2010
  439   -update broken link in FAQ.  Thanks: Stefan Kangas.
  440   -strip a few extra problematic (on non-Unix systems) characters when 
  441   generating oldmail filenames; backslash was requested by Andy Ross.
  442   If upgrading and your current oldmail file contains any of these
  443   characters: 
  444       \ ; < > | 
  445   ... then rename it, replacing runs of one or more of those characters with
  446   a single "-".
  447   -improve clarity of message logged by getmail when an external program exits
  448   0 but getmail considers it failed because it wrote to stderr.  Thanks:
  449   Chris Dennis.
  450 
  451 Version 4.17.0
  452 30 April 2010
  453   -change to how getmail counts messages in an IMAP mailbox; prevents problems
  454   where getmail would only see the first 500 messages in a mailbox with some
  455   IMAP servers that return oddball responses to SELECT.  Thanks: David Damerell.
  456 
  457 Version 4.16.0
  458 5 January 2010
  459   -additional fix for IMAP server that offers a message it then fails to return,
  460   to allow getmail to continue with the next message.  Thanks: Yaw Anokwa.
  461 
  462 Version 4.15.0
  463 2 December 2009
  464   -default port for MultidropIMAPSSLRetriever was incorrect.  Thanks: David 
  465   Lehn.
  466 
  467 Version 4.14.0
  468 23 November 2009
  469   -handle additional cases where IMAP (and for good measure, POP3) server is
  470   broken and offers a message that it then fails to return.  Thanks: Eric 
  471   Waguespack.
  472 
  473 Version 4.13.0
  474 13 October 2009
  475   -fix new log message not having trailing newline.Thanks: Morty Abzug.
  476 
  477 Version 4.12.0
  478 7 October 2009
  479   -handle MSExchange failure to deliver message gracefully.  Thanks: Morty 
  480   Abzug.
  481   -documentation updates regarding Python IMAP memory bug.  Thanks: "spig".
  482   -fix bad tag in documentation.
  483 
  484 Version 4.11.0
  485 8 August 2009
  486   -fix --dump not generating any output for rcfiles containing "verbose = 0"
  487   option.  Thanks: Morty Abzug.
  488   -fix copy-and-paste error in documentation of MultiSorter destination.
  489   Thanks: Roland Hill.
  490 
  491 Version 4.10.0
  492 6 August 2009
  493   -add "message_log_verbose" option, defaulting to false.  If true, the
  494   message_log file (and syslog, if used) will contain a little more information
  495   than the default of just messages retrieved.  Thanks: Matthias Andree,
  496   Gregory Morozov.
  497 
  498 Version 4.9.2
  499 15 July 2009
  500   -use tempfile module function instead of os.tmpfile() so getmail obeys TMPDIR
  501   and similar environment variables.  Thanks: Stefan Bähring.
  502   -fix encoding of CHANGELOG to utf-8.
  503 
  504 Version 4.9.1
  505 1 June 2009
  506 
  507   -if oldmail file is corrupted on disk (by system crash, perhaps), handle it
  508   gracefully.  Some lines may be lost (and messages therefore re-retrieved),
  509   but operation will continue, with the corrupt lines logged.  Thanks:  Domen
  510   Puncer.
  511 
  512 Version 4.9.0
  513 5 April 2009
  514 
  515   -add Kerberos authentication support to IMAP retriever classes.  Thanks:
  516   Guido Günther, Uli M.
  517   -clarify documentation regarding MDA_external.  Thanks: AJ Weber.
  518   -eliminate deprecation warning for sets module with Python 2.6 by using a
  519   compatibility wrapper module.
  520 
  521 Version 4.8.4
  522 26 September 2008
  523 
  524   -Add missing fsync() in updatefile close method to ensure data actually
  525   hits disk before the rename takes place, to make writing of the oldmail
  526   file more resilient to system crashes.  Thanks: Domen Puncer.
  527 
  528 Version 4.8.3
  529 11 August 2008
  530 
  531   -Improve information sent to logfile about messages not retrieved.
  532   Thanks: Scott.
  533 
  534 Version 4.8.2
  535 2 August 2008
  536 
  537   -for IMAP retrievers, keep message state around for 30 days even if the
  538   corresponding message isn't seen.  This allows users to have multiple rc
  539   files with different IMAP folders to retrieve from without losing their
  540   "seen" mail state for the folders they're not currently retrieving from.
  541   You no longer need to work around this with different getmail state
  542   directories.  Thanks: ?.
  543 
  544 Version 4.8.1
  545 26 March 2008
  546 
  547   -fix use of Python 2.4 set builtin in 4.8.0 preventing getmail from running
  548   on Python 2.3.x.  Thanks: Björn Stenberg.
  549   -fix the RPM spec file not being included in the getmail distribution.
  550 
  551 Version 4.8.0
  552 19 February 2008
  553   -better diagnostic when user invalidly supplies timeout configuration
  554   parametmer for an IMAP-SSL retriever.  Thanks: Dennis S.
  555   -code cleanups
  556 
  557 Version 4.7.8
  558 5 February 2008
  559 
  560   -explicitly close current IMAP mailbox when selecting a new one, so all
  561   servers expunge deleted mail.  Thanks: Josh Triplett.
  562   -include experimental spec file for creating RPM with rpmbuild.  Thanks:
  563   Dag Wieers, Rob Loos, Dries Verachtert.
  564 
  565 Version 4.7.7
  566 8 November 2007
  567 
  568   -convert changelog to utf-8 encoding.
  569   -update email addresses, etc.  Domain for mailing lists has changed to
  570   lists.pyropus.ca.
  571   -add FAQ about memory errors on OS X.  Thanks: Andres Gasson.
  572   -drop log message level for stderr output of destination if ignore_stderr is
  573   set, just like for filter.  Thanks: Jeremy Chadwick.
  574 
  575 Version 4.7.6
  576 8 August 2007
  577 
  578   -fix exception when getmail is trying to report a POP3 server that
  579   completely missed generating a UIDL token for a message.
  580   Thanks: Hans Lammerts.
  581 
  582 Version 4.7.5
  583 6 June 2007
  584 
  585   -make updatefile honour symlinks, so users can alias one server's oldmail
  586   state file to another (for split-horizon DNS and other strange
  587   configurations).  Thanks: Scott Hepler.
  588 
  589 Version 4.7.4
  590 24 April 2007
  591 
  592   -explicitly watch for broken POP3 servers that return a blank UIDL value
  593   (not permitted by the POP3 protocol) and print a fatal error message.
  594   Thanks: Florian Hackenberger and Cameron Rangeley.
  595 
  596 Version 4.7.3
  597 18 March 2007
  598 
  599   -fix wrong bytecount displayed in summary at end of run.  Thanks: Andreas
  600   Jung.
  601 
  602 Version 4.7.2
  603 20 February 2007
  604 
  605   -add ignore_stderr option to filters, copying same from MDA_external
  606   destination.  Thanks: Vittorio Beggi.
  607 
  608 Version 4.7.1
  609 2 February 2007
  610 
  611   -add max_bytes_per_session option.  Thanks: Robert Spencer.
  612   -documentation additions.
  613 
  614 Version 4.7.0
  615 24 January 2007
  616 
  617   -make Mboxrd lock type configurable (lockf or flock). Change default
  618   to lockf.  Thanks: Norman Carver.
  619 
  620 Version 4.6.7
  621 3 January 2007
  622 
  623   -better handling for some fatal violations of POP/IMAP protocols.
  624   Thanks: Paul ?.
  625   -formatting cleanups.
  626 
  627 Version 4.6.6
  628 12 December 2006
  629 
  630   -add ignore_stderr option to MDA_external destination.  Thanks: Daniel
  631   Burrows.
  632   -documentation cleanups.
  633 
  634 Version 4.6.5
  635 20 October 2006
  636 
  637   -disable debug logging message which would show up in messages if --trace was
  638   used and the message was passed through an external filter.  Thanks:
  639   Christian Bruemmer.
  640   -add additional sanity checks to ensure a recent-enough Python is used;
  641   trying to run getmail 4 with Python 2.2 would throw an exception.
  642   Thanks: fakhri ?.
  643 
  644 Version 4.6.4
  645 28 September 2006
  646 
  647   -add FAQ about BrokenUIDLPOP3 retrievers.
  648   -add better diagnostics for missing/invalid/unwritable state/data
  649   directory.  Thanks: Christian Authmann.
  650 
  651 Version 4.6.3
  652 22 June 2006
  653 
  654   -fix regression: spurious errors thrown when required multidrop retriever
  655   parameter "envelope_recipient" not present in getmailrc file.
  656   Thanks: Elliot Schlegelmilch.
  657   -fix regression: getmail_fetch no longer properly supported external MDAs
  658   because of problems parsing the arguments to them.  Thanks: ?.
  659   -change getmail's handling of regular expressions in the "locals" parameter
  660   of MultiSorter destination to allow it to handle backslashes correctly.
  661   Unfortunately this means complicating the configuration syntax slightly.
  662   Thanks: Tim van der Molen.
  663   -update filters to use new configuration code.  Remove obsolete code.
  664 
  665 Version 4.6.2
  666 8 June 2006
  667 
  668   -fix regression introduced in 4.6.0 where atime on mbox files would get
  669   updated (i.e. not set back), making it difficult for other programs to
  670   tell if there was new mail or not without actually opening the mbox.
  671   Thanks: Tim van der Molen.
  672 
  673 Version 4.6.1
  674 31 May 2006
  675 
  676   -fix attribute deletion error with Filter_classifier when strip_delivered_to
  677   is set.  Thanks: Darren Stevens.
  678   -do not consider qmail-local writing to stderr a delivery error.
  679   Thanks: Darren Stevens.
  680 
  681 Version 4.6.0
  682 5 April 2006
  683 
  684   -clean up logger API.
  685   -refactor configuration mechanism to use classes with embedded logic,
  686   rather than simply dictionaries.
  687 
  688 Version 4.5.4
  689 14 February 2006
  690 
  691   -added Maildir "filemode" parameter.  Thanks:  Martin Haag.
  692 
  693 Version 4.5.3
  694 8 February 2006
  695 
  696   -keyfile and certfile parameters to SSL retrievers are now expanded for
  697   leading "~/" and "~username/" as well as environment variables, just like
  698   other path parameters.  Thanks:  Fredrik Steen.
  699 
  700 Version 4.5.2
  701 7 February 2006
  702 
  703   -fix IMAP bug where no mail was retrieved introduced in 4.5.0.  Thanks:
  704   Scott Robbins.
  705 
  706 Version 4.5.1
  707 3 February 2006
  708 
  709   -fix accidental use of sorted() builtin only present in Python 2.4 and up.
  710   Thanks:  Jürgen Nagel.
  711 
  712 Version 4.5.0
  713 1 February 2006
  714 
  715   -add delete_dup_msgids option to non-multidrop POP3 retrievers.
  716   Thanks: Matthias Andree.
  717   -suppress stack trace in getmail_fetch error message when configuration error
  718   detected.  Thanks: Dave Jarvis.
  719   -documentation updates.
  720   -build and development environment changes.  The plaintext versions of the
  721   documentation are now generated with links instead of lynx.
  722   -explicitly log the reason for not retrieving a message (seen or oversized).
  723   Thanks: Payal Rathod.
  724 
  725 Version 4.4.4
  726 3 January 2006
  727 
  728   -improve parsing of flags in IMAP responses.  Thanks: Gareth McCaughan.
  729 
  730 Version 4.4.3
  731 1 December 2005
  732 
  733   -fix harmless copy and paste error in IMAPRetrieverBase class.  Thanks: Henry
  734   Miller.
  735 
  736 Version 4.4.2
  737 13 November 2005
  738 
  739   -fix logging import in corrupt messages with Python 2.3.  Thanks: Marco Ferra.
  740 
  741 Version 4.4.1
  742 10 November 2005
  743 
  744   -work around bug in Python which meant POP3-over-SSL with Python >= 2.4
  745   could "hang" (it's exactly the same bug that affected getmail's initial
  746   IMAP-over-SSL code).
  747 
  748 Version 4.4.0
  749 9 November 2005
  750 
  751   -add new POP3-over-SSL initialization class, which is automatically used
  752   when Python 2.4 or newer is in use.  This reduces the overhead involved
  753   in retrieving messages from a POP3SSL server (reduces systime about 35%,
  754   user time about 50%, wall time 10-30%).  Thanks: Jan Vereecke.
  755   -add getmail_fetch configuration-less commandline POP retriever, perfect
  756   for scripting use.  Development of getmail_fetch was sponsored by
  757   Texas Communications.
  758   -future proofing: eliminate relative imports within getmailcore package.
  759 
  760 Version 4.3.14
  761 2 November 2005
  762 
  763   -Fix copy and paste error that caused BrokenUIDLPOP3SSLRetriever to default
  764   to port 110.  Thanks: Daniel Burrows via Fredrik Steen.
  765 
  766 Version 4.3.13
  767 15 October 2005
  768 
  769   -add BrokenUIDLPOP3SSLRetriever as SSL version of BrokenUIDLPOP3Retriever,
  770   based on an idea by a user of the Debian package.  Thanks: Daniel Burrows,
  771   Fredrik Steen.
  772 
  773 Version 4.3.12
  774 13 October 2005
  775 
  776   -remove deprecated "strict" argument from message/header parsing calls.
  777   While it was possible to suppress the warning that resulted when using
  778   Python 2.4,  it appears many getmail users couldn't bother to do that
  779   and complained to me instead.
  780 
  781 Version 4.3.11
  782 16 June 2005
  783 
  784   -getmail could previously record an envelope return path header of "<<>>".
  785   Fixed.  Thanks: Fredrik Steen.
  786 
  787 Version 4.3.10
  788 19 May 2005
  789 
  790   -bugfix for missing import.  Thanks: Matthias Andree.
  791 
  792 Version 4.3.9
  793 18 May 2005
  794 
  795   -for multidrop retrievers, change the way the envelope recipient header
  796   field is parsed, to prevent odd values from being interpreted as multiple
  797   addresses when they look like an 822-style address group.  Thanks: "aal".
  798   -try to avoid parsing message bodies, in case they're corrupt or invalid.
  799   Thanks: Michael Gold.
  800 
  801 Version 4.3.8
  802 6 May 2005
  803 
  804   -change (again) handling of deleted messages vs. connection that dies.
  805   Inability to send QUIT to POP3 server should be less problematic now.
  806   -improve housekeeping of old message state file.  Thanks: Thomas Schwinge.
  807 
  808 Version 4.3.7
  809 1 May 2005
  810 
  811   -add error message for missing mboxrd file.  Thanks: Marco Ferra.
  812   -change handling of connection that dies vs. deleted messages.
  813   Thanks: Thomas Schwinge.
  814 
  815 Version 4.3.6
  816 8 April 2005
  817 
  818   -broke BrokenUIDLPOP3Retriever when I added the forget_deleted parameter
  819   to the retrievers base class; now fixed.  Thanks: Georg Neis.
  820 
  821 Version 4.3.5
  822 3 April 2005
  823 
  824   -make getmail less conservative about remembering messages as already-seen
  825   when unrelated errors occur after successfully delivering them.
  826   Thanks: Thomas Schwinge.
  827 
  828 Version 4.3.4
  829 14 March 2005
  830 
  831   -documentation changes; getmail v4 cannot run natively on Windows.  Use
  832   Cygwin if you must run on a Windows platform; this works.
  833   -remove some Windows-specific code.
  834 
  835 Version 4.3.3
  836 19 February 2005
  837 
  838   -previously, for safety, getmail would re-retrieve messages after a session
  839   that encountered errors.  However, getmail had enough information to safely
  840   remember those messages that had been successfully delivered.  This behaviour
  841   has been changed, to avoid delivering duplicate messages where it isn't
  842   necessary.  Thanks: Thomas Schwinge.
  843   -in output/log files, getmailrc files are now specified only by filename,
  844   instead of by complete paths.  This will prevent some overly-long output
  845   lines.
  846   -add Windows versions of functions to lock/unlock files, so mbox delivery
  847   can be used on Windows.  Thanks: Felix Schwarz.
  848 
  849 Version 4.3.2
  850 5 February 2005
  851 
  852   -previously, if an SSL POP3 or IMAP server abruptly closed the connection
  853   before getmail could finish logging in, getmail would exit instead of
  854   proceeding to the next configured mail account.  Fixed.  Thanks: Matthias
  855   Andree, Frank Benkstein, Thomas Schwinge.
  856   -eliminate duplicate Return-Path: header fields.  Thanks: Angles Puglisi.
  857 
  858 Version 4.3.1
  859 18 January 2005
  860 
  861   -some IMAP errors would cause getmail to raise an exception, instead of
  862   gracefully proceeding with the next configured mail account.  Fixed.
  863   Thanks: Matthias Andree.
  864 
  865 Version 4.3.0
  866 10 January 2005
  867 
  868   -add BrokenUIDLPOP3Retriever class to support servers that do not implement
  869   the UIDL command, or which fail to uniquely identify messages using it.
  870 
  871 Version 4.2.6
  872 2 January 2005
  873 
  874   -add new error message and documentation for POP3 servers that cannot
  875   uniquely identify messages in a mailbox.  Thanks: Thomas Schwinge.
  876 
  877 Version 4.2.5
  878 8 December 2004
  879 
  880   -fix typo in getmailcore/exceptions.py that would raise a NameError
  881   exception in certain rare cases.  Thanks: Gour ?.
  882 
  883 Version 4.2.4
  884 22 November 2004
  885 
  886   -one type of filter error would cause getmail to skip to the next configured
  887   mail account, rather than simply proceeding to the next message from the
  888   same account.  Fixed.  Thanks: Adrien Beau.
  889   -documentation updates.
  890 
  891 Version 4.2.3
  892 18 November 2004
  893 
  894   -documentation updates.
  895   -getmailrc examples file updated.  Thanks: Scott Robbins.
  896   -clarify error message when user insecurely tries to deliver mail as GID 0.
  897 
  898 Version 4.2.2
  899 11 October 2004
  900 
  901   -in child delivery processes, change real as well as effective uid/gid.
  902   Thanks: David Watson.
  903   -handle corrupted oldmail file better.  Thanks: Matthias Andree.
  904 
  905 Version 4.2.1
  906 8 October 2004
  907 
  908   -set message attributes on corrupt container objects to prevent problems
  909   with destinations that expect multidrop-retrieved messages.
  910   Thanks: Harry Wearne.
  911   -move tests for existence of file from mbox destination initialization
  912   to delivery method, and change error from configuration to delivery error.
  913   Thanks: David Watson.
  914 
  915 Version 4.2.0
  916 18 September 2004
  917 
  918   -SECURITY: previous versions of getmail contain a security vulnerability.
  919   A local attacker with a shell account could exploit a race condition (or a
  920   similar symlink attack) to cause getmail to create or overwrite files in a
  921   directory of the local user's choosing if the system administrator ran getmail
  922   as root and delivered messages to a maildir or mbox file under the control of
  923   the attacker, resulting in a local root exploit.  Fixed in versions 4.2.0
  924   and 3.2.5.
  925   This vulnerability is not exploitable if the administrator does not deliver
  926   mail to the maildirs/mbox files of untrusted local users, or if getmail is
  927   configured to use an external unprivileged MDA.  This vulnerability is
  928   not remotely exploitable.
  929   Thanks: David Watson.  My gratitude to David for his work on finding and
  930   analyzing this problem.
  931   -Now, on Unix-like systems when run as root, getmail forks a child
  932   process and drops privileges before delivering to maildirs or mbox files.
  933   getmail will absolutely refuse to deliver to such destinations as root;
  934   the uid to switch to must be configured in the getmailrc file.
  935   -revert behaviour regarding delivery to non-existent mbox files.  Versions
  936   4.0.0 through 4.1.5 would create the mbox file if it did not exist; in
  937   versions 4.2.0 and up, getmail reverts to the v.3 behaviour of refusing
  938   to do so.
  939 
  940 Version 4.1.5
  941 13 September 2004
  942 
  943   -getmail would not delete messages from the server if it was configured not
  944   to retrieve them and the delete_after directive was not in use (i.e. user
  945   normally left messages on server but occasionally wanted to force-delete
  946   them).  Fixed.  Thanks:  Frankye Fattarelli.
  947 
  948 Version 4.1.4
  949 1 September 2004
  950 
  951   -change failure of a message filter to produce at least as many mail headers
  952   as it was provided from a non-fatal error to warning.  If your filter strips
  953   headers, getmail will now warn you about it, but will not consider it an
  954   error.
  955   -documentation additions.
  956 
  957 Version 4.1.3
  958 31 August 2004
  959 
  960   -enhance warning diagnostics about non-accessible or non-writable maildirs.
  961   -change method of determining name of local host; only fall back to
  962   getfqdn() if the result of gethostname() does not contain a dot.
  963   -documentation enhancements.
  964 
  965 Version 4.1.2
  966 28 August 2004
  967 
  968   -dumping config would raise an exception since 4.1.0; fixed.
  969   Thanks: Ilya Krel.
  970 
  971 Version 4.1.1
  972 27 August 2004
  973 
  974   -getmail raised an exception after processing all accounts, while printing
  975   a summary, if verbose was set to 2.  Fixed.  Thanks:  Matthias Andree.
  976 
  977 Version 4.1.0
  978 24 August 2004
  979 
  980   -biggest change is multiple verbosity levels.  To support this from rc file,
  981   the verbose parameter had to change from a boolean to an integer.  Update
  982   your getmail rc files:  for quiet, set verbose to 0.  For more output,
  983   set it to 1 or 2.  2 includes info about messages not retrieved, etc.
  984   -add rc filename to error messages
  985   -change fix from 4.0.11 for email module raising exception during .flatten().
  986   Thanks:  Jürgen Nagel.
  987   -some types of SSL error could cause getmail to exit instead of
  988   continuing to the next mail account; fixed.  Thanks:  Matthias Andree.
  989 
  990 Version 4.0.13
  991 19 August 2004
  992 
  993   -unrecognized parameters could trigger a traceback instead of a warning.
  994   Fixed.  Thanks: Frankye Fattarelli.
  995 
  996 Version 4.0.12
  997 19 August 2004
  998 
  999   -forgot to add the new Message attribute (from 4.0.11) to its slots
 1000   declaration.  Fixed.
 1001 
 1002 Version 4.0.11
 1003 18 August 2004
 1004 
 1005   -change oldmail file writing to save a few bytes of disk space
 1006   -documentation additions.
 1007   -Python's standard library email.Message().flatten() could barf on certain
 1008   types of badly mis-formatted messages (instead of the during instantiation,
 1009   like the /other/ buggy cases).  Hope this is fixed in Python 2.4.  Developed
 1010   a work-around for getmail.  Thanks:  Jürgen Nagel.
 1011   -changes to "normal" output of getmail to make it slightly less verbose.
 1012 
 1013 Version 4.0.10
 1014 12 August 2004
 1015 
 1016   -cosmetic fix to output:  add whitespace after timestamp when not retrieving
 1017   message.  Thanks: Matthias Andree.
 1018   -include MANIFEST.in in source distribution, to assist users in building
 1019   "built distributions" from it.
 1020   -change a few output messages' level to make verbose mode slightly less
 1021   verbose, and add --debug switch to get "more verbose" behaviour.
 1022 
 1023 Version 4.0.9
 1024 9 August 2004
 1025 
 1026   -fix cosmetic error for IMAP mailboxes with 0 messages in them.
 1027   -change method of obtaining uidvalidity from IMAP server and remove wrapper.
 1028   -previously, connecting to an IMAP-SSL server could fail if a non-SSL
 1029   IMAP connection were attempted immediately before.  This was due to
 1030   the Python bug discussed here:
 1031   http://sourceforge.net/tracker/index.php?func=detail&aid=945642&group_id=5470&atid=305470
 1032   Implemented a workaround for getmail.  Thanks: Payal Rathod.
 1033 
 1034 Version 4.0.8
 1035 6 August 2004
 1036 
 1037   -add an extra error message if you ask getmail to deliver to a maildir,
 1038   but getmail can't check the contents of it due to permissions.
 1039   Thanks: Clemens Buschmann.
 1040   -fix breakage introduced in 4.0.7: getmail would forget a message was "seen"
 1041   after a cycle of not retrieving it.  Thanks: Payal Rathod.
 1042 
 1043 Version 4.0.7
 1044 5 August 2004
 1045 
 1046   -change failure of a message filter to produce at least as many mail headers
 1047   as it was provided from a fatal to a non-fatal error.  The message will
 1048   be skipped.  Thanks: Payal Rathod.
 1049   -a few non-conformant IMAP4 servers don't implement SEARCH, so getmail
 1050   couldn't get a list of UIDs.  Changed to use FETCH instead.
 1051   Thanks: Matthias Andree.
 1052   -prevent traceback if IMAP SSL connection closed during connect().
 1053   Thanks: Payal Rathod.
 1054   -add warning if unknown parameters are supplied to a retriever, filter,
 1055   or destination.
 1056   -write subclasses of Python imaplib classes to work around missing
 1057   UIDVALIDITY select() response.  Add it to the state getmail keeps.
 1058   Thanks:  Matthias Andree.
 1059   -move message state saving to later, so getmail doesn't falsely remember
 1060   having handled a message.  Thanks:  Matthias Andree.
 1061   -change location of documentation/man pages to
 1062   <prefix>/share/{doc/getmail,man}/ to be more comformant with the FHS.
 1063   -documentation updates
 1064 
 1065 
 1066 Version 4.0.6
 1067 4 August 2004
 1068 
 1069   -if the connection failed in a certain way, getmail could forget which
 1070   messages it had already retrieved, and therefore retrieve them again when
 1071   the next successful connection occurred.  Fixed.  Thanks: Wim Uyttebroek.
 1072   -add win32 executable installer as third download option.
 1073 
 1074 Version 4.0.5
 1075 3 August 2004
 1076 
 1077   -add additional error handler for certain network errors with POP3-over-SSL
 1078   connections.  Thanks: Frank Benkstein.
 1079   -rename retriever class for Demon UK:  it should have been SDPS; my
 1080   transposition.  Thanks: Paul Howarth.
 1081 
 1082 Version 4.0.4
 1083 2 August 2004
 1084 
 1085   -corrupt-message handler introduced in 4.0.1 needed tweaking.
 1086   Thanks: Bernhard Riedel.
 1087 
 1088 Version 4.0.3
 1089 2 August 2004
 1090 
 1091   -some types of socket errors would raise an exception instead of letting
 1092   getmail gracefully continue; fixed.  Thanks: David.
 1093   -documentatation updates; fix two typos and add to the section on using
 1094   ClamAV with getmail.
 1095   -changes to my release process; the current version's URL will not change
 1096   when a new version is released.  See, I try to help others, even when they
 1097   don't do the same...
 1098 
 1099 Version 4.0.2
 1100 30 July 2004
 1101 
 1102   -trying to use MDA_qmaillocal destination with a non-multidrop retriever
 1103   would raise an exception instead of printing a configuration error message.
 1104   Fixed.  Thanks: Clemens Buschmann.
 1105 
 1106 Version 4.0.1
 1107 26 July 2004
 1108 
 1109   -documentation fixes.  Thanks: Roland Hill.
 1110   -add handler for badly-misformatted messages as a workaround for
 1111   Python 2.3.x, where the email module can raise exceptions while parsing
 1112   messages.  Thanks: Paul.
 1113 
 1114 Version 4.0.0
 1115 23 July 2004
 1116 
 1117   -exit beta; final release of version 4.0.0, with approximately four thousand
 1118   lines (~150 kbytes) of Python code and five thousand lines (~180 kbytes) of
 1119   documentation.
 1120 
 1121 Version 4.0.0b10
 1122 21 July 2004
 1123 
 1124   -documentation updates and cleanups
 1125   -add MultiGuesser destination; it's like MultiSorter, but guesses at the
 1126   message recipient based on addresses found in the message header, to be
 1127   used for mail sorting if you don't have a proper domain/multidrop mailbox.
 1128   -consolidate initialization code from retrievers to RetrieverSkeleton base
 1129   class.
 1130   -slight change to main script and retriever base classes to change the
 1131   way the retriever objects are destroyed and garbage-collected
 1132   -get rid of unneeded hostname variable in MultiDestinationBase
 1133   -add "Summary:" header line to main script output in verbose mode
 1134   -wrap code for 80 columns
 1135   -fix error message when a filter doesn't return a message properly.
 1136   Thanks: Shantanu Kulkarni.
 1137 
 1138 Version 4.0.0b9
 1139 19 July 2004
 1140 
 1141   -change syntax of MultiSorter's locals parameter.  The previous syntax was
 1142   fragile and was mostly a holdover from previous versions; it is now a tuple of
 1143   items, each of which is a 2-tuple of quoted strings.
 1144   -add Python version to --dump output.
 1145   -eliminate redundant _confstring() method in _retrieverbases.py.
 1146   -small documentation updates.
 1147 
 1148 Version 4.0.0b8
 1149 18 July 2004
 1150 
 1151   -documentation updates.
 1152   -include RPM build.  Rapidly approaching release state.
 1153 
 1154 Version 4.0.0b7
 1155 17 July 2004
 1156 
 1157   -changes to an "impossible" error handler in _child_handler(), just in case.
 1158   -move some code from destinations.MultiSorter() into new MultiDestinationBase
 1159   base class.
 1160   -fix MultiDestinationBase._get_destination()
 1161   -add MultiDestination class to deliver messages to multiple destinations
 1162   unconditionally.
 1163   -cosmetic fixes to output
 1164 
 1165 Version 4.0.0b6
 1166 15 July 2004
 1167 
 1168   -move common child-handling code out of filters and destinations into new
 1169   baseclasses.ForkingBase() class.
 1170   -add __all__ declarations to modules that were missing them, to help prevent
 1171   namespace clutter for others
 1172 
 1173 Version 4.0.0b5
 1174 15 July 2004
 1175 
 1176   -apply the child fix from b3 to Filter_classifier; I missed this in the
 1177   update.  Thanks: Dave Osbourn.
 1178   -cosmetic fix for output describing filters and destination objects.
 1179   Thanks: Dave Osbourn.
 1180   -catch configuration error of non-multidrop retriever with multidrop-only
 1181   destination.  This broke when I cleaned up the message attribute interface
 1182   in alpha 29.  Thanks: Dominik Kacprzak.
 1183 
 1184 Version 4.0.0b4
 1185 14 July 2004
 1186 
 1187   -remove unneeded code raising a ConfigurationError in Filter_TMDA
 1188   -clean up output for Maildir, Mboxrd destinations and getmail_maildir
 1189   script, messages dropped by filters, various other bits
 1190   -add --show-default-install-dirs to setup.py
 1191   -documentation updates, including more clarification and examples of
 1192   installation options
 1193   -tweak to getmail manpage.  Thanks: Frankye Fattarelli.
 1194 
 1195 Version 4.0.0b3
 1196 13 July 2004
 1197 
 1198   -different fix for the reaping child problem.  This one tested by Paul
 1199   and confirmed working on Mandrake 10's kernel.
 1200   -add Filter_TMDA filter class.
 1201   -changes to setup.py to account for --install-data specifying a non-default
 1202   path for the documentation and man pages
 1203 
 1204 Version 4.0.0b2
 1205 13 July 2004
 1206 
 1207   -documentation fixes regarding installation.  Thanks: Emily Jackson.
 1208   -do environment variable expansion in paths and arguments (before
 1209   substitutions like %(sender), etc) in addition to expanding leading
 1210   ~/ or ~user/ .  Thanks: Paul.
 1211   -try change to code which reaps child processes; the previous code failed
 1212   on a few Linux systems (perhaps the ones where the kernel changed
 1213   fork() behaviour to run the child first?)  Reported by Paul.
 1214 
 1215 Version 4.0.0b1
 1216 10 July 2004
 1217 
 1218   -first beta release
 1219   -add missing os import to getmail_maildir
 1220   -fix received_by in getmail_mbox and don't create Received: header
 1221   -a handful of trivial changes to make the code idiomatically consistent
 1222   -fix to oldmail file writing
 1223   -documentation updates
 1224 
 1225 Version 4.0.0a30
 1226 8 July 2004
 1227 
 1228   -documentation updates
 1229   -change header-adding code from filters to a method in Message class.  Thanks:
 1230   Frankye Fattarelli.
 1231   -make MultiSorter pass retriever info down to its sub-destinations.  This
 1232   fixes a problem reported by Frankye Fattarelli.
 1233 
 1234 Version 4.0.0a29
 1235 8 July 2004
 1236 
 1237   -flesh out the getmailrc-examples file (note that it's been renamed from
 1238   getmailrc-example)
 1239   -clean up message attributes.  Make Message() class.  Move flatten_msg()
 1240   out of utilities and make it into a Message method.  Remove header-length
 1241   checking when generating flattened representation of message.  Change
 1242   callers to use the new class.
 1243   -move SENDER check from deliver_maildir() to getmail_maildir where it
 1244   belongs.
 1245   -update the miscellaneous documentation files
 1246   -last alpha, I think
 1247 
 1248 Version 4.0.0a28
 1249 7 July 2004
 1250 
 1251   -documentation additions and changes.
 1252   -add manpages for getmail, getmail_maildir, getmail_box.  These go in
 1253   PREFIX/man/man1/.
 1254 
 1255 Version 4.0.0a27
 1256 4 July 2004
 1257 
 1258   -documentation fixes and additions.  Split documentation into
 1259   reasonably-sized files.  I need to add inter- and intra-document links
 1260   to most of the documentation yet.
 1261   -add auto-generated tables of contents to each doc file.
 1262   -start flushing out the website with copies of the docs, download directories,
 1263   etc.
 1264 
 1265 Version 4.0.0a26
 1266 4 July 2004
 1267 
 1268   -add explicit checks for multidrop classes to prevent users from incorrectly
 1269   specifying certain header fields as recording the envelope recipient address
 1270   -documentation fixes and additions
 1271 
 1272 Version 4.0.0a25
 1273 2 July 2004
 1274 
 1275   -add handler for KeyboardInterrupt.  Thanks: Thomas Schwinge.
 1276   -change setup script to not error if the specified directory prefix doesn't
 1277   exist.  Thanks: Thomas Schwinge.
 1278   -pass retriever protocol info to filters.  Thanks:  Frankye Fattarelli.
 1279   -first inclusion of "real" documentation.  See docs/documentation.html or its
 1280   plaintext counterpart docs/documentation.txt.
 1281 
 1282 Version 4.0.0a24
 1283 1 July 2004
 1284 
 1285   -setup script/distutils changes.  The setup.py script now looks for
 1286   --prefix or --home specifying an alternate installation directory, and
 1287   otherwise defaults to the hierarchy that Python was installed to.
 1288   /usr/share/doc/ or similar is no longer hardcoded anywhere.
 1289 
 1290 Version 4.0.0a23
 1291 1 July 2004
 1292 
 1293   -changes to MDA_qmaillocal:  add "group" parameter, and make "user"
 1294   parameter also have getmail change UID before invoking qmail-local.
 1295   -change two instances of socket.gethostname() to socket.getfqdn()
 1296   -change localparttranslate to localpart_translate
 1297   -add explicit checks for socket.ssl(), which is optional.  Raise
 1298   getmailConfigurationError if they're not present and the user tries
 1299   to use it.  Thanks: Thomas Schwinge.
 1300   -fix missing received_by in destinations.  Thanks: Frankye Fattarelli and
 1301   Andrew Raines.
 1302 
 1303 Version 4.0.0a22
 1304 30 June 2004
 1305 
 1306   -MultiSorter default destination can now be a named destination section as
 1307   well, so postmaster mail can go to an external MDA, etc.
 1308   -deliver_maildir writes out a new Return-Path: header field if SENDER
 1309   is set.
 1310   -include getmail_maildir and getmail_mbox delivery scripts for use as
 1311   MDAs with other programs.
 1312   -add starting/finishing log lines for each retriever
 1313   -change eval_bool to raise exception on unexpected values, rather than
 1314   using Python's native idea of what is boolean True and False
 1315   -ensure no message has partial final line regardless of delivery method.
 1316   Thanks: Thomas Schwinge.
 1317   -get rid of msg_lines(), mbox_timestamp() and their only callers.
 1318   -add the Delivered-To: and Received: header creation like getmail v.3 had,
 1319   and boolean options delivered_to and received to allow the user to disable
 1320   them.  This necessitates adding some data attributes to retriever classes
 1321   and additional code to destination classes and utilities.
 1322   Thanks: Thomas Schwinge.
 1323   -drop .py suffix on the name of the main getmail script
 1324   -declare the three scripts to be scripts instead of modules (for distutils)
 1325   -some fixups to the distutils setup script.  If files or directories
 1326   are still installed with "wrong" permissions (like 0600/0700 instead of
 1327   0644/0755), please let me know.
 1328   -a few miscellaneous fixups
 1329   -heading for beta, working on documentation ...
 1330 
 1331 Version 4.0.0a21
 1332 27 June 2004
 1333 
 1334   -leave Return-Path header field alone for program deliveries.  Thanks:
 1335   Andrew Raines.
 1336 
 1337 Version 4.0.0a20
 1338 25 June 2004
 1339 
 1340   -fix typo in Filter_classifier
 1341   -wrap additional exception check around executing subprocesses to ensure
 1342   nonzero exit on error
 1343   -finish MDA_qmaillocal address handling and add strip_delivered_to
 1344   parameter.  Document MDA_qmaillocal.
 1345   -change email module import in utilities.py.  Submit bug report to
 1346   Python bug tracker.  Thanks: Frankye Fattarelli.
 1347 
 1348 Version 4.0.0a19
 1349 24 June 2004
 1350 
 1351   -bring some docstrings, comments, and documentation up to date.
 1352   -add Filter_classifier filter module, to support adding information
 1353   to the message header from programs that don't provide the original message
 1354   back on stdout (like clamscan/clamdscan, apparently).  Thanks: Frankye
 1355   Fattarelli.
 1356   -missed seek(0) in msg_flatten().  Add missing imports.
 1357   Thanks: Andrew Raines.
 1358 
 1359 Version 4.0.0a18
 1360 24 June 2004
 1361 
 1362   -add msg_flatten(), msg_lines() and use them exclusively to prevent
 1363   .as_string() from changing header fields for spurious reasons.
 1364   Thanks: Andrew Raines.
 1365   -remove code doing From_-escaping in Mboxrd and let the email module do it.
 1366   -fix copy & paste errors in change_uidgid().  Thanks: Andrew Raines.
 1367   -catch timeouts
 1368 
 1369 Version 4.0.0a17
 1370 23 June 2004
 1371 
 1372   -add exitcodes_keep and exitcodes_drop parameters to Filter_external.
 1373   Thanks: Frankye Fattarelli.
 1374 
 1375 Version 4.0.0a16
 1376 23 June 2004
 1377 
 1378   -add user and group, and allow_root_commands parameters to MDA_external
 1379   destination and Filter_external filter classes.
 1380   -make import pwd fail gracefully for Windows, etc.
 1381   -add allow_root_commands parameter to MDA_external destination and
 1382   Filter_external filter classes to force overriding of running external
 1383   commands as root.
 1384   -pass reference to configparser to retriever, destination, and filters
 1385   -add MultiSorter destination of "[section]" which invokes another
 1386   destination from the same getmail rc file.  Use this to deliver to programs
 1387   by including an MDA_external destination in a section named [foo] in the
 1388   rc file, then specify that section name in the MultiSorter in the locals
 1389   part, i.e.
 1390     [destination]
 1391     type = MultiSorter
 1392     postmaster = /path/to/maildir/
 1393     locals = joe /path/to/maildir/
 1394       sam /path/to/mbox/
 1395       chris [myprogram]
 1396     [myprogram]
 1397     type = MDA_external
 1398     path = /usr/local/bin/mymda
 1399     arguments = ("--strip-attachments", "-f%(sender)", "--fast")
 1400   Don't try to cause a loop using this to point to itself.  You have been
 1401   warned.
 1402   -MultiSorter is now a little stricter about destination names.  A maildir
 1403   (after any tilde expansion, if applicable) must start with "." or "/" and
 1404   end with "/".  An mboxrd (after any tilde expansion, if applicable) must
 1405   start with "." or "/".  This means if you previous had something like:
 1406     locals = sam@example.net subdir/maildir/
 1407   You'll need to change it to:
 1408     locals = sam@example.net ./subdir/maildir/
 1409   Of course,
 1410     locals = sam@example.net ~sam/maildir/
 1411   is already okay if sam is a valid user and has a valid home directory.
 1412   -add message_log_syslog
 1413 
 1414 Version 4.0.0a15
 1415 22 June 2004
 1416 
 1417   -add summary "Retrieved X messages for ..." for each rc file at program
 1418   close.  Thanks: Frankye Fattarelli.
 1419   -add explicit delete of retriever after quit() to try to force writing
 1420   oldmail file immediately instead of at garbage collection.  Python makes
 1421   no guarantees about when garbage collection takes place, so this won't be
 1422   perfect.  Thanks: Julian Gomez.
 1423   -add message_log
 1424   -add traceback formatting on exception
 1425   -change --dump to include filters.  Change order of operations.
 1426 
 1427 Version 4.0.0a14
 1428 22 June 2004
 1429 
 1430   -fix IMAP-over-SSL.  socket.ssl objects are apparently incompatible with
 1431   socket timeouts, even in the IMAP_SSL class.
 1432   -ensure --trace debugging output doesn't output passwords.
 1433   Thanks: Julian Gomez.
 1434   -IMAP classes would stop indexing mailboxes when they hit an empty one.
 1435   Fixed.  Thanks: Julian Gomez.
 1436 
 1437 Version 4.0.0a13
 1438 21 June 2004
 1439 
 1440   -add missing default for max_messages_per_session.  Thanks:  Frankye
 1441   Fattarelli.
 1442 
 1443 Version 4.0.0a12
 1444 21 June 2004
 1445 
 1446   -slight change to quit() to ensure old connections are closed
 1447   and garbage-collected before trying to make new ones.  Thanks:  Frankye
 1448   Fattarelli.
 1449   -move default documentation directory to /usr/local/share/doc/ .
 1450   -filters.py now checks that the filtered message is at least basically
 1451   sane in that it has a header no shorter than the message it was supplied.
 1452   Let me know if this causes problems.
 1453   -add and document max_messages_per_session
 1454 
 1455 Version 4.0.0a11
 1456 21 June 2004
 1457 
 1458   -add MultidropIMAPRetriever and MultidropIMAPSSLRetriever
 1459   -add move_on_delete parameter to all IMAP retrievers.
 1460   -add and document delete_after and max_message_size options
 1461   -document read_all and delete options
 1462   -rename pop3ssl.py
 1463   -fix --quiet.  i.e., getmail should again operate truly silently if you
 1464   want it to.
 1465   -retrievers' quit() method wasn't getting called.  Fix.  Thanks: Frankye
 1466   Fattarelli.
 1467 
 1468 Version 4.0.0a10
 1469 19 June 2004
 1470 
 1471   -fix the retrieve-every-other-message bug when delete == True.
 1472   -move base classes out of retrievers.py into _retrieverbases.py
 1473   -fix exception when retrieving mail from an empty IMAP account
 1474 
 1475 Version 4.0.0a9
 1476 19 June 2004
 1477 
 1478   -accidentally edited initialize() in the wrong class; it broke POP3.
 1479   This update should fix it.
 1480 
 1481 Version 4.0.0a8
 1482 18 June 2004
 1483 
 1484   -fix 6 instances of getmailConfirurationError typo in retrievers.py
 1485   -finish basics of IMAP support -- i.e., it successfully retrieves mail.
 1486   delete might not work yet.  IMAP-over-SSL /might/, but the server I was
 1487   testing against wasn't working with SSL (no connection).
 1488   -handle email.Utils.getaddresses returning None.  Thanks:  Frankye Fattarelli.
 1489   -fix default port for MultidropPOP3SSLRetriever.
 1490 
 1491 Version 4.0.0a7
 1492 17 June 2004
 1493 
 1494   -debug and rewrite POP3-over-SSL functionality.  Involved writing around
 1495   some ugly limitations and kludges in Python's socket.ssl and poplib.POP3
 1496   code.  But POP3-over-SSL actually works now, and is fairly clean.
 1497   Let me know if it hangs; I might need to change the way blocking mode is
 1498   handled on the underlying socket.
 1499 
 1500 Version 4.0.0a6
 1501 16 June 2004
 1502 
 1503   -add pseudofile class to implement readline() and sslwrapper to implement
 1504   sendall() on ssl objects.
 1505   ssl objects in Python don't behave like a file, or like a socket; they're just
 1506   ... broken. It's a deficiency in the Python standard library.
 1507   This might make POP3-over-SSL work, or it might need more work yet.  I've
 1508   got it talking some SSL, but it hangs at the moment.  Might be blocking
 1509   in read().
 1510   -move Mboxrd file locking to _deliver_message().  Thanks:  Frankye Fattarelli.
 1511   -make --trace more useful and add extra debug info to main script.
 1512   -eliminate noise from defaults in non-[options] section processing
 1513   -found Python's ConfigParser .getboolean() method failed when the passed-in
 1514   default was a non-string.  Maybe I should have stayed with my own
 1515   replacement configuration parser, as it properly handled this case ...
 1516   submitted a patch to the Python bug tracker and added a workaround to
 1517   getmail for the moment.
 1518   -/really/ enable delete and read_all in [options] of rc file.
 1519 
 1520 Version 4.0.0a5
 1521 16 June 2004
 1522 
 1523   -document tuple syntax.  Thanks:  Frankye Fattarelli.
 1524   -fix "filters" name collision in script.  Thanks:  Frankye Fattarelli.
 1525 
 1526 Version 4.0.0a4
 1527 15 June 2004
 1528 
 1529   -fix default values in three classes' parameters which previously relied
 1530   on type conversion.  Thanks: Andrew Raines.
 1531   -fix default port for POP3-over-SSL and "username" parameter in documentation.
 1532   Thanks: Frankye Fattarelli.
 1533   -enable delete and read_all in [options] of rc file.  Change handling of
 1534   verbose.
 1535 
 1536 Version 4.0.0a3
 1537 15 June 2004
 1538 
 1539   -fix typo in processing filters.  Thanks: K. Shantanu.
 1540   -fix typo in processing non-default parameters.  Thanks: Andrew Raines.
 1541   -document SSL retrievers
 1542   -move retrievers.py configuration functionality into ConfigurableBase class
 1543   -convert filters.py to use ConfigurableBase
 1544   -convert destinations.py to use ConfigurableBase
 1545 
 1546 Version 4.0.0a2
 1547 14 June 2004
 1548 
 1549   -fix default/'default' in filters module.  Thanks: Andrew Raines.
 1550   -add the mix-in classes for SSL support with POP3 classes.  Meant small
 1551   rewrites to the POP3 classes, but the design should be even cleaner now.
 1552 
 1553 Version 4.0.0a1
 1554 14 June 2004
 1555 
 1556   -first alpha release of getmail version 4
 1557 
 1558 
 1559 Changes since getmail version 3
 1560 -------------------------------
 1561 
 1562 -complete rewrite
 1563 -switch to Python version 2.3.3:
 1564   -increased code readability (augmented assignment, list comprehensions,
 1565     string methods, etc)
 1566   -eliminate external modules (ConfParser, timeoutsocket)
 1567   -use standard library modules which have come up to reasonable levels
 1568     of quality and functionality over old custom code (optparse,
 1569     ConfigParser)
 1570   -no longer require workarounds for older, broken standard library modules/
 1571     functions
 1572 -modular, object-oriented framework for retrievers, destinations, filters
 1573   allows extensibility
 1574 -make more platform-agnostic (transparently support system EOL convention,
 1575   etc)
 1576 -support for multiple retriever/account types:
 1577   -POP (single-user, multidrop, SDPS)
 1578   -IMAPv4 (single-user, multidrop)
 1579 -full native support for POP3-over-SSL and IMAP-over-SSL.
 1580 -configuration (rc) file format changes:
 1581   -support multiple rc files per invocation
 1582   -one mail account per rc file