Things to add to the release notes for the next full release:
-- Switched to buffered output when performing TLS encryption in the SMTP
- MTA to increase performance.
-- mh-e support has been changed so that it is always compiled into nmh;
- old features that were previously enabled by the MHE option have been
- garbage collected.
-- Old code enabled by the UCI preprocessor definition has been
- garbage-collected.
-- LOCKDIR is now configurable via --enable-lockdir
-- All configuration options that were formerly only adjustable via editing
- config.h have been removed.
-- Support for the built-in ftp client (used when dealing with external body
- message parts in MIME messages) has been removed.
-- fileproc and mhlproc mh-profile entries will now be obeyed by
- send, rcvdist, and whatnow.
-- New format instructions %(putlit) and %(concataddr) have been implemented.
-- The --enable-pop configure option has been removed; POP support is now
- compiled in always.
-- You can now filter the body of a message through a user-defined filter
- program inside of repl (the idea is that it will be used by repl).
- See mhl(1), specifically the "format" keyword and "formatproc" in
- mh-profile(5).
-- The test suite has been integrated into the Makefile via "make check".
-- The following environment variables are obsolete. Support for them
- will be removed from the next nmh release:
+------------
+NEW FEATURES
+------------
+
+- All nmh programs will now warn about multiple profile entries for
+ the same non-null, non-comment component. In previous versions, all
+ but the first were silently ignored.
+- mhmail now supports all post(8) options, or optionally can use
+ send(1) with all of its options. Its formerly undocumented -resent
+ switch has been documented. And it has new -attach, -headerfield,
+ and -send/-nosend switches.
+- Default to flock() locking on OpenBSD and Darwin.
+- Added -directives support to mhbuild(1) to control whether or not
+ mhbuild will honor MIME directives by default. And added support
+ for special #on/#off/#pop directives to control the MIME directive
+ processing state.
+- Added -messageid switch to send(1) and post(8). This allows
+ selection of the style to use for generated Message-ID and
+ Content-ID header fields. The default localname style is
+ pid.time@localname, where time is in seconds, and matches previous
+ behavior. The random style replaces the localname with some
+ (pseudo)random bytes and uses microsecond-resolution time.
+- Added -clobber switch to mhstore(1) to control overwriting of
+ existing files.
+- Added -outfile switch to mhstore(1).
+- Added -noall/-all switches to sortm(1). sortm -noall requires
+ a messages argument.
+- $PAGER overrides the compiled-in default pager command.
+- Added etc/scan.highlighted format file, as an example of how to
+ highlight/colorize the output of scan(1).
+- inc(1) now supports a -port switch to specify the port used by the
+ POP server.
+- pick(1) now decodes MIME-encoded header fields before searching.
+- The VISUAL and EDITOR environment variables are now supported as fallbacks
+ if the user does not configure an editor entry in their profile.
+- The format engine (mh_format(5)) now properly accounts for multibyte
+ characters when accounting for column widths.
+- burst(1) now can burst MIME-formatted digests (messages that contain
+ message/rfc822 parts instead of messages formatted with RFC 934).
+- All proc entries (showproc, moreproc, etc) can now accept entries that
+ contain spaces and shell metacharacters. If found, such entries will
+ either be space-splitted or processed by /bin/sh.
+- A new program, fmttest(1) is included to help debug format files
+- mhshow/mhstore now have support for RFC-2017 (access-type=url) for
+ external message bodies.
+- Added -retainsequences switch to refile(1).
+- A new program, mhfixmsg(1), is included to rewrite MIME messages with
+ various transformations.
+- Added -[no]rmmproc switches to rmm(1).
+- Added support for Content-Disposition header (RFC 2183) to mhstore(1)
+ and mhn(1) when used with -auto.
+- All nmh commands now support transactional locking for sequence files.
+- There is no longer a per-folder maximum number of sequences.
+- For the SMTP MTA TLS can now be negotiated at the beginning of the
+ connection with the -initialtls switch.
+- Messages can now be selected using a relative offset from some other
+ message, or from the start or end of a sequence. See mh-sequences(5).
+- The -changecur and -nochangecur switches have been added to mhlist(1).
+- mhbuild(1) can now encode 8-bit message headers using RFC-2047 encoding
+ rules.
+- The whatnow(1) attach feature will determine the content type of an
+ attachment using a program such as file --mime-type, if available at
+ configuration time. If not, it will use mhshow-suffix- entries as
+ before. The -v switch to attach causes it to display the mhbuild
+ directive that send(1) will use.
+- mhbuild(1) now supports the -auto/-noauto flags (to be used by send(1)
+ when invoking mhbuild automatically).
+- mhbuild(1) now is automatically run by send, to insure that all outgoing
+ messages have proper MIME formatting.
+- A new header, "Attach", is supported by mhbuild; it is used to replace
+ previous functionality (which by default used a header named
+ Nmh-Attachment).
+
+-----------------
+OBSOLETE FEATURES
+-----------------
+- Changed exit status of each nmh command's -version and -help
+ switches from 1 to 0.
+- The following environment variables were deprecated in nmh 1.5
+ and removed from this release:
MHPOPDEBUG (use -snoop command line switch instead)
MM_NOASK (use -nolist and -nopause command line switches instead)
NOMHNPROC (use -nocheckmime command line switch instead)
- FACEPROC (undocumented faceproc feature to be removed)
+ FACEPROC (undocumented faceproc feature removed)
+- Changed repl and dist default to -noatfile. The default of -atfile
+ was deprecated in nmh 1.5. If there are no requests to maintain
+ -atfile, it will be removed in the future.
+- The undocumented -queue switch to mhmail has been removed.
+- spost(8) has been merged into post(8). Its functionality is enabled
+ by selecting the sendmail/pipe mail transport method, described in
+ the mh-tailor(5) man page. The spost -noalias, -backup/-nobackup,
+ -push/-nopush, and -remove/-noremove switches are not supported by
+ post. Note that spost did not support -whom or Dcc, and neither
+ does post when using sendmail/pipe. And spost would expand blind
+ aliases and send them in the message; post with sendmail/pipe
+ refuses to do that. For backward compatibility, spost has been
+ replaced by a simple shell script that exec's post -mts
+ sendmail/pipe.
+- Support for the undocumented and deprecated --enable-nmh-debug configure
+ flag has been removed.
+- Support for encoding some characters designated as EBCDIC-unsafe
+ via the -ebcdicsafe and -noebcdicsafe switches to mhbuild has
+ been removed.
+- The configure flag --with-pager has been removed; the default pager
+ is now hardcoded as "more". Users are still free to override the
+ default using the PAGER environment variable or entries in .mh_profile.
+- The configure flag --with-editor has been removed; the fallback editor
+ if none is configured is "vi".
+- The support for the undocumented NOPUBLICSEQ preprocessor definition
+ to disable public sequence support has been removed.
+- Support for the -normalize and -nonormalize switches to the ali(1) and
+ ap(8) commands has been removed.
+- "make install" no longer strips executables. Use "make install-strip"
+ instead.
+- The environment variable MM_CHARSET to indicate the native character
+ set is no longer supported. The native character set will be solely
+ determined by the locale settings.
+- Temporary files are stored in the first non-null location of
+ {MHTMPDIR environment variable, TMPDIR environment variable, MH Path}.
+ They are no longer be stored in the location specified by the TMP
+ environment variable. As part of this change, suffixes were removed
+ from filenames of temporary files. This will break the use of display
+ applications that rely on the suffix to determine the file type.
+
+-------------------
+DEPRECATED FEATURES
+-------------------
+- The undocumented -queue switch to post is deprecated/obsolete
+ and will be removed in the next release. It supports the
+ SMTP XQUE verb, which is obsolete according to
+ http://smtpfilter.sourceforge.net/esmtp.html
+- conflict(8) is deprecated and will be removed from the next release.
+- mhtest(8) is deprecated and will be removed from the next release.
+- msh(1) is deprecated and will be removed from the next release.
+- Support in alias files for the the "*" address-group is obsolescent
+ and will be removed in a future release.
+
+---------
+BUG FIXES
+---------
+
+- Replaced utilities that operate on pbm files with those that operate
+ on pnm files in etc/mhn.defaults [Bug #15152].
+- Removed obsolete BUGS section at end of rcvstore(1) man page [Bug #4361].
+- Fixed -nocc me doesn't account for Alternate-Mailboxes [Bug #36635].
+- Propagate Mail-Followup-To [Bug #5571].
+- "mark -sequence cur -delete all" now works for cur as well as any
+ other sequence, to allow clearing of the current message indication.
+- The first alias contained in a blind list is now expanded. The
+ mh-alias(5) man page was updated to show that blind lists must not
+ be terminated with, or contain, a trailing semicolon [Bug #15604].
+- Fixed sendfiles(1) to always provide a From: address. Also, updated
+ its switches.
+- Fixed pick(1) to properly unfold multiple-line header fields by
+ removing newlines instead of replacing them with spaces [Bug #15215].
+- Removed the artificial limit of 1000 messages at a time for rmmproc.
+- Fixed decoding of header fields when they contain a character that
+ can't be converted.
+- post(8) -sasl now honours username in .netrc [Bug #23168]. whom(1),
+ send(1), inc(1), and msgchk(1) also benefit from this fix. And, nmh
+ now supports specification of any valid filename in place of
+ $HOME/.netrc.
+- Added quoting of local part of invalid address in message being
+ replied to [Bug #26780].
+- Fix segmentation fauls for %(putlit) and %(zputlit) format escapes when
+ the "str" register was NULL.
+- Encode and decode text MIME types with canonical line breaks properly.