This file lists incompatible changes and additional/new features made to
mutt. Please read this file carefully when upgrading your installation.

The description of changes are intentionally brief.  For a more detailed
explanation of features, please refer to the manual at
http://www.mutt.org/doc/manual/ and the release notes at
http://www.mutt.org/relnotes/

The keys used are:
  !: modified feature, -: deleted feature, +: new feature

2.4.1 (2026-07-04):

  ! Bug fix release.
  ! Mutt no longer calls ncurses meta(3).  This fixes Alt keybindings
    in the foot terminal emulator.  Removing this restores default
    behavior back to the teriminal configuration, where it should be.
  ! Fixes for OpenSSL 4.0 compilation.

2.4.0 (2026-06-19):

  ! Maildir folders are now only recognized if they contain cur, new, and tmp
    subfolders.  Previously mutt only checked for the cur subfolder when
    opening.
  ! --without-wc-funcs configure option is deprecated.
  + New functions <open-thread>, <open-all-threads>, <close-thread>,
    <close-all-threads> were added to explicitly open/close a thread, in
    addition to the thread toggle functions.
  + $tmpdraftdir, defaulting /var/tmp, sets the directory where message
    composition drafts are saved.
  ! --textmode is no longer required for pgp classic mode signing, although
    mutt still keeps the flags in the sample config files.
  ! ~C and ~L patterns match Bcc recipient lists too.
  ! When querying for addresses, via <query> or <complete-query>,
    the query menu can be exiting via <quit> after tagging entries.
    Previously, <select-entry> had to be used for tagged entries to be
    processed.
  ! Classic S/MIME now generates application/pkcs7-mime and
    application/pkcs7-signature types instead of the deprecated
    x-pkcs7-mime and x-pkcs7-signature types.
  ! Saving attachments will sanitize filenames by substituting '_' for '/'.
  ! Regular expression handling when searching in the pager has been
    improved slightly.  (REG_NEWLINE mode has been turned off, and
    newlines are excluded from searches).  This means searches such
    as /^$ now work properly.
  ! When compiled with OpenSSL, Mutt follows RFC6125, and does not match
    against CN entries in the certificate if there are any DNS entries.

2.3.3 (2026-06-12):

  ! Bug fix release.

2.3.2 (2026-04-26):

  ! Bug fix release.

2.3.1 (2026-03-20):

  ! Bug fix release.

2.3.0 (2026-01-25):

  + $socket_receive_timeout and $socket_send_timeout cause mutt to
    timeout on a network read/write operation, respectively.  These
    could be useful if you have an unreliable connection and
    frequently find mutt gets stuck in a read.
  ! The folder browser now differentiates browsing for a file versus a
    mailbox.  For IMAP users, this means when attaching a file to an
    email, mutt will browse your local computer by default.
  ! <edit-label> no longer untags messages.  This is consistent with
    other operations inside of mutt.
  + $imap_reconnect_tries and $imap_reconnect_sleep control the number
    of times mutt will try to reconnect when a connection is lost, and
    how long to sleep between each retry.

2.2.16 (2025-11-22):

  ! Bug fix release.

2.2.15 (2025-10-02):

  ! Bug fix release.

2.2.14 (2025-02-20):

  ! Bug fix release.
  + $smime_pkcs7_default_smime_type controls whether a S/MIME pkcs7
    message missing the "smime-type" parameter is assumed to be
    "signed" or "encrypted" data.  Various versions of Outlook appear
    to send one or the other.

2.2.13 (2024-03-09):

  ! Bug fix release.

2.2.12 (2023-09-09):

  ! Bug fix release.

2.2.11 (2023-08-18):

  ! Bug fix release.

2.2.10 (2023-03-25):

  ! Bug fix release.
  ! $message_id_format %r and %z expandos use a URL-safe Base64 encoding:
    '-' and '_' instead of '+' and '/'.

2.2.9 (2022-11-12):

  ! Bug fix release.

2.2.8 (2022-11-05):

  ! Bug fix release.
  ! Ncurses now uses ioctl for window size calculation.  Previously, Mutt
    and ncurses differed on this, which could result in screen corruption
    in some cases.
  ! The index now handles resizes without recalculating the top line,
    as other menus in Mutt do.  This should reduce the "jumbling around"
    visual effect during resizes.
  + IMAP Fcc is now supported in batch mode.
  ! In batch mode with $fcc_before_send set, Mutt will abort sending if
    one or more of the Fcc's fails.

2.2.7 (2022-08-07):

  ! Bug fix release.
  ! $query_command output is more strictly parsed, with one tab expected
    between fields.  This allows the name field to be empty.
  ! $pager may contain a %s to specify the argument placement.

2.2.6 (2022-06-05):

  ! Bug fix release.

2.2.5 (2022-05-16):

  ! Bug fix release.

2.2.4 (2022-04-30):

  ! Path variables (DT_PATH) are normalized to remove a trailing '/'.
  ! If $header_cache is used as a directory, the directory must already exist or
    else it will be interpreted as a file.

2.2.3 (2022-04-12):

  ! Bug fix release.

2.2.2 (2022-03-25):

  ! Bug fix release.

2.2.1 (2022-02-19):

  ! Bug fix release.

2.2.0 (2021-02-12):

  + $pager_skip_quoted_context determines the number of lines to show
    before unquoted text when using <skip-quoted> in the pager.
  ! Quadoption prompts and a few boolean prompts now have a '?' choice,
    which will display the associated configuration variable.
  ! <enter>, <return>, and <keypadenter> can be bound to separate
    functions/macros.
  + $sort_thread_groups can be used to sort top-level thread groups differently
    than subthreads.
  ! contrib/smime.rc now uses the cms utility for SMIME encryption/decryption.
  + $compose_confirm_detach_first helps prevent accidentally deleting your
    typed message in the compose menu.
  + The $attach_save_charset_convert quadoption prompts to allow charset
    conversion of received text-type attachments when saving them to disk.
  + --with-gsasl allows configuration with the GNU SASL library, as an
    alternative to Cyrus.
  ! $reply_regexp is now localizable by translators, to add other
    non-standard prefixes used in the locale.  "aw" was removed from the
    default value.
  ! $rfc2047_parameters is enabled by default.

2.1.5 (2021-12-30):

  ! Bug fix release.

2.1.4 (2021-12-11):

  ! Bug fix release.

2.1.3 (2021-09-10):

  ! Bug fix release.

2.1.2 (2021-08-24):

  ! Bug fix release.

2.1.1 (2021-07-12):

  ! Bug fix release.

2.1.0 (2021-06-12):

  ! The -d option allows a negative number. If negative, debug files are
    not rotated. The debug level is the absolute value.
  + <view-pager> in the attachment menu uses a copiousoutput mailcap
    entry, or falls back to raw text.
  + <view-mailcap>, <view-pager>, and <view-text> functions added to the
    compose menu.
  + <view-alt-pager> in the compose menu allows previewing the output
    of the $send_multipart_alternative_filter the way <view-pager> does.
  + <list-action>, bound to Esc-L in the index and pager menu, brings
    up a menu of operations to perform on mailing list emails, such as
    subscribe/unsubscribe.
  + <skip-headers>, bound to 'H' in the pager, will skip to the first
    blank line following the headers.
  ! ~h patterns over IMAP and POP3 will only download the headers of the
    message.  However with message caching enabled (via $message_cachedir)
    the whole message will still be downloaded.
  + $ssl_verify_host_override allows manually specifying the host name
    to verify a server certificate against.
  ! --enable-hcache, with no particular backend enabled, will scan in
    the order: kyotocabinet, tokyocabinet, lmdb, qdbm, gdbm, bdb.
  ! $allow_ansi understands 256-color ANSI escape sequences.
  + $message_id_format can be used to specify a custom message-id
    format.  Since it's a format string, this can also use a filter.
    Please use this option with care, as Mutt won't check if your
    message-id is legal.
  ! mailboxes -nonotify will poll a mailbox for new mail, but will not
    trigger new mail notifications (e.g. $beep_new or $new_mail_command).
  ! $reverse_name affects tagged reply/forward/compose-to-sender
    actions too.
  ! ANSI sequences are filtered for inline-forwarded autoview content,
    in addition to replies.
  ! $forward_decrypt is now a quadoption, defaulting 'yes' for backward
    compatibility.
  ! Pattern functions, (e.g. search and limit) can be interrupted with
    ctrl-c.
  ! The default mailto_allow list now includes cc, in-reply-to, and
    references.
  + $sort_browser_mailboxes controls mailbox browsing, and defaults
    "unsorted".  $sort_browser now only controls directory browsing.
  ! $sort_browser and $sort_browser_mailboxes "unsorted" now means the
    order added (e.g. specified in the muttrc).  Switching back to
    "unsorted" will now resort in that order (previously it was a no-op.)
  ! In the browser ".." is excluded from sorting and kept at the top.
  ! Temp filenames generated for mailcap invocation now allow non-ascii
    characters.
  + $local_date_header, when unset, causes the date in the Date header
    to be formatted using the GMT timezone.

2.0.7 (2021-05-04):

  ! Bug fix release.

2.0.6 (2021-03-06):

  ! Bug fix release.

2.0.5 (2021-01-21):

  ! Bug fix release.

2.0.4 (2020-12-30):

  ! Bug fix release.

2.0.3 (2020-12-04):

  ! Bug fix release.
  ! Some bugs with exact-address handling were fixed.  The "personal"
    field was not properly updated in some case.  The fix may result in
    behavior changes for those who have enabled this mode; most notably in
    alias creation, the query menu, $from + $realname setting, and
    unset $reverse_realname handling.

2.0.2 (2020-11-20):

  ! Bug fix release.

2.0.1 (2020-11-14):

  ! Bug fix release.

2.0.0 (2020-11-07):

  + Domain-literal support for email addresses, e.g user@[IPv6:fcXX:...]
  ! Buffy completion only occurs for the "change-folder" set of functions.
    It has been disabled for <attach-message>, <write-fcc>, the fcc
    mailbox prompt, and the autocrypt scan mailbox prompt.
  ! The "save/copy message to mailbox" set of functions use the "mailbox"
    history list, instead of the "filename" list.
  ! Message-ID extraction permits values missing angle brackets and '@'
    to allow properly threading the garbage sent by some providers.
    Mutt will add missing angle brackets when sending out replies, however.
  ! When adding multiple attachments, via <attach-file> in the compose menu,
    the browser menu can be exiting via <quit> after tagging the files.
    Previously, <select-entry> had to be used.
  ! ctrl-p/ctrl-n are by default bound to <history-up>/<history-down> in the
    editor menu.
  + The "cd" command allows changing the current working directory.
    As part of this, Mutt expands relative paths internally.  There
    may be a change to some "prettified" relative paths because of this.
  ! Some configuration variable default values are localizable by
    translators.  Currently these are: $attribution, $compose_format,
    $forward_attribution_intro, $forward_attribution_trailer, $status_format,
    $ts_icon_format, $ts_status_format.
  + Mutt will try to automatically reconnect to an IMAP mailbox on error,
    and will merge unsync'ed changes if possible.
  ! $crypt_protected_headers_subject defaults to "...", following the
    protected headers revised specification.
  ! Date, From, To, Cc, and Reply-To headers are stored as protected headers.
  + XOAUTH2 support.  Please see the manual, contrib script mutt_oauth2.py,
    and mutt_oauth.py.README for more details.
  + $tunnel_is_secure, default set, assumes a connection via $tunnel is
    encrypted.  Unsetting this will cause $ssl_starttls and $ssl_force_tls
    to be respected.
  + Patterns are completable in the editor menu.  Invoke the <complete> function
    (by default bound to Tab) after typing ~ to get a selectable list.
  ! $reply_to is consulted before $reply_self.
  + $copy_decode_weed, default unset, controls header weeding for <decode-copy>
    and <decode-save>.
  + $pipe_decode_weed, default set, enables header weeding for <pipe-message>.
  + $print_decode_weed, default set, enables header weeding for <print-message>.
  ! format=flowed attachments are space-unstuffed when viewed, saved,
    piped, and printed.
  + The "run" command will execute MuttLisp. $muttlisp_inline_eval, if set, will
    execute unquoted parenthesized command arguments as MuttLisp.  Please see
    the manual for more details about both.
  + $cursor_overlay, when set, will overlay the indicator, tree,
    sidebar_highlight, and sidebar_indicator colors onto the current line.
    "default" colors will be overridden and attributes will be merged.
  ! The message-id generation algorithm uses a random number instead of
    the step counter and PID.
  ! $ssl_force_tls defaults set.  (Trying this again for 2.0).
  ! $hostname is set *after* muttrc processing.  It can be manually set
    in the muttrc to avoid using DNS calls to obtain the FQDN.
  + $attach_save_dir specifies a directory to use when saving attachments.

1.14.7 (2020-08-29):

  ! Bug fix release.

1.14.6 (2020-07-11):

  ! Bug fix release.

1.14.5 (2020-06-23):

  ! Bug fix release.
  - $ssl_starttls no longer controls aborting an unencrypted IMAP PREAUTH
    connection.  Only $ssl_force_tls does this.  Mutt highly recommends
    setting $ssl_force_tls if you rely on STARTTLS.
  ! Using a $tunnel is considered secure, and will not consult
    $ssl_force_tls for an unencrypted IMAP PREAUTH connection.

1.14.4 (2020-06-18):

  ! Bug fix release.

1.14.3 (2020-06-14):

  ! Bug fix release.
  ! $ssl_starttls and $ssl_force_tls also control aborting an unencrypted
    IMAP PREAUTH connection.

1.14.2 (2020-05-25):

  ! Bug fix release.

1.14.1 (2020-05-16):

  ! Bug fix release.

1.14.0 (2020-05-02):

  + $imap_deflate enables support for COMPRESS=DEFLATE compression.
    Defaults unset, but please give it a try and report any issues.
  ! Date pattern modifiers accept YYYYMMDD format dates.
  + $crypt_opportunistic_encrypt_strong_keys modifies
    $crypt_opportunistic_encrypt to only look at strong (fully-valid) keys.
  ! Pattern modifiers ~b, ~B, and ~h are allowed in send2-hook patterns.
  + New compose menu functions <move-up> and <move-down> to rearrange
    the order parts.
  + Background editing support.  Compose and browse your mailbox at the same
    time, or have multiple compose sessions ongoing!
    New config vars $background_edit, $background_confirm_quit, and
    $background_format.  New function <background-compose-menu> in the
    index and pager menu.  New %B expando added to the default for
    $status_format.  Please see the manual and release notes for details.
  + $fcc_delimiter, when set, allows Fcc'ing to multiple mailboxes via
    $record or fcc-hook.
  + Index and pager menu functions <sidebar-first> and <sidebar-last>.
  ! "mailboxes -label" allows displaying a label in the sidebar or
    mailbox browser instead of the mailbox path.  "-nolabel" removes
    an existing label.
  ! "mailboxes -nopoll" turn off new mail polling for the mailbox.
    "-poll" restores polling for an existing mailbox.
  ! "root" disposition added to the "attachments" command.  Please see
    the manual for the details of how it works.
  ! Decryption failures will no longer abort the displaying the pager.
  ! With "exact address" enabled, mailboxes that contain non-ascii
    characters, or sequences that require RFC 2047 encoding, will be
    written in normalized "Name <user@host>" form when sending emails,
    so that they can be properly RFC 2047 and IDNA encoded.

1.13.5 (2020-03-28):

  ! Bug fix release.

1.13.4 (2020-02-15):

  ! Bug fix release.
  ! $ssl_force_tls reverted to default unset.  Defaulting this set was
    overly optimistic, and caused breakage.

1.13.3 (2020-01-12):

  ! Bug fix release.

1.13.2 (2019-12-18):

  ! Bug fix release.

1.13.1 (2019-12-14):

  ! Bug fix release.
  + $sidebar_relative_shortpath_indent, default unset, enables the
    indentation and shortpath behavior introduced in 1.13.0.
  + $sidebar_use_mailbox_shortcuts, default unset, displays standard
    mailbox shortcuts, '~' and '=' in the sidebar.  When unset, the
    sidebar will remove a $folder prefix but won't display mailbox
    shortcuts.

1.13.0 (2019-11-30):

  ! <half-up> and <half-down> in the pager are now symmetric.
  ! $ssl_force_tls is now set by default.
  ! Configure option --with-regex is renamed to --with-bundled-regex.
    Most modern OS should be fine using their own regex library.  The
    rename is to clarify the intention of the option.
  ! Configure option --disable-doc now only disables the manual generation.
    Other parts of the doc directory (man pages, Muttrc file) are generated.
  ! $user_agent is now unset by default.
  ! unattachments now has a '*' parameter to remove all attachment counting.
  + Autocrypt support.  Enabled via configure option --enable-autocrypt.
    Please see the manual for details on how to enable and use this properly.
  + Byte size displays can be customized via new variables $size_show_bytes,
    $size_show_mb, $size_show_fractions, $size_units_on_left.
  + $ssl_use_tlsv1_3, default set, allows TLS1.3 connections if supported
    by the server.
  ! format=flowed space stuffing works again, and is performed after every
    edit, not just the first time.
  + $browser_sticky_cursor, default set, attempts to keep the cursor on the
    same mailbox when performing operations in the browser.
  ! <display-filename> in the browser menu shows the full path for local and
    IMAP mailboxes.
  ! $sidebar_folder_indent and $sidebar_short_path are now based on previous
    entries in the sidebar, allowing them to work on mailboxes outside $folder.
  ! Sidebar entries are now prefixed with mailbox shortcuts '~' and '='.  This
    uses the same code as other parts of mutt, for more consistent display.
  + <browse-mailboxes> allows direct access to the mailboxes list from the
    index and pager, without having to use a macro.  This improves
    $browser_sticky_cursor initial selection of the current mailbox.
  ! <pipe-message> with $pipe_decode set will update MIME headers to decoded
    text/plain values.
  + $send_multipart_alternative and $send_multipart_alternative_filter allow
    the generation of a multipart/alternative when composing a message.  See
    their documentation in the manual for more details.  Also see
    contrib/markdown2html for a sample filter.
  + In the compose menu <view-alt>, <view-alt-text>, <view-alt-mailcap> allow
    previewing the output of the $send_multipart_alternative_filter.
  ! $write_bcc now defaults unset.  It no longer affects the Fcc copy, which
    will always include the Bcc header.
  + When $count_alternatives is set, Mutt will recurse inside
    multipart/alternatives while performing attachment searching and counting.
    This affects %X in the index and ~X pattern matching.

1.12.2 (2019-09-21):

  ! Bug fix release.

1.12.1 (2019-06-15):

  ! Bug fix release.
  + $fcc_before_send, when set, causes Fcc to occur before sending instead of
    afterwards.  When set, the message is saved as-sent; please see the
    documentation for details.

1.12.0 (2019-05-25)

  ! $ssl_use_tlsv1 and $ssl_use_tlsv1_1 now default to unset.
  + $auto_subscribe, when set, automatically adds an email with the List-Post
    header to the subscribe list.
  ! Fcc now occurs after sending a message.  If the fcc fails, mutt will prompt
    to try again, or to try another mailbox.
  + Basic protected header ("memory hole") support added for the Subject header.
    See the config vars: $crypt_protected_headers_read,
    $crypt_protected_headers_save, $crypt_protected_headers_subject,
    and $crypt_protected_headers_write.
  ! Color names can be prefixed with "light" in addition to "bright".  "bright"
    colors are bold face, while "light" are non-bold.
  ! Color commands can now include an attribute (e.g. bold, underline).
  ! $pgp_use_gpg_agent defaults set.
  + <descend-directory> in the browser menu allows entering nested maildir
    directories.
  + <group-chat-reply> replies to all, but preserves To recipients in the reply.
  + $include_encrypted, default unset, prevents separately encrypted contents
    from being included in a reply.  This helps to prevent a decryption oracle
    attack.
  ! With gpgme >= 1.11, recipient keys with a trailing '!' now force subkey use,
    as with classic gpg.
  ! In send mode, %{charset} mailcap expansion uses the current charset of the
    file.
  + $imap_fetch_chunk_size allows fetching new headers in groups of this size.
    This might help with timeouts during opening of huge mailboxes.
    If you have huge mailboxes, you should also try $imap_qresync.
  ! <toggle-write> can be invoked from the pager too.
  + The $forward_attachments quadoption allows including attachments in
    inline-forwards (i.e. $mime_forward unset, $forward_decode set.)

1.11.4 (2019-03-13):

  ! Bug fix release.

1.11.3 (2019-02-01):

  ! Bug fix release.

1.11.2 (2019-01-07):

  ! Bug fix release.

1.11.1 (2018-12-01):

  ! Bug fix release.
  ! IMAP retrieves the Sender header by default.  It doesn't need to be added
    to $imap_headers.

1.11.0 (2018-11-25):

  + inotify is used for local mailbox monitoring on Linux.  Configuration flag
    --disable-filemonitor turns this off.
  + OAUTHBEARER support for IMAP, SMTP and POP via
    $imap_oauth_refresh_command, $smtp_oauth_refresh_command, and
    $pop_oauth_refresh_command.
  ! $pgp_timeout and $smime_timeout support 32-bit numbers.
  + <check-stats> manually updates mailbox statistics, the same way
    $mail_check_stats does when set.
  ! Thread limited views, e.g. ~(pattern), now show new mail as it arrives.
  ! Command line argument -z and -Z options also work for IMAP mailboxes.
  + $imap_condstore and $imap_qresync enable IMAP CONDSTORE and QRESYNC
    support, respectively.  QRESYNC should provide much faster mailbox opening.
  ! $abort_noattach skips quoted lines (as defined by $quote_regexp and
    $smileys).
  ! Initial IMAP header downloading can be aborted with ctrl-c.
  + <compose-to-sender> composes a message to the sender of the selected
    message, in the index or attachment menu.
  ! Address book queries ($query_format) now support multibyte characters.
  + Finnish translation.
  ! pgpring has been renamed to mutt_pgpring.
  ! Certificate prompts show sha-256 instead of md5 fingerprints.
  ! Non-threaded $sort_aux "reverse-" settings now work properly.
  + The manual can be generated and installed in GNU Info format.
  + index-format-hook and the new %@name@ expando for $index_format enable
    dynamic index formats using pattern matching against the current message.
    This can be used, for example, to format dates based on the age of
    the message.
  ! Relative date matching allows hour, minute, and second units: HMS.

1.10.1 (2018-07-16):

  ! Bug fix release.
  + $pgp_check_gpg_decrypt_status_fd, when set (the default), checks
    GnuPG status fd output more thoroughly for spooofed encrypted
    messages.  Please see contrib/gpg.rc for suggested values.

1.10.0 (2018-05-19):

  ! $reply_self is now respected for group-reply, even with $metoo unset.
  ! Enabled $imap_poll_timeout when $imap_idle is set.
  ! Added %R (number of read messages) expando for $status_format.
  + When $change_folder_next is set, the <change-folder> function
    mailbox suggestion will start at the next folder in your
    "mailboxes" list, instead of starting at the first folder in the
    list.
  + $new_mail_command specifies a command to run after a new message is
    received.
  + $pgp_default_key specifies the default key-pair to use for PGP
    operations.  It will be used for both encryption and signing
    (unless $pgp_sign_as is set).  See contrib/gpg.rc.
  ! $smime_default_key now specifies the default key-pair to use for
    both encryption and signing S/MIME operations.  See
    contrib/smime.rc.
  + $smime_sign_as can be used to specify a sign-only key-pair for
    S/MIME operations.
  - $pgp_self_encrypt_as is now deprecated, and is an alias for
    $pgp_default_key.  $smime_self_encrypt_as is also deprecated, and
    is an alias for $smime_default_key.
  ! $pgp_self_encrypt and $smime_self_encrypt now default to set.
    This makes setting $pgp_default_key or $smime_default_key all that
    is required to enable self-encryption (for both classic and GPGME
    mode).
  + The <history-search> function (default: ^R) will search history based
    on the text currently typed in.  That is, type the search string first,
    then hit ^R.
  + The $abort_noattach quadoption controls whether to abort sending a
    message that matches $abort_noattach_regexp and has no attachments.
  + Mutt can now be configured --with-idn2.  This requires the libidn1
    compatibility layer present in libidn2 v2.0.0 or greater.
  + Unsetting $browser_abbreviate_mailboxes turns off '=' and '~'
    shortcuts for mailbox names in the browser mailbox list.
  ! $sort_browser now has 'count' and 'unread' options.
  + <error-history> will display the last $error_history count of
    error/informational messages generated.
  + The ~M pattern matches content-type headers.  Note that this
    pattern may be slow because it reads each message in.
  + The "echo" command can be used to display a message, for instance
    when running a macro or sourcing a file.

1.9.5 (2018-04-14):

  ! Bug fix release.

1.9.4 (2018-03-03):

  ! Bug fix release.

1.9.3 (2018-01-27):

  ! Bug fix release.

1.9.2 (2017-12-15):

  ! Bug fix release.

1.9.1 (2017-09-23):

  ! Bug fix release.

1.9.0 (2017-09-02):

  + $ssl_verify_partial_chains permits verifying partial certificate chains.
    This allows the storage of only intermediate/host certificates in the
    $certificate_file. (OpenSSL 1.0.2b and newer only)
  ! SNI support added for OpenSSL and GnuTLS.
  + Choice and confirmation prompts can now wrap across multiple lines.
  + Window resizes are handled while in the line editor.
  + "color compose" can color the compose menu header fields and the
    security status.  See "Using Color and Mono Video Attributes" in the
    manual for more details.
  + Setting $header_color_partial allows partial coloring of headers in the
    pager.  This can be used to color just the header labels, or strings
    inside the headers.  hdrdefault controls the color of the unmatched part.
  + When $history_remove_dups is set, duplicates in the history ring will
    be scanned and removed each time a new entry is added.
  ! IMAP header downloading was improved to support out-of-order and
    missing MSN entries.
  ! $message_cache_clean should be faster for large mailboxes.
  + Self-encryption can be enabled using the $pgp_self_encrypt,
    $pgp_self_encrypt_as, $smime_self_encrypt, and $smime_self_encrypt_as
    options.
  ! $postpone_encrypt now will use the $pgp_self_encrypt_as or
    $smime_self_encrypt_as option values first.  $postpone_encrypt_as will
    be checked second, but should be considered deprecated.
  + $forward_attribution_intro and $forward_attribution_trailer can be used
    to customize the message preceding and following a forwarded message.
  + The ~<() and ~>() pattern modifiers match messages whose immediate parent,
    or immediate children respectively, match the subpattern inside ().
    They are more specific versions of the ~() pattern modifier.
  + $imap_poll_timeout allow IMAP mailbox polling to time out.  This defaults
    to 15 seconds.
  + The attachment menu now supports nested encryption.  This allows
    attachments in nested encrypted messages to be saved or operated on.
  + $mime_type_query_command specifies a command to run to determine
    a new attachment's mime type.  When $mime_type_query_first is set,
    this command will be run before looking at the mime.types file.

1.8.3 (2017-05-30):

  ! Bug fix release.

1.8.2 (2017-04-18):

  ! Bug fix release.

1.8.1 (2017-04-13):

  ! Bug fix release.

1.8.0 (2017-02-24):

  - $locale has been removed.  Mutt now respects the LC_TIME setting
    instead.  See also $attribution_locale.
  + $attribution_locale can be used to override the date formatting in
    attribution strings.  When unset, Mutt will use the locale
    environment, but note the default value of $date_format has a
    leading '!' which says to use the C-locale.
  ! Message-id and mail-followup-to headers are now preserved for recalled
    messages.
  + <unsidebar_whitelist> added to complement <sidebar_whitelist>.
  ! The pager position is reset to the top when toggling header-weed.
  ! IMAP messages moved to $trash via server-side copy are marked as read.
  + <root-message> jumps to the root message of a thread.
  ! Piped text attachments are charset converted.
  + Added %F to $attach_format, to show the content-disposition filename.
    %d will fall back to %F which will fall back to %f.
  + <rename-attachment> allows an attachment name to be changed, without
    modifying the underlying file's name.
  ! Mutt will look for the user's muttrc additionally in
    $XDG_CONFIG_HOME/mutt/.
  + Compressed mbox and mmdf files are now supported via open-hook,
    close-hook, and append-hook.  See contrib/sample.muttrc-compress
    for suggested settings.  Note this is a compile-time option:
    --enable-compressed.
  + When $flag_safe is set, flagged messages cannot be deleted.
  + The '@' pattern modifier can be used to limit matches to known aliases.
  + <mark-message> creates a hotkey binding to a specific message.  The hotkey
    prefix is specified via $mark_macro_prefix.
  + <setenv> and <unsetenv> can be used to add/remove environment variables
    passed to children.
  ! Mutt will now use the built-in OpenSSL SSL_set_verify() callback
    to verify certificates.  This allows better support for verifying
    chains, including alternative chain support.
  + $uncollapse_new controls whether a thread will be uncollapsed when a new
    message arrives.
  ! $to_chars and $status_chars now accept multibyte characters.
  + <subjectrx> allows replacing matching subjects with something else.
    This can be used to declutter subject lines in the index.
  + <edit-label> can be used to add, change, or delete a message's X-Label.
  ! Pattern expressions with ~y support label tab completion.
  + The header cache now also supports Kyoto Cabinet and LMDB as
    backend databases.

1.7.2 (2016-12-04):

  ! Bug fix release.  No features were modified or added.
  ! Fixes for OpenSSL 1.1.  Versions less than 0.9.6 are no longer supported.

1.7.1 (2016-10-08):

  ! Bug fix release.  No features were modified or added.

1.7.0 (2016-08-18):

  ! Improved alignment when using multi-column characters with
    soft-fill (%*X) and right-justified (%>X) format strings.
  + The COLUMNS environment variable will be set to the width of the
    pager when invoking display filters.  This can be used in
    copiousoutput mailcap entries to allow their output to match the
    pager width.
  + The sidebar patch has been merged.  Please watch for airborne
    bovine.  See the documentation for all the options, or simply
    enable it with 'set sidebar_visible'.
  + $mail_check_stats and $mail_check_stats_interval control whether,
    and how often, to scan for unread, flagged, and total message
    counts when checking for new mail in mailboxes.  These statistics
    can be displayed in the sidebar and browser.
  + $trash, when set, specifies the path of the folder where mails
    marked for deletion will be moved, instead of being irremediably
    purged.
  + The <purge-message> function can be used to delete an entry and
    bypass the trash folder.
  + $folder_format has new format strings %m and %n, to display
    total and unread message counts for mailboxes.  Note that
    $mail_check_stats should be enabled to use these.
  ! When browsing IMAP, %N will now display 'N', instead of the unread
    message count.  Please use %n to display unread messages.

1.6.2 (2016-07-06):

  ! Bug fix release.  No features were modified or added.

1.6.1 (2016-05-01):

  ! Bug fix release.  No features were modified or added.

1.6.0 (2016-04-04):

  + Enabled utf-8 mailbox support for IMAP.
  + New expandos %r and %R for comma separated list of To: and Cc:
    recipients respectively.
  + Improved support for internationalized email and SMTPUTF8 (RFC653[0-3]).
  ! $use_idn has been renamed to $idn_decode.
  + $idn_encode controls whether outgoing email address domains will
    be IDNA encoded.  If your MTA supports it, unset to use utf-8
    email address domains.
  + The S/MIME message digest algorithm is now specified using the
    option $smime_sign_digest_alg.  Note that $smime_sign_command
    should be modified to include "-md %d".  Please see
    contrib/smime.rc.
  + $reflow_space_quotes allows format=flowed email quotes to be
    displayed with spacing between them.
  ! multipart draft files are now supported.
  + The "-E" command line argument causes mutt to edit draft or include files.
    All changes made in mutt will be saved back out to those files.
  + $resume_draft_files and $resume_edited_draft_files control how
    mutt processes draft files.
  + For classic gpg mode, $pgp_decryption_okay should be set to verify
    multipart/encrypted are actually encrypted.  Please see
    contrib/gpg.rc for the suggested value.
  ! mailto URL header parameters by default are now restricted to
    'body' and 'subject'.
  + mailto_allow and unmailto_allow can be used to add or remove
    allowed mailto header parameters.
  ! The method of setting $hostname has been changed.  Rather than
    scanning /etc/resolv.conf, the domain will now be determined using
    DNS calls.

1.5.24 (2015-08-31):

  + terminal status-line (TS) support, a.k.a. xterm title. see the
    following variables: $ts_enabled, $ts_icon_format, $ts_status_format
  ! $ssl_use_sslv3 is disabled by default.
  ! command-line arguments: -H now combines template and command-line
    address arguments.
  ! GnuPG signature name is set to signature.asc
  + New color object "prompt" added.
  + Ability to encrypt postponed messages.  See $postpone_encrypt and
    $postpone_encrypt_as.
  ! History ring now has a scratch buffer.
  ! mail-key is implemented for GPGME.  (Requires a recent GPGME).
  ! Removed GPG_AGENT_INFO check for GnuPG 2.1 compatibility.  Please
    set pgp_use_gpg_agent if using GnuPG 2.1 or later.
  ! $smime_encrypt_with now defaults to aes256.
  ! GnuPG fingerprints are used internally when possible.
    "--with-fingerprint" should be added to $pgp_list_pubring_command and
    $pgp_list_secring_command to enable this.  Please see contrib/gpg.rc.
    Fingerprints may also be used at the prompts for key selection.
  + $crypt_opportunistic_encrypt automatically enables/disables encryption
    based on message recipients.
  ! Attachments for signed, unencrypted emails may be deleted.
  ! Multiple crypt-hooks may be defined for the same regexp.
    This means multiple keys may be used for a recipient.
  + $crypt_confirmhook allows the confirmation prompt for crypt-hooks to
    be disabled.
  + $ssl_ciphers allows the SSL ciphers to be directly set.
  ! sime_keys better handles importing certificate chains.
  ! sime_keys now records certificate purposes (sign/encrypt).  Run
    "sime_keys refresh" to update smime index files.
  + $maildir_check_cur polls the maildir "cur" directory for new mail.

1.5.23 (2014-03-11):

  ! FCC is now preserved when postponing a message.
  ! Mail-Followup-To is now preserved when recalling a postponed message.
  ! Allow filename prompt when saving multiple attachments to a directory.

1.5.22 (2013-10-18):

  ! $imap_keepalive default lowered to 300
  + $reflow_text, $reflow_wrap for finer control of flowed wrapping
  + Support for TLSv1.1 and TLSv1.2.  $ssl_use_tlsv1_1 and $ssl_tlsv1_2
    variables control whether the new protocols are used.
  ! $ssl_use_tlsv1 now specifically refers to TLSv1.0.

1.5.21 (2010-09-15):

  + $mail_check_recent controls whether all unread mail or only new mail
    since the last mailbox visit will be reported as new
  + %D format expando for $folder_format
  ! $thorough_search defaults to yes
  + imap-logout-all closes all open IMAP connections
  ! header/body cache paths are always UTF-8
  + $wrap_headers to control outgoing message's header length
  + all text/* parts can be displayed inline without mailcap
  + send-hooks now run in batch mode; previously only send2-hooks ran.

1.5.20 (2009-06-14):

  ! mbox/mmdf new mail flag is kept when leaving folders with new mail
  ! $fcc_attach is a quadoption now
  + $honor_disposition to honor Content-Disposition headers
  + $search_context specifies number of context lines for search results
    in pager/page-based menus
  ! ssl_use_sslv2 defaults to no
  + uncolor works for header + body objects, too
  + the "flagged" and "replied" flags are enabled/supported for
    POP when built with header caching
  ! browser correctly displays maildir's mtime
  + <set-flag> and <clear-flag> work in the pager, too
  + ~x pattern also matches against In-Reply-To
  + lower case patterns for string searches perform case-insensitive
    search as regex patterns do (except IMAP)
  + $ssl_verify_dates controls whether mutt checks the validity period of
    SSL certificates
  + $ssl_verify_host controls whether mutt will accept certificates whose
    host names do not match the host name in the folder URL.

1.5.19 (2009-01-05):

  ! command-line arguments: -a now mandates -- at end of file list
  + support for SSL certificate chains
  + <what-key> function works in pager, too
  + support for tokyocabinet (qdbm successor)
  ! $move now defaults to "no" instead of "ask-no"
  + $imap_pipeline_depth controls the number of commands that mutt can issue
    to an IMAP server before it must collect the responses
  + $ssl_client_cert available with gnutls as well as openssl
  + 'mime_lookup application/octet-stream' added to system Muttrc

1.5.18 (2008-05-17):

  ! header caches internally are utf-8 regardless of current locale
  + $query_format (customize external query menu)
  ! inode sorting is always enabled
  + $time_inc suppresses progress updates less than $time_inc
    milliseconds apart.
  + X-Label: headers must now be RfC2047-encoded

1.5.17 (2007-11-01):

  ! --enable-exact-address works again

1.5.16 (2007-06-09):

  + next-unread-mailbox
  + $message_cache_clean (clean cache on sync)
  + $smtp_pass
  ! $header_cache_compress defaults to yes

1.5.15 (2007-04-06):

  - $imap_home_namespace (useless clutter)
  + $check_mbox_size (use size change instead of atime for new mail)
  ! improved f=f support wraps lines at $wrap if $wrap is not 0
  + $wrap (>0 wraps at $wrap, <0 = $wrapmargin)
  + $assumed_charset, $attach_charset, $ignore_linear_white_space
  + $save_history, $history_file (save history across sessions)
  + $smtp_url (ESMTP relay support)
  + $crypt_use_pka (use GPGME PKA signature verification)
  ! format pipe support: format strings ending in | are filtered
  ! buffy size is configurable at runtime (no --enable-buffy-size
    configure option, new $check_mbox_size variable)

1.5.13 (2006-08-14):

  + thread patterns.  Use ~(...) to match all threads that
    contain a message that matches ...

1.5.12 (2006-07-14):

  - $imap_cachedir replaced with $message_cachedir
  + Header/body caching for POP ($message_cachedir)
  + Header caching for MH folders 
  ! $record now defaults to ~/sent
  ! $imap_idle now defaults to "yes" instead of "no"
  + Tab-completion for $my_* variable names and values
  + Expansion of mutt variables (except shell escape)
  + Self-defined variables with $my_* prefix 
  + Pattern group support 
  + $imap_cachedir
  + 'old' flag on IMAP folders
  + SASL-IR support for IMAP
  + IMAP IDLE support and $imap_idle
  + Pipeline-based IMAP communicaton
  + Full large file support
  + Attachment counting: attachments and unattachments commands,
    %Q and %X for $attach_format, %X for $index_format
  + Basque translation
  + QDBM backend for header caching
  + Irish translation

1.5.11 (2005-09-15):

  ! $envelope_from_address has been added, $envelope_from has been renamed
    to $use_envelope_from
  + Progress bar via $net_inc
  + IMAP server-side simple string search
  + Simple string matches instead of full regex matches for '=' instead
    of '~' with pattern modifiers
  ! ~l matches all known lists, ~u only subscribed
  - SASL 1.5 support
  ! The manual is now build from DocBook/XML instead of Linuxdoc/SGML source

1.5.10 (2005-08-11):

  + $imap_check_subscribed
  + Tab-completion for IMAP hosts
  ! $imap_force_ssl has been replaced without synonym by $ssl_force_tls
  - NSS support
  ! The default for $menu_move_off has been changed from "no" to "yes"
  ! An empty <limit> now cancels the current limit
  + Editing threads via <break-thread> and <link-threads>
  + -D command line option
  + the folder shortcut '^' refers to the currently opened folder
  + $imap_login
  + $braille_friendly
  + Header caching for Maildir folders

Mutt 1.5.9 (2005-03-13):

  + $menu_move_off
  + <rename-mailbox> function for IMAP

Mutt 1.5.8 (2005-02-12):

  + $menu_context
  ! IDNA decoding is now optional via $use_idn defaulting to "yes"
  + GPGME support via $crypt_use_gpgme

Mutt 1.5.7 (2005-01-28):

  + SSL support via GNUTLS
  + Header caching for IMAP via $header_cache and $header_cache_pagesize
  + send2-hook
  + $ssl_client_cert
  + $hide_thread_subject
  + Generic spam detection: new configuration commands: 'spam' and
    'nospam', new options: $spam_separator, new expando: %H (for
    $index_format), new pattern: ~H pattern
  + $include_onlyfirst
  ! $pgp_mime_ask has been renamed without synonym to $pgp_mime_auto,
    new default is "ask-yes" rather than "no"
  + Inline PGP creation support via $pgp_replyinline, $pgp_autoinline
    and $pgp_mime_ask
  ! the 'bind' command can now be used on multiple menus at once
  + $config_charset
  + ~$ pattern

1.5.6 (2004-02-01):

  ! the 'list' and 'subscribe' commands now take regular expression
    rather than string lists
  ! the $alternates option is replaced by the 'alternates' command
    taking lists of regular expressions
  ! mailing lists can be recognized via domain matching when
    starting with '@'
  + STLS (STARTTLS) support for POP3

1.5.5 (2003-11-05):

  + Bulgarian translation
  - Kendra mailbox support
  + <tag-prefix-cond> and <cond-end>
  + ':' as expando modifier (e.g. '%:A')
  + $crypt_autopgp and $crypt_autosmime
  + $pgp_check_exit

1.5.4 (2003-03-19):

  + IDNA support
  + $bounce
  ! $crypt_replyencrypt and $pgp_replyencrypt now default
    to "yes" instead of "no"
  + $pgp_auto_traditional
  + %A for $index_format

1.5.3 (2002-12-17):

  + <next-new-then-unread> and <previous-new-then-unread>
  ! $mark_old: it only controls whether new messages
    are marked as old when leaving the mailbox
  + <what-key>

1.5.2 (2002-12-06):

  + -A command line option
  + SASL2 support
  + <buffy-list>
  + $forward_edit
  + $content_type
  + unmailboxes command
  + unalternative_order command
  + reply-hook

1.5.1 (2002-01-24):

  + $smime_default_key
  + $narrow_tree
  + -Q command line option
  + $crypt_timestamp
  + ~V pattern
  + S/MIME support
  + mime_lookup command
