2020-08-29 12:25:28 -0700  Kevin McCarthy  <kevin@8t8.us> (5fb17352)

        * Update UPDATING file for 1.14.7.

M	UPDATING

2020-08-27 15:03:08 -0700  Kevin McCarthy  <kevin@8t8.us> (2b30e41d)

        * Remove cur parameter for pager recall and make-key ops.
        
        For the recall operation, this can lead to a memory leak where the
        recalled message overwrites the sctx saved data.
        
        Arguably instead, the send_message setup could be more picky about
        saving cur, or recall-message could be careful to not overwrite the
        message-id.
        
        The context parameter isn't actually used for mail-key, and the
        curs_main.c doesn't pass it.  But I can't bring myself to make that
        change for a stable fix.

M	pager.c

2020-08-24 13:45:24 -0400  Remco Rĳnders  <remco@webconquest.com> (f8f760d8)

        * Fix segfault when imap server is unreachable

M	mx.c

2020-08-12 10:37:56 -0700  Kevin McCarthy  <kevin@8t8.us> (3548ec07)

        * Ensure SIGALRM interrupts connect() in batch mode.
        
        Mutt doesn't call mutt_signal_init() in batch mode, which mean no
        default handler for SIGALRM is set in that case.  The man pages seem
        to indicate SIGALRM by default should terminate the process, but
        ticket 273 reported no interruption occurring: Mutt just hung
        indefinitely.
        
        In any case, terminating isn't the desired behavior either.  Add a
        handler, as is done in imap_wait_keepalive() and send_msg().

M	mutt_socket.c

2020-07-29 13:54:19 -0700  Kevin McCarthy  <kevin@8t8.us> (05a2008e)

        * Fix List-Post header parser to handle multiple values.
        
        If the mailto url was in the second or greater position, beg was on
        the wrong character.  This would cause url_check_scheme() to fail to
        recognize the mailto.
        
        Change the loop to skip to the '<' on subsequent loops.  Keep the loop
        iterator the same, to ensure the list-post entries are comma
        separated.
        
        As a note, the parser is still not strictly following the RFC, but
        appears to work well enough in the "real world" that I'm not going to
        tweak it for now.

M	parse.c

2020-07-24 15:45:17 -0700  Kevin McCarthy  <kevin@8t8.us> (c3ae7ba5)

        * Prevent lynx from dumping a remote site if manual.txt is missing.
        
        Ambrose Li reported that if the xsltproc step fails in manual
        generation, lynx will dump a *remote* site to manual.txt, because
        manual.html does not exist.  w3m and elinks appear not to have this
        issue.
        
        Prevent lynx from doing this by adding '-localhost' flag.
        
        Ambrose also suggested prefixing './manual.html' instead should fix
        the problem, but to be conservative about not breaking anything I'm
        just adding the '-localhost' flag.

M	doc/Makefile.am

2020-07-15 19:47:11 -0700  Kevin McCarthy  <kevin@8t8.us> (62fab7bd)

        * Ensure a blackslash inside backquotes doesn't skip past eos.
        
        I'm not sure if this is possible because of the way the input is read
        by the muttrc parser, but fix the logic to ensure it can't happen.

M	init.c

2020-07-11 12:58:51 -0700  Kevin McCarthy  <kevin@8t8.us> (9bb7acf7)

        * automatic post-release commit for mutt-1.14.6

M	ChangeLog
M	VERSION

2020-07-11 12:55:01 -0700  Kevin McCarthy  <kevin@8t8.us> (e78fcc51)

        * Update UPDATING file for 1.14.6.

M	UPDATING

2020-07-07 21:09:03 -0700  Kevin McCarthy  <kevin@8t8.us> (222bd804)

        * Fix utimensat() to use cwd for relative paths.
        
        The utimensat() invocations were missing the AT_FDCWD parameter,
        meaning they would not work on relative paths.
        
        I can't remember whether I completely missed that difference from
        utime, or somehow thought all the paths would be full paths.  :-(
        
        In any case, Mutt currently does not expand relative paths in
        mutt_expand_path(), so the paths can most certainly be relative in
        those calls too.
        
        This caused a bug where atimes were not being properly reset for
        mailbox entries.

M	buffy.c
M	mbox.c
M	mx.c

2020-06-23 10:44:09 -0700  Kevin McCarthy  <kevin@8t8.us> (85ab28c9)

        * automatic post-release commit for mutt-1.14.5

M	ChangeLog
M	VERSION

2020-06-23 10:24:23 -0700  Kevin McCarthy  <kevin@8t8.us> (09cf1bca)

        * Update UPDATING file for 1.14.5 release.
        
        Amend notes for the 1.14.3 release, which also added $ssl_force_tls
        checking for an unencrypted IMAP PREAUTH connection.

M	UPDATING

2020-06-22 12:33:09 -0700  Kevin McCarthy  <kevin@8t8.us> (e37516c3)

        * Remove $ssl_starttls check for IMAP PREAUTH.
        
        Checking $ssl_starttls provides no real protection, because an
        attacker can just as easily spoof "* OK" and strip the STARTTLS
        capability as it can spoof "* PREAUTH".  The only way to really
        protect again the MITM is through $ssl_force_tls.
        
        Add documentation about STARTTLS, $tunnel, and the current PREAUTH
        exception when using $tunnel.
        
        The behavior of Mutt about $tunnel is somewhat inconsistent: is it
        considered secure or not?  For PREAUTH, to avoid breaking
        configurations, we assume it is secure.  But at the same time, Mutt is
        still negotiating STARTTLS for other $tunnel connections.
        
        This will be resolved in master for the next release; probably by
        adding a $tunnel_is_secure config variable defaulting "yes" and
        removing the STARTTLS negotiation in that case.

M	doc/manual.xml.head
M	imap/imap.c

2020-06-20 06:35:35 -0700  Kevin McCarthy  <kevin@8t8.us> (dc909119)

        * Don't check IMAP PREAUTH encryption if $tunnel is in use.
        
        $tunnel is used to create an external encrypted connection.  The
        default of $ssl_starttls is yes, meaning those kinds of connections
        will be broken by the CVE-2020-14093 fix.

M	imap/imap.c

2020-06-18 14:13:12 -0700  Kevin McCarthy  <kevin@8t8.us> (c94d2b00)

        * automatic post-release commit for mutt-1.14.4

M	ChangeLog
M	VERSION

2020-06-18 14:09:03 -0700  Kevin McCarthy  <kevin@8t8.us> (e6ec35de)

        * Update UPDATING file for 1.14.4.

M	UPDATING

2020-06-16 13:49:20 -0700  Kevin McCarthy  <kevin@8t8.us> (c547433c)

        * Fix STARTTLS response injection attack.
        
        Thanks again to Damian Poddebniak and Fabian Ising from the Münster
        University of Applied Sciences for reporting this issue.  Their
        summary in ticket 248 states the issue clearly:
        
          We found another STARTTLS-related issue in Mutt. Unfortunately, it
          affects SMTP, POP3 and IMAP.
        
          When the server responds with its "let's do TLS now message", e.g. A
          OK begin TLS\r\n in IMAP or +OK begin TLS\r\n in POP3, Mutt will
          also read any data after the \r\n and save it into some internal
          buffer for later processing. This is problematic, because a MITM
          attacker can inject arbitrary responses.
        
          There is a nice blogpost by Wietse Venema about a "command
          injection" in postfix (http://www.postfix.org/CVE-2011-0411.html).
          What we have here is the problem in reverse, i.e. not a command
          injection, but a "response injection."
        
        This commit fixes the issue by clearing the CONNECTION input buffer in
        mutt_ssl_starttls().
        
        To make backporting this fix easier, the new functions only clear the
        top-level CONNECTION buffer; they don't handle nested buffering in
        mutt_zstrm.c or mutt_sasl.c.  However both of those wrap the
        connection *after* STARTTLS, so this is currently okay.  mutt_tunnel.c
        occurs before connecting, but it does not perform any nesting.

M	mutt_socket.c
M	mutt_socket.h
M	mutt_ssl.c
M	mutt_ssl_gnutls.c

2020-06-14 14:17:45 -0700  Kevin McCarthy  <kevin@8t8.us> (34e3a1a3)

        * automatic post-release commit for mutt-1.14.3

M	ChangeLog
M	UPDATING
M	VERSION

2020-06-14 11:30:00 -0700  Kevin McCarthy  <kevin@8t8.us> (3e88866d)

        * Prevent possible IMAP MITM via PREAUTH response.
        
        This is similar to CVE-2014-2567 and CVE-2020-12398.  STARTTLS is not
        allowed in the Authenticated state, so previously Mutt would
        implicitly mark the connection as authenticated and skip any
        encryption checking/enabling.
        
        No credentials are exposed, but it does allow messages to be sent to
        an attacker, via postpone or fcc'ing for instance.
        
        Reuse the $ssl_starttls quadoption "in reverse" to prompt to abort the
        connection if it is unencrypted.
        
        Thanks very much to Damian Poddebniak and Fabian Ising from the
        Münster University of Applied Sciences for reporting this issue, and
        their help in testing the fix.

M	imap/imap.c

2020-06-06 20:03:56 -0700  Kevin McCarthy  <kevin@8t8.us> (f64ec1de)

        * Fix GnuTLS interactive prompt short-circuiting.
        
        tls_verify_peers() doesn't verify expiration dates.  So aborting early
        because of a 0 certstat and the leaf passing tls_check_preauth() does
        not mean subsequent intermediate certs are okay: they could be
        expired.
        
        In the saved-cert preauth loop, instead of just noting the
        tls_check_preauth() rc for the leaf, note the highest cert that passes
        preauth.
        
        Then, in the interactive loop (which goes in the opposite order, from
        CA to leaf) check that value instead.  Since we are trusting certs one
        by one, anything that passed in the previous loop will certainly pass
        the preauth check at the beginning of tls_check_one_certificate().

M	mutt_ssl_gnutls.c

2020-06-05 18:16:31 -0700  Kevin McCarthy  <kevin@8t8.us> (5fccf603)

        * Abort GnuTLS certificate check if a cert in the chain is rejected.
        
        GnuTLS is not checking dates because we disabled that in
        tls_negotiate().
        
        So if we don't do this, rejecting an expired intermediate cert will
        have no effect.  Certstat won't contain an expiration error, and
        tls_check_preauth() will only look at each subsequent cert in the
        chain's dates.

M	mutt_ssl_gnutls.c

2020-06-05 15:21:03 -0700  Kevin McCarthy  <kevin@8t8.us> (bb0e6277)

        * Fix GnuTLS tls_verify_peers() checking.
        
        * Change the function to pass the certstatus parameter by reference,
        and indicate success/failure of the function via the return value.  It
        was previously returning the certstatus, but was also returning 0 or
        the *unset* certstatus on error too.  Since a 0 certstatus means
        "success", this meant a gnutls_certificate_verify_peers2() failure
        would be regarded as a valid cert.
        
        * The gnutls_certificate_type_get() inside tls_verify_peers() checks
        the *client* certificate type.  Since it was only called if
        gnutls_certificate_verify_peers2() failed, I assume was either a
        mistake, or perhaps an attempt to give a special error message if the
        client cert was OpenPGP.  In either case, the error message was not
        very informative, so just remove the call and special error message.
        
        * Fix GNUTLS_E_NO_CERTIFICATE_FOUND check to be against verify_ret
        instead of certstat.
        
        * Fix gnutls_strerror() call to use verify_ret instead of certstat.
        
        * gnutls_certificate_verify_peers2() already calls and checks
        gnutls_auth_get_type(), so remove call at the beginning of
        tls_check_certificate().
        
        * gnutls_certificate_verify_peers2() also verifies the certificate
        type for the *server* is GNUTLS_CRT_X509.  Add a comment about that.

M	mutt_ssl_gnutls.c

2020-05-27 14:33:58 -0700  Kevin McCarthy  <kevin@8t8.us> (5ea51e88)

        * Fix doc install to check builddir first for bundled files.
        
        Although some of the built files are bundled in the tarball, someone
        could still try to build/install from a git checkout with a separate
        build directory.  There might be other circumstances too, so better to
        just add the check for now.

M	doc/Makefile.am

2020-05-26 13:51:56 -0700  Kevin McCarthy  <kevin@8t8.us> (0136dbd1)

        * Remove Muttrc and manual.txt from dist tarball files.
        
        The Muttrc needs to be generated because of docdir substitution.  The
        manual.txt may traditionally be generated by a different tool than the
        one on my machine (lynx), so force that to be regenerated too.
        
        It may still be necessary to just rebuild everything, but let's see if
        this will do for stable for now.

M	doc/Makefile.am

2020-05-25 13:37:20 -0700  Kevin McCarthy  <kevin@8t8.us> (6feaec02)

        * automatic post-release commit for mutt-1.14.2

M	ChangeLog
M	VERSION

2020-05-25 13:29:22 -0700  Kevin McCarthy  <kevin@8t8.us> (642a1cfd)

        * Update UPDATING file for release.

M	UPDATING

2020-05-25 12:44:43 -0700  Kevin McCarthy  <kevin@8t8.us> (f6fb5a17)

        * Fix mutt_pattern_comp() to not segv on a NULL pattern string.
        
        The change to mutt_parse_score() could now result in a NULL score
        pattern if the user specified ''.  It might be possible for this to
        happen elsewhere too, so just add a check at the top of
        mutt_pattern_comp() to handle the case.

M	pattern.c

2020-05-25 12:23:02 -0700  Kevin McCarthy  <kevin@8t8.us> (5761113a)

        * Fix buffer pool buffer truncation with my_hdr and score commands.
        
        The buffer pool is now used for command invocation, but unfortunately
        a couple cases of mutt_buffer_init() were hidden in the my_hdr and
        score command processors.
        
        This would result in a shortened buffer being returned to the pool and
        used later for something like the prompt - which expects LONG_STRING
        everywhere.
        
        Fix up the two places to instead copy the string over.  They don't
        need to grab a large buffer pool sized hunk of memory.
        
        Also, fix the mutt_buffer_pool_release() to resize upwards in case
        future code does this.  I should have done this originally, but was
        afraid it would paper over more serious issues.  :-/
        
        Thanks to Armin Wolfermann for reporting the problem.

M	buffer.c
M	init.c
M	score.c

2020-05-24 13:26:49 -0700  Kevin McCarthy  <kevin@8t8.us> (d8e518db)

        * Increase the buffer size in _mutt_get_field().
        
        Not doing so caused the subsequent _mutt_enter_string() to use the
        default buffer pool size of 1024 - negating the HUGE_STRING value
        passed into _mutt_get_field().
        
        (Once we fully transition to buffers, this awkwardness can go away...)

M	curs_lib.c

2020-05-19 12:26:55 -0700  Kevin McCarthy  <kevin@8t8.us> (c72f740a)

        * Add mitigation against DoS from thousands of parts.
        
        A demonstration attack using a million tiny parts will freeze Mutt for
        several minutes.  This is actually better than some other mail
        software, but can still be a problem at large levels.
        
        For now, set it to a very conservative 5000, but this can be adjusted
        up (or down) if necessary.
        
        Declare the previous stack-limit max depth as a constant too, and
        decrease it down to 50.  Change the handler to return non-fatal "1" on
        reaching the limit.

M	handler.c
M	mime.h
M	parse.c

2020-05-16 14:34:07 -0700  Kevin McCarthy  <kevin@8t8.us> (a4059dd2)

        * Document my release process.
        
        The old script contents is for mercurial so remove it.
        
        My process is not automated, but at least write it down.

M	build-release

2020-05-16 10:43:06 -0700  Kevin McCarthy  <kevin@8t8.us> (12cf5b46)

        * automatic post-release commit for mutt-1.14.1

M	ChangeLog
M	UPDATING
M	VERSION

2020-05-03 17:29:55 +0200  Vincent Lefevre  <vincent@vinc17.net> (b4936342)

        * Add missing blank lines in ChangeLog due to buggy update-changelog.

M	ChangeLog

2020-05-03 17:18:28 +0200  Vincent Lefevre  <vincent@vinc17.net> (274b1c5a)

        * Fix update-changelog rule (missing blank line in generated ChangeLog).

M	Makefile.am

2020-05-09 18:30:13 -0700  Kevin McCarthy  <kevin@8t8.us> (7bd57bc3)

        * Set AM_DISTCHECK_CONFIGURE_FLAGS to allow make distcheck to run.
        
        Add the '--with-homespool' flag, to allow it to run as non-root.

M	Makefile.am

2020-05-09 16:26:20 -0700  Kevin McCarthy  <kevin@8t8.us> (ba0c9f9e)

        * Fix doc installation directories.
        
        The conversion of makedoc.c to perl goofed up the documentation
        build/install process from a tarball.  A late commit, 3c575cab, tried
        to fix this, but didn't fix the problem when building with a separate
        srcdir.
        
        Previously, because makedoc didn't exist, all the documentation would
        be rebuilt, even though it was distributed in the tarball.
        
        Now the files don't need to be rebuilt, and so exist in $(srcdir)
        instead of the build directory.
        
        I'm a little bit unsure how this would all work, trying to install
        from git with a separate srcdir.  I think it would fail now.  However,
        I don't believe that's a common use case.
        
        If I'm wrong, then an alternative would be to go back to rebuilding
        everything.  This would be done by creating a new makedoc target, with
        rule 'cp $(srcdir)/makedoc.pl makedoc', and then changing all the
        other targets to depend on and invoke makedoc instead.

M	doc/Makefile.am

2020-05-08 12:48:19 -0700  Kevin McCarthy  <kevin@8t8.us> (30340e50)

        * Fix edit-message false-modified bug.
        
        The file was being stat() before the truncate, and
        mutt_decrease_mtime() only decreases if the sb.st_mtime is equal to
        the current time.  That means operations crossing the second boundary:
          time x:   stat
          time x+1: truncate, decrease_mtime
        would result in a false-modified bug if no changes were made during
        editing.
        
        The mutt_decrease_mtime() and callers need to be cleaned up for better
        error handling, but I will do that in master.

M	editmsg.c

2020-05-08 12:10:51 -0700  Kevin McCarthy  <kevin@8t8.us> (094a07fc)

        * Fix rc error setting in edit_one_message().
        
        In a couple places, the rc was not set before bailing on an error.
        With a default of 0, the original message would be marked for
        delete/purge.

M	editmsg.c

2020-05-07 15:23:12 -0700  Kevin McCarthy  <kevin@8t8.us> (51ed59a7)

        * Wrap 'saving fcc' message in curses and sendmailx check.

M	send.c

2020-05-02 15:16:46 -0700  Kevin McCarthy  <kevin@8t8.us> (020321ed)

        * automatic post-release commit for mutt-1.14.0

M	ChangeLog
M	VERSION
M	build-release
M	po/bg.po
M	po/ca.po
M	po/cs.po
M	po/da.po
M	po/de.po
M	po/el.po
M	po/eo.po
M	po/es.po
M	po/et.po
M	po/eu.po
M	po/fi.po
M	po/fr.po
M	po/ga.po
M	po/gl.po
M	po/hu.po
M	po/id.po
M	po/it.po
M	po/ja.po
M	po/ko.po
M	po/lt.po
M	po/nl.po
M	po/pl.po
M	po/pt_BR.po
M	po/ru.po
M	po/sk.po
M	po/sv.po
M	po/tr.po
M	po/uk.po
M	po/zh_CN.po
M	po/zh_TW.po

2020-05-02 14:58:03 -0700  Kevin McCarthy  <kevin@8t8.us> (3c575cab)

        * Add missing doc built distfiles.
        
        When building the 1.14.0 release tarball, I discovered a hidden
        dependency problem from switching to makedoc.pl.
        
        The manual.xml is not properly defined, and so trying to build the
        muttrc.man and mutt.info file errors out.  This was previously hidden
        because makedoc need to be compiled, forcing a rebuild.
        
        This problem derives because the stamp-* files (and most of the other
        documentation) are *included* in the tarball, except for muttrc.man
        and mutt.texi.  Those attempt to rebuild, but manual.xml doesn't
        exist.
        
        For now, include muttrc.man and mutt.texi in the dist files.
        
        A better solution requires some thought, but not while I'm trying to
        get a release out.

M	doc/Makefile.am

2020-05-02 11:16:31 -0700  Kevin McCarthy  <kevin@8t8.us> (bd776a65)

        * Fix 'gpg' -> 'GPG' in manual and autocrypt translation string.

M	autocrypt/autocrypt_gpgme.c
M	doc/manual.xml.head
M	po/bg.po
M	po/ca.po
M	po/cs.po
M	po/da.po
M	po/de.po
M	po/el.po
M	po/eo.po
M	po/es.po
M	po/et.po
M	po/eu.po
M	po/fi.po
M	po/fr.po
M	po/ga.po
M	po/gl.po
M	po/hu.po
M	po/id.po
M	po/it.po
M	po/ja.po
M	po/ko.po
M	po/lt.po
M	po/nl.po
M	po/pl.po
M	po/pt_BR.po
M	po/ru.po
M	po/sk.po
M	po/sv.po
M	po/tr.po
M	po/uk.po
M	po/zh_CN.po
M	po/zh_TW.po

2020-05-02 10:57:22 -0700  Kevin McCarthy  <kevin@8t8.us> (c6534102)

        * Update 'mutt -v' copyright date.
        
        Since the phrase contains "and others" the developers judged it was
        correct to increase the year number.

M	main.c
M	po/bg.po
M	po/ca.po
M	po/cs.po
M	po/da.po
M	po/de.po
M	po/el.po
M	po/eo.po
M	po/es.po
M	po/et.po
M	po/eu.po
M	po/fi.po
M	po/fr.po
M	po/ga.po
M	po/gl.po
M	po/hu.po
M	po/id.po
M	po/it.po
M	po/ja.po
M	po/ko.po
M	po/lt.po
M	po/nl.po
M	po/pl.po
M	po/pt_BR.po
M	po/ru.po
M	po/sk.po
M	po/sv.po
M	po/tr.po
M	po/uk.po
M	po/zh_CN.po
M	po/zh_TW.po

2020-05-02 10:39:05 -0700  Kevin McCarthy  <kevin@8t8.us> (c60c7f69)

        * Set UPDATING release date for 1.14.0.

M	UPDATING

2020-05-01 09:26:48 -0700  Kevin McCarthy  <kevin@8t8.us> (48e5c70f)

        * Ensure idata->reopen is clear when the mailbox is closed.
        
        Commit ab457327 accidentally introduced a performance regression in
        the 1.13.0 release.  The reason is that imap_sync_mailbox() was
        leaving IMAP_REOPEN_ALLOW set.  When a mailbox was closed, and another
        opened, the imap_open_mailbox() would be processed with the reopen
        set.
        
        The initial connection and exec statements would trigger a
        imap_cmd_finish().  That would then prematurely trigger fetching new
        mail, with the newMailCount misset, which would in turn generate a
        tiny uid_hash.  When the real download occurred, it would use the
        existing tiny hash, throttling performance.
        
        The regression commit removed what I thought was an unnecessary check,
        but it was guarding the fetch from happening at the wrong time during
        mailbox open too.
        
        The performance issue was already addressed by commit a8337951 in
        master, but I think it's good to wipe the entire state.  The removes
        other possible strange behavior.
        
        A HUGE thanks to Guilhem Moulin for his help on this issue.  Without
        all his work detailing the problem, creating automated testing, git
        bisecting, and logging, I would not have been able to find and fix the
        problem.

M	imap/imap.c

2020-05-01 03:55:39 -0700  Kevin McCarthy  <kevin@8t8.us> (67948d74)

        * Fix CONDSTORE/QRESYNC context flag counts on updates.
        
        read_headers_condstore_qresync_updates() differs from
        read_headers_normal_eval_cache() in that the FLAGS updates are issued
        for existing messages in the context.
        
        So cmd_parse_fetch() will process the flags *but* it will also
        increment/decrement context flag counters.
        
        Zero out the flags (as was being done for VANISHED handling), and let
        mx_update_context() set them properly afterwards.
        
        Thanks to Guilhem Moulin for reporting the issue and helping me test
        this fix.

M	imap/message.c

2020-04-30 16:57:01 +0200  Grzegorz Szymaszek  <gszymaszek@short.pl> (3a20ab36)

        * Improve the Polish translation

M	po/pl.po

2020-04-28 18:56:42 +0200  Grzegorz Szymaszek  <gszymaszek@short.pl> (99d67832)

        * Fix a typo in a message in the Polish translation

M	po/pl.po

2020-04-28 18:49:27 +0200  Grzegorz Szymaszek  <gszymaszek@short.pl> (8d8af9c2)

        * Improve a message in the Polish translation
        
        This makes the translation of “Unable to create SSL context” closer to
        the original meaning.

M	po/pl.po

2020-04-28 17:49:50 -0700  Kevin McCarthy  <kevin@8t8.us> (0fdc8668)

        * Document change to exact-address writing behavior.

M	UPDATING
M	doc/manual.xml.head

2020-04-28 15:23:29 -0700  Kevin McCarthy  <kevin@8t8.us> (b3fd56a4)

        * Turn off writing exact-addresses that require 2047-encoding.
        
        The full strdup'ed copy of the address can't be properly encoded
        without significant rework to parse, encode, and reassemble.
        (Additionally, IDNA is not being performed on the domain written in
        the exact-address string.)
        
        As an example, consider the current exact address behavior, given the
        three addresses:
          "ascii name" (comment) <addr@example.com>
          The ènd (comment) <addr2@example.com>
          "The ènd" (comment) <addr3@example.com>
        
        Before this commit, when sending Mutt would generate:
          "ascii name" (comment) <addr@example.com>
          The =?iso-8859-1?B?6G5kIChjb21tZW50KSA8YWRkcjJAZXhhbXBsZS5jb20+?=
          =?iso-8859-1?B?IlRoZSDobmQiIChjb21tZW50KSA8YWRkcjNAZXhhbXBsZS5jb20+?=
        
        The second address 2047 encodes everything starting with ènd,
        including the comment and address.  The third address is completely
        encoded.
        
        A "quick workaround" I proposed to the list was turning off
        encode_specials.  This results in:
          "ascii name" (comment) <addr@example.com>
          The =?iso-8859-1?B?6G5k?= (comment) <addr2@example.com>
          "The =?iso-8859-1?Q?=E8nd=22?= (comment) <addr3@example.com>
        
        That solves the second case, but in the third case 2047-encodes
        ènd" - including the trailing double quote.
        
        With this patch, we turn off writing the exact address if encoding is
        needed, generating:
          "ascii name" (comment) <addr@example.com>
          The =?iso-8859-1?B?6G5k?= <addr2@example.com>
          The =?iso-8859-1?B?6G5k?= <addr3@example.com>
        
        This reverts to Mutt-generated normalized form in the last two
        addresses, which require encoding.  For the first case it preserves
        the address as "typed" by the user.

M	rfc2047.c
M	rfc2047.h

2020-04-27 18:18:34 -0700  Kevin McCarthy  <kevin@8t8.us> (43204e7b)

        * Add contrib/bgedit-screen-tmux.sh.
        
        This script wraps running the editor inside a new GNU Screen or tmux
        session.
        
        The script is derived from Aaron Schrab's script posted to mutt-dev,
        but rewritten to run in a posix shell, automatically adjust between
        tmux and screen, and with a bit more error checking.

M	contrib/Makefile.am
A	contrib/bgedit-screen-tmux.sh
M	doc/manual.xml.head

2020-04-27 06:40:11 -0700  Ivan Vilata i Balaguer  <ivan@selidor.net> (d5d8b62a)

        * Updated Catalan translation.

M	po/ca.po

2020-04-26 07:02:47 -0700  Morten Bo Johansen  <mbj@mbjnet.dk> (0ab54fc7)

        * Updated Danish translation.

M	po/da.po

2020-04-25 07:08:05 -0700  Kevin McCarthy  <kevin@8t8.us> (0284e7dc)

        * Minor fix to polish translation.

M	po/pl.po

2020-04-25 14:30:52 +0200  Grzegorz Szymaszek  <gszymaszek@short.pl> (d19ed86c)

        * Update the Polish translation for Mutt 1.14

M	po/pl.po

2020-04-25 04:34:10 +0200  Vincent Lefevre  <vincent@vinc17.net> (8c960f97)

        * Fix typo in UPDATING.

M	UPDATING

2020-04-22 06:53:57 -0700  Kevin McCarthy  <kevin@8t8.us> (d9cb3438)

        * First draft of UPDATING file for 1.14 release.

M	UPDATING

2020-04-24 14:30:11 -0700  Kevin McCarthy  <kevin@8t8.us> (858d3f92)

        * Adjust comment on header.num_hidden field.
        
        Changeset 83be183b modified _mutt_traverse_thread() to update
        num_hidden in the entire thread, so that ~v will work properly when
        switching to a non-threaded view.

M	mutt.h

2020-04-24 14:20:16 -0700  Kevin McCarthy  <kevin@8t8.us> (3dfbff41)

        * Fix minor indentation problem in hcachever.pl.

M	hcachever.pl

2020-04-22 06:14:08 +0000  Tamotsu TAKAHASHI  <ttakah@gmail.com> (af8b26b7)

        * Update ja.po for 1.14

M	po/ja.po

2020-04-20 03:40:17 +0200  Vincent Lefevre  <vincent@vinc17.net> (9935e756)

        * fr.po: forgot a period

M	po/fr.po

2020-04-19 18:28:52 -0700  Kevin McCarthy  <kevin@8t8.us> (d31f5692)

        * Fix copyright address.

M	contrib/bgedit-detectgui.sh

2020-04-20 03:19:41 +0200  Vincent Lefevre  <vincent@vinc17.net> (190ef657)

        * fr.po: typo in a comment

M	po/fr.po

2020-04-20 03:07:34 +0200  Vincent Lefevre  <vincent@vinc17.net> (5672c160)

        * Updated French translation.

M	po/fr.po

2020-04-19 13:23:17 -0700  Kevin McCarthy  <kevin@8t8.us> (c1d58163)

        * Clarify sidebar sorting by path vs alpha/name.
        
        The former only sorts by the path.
        
        The latter two will sort by label if defined.

M	doc/manual.xml.head

2020-04-19 09:31:01 -0700  Kevin McCarthy  <kevin@8t8.us> (5eea506e)

        * Add contrib/bgedit-detectgui.sh from Eike Rathke.

M	contrib/Makefile.am
A	contrib/bgedit-detectgui.sh

2020-04-18 14:05:52 -0700  Kevin McCarthy  <kevin@8t8.us> (3179e93c)

        * Freshen up other configuration options in INSTALL.
        
        Remco's patch pointed out this file has been getting rather stale.  I
        haven't added all of the flags, but reordered them and added some of
        the major ones that were missing.

M	INSTALL

2020-04-18 11:50:45 -0400  Remco Rijnders  <remco@webconquest.com> (7299f6af)

        * Include instructions on how to build with sidebar support

M	INSTALL

2020-04-18 11:51:47 -0700  Remco Rijnders  <remco@webconquest.com> (749337e0)

        * Updated Dutch translation.

M	po/nl.po

2020-04-18 06:43:58 -0700  Vsevolod Volkov  <vvv@mutt.org.ua> (0fcf6a42)

        * Updated Russian translation.

M	po/ru.po

2020-04-18 06:42:10 -0700  Vsevolod Volkov  <vvv@mutt.org.ua> (e442d478)

        * Updated Ukrainian translation.

M	po/uk.po

2020-04-17 12:12:07 -0700  Petr Pisar  <petr.pisar@atlas.cz> (8a8e008d)

        * Updated Czech translation.

M	po/cs.po

2020-04-16 19:50:22 +0200  Olaf Hering  <olaf@aepfle.de> (37a94853)

        * Update de.po
        
        Signed-off-by: Olaf Hering <olaf@aepfle.de>

M	po/de.po

2020-04-16 09:42:01 -0700  Kevin McCarthy  <kevin@8t8.us> (653b20b8)

        * Add l10n comment above the revised translation string.

M	rfc1524.c

2020-04-16 08:58:24 +0200  Olaf Hering  <olaf@aepfle.de> (850aac1b)

        * Update error string in mailcap_path handling
        
        The code expects either 'mailcap_path' in muttrc, or MAILCAPS in environment.
        In this context a string 'mailcap path' is incorrect.
        
        Signed-off-by: Olaf Hering <olaf@aepfle.de>

M	rfc1524.c

2020-04-15 20:26:20 +0200  Olaf Hering  <olaf@aepfle.de> (0cca6886)

        * refresh de.po
        
        Signed-off-by: Olaf Hering <olaf@aepfle.de>

M	po/de.po

2020-04-14 01:30:08 +0200  Vincent Lefevre  <vincent@vinc17.net> (a2f963fd)

        * Fix spelling mistake in manual.

M	doc/manual.xml.head

2020-04-14 01:07:29 +0200  Vincent Lefevre  <vincent@vinc17.net> (61867c9e)

        * Fix typo in manual.

M	doc/manual.xml.head

2020-04-12 13:13:43 -0700  Kevin McCarthy  <kevin@8t8.us> (c289e74c)

        * Remove ansi formatting from autoview generated quoted replies.
        
        If $allow_ansi is set, and the user has an autoview generating ansi
        output, it is helpful to strip out those sequences.
        
        This is based on Fabian's patch for ticket #218.  My version results
        in partially duplicated logic, but avoids tangling the handler with
        pager's internal fill_buffer() logic.

M	handler.c
M	muttlib.c
M	protos.h

2020-04-13 07:00:49 -0700  Kevin McCarthy  <kevin@8t8.us> (950cc435)

