Hello,

This is to inform you that mailutils version 3.21 is available for
download.  This is a stable release.  See the end of this message for
a list of important changes.

Here are the compressed sources:

  https://ftp.gnu.org/gnu/mailutils/mailutils-3.21.tar.gz             7.7M
  https://ftp.gnu.org/gnu/mailutils/mailutils-3.21.tar.bz2            5.2M
  https://ftp.gnu.org/gnu/mailutils/mailutils-3.21.tar.xz             3.3M

Here are the checksums:

MD5
---
9a4f6da21011879ddfeb281377056bee  mailutils-3.21.tar.gz
0cca4dbe8ae24d9b9c7a6bde0fb1d09b  mailutils-3.21.tar.bz2
e063532187102c1a2a2320de12860e0d  mailutils-3.21.tar.xz

SHA1
----
a1c2fd83d6e9d1cca34850069841afab55bd1994  mailutils-3.21.tar.gz
9749102d21790cf55a6d252766cc2e3b32ae59ed  mailutils-3.21.tar.bz2
09a9fc9907c84e75eaf5f19f86cdf887adb57d02  mailutils-3.21.tar.xz

SHA256
------
5e305de7fcf2f744c8b210f1cfe904d49842bfc6d13a913031ec4dbf0c669c54  
mailutils-3.21.tar.gz
92f79df991df3a44c86ae9df943194a387890db76ce3ade03efb1f9cf2817e56  
mailutils-3.21.tar.bz2
e47c1edc699b8d6675fdbc77db3a84ae837f18e1f2094fe29d48bb58a97ef5e9  
mailutils-3.21.tar.xz

Noteworthy changes in this release:

* Optionally create intermediate directories when creating mailboxes.

New stream flag is introduced: MU_STREAM_INTERDIR.  Used together with
MU_STREAM_CREAT, it instructs mailutils to create any missing intermediate
directories, when creating file.

* Creating home directories

New configuration statement "homedir" declares the action to take if a
user home directory does not exits.  E.g.:

homedir {
  # Create user home directory if needed.  create true; # File mode for
  newly created directories.  mode 755;
}

The statement is used by imap4d, lmtpd, mda, and putmail utilities.

* Imap4d configuration statements "create-home-dir" and "home-dir-mode"

These are declared obsolete.  Users are advised to use "homedir"
section instead.

* Sieve

** Fileinto action: new option :interdir

The option informs fileinto that it should create missing intermediate
directories when creating a mailbox.

* Variable expansions in configuration statements.

All statements that allow for variable expansion now support the following
shell-compatible constructs:

   ${variable#word}           Remove shortest prefix pattern.
   ${variable##word}          Remove longest prefix pattern.
   ${variable%word}           Remove shortest suffix pattern.
   ${variable%%word}          Remove longest suffix pattern.

Additionally, the following constructs are supported:

   ${variable/pattern/subst}
      Pattern substitution.  Expand all three parts, and replace the
      longest match of pattern against the expansion of variable with
      the expansion of subst.

   ${variable:|word1|word2}
      Expand to word1 if variable is set and not empty, and to word2
      otherwise.

* New commands in string expansions

All statements that allow for variable expansion can now use the
following commands:

   localuser
      If argument is an email address with user and detail subparts in
      its localpart, this function returns the user name.  Otherwise,
      it is equivalent to localpart.

   detail
      If argument is an email address with user and detail subparts
      in its localpart, this function returns the detail part.  If no
      detail part is present, it returns an empty string.

* Changes in ldap.field_map configuration statement

This statement was originally intended to keep LDAP attribute name
associations.  Now, apart from attribute names, it's values can store
arbitrary strings.  These are so called "immediate values".

If the value after the equals sign begins with a letter, it is taken
as an LDAP attribute name.  Otherwise, it is an immediate value.  It is
expanded as described in subsection 3.2.2 "Configuration Variables" of the
documentation, and the resulting value is used as the attribute value.
Expansion occurs after all LDAP attribute names have been retrieved.
Their values are available as variables named after getpw* column names
(i.e. name, passwd, uid, gid, gecos, dir, shell, mailbox, quota).

Single and double quotes are handled within field map values.

Example:

  field-map (
     "name=uid", "passwd=userPassword", "uid=uidNumber", "gid=gidNumber",
     "gecos=gecos", "dir=/usr/home/${name}", "shell=loginShell",
     "mailbox=\"maildir:/var/spool/mail/${name}\""
  );

In this field map, "dir" and "mailbox" are immediate values.

* Bugfixes

** Sieve: fix coredump on parsing "fileinto :permission" action.

** Sieve: fix optimizer.

** Library: fix parsing ls-compatible permission strings.

** Library: fix mu_sieve_machine_clone function.

** Configuration: use '\' to escape delimiters in some statements.

This affects statements whose arguments are colon- or comma-delimited
strings, e.g. ldap.field-map.

** Library: fix localized help output

Help entries now use the correct translation domain.
The bug was originally reported and discussed in
https://mail.gnu.org.ua/mailman/listarchive/bug-mailfromd/2018-04/msg00027.html

Best regards,
Sergey

Reply via email to