New Features in Exim
--------------------

This file contains descriptions of new features that have been added to Exim,
but have not yet made it into the main manual (which is most conveniently
updated when there is a relatively large batch of changes). The doc/ChangeLog
file contains a listing of all changes, including bug fixes.


Version 4.42
------------

 1. The "personal" filter test is brought up-to-date with recommendations from
    the Sieve specification: (a) The list of non-personal From: addresses now
    includes "listserv", "majordomo", and "*-request"; (b) If the message
    contains any header line starting with "List=-" it is treated as
    non-personal.

 2. The Sieve functionality has been extended to support the "copy" and
    "vacation" extensions, and comparison tests.

 3. There is now an overall timeout for performing a callout verification. It
    defaults to 4 times the callout timeout, which applies to individual SMTP
    commands during the callout. The overall timeout applies when there is more
    than one host that can be tried. The timeout is checked before trying the
    next host. This prevents very long delays if there are a large number of
    hosts and all are timing out (e.g. when the network connections are timing
    out). The value of the overall timeout can be changed by specifying an
    additional sub-option for "callout", called "maxwait". For example:

      verify = sender/callout=5s,maxwait=20s

 4. Changes to the "personal" filter test:

    (1) The list of non-personal local parts in From: addresses has been
    extended to include "listserv", "majordomo", "*-request", and "owner-*",
    taken from the Sieve specification recommendations.

    (2) If the message contains any header line starting with "List-" it is
    treated as non-personal.

    (3) The test for "circular" in the Subject: header line has been removed
    because it now seems ill-conceived.

 5. The autoreply transport has a new option called never_mail. This is an
    address list. If any run of the transport creates a message with a
    recipient that matches any item in the list, that recipient is quietly
    discarded. If all recipients are discarded, no message is created.


Version 4.40
------------

The documentation is up-to-date for the 4.40 release. What follows here is a
brief list of the new features that have been added since 4.30.

 1. log_incoming_interface affects more log lines.

 2. New ACL modifier "control = submission".

 3. CONFIGURE_OWNER can be set at build time to define an alternative owner for
    the configuration file, in addition to root and exim.

 4. Added expansion variables $body_zerocount, $recipient_data, and
    $sender_data.

 5. The time of last modification of the "new" subdirectory is now used as the
    "mailbox time last read" when there is a quota error for a maildir
    delivery.

 6. The special item "+ignore_unknown" may now appear in host lists.

 7. The special domain-matching patterns @mx_any, @mx_primary, and
    @mx_secondary can now be followed by "/ignore=<ip list>".

 8. New expansion conditions: match_domain, match_address, match_local_part,
    lt, lti, le, lei, gt, gti, ge, and new expansion operators time_interval,
    eval10, and base62d.

 9. New lookup type called "iplsearch".

10. New log selectors ident_timeout, tls_certificate_verified, queue_time,
    deliver_time, outgoing_port, return_path_on_delivery.

11. New global options smtp_active_hostname and tls_require_ciphers.

12. Exinext has -C and -D options.

13. "domainlist_cache" forces caching of an apparently variable list.

14. For compatibility with Sendmail, the command line option -prval:sval
    is equivalent to -oMr rval -oMs sval.

15. New callout options use_sender and use_postmaster for use when verifying
    recipients.

16. John Jetmore's "exipick" utility has been added to the distribution.

17. The TLS code now supports CRLs.

18. The dnslookup router and the dnsdb lookup type now support the use of SRV
    records.

19. The redirect router has a new option called qualify_domain.

20. exigrep's output now also includes lines that are not related to any
    particular message, but which do match the pattern.

21. New global option write_rejectlog. If it is set false, Exim no longer
    writes anything to the reject log.

****
