]> diplodocus.org Git - nmh/blobdiff - docs/pending-release-notes
Simplified m_strn() per Ralph's suggestions.
[nmh] / docs / pending-release-notes
index 419569bc967703670b3442df8e8efdb6c4672d23..350710a4aac0415ca289074e9895ee93b49e0b5a 100644 (file)
@@ -4,171 +4,115 @@ 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).
-- 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.
+- 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 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.
+- 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.
+- All TLS connections now perform certificate validation (including hostname
+  matching) by default; can be disabled on a per-application basis.
+- 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.
+- Better error reporting for connections to network services
 
 -----------------
 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
+
+- 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.
-- 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 in alias files for expanding aliases based on group membership
+  (=) and primary group (+) 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.
+
+- 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.
-- 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.
+- 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.
+- 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.