[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-mailutils] GNU mailutils-2.1 released

From: Sergey Poznyakoff
Subject: [bug-mailutils] GNU mailutils-2.1 released
Date: Thu, 10 Sep 2009 23:35:48 +0300


The GNU Mailutils team is pleased to announce the release of
GNU Mailutils Version 2.1. This release marks the 10th
anniversary of the project. See below for a list of user-visible
changes since the prior release.

GNU Mailutils is a rich and powerful protocol-independent mail framework.
It contains a series of useful mail libraries, clients, and servers. These
are the primary mail utilities for the GNU system. The central library
is capable of handling electronic mail in various mailbox formats and
protocols, both local and remote. Specifically, this project contains a
POP3 server, an IMAP4 server, and a Sieve mail filter. It also provides a
POSIX `mailx' client, and a collection of other handy tools.

The GNU Mailutils libraries supply an ample set of primitives for handling
electronic mail in programs written in C, C++, Python or Scheme.

Here are the compressed sources:
  ftp://ftp.gnu.org/gnu/mailutils/mailutils-2.1.tar.gz   (4.7MB)
  ftp://ftp.gnu.org/gnu/mailutils/mailutils-2.1.tar.bz2  (3.3MB)
  ftp://ftp.gnu.org/gnu/mailutils/mailutils-2.1.tar.lzma (2.3MB)
  ftp://ftp.gnu.org/gnu/mailutils/mailutils-2.1.tar.xz   (2.6MB)

Here are the GPG detached signatures[*]:

Here are the MD5 and SHA1 checksums:

adb6c28dc5da2cf3313f39076173e04c          mailutils-2.1.tar.gz
487da91ea03ee9ea79b34782f2b63fca          mailutils-2.1.tar.bz2
e63d9f13514986375d4b5fb6c177a53a          mailutils-2.1.tar.lzma
5567a5686f4d5974762b0fb015e67c49          mailutils-2.1.tar.xz
2cea15c17d16f8e1f5a17011a46b2cb0911d63c3  mailutils-2.1.tar.gz
03c9170897c379058d756652581123839c40fa0b  mailutils-2.1.tar.bz2
c195078cd7ea528e938e606fb97c17c9ac1f93c5  mailutils-2.1.tar.lzma
029452255a588a6401c2da1ab926b39a2f6576ff  mailutils-2.1.tar.xz

[*] You can use either of the above signature files to verify that
the corresponding file (without the .sig suffix) is intact.  First,
be sure to download both the .sig file and the corresponding tarball.
Then, run a command like this:

  gpg --verify mailutils-2.1.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 55D0C732

and rerun the `gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.63
  Automake 1.11
  Bison 2.3
  Flex 2.5.4
  Gnulib-tool 0.0.2549-2c90f1
  Makeinfo 4.13

The list of user-visible changes follows:

* New distribution tarballs

Mailutils tar archives are distributed in four compressed formats:
gzip, bzip2, lzma and xz.

* Ticket files

All MU client utilities make use of the user ticket file,
~/.mu-tickets, if it is present.

* Imap4d

New configuration file entities allow to modify user's personal
namespace (the `personal-namespace' statement) and visible home
directory (the `homedir' statement). 

* Movemail

When called with the `--uidl' command line option, the utility tries
to avoid copying the message if a message with the same UIDL already
exists in the destination mailbox.

The `--verbose' command line option enables additional informational

The `--owner' command line option (and the corresponding
`mailbox-ownership' configuration file statement) instructs movemail
to copy mailbox ownership, if the utility is run with root privileges.

* Maidag

Improved scripting capability allows to use mail filters written in
the Python language.

The `--script' command line option sets the name pattern for
user-defined mail filters. Maidag uses the script suffix to
deduce what language it is written in. Supported suffixes are:
`sv', `siv' and `sieve' for Sieve, `scm' and `scheme' for Scheme,
`py' and `pyc' for Python. Additionally, the language may be
defined using the `--language' command line option.

* Mail

** The -f option

The semantics of -f (--file) option fully complies to the POSIX
standard. Namely, this option instructs mail to read messages
from the file named by the first non-optional command line
argument. Therefore, the following four usage patterns are
entirely equivalent:

  mail -fin mymbox
  mail -f mymbox -in
  mail --file -in mymbox
  mail --file -i mymbox -n

In addition, the form

  mail --file=mymbox

is also allowed.  

** The -F option

The -F option (record outgoing messages in a file named after the
first recipient) is implemented.

** struct command

The st[ruct] command lists MIME structures of the message or messages, e.g.:

& struct 2
2[1]  text/plain                 513
2[2]  application/octal-stream  247K
2[3]  text/x-diff                31K

** error locations

Diagnostic messages issued while processing `source' command
include file locations, in compliance with the GNU standards. This
also includes diagnostics issued while parsing the system or user
configuration files.

** envelope command

The env[elope] command displays the SMTP envelopes of the messages
given as its arguments.

** variable command

The va[riable] command describes the known internal mail variables.
When used with arguments, only variables named in the command line are

For each variable, this command prints its name, data type, current
value and a short description.

** headline variable

The headline variable holds a format string to use for the header
summary. Its format is mostly compatible with that of the `nail'
mail reader.

** showenvelope variable

If the `showenvelope' variable is set, print command will include the
SMTP envelope in its output.

** fromfield variable

The `fromfield' boolean variable, if set, instructs mail to obtain
the sender address from the `From:' header.  This is the default.
If unset, the sender address is obtained from the SMTP envelope.

** variable-strict variable

Setting this variable enables strict control over variable
settings. In this mode, mail prints warning if a user is trying to
set an unknown variable and refuses to set read-only variables.

** variable-pretty-print variable

If this variable is set, the `set' listing prints short
descriptions before each variable.

* New interfaces

** Python interface

Mailutils now comes with the Python API. See examples/python/*, for
examples on how to use it.

** C++ interface

The C++ API is built by default, if a c++ compiler is available.

* Support for Tokyo Cabinet DBM.

Tokyo Cabinet is a modern implementation of DBM, developed as the
successor of GDBM and QDBM.  It is written in the C language,
available on platforms which have API conforming to C99 and POSIX.
Tokyo Cabinet is a free software licensed under the GNU Lesser General
Public License.


* New library naming scheme

The names of all mailutils inferior libraries are prefixed with
`libmu_', e.g.: libmu_sieve, libmu_imap, etc. In particular,
`libsieve' is now named `libmu_sieve' and `libcfg' - `libmu_cfg'.

* Wicket/Ticket functions

The wicket/ticket support is rewritten from scratch.

A `wicket' is an object that supplies authentication tickets. The
following user-level functions are available for manipulating

- int mu_file_wicket_create (mu_wicket_t *pwicket, const char *filename);

Creates a wicket associated with the ticket file `filename'

- int mu_wicket_get_ticket (mu_wicket_t wicket, const char *user,
                            mu_ticket_t *pticket);

Obtains authentication ticket for the given user.

- void mu_wicket_destroy (mu_wicket_t *pwicket);

Destroys the wicket and releases any resources associated with it.

A `ticket' is used to obtain user authentication credentials:

- int mu_ticket_get_cred (mu_ticket_t ticket,
                          mu_url_t url, const char *challenge,
                          char **pplain, mu_secret_t *psec);

Obtain plaintext and secret credentials for the given URL and
(optional) authentication challenge. Usually, the plaintext credential
is a user name, and secret one is the corresponding password.

* New mailbox formats

Three new append-only mailbox formats are introduced. The URL syntax of
each of them is the same as that of the corresponding mailer.

** smtp

Send message using the `smtp' mailer. It is equivalent to
`remote+smtp', introduced in previous version.

** sendmail.

Send message using the `sendmail' mailer. It is equivalent to
`remote+sendmail', introduced in previous version.

** prog

Send message using the `prog' mailer. It is equivalent to
`remote+prog', introduced in previous version.

* Deprecated mailbox formats.

The `remote+sendmail', `remote+prog' and `remote+smtp' mailbox formats
are deprecated in favor of `sendmail', `prog' and `smtp',

** New functions

- mu_mailbox_get_uidls

** Removed functions

- mu_sieve_get_ticket
- mu_sieve_set_ticket

** Changed functions

*** mu_message_save_to_mailbox: removed `ticket' argument.

The new prototype is:

int mu_message_save_to_mailbox (mu_message_t msg,
                                mu_debug_t debug,
                                const char *toname,
                                int perms);

*** mu_attribute_to_string

This function now returns a string consisting of flag letters only, without
"Status:" prefix or final newline.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]