--- /dev/null
+[NOTE: This file is out-of-date. Updating it every time new features are added
+ to nmh forevermore is a pain. Perhaps we should limit it to
+ documentation of _incompatibilities_ with MH (which should be rare).]
+
+The following are the differences between nmh and MH-6.8.3. UCI has
+since released MH-6.8.4. Most of the new features it adds have
+also been added to nmh, but those differences are not listed here.
+There are a few new features in MH-6.8.4 that are missing from nmh,
+but they are primarily undocumented in MH-6.8.4 (and no one has
+ever asked me for them).
+
+GENERAL
+-------
+*) nmh has been converted to autoconf (configure) and should be
+ more portable and easier to install than MH. In particular, nmh
+ will now compile on Linux.
+*) All of MH's Makefiles have been rewritten for nmh. You can now
+ use GNU make without any problems. Also, if your make supports
+ the VPATH variable (such as GNU make), you can now compile in a
+ different directory from the one containing the source code.
+*) The source code for nmh has been substantially cleaned up.
+ It now requires an ANSI C compiler (gcc is fine) to compile.
+*) A new option `-version' has been added to all the commands.
+*) The POP server (popd) has been removed from the distribution.
+ RPOP on the client side is not currently supported.
+*) The support for MH-style bulletin boards has been removed
+ (NNTP makes this obsolete anyway).
+*) Currently nmh doesn't support using shared libraries for libmh.
+ This may return in the future, but is not a high priority, since
+ the nmh commands are not that large, and disk space gets cheaper
+ every day.
+*) Almost all of the commands in nmh have been modified to accept
+ an arbitrary number of command line arguments (most MH commands
+ will not accept more than 1000 arguments on the command line).
+*) nmh should be more secure than MH. Hundreds of buffer overflow
+ problems have been fixed in the source code. Of course, I still
+ don't make any guarantees.
+
+DOCUMENTATION
+-------------
+*) Many of the man pages have been cleaned up or clarified.
+*) The mhook man page has been split into separate man pages for
+ rcvtty, rcvdist, and rcvpack.
+*) Added new man page `mh-draft' which discusses the nmh draft
+ folder facility.
+*) The various `procs' (rmmproc, moreproc, showmimeproc, etc...)
+ are now documented in the "mh-profile" man page. Many of these
+ were previously undocumented.
+
+FORMATTING
+----------
+*) Added a new formatting string escape %(decode) to decode and
+ display RFC-2047 encoded header fields.
+
+SEQUENCES
+---------
+*) The is no longer a limitation on the length of lines in the file
+ containing your public sequences (.mh_sequences). That should be
+ the end of the error message ".mh_sequences is poorly formatted".
+
+ANNO
+----
+*) The switch -inplace is now on by default.
+
+CONFLICT
+--------
+*) Conflict now works on systems that define more
+ than 100 groups.
+
+DIST
+----
+*) The switch -inplace is now on by default.
+
+FLIST
+-----
+*) A new command `flist' has been added to nmh, that will list the
+ folders that contain messages in a given sequence (such as the
+ unseen sequence). This was a much needed command in the MH suite
+ of programs.
+
+FOLDER
+------
+*) `folder -all' now dynamically allocates space for folder names and can
+ handle more than 300 folders.
+*) `folder' now uses the standard Unix trick of looking at the number of
+ links to a directory entry, in order to avoid doing a stat(2) call
+ on messages in folders with no subfolders. This greatly increases
+ the speed of `folder -all -recurse' on large mail setups.
+*) The switches `-header' and `-total' are more orthogonal. The command
+ `folder -all -noheader -nototal' now does the right thing.
+
+FORW
+----
+*) The switch -inplace is now on by default.
+*) Added switches `-dashstuffing' and `-nodashstuffing', to determine
+ whether forwarded messages are RFC934 quotes (dashstuffed).
+ (This corresponds to the undocumented switch "nodashmunging"
+ in MH).
+
+INC
+---
+*) If compiled with RPATHS, a Delivery-Date header is now added to all
+ messages incorporated with `inc'.
+*) Using the new format string escape %(decode), the scan lines for `inc'
+ will correctly decode RFC-2047 encoded headers.
+
+MARK
+----
+*) If neither of the switches -public/-nopublic are specified, then
+ existing sequences will retain their current public/private status,
+ instead of being changed to public.
+*) The command "mark -list -sequence foo" will now indicate if the
+ sequence "foo" is a private sequence.
+
+MHBUILD
+-------
+*) The functionality in `mhn' to create MIME messages, has been cleaned
+ up substantially, and moved to separate command `mhbuild'.
+*) If given a file argument of "-", mhbuild will now accept the MIME
+ composition file on the standard input, and output the new MIME
+ message to the standard output. This makes it much easier to use
+ this functionality in shell scripts.
+*) The switch -norfc934mode is now the default.
+
+MHL
+---
+*) There is a new variable "decode" which instructs `mhl' to decode
+ a component as a RFC-2047 encoded header field.
+
+MHLIST
+------
+*) The functionality of `mhn -list' has been moved to the new
+ command `mhlist'.
+
+MHN
+---
+*) mhn is now obsolete. It has been split into the commands mhbuild,
+ mhlist, mhshow, mhstore, and viamail. mhn still exists for
+ backward compatibility, but the new commands should be preferred.
+*) Changed the profile entry automhnproc to automimeproc
+ (which has slightly different semantics).
+
+MHPATH
+------
+*) `mhpath all' will no longer abort if the folder has more than
+ 998 messages.
+
+MHSHOW
+------
+*) The functionality of `mhn -show' has been moved to the new
+ command `mhshow'.
+*) mhshow now correctly treats unknown subtypes of text as
+ text/plain, as specified by RFC-2046.
+*) mhshow now correctly treats unknown subtypes of multipart as
+ multipart/mixed, as specified by RFC-2046.
+*) You can now override the default method by which mhshow handles
+ subtypes of multipart that are known internally (mixed, alternate,
+ etc...). Previously the behavior on these types could not be
+ changed.
+
+MHSTORE
+-------
+*) The functionality of `mhn -store' has been moved to the new
+ command `mhstore'.
+*) mhstore will now correctly identify a formatting string of "-"
+ and send the content to stdout.
+
+PACKF
+-----
+*) When packing a folder, the default format is now `mbox' format, rather
+ than `mmdf' format. The options -mbox and -mmdf have been added to
+ `packf' so you can choose the desired format.
+
+PACKMBOX
+--------
+*) The script packmbox has been removed from the nmh distribution, since
+ its functionality has been added to the command packf.
+
+PICK
+----
+*) If neither of the switches -public/-nopublic are specified, then
+ existing sequences will retain their current public/private status,
+ instead of being changed to public.
+
+RCVPACK
+-------
+*) The default format for `rcvpack' is now `mbox' format, rather than
+ `mmdf' format. The options -mbox and -mmdf have been added to
+ `rcvpack' so you can choose the desired format.
+*) Rcvpack no longer adds the field "Delivery-Date", as that is added
+ by `slocal'.
+
+RCVSTORE
+--------
+*) Added new switches -unseen/-nounseen to control whether new messages
+ are added to the Unseen-Sequence.
+
+RCVTTY
+------
+*) The option `-width' has been added.
+
+REFILE
+------
+*) If an conflict occurs when using the `-preserve' switch,
+ then refile will search for and use the next available
+ message number above the one you wish to preserve, rather
+ than aborting with an error.
+*) Added new options `-unlink' and `-nounlink' which specify
+ that that messages "removed" from the source folder should
+ just be unlinked, rather than moved to name with prefix.
+
+REPL
+----
+*) Added new options `-format' and `-noformat'. The switch `-format'
+ will filter the message to which you are replying with a standard
+ message filter "mhl.reply" which is included in the distribution.
+ The switch `-noformat' will negate `-format' and `-filter', so that
+ the message to which you are replying is not included in the draft.
+*) Added new options `-group' and `-nogroup'. These switches direct
+ repl as to whether or not this is a group reply. A group reply uses
+ a different forms (components) file (default is replgroupcomps).
+*) The standard forms files "replcomps" and "replgroupcomps" now have
+ support for the "Mail-Reply-To:" and "Mail-Followup-To:" header fields.
+*) The switch -inplace is now on by default.
+
+RMM
+---
+*) Added new options `-unlink' and `-nounlink' which specify
+ that that "removed" messages should just be unlinked, rather
+ than moved to name with prefix.
+
+SCAN
+----
+*) Using the new format string escape %(decode), the scan lines created
+ by `scan' will correctly decode RFC-2047 encoded headers.
+
+SHOW/NEXT/PREV
+--------------
+*) Added new options `-checkmime' and `-nocheckmime' which allow you
+ to enable and disable the test for MIME messages.
+*) The "mhnproc" profile entry has been changed to "showmimeproc".
+*) Added `-showmimeproc' switch to specify the showmimeproc at the
+ command line.
+*) The default "showproc" has been changed to `mhl'.
+*) The default "showmimeproc" is now `mhshow'.
+*) `show' is better at handling alternate character sets. It knows that
+ US-ASCII is a subset of any ISO-8859-X character set.
+
+SLOCAL
+------
+*) Added new action `folder' or `+' to slocal, which adds new message
+ to a nmh folder. Currently, this is handled by piping the new
+ message to rcvstore, although this may change in the future.
+*) The action `mbox' now delivers to a file in mbox format. Previously
+ it delivered to a file in mmdf format.
+*) Added new action `mmdf' to deliver to a file in mmdf format.
+*) Added new options -[no]suppressdup to slocal to check for duplicate
+ messages. The code for suppression of duplicate messages (MH config
+ was MSGID) is now always built into slocal.
+*) Improved the debugging of slocal ".maildelivery" files. It will now
+ warn when an entry in this file is skipped because there are not
+ enough fields. Also the debugging output of slocal has been cleaned up,
+ so that it is much easier to read.
+*) Slocal now adds the Delivery-Date header to all delivered messages.
+ Previously it only added them to messages delivered to a file.
+
+VIAMAIL
+-------
+*) The functionality of this new command, was formerly part of
+ `mhn' as the (undocumented) option `mhn -viamail'.
+
+WHATNOW
+-------
+*) Added new action "mime" to whatnow, which causes whatnow to call
+ program specified by "buildmimeproc" profile entry, to process
+ MIME composition files (default is mhbuild).
+*) Added new action "delete" to whatnow, which deletes draft file
+ and exits.