GNU Mailman 3.0.0b1 "The Twilight Zone"
Milestone information
- Project:
- GNU Mailman
- Series:
- 3.0
- Version:
- 3.0.0b1
- Code name:
- The Twilight Zone
- Released:
- Registrant:
- Barry Warsaw
- Release registered:
- Active:
- No. Drivers cannot target bugs and blueprints to this milestone.
Activities
- Assigned to you:
- No blueprints or bugs assigned to you.
- Assignees:
- 1 Aamir Khan, 10 Barry Warsaw
- Blueprints:
- No blueprints are targeted to this milestone.
- Bugs:
- 11 Fix Released
Download files for this release
Release notes
3.0 beta 1 -- "The Twilight Zone"
=======
(2012-03-23)
Architecture
------------
* Schema migrations have been implemented.
* Implement the style manager as a utility instead of an attribute hanging
off the `mailman.
* PostgreSQL support contributed by Stephen A. Goss. (LP: #860159)
* Separate out the RFC 2369 header adding handler.
* Dynamically calculate the `List-Id` header instead of storing it in the
database. This means it cannot be changed.
* Major redesign of the template search system, fixing LP: #788309. $var_dir
is now used when search for all template overrides, site, domain, or
mailing list. The in-tree English templates are used only as a last
fallback.
* Support downloading templates by URI, including mailman:// URIs. This is
used in welcome and goodbye messages, as well as regular and digest headers
and footers, and supports both language and mailing list specifications.
E.g. mailman:
* $user_password is no longer supported as a placeholder in headers and
footers.
* Mailing lists get multiple chains and pipelines. For example, normal
postings go through the `posting_chain` while messages to owners to through
`owners_chain`. The default `built-in` chain is renamed to
`default-
`default-
* The experimental `maildir` runner is removed. Use LMTP.
* The LMTP server now requires that the incoming message have a `Message-ID`,
otherwise it rejects the message with a 550 error. Also, the LMTP server
adds the `X-Message-ID-Hash` header automatically. The `inject` cli
command will also add the `X-Message-ID-Hash` header, but it will craft a
`Message-ID` header first if one is missing from the injected text. Also,
`inject` will always set the correct value for the `original_size`
attribute on the message object, instead of trusting a possibly incorrect
value if it's already set. The individual `IArchiver` implementations no
longer set the `X-Message-ID-Hash` header.
* The Prototype archiver now stores its files in maildir format inside of
`$var_
* Improved "8 mile high" document distilled by Stephen J Turnbull from the
Pycon 2012 Mailman 3 sprint. Also improvements to the Sphinx build given
by Andrea Crotti.
* Pipermail has been eradicated.
* Configuration variable `[mailman]
controls whether messages which have their top-level `Content-Type`
filtered out can be preserved in the `bad` queue by list owners.
* Configuration section `[scrubber]` removed, as is the scrubber handler.
This handler was essentially incompatible with Mailman 3 since it required
coordination with Pipermail to store attachments on disk.
Database
--------
* Schema changes:
- welcome_msg -> welcome_message_uri
- goodbye_msg -> goodbye_message_uri
- send_welcome_msg -> send_welcome_
- send_goodbye_msg -> send_goodbye_
- msg_header -> header_uri
- msg_footer -> footer_uri
- digest_header -> digest_header_uri
- digest_footer -> digest_footer_uri
- start_chain -> posting_chain
- pipeline -> posting_pipeline
- real_name -> display_name (mailinglist, user, address)
* Schema additions:
- mailinglist.
- mailinglist.
- mailinglist.
REST
----
* Held messages can now be moderated through the REST API. Mailing list
resources now accept a `held` path component. GETing this returns all held
messages for the mailing list. POSTing to a specific request id under this
url can dispose of the message using `Action` enums.
* Mailing list resources now have a `member_count` attribute which gives the
number of subscribed members. Given by Toshio Kuratomi.
Interfaces
----------
* Add property `IUserManager.
* Add property `IListmanager.
every mailing list as (list_name, mail_host).
* Remove previously deprecated `IListManager.
* `IMailTransport
* `IRequests` interface is removed. Now just use adaptation from
`IListRequests` directly (which takes an `IMailingList` object).
* `handle_message()` now allows for `Action.hold` which is synonymous with
`Action.defer` (since the message is already being held).
* `IListRequests.
argument to narrow the search for the given request.
* New `ITemplateLoader` utility.
* `ILanguageManag
* `IMailinglist.
* `IMailingList.
* `IUser.real_name` -> `IUser.
* `IAddress.
* Add property `IRoster.
Commands
--------
* IPython support in `bin/mailman shell` contributed by Andrea Crotti.
(LP: #949926).
* The `mailman.cfg` configuration file will now automatically be detected if
it exists in an `etc` directory which is a sibling of argv0.
* `bin/mailman shell` is an alias for `withlist`.
* The `confirm` email command now properly handles `Re:`-like prefixes, even
if they contain non-ASCII characters. (LP: #685261)
* The `join` email command no longer accepts an `address=` argument. Its
`digest=` argument now accepts the following values: `no` (for regular
delivery), `mime`, or `plain`.
* Added a `help` email command.
* A welcome message is sent when the user confirms their subscription via
email.
* Global ``-C`` option now accepts an absolute path to the configuration
file. Given by Andrea Crotti. (LP: #953707)
Bug fixes
---------
* Subscription disabled probe warning notification messages are now sent
without a `Precedence:` header. Given by Mark Sapiro. (LP: #808821)
* Fixed KeyError in retry runner, contributed by Stephen A. Goss.
(LP: #872391)
* Fixed bogus use of `bounce_processing` attribute (should have been
`process_
* Fix `test_moderation` for timezones east of UTC+0000, given by blacktav.
(LP: #890675)
Changelog
This release does not have a changelog.