diff options
| author | Barry Warsaw | 2009-08-21 16:11:50 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2009-08-21 16:11:50 -0400 |
| commit | da566eb047608ed2e65c71dd25979f01c825c843 (patch) | |
| tree | e68dc2015f4bb933bcc32cbe0b9b44c66544f3de /docs | |
| parent | e0693ed8106f80515f3ffddd92eb1ea9b77e38d3 (diff) | |
| download | mailman-da566eb047608ed2e65c71dd25979f01c825c843.tar.gz mailman-da566eb047608ed2e65c71dd25979f01c825c843.tar.zst mailman-da566eb047608ed2e65c71dd25979f01c825c843.zip | |
* Updated NEWS.txt for 3.0a3.
* Use the IListManager() adapter instead of hanging the list manager off of
config.db. This makes the code somewhat cleaner.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/NEWS.txt | 421 |
1 files changed, 213 insertions, 208 deletions
diff --git a/docs/NEWS.txt b/docs/NEWS.txt index 16e10dd8b..d2226687a 100644 --- a/docs/NEWS.txt +++ b/docs/NEWS.txt @@ -1,257 +1,262 @@ +================================================ Mailman - The GNU Mailing List Management System +================================================ + Copyright (C) 1998-2009 by the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Here is a history of user visible changes to Mailman. 3.0 alpha 3 -- "Working Man" -(XX-XXX-200X) - - Architecture - - - Back port of Mailman 2.1's limit on .bak file restoration. After 3 - restores, the file is moved to the bad queue, with a .psv extension. - - -3.0 alpha 2 -- "Grand Designs" -(03-Jan-2009) - - Licensing - - - Mailman 3 is now licensed under the GPLv3. - - Bug fixes +============================ - - Changed bin/arch to attempt to open the mbox before wiping the old - archive. Launchpad bug #280418. +Configuration +------------- + * Configuration is now done through lazr.config. Defaults.py is + dead. lazr.config files are essentially hierarchical ini files. + * Domains are now stored in the database instead of in the configuration file. + * pre- and post- initialization hooks are now available to plugins. Specify + additional hooks to run in the configuration file. + * Add the environment variable $MAILMAN_CONFIG_FILE which overrides the -C + command line option. + * Make LMTP more compliant with Postfix docs (Patrick Koetter) + * Added a NullMTA for mail servers like Exim which just work automatically. - - Added digest.mbox and pending.pck to the 'list' files checked by - check_perms. Launchpad bug #284802. +Architecture +------------ - Architecture + * 'bin/mailman' is a new super-command for managing Mailman from the command + line. Some older bin scripts have been converted, with more to come. + * Mailman now has an administrative REST interface which can be used to get + information from and manage Mailman remotely. + * Back port of Mailman 2.1's limit on .bak file restoration. After 3 + restores, the file is moved to the bad queue, with a .psv extension. (Mark + Sapiro) + * Digest creation is moved into a new queue runner so it doesn't block main + message processing. - - Converted to using zope.testing as the test infrastructure. Use bin/test - now to run the full test suite. - <http://pypi.python.org/pypi/zope.testing/3.7.1> +Other changes +------------- + * bin/make_instance is no longer necessary, and removed + * The debug log is turned up to info by default to reduce log file spam. - - Partially converted to using lazr.config as the new configuration - regime. Not everything has been converted yet, so some manual editing - of mailman/Defaults.py is required. This will be rectified in future - versions. <http://launchpad.net/lazr.config> +Building and installation +------------------------- + * All doc tests can now be turned into documentation, via Sphinx. Just run + bin/docs after bin/buildout. - - All web-related stuff is moved to its own directory, effectively moving - it out of the way for now. - - The email command infrastructure has been reworked to play more nicely - with the plug-in architecture. Not all commands have yet been - converted. - - Other changes +3.0 alpha 2 -- "Grand Designs" +============================== +(03-Jan-2009) - - The LMTP server now properly calculates the message's original size. +Licensing +--------- - - For command line scripts, -C names the configuration file to use. For - convenient testing, if -C is not given, then the environment variable - MAILMAN_CONFIG_FILE is consulted. + * Mailman 3 is now licensed under the GPLv3. - - Support added for a local MHonArc archiver, as well as archiving - automatically in the remote Mail-Archive.com service. +Bug fixes +--------- - - The permalink proposal for supporting RFC 5064 has been adopted. + * Changed bin/arch to attempt to open the mbox before wiping the old + archive. Launchpad bug #280418. - - Mailing lists no longer have a .web_page_url attribute; this is taken - from the mailing list's domain's base_url attribute. + * Added digest.mbox and pending.pck to the 'list' files checked by + check_perms. Launchpad bug #284802. - - Incoming MTA selection is now taken from the config file instead of - plugins. An MTA for Postfix+LMTP is added. bin/genaliases works again. +Architecture +------------ - - If a message has no Message-ID, the stock archivers will return None for - the permalink now instead of raising an assertion. + * Converted to using zope.testing as the test infrastructure. Use bin/test + now to run the full test suite. + <http://pypi.python.org/pypi/zope.testing/3.7.1> + * Partially converted to using lazr.config as the new configuration + regime. Not everything has been converted yet, so some manual editing + of mailman/Defaults.py is required. This will be rectified in future + versions. <http://launchpad.net/lazr.config> + * All web-related stuff is moved to its own directory, effectively moving + it out of the way for now. + * The email command infrastructure has been reworked to play more nicely + with the plug-in architecture. Not all commands have yet been + converted. - - IArchiver no longer has an is_enabled property; this is taken from the - configuration file now. +Other changes +------------- - Installation + * The LMTP server now properly calculates the message's original size. + * For command line scripts, -C names the configuration file to use. For + convenient testing, if -C is not given, then the environment variable + MAILMAN_CONFIG_FILE is consulted. + * Support added for a local MHonArc archiver, as well as archiving + automatically in the remote Mail-Archive.com service. + * The permalink proposal for supporting RFC 5064 has been adopted. + * Mailing lists no longer have a .web_page_url attribute; this is taken from + the mailing list's domain's base_url attribute. + * Incoming MTA selection is now taken from the config file instead of + plugins. An MTA for Postfix+LMTP is added. bin/genaliases works again. + * If a message has no Message-ID, the stock archivers will return None for + the permalink now instead of raising an assertion. + * IArchiver no longer has an is_enabled property; this is taken from the + configuration file now. - - Python 2.6 is the minimal requirement. +Installation +------------ - - Converted to using zc.buildout as the build infrastructure. See - docs/ALPHA.txt for details. - <http://pypi.python.org/pypi/zc.buildout/1.1.1> + * Python 2.6 is the minimal requirement. + * Converted to using zc.buildout as the build infrastructure. See + docs/ALPHA.txt for details. + <http://pypi.python.org/pypi/zc.buildout/1.1.1> 3.0 alpha 1 -- "Leave That Thing Alone" +======================================= (08-Apr-2008) - User visible changes - - - So called 'new style' subject prefixing is the default now, and the only - option. When a list's subject prefix is added, it's always done so - before any Re: tag, not after. E.g. '[My List] Re: The subject'. - - - RFC 2369 headers List-Subscribe and List-Unsubscribe now use the - preferred -join and -leave addresses instead of the -request address - with a subject value. - - Configuration - - - There is no more separate configure; make; make install step. Mailman - 3.0 is a setuptools package. - - - Mailman can now be configured via a 'mailman.cfg' file which lives in - $VAR_PREFIX/etc. This is used to separate the configuration from the - source directory. Alternative configuration files can be specified via - -C/--config for most command line scripts. mailman.cfg contains Python - code. mm_cfg.py is no more. You do not need to import Defaults.py in - etc/mailman.cfg. You should still consult Defaults.py for the list of - site configuration variables available to you. - - See the etc/mailman.cfg.sample file. - - - PUBLIC_ARCHIVE_URL and DEFAULT_SUBJECT_PREFIX now takes $-string - substitutions instead of %-string substitutions. See documentation in - Defaults.py.in for details. - - - Message headers and footers now only accept $-string substitutions; - %-strings are no longer supported. The substitution variable - '_internal_name' has been removed; use $list_name or $real_name - instead. The substitution variable $fqdn_listname has been added. - DEFAULT_MSG_FOOTER in Defaults.py.in has been updated accordingly. - - - The KNOWN_SPAMMERS global variable is replaced with HEADER_MATCHES. The - mailing list's header_filter_rules variable is replaced with - header_matches which has the same semantics as HEADER_MATCHES, but is - list-specific. - - - DEFAULT_MAIL_COMMANDS_MAX_LINES -> EMAIL_COMMANDS_MAX_LINES - - - All SMTP_LOG_* templates use $-strings and all consistently write the - Message-ID as the first item in the log entry. - - - DELIVERY_MODULE now names a handler, not a module (yes, this is a - misnomer, but it will likely change again before the final release). - - Architecture - - - Internally, all strings are Unicodes. - - - Implementation of a chain-of-rules based approach for deciding whether a - message should initially be accepted, held for approval, - rejected/bounced, or discarded. This replaces most of the disposition - handlers in the pipeline. The IncomingRunner now only processes message - through the rule chains, and once accepted, places the message in a new - queue processed by the PipelineRunner. - - - Substantially reworked the entire queue runner process management, - including mailmanctl, a new master script, and the qrunners. This - should be much more robust and reliable now. - - - The Storm ORM is used for data storage, with the SQLite backend as the - default relational database. - - - Zope interfaces are used to describe the major components. - - - Users are now stored in a unified database, and shared across all - mailing lists. - - - Mailman's web interface is now WSGI compliant. WSGI is a Python - standard (PEP 333) allowing web applications to be (more) easily - integrated with any number of existing Python web application - frameworks. For more information see: - - http://www.wsgi.org/wsgi - http://www.python.org/dev/peps/pep-0333/ - - Mailman can still be run as a traditional CGI program of course. - - - Mailman now provides an LMTP server for more efficient integration with - supporting mail servers (e.g. Postfix, Sendmail). The Local Mail - Transport Protocol is defined in RFC 2033: - - http://www.faqs.org/rfcs/rfc2033.html - - - Virtual domains are now fully supported in that mailing lists of the - same name can exist in more than one domain. This is accomplished by - renaming the lists/ and archives/ subdirectories after the list's - posting address. For example, data for list foo in example.com and list - foo in example.org will be stored in lists/foo@example.com and - lists/foo@example.org. - - For Postfix or manual MTA users, you will need to regenerate your mail - aliases. Use bin/genaliases. - - VIRTUAL_HOST_OVERVIEW has been removed, effectively Mailman now operates - as if it were always enabled. If your site has more than one domain, - you must configure all domains by using add_domain() in your - etc/mailman.cfg flie (see below -- add_virtual() has been removed). +User visible changes +-------------------- - - If you had customizations based on Site.py, you will need to - re-implement them. Site.py has been removed. + * So called 'new style' subject prefixing is the default now, and the only + option. When a list's subject prefix is added, it's always done so before + any Re: tag, not after. E.g. '[My List] Re: The subject'. + * RFC 2369 headers List-Subscribe and List-Unsubscribe now use the preferred + -join and -leave addresses instead of the -request address with a subject + value. - - The site list is no more. You can remove your 'mailman' site list - unless you want to retain it for other purposes, but it is no longer - used (or required) by Mailman. You should set NO_REPLY_ADDRESS to an - address that throws away replies, and you should set SITE_OWNER_ADDRESS - to an email address that reaches the person ultimately responsible for - the Mailman installation. The MAILMAN_SITE_LIST variable has been - removed. +Configuration +------------- - - qrunners no longer restart on SIGINT; SIGUSR1 is used for that now. + * There is no more separate configure; make; make install step. Mailman 3.0 + is a setuptools package. + * Mailman can now be configured via a 'mailman.cfg' file which lives in + $VAR_PREFIX/etc. This is used to separate the configuration from the + source directory. Alternative configuration files can be specified via + -C/--config for most command line scripts. mailman.cfg contains Python + code. mm_cfg.py is no more. You do not need to import Defaults.py in + etc/mailman.cfg. You should still consult Defaults.py for the list of site + configuration variables available to you. - Internationalization Big Changes + See the etc/mailman.cfg.sample file. + * PUBLIC_ARCHIVE_URL and DEFAULT_SUBJECT_PREFIX now takes $-string + substitutions instead of %-string substitutions. See documentation in + Defaults.py.in for details. + * Message headers and footers now only accept $-string substitutions; + %-strings are no longer supported. The substitution variable + '_internal_name' has been removed; use $list_name or $real_name + instead. The substitution variable $fqdn_listname has been added. + DEFAULT_MSG_FOOTER in Defaults.py.in has been updated accordingly. + * The KNOWN_SPAMMERS global variable is replaced with HEADER_MATCHES. The + mailing list's header_filter_rules variable is replaced with header_matches + which has the same semantics as HEADER_MATCHES, but is list-specific. + * DEFAULT_MAIL_COMMANDS_MAX_LINES -> EMAIL_COMMANDS_MAX_LINES + * All SMTP_LOG_* templates use $-strings and all consistently write the + Message-ID as the first item in the log entry. + * DELIVERY_MODULE now names a handler, not a module (yes, this is a + misnomer, but it will likely change again before the final release). - - Translators should work only on messages/<lang>/LC_MESSAGES/mailman.po. - Templates files are generated from mailman.po during the build process. +Architecture +------------ - New Features + * Internally, all strings are Unicodes. + * Implementation of a chain-of-rules based approach for deciding whether a + message should initially be accepted, held for approval, rejected/bounced, + or discarded. This replaces most of the disposition handlers in the + pipeline. The IncomingRunner now only processes message through the rule + chains, and once accepted, places the message in a new queue processed by + the PipelineRunner. + * Substantially reworked the entire queue runner process management, + including mailmanctl, a new master script, and the qrunners. This should + be much more robust and reliable now. + * The Storm ORM is used for data storage, with the SQLite backend as the + default relational database. + * Zope interfaces are used to describe the major components. + * Users are now stored in a unified database, and shared across all mailing + lists. + * Mailman's web interface is now WSGI compliant. WSGI is a Python standard + (PEP 333) allowing web applications to be (more) easily integrated with any + number of existing Python web application frameworks. For more information + see: - - Confirmed member change of address is logged in the 'subscribe' log, - and if admin_notify_mchanges is true, a notice is sent to the list - owner using a new adminaddrchgack.txt template. + http://www.wsgi.org/wsgi + http://www.python.org/dev/peps/pep-0333/ - - There is a new list attribute 'subscribe_auto_approval' which is a list - of email addresses and regular expressions matching email addresses - whose subscriptions are exempt from admin approval. RFE 403066. + Mailman can still be run as a traditional CGI program of course. + * Mailman now provides an LMTP server for more efficient integration with + supporting mail servers (e.g. Postfix, Sendmail). The Local Mail Transport + Protocol is defined in RFC 2033: - Command line scripts + http://www.faqs.org/rfcs/rfc2033.html + * Virtual domains are now fully supported in that mailing lists of the same + name can exist in more than one domain. This is accomplished by renaming + the lists/ and archives/ subdirectories after the list's posting address. + For example, data for list foo in example.com and list foo in example.org + will be stored in lists/foo@example.com and lists/foo@example.org. - - Most scripts have grown a -C/--config flag to allow you to specify a - different configuration file. Without this, the default etc/mailman.cfg - file will be used. + For Postfix or manual MTA users, you will need to regenerate your mail + aliases. Use bin/genaliases. - - the -V/--virtual-host-overview switch in list_lists has been removed, - while -d/--domain and -f/--full have been added. + VIRTUAL_HOST_OVERVIEW has been removed, effectively Mailman now operates + as if it were always enabled. If your site has more than one domain, + you must configure all domains by using add_domain() in your + etc/mailman.cfg flie (see below -- add_virtual() has been removed). + * If you had customizations based on Site.py, you will need to re-implement + them. Site.py has been removed. + * The site list is no more. You can remove your 'mailman' site list unless + you want to retain it for other purposes, but it is no longer used (or + required) by Mailman. You should set NO_REPLY_ADDRESS to an address that + throws away replies, and you should set SITE_OWNER_ADDRESS to an email + address that reaches the person ultimately responsible for the Mailman + installation. The MAILMAN_SITE_LIST variable has been removed. + * qrunners no longer restart on SIGINT; SIGUSR1 is used for that now. - - bin/newlist is renamed bin/create_list and bin/rmlist is renamed - bin/remove_list. Both take fully-qualified list names now (i.e. the - list's posting address), but also accept short names, in which case the - default domain is used. newlist's -u/--urlhost and -e/--emailhost - switches have been removed. The domain that the list is being added to - must already exist. +Internationalization Big Changes +-------------------------------- - - Backport the ability to specify additional footer interpolation - variables by the message metadata 'decoration-data' key. + * Translators should work only on messages/<lang>/LC_MESSAGES/mailman.po. + Templates files are generated from mailman.po during the build process. - Bug fixes and other patches +New Features +------------ - - Removal of DomainKey/DKIM signatures is now controlled by Defaults.py - mm_cfg.py variable REMOVE_DKIM_HEADERS (default = No). + * Confirmed member change of address is logged in the 'subscribe' log, and if + admin_notify_mchanges is true, a notice is sent to the list owner using a + new adminaddrchgack.txt template. + * There is a new list attribute 'subscribe_auto_approval' which is a list of + email addresses and regular expressions matching email addresses whose + subscriptions are exempt from admin approval. RFE 403066. - - Queue runner processing is improved to log and preserve for analysis in - the shunt queue certain bad queue entries that were previously logged - but lost. Also, entries are preserved when an attempt to shunt throws - an exception (1656289). +Command line scripts +-------------------- - - The processing of Topics regular expressions has changed. Previously the - Topics regexp was compiled in verbose mode but not documented as such - which caused some confusion. Also, the documentation indicated that - topic keywords could be entered one per line, but these entries were not - handled properly. Topics regexps are now compiled in non-verbose mode - and multi- line entries are 'ored'. Existing Topics regexps will be - converted when the list is updated so they will continue to work. + * Most scripts have grown a -C/--config flag to allow you to specify a + different configuration file. Without this, the default etc/mailman.cfg + file will be used. + * the -V/--virtual-host-overview switch in list_lists has been removed, while + -d/--domain and -f/--full have been added. + * bin/newlist is renamed bin/create_list and bin/rmlist is renamed + bin/remove_list. Both take fully-qualified list names now (i.e. the list's + posting address), but also accept short names, in which case the default + domain is used. newlist's -u/--urlhost and -e/--emailhost switches have + been removed. The domain that the list is being added to must already + exist. + * Backport the ability to specify additional footer interpolation variables + by the message metadata 'decoration-data' key. - - The List-Help, List-Subscribe, and List-Unsubscribe headers were - incorrectly suppressed in messages that Mailman sends directly to - users. +Bug fixes and other patches +--------------------------- - - The 'adminapproved' metadata key is renamed 'moderator_approved'. + * Removal of DomainKey/DKIM signatures is now controlled by Defaults.py + mm_cfg.py variable REMOVE_DKIM_HEADERS (default = No). + * Queue runner processing is improved to log and preserve for analysis in the + shunt queue certain bad queue entries that were previously logged but lost. + Also, entries are preserved when an attempt to shunt throws an exception + (1656289). + * The processing of Topics regular expressions has changed. Previously the + Topics regexp was compiled in verbose mode but not documented as such which + caused some confusion. Also, the documentation indicated that topic + keywords could be entered one per line, but these entries were not handled + properly. Topics regexps are now compiled in non-verbose mode and multi- + line entries are 'ored'. Existing Topics regexps will be converted when + the list is updated so they will continue to work. + * The List-Help, List-Subscribe, and List-Unsubscribe headers were + incorrectly suppressed in messages that Mailman sends directly to users. + * The 'adminapproved' metadata key is renamed 'moderator_approved'. |
