1 2005-12-03 Lars Wirzenius <liw@iki.fi>
3 * I'm switching EoC development to bzr and using commit messages
4 instead of a Changelog. This is the last ChangeLog entry.
6 2005-12-03 Lars Wirzenius <liw@iki.fi>
8 * enemies-of-carlotta.1: Changed - to \- since that is more
9 correct. Added the missing word "pipe" in the description
10 of --moderate. Added note about + vs - in the Postfix regexp
11 example. Documented --show-lists.
13 * eoc.py: Don't append a footer if the message is base64 encoded.
15 2005-04-16 Lars Wirzenius <liw@iki.fi>
17 * templates/*: Changed content dispositions from attachment to
18 inline so that they are shown by default in mailers.
20 2005-04-16 Lars Wirzenius <liw@iki.fi>
22 * templates/bounce-owner-notification, templates/bounce-warning,
23 templates/setlist-confirm: Say "attached" instead of "appended"
26 2005-04-16 Lars Wirzenius <liw@iki.fi>
28 * eoc.py: nice_7bit: Don't treat white space characters as
29 requiring MIME encoding.
31 2005-04-10 Lars Wirzenius <liw@iki.fi>
33 * Making release version 1.1.5.
35 2005-04-10 Lars Wirzenius <liw@iki.fi>
37 * eoc.py, templates/help*: Use "EoC" instead of "Enemies of
38 Carlotta" so as not to scare off users who don't get the movie
39 reference. Did not change filenames, since those are only
40 visible to the listmaster and the listmaster presumably can read
43 2005-04-10 Lars Wirzenius <liw@iki.fi>
45 * eoc.py: Cleaning woman now removes groups without subscribers.
46 They can happen when we add a subscriber to a list when they are
47 there already and were the only member in their group.
49 2005-04-10 Lars Wirzenius <liw@iki.fi>
51 * eoc.py, eocTests.py, enemies-of-carlotta.1: Added option
52 "pristine-headers" to disable header MIME encoding.
54 2005-04-10 Lars Wirzenius <liw@iki.fi>
56 * enemies-of-carlotta.1, eoc.py, eocTests.py,
57 templates/msg-moderate: Applied patches from Pascal Hakim
58 to implement post moderators separately from list owners.
59 If there are no moderators, the list owners are also moderators.
61 2005-04-10 Lars Wirzenius <liw@iki.fi>
63 * eoc.py, eocTest.py, enemies-of-carlotta.1: Applied patch from
64 Jaakko Niemi to implement a feature to optionally ignore bounces.
66 2005-04-10 Lars Wirzenius <liw@iki.fi>
68 * eoc.py, eocTests.py: Fixes for treating addresses in a
69 case in-sensitive manner (but storing in the form that the
72 2005-04-10 Lars Wirzenius <liw@iki.fi>
74 * eoc.py: Don't log debug() to stderr. Log info() and error() first
75 to file, and to stderr only after that. This should avoid problems
76 when MTA's buffer for our stderr output fills up.
78 2005-04-10 Lars Wirzenius <liw@iki.fi>
80 * templates/sub-owner-notification.fi,
81 templates/unsub-owner-notification.fi: Added the missing word
82 "tehdä". Pointed out by Leena Romppainen.
84 2005-04-10 Lars Wirzenius <liw@iki.fi>
86 * Makefile: Installation improvements. Added a mandir variable
87 and made man1dir, man1dires, and man1dirfr dependent on it. This
88 allows the manual dirs to easily be relocated. Also added a
89 command variable to allow renaming of the command in bindir.
91 2004-12-06 Lars Wirzenius <liw@iki.fi>
93 * Making release version 1.1.4.
95 2004-12-06 Lars Wirzenius <liw@iki.fi>
97 * eoc.py: Introduced locking of individual messages to MessageBox.
98 Used this to prevent more than one request for post approval
99 processing from happening at the same time. This should fix the
100 problem found by Pascal Hakim, where several moderators are so
101 fast to reply to a moderation request that the list gets two or
102 more copies of the same message.
104 2004-12-06 Lars Wirzenius <liw@iki.fi>
108 2004-12-05 Lars Wirzenius <liw@iki.fi>
110 * enemies-of-carlotta.1.es: Updated Spanish manual page from
111 Ricardo Javier Cardenes.
113 2004-12-04 Lars Wirzenius <liw@iki.fi>
117 2004-11-27 Lars Wirzenius <liw@iki.fi>
119 * Making release version 1.1.3.
121 2004-11-27 Lars Wirzenius <liw@iki.fi>
123 * eoc.py: If email.Header module is missing, then work as otherwise,
124 but don't MIME encode headers. This should restore the ability to
125 run on Python 2.1 and 2.2.
129 2004-11-27 Lars Wirzenius <liw@iki.fi>
131 * eoc.py: --show-lists now alphabetizes the output.
133 2004-11-27 Lars Wirzenius <liw@iki.fi>
135 * templates/bounce-probe*, templates/sub-already*,
136 templates/unsub-already*: Unused, removed.
138 2004-11-27 Lars Wirzenius <liw@iki.fi>
140 * eoc.py: Added the beginnings of a plugin feature. The only hook
141 for now is "send_mail_to_subscribers_hook" which allows the plugin
142 to manipulate the mail before it is sent to the subscribers.
144 * eoc.py: Added --no-act option to make testing easier.
146 * enemies-of-carlotta.1: Documented the plugins.
148 2004-11-27 Lars Wirzenius <liw@iki.fi>
150 * eoc.py: Made it so that an empty template means the mail is not
151 sent at all. This can be used to prevent, say, "please wait for
152 moderation" messages from being sent on a per-list basis.
154 * enemies-of-carlotta.1: Documented this.
156 2004-11-27 Lars Wirzenius <liw@iki.fi>
158 * eoc.py: Added --version option.
160 2004-11-27 Lars Wirzenius <liw@iki.fi>
162 * eoc.py: Allow setting of more list options with --create or
163 --edit: added new options --language, --mail-on-forced-unsubscribe,
164 --mail-on-subscription-changes.
166 * enemies-of-carlotta.1: Documented them.
168 2004-11-27 Lars Wirzenius <liw@iki.fi>
170 * eoc.py: Added command line options --get and --set.
172 * enemies-of-carlotta.1: Documented them.
174 2004-11-27 Lars Wirzenius <liw@iki.fi>
176 * eocTests.py: Added a test to check that the headers of sent
177 mails are only 7-bit ASCII characters (tab, newline, carriage
178 return, plus 32-126).
180 * eoc.py: Encode outgoing mails to use only 7-bit characters in
181 the headers. This is required for the mails to work correctly
182 with MIME compliant mail readers. Note that this change makes
183 use of the email.Header module in Python 2.3, so with this change
184 the minimum supported Python version is 2.3.
186 * README: Noted Python version requirement change.
188 2004-09-18 Lars Wirzenius <liw@iki.fi>
190 * Making release version 1.1.2.
192 2004-09-18 Lars Wirzenius <liw@iki.fi>
194 * enemies-of-carlotta.1.es: Added manual page translation to
195 Spanish by Ivan Juanes. Nobody expectes the Spanish manual
198 * Makefile: Install the Spanish manual page.
200 2004-09-18 Lars Wirzenius <liw@iki.fi>
202 * eoc.py, templates/*: Implemented suggestion from Magnus Holmgren
203 to make attached messages real MIME attachments rather than
204 just inserting the raw message code into a text/plain message.
205 Also converted all templates to UTF-8, since that makes it
206 easier to edit them for me. Hopefully nothing broke.
208 2004-09-18 Lars Wirzenius <liw@iki.fi>
210 * eoc.py: When an EoC exception occurs, print out a sensible
211 error message about it rather than letting Python print out
214 2004-09-18 Lars Wirzenius <liw@iki.fi>
216 * eoc.py, eocTests.py, enemies-of-carlotta.1: Added support for
217 adding headers to and removing headers from mails sent to the
218 list. See the files headers-to-add and headers-to-remove in the
221 2004-09-12 Lars Wirzenius <liw@iki.fi>
223 * eoc.py, eocTest.py: Added support for $listdir/headers-to-add
224 (but it still needs to be documented).
226 2004-09-03 Lars Wirzenius <liw@iki.fi>
228 * eoc.py, eocTest.py: Some refactoring and new unit tests.
230 2004-08-28 Lars Wirzenius <liw@iki.fi>
232 * Making release version 1.1.1. This release is dedicated to Jaakko
233 Niemi, the winner of the bug finding competition for 1.1.0.
235 2004-08-28 Lars Wirzenius <liw@iki.fi>
237 * enemies-of-carlotta.1: Added note about the "templates" directory
238 in the list specific directory using a patch sent by Jaakko Niemi,
239 who thereby won the bug finding competition.
241 2004-08-26 Lars Wirzenius <liw@iki.fi>
243 * eoc.py: in AddressParser, return the canonical name of the list,
244 instead of converting it to lower case. Also, when opening a list,
245 open using the canonical name rather than one converted to lower
246 case or derived from the incoming mail address. Thanks to Jaakko
247 Niemi for pointing these problems out.
249 * eocTests.py: Improved testing cases when the name of a list is
252 2004-08-26 Lars Wirzenius <liw@iki.fi>
254 * eoc.py, eocTests.py: Bugfix for bug found by Jaakko Niemi.
255 If the list has been created with a name containing upper case,
256 --is-list won't work. Fixed by making AddressParser convert
257 all list names it gets to lower case.
259 * Makefile: Bugfix for bug found by Jaakko Niemi. Used bashism in
260 the install target, which made install not work under dash and
261 other shells. Fixed by manually expanding a {foo,bar} construct.
263 * Makefile: Bugfix for bug found by Jaakko Niemi. qmqp.py was not
264 installed by "make install". Oops.
266 2004-08-24 Lars Wirzenius <liw@iki.fi>
268 * eoc.py: Changed md5sum_as_hex to use .hexdigest() instead of
269 doing the hex conversion manually. I should read more manuals.
270 Thanks to Magnus Holmgren for pointing this out.
272 2004-08-23 Lars Wirzenius <liw@iki.fi>
274 * Making release version 1.1.0.
276 2004-07-25 Lars Wirzenius <liw@iki.fi>
278 * eoc.py: Added a realname for the From line in message
279 templates. This is meant to avoid some spam filters.
281 2004-07-25 Lars Wirzenius <liw@iki.fi>
283 * eoc.py, eocTests.py: Refactoring. Moved address parsing into
284 its own class, for simplicity, and started work on making EoC
285 specific exceptions be more user friendly as far as error
286 messages are concerned.
288 2004-07-25 Lars Wirzenius <liw@iki.fi>
290 * eocTests.py: Added some test cases for recipient address
293 2004-07-09 Lars Wirzenius <liw@iki.fi>
295 * eoc.py: Refactoring changes to make code nicer. No functional
298 2004-07-09 Lars Wirzenius <liw@iki.fi>
300 * eoc.py: Removed a bunch of documentation from the beginning of
301 the file. It was never finished, and was partly outdated, and it's
302 better put in README anyway, when I have a moment to flesh it out.
304 * eocTests.py: Simplified (shortened) the implementation of a test
305 case in the anticipation of adding more cases to it.
307 2004-03-31 Lars Wirzenius <liw@iki.fi>
309 * templates/*.sv: Added Swedish translation from Magnus Holmgren.
311 2004-02-21 Lars Wirzenius <liw@iki.fi>
313 * eoc.py: Use the rejection address for subscription and posting
314 moderation requests. This is to make it easier for mutt users
315 to mail to the rejection address: they can just answer "no"
316 to the question about using Reply-To. Thanks to Antti-Juhani
317 Kaijanaho for pointing this out.
319 2004-02-21 Lars Wirzenius <liw@iki.fi>
321 * enemies-of-carlotta.1: Updated.
323 * eoc.py: Added --sender and --recipient options on suggestion
326 2004-02-21 Lars Wirzenius <liw@iki.fi>
328 * eoc.py: Convert addresses to lower case so that random
329 capitalizations (especially in domain names) don't break things
332 2004-02-21 Lars Wirzenius <liw@iki.fi>
334 * eoc.py: Added some safeguards against subscribing addresses
335 without @ characters.
337 2004-02-21 Lars Wirzenius <liw@iki.fi>
339 * eoc.py: Catch GetoptError exception and print an error message.
340 This is nicer for the user than the stack trace.
342 2004-02-21 Lars Wirzenius <liw@iki.fi>
344 * qmqp.py: Added QMQP sending module by Jaakko Niemi. Thanks!
345 Did change encoding of single recipient so that Postfix will
348 * eoc.py: Changes to allow use of QMQP. Also, when logging a
349 sent mail, do it with a bit more white space so that it will be
350 easier to read the log file.
352 2004-01-13 Lars Wirzenius <liw@iki.fi>
354 * enemies-of-carlotta.1: Removed the word "also" from the
355 description of where subscription confirmation requests are
356 sent, since it was incorrect. Also added a suggestion that
357 --cleaning-woman should be run once per hour.
359 * Makefile: Added patch from Jacek Konieczny to add DESTDIR
362 2003-09-07 Lars Wirzenius <liw@iki.fi>
364 * Making release version 1.0.3.
366 2003-09-07 Lars Wirzenius <liw@iki.fi>
368 * enemies-of-carlotta.1: Removed erroneous quotation marks in
369 the Qmail section. Added section documenting all mail commands.
371 2003-09-06 Lars Wirzenius <liw@iki.fi>
373 * eoc.py: Bugfix. log_file() was broken in that it would replace
374 an already open output stream with one writing to /dev/null.
375 Fixed that. Also, not writing to /dev/null anymore in cases where
376 DOTDIR doesn't exist, but rather using a special purpose output
377 file stream simulator DevNull.
379 2003-07-16 Lars Wirzenius <liw@iki.fi>
381 * eoc.py, eocTests.py, enemies-of-carlotta.1: Added command line
382 option --post for bypassing moderation status on a list.
384 2003-07-14 Lars Wirzenius <liw@iki.fi>
386 * Making release version 1.0.2.
388 2003-06-20 Lars Wirzenius <liw@iki.fi>
390 * enemies-of-carlotta.1: Fixed the example for creating a
393 * eoc.py: Added option --show-lists, from Stefan (who gave no
396 2003-05-11 Lars Wirzenius <liw@iki.fi>
398 * Making release version 1.0.1.
400 2003-05-11 Lars Wirzenius <liw@iki.fi>
402 * eoc.py: Bounce handling was totally broken, because the
403 final step was missing. What used to happen: EoC sends mail to
404 subscribers, it bounces, states goes from "ok" to "bounced";
405 after one week, cleaning woman sends probe; two weeks after
406 bounce, cleaning woman unsubscribes. What was missing: if probe
407 bounces, state is set to "probebounced", and cleaning woman only
408 unsubscribes if state is "probebounced", otherwise it resets
409 state to "ok". This was quite an embarrassing bug.
411 2003-05-11 Lars Wirzenius <liw@iki.fi>
413 * eoc.py: --help option implemented.
414 * eoc.py: Don't create dotdir if only --help is given.
415 * eoc.py: If dotdir exists, but secret doesn't, create secret
418 2003-04-13 Lars Wirzenius <liw@iki.fi>
420 * Making release version 1.0.
422 * There have been no changes. I had planned to improve
423 documentation, but the release party is tomorrow and, well,
424 I want this out. Anyway, I'll have a better idea what to put
425 into the manual if people first send me hate mail about the
428 2003-04-13 Lars Wirzenius <liw@iki.fi>
430 * Making release version 0.23.
432 2003-04-13 Lars Wirzenius <liw@iki.fi>
434 * eoc.py: -reject now actually removes the rejected message. Oops.
436 2003-04-13 Lars Wirzenius <liw@iki.fi>
438 * eoc.py: Changed mail command -setlist to welcome new subscribers
439 and say goodbye to old ones.
441 * eoc.py: Added mail command -setlistsilently, which is the same
442 as -setlist, but preserves the old behavior of not welcoming or
445 * templates/setlist-confirm{,.es,.fi,.fr}: Removed the sentence
446 saying that new subscribers won't be welcomed. Hopefully I
447 recognized it correctly in French and Spanish.
449 2003-03-22 Lars Wirzenius <liw@iki.fi>
451 * Making release 0.22.
453 2003-03-22 Lars Wirzenius <liw@iki.fi>
455 * eoc.py: Messages sent by EoC that used to have an empty SMTP
456 sender (which made them look like bounce messages) now have
457 foo-ignore@example (for the foo@example.com list). This avoids
458 having to deal with different ways to specify an empty sender
459 and is also more correct since the messages sent by EoC aren't
462 2003-03-16 Lars Wirzenius <liw@iki.fi>
464 * Making release version 0.21.
466 2003-03-15 Lars Wirzenius <liw@iki.fi>
468 * templates/*.es and *.fr: Translations to Spanish for new
469 templates by Ricardo Javier Cardenes, and to French by Pierre
472 2003-03-15 Lars Wirzenius <liw@iki.fi>
474 * eoc.py: Implemented -setlist command to allow list owner to
475 change the whole subscriber list as one operation. This should
476 be useful for people maintaining the list of subscriber outside
477 EoC's control, e.g., when the list is generated from a database.
479 * templates/setlist-badlist, templates/setlist-confirm,
480 templates/setlist-done, templates/setlist-sorry: New templates
481 for this feature. Need to be translated.
483 * templates/setlist-*.fi: Translated to Finnish.
485 2003-03-15 Lars Wirzenius <liw@iki.fi>
487 * eoc.py: If the sender of a subscription or unsubscription
488 request is a list owner, the list owners are requested to do
489 the confirmation, instead of the address being subscribed.
490 The welcome or goodbye message is still sent to the subscriber.
492 2003-03-15 Lars Wirzenius <liw@iki.fi>
494 * eoc.py: When someone is sending mail to a moderated list,
495 inform them that their message has been sent to the list owners
498 * templates/msg-wait: New mail template. Needs translations.
500 * templates/msg-wait.fi: Translated to Finnish.
502 2003-03-15 Lars Wirzenius <liw@iki.fi>
504 * enemies-of-carlotta.1.fr: Proofread translation by Gérard
505 Delafond, sent by Pierre Machard.
507 2003-03-15 Lars Wirzenius <liw@iki.fi>
509 * templates/footer.es, templates/footer.es: Translations re-worded
510 so that they only use 7 bit ASCII characters, to avoid charset
511 problems. Thanks to Pierre Machard and Ricardo Javier Cardenes.
513 2003-03-14 Lars Wirzenius <liw@iki.fi>
515 * eoc.py: When subscribing to a list with subscription moderation,
516 the would-be subscriber is notified that a request has been sent
517 to the moderator and that they need to be patient.
519 * eocTests.py: Related changes.
521 * templates/sub-wait: New mail template for this. Needs
524 * templates/sub-wait.fi: Translated sub-wait to Finnish.
526 * templates/*.fr: Added Content-type headers to all templates.
528 2003-03-14 Lars Wirzenius <liw@iki.fi>
530 * templates/footer.fi: Reworded to use only us-ascii letters.
532 2003-03-08 Lars Wirzenius <liw@iki.fi>
534 * BENCHMARKS, eoc-benchmark, eoc-benchmark-procmailrc: Added.
536 2003-02-25 Lars Wirzenius <liw@iki.fi>
538 * enemies-of-carlotta.1.fr, templates/*.fr: Added translations
539 sent by Pierre Machard (pierre at machard.org).
541 * templates/*.es: Added translations sent by Ricardo Javier
542 Cardenes (ricardo at conysis.com).
544 * Making release 0.20.
546 2003-02-22 Lars Wirzenius <liw@iki.fi>
548 * eoc.py: Added configuration option "language".
550 * templates/*.fi: Translated templates to Finnish so that I can
551 test the "language" configuration option.
553 * enemies-of-carlotta.1: Added "CONFIGURATION" section.
555 * Making relase 0.19.
557 2003-02-18 Lars Wirzenius <liw@iki.fi>
559 * eoc.py: Use os.path.isfile instead of os.path.exists to see
560 whether a MessageBox contains a file.
562 2003-02-16 Lars Wirzenius <liw@iki.fi>
564 * eoc.py: Command line options --edit, --subscribe, --unsubscribe,
565 and --list now allow the list name to be abbreviated by
566 leaving out the domain (and @). I don't want to allow shorter
567 abbreviations to make it less likely that you specify the wrong
570 * eoc.py: When a bouncing address is restored to "ok" status,
571 its bounce message is removed from the bounce-box.
573 * eoc.py: Added configuration options mail-on-forced-unsubscribe
574 and mail-on-subscription-changes.
576 * Making release 0.18.
578 2003-02-09 Lars Wirzenius <liw@iki.fi>
580 * eoc.py: Applied patch from Ricardo Javier Cardenes
581 <ricardo@conysis.com> to implement posting option "auto", which
582 will let messages from subscribers automatically into the list
583 and send others to the moderator.
585 * Making release 0.17.
587 2003-01-12 Lars Wirzenius <liw@iki.fi>
589 * Releasing version 0.16.1.
591 * eoc.py: Bounce message quoting had a stupid bug: it didn't
594 2003-01-11 Lars Wirzenius <liw@iki.fi>
596 * Releasing version 0.16.
598 * eoc.py: First bounce message is now saved (up to 4096 bytes) and
599 quoted in the bounce-warning message.
601 * eoc.py: When state changes to bounce, it is noted in the log file.
603 * eoc.py, eocTests.py: Addresses now can't be added twice to
606 * eoc.py: Added missing exception MissingTemplate.
608 2002-12-11 Lars Wirzenius <liw@iki.fi>
610 * Releasing version 0.15.
612 2002-12-08 Lars Wirzenius <liw@iki.fi>
614 * Added --moderate option for asking a message to be
615 moderated. To be used for spam filtering, at least.
617 2002-12-08 Lars Wirzenius <liw@iki.fi>
619 * eocTests.py: Set the quiet flag, so that "make check" doesn't
620 output debuggning messages.
622 2002-12-08 Lars Wirzenius <liw@iki.fi>
624 * eoc.py: Added --smtp-server option for sending via SMTP, not
627 * enemies-of-carlotta.1: Documented all options.
629 * eocTests.py: Don't require a dot-eoc directory for running
632 2002-12-08 Lars Wirzenius <liw@iki.fi>
634 * Releasing version 0.14.
636 2002-12-08 Lars Wirzenius <liw@iki.fi>
638 * eoc.py: Also look in the list's template directory for templates.
639 This is useful for doing list specific customizations, e.g., for
642 2002-12-07 Lars Wirzenius <liw@iki.fi>
644 * enemies-of-carlotta: Wrote startup wrapper for faster startup.
646 * Makefile: Install startup wrapper as the binary, and eoc.py
647 into the share directory, plus compile eoc.py on installtion.§
649 2002-11-04 Lars Wirzenius <liw@iki.fi>
651 * eoc.py: Cleaning woman now logs addresses it removes and sends
652 a final goodbye message when it does.
654 * templates/bounce-probe: Fixed spelling mistake.
656 * templates/bounce-goodbye: Wrote.
658 2002-10-26 Lars Wirzenius <liw@iki.fi>
660 * Added support for a footer to be appended to each mail.
662 2002-10-26 Lars Wirzenius <liw@iki.fi>
664 * A bounce splits a group with many addresses. If the original group
665 contained addresses in several domains, it is split into groups
666 according to domains, otherwise into groups with single addresses.
668 * --cleaning-woman joins groups that haven't bounced for a week
671 2002-10-26 Lars Wirzenius <liw@iki.fi>
673 * Releasing version 0.13.
675 2002-10-26 Lars Wirzenius <liw@iki.fi>
677 * eoc.py: Bug fix. When there were over ten subscribers, the
678 generation of group ids was wrong, since a list of group ids
679 was sorted lexically, instead of numerically.
681 * eocTests.py: Added test case to test this.
683 2002-10-26 Lars Wirzenius <liw@iki.fi>
685 * eoc.py: Added --quiet and --sendmail options.
687 * eocTests.py: Related changes.
689 2002-10-21 Lars Wirzenius <liw@iki.fi>
691 * Releasing version 0.12.
693 2002-10-21 Lars Wirzenius <liw@iki.fi>
695 * --incoming always reads stdin.
697 2002-10-11 Lars Wirzenius <liw@iki.fi>
699 * Makefile: added $(prefix), installation of templates.
701 * fix-config: directory is given on the command line.
703 * eoc.py: Added some more debugging output.
705 2002-09-22 Lars Wirzenius <liw@iki.fi>
707 * Starting upstream ChangeLog. Sooner or later someone else is
708 going to be maintaining the Debian packaging stuff, and then
709 it's sensible to keep things separate.
711 * Removed debian/*. I can live without them myself, and I don't
712 want to maintain them when there are perfectly too Debian
713 developers available. :)
715 * Makefile: Added an install target. Very simplistic.
717 * COPYING, README: Added these files. This is beginning to seem
718 like something that can be shown in public.
720 * Releasing version 0.11.