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 -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.
+- builds use OpenSSL if available.
+- post now defaults to port 587 on 'smtp' message submission.
+- A value of 0 for the width switch of scan(1), inc(1), ap(1), dp(1),
+ fmttest(1), and mhl(1) now means as many characters as the format
+ engine can produce [Bug #15274]. That amount is limited by internal
+ buffers.
+- If a component has trailing whitespace, e.g., body:component="> ",
+ mhl now trims that whitespace off when filtering blank text lines.
+- An "rtrim" flag has been added to mhl to remove any trailing
+ whitespace from filtered text lines. A corresponding "nortrim" flag
+ has also been added.
+- The default locations for configuration files and suppoooort binaries
+ have been changed. Configuration files now install into ${sysconfdir}/nmh,
+ and support binaries are placed in ${libexecdir}/nmh. If you are upgrading
+ an existing installation you should look for old configuration files in
+ ${sysconfdir} and merge any local customizations into the new files in
+ ${sysconfdir}/nmh, then remove the old files. ${libdir} will also contain
+ obsolete support programs that should be removed.
+- When building from source, configure will derive ${prefix} from an existing
+ nmh installation if it finds one in your $PATH.
+- Added getmymbox and getmyaddr mh-format(5) function escapes.
+- New -[no]changecur, -fixtype, -decodetypes, and -[no]crlflinebreaks switches
+ have been added to mhfixmsg(1).
+- mhfixmsg now removes an extraneous trailing semicolon from header
+ parameter lists.
+- Added -convertargs switch to repl(1), to pass arguments to programs
+ specified in the user's profile or mhn.defaults to convert message
+ content.
+- Added mhical(1), to display, reply to, and cancel iCalendar (RFC 5545)
+ event requests.
+- added multiply format function
+- "mhparam bindir" prints the path to the directory containing the public
+ executables (${bindir}).
+- new "-prefer" switch for mhshow (and mhlist and mhshow), to allow specifying
+ the preferred content types to show, if present in a multipart alternative.
+- mh-format now has %(kilo) and %(kibi) functions, to allow printing
+ numbers as, for example, "10K", or "2.3Mi"
+- Support for the -sendmail flag to send/post to change the sendmail
+ binary when using the sendmail/pipe MTS.
+- Added support to send(1) to specify switches to post(1) based on address or
+ domain name in From: header line in message draft.
+- post(8) -snoop now attempts to decode base64-encoded SMTP traffic.
+- folder(1) -nocreate now prints a warning message for a non-existent folder.
+- mhfixmsg(1) now allows -decodetext binary, though 8bit is still the default.
+- inc(1) and msgchk(1) now support TLS encryption natively.
+- Support for SMTPUTF8 (RFC 6531) has been added. mhshow(1) already supported
+ RFC 6532, assuming all 8-bit message header field bodies are UTF-8 and use
+ of a UTF-8 locale.
+- mhfixmsg now replaces RFC 2047 encoding with RFC 2231 encoding of name and
+ filename parameters in Content-Type and Content-Disposition headers,
+ respectively.
+- If a message body contains 8-bit bytes, post(8) uses SMTP 8BITMIME if the
+ server supports it. If not, post fails with a message to the user to
+ encode the message for 7-bit transport.
+- Added welcome message when nmh detects that its version changed.
+- Fewer lseek(2)s will be used when reading headers in the common case.
+- Single-character headers can be reliably formatted, etc., instead of
+ apparently being missing.
+- ./configure's --enable-debug has been removed; it did nothing.
+- configure now defaults to enabling each of TLS and Cyrus SASL if the
+ necessary headers and libraries are found.
+- Moved build_nmh to top-level directory.
-----------------------------
-OBSOLETE/DEPRECATED FEATURES
-----------------------------
+-----------------
+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 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.
-- 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.
-- 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 undocumented -queue switch to post was deprecated in nmh 1.6, and was
+ removed in this release.
+- conflict(8) was deprecated in nmh 1.6, and was removed in this release.
+- mhtest(8) was deprecated in nmh 1.6, and was removed in this release.
+- msh(1) was deprecated in nmh 1.6, and was removed in this release.
+- Support in alias files for the the "*" address-group (everyone) was
+ deprecated in nmh 1.6, and was removed in this release.
+
+-------------------
+DEPRECATED FEATURES
+-------------------
+
+- Support for the MHPDEBUG environment variable is deprecated and will be
+ removed from a future nmh release. Instead, use the -debug switch to pick.
+- With the move of support binaries from ${libdir} to ${libexecdir}/nmh, the
+ mostly undocumented 'libdir' mhparam(1) component has been replaced by a
+ new 'libexecdir' component. 'libdir' 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.
+- The format scanner no longer subtracts 1 from the width. This has the
+ effect of no longer counting the trailing newline in the output of
+ scan(1), inc(1), and the other programs that rely on the format scanner.
+- The first character of some very short (less than 4 characters) message
+ bodies is no longer dropped.
+- mhfixmsg now adds a Content-Transfer-Encoding header at the message level,
+ if needed after decoding text parts.
+- mhbuild now checks whether all text parts need a Content-Transfer-Encoding
+ header, not just those with a character set not specified.