1The stable Postfix release is called postfix-2.4.x where 2=major 2release number, 4=minor release number, x=patchlevel. The stable 3release never changes except for patches that address bugs or 4emergencies. Patches change the patchlevel and the release date. 5 6New features are developed in snapshot releases. These are called 7postfix-2.5-yyyymmdd where yyyymmdd is the release date (yyyy=year, 8mm=month, dd=day). Patches are never issued for snapshot releases; 9instead, a new snapshot is released. 10 11The mail_release_date configuration parameter (format: yyyymmdd) 12specifies the release date of a stable release or snapshot release. 13 14Major changes - critical 15------------------------ 16 17See RELEASE_NOTES-2.3 if you upgrade from Postfix 2.2 or earlier. 18 19[Incompat 20070122] To take advantage of the new support for BSD 20kqueue, Linux epoll, or Solaris /dev/poll, you must restart (not 21reload) Postfix after upgrading from Postfix 2.3. 22 23[Incompat 20061209] If you upgrade Postfix without restarting, you 24MUST execute "postfix reload", otherwise the queue manager may log 25a warnings with: 26 27 warning: connect to transport retry: Connection refused 28 29[Incompat 20061209] The upgrade procedure adds a new "retry" service 30to the master.cf file. If you make the mistake of copying old 31Postfix configuration files over the new files, the queue manager 32may log warnings with: 33 34 warning: connect to transport retry: Connection refused 35 36To fix your master.cf file, use "postfix upgrade-configuration" 37followed by "postfix reload". 38 39Major changes - safety 40---------------------- 41 42[Incompat 20070222] As a safety measure, Postfix now by default 43creates mailbox dotlock files on all systems. This prevents problems 44with GNU POP3D which subverts kernel locking by creating a new 45mailbox file and deleting the old one. 46 47Major changes - Milter support 48------------------------------ 49 50[Feature 20070121] The support for Milter header modification 51requests was revised. With minimal change in the on-disk representation, 52the code was greatly simplified, and regression tests were updated 53to ensure that old errors were not re-introduced. The queue file 54format is entirely backwards compatible with Postfix 2.3. 55 56[Feature 20070116] Support for Milter requests to replace the message 57body. Postfix now implements all the header/body modification 58requests that are available with Sendmail 8.13. 59 60[Incompat 20070116] A new field is added to the queue file "size" 61record that specifies the message content length. Postfix 2.3 and 62older Postfix 2.4 snapshots will ignore this field, and will report 63the message size as it was before the body was replaced. 64 65Major changes - TLS support 66--------------------------- 67 68[Incompat 20061214] The check_smtpd_policy client sends TLS certificate 69attributes (client ccert_subject, ccert_issuer) only after successful 70client certificate verification. The reason is that the certification 71verification status itself is not available in the policy request. 72 73[Incompat 20061214] The check_smtpd_policy client sends TLS certificate 74fingerprint information even when the certificate itself was not 75verified. 76 77[Incompat 20061214] The remote SMTP client TLS certificate fingerprint 78can be used for access control even when the certificate itself was 79not verified. 80 81[Incompat 20061006] The format of SMTP server TLS session cache 82lookup keys has changed. The lookup key now includes the master.cf 83service name. 84 85Major changes - performance 86--------------------------- 87 88[Feature 20070212] Better support for systems that run thousands 89of Postfix processes. Postfix now supports FreeBSD kqueue(2), 90Solaris poll(7d) and Linux epoll(4) as more scalable alternatives 91to the traditional select(2) system call, and uses poll(2) when 92examining a single file descriptor for readability or writability. 93These features are supported on sufficiently recent versions of 94FreeBSD, NetBSD, OpenBSD, Solaris and Linux; support for other 95systems will be added as evidence becomes available that usable 96implementations exist. 97 98[Incompat 20070201] Some default settings have been adjusted to 99better match contemporary requirements: 100 101- queue_run_delay and minimal_backoff_time were reduced from 1000s 102 to 300s so that deliveries are retried earlier after the first 103 failure. 104 105- ipc_idle was reduced from 100s to 5s, so that tlsmgr and scache 106 clients will more quickly release unused file handles. 107 108[Feature 20061209] Improved worst-case (old and new) queue manager 109performance when deferring or bouncing large amounts of mail. Instead 110of talking to the bounce or defer service synchronously, this work 111is now done in the background by the error or retry service. 112 113[Feature 20061209] Improved worst-case (new) queue manager performance 114when delivering multi-recipient mail. The queue manager now proactively 115reads recipients from the queue file, instead of waiting for the 116slowest deliveries to complete before reading in new recipients. 117This introduces two parameters: default_recipient_refill_limit (how 118many recipient slots to refill at a time) and 119default_recipient_refill_delay (how long to wait between refill 120operations). These two parameters act as defaults for optional 121per-transport settings. 122 123Major changes - delivery status notifications 124--------------------------------------------- 125 126[Incompat 20061209] Small changes were made to the default bounce 127message templates, to prevent HTML-aware software from hiding or 128removing the text "<postmaster>", and producing misleading text. 129 130[Incompat 20060806] Postfix no longer announces its name in delivery 131status notifications. Users believe that Wietse provides a free 132help desk service that solves all their email problems. 133 134Major changes - ETRN support 135---------------------------- 136 137[Feature 20061217] More precise queue flushing with the ETRN, 138"postqueue -s site", and "sendmail -qRsite" commands, after 139minimization of race conditions. New per-queue-file flushing with 140"postqueue -i queueid" and "sendmail -qIqueueid". 141 142Major changes - small office/home office support 143------------------------------------------------ 144 145[Incompat 20061217] Postfix no longer requires a domain name. It 146uses "localdomain" as the default Internet domain name when no 147domain is specified via main.cf or via the machine's hostname. 148 149Major changes - SMTP access control 150----------------------------------- 151 152[Incompat 20061214] The check_smtpd_policy client sends TLS certificate 153attributes (client ccert_subject, ccert_issuer) only after successful 154client certificate verification. The reason is that the certification 155verification status itself is not available in the policy request. 156 157[Incompat 20061214] The check_smtpd_policy client sends TLS certificate 158fingerprint information even when the certificate itself was not 159verified. 160 161[Incompat 20061214] The remote SMTP client TLS certificate fingerprint 162can be used for 163access control even when the certificate itself was not verified. 164 165[Incompat 20061209] The Postfix installation procedure no longer 166updates main.cf with "unknown_local_recipient_reject_code = 450". 167Four years after the introduction of mandatory recipient validation, 168this transitional tool is no longer neeed. 169 170Major changes - workarounds 171--------------------------- 172 173[Incompat 20070222] As a safety measure, Postfix now by default 174creates mailbox dotlock files on all systems. This prevents problems 175with GNU POP3D which subverts kernel locking by creating a new 176mailbox file and deleting the old one. 177 178[Feature 20061209] Better interoperability with non-conforming SMTP 179servers that reply and disconnect before Postfix has sent the 180complete message content. 181 182[Feature 20061209] Better support for queue file systems on file 183servers with drifting clocks. Clock skew can be a problem, because 184Postfix does not deliver mail until the local clock catches up with 185the queue file's last modification time stamp. On systems with 186usable futimes() or equivalent (Solaris, *BSD, MacOS, but not Linux), 187Postfix now always explicitly sets the queue file last modification 188time stamps while creating a queue file. On systems without usable 189futimes() (Linux, and ancient versions of Solaris, SunOS and *BSD) 190Postfix keeps using the slower utime() system call to update queue 191file time stamps when the file system clock is off with respect to 192the local system clock, and logs a warning. 193 194[Feature 20061006] Individual CISCO PIX bug workarounds are now 195on/off configurable. This introduces new parameters: smtp_pix_workarounds 196(default: disable_esmtp, delay_dotcrlf) and smtp_pix_workaround_maps 197(workarounds indexed by server IP address). The default settings 198are backwards compatible. 199