On behalf of the entire team and all our wonderful contributors, I'm happy to announce the release of GNU Mailman 3.1 final. My deep thanks go to all the Mailman project sprinters at Pycon 2017 for getting us over the line!
Two years after the original release of Mailman 3.0, this version contains a huge number of improvements across the entire stack. Many bugs have been fixed and new features added in the Core, Postorius (web u/i), and HyperKitty (archiver). Upgrading from Mailman 2.1 should be better too. We are seeing more production sites adopt Mailman 3, and we've been getting great feedback as these have rolled out.
Important: mailman-bundler, our previous recommended way of deploying Mailman 3, has been deprecated. Abhilash Raj is putting the finishing touches on Docker images to deploy everything, and he'll have a further announcement in a week or two.
Feedback is welcome: https://github.com/maxking/docker-mailman
What is GNU Mailman?
GNU Mailman is free software for managing electronic mail discussion and e-newsletter lists. Mailman is integrated with the web, making it easy for users to manage their accounts and for list owners to administer their lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, and more. Mailman 3 is released under the terms of the GNU General Public License, version 3.
The best places to start for all things related to this release:
(Note: due to timezone skew, some of the tarballs may not be available on PyPI until tomorrow.)
Happy Mailman Day, -Your friendly neighborhood cabal
An overview of what's new in Mailman 3.1
Feature parity with Mailman 2.1
- You should be able to do just about everything that you could do in Mailman 2.1 *except* for topics and sibling/umbrella lists.
- Added support for Python 3.5 and 3.6
- MySQL is now an officially supported database
- Many improvements with importing Mailman 2.1 lists
- DMARC mitigations have been added, based on, but different than the same feature in Mailman 2.1
- The REST API requires HTTP/1.1
- Many new REST resources and methods have been added
- Individual mailing lists can augment the system's header matching rules
mailman createnow creates missing domains by default
mailman digestsnow has
mailman shellnow supports readline history
mailman memberscan filter members based on their subscription roles
- A new template system has been added for all messages originating from inside Mailman.
- The Message-ID-Hash header replaces X-Message-ID-Hash
- New placeholders have been added for headers and footers
- Unsubscriptions can now be confirmed and/or moderated
- General U/I and U/X improvements
- Many more features from the Core's have been plumbed through
- We've adopted Django social auth logins and dropped Persona (since it's no longer supported upstream). You can now log in via Facebook, Google, GitHub, and GitLab.
- Core/REST: Held message resources now have an
original_subjectkey that is not RFC 2047 decoded.
subjectis now RFC 2047 decoded.
- Core/REST: If you've run pre-release versions from git head, and stored welcome and goodbye templates via REST, the template key names have changed backward incompatibility.