Things to add to the release notes for the next full 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 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.