:book: Notes

There hasn’t been a NeoMutt release for eight months, but we haven’t been idle. We’ve spent the time making some huge architectural improvements to the code. Of course, big changes come with the risk that we might have broken things.

We’re happy that NeoMutt is stable and ready for general use, once again, and we encourage you to upgrade.

If you find any problems please let us know as soon as possible. (There will probably be a bug-fix release in a week or two)

Config: If you want new mail to be detected automatically, make sure that you have the config set mail_check_stats = yes

This now applies in a few more places, including Notmuch mailboxes.

:heart: Thanks

Many thanks to our new contributors:

and our regular contributors:

:lock: Security

  • Fix CVE-2021-32055

:gift: Features

  • threads: implement the $use_threads feature https://neomutt.org/feature/use-threads
  • hooks: allow a -noregex param to folder and mbox hooks
  • mailing lists: implement list-(un)subscribe using RFC2369 headers
  • mailcap: implement x-neomutt-nowrap flag
  • pager: add $local_date_header option
  • imap, smtp: add support for authenticating using XOAUTH2
  • Allow <sync-mailbox> to fail quietly
  • imap: speed up server-side searches
  • pager: improve skip-quoted and skip-headers
  • notmuch: open database with user’s configuration
  • notmuch: implement <vfolder-window-reset>
  • config: allow += modification of my_ variables
  • notmuch: tolerate file renames behind neomutt’s back
  • pager: implement $pager_read_delay
  • notmuch: validate nm_query_window_timebase
  • notmuch: make $nm_record work in non-notmuch mailboxes
  • compose: add $greeting - a welcome message on top of emails
  • notmuch: show additional mail in query windows

:wrench: Changed Config

We’ve renamed a lot of config variables, adding underscores, for clarity and consistency, e.g. askbcc becomes ask_bcc.

The old names will continue to work for the foreseeable future.

:lady_beetle: Bug Fixes

  • imap: fix crash on external IMAP events
  • notmuch: handle missing libnotmuch version bumps
  • imap: add sanity check for qresync
  • notmuch: allow windows with 0 duration
  • index: fix index selection on <collapse-all>
  • imap: fix crash when sync’ing labels
  • search: fix searching by Message-Id in <mark-message>
  • threads: fix double sorting of threads
  • stats: don’t check mailbox stats unless told
  • alias: fix crash on empty query
  • pager: honor mid-message config changes
  • mailbox: don’t propagate read-only state across reopens
  • hcache: fix caching new labels in the header cache
  • crypto: set invalidity flags for gpgme/smime keys
  • notmuch: fix parsing of multiple type=
  • notmuch: validate $nm_default_url
  • messages: avoid unnecessary opening of messages
  • imap: fix seqset iterator when it ends in a comma
  • build: refuse to build without pcre2 when pcre2 is linked in ncurses

:black_flag: Translations

  • 100% :serbia: Serbian
  • 100% :lithuania: Lithuanian
  • 100% :de: German
  • 100% :czech_republic: Czech
  • 96% :es: Spanish
  • 92% :poland: Polish
  • 85% :norway: Norwegian
  • 80% :fr: French
  • 78% :ru: Russian
  • 74% :white_flag: Esperanto
  • 66% :greece: Greek