Hintsdb: fix dumpdb for sqlite
[exim.git] / doc / doc-txt / ChangeLog
index 2dab6775a986ef9683f45f27bd7d1a3911f60239..6d50f1bb45f3b73992e0300121a622cebf61e575 100644 (file)
@@ -2,6 +2,20 @@ This document describes *changes* to previous versions, that might
 affect Exim's operation, with an unchanged configuration file.  For new
 options, and new features, see the NewStuff file next to this ChangeLog.
 
+Since version 4.98
+------------------
+
+JH/01 Use fewer forks & execs for sending many messages to a single host.
+      By passing back the next message-id from the transport to the delivery
+      process, we can loop there.  A two-phase queue run will benefit,
+      particularly for mailinglist and smarthost cases.
+
+JH/02 Add transaction support for hintsdbs. The sole initial provider is
+      sqlite, and is used for the wait-transport and retry DBs. Transactions
+      imply locking internal to the DB. We no longer need a separate lockfile,
+      can keep the DB handle open for extended periods, yet potentially benefit
+      from concurrency on non-conflicting record uses.
+
 Exim version 4.98
 -----------------
 
@@ -80,8 +94,8 @@ JH/16 Two-phase queue runs are now reported in the daemon startup log line and
       in exiwhat output.
 
 JH/17 Bug 3064: Fix combination of "-q<period> -R <recipients>". Introduction of
-      the multiple-queue-runners facility for 4.97 broking this, giving only
-      one-time run of the queue.
+      the multiple-queue-runners facility for 4.97 broke this, giving only a
+      one-time run of the queue.
 
 JH/18 Bug 3068: Log a warning for use of deprecated syntax in query-style
       lookups.
@@ -89,7 +103,7 @@ JH/18 Bug 3068: Log a warning for use of deprecated syntax in query-style
 JH/19 Fix TLS startup. When the last expansion done before the initiation of a
       TLS session resulted in a forced-fail, a misleading error was logged for
       the expansino of tls_certificates.  This would affect the common case of
-      that option being set (main-section options) but not having any vriable
+      that option being set (main-section options) but not having any variable
       parts.  It could also potentially affect tls_privatekeys.  The underlyding
       coding errors go back to 4.90 but were only exposed in 4.97.
 
@@ -116,7 +130,53 @@ JH/21 Bug 3059: Fix crash in smtp transport. When running for a message for
       dealt with.  Thanks to Wolfgand Breyha for debug runs.
 
 JH/22 The ESMTP_LIMITS facility (RFC 9422) is promoted from experimental status
-      and is now controlled by the build-time option DISABLE_ESMTP_LIMITS..
+      and is now controlled by the build-time option DISABLE_ESMTP_LIMITS.
+
+JH/23 Bug 3066: Avoid leaking lookup database credentials to log.
+
+JH/24 Bug 3081: Fix a delivery process crash.  When the router "errors_to"
+      option specified a fixed address, later rewriting on that address would
+      trip on the configuration data being readonly.  Instead of modifying
+      in-place, copy data.  Found and fixed by Peter Benie.
+
+JH/25 Bug 3079: Fix crash in dbmnz.  When a key was present for zero-length
+      data a null pointer was followed.  Find and testcase by Sebastian Bugge.
+
+JH/26 Fix encoding for an AUTH parameter on a MAIL FROM command.  Previously
+      decimal 127 chars were not encoded, and lowercase hex was used for
+      encoded values.  Outstanding since at least 1999.
+
+JH/27 Fix crash in logging.  When a message with a large number of recipients
+      had been received, and logging of recipients is enabled, the buffer used
+      for logging could reach limit.  A read using a null pointer would then
+      be done, resulting in a crash of the receiving process before an SMTP
+      ACK for the message was returned to the sending system.  Duplicate
+      messages were created as a result.
+      Find and debug help by Mateusz Krawczyk
+
+JH/28 Bug 3086: Fix exinext for ipv6.  Change the format of keys in the retry
+      DB, wrapping transport record bare-ip "host names" and ipv6
+      "host addresses" in square-brackets.  This makes the parsing that
+      exinext does more reliable.
+
+JH/29 Bug 3087: Fix SRS encode.  A zero-length quoted element in the local-part
+      would cause a crash.
+
+JH/30 Bug 3029: Avoid feeding Resent-From: to DMARC.
+
+JH/31 Bug 3027: For -bh / -bhc tests change to using the compressed form of
+      ipv6 addresses for the sender.  Previously the uncompressed form was used,
+      and if used in textual form this would result in behavior difference
+      versus non-bh.
+
+JH/32 Bug 3096: MAIL before HELO/EHLO, where required by hosts_require_helo, is
+      now classed as a protocol error and subject to smtp_max_synprot_errors.
+
+JH/33 Bug 2994: A subdir dsearch lookup should permit a directory name that starts
+      ".." and has following characters.
+
+JH/34 Fix delivery ordering for 2-phase queue run combined with
+      queue_run_in_order.
 
 
 Exim version 4.97
@@ -693,7 +753,7 @@ JH/44 Bug 2701: Fix list-expansion of dns_ipv4_lookup.  Previously, it did
       mx_fail_domains.
 
 JH/45 Use a (new) separate store pool-pair for DKIM verify working data.
-      Previously the permanent pool was used, so the sore could not be freed.
+      Previously the permanent pool was used, so the store could not be freed.
       This meant a connection with many messages would use continually-growing
       memory.