:book: Notes

This release is mostly bug-fixes.

  • Expando handling (%x things) should now be robust, including escaping chars like <
  • CLI Crypto is no-longer devel

:gem: Sponsors

Special thanks to our sponsors:

Jakub Jindra
@jindraj
Scott Kostyshak
@scottkosty
Ander Punnar
@4nd3r
Igor Serebryany
@igor47
Mark Korondi
@kmARC
Mateus Etto
@yutsuten
J Sheng
@lamons
Bastian Bittorf
@bittorf
Nicolas Évrard
@nicoe
Farzad Sadeghi
@terminaldweller
Blunix GmbH
Linux support company
from Berlin, Germany

Become a sponsor of NeoMutt

:heart: Thanks

Many thanks to our new contributors:

and our regular contributors:

:lock: Security

  • Fixed: CVE-2024-49393
  • Fixed: CVE-2024-49394
  • #4300 Read the protected Message-ID

:gift: Features

  • #4336 Allow toggling numeric configs, e.g. :toggle pager_index_lines
  • #4427 alias: tag/untag pattern
  • query: tag with <space>

:sparkles: Contrib

  • #4400 mutt_oauth2.py: Fix reference to client_secret

:beetle: Bug Fixes

  • #4399 fix duplicate save-hook
  • #4403 expando: fix escaping
  • #4404 browser: fix enter-quit-enter
  • #4405 pager: fix repaint
  • #4407 config: warn about deprecated variables
  • #4425 Refresh alias/query dialog on alias/query format change
  • #4433 compose: fix redraw on attachment
  • #4436 compose: fix search with arrow_cursor
  • #4438 autocrypt: fix copy_normalize_addr()
  • alias: fix cli crash
  • expando: fix relative dates
  • expando: padding default to space

:black_flag: Translations

  • 100% :de: German
  • 100% :tr: Turkish
  • 99% :czech_republic: Czech
  • 99% :slovakia: Slovak
  • 82% :fr: French

:books: Docs

  • drop refs to always-enabled features
  • fix typo in unmacro
  • fix broken link
  • ncrypt: fix typo in config.c

:building_construction: Build

  • #4409 Use FreeBSD 14.1 in Cirrus CI

:gear: Code

  • #4294 Create memory alloc wrappers
  • #4391 Don’t return the result of realpath() on failure
  • #4417 Fix memory leak in hcache
  • #4423 Lots of expando refactoring
  • fix type of PatternFlags.tag
  • tidy: smime_get_key_by_str()