The official Postfix release is called 2.1.x where 2=major release
number, 1=minor release number, x=patchlevel.  Snapshot releases
are now called 2.2-yyyymmdd where yyyymmdd is the release date
(yyyy=year, mm=month, dd=day).  The mail_release_date configuration
parameter contains the release date (both for official release and
snapshot release).  Patches are issued for the official release
and change the patchlevel and the release date. Patches are never
issued for snapshot releases.

Incompatible changes with snapshot Postfix-2.2-20040829
=======================================================

When no recipients are specified on the command line or via the -t
option, the Postfix sendmail command terminates with status EX_USAGE
and produces an error message instead of accepting the mail first
and bouncing it later. This gives direct more feedback in case of
a common client configuration error.

Major changes with snapshot Postfix-2.2-20040827
================================================

Easier use of the proxymap service with the virtual(8) delivery
agent. As of now, the virtual(8) delivery agent will silently open
maps directly when they can't be proxied.  This means you can now
specify "virtual_mailbox_maps = proxy:mysql:whatever" without
triggering fatal errors in the virtual(8) delivery agent.

Better SMTP client control over the use of SASL mechanisms. New
smtp_sasl_mechanism_filter mechanism to shorten the list of SASL
mechanisms from a remote server to just those that the local SASL
library can actually use.

Finer control over canonical mapping with canonical_classes,
sender_canonical_classes and recipient_canonical_classes.  These
specify one or more of envelope_sender, header_sender, envelope_recipient
or header_recipient. The default settings are backwards compatible.

Incompatible changes with snapshot Postfix-2.2-20040729
=======================================================

SMTP session caching is enabled temporarily when a destination has
a high volume of mail in the active queue.  To disable, specify
"smtp_connection_cache_on_demand = no".

Major changes with snapshot Postfix-2.2-20040729
================================================

Opportunistic SMTP session caching. When a destination has a high
volume of mail in the active queue, SMTP session caching is enabled
temporarily.  This is controlled with a new configuration parameter
"smtp_connection_cache_on_demand" (default:  yes).

Incompatible changes with snapshot Postfix-2.2-20040723
=======================================================

Permanent SMTP session caching is now enabled with the
smtp_session_cache_destinations parameter. This requires "bare"
domain names without "[]" or TCP port.  The change eliminates a
syntax conflict between host:port and maptype:mapname, and simplifies
the user interface, at the cost of a minor loss of control over
what sessions are cached.

Major changes with snapshot Postfix-2.2-20040721
================================================

The session cache manager now logs cache hit and miss statistics
every $session_cache_status_update_time seconds (default: 600s).
It reports the hit and miss rates for lookups by domain, as well
as for lookups by network address. 

Hit rates for cache lookups by domain will tell you how useful
session caching is.

Cache lookups by network address will always fail, unless you're
sending mail to different domains that share the same MX host.

Incompatible changes with snapshot Postfix-2.2-20040720
=======================================================

The default SMTP/LMTP timeouts for sending RSET are reduced to 20s.

Major changes with snapshot Postfix-2.2-20040720
================================================

Selective permanent SMTP session caching. Instead of disconnecting
immediately after a mail transaction, the SMTP client can save the
open session to a session cache daemon, so that any SMTP client
process can use that session for another mail transaction.

This feature introduces the scache (session cache) server, which
is added to your master.cf file when you upgrade Postfix.

*** You need to execute "postfix reload" when upgrading from Postfix
*** version 2.1 or later.

*** You need to execute "postfix stop" when upgrading from Postfix
*** version 2.0 or earlier. Execute "postfix start" when done.

Session caching is enabled with the new smtp_connection_cache_destinations
parameter. Specify a list of destinations or lookup tables:

- if mail is sent without relay host: a domain (the right-hand side
of an email address),

- if mail is sent via a relay host, the relay host (without [],
and without non-default TCP port) that is specified in main.cf or
in the transport map,

- a /file/name with domains and/or relay hosts,

- a type:table with domains and/or relay hosts on the left-hand
side; the right-hand side result from type:table lookups is ignored.

The following optimizes deliveries to hosts that your machine relays
mail to:

    smtp_connection_cache_destinations = $relay_domains $relayhost

A setting that tries to optimize deliveries to problem sites:

    smtp_connection_cache_destinations = hotmail.com...

Cached SMTP sessions are allowed to remain unused for only a limited
amount of time (smtp_connection_cache_time_limit, default:  2
seconds). This limits the impact on remote server resources.
Specify larger values only with permission from the remote sites.

To avoid triggering remote problems, the same SMTP session is used
only a limited number of times (smtp_connection_cache_reuse_limit,
default:  10).

Robustness note: to prevent mail from being delivered to the wrong
server, the session caching feature explicitly labels each cached
session with destination domain and IP address information. A
session cache lookup succeeds only when the correct information is
specified.

Limitations:

- SMTP session caching does not work with TLS (the necessary support
for object passivation and re-activation does not exist without
closing the connection).

- SMTP session caching assumes that SASL credentials are valid for
all hostnames or domain names that map onto the same IP address
and TCP port.

Major changes with snapshot Postfix-2.2-20040621
================================================

Control over the working directory when executing an external
command.  With the pipe(8) mailer, specify directory=pathname, and
with local(8) specify "command_execution_directory = expression"
where "expression" is subject to $home etc. macro expansion. The
result of macro expansion is restricted by the set of characters
specified with execution_directory_expansion_filter.
