[neomutt-devel] NeoMutt 2024-04-16
Richard Russon
rich at flatcap.org
Tue Apr 16 13:15:42 CEST 2024
## Notes
This is a feature release, sort of :-)
There are lots of bug fixes too.
The biggest change is to how NeoMutt handles format strings.
Thanks János!
Format strings are now parsed *when they are set*, rather than *every time they are used*.
This means we can check for errors, e.g.
set index_format = "%Q"
Option index_format: Unknown expando: %Q
Next, 8 config strings have been Localized.
Localization (L10N) allows translators to provide language-specific defaults,
e.g. `$attribution_intro`
- English: "On %d, %n wrote:
- Serbian: "Дана %d, %n написа:"
- German: "Am %d, schrieb %n:"
These are the *defaults*: they can still be overridden.
## Sponsors
- Jakub Jindra (@jindraj)
- Scott Kostyshak (@scottkosty)
- Ander Punnar (@4nd3r)
- Igor Serebryany (@igor47)
- Martin Spendiff (@veebch)
- Mark Korondi (@kmARC)
- Robert Labudda
- Mateus Etto (@yutsuten)
- J Sheng (@lamons)
- Patrick Koetter (@patrickbenkoetter)
- Sebastian Kowalczyk
- 海老根蓉也
- Reiko Kaps
Become a sponsor of NeoMutt - https://neomutt.org/sponsor
## Thanks
Many thanks to our *regular contributors*:
- Alejandro Colomar (@alejandro-colomar)
- Gerrit Rüsing (@kbcb)
- Emir Sari (@bitigchi)
- Dennis Schön (@roccoblues)
- Tóth János (@g0mb4)
- Marius Gedminas (@mgedmin)
- Страхиња Радић (@strahinja)
- Mateus Etto (@yutsuten)
- Pierre Colin (@Pierre-Colin)
- Jakub Jindra (@jindraj)
and our *sharp-eyed testers*:
- Scott Kostyshak (@scottkosty)
- Jörg Sommer (@jo-so)
- William Casarin (@jb55)
- @dorsiflexion
- Horacio Sanson (@hsanson)
## Features
- #4216 Compose: Hide MixMaster chain if chain is empty
- Expando upgrade
- version: bold labels
## Contrib
- mutt_oauth2.py: Detect recipient for oauth automatically
- mutt_oauth2.py: imap_oauth_refresh_command does not need options
## Bug Fixes
- #4210 mbox: fix sorting for `mbox_resync()`
- #4241 only wrap after first address in header lines
- status: reset Buffer before reuse
- history: truncate file before writing over it
- notmuch: strip leading / from short path
- Fix smtp client `$envelope_from_address` possible dangling pointer
- Fix non-printable keyname printing to use `<octal>` syntax
- Filter Arabic Letter Mark due to display corruption
- Loosen `imap_open_mailbox()` SELECT response data parsing
- Change `mailto_allow` to be exact match only
- Fix `mutt_read_rfc822_line()` to use `is_email_wsp()`
- Improve pattern compiler whitespace skipping
- Fix gpgme crash when listing keys in a public key block
- Add SigInt handler for pattern functions
- Fix some mailbox prompts to use mailbox history ring
- Improve GPGME inline processing
- Reset SIGPIPE signal handler in child process before `exec()`
- Filter headers passed via the command line
- Remove trailing slashes when opening maildir/mh mailboxes
- Fix `mutt_paddstr()` to properly filter unprintable chars
- Minor fixes to `match_body_patterns()`
- Fix `mutt_ts_capability()` fallback list loop
- Ensure SIGALRM interrupts connect() in batch mode
- Tighten `$query_command` parsing to allow empty name field
## Changed Config
- #4224 config: add L10N support
- New: `set compose_confirm_detach_first = yes`
Prevent the accidental deletion of the composed message
- Changed: `set reply_regex = "^((re)(\\[[0-9]+\\])*:[ \t]*)*"`
Regex to match message reply subjects like 're: '
- Changed: `set pager = ""`
External command for viewing messages, or empty to use NeoMutt's
## Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 99% Turkish
- l10n: document functions
- config: add L10N support
## Docs
- Clarify the manual section on POP3 support
- Document the `<1234>` key syntax for bind
- Document `$sendmail` invocation behavior
- Clarify -H usage in batch mode is not a "pass through" option
## Build
- test: remove unnecessary setting of TZ var
- build: make `conn/getdomain.c` dependent on DOMAIN
- Improve w3m invocation for manual.txt generation
- Include `<term.h>` before invoking `tigetstr()` and `tigetflag()`
- Enable CodeQL for python
## Code
- factor out `buf_make()`
- drop dupe `signal_init()` on startup
- Convert `mutt_create_alias()` and helpers to use buffer pool
- Factor out `match_body_patterns()` to make `resolve_types()` simpler
- Rewrite `mutt_apply_replace()` to use buffers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://mailman.neomutt.org/pipermail/neomutt-devel-neomutt.org/attachments/20240416/0da0a088/attachment.sig>
More information about the neomutt-devel
mailing list