wiki:ReleaseNotes

Notable Changes in Project Lancelot

This document highlights the most important changes in each version of Project Lancelot. For a detailed list of changes, please consult the Mercurial repository accessible from the Project Lancelot web site at http://code.anselms.net/projects/lancelot/ .

Version 0.7.1

User-visible functionality

  • The value of the Precedence: e-mail header can now be configured. Don't.
  • Addresses can now be explicitly white-listed if they are supposed to be the only ones able to post to a list. This is not a security measure (sender addresses can easily be forged); its purpose is as a low-threshold method to prevent boo-boos on announcement-type mailing lists that should only accept messages from one address or one domain. (If you want a really secure announcement list, use the authentication infrastructure and GnuPG-sign your messages.)
  • There is a new database interface module to allow read-only subscriber lists based on arbitrary SQL database queries. This is using Perl's DBI infrastructure and hence should work with any SQL database that is supported by DBI. Use this to send mail from your CRM database. Read all about it in the External-SQL-HOWTO.

Bug fixes

  • The version number in Lancelot.pm was wrong.
  • The Project Lancelot URL was fixed in a number of forgotten places.
  • People with UNCONFIRMED subscriptions were able to post to the lists in question.
  • Take care to remove all SQL comments from database schema snippets.

Version 0.7

User-visible functionality (backward-incompatible)

  • The configuration parameter system has been reworked to get rid of hard-coded defaults that were scattered all over the software. These are now collected in a central place. Also, the software now relies a lot more on the hard-coded defaults than on stuff added to the database when the list is created, which is now cut down to the minimal number of items possible. The pl-conf(1) command will, by default, output only the items in the configuration database; there is a new --query suboption --all which will dump the complete set of configuration parameters, including those which do not occur in the current list's configuration database. The --modified suboption will display only those parameters whose actual value differs from the hard-coded default (i.e., parameters in the database whose values equal the hard-coded defaults will be suppressed) while the ---defaults suboption will display the hard-coded defaults rather than the current values.
  • In pl-init(1), the --config option now applies to files containing configuration parameter assignments, not the assignments themselves.
  • pl-init(1) now adds the list owner to the new list as a subscriber with administrator privileges (similar to
      pl-subscribe --nowelcome list@domain owner-address
      pl-subchange --admin list@domain owner-address
    
    ). This is supposed to reflect the common case that the list owner is also going to participitate in the mailing list. To avoid this behaviour, set list.subscribeowner = 0 at some point during the initialisation of the list, e.g., in a default settings file or on the pl-init(1) command line.

User-visible functionality

  • In pl-init(1), individual configuration parameter assignments can now be passed by appending them to the command line after the list owner address (use quotes where applicable). This replaces the previous semantics of the --config parameter (see above).
  • When configuration parameters are set, a reference like »<<parameter.name>>« will now be replaced by the then-current value of parameter.name. This is mostly useful for template-type defaults files such as
      archive.directory = archive
      archive.index = 1
      archive.url = http://www.example.com/archive/message/<<list.address>>/%s
    
    which specify standardised setups for many lists that only differ in (for example) the list address.

Bug fixes

  • UNCONFIRMED addresses are now handled properly by pl-list(1).
  • The config.nomail, config.digest and config.name parameters now work as advertised.

Version 0.6

User-visible functionality (backward-incompatible)

  • The Great Renaming: All command names have been changed from ll-something to pl-something. This is mostly a preventive strike to emphasise that the program is called PROJECT Lancelot. There is another program called »Lancelot« which is part of KDE, and it is probably best to avoid confusion as far as possible. It can easily be shown that Project Lancelot was there first, but everybody knows that KDE people are always right and will never budge ;) The same sort of clarification has been made to the documentation.
  • In the same vein, distribution archives are now called project-lancelot-0.6.tar.gz and so on. The same change will be applied to the Debian package.
  • The pl-subchange(1) command no longer accepts the --noauth option, which doesn't appear to have worked quite right, anyway. To remove all authentication methods from a subscription, use --auth=NONE.
  • All configuration parameters to do with digests are now digest.* rather than digests.*. In the past there were various conflicting spellings.
  • The parameters mod.aquorum and mod.rquorum are now called mod.quorum.approve and mod.quorum.reject, respectively. There is also a new parameter mod.quorum.discard.
  • The parameters subscribe.digestchange and subscribe.nomailchange are now called config.digest and config.nomail, respectively. There is also a new parameter config.name.
  • The automatic »goodbye« message is somewhat less cynical than it used to be.

User-visible functionality

  • The command »pl-conf --alias« introduces a list alias to make dealing with long list addresses more convenient.
  • The command line programs (except pl-incoming(1) and pl-janitor(1)) will set and use a default alias, ., to refer to the most recently accessed list.
  • The archive_store module will now automatically maintain a threaded index if the archive.index parameter is set to 1. This goes into a SQLite database called index.db in the top-level list archive directory. Refer to the source code or use sqlite3 to find out about the schema. The threads are constructed using the JWZ algorithm (see http://www.jwz.org/doc/threading.html).
  • There is a new command, pl-thread(1), which will rebuild the archive index for an existing archive directory.
  • There is a new parameter, auth.default, which gives the default authentication method(s) for all users (as a space-separated list). This is mostly useful for the gpg method, in order to avoid having to do a subchange --auth=gpg for all users in addition to adding their GnuPG keys to the list's keyring. It makes no sense adding credentials such as a password, which would have to be the same for all users.

Documentation

  • The parameter list in doc/config.txt is now more complete.

Last modified 5 years ago Last modified on Sep 22, 2012, 11:58:14 AM