I am very happy to announce the release of the seventh alpha for Mailman 3.0,
code named "Mission". Here are some of the highlights of a release with lots
of new stuff (a more detailed NEWS.txt file excerpt is below).
- Significant improvements to the subscription model. Users can now subscribe
to mailing lists with either an explicit address or a "preferred" address.
When a user changes her preferred address, all of her subscriptions
automatically track this change. All this and more have also all been
exposed to the REST API.
- New rules for member and non-member moderation. This effectively ports and
updates Mailman 2's moderation rules to the Mailman 3 framework.
- Support for SMTP AUTH added.
- The default password encryption scheme can be defined in the configuration
file, and all passwords are by default encrypted (using SSHA1).
- 'bin/mailman status' command added to provide command line status of the
master queue runner process.
- 'bin/mailman info' now prints the REST API root url and credentials.
- Basic Auth support for the REST API was added. (thanks Jimmy Bergman)
- Python 2.7 is supported.
I'm really excited about this release because it will provide a great baseline
for our Google Summer of Code students. If you've been putting off taking a
look at Mailman 3, I encourage you to download it and play with it. My goal
is for a final release on 11.11.11 so there will not be too many more alphas.
Now is the best time to influence our design decisions.
The tarball can be downloaded from Launchpad or the Cheeseshop:
The full documentation is also online:
3.0 alpha 7 -- "Mission"
- Significant updates to the subscription model. Members can now subscribe
with a preferred address, and changes to that will be immediately reflected
in mailing list subscriptions. Users who subscribe with an explicit
address can easily change to a different address, as long as that address
is verified. (LP: #643949)
- IUsers and IMembers are now assigned a unique, random, immutable id.
- IUsers now have created_on and .preferred_address properties.
- IMembers now have a .user attribute for easy access to the subscribed user.
- When created with add_member(), passwords are always stored encrypted.
- In all interfaces, "email" refers to the textual email address while
"address" refers to the
- mailman.chains.base.Chain no longer self registers.
- New member and nonmember moderation rules and chains. This effectively
ports moderation rules from Mailman 2 and replaces attributes such as
member_moderation_action, default_member_moderation, and
generic_nonmember_action. Now, nonmembers exist as subscriptions on a
mailing list and members have a moderation_action attribute which describes
the disposition for postings from that address.
- Member.is_moderated was removed because of the above change.
- default_member_action and default_nonmember_action were added to mailing
- All sender addresses are registered (unverified) with the user manager by
the incoming queue runner. This way, nonmember moderation rules will
always have an IAddress that they can subscribe to the list (as
- Support for SMTP AUTH added via smtp_user and smtp_pass configuration
variables in the [mta] section. (LP: #490044)
- IEmailValidator interface for pluggable validation of email addresses.
- .subscribe() is moved from the IAddress to the IMailingList
- IAddresses get their registered_on attribute set when the object is created.
- [devmode] section gets a new 'testing' variable.
- Added password_scheme and password_length settings for defining the
default password encryption scheme.
- creator_pw_file and site_pw_file are removed.
- 'bin/mailman start' does a better job of producing an error when Mailman is
- 'bin/mailman status' added for providing command line status on the master
queue runner watcher process.
- 'bin/mailman info' now prints the REST root url and credentials.
- mmsitepass removed; there is no more site password.
- Add Basic Auth support for REST API security. (Jimmy Bergman)
- Include the fqdn_listname and email address in the member JSON
- Added reply_goes_to_list, send_welcome_msg, welcome_msg,
default_member_moderation to the mailing list's writable attributes in the
REST service. (Jimmy Bergman)
- Expose the new membership model to the REST API. Canonical member resource
URLs are now much shorter and live in their own top-level namespace instead
of within the mailing list's namespace.
- /addresses/<email>/memberships gets all the memberships for a given email
- /users is a new top-level URL under which user information can be
accessed. Posting to this creates new users.
- Users can subscribe to mailing lists through the REST API.
- Domains can be deleted via the REST API.
- PUT and PATCH to a list configuration now returns a 204 (No Content).
- Support Python 2.7. (LP: #667472)
- Disable site-packages in buildout.cfg because of LP: #659231.
- Don't include eggs/ or parts/ in the source tarball. (LP: #656946)
- flufl.lock is now required instead of locknix.
- Typo in scan_message(). (LP: #645897)
- Typo in add_member(). (LP: #710182) (Florian Fuchs)
- Re-enable bounce detectors. (LP: #756943)
- Clean up many pyflakes problems; ditching pylint.