RELEASED: Mailman 3.0 alpha 7
![](https://secure.gravatar.com/avatar/173371753ea2206b9934a9be1bdce423.jpg?s=120&d=mm&r=g)
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:
https://launchpad.net/mailman
http://pypi.python.org/pypi/mailman
The full documentation is also online:
http://packages.python.org/mailman/docs/README.html
Enjoy, -Barry
3.0 alpha 7 -- "Mission"
(2011-04-29)
Architecture
- 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
IAddress
object. - 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 lists.
- 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 MemberRole.nonmember).
- 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.
Configuration
- [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.
Commands
- 'bin/mailman start' does a better job of producing an error when Mailman is already running.
- '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.
REST
- Add Basic Auth support for REST API security. (Jimmy Bergman)
- Include the fqdn_listname and email address in the member JSON representation.
- 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 address.
- /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).
Build
- 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.
Bugs fixed
- 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.
![](https://secure.gravatar.com/avatar/0fbcef57d028af495d8c9a5992405f78.jpg?s=120&d=mm&r=g)
On Sat, Apr 30, 2011 at 00:31, Barry Warsaw <barry@list.org> wrote:
Great stride!
Now, on my FreeBSD 8.2 Server, I am eager to try this version out.
I am following the steps.
#bin/test -vv [snip] test_simple_wrap (mailman.utilities.tests.test_wrap.TestWrap) test_two_paragraphs (mailman.utilities.tests.test_wrap.TestWrap) Ran 134 tests with 0 failures and 0 errors in 0.581 seconds. Tearing down left over layers: Tear down zope.testrunner.layer.UnitTests in 0.000 seconds.
Tests with errors: Layer: mailman.testing.layers.ConfigLayer Layer: mailman.testing.layers.SMTPLayer Layer: mailman.testing.layers.RESTLayer Total: 134 tests, 0 failures, 3 errors in 0.831 seconds.
mail# bin/docs building docs for mailman ---> sphinx-build -q -c /usr/local/mailman-3.0.0a7/parts/docs/mailman /usr/local/mailman-3.0.0a7/src/mailman /usr/local /mailman-3.0.0a7/parts/docs/mailman/build/mailman
Extension error: Could not import extension sphinxconf (exception: No module named sphinxconf) mail#
What might be missing?
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223
I can't hear you -- I'm using the scrambler. Please consider the environment before printing this email.
![](https://secure.gravatar.com/avatar/173371753ea2206b9934a9be1bdce423.jpg?s=120&d=mm&r=g)
On Apr 30, 2011, at 11:15 AM, Odhiambo Washington wrote:
I'm seeing the same failure in a FreeBSD VM, but I don't understand it. I needed to install the Python sqlite3 port, and then
$ python -c 'import sqlite3'
works fine. But this still fails:
$ bin/py
import sqlite3
It doesn't make much sense to me and my FreeBSD VM is pretty bare bones so I'm having a hard time figuring it out. My best advice would be to file a bug on Launchpad and we'll have to see if a FreeBSD expert can help us out.
Sorry, I don't know this one either, but I can reproduce it. :(
-Barry
![](https://secure.gravatar.com/avatar/0fbcef57d028af495d8c9a5992405f78.jpg?s=120&d=mm&r=g)
On Sat, Apr 30, 2011 at 00:31, Barry Warsaw <barry@list.org> wrote:
Great stride!
Now, on my FreeBSD 8.2 Server, I am eager to try this version out.
I am following the steps.
#bin/test -vv [snip] test_simple_wrap (mailman.utilities.tests.test_wrap.TestWrap) test_two_paragraphs (mailman.utilities.tests.test_wrap.TestWrap) Ran 134 tests with 0 failures and 0 errors in 0.581 seconds. Tearing down left over layers: Tear down zope.testrunner.layer.UnitTests in 0.000 seconds.
Tests with errors: Layer: mailman.testing.layers.ConfigLayer Layer: mailman.testing.layers.SMTPLayer Layer: mailman.testing.layers.RESTLayer Total: 134 tests, 0 failures, 3 errors in 0.831 seconds.
mail# bin/docs building docs for mailman ---> sphinx-build -q -c /usr/local/mailman-3.0.0a7/parts/docs/mailman /usr/local/mailman-3.0.0a7/src/mailman /usr/local /mailman-3.0.0a7/parts/docs/mailman/build/mailman
Extension error: Could not import extension sphinxconf (exception: No module named sphinxconf) mail#
What might be missing?
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223
I can't hear you -- I'm using the scrambler. Please consider the environment before printing this email.
![](https://secure.gravatar.com/avatar/173371753ea2206b9934a9be1bdce423.jpg?s=120&d=mm&r=g)
On Apr 30, 2011, at 11:15 AM, Odhiambo Washington wrote:
I'm seeing the same failure in a FreeBSD VM, but I don't understand it. I needed to install the Python sqlite3 port, and then
$ python -c 'import sqlite3'
works fine. But this still fails:
$ bin/py
import sqlite3
It doesn't make much sense to me and my FreeBSD VM is pretty bare bones so I'm having a hard time figuring it out. My best advice would be to file a bug on Launchpad and we'll have to see if a FreeBSD expert can help us out.
Sorry, I don't know this one either, but I can reproduce it. :(
-Barry
participants (2)
-
Barry Warsaw
-
Odhiambo Washington