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:
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
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
* A new REST API version (3.1) has been added which changes how UUIDs are
* Many new REST resources and methods have been added
* Individual mailing lists can augment the system's header matching rules
* `mailman create` now creates missing domains by default
* `mailman digests` now has `--verbose` and `--dry-run` options
* `mailman shell` now supports readline history
* `mailman members` can filter members based on their subscription roles
* A new template system has been added for all messages originating from
* 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_subject` key that is
not RFC 2047 decoded. `subject` is 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