<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>NeoMutt</title>
    <description>Teaching an Old Dog New Tricks</description>
    <link>https://neomutt.org/</link>
    <atom:link href="https://neomutt.org/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Mon, 06 Apr 2026 13:25:26 +0000</pubDate>
    <lastBuildDate>Mon, 06 Apr 2026 13:25:26 +0000</lastBuildDate>
    
      <item>
        <title>Release 2026-04-06</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This release focuses on IMAP reliability, with connection monitoring, timeouts,
and reconnection backoff. It also includes many bug fixes across IMAP, threading,
and the index.&lt;/p&gt;

&lt;h2 id=&quot;-sponsors&quot;&gt;💎 Sponsors&lt;/h2&gt;

&lt;p&gt;Special thanks to our &lt;strong&gt;sponsors&lt;/strong&gt;:&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/jindraj/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/1755070&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/scottkosty/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/1149353&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/kmARC/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/6640417&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/bittorf&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/198379&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;left&quot;&gt;&lt;a href=&quot;https://github.com/igor47/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/200575&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Jakub&amp;nbsp;Jindra&lt;br /&gt;@jindraj&lt;/td&gt;
    &lt;td&gt;Scott&amp;nbsp;Kostyshak&lt;br /&gt;@scottkosty&lt;/td&gt;
    &lt;td&gt;Mark&amp;nbsp;Korondi&lt;br /&gt;@kmARC&lt;/td&gt;
    &lt;td&gt;Bastian&amp;nbsp;Bittorf&lt;br /&gt;@bittorf&lt;/td&gt;
    &lt;td&gt;Igor&amp;nbsp;Serebryany&lt;br /&gt;@igor47&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/nicoe&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/44782&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/ricci&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/829847&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/DominoTree&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/5438118&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/sstark&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/837918&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;left&quot;&gt;&lt;a href=&quot;https://github.com/terminaldweller&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/20871975&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Nicolas&amp;nbsp;Évrard&lt;br /&gt;@nicoe&lt;/td&gt;
    &lt;td&gt;Robert Ricci&lt;br /&gt;@ricci&lt;/td&gt;
    &lt;td&gt;Nick Price&lt;br /&gt;@DominoTree&lt;/td&gt;
    &lt;td&gt;Sebastian Stark&lt;br /&gt;@sstark&lt;/td&gt;
    &lt;td&gt;Farzad Sadeghi&lt;br /&gt;@terminaldweller&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;Robert Labudda&lt;/li&gt;
  &lt;li&gt;Morgan Kelly&lt;/li&gt;
  &lt;li&gt;罗昭铭&lt;/li&gt;
  &lt;li&gt;Aboudoulaye Yatera&lt;/li&gt;
  &lt;li&gt;Marton Balazs (@martonbalazs)&lt;/li&gt;
  &lt;li&gt;Kirill Rekhov (@krekhovx)&lt;/li&gt;
  &lt;li&gt;Joonas Laine&lt;/li&gt;
  &lt;li&gt;Anonymous (Liberapay)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://neomutt.org/sponsor&quot;&gt;Become a sponsor of NeoMutt&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributor&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Vladimír Marek (@vlmarek)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Alejandro Colomar (@alejandro-colomar)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4799 Add IMAP connection monitoring, timeouts, and reconnection backoff&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4755 Fix off-by-one in ARRAY_RESERVE()&lt;/li&gt;
  &lt;li&gt;#4819 Fix IMAP crash when changing folders&lt;/li&gt;
  &lt;li&gt;Fix freeze in IMAP with OpenSSL&lt;/li&gt;
  &lt;li&gt;Fix blocking IMAP pipeline drain with many mailboxes&lt;/li&gt;
  &lt;li&gt;Fix crash on threaded index update&lt;/li&gt;
  &lt;li&gt;Fix crash on NULL thread in display subject&lt;/li&gt;
  &lt;li&gt;Fix menu half-down when data fits in one page&lt;/li&gt;
  &lt;li&gt;Fix alias search prompt&lt;/li&gt;
  &lt;li&gt;Fix index tag colours&lt;/li&gt;
  &lt;li&gt;Protect hooks against unhook during execution&lt;/li&gt;
  &lt;li&gt;Fix leak in pattern alias search&lt;/li&gt;
  &lt;li&gt;Consistently convert headers to LF EOL convention&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-changed-config&quot;&gt;🔧 Changed Config&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Changed: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;compose_show_preview = yes&lt;/code&gt;
Display a preview of the message body in the Compose window&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-docs&quot;&gt;📚 Docs&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$message_id_format&lt;/code&gt;: mention Base64Url encoding&lt;/li&gt;
  &lt;li&gt;Fix descriptions of deprecated config options&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4826 Use optreset on Solaris too&lt;/li&gt;
  &lt;li&gt;#4827 Avoid function name clash on Solaris&lt;/li&gt;
  &lt;li&gt;#4828 Allow Solaris to use qsort_s&lt;/li&gt;
  &lt;li&gt;Check docs requirements in configure&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fix graphviz debug output&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2026/04/06/release</link>
        <guid isPermaLink="true">https://neomutt.org/2026/04/06/release</guid>
      </item>
    
      <item>
        <title>Release 2026-01-05</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;Happy New Year 🎉&lt;/p&gt;

&lt;p&gt;This is a re-release of 2025-12-11, but I’ve reverted one change.
My fix for the Browser caused trouble/confusion, so I’ve removed it.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;One feature and lots of bug fixes.&lt;/p&gt;

&lt;p&gt;This release introduces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$message_id_format&lt;/code&gt; (&lt;a href=&quot;https://neomutt.org/guide/reference#message-id-format&quot;&gt;docs&lt;/a&gt;).&lt;/p&gt;

&lt;h2 id=&quot;-sponsors&quot;&gt;💎 Sponsors&lt;/h2&gt;

&lt;p&gt;Special thanks to our &lt;strong&gt;sponsors&lt;/strong&gt;:&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/jindraj/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/1755070&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/scottkosty/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/1149353&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/igor47/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/200575&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/kmARC/&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/6640417&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/bittorf&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/198379&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Jakub&amp;nbsp;Jindra&lt;br /&gt;@jindraj&lt;/td&gt;
    &lt;td&gt;Scott&amp;nbsp;Kostyshak&lt;br /&gt;@scottkosty&lt;/td&gt;
    &lt;td&gt;Igor&amp;nbsp;Serebryany&lt;br /&gt;@igor47&lt;/td&gt;
    &lt;td&gt;Mark&amp;nbsp;Korondi&lt;br /&gt;@kmARC&lt;/td&gt;
    &lt;td&gt;Bastian&amp;nbsp;Bittorf&lt;br /&gt;@bittorf&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/nicoe&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/44782&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/ricci&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/829847&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/terminaldweller&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/20871975&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&quot;left&quot; colspan=&quot;2&quot;&gt;&lt;a href=&quot;https://github.com/DominoTree&quot;&gt;&lt;img width=&quot;80&quot; src=&quot;https://avatars.githubusercontent.com/u/5438118&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Nicolas&amp;nbsp;Évrard&lt;br /&gt;@nicoe&lt;/td&gt;
    &lt;td&gt;Robert Ricci&lt;br /&gt;@ricci&lt;/td&gt;
    &lt;td&gt;Farzad Sadeghi&lt;br /&gt;@terminaldweller&lt;/td&gt;
    &lt;td align=&quot;left&quot; colspan=&quot;2&quot;&gt;Nick Price&lt;br /&gt;@DominoTree&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;Robert Labudda&lt;/li&gt;
  &lt;li&gt;Morgan Kelly&lt;/li&gt;
  &lt;li&gt;罗昭铭&lt;/li&gt;
  &lt;li&gt;Aboudoulaye Yatera&lt;/li&gt;
  &lt;li&gt;Marton Balazs	(@martonbalazs)&lt;/li&gt;
  &lt;li&gt;Kirill Rekhov (@krekhovx)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://neomutt.org/sponsor&quot;&gt;Become a sponsor of NeoMutt&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Sam Koved (@skoved)&lt;/li&gt;
  &lt;li&gt;Bjarni Ingi Gislason&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
  &lt;li&gt;Emir Sari (@bitigchi)&lt;/li&gt;
  &lt;li&gt;Страхиња Радић (@strahinja)&lt;/li&gt;
  &lt;li&gt;Carlos Henrique Lima Melara (@charles2910)&lt;/li&gt;
  &lt;li&gt;Thomas Adam (@thomasadam)&lt;/li&gt;
  &lt;li&gt;Dennis Schön (@roccoblues)&lt;/li&gt;
  &lt;li&gt;Keith Bowes (@keithbowes)&lt;/li&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-security&quot;&gt;🔒 Security&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4725	deprecate old ssl and tls options&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4718	add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$message_id_format&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Notmuch: hide some old/deprecated features&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4666	limit: force refresh of index bar&lt;/li&gt;
  &lt;li&gt;#4671	Update the status bar on thread [un]collapse&lt;/li&gt;
  &lt;li&gt;#4673	shrink history file on every new entry&lt;/li&gt;
  &lt;li&gt;#4679	Flush S/MIME passkey on failure to sign&lt;/li&gt;
  &lt;li&gt;#4684	execute message-hook sooner&lt;/li&gt;
  &lt;li&gt;#4687	fix: exec auto-completion&lt;/li&gt;
  &lt;li&gt;#4688	Fix infinite loop in GnuTLS socket I/O when socket blocks&lt;/li&gt;
  &lt;li&gt;#4696	&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd_parse_fetch()&lt;/code&gt;: debug: avoid NULL dereference&lt;/li&gt;
  &lt;li&gt;#4697	expunge: guard against segfault&lt;/li&gt;
  &lt;li&gt;#4719	alias: complete when only one match&lt;/li&gt;
  &lt;li&gt;#4726	imap: protect against crash on shutdown&lt;/li&gt;
  &lt;li&gt;fix resolve for tagged save&lt;/li&gt;
  &lt;li&gt;help: fix sorting of unbound functions&lt;/li&gt;
  &lt;li&gt;help: hide deprecated functions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-changed-config&quot;&gt;🔧 Changed Config&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;New: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;message_id_format = &quot;&amp;lt;%z@%f&amp;gt;&quot;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Deprecated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssl_use_sslv2&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Deprecated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssl_use_sslv3&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Deprecated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssl_use_tlsv1&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Deprecated &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssl_use_tlsv1_1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% ✳️ Esperanto&lt;/li&gt;
  &lt;li&gt;100% 🇱🇹 Lithuanian&lt;/li&gt;
  &lt;li&gt;100% 🇷🇸 Serbian&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-docs&quot;&gt;📚 Docs&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4665	Revamp the S/MIME docs&lt;/li&gt;
  &lt;li&gt;#4680	Document how to use S/MIME with GPGMe&lt;/li&gt;
  &lt;li&gt;#4692	update the contribution guidelines&lt;/li&gt;
  &lt;li&gt;fix deprecated $pager example&lt;/li&gt;
  &lt;li&gt;lots man pages fixes&lt;/li&gt;
  &lt;li&gt;update help for sort options&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4668	fix build for re-entrant ncurses&lt;/li&gt;
  &lt;li&gt;#4727	make openssl/gnutls mutually exclusive&lt;/li&gt;
  &lt;li&gt;libkey: light refactoring&lt;/li&gt;
  &lt;li&gt;lua: create liblua&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4695	Replace some &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TAILQ&lt;/code&gt; uses with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ARRAY&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;convert the ctype wrappers to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bool&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;global invert &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OptNoCurses&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OptGui&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;key: collapse redirector functions&lt;/li&gt;
  &lt;li&gt;move &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;km_init()&lt;/code&gt; earlier in startup&lt;/li&gt;
  &lt;li&gt;opcodes: add flags to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MenuFuncOp&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;pass focused window to global functions&lt;/li&gt;
  &lt;li&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;buf_at()&lt;/code&gt; to get a char from a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Buffer&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;StringArray&lt;/code&gt; everywhere&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2026/01/05/release</link>
        <guid isPermaLink="true">https://neomutt.org/2026/01/05/release</guid>
      </item>
    
      <item>
        <title>Release 2025-12-11</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This Release has been superseded by &lt;a href=&quot;https://neomutt.org/2026/01/05/release&quot;&gt;2026-01-05&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It’s safe to use, but &lt;a href=&quot;https://neomutt.org/2026/01/05/release&quot;&gt;2026-01-05&lt;/a&gt; is better.&lt;/p&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/12/11/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/12/11/release</guid>
      </item>
    
      <item>
        <title>Release 2025-09-05</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This is a small release: one new config option and some bug fixes.&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributor&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Gopi Krishna Menon (@gopi487krishna)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Dennis Schön (@roccoblues)&lt;/li&gt;
  &lt;li&gt;Ryan d’Huart (@homoelectromagneticus)&lt;/li&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
  &lt;li&gt;Thomas Klausner (@0-wiz-0)&lt;/li&gt;
  &lt;li&gt;Róbert Horváth (@r001)&lt;/li&gt;
  &lt;li&gt;Rayford Shireman (@rayfordshire)&lt;/li&gt;
  &lt;li&gt;Gerrit Rüsing (@kbcb)&lt;/li&gt;
  &lt;li&gt;Emir Sari (@bitigchi)&lt;/li&gt;
  &lt;li&gt;Alejandro Colomar (@alejandro-colomar)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-security&quot;&gt;🔒 Security&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4623 ncrypt/crypt.c: Protect Message-ID&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4644 Provide an option to confirm on an empty To&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-contrib&quot;&gt;✨ Contrib&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4645 Add ayu-dark-256 colorscheme&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4635 Handle a non-existing message_cache_dir&lt;/li&gt;
  &lt;li&gt;#4642 Decouple &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$crypt_encryption_info&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$crypt_protected_headers_weed&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$devel_security&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4650 Return success after querying for config&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-changed-config&quot;&gt;🔧 Changed Config&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Add: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;confirm_empty_to = no&lt;/code&gt;
Confirm when sending an e-mail with an empty To:&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% 🇩🇪 German&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
  &lt;li&gt;99% 🇭🇺 Hungarian&lt;/li&gt;
  &lt;li&gt;98% 🇱🇹 Lithuanian&lt;/li&gt;
  &lt;li&gt;89% 🇫🇷 French&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4636 Update FreeBSD CI and workaround &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pkg&lt;/code&gt; bug&lt;/li&gt;
  &lt;li&gt;actions: use checkout v5&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4023 tweak observer event types&lt;/li&gt;
  &lt;li&gt;#4628 Use the standard countof instead of our mutt_array_size()&lt;/li&gt;
  &lt;li&gt;#4637 Update types in test dummy code&lt;/li&gt;
  &lt;li&gt;#4638 remove useless const qualifier from log_queue_get()&lt;/li&gt;
  &lt;li&gt;#4655 Make sure ctype(3) function arguments are valid&lt;/li&gt;
  &lt;li&gt;#4657 Fix warning about unused function and data&lt;/li&gt;
  &lt;li&gt;#4659 Include term.h and [n]curses.h consistently&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Fri, 05 Sep 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/09/05/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/09/05/release</guid>
      </item>
    
      <item>
        <title>Release 2025-05-10</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This is a small Bug-Fix Release.&lt;/p&gt;

&lt;p&gt;The only big change is the new &lt;strong&gt;complete&lt;/strong&gt; Esperanto Translation.
Thanks Keith!&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Keith Bowes (@keithbowes)&lt;/li&gt;
  &lt;li&gt;Juris Lambda (@jxlambda)&lt;/li&gt;
  &lt;li&gt;Luz Paz (@luzpaz)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
  &lt;li&gt;EC Herenz (@Knusper)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-contrib&quot;&gt;✨ Contrib&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4616 Fix gpg-json output&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4600 main: don’t stop if /var/spool/mail is missing&lt;/li&gt;
  &lt;li&gt;#4602 color: fix quoted maths&lt;/li&gt;
  &lt;li&gt;#4604 Don’t consider “weed” when writing an email to file&lt;/li&gt;
  &lt;li&gt;#4605 help: fix leaks&lt;/li&gt;
  &lt;li&gt;#4612 imap: check for incomplete Mailboxes on sync&lt;/li&gt;
  &lt;li&gt;#4622 fix label completion crash&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4622 update Esperanto translation&lt;/li&gt;
  &lt;li&gt;Update lt_LT translations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-docs&quot;&gt;📚 Docs&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;docs: fix broken functions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4607 Check for DocBook XSL&lt;/li&gt;
  &lt;li&gt;#4618 Build and test on FreeBSD&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Sat, 10 May 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/05/10/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/05/10/release</guid>
      </item>
    
      <item>
        <title>Release 2025-04-04</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This is (mostly) a Bug-Fix Release.&lt;/p&gt;

&lt;p&gt;Most of other changes are improving the startup/help, e.g.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;neomutt -h       # Clearer help&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;neomutt -h send  # Specific help with examples&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;neomutt -DD      # Dump different (changed) config&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;@wbob&lt;/li&gt;
  &lt;li&gt;@Leif-W&lt;/li&gt;
  &lt;li&gt;Michael J Gruber (@mjg)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Chao-Kuei Hung (@ckhung)&lt;/li&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Rayford Shireman (@rayfordshire)&lt;/li&gt;
  &lt;li&gt;Gerrit Rüsing (@kbcb)&lt;/li&gt;
  &lt;li&gt;Ian Zimmerman (@nobrowser)&lt;/li&gt;
  &lt;li&gt;Ryan d’Huart (@homoelectromagneticus)&lt;/li&gt;
  &lt;li&gt;Dennis Schön (@roccoblues)&lt;/li&gt;
  &lt;li&gt;Emir Sari (@bitigchi)&lt;/li&gt;
  &lt;li&gt;Mateus Etto (@yutsuten)&lt;/li&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4493 - config: don’t quote enums&lt;/li&gt;
  &lt;li&gt;#4493 - link config dump to docs&lt;/li&gt;
  &lt;li&gt;#4494 - refactor the Help Page for clarity&lt;/li&gt;
  &lt;li&gt;#4554 - CLI: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;neomutt -DD&lt;/code&gt; – Dump Different&lt;/li&gt;
  &lt;li&gt;#4593 - browser: tag select rather than descend&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#3469 - source: fix variable interpretation&lt;/li&gt;
  &lt;li&gt;#4370 - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mutt_oauth2&lt;/code&gt;: refactor &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sasl_string&lt;/code&gt; computation&lt;/li&gt;
  &lt;li&gt;#4536 - expand tabs to spaces in compose preview&lt;/li&gt;
  &lt;li&gt;#4537 - fix dumping of initial values&lt;/li&gt;
  &lt;li&gt;#4538 - move &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;real_name&lt;/code&gt; init&lt;/li&gt;
  &lt;li&gt;#4542 - Remove &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MUTT_NEWFOLDER&lt;/code&gt;, fix appending to mbox&lt;/li&gt;
  &lt;li&gt;#4546 - Respect Ignore when modifying an email’s headers&lt;/li&gt;
  &lt;li&gt;#4549 - fix refresh on toggle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hide_thread_subject&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4550 - buffer: fix seek&lt;/li&gt;
  &lt;li&gt;#4551 - add comma to single &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;complete-query&amp;gt;&lt;/code&gt; match&lt;/li&gt;
  &lt;li&gt;#4595 - notmuch: check for parse failure&lt;/li&gt;
  &lt;li&gt;#4596 - query: allow &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&amp;gt;&lt;/code&gt;s around email addresses&lt;/li&gt;
  &lt;li&gt;pager: fix normal/stripe colour&lt;/li&gt;
  &lt;li&gt;fix colour leaks in pager&lt;/li&gt;
  &lt;li&gt;fix array leak in the verify certificate dialog&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% 🇩🇪 German&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
  &lt;li&gt;96% 🇱🇹 Lithuanian&lt;/li&gt;
  &lt;li&gt;86% 🇫🇷 French&lt;/li&gt;
  &lt;li&gt;49% 🇹🇼 Chinese (Traditional)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4552 - Deprecate some configure options that aren’t used anymore&lt;/li&gt;
  &lt;li&gt;build: workaround for unused-result warning&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4492 - colour refactoring&lt;/li&gt;
  &lt;li&gt;#4543 - debug: Chain old SEGV Handler&lt;/li&gt;
  &lt;li&gt;#4545 - Allow nested &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ARRAY_FOREACH()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4553 - config: API &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;has_been_set()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4557 - config: drop ConfigSet from API functions&lt;/li&gt;
  &lt;li&gt;#4558 - drop obsolete pgp/smime menus&lt;/li&gt;
  &lt;li&gt;#4559 - array: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;foreach_reverse()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4560 - Change description of verify-key to be crypto-scheme agnostic&lt;/li&gt;
  &lt;li&gt;#4561 - expando: move EnvList out of library&lt;/li&gt;
  &lt;li&gt;#4570 - Simplify the management of NeoMutt Commands&lt;/li&gt;
  &lt;li&gt;#4571 - libcli - parse the command line&lt;/li&gt;
  &lt;li&gt;#4580 - Split CLI Usage into sections&lt;/li&gt;
  &lt;li&gt;#4582 - pager: fix lost &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NT_PAGER&lt;/code&gt; notifications&lt;/li&gt;
  &lt;li&gt;#4591 - pager: fix refresh on config/colour changes&lt;/li&gt;
  &lt;li&gt;array: upgrade &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;get_elem_list()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Buffer refactoring&lt;/li&gt;
  &lt;li&gt;coverity: fix defects&lt;/li&gt;
  &lt;li&gt;improve &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;localise_config()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;main: drop -B (batch mode) option&lt;/li&gt;
  &lt;li&gt;merge init.[ch] into main.c&lt;/li&gt;
  &lt;li&gt;refactor version code&lt;/li&gt;
  &lt;li&gt;neomutt: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;home_dir&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;username&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;env&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;query: unify NeoMutt &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-D&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-Q&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;refactor &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main.c&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;init.c&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;sidebar: streamline expando callbacks&lt;/li&gt;
  &lt;li&gt;test: lots of parse coverage&lt;/li&gt;
  &lt;li&gt;window refactoring&lt;/li&gt;
  &lt;li&gt;
    &lt;table&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td&gt;window: force recalc&lt;/td&gt;
          &lt;td&gt;repaint on new windows&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-upstream&quot;&gt;♻️ Upstream&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Update mutt/queue.h&lt;/li&gt;
  &lt;li&gt;Fix NULL pointer dereference when calling &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;imap_logout_all()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Fri, 04 Apr 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/04/04/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/04/04/release</guid>
      </item>
    
      <item>
        <title>Release 2025-01-13</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This is a small Bug-Fix Release.&lt;/p&gt;

&lt;p&gt;DO NOT use the 2025-01-09 release.
I’m really sorry, but it had a problem with mbox Mailboxes.&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Helge Deller (@hdeller)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Ryan d’Huart (@homoelectromagneticus)&lt;/li&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Dennis Schön (@roccoblues)&lt;/li&gt;
  &lt;li&gt;Chao-Kuei Hung (@ckhung)&lt;/li&gt;
  &lt;li&gt;Страхиња Радић (@strahinja)&lt;/li&gt;
  &lt;li&gt;Gerrit Rüsing (@kbcb)&lt;/li&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
  &lt;li&gt;Jakub Jindra (@jindraj)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4477 fix crash in folder-hook&lt;/li&gt;
  &lt;li&gt;#4480 fix memory leak in compose message preview (fixes #4478)&lt;/li&gt;
  &lt;li&gt;#4483 query: fix comma-separated names&lt;/li&gt;
  &lt;li&gt;#4485 lua: fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lua_mutt_call()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4490 notmuch: refresh the Email if the filename changes&lt;/li&gt;
  &lt;li&gt;fix: no new mail message&lt;/li&gt;
  &lt;li&gt;fix display of certificate fingerprints&lt;/li&gt;
  &lt;li&gt;fix prompt colour&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% 🇨🇿 Czech&lt;/li&gt;
  &lt;li&gt;100% 🇩🇪 German&lt;/li&gt;
  &lt;li&gt;100% 🇱🇹 Lithuanian&lt;/li&gt;
  &lt;li&gt;100% 🇷🇸 Serbian&lt;/li&gt;
  &lt;li&gt;100% 🇸🇰 Slovakian&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
  &lt;li&gt;91% 🇫🇷 French&lt;/li&gt;
  &lt;li&gt;41% 🇹🇼 Chinese (Traditional)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4479 Fix DT_NUMBER entries on 32-bit endian platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4481 Simplify &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mutt_file_fopen()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;colour refactoring&lt;/li&gt;
  &lt;li&gt;standardise variable names for temporary files&lt;/li&gt;
&lt;/ul&gt;

          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Mon, 13 Jan 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/01/13/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/01/13/release</guid>
      </item>
    
      <item>
        <title>Release 2025-01-09</title>
        <description>
          

          

          &lt;h2 id=&quot;broken---do-not-use&quot;&gt;BROKEN - DO NOT USE&lt;/h2&gt;

&lt;p&gt;Use Release 2025-01-13 or later&lt;/p&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Thu, 09 Jan 2025 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2025/01/09/release</link>
        <guid isPermaLink="true">https://neomutt.org/2025/01/09/release</guid>
      </item>
    
      <item>
        <title>Release 2024-12-12</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;h3 id=&quot;compose-message-preview&quot;&gt;Compose Message Preview&lt;/h3&gt;

&lt;p&gt;A new feature this release: Compose Message Preview – See the email you’re about to send.
Thanks Dennis! (@roccoblues)&lt;/p&gt;

&lt;p&gt;To enable it: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;set compose_show_preview = yes&lt;/code&gt;
More info: https://neomutt.org/feature/compose-message-preview&lt;/p&gt;

&lt;h3 id=&quot;config-changes&quot;&gt;Config Changes&lt;/h3&gt;

&lt;p&gt;Along with a lot of code refactoring there have been some config changes.
They unify the Alias and Query Dialogs – same behaviour, same format strings.&lt;/p&gt;

&lt;p&gt;The changes are backwards compatible.&lt;/p&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Chao-Kuei Hung (@ckhung)&lt;/li&gt;
  &lt;li&gt;Dmitry Polunin (@frei-0xff)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Marius Gedminas (@mgedmin)&lt;/li&gt;
  &lt;li&gt;Ryan d’Huart (@homoelectromagneticus)&lt;/li&gt;
  &lt;li&gt;Страхиња Радић (@strahinja)&lt;/li&gt;
  &lt;li&gt;Claes Nästén (@pekdon)&lt;/li&gt;
  &lt;li&gt;Alejandro Colomar (@alejandro-colomar)&lt;/li&gt;
  &lt;li&gt;Dennis Schön (@roccoblues)&lt;/li&gt;
  &lt;li&gt;Scott Kostyshak (@scottkosty)&lt;/li&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;EC Herenz (@knusper)&lt;/li&gt;
  &lt;li&gt;Carlos Henrique Lima Melara (@charles2910)&lt;/li&gt;
  &lt;li&gt;Emir Sari (@bitigchi)&lt;/li&gt;
  &lt;li&gt;Gerrit Rüsing (@kbcb)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4437 show message preview in compose view&lt;/li&gt;
  &lt;li&gt;#4439 add trailing commas when editing addresses&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4444 expando: fix overflow&lt;/li&gt;
  &lt;li&gt;#4461 Spaces can be wide&lt;/li&gt;
  &lt;li&gt;#4464 Remove BOM from UTF-8 text&lt;/li&gt;
  &lt;li&gt;#4467 Bug with wrong fingerprints in certificate_file&lt;/li&gt;
  &lt;li&gt;#4470 fix postponed sorting assertion failure&lt;/li&gt;
  &lt;li&gt;#4472 fix: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;save_attachment_open()&lt;/code&gt; when overwriting&lt;/li&gt;
  &lt;li&gt;#4473 add text-wrapping to compose message preview pager&lt;/li&gt;
  &lt;li&gt;#4475 edit_headers: cleanup temporary file on error&lt;/li&gt;
  &lt;li&gt;expando: fix crash on empty %[] date&lt;/li&gt;
  &lt;li&gt;expando: fix container formatting&lt;/li&gt;
  &lt;li&gt;browser: fix ‘tag-‘ display&lt;/li&gt;
  &lt;li&gt;query: fix memory leak&lt;/li&gt;
  &lt;li&gt;fix more arrow_cursor + search&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-changed-config&quot;&gt;🔧 Changed Config&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Config Renames:
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$pgp_sort_keys&lt;/code&gt;       -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$pgp_key_sort&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$sidebar_sort_method&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$sidebar_sort&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$sort_alias&lt;/code&gt;          -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$alias_sort&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$sort_browser&lt;/code&gt;        -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$browser_sort&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Changed Defaults:
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;set alias_format = &quot;%3i %f%t %-15a %-56A | %C%&amp;gt; %Y&quot;&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;set query_format = &quot;%3i %t %-25N %-25E | %C%&amp;gt; %Y&quot;&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% 🇩🇪 German&lt;/li&gt;
  &lt;li&gt;100% 🇱🇹 Lithuanian&lt;/li&gt;
  &lt;li&gt;100% 🇷🇸 Serbian&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
  &lt;li&gt;89% 🇫🇷 French&lt;/li&gt;
  &lt;li&gt;39% 🇹🇼 Chinese (Traditional)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;shield-coverity-defects&quot;&gt;:shield: Coverity Defects&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Explicit null dereferenced&lt;/li&gt;
  &lt;li&gt;Overflowed constant&lt;/li&gt;
  &lt;li&gt;Overflowed return value&lt;/li&gt;
  &lt;li&gt;Resource leak&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-docs&quot;&gt;📚 Docs&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;alias tags&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4452 only use struct tm.tm_gmtoff if available&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4294 refactor memory allocation&lt;/li&gt;
  &lt;li&gt;#4442 remove unused fields from ComposeSharedData&lt;/li&gt;
  &lt;li&gt;#4447 refactor ‘sort’ constants&lt;/li&gt;
  &lt;li&gt;#4449 add mutt_window_swap()&lt;/li&gt;
  &lt;li&gt;unify Menu data&lt;/li&gt;
  &lt;li&gt;move config to libraries&lt;/li&gt;
  &lt;li&gt;unify Alias/Query&lt;/li&gt;
  &lt;li&gt;expando factor out callbacks&lt;/li&gt;
  &lt;li&gt;refactor simple_dialog_new()&lt;/li&gt;
  &lt;li&gt;test: add TEST_CHECK_NUM_EQ()&lt;/li&gt;
  &lt;li&gt;fopen: tidy read-only&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-upstream&quot;&gt;♻️ Upstream&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4448 Update queue.h&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Thu, 12 Dec 2024 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2024/12/12/release</link>
        <guid isPermaLink="true">https://neomutt.org/2024/12/12/release</guid>
      </item>
    
      <item>
        <title>Release 2024-11-14</title>
        <description>
          

          

          &lt;h2 id=&quot;-notes&quot;&gt;📖 Notes&lt;/h2&gt;

&lt;p&gt;This release is mostly bug-fixes.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Expando handling (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;%x&lt;/code&gt; things) should now be robust, including escaping chars like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://neomutt.org/feature/cli-crypto&quot;&gt;CLI Crypto&lt;/a&gt; is no-longer devel&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-thanks&quot;&gt;❤️ Thanks&lt;/h2&gt;

&lt;p&gt;Many thanks to our &lt;strong&gt;new contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Colin Wee (@googlebleh)&lt;/li&gt;
  &lt;li&gt;李经纬 (@ljw20180420)&lt;/li&gt;
  &lt;li&gt;Viacheslav Chimishuk (@vchimishuk)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and our &lt;strong&gt;regular contributors&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Alejandro Colomar (@alejandro-colomar)&lt;/li&gt;
  &lt;li&gt;Jakub Jindra (@jindraj)&lt;/li&gt;
  &lt;li&gt;Carlos Henrique Lima Melara (@charles2910)&lt;/li&gt;
  &lt;li&gt;Pietro Cerutti (@gahr)&lt;/li&gt;
  &lt;li&gt;Emir Sari (@bitigchi)&lt;/li&gt;
  &lt;li&gt;Ryan d’Huart (@homoelectromagneticus)&lt;/li&gt;
  &lt;li&gt;Gerrit Rüsing (@kbcb)&lt;/li&gt;
  &lt;li&gt;vuori (@vuori)&lt;/li&gt;
  &lt;li&gt;James Cook (@falsifian)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-security&quot;&gt;🔒 Security&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed: CVE-2024-49393&lt;/li&gt;
  &lt;li&gt;Fixed: CVE-2024-49394&lt;/li&gt;
  &lt;li&gt;#4300 Read the protected Message-ID&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-features&quot;&gt;🎁 Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4336 Allow toggling numeric configs, e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;:toggle pager_index_lines&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4427 alias: tag/untag pattern&lt;/li&gt;
  &lt;li&gt;query: tag with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;space&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-contrib&quot;&gt;✨ Contrib&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4400 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mutt_oauth2.py&lt;/code&gt;: Fix reference to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;client_secret&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-bug-fixes&quot;&gt;🐞 Bug Fixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4399 fix duplicate save-hook&lt;/li&gt;
  &lt;li&gt;#4403 expando: fix escaping&lt;/li&gt;
  &lt;li&gt;#4404 browser: fix enter-quit-enter&lt;/li&gt;
  &lt;li&gt;#4405 pager: fix repaint&lt;/li&gt;
  &lt;li&gt;#4407 config: warn about deprecated variables&lt;/li&gt;
  &lt;li&gt;#4425 Refresh alias/query dialog on alias/query format change&lt;/li&gt;
  &lt;li&gt;#4433 compose: fix redraw on attachment&lt;/li&gt;
  &lt;li&gt;#4436 compose: fix search with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;arrow_cursor&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;#4438 autocrypt: fix &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;copy_normalize_addr()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;alias: fix cli crash&lt;/li&gt;
  &lt;li&gt;expando: fix relative dates&lt;/li&gt;
  &lt;li&gt;expando: padding default to space&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-translations&quot;&gt;🏴 Translations&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;100% 🇩🇪 German&lt;/li&gt;
  &lt;li&gt;100% 🇹🇷 Turkish&lt;/li&gt;
  &lt;li&gt;99% 🇨🇿 Czech&lt;/li&gt;
  &lt;li&gt;99% 🇸🇰 Slovak&lt;/li&gt;
  &lt;li&gt;82% 🇫🇷 French&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-docs&quot;&gt;📚 Docs&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;drop refs to always-enabled features&lt;/li&gt;
  &lt;li&gt;fix typo in unmacro&lt;/li&gt;
  &lt;li&gt;fix broken link&lt;/li&gt;
  &lt;li&gt;ncrypt: fix typo in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.c&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-build&quot;&gt;🏗️ Build&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4409 Use FreeBSD 14.1 in Cirrus CI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-code&quot;&gt;⚙️ Code&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;#4294 Create memory alloc wrappers&lt;/li&gt;
  &lt;li&gt;#4391 Don’t return the result of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;realpath()&lt;/code&gt; on failure&lt;/li&gt;
  &lt;li&gt;#4417 Fix memory leak in hcache&lt;/li&gt;
  &lt;li&gt;#4423 Lots of expando refactoring&lt;/li&gt;
  &lt;li&gt;fix type of PatternFlags.tag&lt;/li&gt;
  &lt;li&gt;tidy: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;smime_get_key_by_str()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


          
          &lt;div class=&quot;author&quot;&gt;
            
            &lt;a href=&quot;https://github.com/flatcap&quot;&gt;Richard Russon (flatcap)&lt;/h2&gt;
          &lt;/div&gt;
          
        </description>
        <pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate>
        <link>https://neomutt.org/2024/11/14/release</link>
        <guid isPermaLink="true">https://neomutt.org/2024/11/14/release</guid>
      </item>
    
  </channel>
</rss>
