xref: /netbsd-src/external/ibm-public/postfix/dist/RELEASE_NOTES-3.2 (revision f3bc92a4f25066883a5d85d66df30605583c883c)
1*f3bc92a4SchristosThis is the Postfix 3.2 (stable) release.
2*f3bc92a4Schristos
3*f3bc92a4SchristosThe stable Postfix release is called postfix-3.2.x where 3=major
4*f3bc92a4Schristosrelease number, 2=minor release number, x=patchlevel.  The stable
5*f3bc92a4Schristosrelease never changes except for patches that address bugs or
6*f3bc92a4Schristosemergencies. Patches change the patchlevel and the release date.
7*f3bc92a4Schristos
8*f3bc92a4SchristosNew features are developed in snapshot releases. These are called
9*f3bc92a4Schristospostfix-3.3-yyyymmdd where yyyymmdd is the release date (yyyy=year,
10*f3bc92a4Schristosmm=month, dd=day).  Patches are never issued for snapshot releases;
11*f3bc92a4Schristosinstead, a new snapshot is released.
12*f3bc92a4Schristos
13*f3bc92a4SchristosThe mail_release_date configuration parameter (format: yyyymmdd)
14*f3bc92a4Schristosspecifies the release date of a stable release or snapshot release.
15*f3bc92a4Schristos
16*f3bc92a4SchristosIf you upgrade from Postfix 3.0 or earlier, read RELEASE_NOTES-3.1
17*f3bc92a4Schristosbefore proceeding.
18*f3bc92a4Schristos
19*f3bc92a4SchristosInvisible changes
20*f3bc92a4Schristos-----------------
21*f3bc92a4Schristos
22*f3bc92a4SchristosIn addition to the visible changes described below, there is an
23*f3bc92a4Schristosongoing overhaul of low-level code. With each change come updated
24*f3bc92a4Schristostests to ensure that future changes will not 'break' compatibility
25*f3bc92a4Schristoswith past behavior.
26*f3bc92a4Schristos
27*f3bc92a4SchristosMajor changes - address mapping
28*f3bc92a4Schristos-------------------------------
29*f3bc92a4Schristos
30*f3bc92a4Schristos[Feature 20170128] Postfix 3.2 fixes the handling of address
31*f3bc92a4Schristosextensions with email addresses that contain spaces. For example,
32*f3bc92a4Schristosthe virtual_alias_maps, canonical_maps, and smtp_generic_maps
33*f3bc92a4Schristosfeatures now correctly propagate an address extension from "aa
34*f3bc92a4Schristosbb+ext"@example.com to "cc dd+ext"@other.example, instead of
35*f3bc92a4Schristosproducing broken output.
36*f3bc92a4Schristos
37*f3bc92a4SchristosMajor changes - header/body_checks
38*f3bc92a4Schristos----------------------------------
39*f3bc92a4Schristos
40*f3bc92a4Schristos[Feature 20161008] "PASS" and "STRIP" actions in header/body_checks.
41*f3bc92a4Schristos"STRIP" is similar to "IGNORE" but also logs the action, and "PASS"
42*f3bc92a4Schristosdisables header, body, and Milter inspection for the remainder of
43*f3bc92a4Schristosthe message content.  Contributed by Hobbit.
44*f3bc92a4Schristos
45*f3bc92a4SchristosMajor changes - log analysis
46*f3bc92a4Schristos----------------------------
47*f3bc92a4Schristos
48*f3bc92a4Schristos[Feature 20160330] The collate.pl script by Viktor Dukhovni for
49*f3bc92a4Schristosgrouping Postfix logfile records into "sessions" based on queue ID
50*f3bc92a4Schristosand process ID information. It's in the auxiliary/collate directory
51*f3bc92a4Schristosof the Postfix source tree.
52*f3bc92a4Schristos
53*f3bc92a4SchristosMajor changes - maps support
54*f3bc92a4Schristos----------------------------
55*f3bc92a4Schristos
56*f3bc92a4Schristos[Feature 20160527] Postfix 3.2 cidr tables support if/endif and
57*f3bc92a4Schristosnegation (by prepending ! to a pattern), just like regexp and pcre
58*f3bc92a4Schristostables.  The primarily purpose is to improve readability of complex
59*f3bc92a4Schristostables. See the cidr_table(5) manpage for syntax details.
60*f3bc92a4Schristos
61*f3bc92a4Schristos[Incompat 20160925] In the Postfix MySQL database client, the default
62*f3bc92a4Schristosoption_group value has changed to "client", to enable reading of
63*f3bc92a4Schristos"client" option group settings in the MySQL options file. This fixes
64*f3bc92a4Schristosa "not found" problem with Postfix queries that contain UTF8-encoded
65*f3bc92a4Schristosnon-ASCII text.  Specify an empty option_group value (option_group
66*f3bc92a4Schristos=) to get backwards-compatible behavior.
67*f3bc92a4Schristos
68*f3bc92a4Schristos[Feature 20161217] Stored-procedure support for MySQL databases.
69*f3bc92a4SchristosContributed by John Fawcett. See mysql_table(5) for instructions.
70*f3bc92a4Schristos
71*f3bc92a4Schristos[Feature 20170128] The postmap command, and the inline: and texthash:
72*f3bc92a4Schristosmaps now support spaces in left-hand field of the lookup table
73*f3bc92a4Schristos"source text". Use double quotes (") around a left-hand field that
74*f3bc92a4Schristoscontains spaces, and use backslash (\) to protect embedded quotes
75*f3bc92a4Schristosin a left-hand field. There is no change in the processing of the
76*f3bc92a4Schristosright-hand field.
77*f3bc92a4Schristos
78*f3bc92a4SchristosMajor changes - milter support
79*f3bc92a4Schristos------------------------------
80*f3bc92a4Schristos
81*f3bc92a4Schristos[Feature 20160611] The Postfix SMTP server local IP address and
82*f3bc92a4Schristosport are available in the policy delegation protocol (attribute
83*f3bc92a4Schristosnames: server_address, server_port), in the Milter protocol (macro
84*f3bc92a4Schristosnames: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol
85*f3bc92a4Schristos(attribute names: DESTADDR, DESTPORT).
86*f3bc92a4Schristos
87*f3bc92a4Schristos[Feature 20161024] smtpd_milter_maps support for per-client Milter
88*f3bc92a4Schristosconfiguration that overrides smtpd_milters, and that has the same
89*f3bc92a4Schristossyntax. A lookup result of "DISABLE" turns off Milter support. See
90*f3bc92a4SchristosMILTER_README.html for details.
91*f3bc92a4Schristos
92*f3bc92a4SchristosMajor changes - policy delegation
93*f3bc92a4Schristos---------------------------------
94*f3bc92a4Schristos
95*f3bc92a4Schristos[Feature 20160611] The Postfix SMTP server local IP address and
96*f3bc92a4Schristosport are available in the policy delegation protocol (attribute
97*f3bc92a4Schristosnames: server_address, server_port), in the Milter protocol (macro
98*f3bc92a4Schristosnames: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol
99*f3bc92a4Schristos(attribute names: DESTADDR, DESTPORT).
100*f3bc92a4Schristos
101*f3bc92a4SchristosMajor changes - postqueue
102*f3bc92a4Schristos-------------------------
103*f3bc92a4Schristos
104*f3bc92a4Schristos[Incompat 20170129] The postqueue command no longer forces all
105*f3bc92a4Schristosmessage arrival times to be reported in UTC. To get the old behavior,
106*f3bc92a4Schristosset TZ=UTC in main.cf:import_environment (this override is not
107*f3bc92a4Schristosrecommended, as it affects all Postfix utities and daemons).
108*f3bc92a4Schristos
109*f3bc92a4SchristosMajor changes - safety
110*f3bc92a4Schristos----------------------
111*f3bc92a4Schristos
112*f3bc92a4Schristos[Incompat 20161227] For safety reasons, the sendmail -C option must
113*f3bc92a4Schristosspecify an authorized directory: the default configuration directory,
114*f3bc92a4Schristosa directory that is listed in the default main.cf file with
115*f3bc92a4Schristosalternate_config_directories or multi_instance_directories, or the
116*f3bc92a4Schristoscommand must be invoked with root privileges (UID 0 and EUID 0).
117*f3bc92a4SchristosThis mitigates a recurring problem with the PHP mail() function.
118*f3bc92a4Schristos
119*f3bc92a4SchristosMajor changes - sasl
120*f3bc92a4Schristos--------------------
121*f3bc92a4Schristos
122*f3bc92a4Schristos[Feature 20160625] The Postfix SMTP server now passes remote client
123*f3bc92a4Schristosand local server network address and port information to the Cyrus
124*f3bc92a4SchristosSASL library. Build with ``make makefiles "CCARGS=$CCARGS
125*f3bc92a4Schristos-DNO_IP_CYRUS_SASL_AUTH"'' for backwards compatibility.
126*f3bc92a4Schristos
127*f3bc92a4SchristosMajor changes - smtputf8
128*f3bc92a4Schristos------------------------
129*f3bc92a4Schristos
130*f3bc92a4Schristos[Feature 20161103] Postfix 3.2 disables the 'transitional' compatibility
131*f3bc92a4Schristosbetween the IDNA2003 and IDNA2008 standards for internationalized
132*f3bc92a4Schristosdomain names (domain names beyond the limits of US-ASCII).
133*f3bc92a4Schristos
134*f3bc92a4SchristosThis change makes Postfix behavior consistent with contemporary web
135*f3bc92a4Schristosbrowsers. It affects the handling of some corner cases such as
136*f3bc92a4SchristosGerman sz and Greek zeta. See http://unicode.org/cldr/utility/idna.jsp
137*f3bc92a4Schristosfor more examples.
138*f3bc92a4Schristos
139*f3bc92a4SchristosSpecify "enable_idna2003_compatibility = yes" to restore historical
140*f3bc92a4Schristosbehavior (but keep in mind that the rest of the world may not make
141*f3bc92a4Schristosthat same choice).
142*f3bc92a4Schristos
143*f3bc92a4SchristosMajor changes - tls
144*f3bc92a4Schristos-------------------
145*f3bc92a4Schristos
146*f3bc92a4Schristos[Feature 20160828] Fixes for deprecated OpenSSL 1.1.0 API features,
147*f3bc92a4Schristosso that Postfix will build without depending on backwards-compatibility
148*f3bc92a4Schristossupport.
149*f3bc92a4Schristos
150*f3bc92a4Schristos[Incompat 20161204] Postfix 3.2 removes tentative features that
151*f3bc92a4Schristoswere implemented before the DANE spec was finalized:
152*f3bc92a4Schristos
153*f3bc92a4Schristos- Support for certificate usage PKIX-EE(1),
154*f3bc92a4Schristos
155*f3bc92a4Schristos- The ability to disable digest agility (Postfix now behaves as if
156*f3bc92a4Schristos  "tls_dane_digest_agility = on"), and
157*f3bc92a4Schristos
158*f3bc92a4Schristos- The ability to disable support for "TLSA 2 [01] [12]" records
159*f3bc92a4Schristos  that specify the digest of a trust anchor (Postfix now behaves
160*f3bc92a4Schristos  as if "tls_dane_trust_anchor_digest_enable = yes).
161*f3bc92a4Schristos
162*f3bc92a4Schristos[Feature 20161217] Postfix 3.2 enables elliptic curve negotiation
163*f3bc92a4Schristoswith OpenSSL >= 1.0.2.  This changes the default smtpd_tls_eecdh_grade
164*f3bc92a4Schristossetting to "auto", and introduces a new parameter tls_eecdh_auto_curves
165*f3bc92a4Schristoswith the names of curves that may be negotiated.
166*f3bc92a4Schristos
167*f3bc92a4SchristosThe default tls_eecdh_auto_curves setting is determined at compile
168*f3bc92a4Schristostime, and depends on the Postfix and OpenSSL versions.  At runtime,
169*f3bc92a4SchristosPostfix will skip curve names that aren't supported by the OpenSSL
170*f3bc92a4Schristoslibrary.
171*f3bc92a4Schristos
172*f3bc92a4SchristosMajor changes - xclient
173*f3bc92a4Schristos-----------------------
174*f3bc92a4Schristos
175*f3bc92a4Schristos[Feature 20160611] The Postfix SMTP server local IP address and
176*f3bc92a4Schristosport are available in the policy delegation protocol (attribute
177*f3bc92a4Schristosnames: server_address, server_port), in the Milter protocol (macro
178*f3bc92a4Schristosnames: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol
179*f3bc92a4Schristos(attribute names: DESTADDR, DESTPORT).
180*f3bc92a4Schristos
181