GNU Mailman 3.0.0b3 "Here Again"

Milestone information

GNU Mailman
Code name:
Here Again
Barry Warsaw
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
10 Barry Warsaw, 1 Terri
No blueprints are targeted to this milestone.
11 Fix Released

Download files for this release

File Description Downloads

Release notes 

3.0 beta 3 -- "Here Again"

 * Python 2.7 is now required. Python 2.6 is no longer officially supported.
   The code base is now also `python2.7 -3` clean, although there are still
   some warnings in 3rd party dependencies. (LP: #1073506)

 * **API change**: The JSON representation for held messages no longer
   includes the `data` key. The values in this dictionary are flatted into
   the top-level JSON representation. The `key` key is remove since it's
   redundant. Use `message_id` for held messages, and `address` for held
   subscriptions/unsubscriptions. The following `_mod_*` keys are inserted
   without the `_mod_` prefix:

   - `_mod_subject` -> `subject`
   - `_mod_hold_date` -> `hold_date`
   - `_mod_reason` -> `reason`
   - `_mod_sender` -> `sender`
   - `_mod_message_id` -> `message_id`

 * List styles are supported through the REST API. Get the list of available
   styles (by name) via `.../lists/styles`. Create a list in a specific style
   by using POST data `style_name=<style>`. (LP: #975692)
 * Allow the getting/setting of IMailingList.subject_prefix via the REST API
   (given by Terri Oda). (LP: #1062893)
 * Expose a REST API for membership change (subscriptions and unsubscriptions)
   moderation. (LP: #1090753)
 * Add list_id to JSON representation for a mailing list (given by Jimmy
 * The canonical resource for a mailing list (and thus its self_link) is now
   the URL with the list-id. To reference a mailing list, the list-id url is
   preferred, but for backward compatibility, the posting address is still
 * You can now PUT and PATCH on user resources to change the user's display
   name or password. For passwords, you pass in the clear text password and
   Mailman will hash it before storing.
 * You can now verify and unverify an email address through the REST API.
   POST to .../addresses/<email>/verify and .../addresses/<email>/unverify
   respectively. The POST data is ignored. It is not an error to verify or
   unverify an address more than once, but verifying an already verified
   address does not change its `.verified_on` date. (LP: #1054730)
 * Deleting a user through the REST API also deletes all the user's linked
   addresses and memberships. (LP: #1074374)
 * A user's password can be verified by POSTing to .../user/<id>/login. The
   data must contain a single parameter `cleartext_password` and if this
   matches, a 204 (No Content) will be returned, otherwise a 403 (Forbidden)
   is returned. (LP: #1065447)

 * `[passlib]path` configuration variable renamed to `[passlib]configuration`.
 * Postfix-specific configurations in the `[mta]` section are moved to a
   separate file, named by the `[mta]configuration` variable.
 * In the new `postfix.cfg` file, `postfix_map_cmd` is renamed to
 * The default list style is renamed to `legacy-default` and a new
   `legacy-announce` style is added. This is similar to the `legacy-default`
   except set up for announce-only lists.

 * The `ban` table now uses list-ids to cross-reference the mailing list,
   since these cannot change even if the mailing list is moved or renamed.
 * The following columns were unused and have been removed:

   - `mailinglist.new_member_options`
   - `mailinglist.send_reminders`
   - `mailinglist.subscribe_policy`
   - `mailinglist.unsubscribe_policy`
   - `mailinglist.subscribe_auto_approval`
   - `mailinglist.private_roster`
   - `mailinglist.admin_member_chunksize`

 * The `IBanManager` is no longer a global utility. Instead, you adapt an
   `IMailingList` to an `IBanManager` to manage the bans for a specific
   mailing list. To manage the global bans, adapt ``None``.

 * `bin/mailman aliases` loses the `--output`, `--format`, and `--simple`
   arguments, and adds a `--directory` argument. This is necessary to support
   the Postfix `relay_domains` support.
 * `bin/mailman start` was passing the wrong relative path to its runner
   subprocesses when -C was given. (LP: #982551)

 * Added support for Postfix `relay_domains` setting for better virtual domain
   support. Contributed by Jimmy Bergman.
 * Two new events are triggered on membership changes: `SubscriptionEvent`
   when a new member joins a mailing list, and an `UnsubscriptionEvent` when a
   member leaves a mailing list. (LP: #1047286)
 * Improve the --help text for the `start`, `stop`, `restart`, and `reopen`
   subcommands. (LP: #1035033)

 * Fixed `send_goodbye_message()`. (LP: #1091321)


This release does not have a changelog.

0 blueprints and 11 bugs targeted

Bug report Importance Assignee Status
975692 #975692 Allow style assignments when creating a list through REST 3 High Barry Warsaw  10 Fix Released
982551 #982551 Relative paths in 'mailman start -C' are broken 3 High Barry Warsaw  10 Fix Released
1035033 #1035033 bin/mailman --help could be improved 3 High Barry Warsaw  10 Fix Released
1047286 #1047286 Notifications for core events 3 High Barry Warsaw  10 Fix Released
1054730 #1054730 Set the verified_on flag for IAddress through the REST API 3 High Barry Warsaw  10 Fix Released
1062893 #1062893 No ability to add prefix on subject line 3 High Terri  10 Fix Released
1065447 #1065447 Feature request: REST api to verify password 3 High Barry Warsaw  10 Fix Released
1073506 #1073506 Drop support for Python 2.6 3 High Barry Warsaw  10 Fix Released
1074374 #1074374 REST API: Problems with addresses and memberships after deleting a user. 3 High Barry Warsaw  10 Fix Released
1090753 #1090753 REST API for subscription moderation 3 High Barry Warsaw  10 Fix Released
1091321 #1091321 send_goodbye_message() is broken 3 High Barry Warsaw  10 Fix Released
This milestone contains Public information
Everyone can see this information.