-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.141 2007/02/14 14:59:01 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.145 2007/03/13 15:32:47 ph10 Exp $
New Features in Exim
--------------------
option; with -I they don't. In both cases it is possible to change the case
sensitivity within the pattern using (?i) or (?-i).
-14. A number of new features have been added to string expansions to make it
+16. A number of new features have been added to string expansions to make it
easier to process lists of items, typically addresses. These are as
follows:
At the end of a ${reduce expansion, the values of $item and $value is
restored to what they were before.
+17. There's a new ACL modifier called "continue". It does nothing of itself,
+ and processing of the ACL always continues with the next condition or
+ modifier. It is provided so that the side effects of expanding its argument
+ can be used. Typically this would be for updating a database. It is really
+ just a syntactic tidiness, because the following two lines have the same
+ effect:
+
+ continue = <some expansion>
+ condition = ${if eq{0}{<some expansion>}{true}{true}}
+
+18. It is now possible to use newline and other control characters (those with
+ values less than 32, plus DEL) as separators in lists. Such separators must
+ be provided literally at the time the list is processed, but the string
+ expansion that happens first means that you can write them using normal
+ escape sequences. For example, if a new-line separated list of domains is
+ generated by a lookup, you can now process it directly by a line such as
+ this:
+
+ domains = <\n ${lookup mysql{.....}}
+
+ This avoids having to change the list separator in such data. Unlike
+ printing character separators, which can be included in list items by
+ doubling, it is not possible to include a control character as data when it
+ is set as the separator. Two such characters in succession are interpreted
+ as enclosing an empty list item.
+
+19. The exigrep utility now has a -v option, which inverts the matching
+ condition.
+
+20. The host_find_failed option in the manualroute router can now be set to
+ "ignore". This causes it to completely ignore a host whose IP address
+ cannot be found. If all the hosts in the list are ignored, the behaviour is
+ controlled by the new host_all_ignored option, which takes the same values
+ as host_find_failed, except that it cannot be set to "ignore". Its default
+ is "defer".
+
Version 4.66
------------