Another Sieve patch.
[exim.git] / doc / doc-txt / NewStuff
index b70fa5e68bc50f321ecc1fab11fb1d7f758def15..bd43aecf884019b908a0925e69226a57451d3edb 100644 (file)
@@ -1,4 +1,4 @@
-$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
 --------------------
 
 New Features in Exim
 --------------------
@@ -292,7 +292,7 @@ Version 4.67
     option; with -I they don't. In both cases it is possible to change the case
     sensitivity within the pattern using (?i) or (?-i).
 
     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:
 
     easier to process lists of items, typically addresses. These are as
     follows:
 
@@ -365,6 +365,42 @@ Version 4.67
     At the end of a ${reduce expansion, the values of $item and $value is
     restored to what they were before.
 
     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
 ------------
 
 Version 4.66
 ------------