Hello, I am pleased to announce the release of GNU mailutils version 3.0.
GNU Mailutils is a protocol-independent framework for email processing. It provides a set of libraries for doing almost any mail-related task on any existing mailbox format, using a consistent format-independent API. Several tools are built atop of these libraries and included in the package. Among them are pop3 and imap4 servers, the traditional mailx mail reader, the sieve mail filtering utility and a complete set of MH utilities that can be used with GNU Emacs MH-E mode. Visit http://mailutils.org for more information. This release is a result of a major rewrite that took several years. See below for a list of noteworthy changes. Here are the compressed sources: ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.gz (5.7MB) ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.bz2 (3.9MB) ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.xz (2.7MB) Here are the GPG detached signatures[*]: ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.gz.sig ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.bz2.sig ftp://ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.xz.sig Use a mirror for higher download bandwidth: http://www.gnu.org/order/ftp.html Here are the MD5 and SHA1 checksums: 54ceb3f0c017f13745bafa27bbcafabb mailutils-3.0.tar.gz 5d33ae2dc849b29273947f28cf7a57ce mailutils-3.0.tar.bz2 f8a8959ffbb6b51f2d2d592ccb97c6b2 mailutils-3.0.tar.xz b77f7557f9f28814c8660dafde71908c068025d1 mailutils-3.0.tar.gz ff6e1d5ab85b0c930ac942f7fa7e5b4364c9404b mailutils-3.0.tar.bz2 ef37649fe7da70d8b075bf7a45a38626e13af7fa mailutils-3.0.tar.xz [*] Use a .sig file 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-3.0.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 3602B07F55D0C732 and rerun the 'gpg --verify' command. This release was bootstrapped with the following tools: Autoconf 2.69 Automake 1.14 Bison 2.7 Makeinfo 5.2 New in this release: * Important changes ** Main configuration file renamed to mailutils.conf ** IPv6 support. The core library as well as client and server utilities support AF_INET6 family of addresses. ** Support for POP3S and IMAP4S in the respective servers. A single instance of pop3d is able to handle several subservers, supporting both plain POP3 and encrypted POP3S simultaneously. The same holds true for imap4d. ** DBM support reimplemented from scratch. The most important result of this change is that Mailutils is now able to handle databases of different formats (e.g. GDBM, Berkeley DB, NDBM) simultaneously, without need to reconfigure it. The database flavor to use is selected at runtime, using `database URL'. For example, "gdbm:///etc/mail/aliases.db" refers to a GDBM database. See <http://mailutils.org/wiki/libmu_dbm>. ** New utility `mailutils' Multi-purpose tool which can be of use to users, programmers and system administrators. It allows you to retrieve information about Mailutils configuration, check ACLs and authentication tickets, list, create or modify DBM files, construct filters of arbitrary complexity and many more. See <http://mailutils.org/wiki/mu>. ** Configurable file safety checking Some files, such as SSL key files, need particular protection, while others (e.g. users' forward files) don't require it. Mailutils configuration allows for configuring what safety checks are required for each group of files. Files not meeting the configured criteria are not used to avoid compromising security. ** Improved debugging and diagnostics See <http://mailutils.org/wiki/debug_level>. ** Imap4d underwent a lot of changes to comply to existing RFCs ** Pop3d and imap4d allow for mailbox-independent compulsory locking This feature is useful for those system administrators who don't wish to permit simultaneous access to mailboxes, even when the nature of the mailbox allows that (e.g. maildir). ** SMTPS support. ** Sieve: new extensions New extension action `pipe' invokes arbitrary external program and pipes the message (or any part thereof) to it. See <http://mailutils.org/wiki/Pipe>. A similar test uses the program exit code to decide what to do with the message. See <http://mailutils.org/wiki/Pipe_test>. New extension test `list' compares values of mail headers from a supplied list with a list of values. See <http://mailutils.org/wiki/List_(Sieve_test)>. New extension test `timestamp' compares the value of a structured date header field with the given date. See <http://mailutils.org/wiki/Timestamp_(Sieve_test)>. Implemented the Editheader extension: `addheader' and `delheader' actions. See <http://tools.ietf.org/html/rfc5293>. ** mail: sending attachments The mail[x] utility now allows for sending attachments. Any number of files can be attached to the composed letter by using the `--attach' (`-A') options. The files will be attached in the same order in which they appear in the command line. By default, each attachment is assigned the content type "application/octet-stream" and is encoded using Base64. This can be changed using the `--content-type' and `--encoding' options. These options affect all attachments that appear after them in the command line, until next occurrence of the same option or end of command line, whichever occurs first. For example: mail -A prog --encoding quoted-printable --content-type text/c \ -A main.c -A ext.h Here, the file "prog" will be attached with the content type "application/octet-stream" and encoding base64, while the files "main.c" and "ext.h" will be marked with content type "text/c" and encoded using "quoted-printable" algorithm. The mail shell provides the following new escapes to handle attachments: ~l Lists all attachments. The output is a numbered list of attachments with their corresponding content types and encodings. ~+ filename [content-type [encoding]] Attach the file `filename'. Optional arguments supply the content type and encoding to use instead of the defaults. ~^ N Delete Nth attachment. ** mail: the -r option The meaning of the `-r' option has changed. Now it introduces the return address to use when sending mail. This is an incompatible change. The return address can also be set from the mail shell, by assigning to the `return-address' variable, e.g.: set return-address "g...@gnu.org" ** MH: improved compatibility with other implementations ** MH inc: new option -moveto This option instructs the utility to move incorporated messages into another folder instead of deleting them. It is implemented only for input folders of type IMAP or IMAPS. A sample usage is: inc -truncate -moveto Read -file imaps://imap.gmail.com Note the `-truncate' option. ** MH show and msgchk Implemented two new programs: show and msgchk. ** MH: multiple sources The `inc' command is able to incorporate messages from several source mailboxes. These are specified via multiple `-file' options, e.g.: inc -truncate \ -file 'imaps://imap.gmail.com;moveto=archived' \ -file pops://mail.gnu.org \ -file /var/mail/root Additional parameters can be used in URLs supplied with the `-file' option: moveto=FOLDER Moves incorporated messages into FOLDER. This is similar to the `-moveto' option, but applies only to that particular mailbox. See the example above. nomoveto Disables the previous `-moveto' option. truncate[=BOOL] Controls source mailbox truncation. If BOOL is not given or is "yes", the mailbox will be truncated after successful processing. If BOOL is "no", the source mailbox will not be truncated. ** MH aliases The "< FILE" construct has been extended to allow for building the list of aliases on the fly. If FILE is an executable file and its first line begins with a shell interpreter magic (#!/ or #! /), then instead of being included, such file is run using "/bin/sh -c", its output is collected and included in the aliases. ** mailutils-config is deprecated. Use `mailutils cflags' and `mailutils ldflags' instead. The mailutils-config is rewritten as a wrapper over these commands. See <http://mailutils.org/wiki/mu> for more information. ** movemail functionality considerably improved See <http://mailutils.org/wiki/Fetching_Mail_with_Movemail>. ** Support for Kyoto Cabinet DBM. Kyoto Cabinet is a library of routines for managing a database. It is the successor of Tokyo Cabinet. Kyoto Cabinet is a free software licensed under the GNU General Public License. * Configuration changes These are of particular interest to installers. ** New configuration options to disable particular groups of utilities. The `--enable-build-servers' options controls whether servers (such as imap4d, pop3d, comsat) will be built. Its counterpart, `--enable-build-clients' controls whether client utilities will be built. The effect of both options is overridden by the `--enable-build-*' options for particular components. For example, to build only the "mail" utility: ./configure --disable-build-clients --enable-build-mail ** The --with-mailbindir option This option changes installation directory for the "mail" utility. The following command will configure Mailutils to build only a statically-linked copy of the "mail" utility and install it to /bin: ./configure \ LDFLAGS=-static\ --enable-build-mail\ --with-mailbindir='/bin'\ --disable-shared\ --disable-virtual-domains\ --disable-python\ --disable-pam\ --disable-cxx\ --disable-build-servers\ --disable-build-clients\ --without-gsasl\ --without-tcp-wrappers\ --without-fribidi\ --without-mysql\ --without-postgres\ --without-odbc\ --without-ldap\ --without-guile\ --without-dbm ** DBM options It is normally not needed to specify --with-gdbm, --with-berkeley-db or --with-ndbm explicitly. Configuration will automatically pick up all available DBM libraries it can use. The option `--with-dbm' can be used to enable or disable building of all available DBM interfaces. Its effect is overridden by `--with-*' options for particular interfaces. For example, to build only GDBM (even if another databases are supported by the system): ./configure --without-dbm --with-gdbm ** Nntp client is not yet implemented ** Link with GSASL by default GSASL is used by several Mailutils components (notably pop3d and imap4d as well as their client counterparts) for authentication. Since this version, it is enabled by default if configure detects the presence of GNU SASL version 0.2.3 or later. This can be disabled using the --without-gsasl option. ** Experimental features The C++ bindings are considered experimental and unstable. * Changes to the library ** Stream support is rewritten from scratch Stream support is a cornerstone on which the rest of Mailutils is built. The new implementation was developed with three main objectives in mind: reliability, speed and consistency. ** URL support is rewritten from scratch New URL functions allow both for creating URLs from string representations and for building them from parts. ** Filter support is rewritten from scratch Apart from the implementation itself, lots of new filters are provided. See <http://mailutils.org/wiki/Category:Filters> for a list of those. A concept of `filter chains' was introduced, which allows for creating new filters using existing ones as their components. See <http://mailutils.org/wiki/Mu#filter>, for a description. ** POP client library is rewritten from scratch The new library provides two APIs: a traditional mailbox API which hides the particularities of the POP protocol, and POP-specific API, which allows for writing applications directly accessing POP features. ** SMTP client library is rewritten from scratch The new library provides a detailed control over the SMTP transaction. ** Support for Maildir and MH formats considerably improved. ** The mailbox object contains a `copy' method. This method copies the requested set of messages into another mailbox. It is accessed using the `mu_mailbox_msgset_copy' or `mu_mailbox_message_copy' functions. So far it is implemented only for IMAP and IMAPS mailboxes. ** MIME support improved. ** Debugging support considerably improved. See <http://mailutils.org/wiki/debug_level>. ** Configuration file support (libmu_cfg) rewritten. * New Scheme primitives ** mu-mailbox-sync Synchronizes the changes done to the mailbox with its external storage. ** mu-mailbox-expunge Similar to mu-mailbox-sync, but also permanently removes messages marked for deletion. ** mu-mailbox-flush Marks all messages as seen, and synchronizes the changes with the mailbox external storage. Depending on its second argument, removes messages marked for deletion. Best regards, Sergey -- If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.