The stable Postfix release is called postfix-2.3.x where 2=major release number, 3=minor release number, x=patchlevel. The stable release never changes except for patches that address bugs or emergencies. Patches change the patchlevel and the release date. New features are developed in snapshot releases. These are called postfix-2.4-yyyymmdd where yyyymmdd is the release date (yyyy=year, mm=month, dd=day). Patches are never issued for snapshot releases; instead, a new snapshot is released. The mail_release_date configuration parameter (format: yyyymmdd) specifies the release date of a stable release or snapshot release. Incompatibility with Postfix 2.2 and earlier ============================================ If you upgrade from Postfix 2.2 or earlier, read RELEASE_NOTES-2.3 before proceeding. Major changes with Postfix snapshot 20070212-event ================================================== Better support for systems that run thousands of Postfix processes. Postfix now supports FreeBSD kqueue(2), Solaris poll(7d) and Linux epoll(4) as more scalable alternatives to the traditional select(2) system call, and uses poll(2) when examining a single file descriptor for readability or writability. These features are supported on sufficiently recent versions of FreeBSD, NetBSD, OpenBSD, Solaris and Linux; support for other systems will be added as evidence becomes available that usable implementations exist. Incompatibility with Postfix snapshot 20070201 ============================================== Some default settings have been adjusted to better match contemporary requirements: - queue_run_delay and minimal_backoff_time were reduced from 1000s to 300s so that deliveries are retried earlier after the first failure. - ipc_idle was reduced from 100s to 5s, so that tlsmgr and scache clients will more quickly release unused file handles. Major changes with Postfix snapshot 20070121 ============================================ The support for Milter header modification requests was revised. With minimal change in the on-disk representation, the code was greatly simplified, and regression tests were updated to ensure that old errors were not re-introduced. The queue file format is entirely backwards compatible with Postfix 2.3. Incompatible changes with Postfix snapshot 20070116 =================================================== A new field is added to the queue file "size" record that specifies the message content length. Postfix 2.3 and older Postfix 2.4 versions will ignore this field, and will report the message size as it was before the body was replaced. Major changes with Postfix snapshot 20070116 ============================================ Support for Milter requests to replace the message body. Postfix now implements all the header/body modification requests that are available with Sendmail 8.13. Incompatible changes with Postfix snapshot 20061217 =================================================== Postfix no longer requires a domain name. It uses "localdomain" as the default Internet domain name when no domain is specified via main.cf or via the machine's hostname. Major changes with Postfix snapshot 20061217 ============================================ More precise queue flushing with the ETRN, "postqueue -s site", and "sendmail -qRsite" commands, after minimization of race conditions. New per-queue-file flushing with "postqueue -i queueid" and "sendmail -qIqueueid". Incompatible changes with Postfix snapshot 20061214 =================================================== The check_smtpd_policy client sends TLS certificate attributes (client ccert_subject, ccert_issuer) only after successful client certificate verification. The reason is that the certification verification status itself is not available in the policy request. The check_smtpd_policy client sends TLS certificate fingerprint information even when the certificate itself was not verified. The remote SMTP client TLS certificate fingerprint can be used for access control even when the certificate itself was not verified. Incompatible changes with Postfix snapshot 20061209 =================================================== The Postfix installation procedure no longer updates main.cf with "unknown_local_recipient_reject_code = 450". Four years after the introduction of mandatory recipient validation, this transitional tool is no longer neeed. After upgrading Postfix you MUST execute "postfix reload", otherwise the queue manager may log a warnings with: warning: connect to transport retry: Connection refused The upgrade procedure adds a new "retry" service to the master.cf file. If you make the mistake of copying old Postfix configuration files over the new files, the queue manager may log warnings with: warning: connect to transport retry: Connection refused To fix your master.cf file, use "postfix upgrade-configuration" followed by "postfix reload". Small changes were made to the default bounce message templates, to prevent HTML-aware software from hiding or removing the text "", and producing misleading text. Major changes with Postfix snapshot 20061209 ============================================ Better interoperability with non-conforming SMTP servers that reply and disconnect before Postfix has sent the complete message content. Improved worst-case (old and new) queue manager performance when deferring or bouncing large amounts of mail. Instead of talking to the bounce or defer service synchronously, this work is now done in the background by the error or retry service. Improved worst-case (new) queue manager performance when delivering multi-recipient mail. The queue manager now proactively reads recipients from the queue file, instead of waiting for the slowest deliveries to complete before reading in new recipients. This introduces two parameters: default_recipient_refill_limit (how many recipient slots to refill at a time) and default_recipient_refill_delay (how long to wait between refill operations). These two parameters act as defaults for optional per-transport settings. Better support for queue file systems on file servers with drifting clocks. Clock skew can be a problem, because Postfix does not deliver mail until the local clock catches up with the queue file's last modification time stamp. On systems with usable futimes() or equivalent (Solaris, *BSD, MacOS, but not Linux), Postfix now always explicitly sets the queue file last modification time stamps while creating a queue file. On systems without usable futimes() (Linux, and ancient versions of Solaris, SunOS and *BSD) Postfix keeps using the slower utime() system call to update queue file time stamps when the file system clock is off with respect to the local system clock, and logs a warning. Incompatible changes with Postfix snapshot 20061006 =================================================== The format of SMTP server TLS session cache lookup keys has changed. The lookup key now includes the master.cf service name. Major changes with Postfix snapshot 20061006 ============================================ Individual CISCO PIX bug workarounds are now on/off configurable. This introduces new parameters: smtp_pix_workarounds (default: disable_esmtp, delay_dotcrlf) and smtp_pix_workaround_maps (workarounds indexed by server IP address). The default settings are backwards compatible. Incompatible changes with Postfix snapshot 20060806 =================================================== Postfix no longer announces its name in delivery status notifications. Users believe that Wietse provides a free help desk service that solves all their email problems.