]> diplodocus.org Git - nmh/blobdiff - NEWS
seq_setcur.c: Move interface to own file.
[nmh] / NEWS
diff --git a/NEWS b/NEWS
index 5c8116c837d2dde3d1ca953f744d5f93604aafad..37adfdfc3b24bd85cc1d46e869764926694617ec 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,431 @@
+# NEWS - Release notes for nmh 1.7
+#
+
+Welcome to nmh, the new version of the classic MH mail handling system.
+It's been over three years since the last release of nmh, and there have
+been a number of significant changes since the last release.  Long-time
+MH and nmh uses should read careful the NOTEABLE CHANGES section, as there
+are some significant changes to nmh behavior.  Otherwise, please see the
+README and INSTALL files for help on getting started with nmh.
+
+---------------
+NOTABLE CHANGES
+---------------
+
+The largest notable changes in the 1.7 release are:
+
+- Complete unification of network security support.  All network protocols
+  (currently, POP and SMTP) have been refactored to use a common set of
+  security routines.  This means all protocols support all SASL mechanisms
+  (via the Cyrus-SASL library) and TLS.  TLS support has been strengthened
+  to perform certificate name validation and to require TLS 1.1 as a
+  minimum protocol.  Also, all protocols can make use of the OAuth2/XOAUTH
+  SASL mechanism, which is supported by gmail.
+- send(1) now supports adding switches to post(8) based on the address or
+  domain of the email address in the From: header; this more easily allows
+  users to support multiple identities.
+- A generic facility for passing arguments to filter programs in repl(1)
+  by use of the -convertargs switch.
+- Native support for the manipulation of iCalendar requests; see mhical(1)
+  for more details.
+
+------------
+NEW FEATURES
+------------
+
+The following are new features for the 1.7 release of nmh:
+
+- When building from source, configure will derive ${prefix} from an existing
+  nmh installation if it finds one in your $PATH.
+- Added welcome message when nmh detects that its version changed.
+- The default locations for configuration files and support 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.
+- All TLS connections now perform certificate validation (including hostname
+  matching) by default; can be disabled on a per-application basis.
+- 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.
+- 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 mh-format(5) 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 with SI or IEC quantities, e.g. "10K", "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.
+- All network protocols support the XOAUTH authentication mechanism.
+- 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.
+- Fewer lseek(2)s will be used when reading headers in the common case.
+- ./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.
+- Better error reporting for connections to network services.
+
+---------
+BUG FIXES
+---------
+
+- 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.
+- Single-character headers can be reliably formatted, etc., instead of
+  apparently being missing.
+- 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.
+- mhbuild no longer parses lines that start with # as directives with
+  -nodirectives.
+- repl now makes sure that any Fcc header in a replied-to message is not
+  copied into the outgoing draft by default, and that the -fcc switch
+  actually works in the absence of a Fcc header in the replied-to message.
+- A Content-ID is generated for message/external-body entities as required
+  by RFC 2045, even if -nocontentid is supplied to mhbuild.
+- post will now expand aliases on a "From" line when doing a BCC [Bug #51098].
+- scan can now handle empty files without violating an assert [Bug #51693].
+- An error when writing an error message, e.g. EPIPE, no longer causes
+  recursion until the stack is exhausted.
+
+-------------------
+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.
+
+-----------------
+OBSOLETE FEATURES
+-----------------
+
+- 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.
+- Support for multiple hostnames in the "servers" entry of mts.conf has
+  been removed.
+- Support in alias files for expanding aliases based on group membership
+  (=) and primary group (+) has been removed.
+
+As always, feedback is welcome.
+
+--
+The nmh team
+nmh-workers@nongnu.org
+
+----------------------------------------------------------------------------
+
+# 
+# NEWS - Release notes for nmh 1.6
+#
+
+Welcome to nmh, the new version of the classic MH mail handling system.
+It's been nearly two years since the last release of nmh, and there have
+been a number of significant changes since the last release.  Long-time
+MH and nmh uses should read careful the NOTEABLE CHANGES section, as there
+are some significant changes to nmh behavior.  Otherwise, please see the
+README and INSTALL files for help on getting started with nmh.
+
+------------
+NEW FEATURES
+------------
+
+The following are new features for the 1.6 release of nmh:
+
+- 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-split or processed by /bin/sh.
+- A new program, fmttest(1) is included to help debug format files.  See
+  NOTABLE CHANGES below.
+- 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.  See NOTABLE CHANGES below.
+- 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.
+  See NOTABLE CHANGES below.
+- 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-sequence(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.  See NOTABLE CHANGES below.
+- 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.  See NOTABLE CHANGES below.
+- A new header, "Attach", is supported by mhbuild; it is used to replace
+  previous functionality (which by default used a header named
+  Nmh-Attachment).  See NOTABLE CHANGES below.
+- The default Content-Transfer-Encoding for text parts is now 8bit.
+- mhbuild(1) now supports a selectable Content-Transfer-Encoding
+- If nmh was configured with iconv(3) support, mhshow will convert, if
+  necessary, the charset of text/plain content to match the user's
+  locale setting.  See NOTABLE CHANGES below.
+- Added support for %{charset} display string escape to mhshow(1).
+- The MIME parsing and generating routines now support RFC 2231 extended
+  parameter information.
+- mh-mime(7) now provides an introduction to nmh's MIME handling.
+- mhshow(1) will now by default display all text content under one pager,
+  and display markers for non-text and non-inline content.  The content
+  markers are changeable via mh-format(5).  See NOTABLE CHANGES below.
+
+-----------------
+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.  See NOTABLE CHANGES below.
+- 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.
+- Instead of printing PostScript attachments, by default, from mhshow,
+  try to find a suitable viewer.
+- Support for parallel display of multipart/parallel content has been
+  removed from mhshow; all multipart content will be displayed in
+  serial.
+- Support for -pause/-nopause switches on mhshow has been removed.
+
+-------------------
+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 faults for %(putlit) and %(zputlit) format escapes when
+  the "str" register was NULL.
+- Encode and decode text MIME types with canonical line breaks properly.
+- mhstore(1) now obeys its -noverbose switch.
+- Properly report the input filename when mhbuild encounters errors.
+- Set the content-transfer-encoding properly when attaching message/rfc822
+  content.
+
+---------------
+NOTABLE CHANGES
+---------------
+
+The biggest changes in this release are in the arena of MIME handling.
+Specifically relating to MIME composition and display.  On the
+composition front, mhbuild(1) will now automatically be run by send(1)
+for all drafts.  Specifically, mhbuild is now run with the new -auto
+flag, which will suppress the processing of mhbuild directives and cause
+mhbuild to silently exit if the draft is already MIME-formatted.  When
+invoking mhbuild manually via the "mime" command at the WhatNow? prompt,
+mhbuild will behave as before and process mhbuild directives.
+
+In both cases (automatic and manual invocation) mhbuild will encode email
+headers according to RFC-2047 rules.  Mhbuild also will use RFC 2231
+encoding rules for MIME parameters when appropriate.  In addition, the
+attach system has been substantially reworked; the new header name is
+now "Attach" (to better align with other MUA behavior) and cannot be
+changed by the end-user.  The existing "attach" command simply adds
+the filename(s) to the draft in new Attach: headers, and the actual
+file processing is done by mhbuild; this attachment processing will
+take place in either automatic or manual mode.
+
+On the display front, mhshow(1) will now automatically convert text
+into the user's native character set using iconv, if nmh was built
+with iconv support.  Also, mhshow will now by default only display
+text content that was not marked as an attachment.  By default all
+displayed content wll be run under one pager, as opposed to individual
+pagers for each part as was in the past.  Non-displayed parts will be
+indicated using a marker string, which can be customized by a new
+mh-format(5) string.
+
+All nmh utilities now understand RFC 2231-encoded MIME parameters and
+will automatically convert the encoded parameters into the native
+character set, when appropriate (again, assuming nmh was built with
+iconv support).
+
+In other changes, sequence files are now locked using transactional
+locks: locks that are held across sequence file reading, modification,
+and writing.  The locking algorithm used for spool files and nmh data
+files is now runtime configurable.
+
+For people that struggle with mh-format(5) files, a new utility for testing
+them has been developed: fmttest(1).  It includes the ability to trace the
+execution of format instructions.
+
+For users that wish to use Unix utilities on their mail, a new utility
+to transform MIME messages to more easily-digestable format is now
+available: mhfixmsg(1).  It supports a number of options to control
+the message transformation.
+
+For users of spost(8), the support for spost has been rolled into post(8)
+under a new sendmail/pipe MTS.  A shell script emulating the old behavior
+of spost has been provided.
+
+As always, feedback is welcome.
+
+--
+The nmh team
+nmh-workers@nongnu.org
+
+----------------------------------------------------------------------------
+
 #
 # NEWS - Release notes for nmh 1.5
 #