NEWS

This file summarizes the important changes from version to version.

(For a more detailed list of changes see the VCS log; the release
tarball includes a static copy of it in the ChangeLog file.)

====================
mmh-0.4 (2018-01-06)
====================

Features
--------
- pick -thread allows to select a whole message thread
- mhstore use "filename" attr of Content-Disposition
- repl -form repllistcomps uses mailinglist header field
- support for simplified ISO 8601/RFC 3339 dates
- whom supports message argument
- mhpgp use trusted header field copies to replace original header fields
- mhl trailing withspace handling
- mhl implement simple globbing
- mhl raw option
- whatnow2 save metainformation in the draft itself

Bug fixes
---------
- inc fix out-of-bounds error when reading from stdin
- spelling errors
- Accept binary encoding for messages/*
- mhparse add support for CRLF
- dateparsing case insensitive
- mhsign gpg2 Expiry date format
- whatnow2 don't add an extra attachment header
- m_getfld2 accept lines with 998 chars and crlf lineending
- Ignore folders with an empty sequence in new
- Fix blind list alias expansion
- whatnow2 handle mhuse
- whatnow2 remove metainformation befor adding new

Technical changes
-----------------
- Fix unreproducible build
- remove msg-hook config option
- redesign version string
- remove unused code
- decode rfc2047 header in mhparse
- scan and pick merged to one tool
- rewrite pick matching
- fmt_scan support multibyte characters in putstr decoding
- Fix parallel `make install'
- %(unmailto) format function for List-Post headers

Documentation
-------------
- Generate the command list in mmh-intro
- Grammer and layout fixes anno.man1
- Grammer and layout fixes in ali.man1
- mhsign mention hostname bug
- Better wording in README concerning compatibility
- whatnow is now depricated

====================
mmh-0.3 (2016-08-15)
====================

Features
--------
- whatnow2 as a replacement for whatnow, whatnow still is the default
- repl now pipe mail through to decode MIME messages
- RFC 2047 decoding default in replcomp and replgroupcomp
- Enable inc(1) to read from stdin
- Allow send(1) to send from folder other than +drafts

Bug fixes
---------
- repl use .mmh/mhl.reply, if it exist
- simple mbox support for rcvstore
- mhsign encrypton works with aliases
- Fix header lookup table setup in slocal(1)
- Fix of by one in decode_rfc2047()

Technical changes
-----------------
- m_getfld() is replaced by m_getfld2()
- send calls mhbuild every time except for dist
- intern sequence system are more independent
- use only mh_calloc to avoid bugs
- use mh_free0 to avoid bugs

Documentation
-------------
- Better description of the Sender header
- Cleanup manpage mh-format(5)
- mhsign/mhpgp: Clarify the manpages and usage lines

====================
mmh-0.2 (2015-11-02)
====================

Features
--------
- non-ASCII header fields get automatically encoded using RFC 2047
- pick(1) works on decoded RFC 2047 header fields
- new profile option Default-From, which defines just what it says
- the Dcc header field is available again
- a Sender header gets inserted as appropriate
- spost(1) can handle address groups now
- the Date header is now shown in local time in the default scan listing
- various minor improvements in mhsign(1)
- mhparam(1) knows about more values now

Bug fixes
---------
- dist(1) works again
- `folder -recurse' is fixed
- tar files are now encoded using base64
- building in different build directory works now

Documentation
-------------
- many smaller improvements to the man pages and documentation

Technical changes
-----------------
- pass recipients as command line arguments to sendmail
- don't create messages with a dot alone on a line
- make libmh self-containing
- use sysexits.h for better error codes
- re-activated the test framework
- changes in the build framework

Coding
------
- rmm uses refile now
- converted several macros to functions
- replaced MH specific functions with standard library ones
- use execprogl() as a safer alternatives to system(3) now
- remove longjmp(3) and done() in favor for atexit(3)
- we now have mh_xcalloc()



====================
mmh-0.1 (2012-12-08)
====================

(The references are made to docs/schnalke-mmh.pdf. Explanations can
be found there.)

General
-------
- All network transfer facilities have been removed. There is no MTS
  (SMTP client) anymore and no POP client. An MSA/MTA is required to
  send mail. An MRA is required to retrieve mail via POP/IMAP. (Sec.
  2.1.1)
- ~/.mh_profile was moved to ~/.mmh/profile. All configuration files
  in the mail storage location (~/Mail) were moved to ~/.mmh. The
  environment variables to change these locations were renamed.
  (Sec. 2.3.5)
- Many configure options were removed. (Sec. 2.1.4)
- A bunch of recent changes in nmh were pulled into mmh.
- The man page mmh-intro(7) was added.

Features
--------
- Jon Steinhart's attachment system is made the default and is
  combined smoothly with automatic MIMEification, as needed. The
  `mime' command at the WhatNow prompt is therefore no longer needed
  and thus removed. Use of Mime-Type-Query command (usually file(1))
  to determine the MIME type of an attachment. No more writing of
  mhbuild directives, although it is still possible to do so. (Sec.
  2.2.2)
- The draft folder facility is always used. All support for a single
  draft message is removed. The commands, especially comp(1), were
  adjusted to this change. (Sec. 2.2.4)
- A trash folder facility is added. Backup prefixes are no longer
  used. (Sec. 2.2.4)
- By default, messages are always displayed serially in a single
  pager session without pausing. Foreign charsets are transcoded
  automatically (with iconv(1)). (Sec. 2.2.2)
- Attachments are stored under their filename, instead of the message
  number and MIME part number, by default. Tar files are no longer
  extracted automatically. (Sec. 2.2.2)
- scan(1) listings do no longer show body contents.
- MMDF maildrop format support is removed. (Sec. 2.2.1) Support for
  UUCP bang paths is gone, too.
- There is no more support for automatic message/external-body
  retrieval. The internal FTP client was dropped as well.
- Removed the internal pager.
- There is no more hardcopy terminal support. (Sec. 2.2.1)

Programs
--------
- The old show(1) was dropped and mhshow(1) was renamed to show(1).
  (2.1.3)
- Digital typography is added by including Neil Rickert's scripts:
  mhsign(1) is invoked automatically by send(1) if the draft message
  contains `Enc:' or `Sign:' header fields. Up to now, the user needs
  to run mhpgp(1) manually, still. (Sec. 2.2.3)
- conflict, rcvtty, viamail, msgchk, and msh were removed. (Sec. 2.1.2)
- Replaced install-mh(1) with the shell script mmh(1).
- slocal(1) lost its suppress duplicates feature and mmh thus lost the
  dependency on dbm.
- packf(1) prints to stdout.
- Added mmhwrap(1).
- whom(1) is rewritten from scratch.
- Many command line switches were removed. (Sec. 2.1.5)
- anno(1)'s command line switches were structurally reworked. Check
  the man page for details. (Sec. 2.3.2)
- Replaced the command line option `-format foo' with `-form =foo'.
  (Sec. 2.1.5)
- Path notations (with +, @, /, .) can now be used more interchangeable.
  (Sec. 2.3.2)
- All tools read the profile now. (Sec. 2.3.3)
- Renamed the -version switch to -Version.

Sequences
---------
- The standard sequences `first', `prev', `cur', `next', `last',
  `all', `new' were renamed to `f', `p', `c', `n', `l', `a', `b',
  respectively.
- The unseen sequence and the sequence negation are set by default.
  repl(1) quotes the original message by default and forw(1) uses
  MIME encapsulation by default. (Sec. 2.2.5)

Code
----
- The indent style was changed -- sorry for that. (Sec. 2.3.1)
- Standard library functions have replaced local replacements, when
  possible. (Sec. 2.3.4)
- The programs are more separated now. Instead of sharing source code,
  the programs invoke each other. (Sec. 2.3.6)
- Mmh comprises only about half as much code as nmh-1.3.



The starting point of mmh is:
nmh-1.3-dev (as of 2011-04-13)
