[Mailman-Developers] [RELEASED] Mailman 2.1 alpha 3

Barry A. Warsaw barry@zope.com
Mon, 22 Oct 2001 02:17:35 -0400

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
mailman-developers@python.org 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


-------------------- 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 "email@dom.ain (Real Name)"
          entries, for both in-text-box and file-upload mass

    - 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

        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

        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

        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

        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 "mailman@your.site".

        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

    - 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