1	Only the last entry is complete, the others might have been condensed.
2
31990/12/07: v1.00
41990/12/12: v1.01
51991/02/04: v1.02
61991/02/13: v1.10
71991/02/21: v1.20
81991/02/22: v1.21
91991/03/01: v1.30
101991/03/15: v1.35
11	    Started using RCS to manage the source
121991/06/04: v1.99
131991/06/10: v2.00
141991/06/11: v2.01
151991/06/12: v2.02
161991/06/20: v2.03
171991/07/04: v2.10
181991/07/12: v2.11
191991/10/02: v2.20 (never released)
201991/10/18: v2.30
21	    Reached the doubtful milestone of having a source file (regexp.c)
22	       which provokes a compiler error on an old compiler
23	       (if using the optimiser)
241991/10/22: v2.31
251991/12/05: v2.40
261991/12/13: v2.50
271992/01/22: v2.60
281992/01/31: v2.61
291992/04/30: v2.70
301992/07/01: v2.71
31	    Gave procmail, formail, lockfile and mailstat a more verbose
32	       command line help (called up by -h or -?)
331993/02/04: v2.80
34	    Started using CVS to manage the source (god's gift to programmers)
35	    Changes to the installation scripts:
36	       - the autoconf script now performs a reliability test on kernel
37		 locking support
38	       - reached the doubtful milestone of consistently crashing the
39		 kernel on a Convex by running the locktst program
401993/02/19: v2.81
411993/06/02: v2.82 (never really released, was only available as prerelease 4)
42	    Worked my way around the !@#$%^&*() POSIX setgid() semantics (if
43	       your OS supports setrgid() or setregid())
441993/07/01: v2.90
45	    Condition lines in recipes can now be started with a leading `*',
46	       there is no longer a need to count condition lines, simply
47	       set the number to zero, and let procmail find out by itself
481993/07/02: v2.91
49	    Reached the doubtful milestone to sometimes crash an Ultrix
50	       machine (due to the lockingtests, not procmail itself)
511994/06/14: v3.00
52	    Changes to procmail:
53	       - Changed the semantics of the TRAP keyword.  In order to
54		 make procmail accept the exitcode it returns, you now have
55		 to set EXITCODE=""
56	       - It was still occasionally trying to lock /dev/null, which
57		 is of course silly, fixed that
58	       - Taught it about `nesting recipes'; they allow parts of
59		 an rcfile to be grouped hierarchically
60	       - Fixed a discrepancy with /bin/sh backquote expansion in
61		 environment assignments (preserving all spaces)
62	       - Logs its pid and a timestamp when VERBOSE=on
63	       - Caused the regular TIMEOUT to break a `hanging' kernel lock
64	       - SIGUSR1 and SIGUSR2 can be used to turn on and off verbose
65		 logging
66	       - Worked around a bug in the `ANSI'-compiler of Domain/OS
67	       - Procmail and lockfile now inherit any ignore status of most
68		 regular signals (fixes a problem with some buggy shells)
69	       - Optionally reads in a global rcfile (/etc/procmailrc)
70		 before doing regular delivery (which includes the new
71		 keyword: DROPPRIVS)
72	       - Can pipe the mail to stdout on request
73	       - Moved the "Reiterating kernel lock" diagnostic into the
74		 "extended" (i.e. VERBOSE=on) section
75	       - Tightened the loop when skipping comments in rcfiles (for
76		 a slight speedup)
77	       - Added support for filesystems not capable of creating
78		 hardlinks
79	       - Tightened the security check on initial absolute rcfiles
80		 (they sometimes can't be world writable)
81	       - Weighted scoring on conditions
82	       - Ability to inline parse ${var-text} and ${var:-text}
83	       - Ability to inline parse ${var+text} and ${var:+text}
84	       - Skipping spaces after "!" and "$" on condition lines
85	       - Implicit delivery somehow got broken: fixed
86	       - Default umask is always 077 now for deliverymode
87	       - Extended ^FROM_DAEMON and ^FROM_MAILER macro regexps again
88	       - The -f option became less strict, everyone can use it now,
89		 except that unpriviliged users will get an additional >From_
90		 they didn't bargain for (in order to make fakes identifiable)
91	       - The date on the From_ line can now be refreshed with -f-
92	       - Introduced new recipe flags: E and e (else and error)
93	       - Nested blocks clone procmail on a 'c' flag
94	       - Introduced the EXITCODE special variable
95	       - Implicit delivery mode is now entered if argv[0] doesn't start
96		 with the word `procmail'
97	       - Fixed the BSD support for kernel-locking only operation
98	       - Taught the regexp engine about \< and \>
99	       - Fixed bug present on some systems; caused the body to be
100		 munged when filtering headers only
101	       - Added -o option (makes procmail override the From_ lines, like
102		 it used to)
103	       - -p and -m together shrink the set of preset variables to the
104		 bare minimum
105	       - -p is not supported alongside -d anymore
106	       - /etc/procmailrcs/ is the place for optional privileged
107		 rcfiles in -m mailfilter mode
108	       - Switched the meanings of SIGUSR1 and SIGUSR2
109	       - The 'a' flag didn't work correctly after filter recipes
110	       - Changed the permissions on the lockfile, writing zero in it
111	       - Check the permissions on the existing system mailbox, correct
112		 them if necessary
113	       - Clean up zombies more often
114	    Changes to formail:
115	       - Fixed a sender-determination-weight problem, it mixed up
116		 the weights when autoreplying and when regenerating the From_
117		 line (and thus didn't always pick the optimal field)
118	       - Pays attention to the exitcode of the programs it started
119	       - Accepts simultaneous -X and -k options
120	       - Fixed a bug introduced in v2.82 in formail when using
121		 the -x and the -k options simultaneously
122	       - Rearranged the weights for "-rt" (made From: more important)
123	       - Parsed return-addresses starting with a \ incorrectly
124		 (causing it to coredump on occasion)
125	       - Supports the -s option withouth a program argument
126	       - Recognise extra UUCP >From_ lines
127	       - Introduced the -B option to split up BABYL rmail files
128	       - It regards and generates a FILENO variable (for easy
129		 numbering)
130	       - Moved the idcheck functionality into formail -D (due to
131		 popular demand), for eliminating duplicate mails
132	       - It terminates early now if it only needs the header
133	       - The -n option can now sustain itself by reaping children
134		 if it can't fork() immediately
135	       - It supports incomplete field specifications which match
136		 any field starting similarly
137	       - Introduced the -u and -U options
138	       - -a Message-ID: and -a Resent-Message-ID: to make it generate
139		 new ones
140	       - Keep the X-Loop: field when generating autoreplies
141	       - Lowered the negative weight for .UUCP reply addresses
142	       - Honour Content-Length: fields, also speeds up processing of
143		 lengthy messages
144	       - Clean up zombies more often
145	       - Handle bangpath reconstruction
146	       - Made -q the default, use -q- to disable
147	    Miscellaneous changes:
148	       - Detecting and dodging buggy zshs everywhere
149	       - Slightly adjusted autoconf for the new non-standard 386BSD
150		 and NeXTStep 3.1 environments
151	       - Extended the FAQ
152	       - Extended and fixed the procmailex man page
153	       - Updated the crontab script recommendation in the procmail
154		 man page
155	       - Fixed the "procmail"-mailer definition in the procmail man
156		 page
157	       - Created a new procmailsc man page
158	       - Fixed a bug in lockfile, the exitcode was not correct if
159		 you used -! with more than one file
160	       - Including <limits.h> now, some (old) architectures seem to
161		 insist on this
162	       - Revamped the library search code
163	       - Provided a faster (than most libraries) strstr() routine
164	       - Created the setid program (to be used by the SmartList
165		 installation)
166	       - Checking for fstat() in autoconf
167	       - Avoiding i/o-redirection on subshells
168	       - Provided for the ability to hotwire the lockingtests
169	       - Autoconf asks if you'd like to use the existing autoconf.h
170	       - Autoconf determines MAX_argc (for choplist)
1711994/06/14: v3.01
172	    No changes, version number bump to keep in sync with SmartList
1731994/06/16: v3.02
174	    Made formail quiet (by default) about Content-Length mismatches
175	    The version number in patchlevel.h for this version was incorrect
176	       and still displayed v3.01 (yes, silly, I know)
1771994/06/30: v3.03
178	    Limit the no. of retries on lockfiles if the recipient is over
179	       quota (procmail & lockfile)
180	    Removed some superfluous "procmail:" prefixes in the middle of
181	       an error message
182	    Utilise a syslog daemon (if present) to log some critical errors
183	       (mostly attempted security violations and errors which are
184	       fatal but can't occur (like an unwritable /dev/null))
185	    Reconstruct and respect Content-Length: in procmail
186	       (if you need the >From lines, you'll have to take any existing
187	       Content-Lenght: field out of the header)
188	    Reformatted the source code to match the changed conventions
189	    Procmail always defaulting the umask to 077 for deliverymode broke
190	       some systems, reverting back to the old method of allowing group
191	       access on the system mailbox if necessary
1921994/08/02: v3.04
193	    Changes to procmail:
194	       - Support some non-BSD compatible syslog() implementations
195	       - Even if the Content-Length is zero, write it out (some
196		 programs can't deal with the empty field)
197	       - Drop the safety margin on Content-Length calculations, some
198		 programs can't deal with those
199	       - Truncate folders to their former length if delivery was not
200		 successful
201	       - Fine-tuned the ^FROM_MAILER and ^FROM_DAEMON macros again
202	       - The -v option lists the locking strategies employed
203	       - Will create the last member of the mail spool directory if
204		 found missing
205	    Forgot to define closelog() away if syslog support is missing
206	    Worked around the old syslog() interface
207	    Worked around a compiler bug old HP compilers (pointer-unsigned),
208	       caused the Content-Length: field to be mangled on some older
209	       HP/UX systems (not on every mail)
210	    Worked around compilation problems on SCO and old versions of IRIX
211	    Some fixes to the man pages
212	    Changes to formail:
213	       - Mistakenly turned X-Loop: fields into Old-X-Loop: when
214		 autoreplying
215	       - Allow wildcard -i when autoreplying
216	       - Renaming short fields to longer fields didn't always work
217	       - Renaming with a wildcard source/destination is possible now
218	       - -rk didn't behave correctly if a Content-Length: field was
219		 present
220	    Extended the sendmail directions in examples/advanced, it includes
221	       a direct example on how to make use of the -a feature
222	    Using EXIT_SUCCESS instead of EX_OK
223	    Both procmail and formail take the -Y option, for traditional
224	       Berkeley format mailboxes (ignoring Content-Length:)
225	    Some NCR machines didn't have WNOHANG defined
2261994/08/04: v3.05
227	    Formail v3.04 didn't remove the From_ line if given the -I 'From '
228	       option, changed that back, allowing for -a 'From '
229	    Procmail sometimes didn't reliably count the number of matches on
230	       a weighted recipe, fixed
231	    Some minor manpage adaptations
2321994/08/30: v3.06
233	    Groff -mandoc macros managed to display the man pages incorrectly,
234	       hacked my way around the .TH dependency to fix it
235	    Split up string constant FM_HELP, it exceeded some compiler limits
236	    Changes to procmail:
237	       - Fixed a bug which was present since v2.30: 'z' was always
238		 handled case sensitive (seems like not many people use
239		 that letter :-) in regular expression conditions
240	       - The ^^ anchor can now also be used to anchor the end of
241		 a regular expression
242	       - The -m flag will now unset ORGMAIL and will make
243		 procmail omit the check for a system mailbox
244	       - Allow easy reconfiguration of the default rcfile location
245	       - Extend the list of internals displayed with -v
246	       - The mail fed to the TRAP command contained some spurious
247		 nul characters, fixed
248	    Optionally allow the automatic installation of compressed man pages
249	    Formail v3.00 and later occasionally seemed to hang if used in
250	       a chain of pipes and fed with more text than it needed, fixed
251	    Updated the FAQ
252	    Updated the man pages (among others: vacation example changed)
253	    Sharpened the autoconf const check, AIX 3.2.3 managed to slip past
254	       it again
255	    Made sure that "make -n" with any make works as expected
2561994/10/31: v3.10
257	    Changes to procmail:
258	       - Minor corrections to the semantics of the 'a' and 'e' flags
259	       - Minor correction to the semantics of the -o option
260	       - Slight regular expression engine speedup
261	       - Regexp matching of environment variables is possible now
262	       - Due to popular demand: LOGABSTRACT=all logs *all* successful
263		 delivering-recipes executed
264	       - Enforce secure permissions on /etc/procmailrcs if used
265	       - Take sgid bit in the system mail spool dir into account
266		 even if it is world writable
267	       - The regexp engine can return matches now (new token "\/",
268		 new variable "MATCH")
269	       - New recipe flag 'r', raw mode, so procmail doesn't try
270		 to ensure the mail ends in an empty line
271	       - Success and failure of a filter recipe is well defined now
272	       - Procmail v3.06 prepended a bogus "." to explicit rcfile names
273		 searched relative to the home directory, fixed
274	       - Carved out two subroutines from main() to get it below the
275		 optimisation threshold
276	       - Eliminated duplicate error messages when procmailrcless
277		 delivery fails
278	       - Logging "Quota exceeded" messages when appropriate
279	       - Truncate notification suppressed when logfile not opened
280	       - Truncating didn't always work when delivering across NFS
281	       - The $_ special variable was wrong when wasn't set
282	    Changes to formail:
283	       - New option: -z (zap whitespace and empty fields)
284	       - Reading from stdin doesn't require the silly three EOFs
285		 anymore
286	       - -D with -r cache reply addresses now
287	       - Carved out one subroutine from main() to get it below the
288		 optimisation threshold
289	       - -R with -x didn't work reliably
290	       - -r with -i or -I sometimes had unexpected effects (in v3.06)
291	       - The nil-Return-Path-override was broken, fixed
292	    Updated the man pages, new subsection to procmailrc(5) summarising
293	       procmail regexp syntax
294	    Expanded on the sendmail.cf $#local example in the
295	       examples/advanced file again
296	    Revised detection of hard-link incapable filesystems during the
297	       installation
298	    Fixed bug in lockfile, the exitcode was not correct if
299	       you used -! (I hope this finally fixes this -! problem)
300	    Using execv() instead of execve()
3011995/05/17: v3.11pre3
302	    Changes to procmail:
303	       - varname ?? < nnn conditions didn't have the expected effect
304	       - Regression bug since v3.06, procmail -m /etc/procmailrcs
305		 didn't allow any arguments to be passed, fixed
306	       - Eliminated a superfluous fork() when processing TRAP
307	       - "lockfile ignored" warning was generated inappropriately at
308		 times
309	       - Renamed testb() into testB() to avoid conflict with Solaris
310	       - Eliminated spurious extra / in default MAILDIR value
311	       - Whole line comments among the conditions are recognised
312	       - Embedded empty lines in a recipe are tolerated
313	       - $\name regexp safe variable expansion
314	       - Delay searching for bogus From_ lines until writeout time
315		 (speeds up filtering and writes to /dev/null)
316	       - Finally fixed this mess with transparent backup to kernel
317		 locking methods when the spool directory is not writable
318	       - Avoid the one second NFS_ATIME_HACK under heavy load
319	       - The 'r' flag had some undesirable side effects at times
320	       - Dotlocks which fail due to permissions are not retried anymore
321	       - Made the USER_TO_LOWERCASE_HACK run-time adapting
322	       - /usr/spool/mail perm 1777, procmail setgid mail, procmail
323		 could not read .procmailrc files in 700 $HOME dirs, fixed
324	       - If called with -d option and not running with enough
325		 privileges, procmail will bounce the mail (instead of
326		 delivering to the invoker, as it used to)
327	       - Severe tweaking on ^FROM_MAILER and ^FROM_DAEMON to reduce
328		 false matches
329	       - Allow for broken From_ lines with a missing sender address
330	    Changes to formail:
331	       - Slightly extended the number of known header fields
332	       - Eliminated the conflict with the 4.4BSD daemon libidentifier
333	       - In an MMDF environment formail -b didn't behave correctly
334	       - Extracted another function from main() to make it smaller
335	       - Process address groups correctly
336	       - Process From_ lines with embedded commas correctly
337	    Changes to autoconf:
338	       - Catch NeXTstep 3.2 missing DIR definition
339	       - Detect & work around Ultrix 4.3 "ANSI" C compiler
340	       - A defined DEFsendmail or SYSTEM_MBOX caused some "s to be
341		 omitted in autoconf.h
342	       - Refined preliminary setsid() checks (2.4 x86/sunpro cc
343		 managed to break it)
344	       - Worked around a HERE document quoting bug in some shells
345	       - Fixed the empty argument "shift" problem
346	       - Detect & work around BSD 4.4 brain damaged setrgid()
347	    New Makefile variable VISIBLE_BASE
348	    Added support for a parallelising make
349	    Changed manconf.c to cater for broken systems that have a 100 line
350	       limit for sed (instead of a 100 command limit)
351	    Fixed some portability problems with the Makefiles for the OSF make
352	    Worked around old shells not supporting negated classes
353	    Extended the FAQ
354	    Updated examples/advanced docs for meta-argument setup in
355	       a traditional v5.* sendmail setup
356	    Fixed potential memory corruption bug for machines that have
357	       sizeof(off_t)>sizeof(off_t*) (has been around for ages)
358	    The man pages were remade upon every make, fixed
3591995/10/29: v3.11pre4
360	    Changes to procmail:
361	       - Avoid the NFS delay on directory and MH folders
362	       - KEEPENV didn't work reliably for more than one variable
363	       - New macro ^TO_, delimits addresses more accurately than ^TO
364	       - Don't try to fix the system mailbox permissions too soon,
365		 this should put a stop to the numerous confusion reports
366	       - SENDMAILFLAGS, new environment variable
367	       - Support -y as a substitute kludge for -Y
368	       - Fixed parsing of $@' when not doublequoted
369	    Changes to formail:
370	       - Return failure if the autoreply could not find a proper
371		 return address
372	       - Multiple -U options sometimes had unfortunate side effects
373	       - When splitting and a maximum number of messages was being
374		 specified, formail erroneously returned EX_IOERR
375	       - Avoid splitting empty messages
376	    Changes to autoconf:
377	       - If running on a system with good old BSD semantics for
378		 setrgid(), use the extra features offered
379	    Changed the Mprocmail example, use $g instead of $f
3801997/04/28: v3.11pre7
381	    Changes to procmail:
382	       - Cater for a race condition that occurs if two procmails
383		 try to create an empty system mailbox (bogus BOGUS.* files)
384	       - SysV autoforwarding mailboxes didn't work, regression bug in
385		 v3.10
386	       - Autocreating the last dirmember of the spooldir didn't
387		 (always?) work due to the trailing /
388	       - Kernel lockf() method doesn't change the position of the
389		 filepointer anymore (results in more accurate lockingtests)
390	       - Multiple directory folders are assigned to LASTFOLDER
391	       - Don't strip trailing \n in a $MATCH
392	       - Refuse to open directories for INCLUDERC files
393	       - Syslog failed -o attempts
394	       - Don't log non-delivering recipes, even with 'c' flag
395	    Changes to formail:
396	       - Skip leading spaces when checking for duplicates (will break
397		 checks with old id-databases)
398	    Worked around an nroff-coredumping problem with IRIX
399	    Corrected the last(?) "make -n" glitch
400	    Fixed library detection loop for some Solaris 2.[3-5] setups
401	    Changes to procmail and lockfile: use the authenticate library
402	       for easier integration with custom authentication and mailbox
403	       locations
4041999/03/02: v3.12
405	    Changes to procmail:
406	       - Use BOGUS.$LOGNAME.inode for bogus files to ease recovery
407	       - Define RESTRICT_EXEC to restrict execution of programs
408	       - Perform continuous checks on heap overflow, everywhere
409		 If overflow is occurs then new variable PROCMAIL_OVERFLOW
410		 is set
411	       - Catch overly long rcfile names
412	       - New variable PROCMAIL_VERSION
413	       - LOGABSTRACT=all no longer logs filtering or variable capture
414		 actions
415	       - Don't strip leading \n in a $MATCH
416	       - Worked around a compiler bug in Sun C compiler 4.2 (fdefault
417		 cached past function calls)
418	       - Tempfile names would grow on retry
419	       - Open or reopen rcfiles as the user to prevent peeking when
420		 not in privileged mailfilter mode
421	       - Don't use $HOME/.procmailrc if it's group-writable or in a
422		 group-writable directory, unless it's the user's default group
423		 and GROUP_PER_USER is set in config.h
424	       - hardlink in a an NFS-resistant manner
425	    Worked around a compiler bug old HP compilers (pointer-unsigned),
426	       caused the Content-Length: field to be mangled on some older
427	       HP/UX systems (not on every mail)
428	    Changes to formail:
429	       - Generated Message-IDs don't contain "s anymore
430	       - Fix off-by-one error when zapping whitespace
431	       - -z option allows for leading tab instead of space
432	    Changes to formail and lockfile:
433	       - -v option displays version information
434	    Changes to autoconf:
435	       - Detect & work around inefficient realloc() implementations
436	    Mailstat returns grand totals as well now
437	    Update FAQ and docs to reflect default placing of procmail
438	       in /usr/bin instead of /usr/local/bin
4391999/03/31: v3.13
440	    Mailstat was too loose in its awk syntax
441	    Changes to formail:
442	       - Formail was ignoring the exitcode of all but the last
443		 invocation (or last several, if -n was in effect)
444	    Changes to procmail:
445	       - Variable expansion of builtin numeric variables in
446		 conditions could overwrite the condition (broke SmartList)
447	       - weights<1 didn't work if floats changed accuracy when stored
448	    Worked around a bug in the Dunix 4.0e compiler (pointer addition
449	       not commutative)
4501999/11/22: v3.14
451	    Changes to procmail:
452	       - Some zero-length extractions using \/ could core dump
453	       - Missed a couple possible overflows
454	       - Eliminated the conflict with the C9x `restrict' keyword
455	       - Support delivery to maildir mailboxes
456	       - Support all styles of mailbox for the mail spool
457	       - Don't use a locallockfile on $DEFAULT if it's a directory
458	       - Set LINEBUF in the environment on startup
459	       - Avoid renaming over old messages in directory folders
460	       - New variable SWITCHRC performs `tail call'
461	       - Refuse to open anything but regular files with INCLUDERC
462		 and SWITCHRC
463	       - Indicate whether GROUP_PER_USER was defined in the -v output
464	       - Stopped depending on parens to stop function macros (they
465		 don't under SunOS 4.x cc)
466	       - Small heap compilation would fail on nomemerr() in pipes.c
467	       - Worked around Tru64 UNIX V4.0E and V4.0F compilers
468		 (strcpy() builtin doesn't always return pointer type)
469	       - Warn about using 'c' flag with 'f' flag or on variable
470		 capture recipes
471	       - Warn about using 'h', 'b', 'i', or 'r' flags on nested
472		 block recipes.
473	       - Test for allowing rcfiles in sticky directories iff chown
474		 is restricted was reversed
475	       - LASTFOLDER wasn't correctly set when delivering to multiple
476		 folders
477	       - -f- couldn't find the timestamp if the address contained a
478		 space
479	       - SENDMAIL and SENDMAILFLAGS are now split in forwarding actions
480	       - Variable capture actions now see the variable's current value
481		 and restore it if the action fails.  Previously unset
482		 variables will remain unset.
483	       - fsync() mailboxes before closing them
484	       - Actually suppress the 'E' and 'a' flags when combined with
485		 the 'e' flag instead of just saying so
486	       - Avoid some calls to alarm()
487	       - Overflows at certain times would confuse procmail
488	       - dyna_long code now meets strict ANSI restrictions
489	       - 'W' flag changes "Program failure" to "Non-zero exitcode"
490	       - Nested blocks must open and close within the same rcfile
491	       - Root owned lockfiles aren't bogus
492	       - A lone trailing '$' wasn't terminated properly when expanded
493	    Changes to formail:
494	       - Replies without the -t flag go to the envelope sender
495	       - Replies without "-a Resent-" and -t flag ignore the
496		 Resent-* headers
497	       - Prevent corrupt idcaches by suppressing the -n option when
498		 splitting with the -D option
499	       - Accept and strip whitespace between the fieldname and colon
500	       - Renaming from a wildcard to nothing now works
501	    Changes to mailstat:
502	       - Work around the detab done on checkin to CVS
503	       - Recognize maildir mailboxes
504	       - Don't use a tempfile
505	    Changes to autoconf:
506	       - Don't assume realloc(0,size) works (doesn't under SunOS 4)
507	    Stopped using `implicit int' (for C9x)
508	    Cache gethostname() and uname() output
509	    Changed the form of tempfile names to make them `more' unique
510	     and deal with filename length limits more gracefully
511	    Updated the FAQ and the list of mirrors in the README
512	    Documented the exact behavior of lockfile's -! flag
513	    Documented the suggested usage of -r vs -rt
5142000/08/25: v3.15
515	    Changes to procmail:
516	       - v3.14 broke compilation on systems without lstat() or
517		 that didn't declare it
518	       - Rewrite folder type parsing: corrects handling of MH and
519		 maildir style spools
520	       - v3.14 changed '!' actions too much: revert to v3.13 behavior
521		 but continue to split SENDMAILFLAGS
522	       - Contents of skipped nested blocks could affect 'E', 'e', 'a',
523		 and 'A' flags when they shouldn't have
524	       - Prevent peeking into buffers on "Out of memory" errors
525	       - Unquoted $\var expansions could alter the interpretation of
526		 the following whitespace
527	       - Prevent attempts to set LINEBUF to really huge values
528	       - Optimize SWITCHRC = $_
529	       - Use a secure PATH when processing /etc/procmailrc
530	       - Prevent attempts to exercise a Linux kernel security hole
531	       - Use 2^31-1 as the maximum score, even if LONG_MAX is larger
532	    Changes to formail:
533	       - Allow -n with -D and -s again -- corruption couldn't happen
534		 after all
535	       - Don't strip pre-colon whitespace until header is identified
536	       - Properly handle NULs in the body when generating an autoreply
537		 that keeps the body (could coredump)
538	    Changes to autoconf:
539	       - Avoid coredump on systems where sprintf() calls getenv()
540	    Documented that $\var expansions are never split on whitespace
541	    More manpage tweaks
542	    Worked around linkers that don't support compile-time stripping
543	       (for MacOS X)
544	    Removed ':' and '@' from list of characters that can appear in
545	       tempfile names
546	    Called nice() when shouldn't have
547	    Workaround SunOS 4.x compiler again
5482001/06/28: v3.20
549	    Changes to procmail:
550	       - SECURITY: don't do unsafe things from signal handlers:
551		  - ignore TRAP when terminating because of a signal
552		  - resolve the host and protocol of COMSAT when it is set
553		  - save the absolute path form of $LASTFOLDER for the comsat
554		    message when it is set
555		  - only use the log buffer if it's safe
556	       - Support LMTP for delivery mode (not enabled by default)
557	       - Preliminary support for using mmap() for `large' messages
558		 (this doesn't work yet)
559	       - SWITCHRC=zero-length-file didn't always abort the current
560		 rcfile
561	       - A race to create the mailspool would bounce one of the
562		 messages due to an internal error
563	       - LC_ in KEEPENV would preserve only the first LC_foo variable
564	       - Strip runtime linker variables (LD_*) from environment on
565		 all platforms
566	       - Drop duplicate and malformed environment entries
567	       - Multiple -a options will now set $2, $3, etc
568	       - Command line assignments to INCLUDERC and SWITCHRC no longer
569		 have any effect
570	       - Worked around AIX 4.3.3 xlc compiler (incorrect file-scope
571		 variable initialization)
572	       - When delivering to a maildir, don't force the message to end
573		 with an empty line
574	       - Be more paranoid about leaking information between recipients
575	       - Unset LOCKFILE if we can't actually lock it
576	       - Set MAILDIR to '.' if the chdir fails
577	       - LASTFOLDER was sometimes set by '?' conditions
578	       - Buffer the log more efficiently
579	       - Use the `standard' format for maildir filenames and retry
580		 on name collision
581	       - Rename by linking to prevent lossage
582	       - Avoid dangling pointers when variable capture actions fail
583	    Changes to autoconf:
584	       - Check for enum support
585	       - Warn people that non-ISO/ANSI C compilers might not be
586		 supported in the future
587	       - IRIX compiler (7.3.1) failed the const check from warnings
588	    Changes to lockfile:
589	       - Include the system mailbox lockfile path in the -v output
590	       - Resist attempts to use a setuid lockfile command
591	       - Fix infinite loop on -l, -r, or -s flag with no value
592	    Documented formail's treatment of >From_ lines as continuations
593	       of the From_ line and warned of problems caused by non-RFC822
594	       field names like 'Old-From '
595	    Clarified procmail's treatment of $@ and $#
596	    Fixed a man page formatting problem
597	    Use long, not off_t, with fseek()/ftell()
598	    Increase our paranoia: start to use strlcat()
599	    The default MAILDIR is now configurable separately from the
600	       default rcfile location
601	    Include an RPM spec file in the examples directory for automated
602	       builds
603	    Include and use mkinstalldirs
604	    Called nice() when shouldn't have (this time for sure!)
6052001/06/29: v3.21
606	    Changes to procmail:
607	       - Incorrect prototype broke compilation on Tru64 UNIX
608	       - INCLUDERC was broken by trying to be fancy and not fully
609		 succeeding when support for multiple -a options was added
6102001/09/10: v3.22
611	    Changes to procmail:
612	       - Regression bugs from 3.20:
613		  - Broke compilation with K&R compilers
614		  - procmail -p -m was overridding PATH
615		  - maildir delivery included garbage in filenames
616		  - Mismatched HOST in last rcfile didn't discard the message
617		  - COMSAT wasn't turned off by an rcfile on the command line
618	       - Catch overly long command line variable assignments
619	       - If a command expansion is truncated, set PROCMAIL_OVERFLOW
620		 and don't trim trailing (really middle) newlines
621	       - If the comsat host can't be resolved, set COMSAT to "no"
622	    Some fixes to the man pages
623	    More paranoia: start to use strlcpy()
624	    Generate safe temp and maildir filenames when the hostname
625	       contains / or : by mapping them to \ooo
626