I've finally decided to put a fork in it and release the third, and hopefully last alpha in the Mailman 2.1 series. If you want to see a description of all the new stuff, please see
There's quite a lot there!
Everything should be up on SourceForge now, with updates to www.list.org hopefully tomorrow some time. See also
for updated pages about Mailman 2.1.
Note that you no longer need to install the mimelib package. This has been replaced by the email package, which comes with Python 2.2b1, or for Python 2.1.1 or 2.0.1, you'll need to install email-0.93 which is available in the misc/ directory. See the INSTALL file for details.
Below is an excerpt from the NEWS file for all the changes since 2.1 alpha 2. I'm hoping that this will be the last alpha release. That means there's one more release in which we have an opportunity for new features, so I suggest that you grab 2.1a3 and give it a good workout (in a non-production environment <wink>). If there are glaring things missing, as always, let me know.
Please, all discussion about 2.1 alpha should be conducted on the email@example.com mailing list.
I will be creating some test lists on python.org an you'll be able to subscribe to them to try things out. I'd like to have a short cycle for alpha3->beta1, with bug fixes only once beta1 comes out.
Language translators: I've updated the langpack on SourceForge with the latest catalogs and templates. I've also uploaded the latest README-I18N.en file if you'd like to contribute new languages. If you've been holding off contributing new language files, please consider finishing them off so that I can integrate them in time for beta1.
-------------------- snip snip -------------------- 2.1 alpha 3 (22-Oct-2001)
- Realname support o Mailman now tracks a member's Real Name in addition to their email address. o List members can now supply their Real Names when subscribing via the web. Their Real Names are parsed from any thru-email subscriptions. o Members can change their Real Names on their options page, and admins can change members' Real Names on the membership pages. Mass subscribing accepts "firstname.lastname@example.org (Real Name)" entries, for both in-text-box and file-upload mass subscriptions. - Filtering and Privacy o Reply-To: munging has been enhanced to allow a wider range of list policies. You can now pre-strip any Reply-To: headers before adding list-specific ones (i.e. you can override or extend existing Reply-To: headers). If stripping, the old headers are no longer saved on X-Reply-To: o New sender moderation rules. The old `posters', `member_only_posting', `moderated' and `forbidden_posters' options have been removed in favor of a new moderation scheme. Each member has a personal moderation bit, and non-member postings can be automatically accepted, held for approval, rejected (bounced) or discarded. o When membership rosters are private, responses to subscription (and other) requests are made more generic so that these processes can't be covertly mined for hidden addresses. If a subscription request comes in for a user who is already subscribed, the user is notified of potential membership mining. o When a held message is approved via the admindb page, an X-Moderated: header is added to the message. o List admins can now set an unsubscribe policy which requires them to approve of member unsubscriptions. - Web U/I o All web confirmations now require a two-click procedure, where the first click gives them a page that allows them to confirm or cancel their subscription. It is bad form for an email click (HTTP GET) to have side effects. o Lots of improvements for clarity. o The Privacy category has grown three subcategories. o The General options page as a number of subsection headers. o The Passwords and Languages categories are now on separate admin pages. o The admin subcategories are now formated as two columns in the top and bottom legends. o When creating a list through the web, you can now specify the initial list of supported languages. o The U/I for unsubscribing a member on the admin's membership page should be more intuitive now. o There is now a separate configuration option for whether the goodbye_msg is sent when a member is unsubscribed. - Performance o misc/mailman is a Unix init script, appropriate for /etc/init.d, and containing chkconfig hooks for systems that support it. o bin/mailmanctl has been rewritten; the `restart' command actually works now. It now also accepts -s, -q, and -u options. o bin/qrunner has been rewritten too; it can serve the role of the old cron/qrunner script for those who want classic cron-invoked mail delivery. o Internally, messages are now stored in the qfiles directory primarily as pickles. List configuration databases are now stored as pickles too (i.e. config.pck). bin/dumpdb knows how to display both pickles and marshals. - Mail delivery o If a user's message is held for approval, they are sent a notification message containing a confirmation cookie. They can use this confirmation cookie to cancel their own postings (if they haven't already been approved). o When held messages are forwarded to an explicit address using the admindb page, it is done so in a message/rfc822 encapsulation. o When a message is first held for approval, the notification sent to the list admin is a 3-part multipart/mixed. The first part holds the notification message, the second part hold the original message, and the third part hold a cookie confirmation message, to which the admin can respond to approve or discard the message via email. o In the mail->news gateway, you can define mail headers that must be modified or deleted before the message can be posted to the nntp server. o The list admin can send an immediate urgent message to the entire list membership, bypassing digest delivery. This is done by adding an Urgent: header with the list password. Urgent messages with an invalid password are rejected. o Lists can now optionally personalize email messages, if the site admin allows it. Personalized messages mean that the To: header includes the recipient's address instead of the list's address, and header and footer messages can contain user-specific information. Note that only regular deliveries can currently be personalized. o Message that come from Usenet but that have broken MIME boundaries are ignored. o If the site administrator agrees, list owners have the ability to disable RFC 2369 List-* headers. - Building/testing/configuration o mimelib is no longer required, but you must install the email package (see the tarball in the misc directory). o An (as yet) incomplete test suite has been added. Don't try running it in a production environment! o Better virtual host support by adding a mapping from the host name given in cgi's HTTP_HOST/SERVER_NAME variable to the email host used in list addresses. (E.g. www.python.org maps to @python.org). o Specifying urls to external public archivers is more flexible. o The filters/ subdirectory has been removed. o There is now a `site list' which is a mailing list that must be created first, and from which all password reminders appear to come from. It is recommended that this list be called "email@example.com". o bin/move_list is no longer necessary (see the FAQ for detailed instructions on renaming a list). o A new script bin/fix_url.py can be used with bin/withlist to change a list's web_page_url configuration variable (since it is no longer modifiable through the web). - Internationalization o Support for German, Hungarian, Italian, Japanese, and Norwegian have been added. - Miscellaneous o Lots of new bounce detectors. Bounce detectors can now discard temporary bounce messages by returning a special Stop value. o bin/withlist now sports a -q/--quiet flag. o bin/add_members has a new -a/--admin-notify flag which can be used to inhibit list owner notification for each subscription. - Membership Adaptors o Internally, mailing list memberships are accessed through a MemberAdaptor interface. This would allow for integrating membership databases with external sources (e.g. Zope or LDAP), although the only MemberAdaptor currently implemented is a "classic" adaptor which stores the membership information on the MailList object. o There's a new pipeline handler module called FileRecips.py which could be used to get all regular delivery mailing list recipients from a Sendmail-style :include: file (see List Extensibility bullet below). This work was sponsored by Control.com - List Extensibility o A framework has been added which can be used to specialize and extend specific mailing lists. If there is a file called lists/<yourlist>/extend.py, it is execfile()'d after the MailList object is instantiated. The file should contain a function extend() which will be called with the MailList instance. This function can do all sorts of deep things, like modify the handler pipeline just for this list, or even strip out particular admin GUI elements (see below). o All the admin page GUI elements are now separate components. This provides greater flexibility for list customization. Also, each GUI element will be given an opportunity to handle admin CGI form data. This work was sponsored by Control.com - Topic Filters o A new feature has been added called "Topic Filters". A list administrator can create topics, which are essentially regular expression matches against Subject: and Keyword: headers (including such pseudo-headers if they appear in the first few lines of the body of a message). List members can then `subscribe' to various topics, which allows them to filter out any messages that don't match a topic, or to filter out any message that does match a topic. This can be useful for high volume lists where not everyone will be interested in every message. This work was sponsored by Control.com