Changes from 0.51 => 0.52
-------------------------
[New] $fcc_attach (default: set) controls whether or not attachments are
included when fcc'ing messages

[New] alias-menu was modified so that you can tag aliases you want to
include, or untag those you wish to exclude.  This will allow you to see
which aliases you've already included.

- macros now work in any menu, and the previous restriction of a single
  key has been removed (for example, you can can now do:
  	macro main-menu \et Tthread^M
  to create a pseudo-function tag-thread and bind it to "ESC t"

- messages containing control chars are now always Q-P encoded

- internal-pager was missing the redraw-screen function

- simple searches did not work

- default save filenames were not converted to lowercase

- mutt_save_hook() did not search for mailing lists to use as a default
  filename

- mutt will now complain if you try to create an alias which already exists

- fixed infinite loop when using ``!'' in a limit/search pattern

- an error is printed if you try to change the sorting method from the ':'
  command prompt

- mutt_check_mailbox() modified to check the size of the mailbox as well as
  the modification time.  It was possible for two instances of Mutt to trick
  eachother into thinking the mailbox had not been modified using the
  sync-mailbox function (thanks to Martin Michlmayr for pointing this out!)

- you can now specify regexps for folder names in the folder-hook command

- fixed segfault in string history where Mutt could segfault if you tried to
  recall a previous/next entry when the history is empty.

- bounce-message now invokes sendmail in the background like a normal send

- tag character changed from "X" to "*"

- fixed truncation problem when using the alias-menu to select addresses

- mutt now runs setgid mail only when necessary (i.e., to lock the
  spool mailbox)

- fixed segfault if "my_hdr" was used to create a header field with a NULL
  value (e.g., "my_hdr X-Empty-Header: ")

- when entering the send-menu, a help message is displayed about using the
  TAB key to list aliases

- OSF/1 needed to include <sys/ioctl.h> in resize.c

From: rhh@ct.picker.com (Randall Hopper)
- fixed bug in makefile where the man page would get installed as
  $(mandir)/man1 if $(mandir)/man1 doesn't exit prior to "make install"

From: jc@irbs.com (John Capo)
- need to prompt for PGP passphrase before signing an outgoing message

Changes from 0.52 => 0.53
-------------------------
[New] it is now possible to use the ignore/unignore commands to selectively
display the headers you want.  For example:
	ignore *
	unignore from date to cc subject x-url x-mailer
will show you only the headers listed on the "unignore" command

[New] previous-new and previous-unread functions

[New] $resolve (default: set) to control whether or not the cursor is
advanced to the next message after an action is performed on a message

- removed date check when finding references in find_reference().  RFC1036
  states that the last ID given in the References: field will be the most
  recent.

- simple search patterns are now accepted for the limit/*-pattern functions

- messages labeled application/[x-]pgp will be displayed as text if the
  "-----BEGIN PGP ...." string is not found (used to determine whether or
  not the passphrase is required)

- the current message is now determined in the same manner for the
  sync-mailbox function as for normally opening a mailbox instead of just
  positioning on the first message.

- Mutt did not understand that "application/pgp; x-action=signclear" is
  really a PGP signed message and not an encrypted message

- added some missing functions to internal-pager

- external pager is now used (if defined) for help-menu, and for displaying
  attachments from the attach-menu

- it is now possible to abort the "quit" function by pressing ^G at either
  the "Move read messages?" or "Keep deleted messages?" prompts.

- mutt will now abort the Quit function when new mail arrives while
  synchronizing the current mailbox

From: svm@kozmix.ow.nl (Sander van Malssen)
- added "home" and "end" to the list of bindable keys [05.keys.PATCH]

From: rhh@ct.picker.com (Randall Hopper)
- configure should remove a trailing period (.) from the domain name extracted
  from /etc/resolv.conf [03.domain.PATCH]

From: leitner@math.fu-berlin.de (Felix von Leitner)
- added casts to make lcc stop complaining about char/unsigned char conversions
  [02.ansi.PATCH]
- fixed buffer overrun when parsing long Content-Type header fields

From: stevek@stevek.com (Steve Kann)
- fixes to allow the use of ^ as an escape char in macros to get control
  chars
- fixed coredump in help menus when macros are used

From: Christophe Kalt <kalt@stealth.net>
- added new data type DT_ESTR for "expand-string" so that pathnames get
  expanded immediately [08.expandvars.PATCH]

From: Francois.Berjon@aar.alcatel-alsthom.fr
- fixed infinite loop when using the "thread" keyword in the pattern functions
  [06.threads.PATCH]

From: oota toshiya <oota@pes.com1.fc.nec.co.jp>
- better handling of timezones

From: Ollivier.Robert@eurocontrol.fr
- added support for the CET and CEST timezones [07.cest.PATCH]

From: Martin Michlmayr <tbm@sypher.com>
- fixed "Resent-Date: Date:" problem when bouncing messages.

Changes from 0.53 => 0.54
-------------------------
[New] pipe-entry function in attach-menu

[New] $pager_context variable controls the number of lines of context in
internal-pager when doing a next-page previous-page operation (default: 0)

[New] enter-command now available in send-attach-menu

[New] added a brief tutorial to the manual

[New] From: kalt@stealth.net (Christophe Kalt)
mbox-hook command to support pseudo spool mailboxes

- \ now works as an escape char in bind/macro commands.  To bind a function
  to "\ r" use "bind \\r reply internal-pager" to avoid expanding the \r to
  carraige-return

- pipe-message now calls endwin()

- "unignore *" now removes all previous entries from the ignore list

- New routine mutt_read_rfc822_line() to read an arbitrarily long header
  field, including wrapped lines.  This is used in the rfc822 header parser
  and the MIME multipart parser

- "unset <string_var>" is now a synonym for "set <string_var>=''"

- simple searches no longer work with the limit/*-pattern commands.  This
  was needed to avoid problems with the keywords that are used in addition
  to the ~ commands (like "all" and "thread")

- read_rfc822_header() now checks for a valid content-length headers before
  honoring it by fseek()ing and looking for "From "

- mutt_check_mailbox() needed to setgid to group mail before locking the
  mailbox

- index was not properly updated if new mail arrived and caused the
  change-folder command to abort

- send-attach-menu was missing previous-page and next-page functions

- export version number is now "<version>e" instead of "-export" (e.g.,
  "Mutt 0.54e")

- random sig code removed in favor of ability to read from an external
  program instead of a file by appending ``|'' to a pathname:
  	set signature=~/bin/randomsig|

- the ~user contruct is now expanded properly

- fixed bug in strtokq()

- user vars are now expanded right before they are used instead of at the
  time they are set

- fixed bug where it was not possible to unlimit if you deleted all messages
  that are visible and then sync the mailbox

- my_hdr will now override the previous value of a header field instead of
  adding a second field for all headers

- RFC1522 encoding of user defined headers is now delayed until the call to
  mutt_send_message()

- when saving tagged messages, mutt will use the first tagged message as the
  basis for the default folder name

From: svm@kozmix.ow.nl (Sander van Malssen)
[02.keys]
- parsekey() incorrectly incremeted the key string for the "End" key
- added missing descriptions for Home and End keys in help.c

From: stevek@stevek.com (Steve K)
[05.bind]
- fixed botch in expand_sequence [bind.c]

From: Oezguer Kesim <kesim@math.fu-berlin.de>
[12.tagged]
- index was not redrawn when doing a TAG-save/copy

From: Felix von Leitner <leitner@math.fu-berlin.de>
- fixed bug in configure.in where the value of mutt_cv_setgid got picked up
  from the cache and wasn't reset when using the --with-homespool option

From: Martin Michlmayr <tbm@sypher.com>
[09.attach]
- fixed segfault if the file given in a "-a" command line arg does not exist

From: Brandon Long <blong@uiuc.edu>
- finally found the file descriptor leak!  missing fclose() in
  mutt_get_content_info() [19.fdleak]
- fixed bug in `` evaluation

From: Paul Dubois <dubois@primate.wisc.edu>
- fixed bug in test for ncurses in configure.in [03.configure]

- fixed check for return from SETGID [06.setgid]

From: Chris Green <chris@kbss.bt.co.uk>
- added missing \r to command to delete a message from the POP server [20.pop]

Changes from 0.54 => 0.55
-------------------------
[New] Mutt can now use GNU regex if your system does not have
regcomp/regexec.  Simply compile the regex package and copy regex.o and
regex.h to the mutt source dir, and run configure with the --use-gnu-regex
argument.

- fixed bug with $pager_context in internal-pager on next-pager operation
  [13.pagercontext]

- fixed another fd leak in confirm_func()

- save-hook's now work for outgoing messages if $savename is set

- = and ~ are no longer expanded in the status display for %f

- fixed call to non-existent function mutt_fastclose() [03.fileio]

- fixed infinite loop in the "my_hdr" command [06.init]

- fixed some unexpanded variables
  [08.dirlist] [09.complete] [12.folderrecog]

- POP3 support did not wait for the server's response the the "quit"
  command, which caused messages not to be deleted with at least one server

- read_rfc822_header() and mutt_copy_header() now try to detect when there
  is a missing newline between the message header and body

- removed MMDF support since it didn't work anyway

- endwin() should be called before extracting urls if parsing a PGP message

- pressing ^G in the $askreplyto prompt will now properly abort the whole
  message

- added missing endwin() to mutt_do_pager() when invoking an external pager

- fixed bug in file completion where the string "~" was not properly
  expanded ("~/" worked fine, though)

From: leitner@math.fu-berlin.de
- fixed bug with saving tagged messages [10.prefix]

From: rhh@ct.picker.com (Randall Hopper)
- added quotes around system() call to invoke $web_browser to avoid parts of
  the url being interpreted by the shell [05.url]
- \Cx was not accepted as a control char [02.control]
- read_rfc822_header() now checks to make sure the content-length isn't
  longer than the mailbox file [04.parse]

From: Ollivier.Robert@eurocontrol.fr
- fixed segfault when sending in batch mode [11.batchmode]

From: Liviu Daia <daia@stoilow.imar.ro>
- $postponed was not expanded before trying to open the mailbox
  [15.postponed]
- fixed bug with extracting multiple urls from a message

From: Thomas Quinot <operator@cuivre.fdb.fr>
- fixed bad check for NULL pointer in mutt_simple_address()

From: matthew@olaf.udc.neweast.ca (Matthew Newhook)
- added missing break;s in CHECK_MSGCOUNT macro in curs_main.c

From: David O'Brien <obrien@nuxi.com>
- added /usr/sbin to the list of places to look for sendmail

From: marco@server.Berkeley.EDU (Marco E. Nicosia)
- added a dash in front of the if statements in Makefile.in to avoid
  crapping out on versions of make which stop when tests return 0

From: Dave Pearson <davep@hagbard.demon.co.uk>
- fixed error in the manual wrt $askmove.

Changes from 0.55 => 0.56
-------------------------
- [Security] Fixed bug when mutt is compiled with +USE_SETGID where a normal
  user can read anyone's mailbox when the mailbox is specified on the
  command line (this hole does not exist when using the change-folder
  function once inside Mutt, tho).

- [New] new function search-body (default: "S") to search for a regexp in
  message bodies.  Note: This currently does NOT do any MIME decoding

- really fixed the my_hdr infinite loop this time. . .

- generic menu driver now honors $arrow_cursor

- fixed bug where mutt would exit saying "externally modified mailbox" if
  you just touched the mailbox (i.e., no change in the size of the mailbox)

- lines in the body of a message was displayed as 0 if the last message in
  the mailbox has a Content-Length field but no Lines field

- modified rfc822 address parsing code to not strip quotes from comment
  fields

- doing a tag-group-reply (";g") now includes addresses from all messages in
  the default To and Cc fields for the new message (duplicates are
  automatically removed)

- better handling of invalid addresses in muttrc statements (alias,
  alternates)

- fixed problem with displaying 8-bit chars in ci_enter_string()

- Hacked q_encode_string() to skip re: and fwd: at the beginning of a string

- fixed display problem when using the folder-menu from the save-message
  prompt

- "mutt -v" now shows (+/-)HAVE_GNU_REGEX

From: Liviu Daia <daia@stoilow.imar.ro>
- fixed many references in the html version of the manual (thanks!)
- fixed the handling of $save_name
- ci_pipe_message() needed a wait() to allow for interactive programs to
  finish
- fixed segfault when re-postponing a reply to a message
- fixed display problem when flagging the only message in a mailbox
- fixed bug where MIME attachments would not be restored when recalling a
  message via the "-p" command line option.
- ispell should be called with the "-x" command line option
- change-folder now remembers the last directory visited when using the "?"
  menu

From: Christophe Kalt <kalt@stealth.net>
- mbox-hook's were not expanded before matching
- added error messages to go along with the beeps in the internal-pager to
  make it a little more user friendly

From: Brandon Long <blong@uiuc.edu>
- history pointer was not returned to the end of the list which caused it to
  be difficult to access the last item easily after moving around in the
  list.

Changes from 0.56 => 0.57
-------------------------
[New] --disable-from arg to configure to suppress generation of the From:
      header field

From: Brandon Long <blong@uiuc.edu>
[New] edit-type (default: ^T) function in send-attach-menu to manually edit
      the content-type
[New] edit-encoding (default: ^E) function in send-attach-menu to manually edit
      the content-transfer-encoding

[New] set-flag (default: w) and clear-flag (default: W) functions in
main-menu to set/clear status flags on messages.  This works with tagged
messages and for single messages honors $resolve

- application/pgp-signed is now recognized as a PGP signed message

- fix to RFC822 code to not quote parens inside of a comment

- added some clarification about the --with-curses=DIR option to the manual

- fixed coredump in envelope_defaults() when doing a tag-reply and no
  tagged messages are visible

- mutt_copy_header() now checks for a missing newline between header and
  body and compensates for it the same way mutt_read_rfc822_line() does.

- mutt_parse_adrlist() now removes trailing whitespace and commas to avoid
  errors from rfc822_parse_adrlist()

- personal names are again dequoted in the main-menu display

- the last search-body string is now remembered for quick access

- mark-as-new now works as a toggle

- reorganized some code in ci_main() so that some of the functions can be
  called directly from the internal-pager without causing it to exit the
  pager automatically

- internal-pager has a new look in order to better handle error messages.
  It now looks consistent with other "menus".

- fixed possible segfault in alias_reverse_lookup() when using RFC822 group
  mailbox format

- fixed segfault when sourcing a nonexistent rc file

- the string printed by %S in $pager_format now only prints a single char
  instead of a full word in order to conserve space

- "changed" flag was not cleared in HEADER structure when synchronizing the
  mailbox

- folder-menu had a hard-coded limit of 255 entries.  More space is now
  allocated dynamically.

- folder-menu now uses qsort() to sort the entries

- configure now checks for strcasecmp and strncasecmp and provides the
  bonehead implementation when missing from the standard C library
  (like UnixWare)

- folder-menu is now accessable from the send-attach-menu when the
  add-attachment function is invoked

From: Liviu Daia <daia@stoilow.imar.ro>
- added missing mutt_expand_path() call before stat'ing $postponed in
  ci_send_message()
- fixed bug in menuLoop() [menu.c] with handling of REDRAW_CURRENT
- more nit picks in the manual.  :-)
- fixed the alternates command to allow for comma, tab and space separated
  arguments without getting an error from mutt_parse_adrlist()
- you can now print tagged messages with ";p"
- screen was not redrawn when doing middle-of-page in the generic menu driver

From: David DeSimone <fox@mailhost.rsn.hp.com>
- removed whitespace in front of #include directives in configure.in to
  avoid problems with HP's compiler
- fixed problem with setting the proper mail gid under HP-UX

From: Brandon Long <blong@uiuc.edu>
- added missing / before Keymap in the keymap_defs.h target
- AIX lacks a proto for setegid (added to muttlib.h)

From: Christophe Kalt <kalt@stealth.net>
- fixed handling of tochars where it would return "+" instead of "T" if you
  were the last recipient in the list

From: johnmay@pesto.llnl.gov (John May)
- needed call to SETEGID() before locking the mailbox in mutt_fetchPopMail()
  when USE_SETGID is defined

Changes from 0.57 => 0.58
-------------------------

[NEW] $strict_threads (default: unset) to cause Mutt to skip the
"pseudo-threading" by message subject and only use the References: and
In-Reply-To: fields.

From: Brandon Long <blong@uiuc.edu>
[NEW] builtin support for displaying MIME attachments using a mailcap

[NEW] $use_mailcap (default: no) variable to tell Mutt how to handle top
level non-text types.  If set to "yes", it will automatically try to display
the message using a mailcap entry.  If "ask", you will be prompted as to
whether or not you want to use a mailcap entry or display it the best that
Mutt can.

[NEW] $forw_format (default: "[%a: %s]") variable to control the default
subject given when forwarding a message.  This uses the same %-sequences as
$hdr_format

[CHANGE] $domain now refers to the FQDN.  This variable now directly
controls how Mutt writes local addresses.

- added a mechanism for searching in the generic menu driver via callbacks.
  Right now both the folder-menu and alias-menu are searchable using regexps
  (default: "/")

- internal-pager now displays "(all)" when the entire message is shown.  It
  no longer says "(top)" because it is more useful to see what percentage is
  displayed.

- added RE_TYPE() macro for declaration of regexp vars (suggested by
  Brandon Long)

- updated copyright notice to reflect the new year

- fixed coredump on "set history=0"

- fixed bug where mutt would report "no postponed messages" if you enter the
  postpone-menu and then exit without selecting a message

- fixed bug where the number of postponed messages was not updated in the
  status line display of the main-menu

- rewrote the internal-pager yet again (I think we're up to v6 now...).  The
  code is now *much* simpler, and long lines are now handled correctly even
  when doing next-line and previous-line ops (also honors $status_on_top)

- changed configure.in so that if it can't determine the local domain name, it
  will assume --disable-domain to avoid addressing errors

- removed metamail support now that we can use a mailcap directly

- references are now stored in reverse order to decrease the amount of
  searching needed to sort by threads.  this also required modified the
  write_rfc822_header() to write the list out backward in order to preserve
  the correct order of the References: field

- the function tables are no longer generated from the Keymap structure.
  Instead they are declared in functions.h.  The file "OPS" now contains the
  list of functions and help strings from which keymap_defs.h is generated.

- most of the default keybindings removed from keymap_init() and stored in
  the function table for easier handling

- save-hook's can now be regular expressions

- optimized mutt_checkpoint_mailbox() to not update memory if we're closing
  the mailbox anyway

- the temporary file used for synchronizing the mailbox will now be stored
  in the directory named by $tmpdir.  If using NFS, this can be set to a
  local directory and should significantly decrease the amount of time it
  takes to synchronize large mailboxes.

- added ->date_sent field to the HEADER struct to avoid having to compute
  the gmtime repeatedly when sorting by date-sent

- folder-menu now remembers the last directory visited itself to avoid
  problems with changing the last folder visited by saving messages

- the "From " line is no longer ignore by default.  Use "From_" to match
  that line and "From:" to match the real from line

- moved the installation part of the manual to doc/INSTALL as a plain text
  file.

- separated the "home page" info from the manual so that the it is now a
  "user's guide"

From: Thanh Ma <tma@encore.com>
- strcasecmp.c needs to include <sys/types.h>

From: Liviu Daia <daia@stoilow.imar.ro>
- fixed problem where the whole message would be hilited in the "header" color
  if the message contained an empty header
- fixed problem with handling of REDRAW_CURRENT in menu.c
- fixed bug in last-entry function in the generic menu driver where the current
  entry didn't always end up on the screen
- "make_from" patch to display the personal name (if it exists) of the TO:
  recipient when displaying a message that originated from the user
- fixed bug where $force_name didn't work if $save_name was not set
- fixed redraw bug when using the folder-menu from the save-message function
- save-hook regexps should be case insensitive
- print-message needs to call endwin() when printing PGP messages

From: Christophe Kalt <kalt@stealth.net>
- modified the find_reference() routine to increase efficiency of threading

From: Janos Farkas <chexum@shadow.banki.hu>
- config.h.in is now generated using "autoheader" and acconfig.h
- check of +HOMESPOOL moved after check for $MAIL to allow runtime override
  of where to read spool mail from
- $tmpdir will default from $TMPDIR (if set)

