"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