2024-03-29 Richard Russon <[email protected]>
- Bug Fixes
- #4185 c441f5957 Fix memory leak in trash_append()
- #4189 Fix off-by-one error in %b with notmuch
- #4190 Zero-out mailbox counters on delete
- #4204 colour: honour the normal colour
- #4205 match folder-hook also against mailbox name (fixes #4201)
- wrap colour in
- history: fix saving file
- history: improve error message format
- Docs
- #4182 docs: -C: Fix some accidents
- #4188 Update oauth2 README
- #4193 Update oauth2 README
- fix typos, lots of tidying
- tidy license info
- Build
- #4196 use FreeBSD 14.0 in Cirrus CI
- actions: update cpu count
- actions: use codeql v3
- Code
- #4186 Buffer refactoring: make_entry()
- address: tidy config handling
- coverage: buf, slist
- graphviz: link labels
- tidy buf_strcpy() calls
- tidy char buffers
- test: default timezone to UTC
2024-03-23 Richard Russon <[email protected]>
- Do NOT use this release
2024-02-01 Richard Russon <[email protected]>
- Features
- #4134 Command-line Crypto (neomutt -C)
- Bug Fixes
- #4065 track new-mail check time per mailbox
- #4141 fix(change-folder): don't exclude notmuch
- #4147 envelope: manage subject/real_subj together
- #4155 fix parsing of $REPLYTO
- #4158 status: fix refresh after sync-mailbox
- #4166 Fix two memory leaks in notmuch support
- progress: fix percentages
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- Docs
- #4172 Several fixes for the manual pages
- Build
- build: openbsd workarounds
- Code
- #4142 add mutt_time_now()
- #4146 config: factor out R_ flags
- #4154 file: upgrade mutt_file_fopen/fclose()
- #4159 upgrade mutt_str_append_item() to use struct Buffer
- #4161 maildir: encapsulate the header cache
- #4162 remove mutt_str_dequote_comment()
- #4165 bufferize mutt_str_inline_replace() as buf_inline_replace()
- #4167 bufferize mutt_strn_rfind() as buf_rfind()
- #4168 replace buf_len() checks with buf_is_empty()
- config: drop unused flags
- use message_new()/message_free()
- Reconsider the config type bitmap entirely
2023-12-21 Richard Russon <[email protected]>
- Features
- #4126 - add alias 'tags:'
- Bug Fixes
- #4115 - create HelpBar after colours
- #4116 - Fix Batch Sending of Emails
- #4119 - Fix Header Cache Key Handling
- #4121 - mutt_oauth2.py: error out if ENCRYPTION_PIPE was not supplied
- #4124 - config: fix flag overlaps
- #4125 - compose: restore view-text/pager/mailcap
- color: fix attr_color_copy()
- fix :color dump
- fix leak in completion
- force mail check on current mailbox after
<imap-fetch-mail>
- Allow sending an empty mail
- mutt_oauth2.py: Use readline to overcome macOS input() restrictions
- Changed Config
- add $history_format: '%s'
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- 99% Spanish
- 99% Hungarian
- Coverity defects
- #4111 Educate Coverity about ARRAYs
- fix defects
- Build
- #4098 - build: use fallthrough attribute
- #4100 - build: split maildir and mh types
- #4101 - version: drop default features
- #4108 - strip non-conditionals
- #4122 - add github action to check for unused functions (xunused)
- update fedora action
- coverage: fix build for lcov v2
- tests: fix error cases
- Code
- #4097 - config: add DT_ON_STARTUP
- #4104 - Change mutt_default_save() and addr_hook() to take a buffer
- #4105 - Use buffer pool in tests
- #4106 - Switch some buffers to use the buffer pool
- #4109 - Improve the Progress Bar
- #4117 - remove MxOps::path_parent() and mutt_path_parent()
- #4120 - remove unused functions
- #4131 - move editor test code
- #4133 - move log_disp_null() into test folder
- #4137 - move config string name functions into tests
- add: hook_new()/hook_free()
- fix more printf-style params
- rename compare to equal
- hcache: renaming for clarity
2023-11-03 Richard Russon <[email protected]>
- Features
- #4080 - info screen: enable <save-message>
- #4075 - add color command
- color: add ANSI RGB support
- color: Support ANSI 2x clear sequences
- Bug Fixes
- #4074 - color: fix palette conversion
- #4081 - fix logging on error
- #4081 - log: vim-style
- #4082 - fix file auto-completion
- #4090 - improve logic for growing mailbox memory
- Translations
- 100% Czech
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Slovak
- 100% Turkish
- Build
- #4085 - fix CFLAGS/LDFLAGS for ncurses
- #4085 - configure --with-iconv
- Code
- #4067 - remove unused count of new mails from index private data
- #4086 - smtp: Simplify the API of
smtp_code()
- #4091 - simplify CLAMP by expressing it with MIN/MAX
- color: introduce ColorElement
- color: log gui info on startup
- color: move business logic out of parsers
- color: tidy OptNoCurses cases
- log: add
log_multiline()
- test: increase coverage
2023-10-23 Richard Russon <[email protected]>
- Bug Fixes
- #4060 - fix crash on exit
- #4061 - fix header colour
- #4064 - fix 32-bit date overflow
- #4078 - fix new mail in limited view
- nntp: fix use-after-free
- color: fix ansi colours
- color: add +truecolor to version string
2023-10-06 Richard Russon <[email protected]>
- Features
- #3870 - color: allow 'alert', 'bright', 'light' prefix for colorNNN
- #3871 - color: refactor parsing code
- #3895 - imap: truncate large UIDVALIDITYs to support non-conforming IMAP servers
- #3898 - hcache: shrink Email and Body caches
- #3900 - prompt: treat complete-query as complete where it makes sense
- #3925 - help: add message flags to help screen
- #3932 - help: add alternating colors
- #3982 - mailboxes: add
-label
,-notify
and-poll
options - #4046 - color_directcolor: Also set the default/initial value on startup
- Bug Fixes
- #3897 - maildir: fix sync when a deleted file disappears
- #3878 - gnutls: fix "certificate saved" message
- #3895 - imap: truncate large UIDVALIDITYs to support non-conforming servers
- #3897 - maildir: fix fix error with
<sync-mailbox>
on mbsync - #3901 - address: parse comments after address
- #3915 - bind: fix truncated binding strings
- #3956 - fix 'from' address when real name isn't set
- #3962 - Fix crash on
<next-thread>
when the<limit>
ed view is empty - #3985 - browser: fix autocompletion
- #3988 - pager: fix search crash
- #3999 - help: fix search highlight
- #4049 - force mail check on current mailbox after
<shell-escape>
- #4051 - openssl: continue if a signal interrupts an SSL read/write
- Config
- #3881 - Rename
$imap_keepalive
to$imap_keep_alive
- #3889 - Change defaults to use
%<...>
conditional syntax$attach_format
,$index_format
,$mailbox_folder_format
,$status_format
,$ts_icon_format
,$ts_status_format
- #3949 - Add
browser_sort_dirs_first
to always list directories first
- #3881 - Rename
- Code
- #3877 - imap: factor out tagged emails
- #3799 - address: use struct Buffer instead of plain char pointers
- #3868 - drop notifications relay
- #3869 - move
$delete_untag
out of the backend - #3873 - respect
--[disable-]fmemopen
in tests - hcache: optimize storage requirements, reduce config
- logging: catch format string errors
- colour: refactor colour parsing
- refactoring, cleanup
- fixed coverity defects
- convert many functions to use a
Buffer
- Translations
- 100% 🇹🇷 Turkish
- 100% 🇷🇸 Serbian
- 100% 🇱🇹 Lithuanian
- 100% 🇩🇪 German
- 99% 🇨🇿 Czech
- 99% 🇵🇱 Polish
- 98% 🇸🇰 Slovak
2023-05-17 Richard Russon <[email protected]>
- Features
- #3699 - Support 24bit colors, aka truecolor
- #3738 - Show complete MIME structure in attachments
- #3842 - Allow percentages to be localized
- Bug Fixes
- #3813 - Fix crash in
op_browser_subscribe()
- #3844 - Select the first email when coming from an empty limit
- #3848 - Fix counting new mails in maildir
- #3864 - Fix handling of bright colours
- #3759 - bind: fix incorrect conflict report
- #3781 - index: only refresh the menu on non-focus window changes
- #3856 - tunnel: fix reconnection with
ssl_force=true
- #3860 - maildir: stop parsing headers at the end of the headers section
- Fix sorting of labels
- #3813 - Fix crash in
- Translations
- 100% 🇷🇸 Serbian
- 100% 🇹🇷 Turkish
- 100% 🇱🇹 Lithuanian
- 100% 🇭🇺 Hungarian
- 100% 🇩🇪 German
- 99% 🇳🇴 Norwegian (Bokmål)
- 99% 🇸🇰 Slovak
- 99% 🇧🇷 Portuguese (Brazil)
- 99% 🇨🇿 Czech
- 99% 🇵🇱 Polish
- 95% 🇫🇷 French
- Build
- #3798 - Build with libidn2 by default, remove support for libidn1
- Code
- config: dynamically create/delete variables
- config: unify handling of NeoMutt and user (my_) variables
- config: cache config variables used often
- speed: various speedups in parsing emails
- cleanups: lots of code cleanups
- Huge refactoring towards a separation of Mailbox/MailboxView
2023-05-12 Richard Russon <[email protected]>
- BROKEN - Please use 2023-05-17 instead
2023-04-07 Richard Russon <[email protected]>
- Features
- #3769 - imap : support IMAP4 ID extension (RFC2971)
- #3753 - parse: query all changed (
set
) / all (set all
) config variables
- Bug Fixes
- #3785 - lua: fix command registration
- #3793 - postpone: use colours from the right mailbox
- #3794 - smtp: ignore oauth if it isn't configured and not requested
- Config
- #3779 - New:
$imap_send_id
- Send IMAP ID command when logging in
- #3779 - New:
- Translations
- 100% 🇨🇿 Czech
- 100% 🇩🇪 German
- 100% 🇭🇺 Hungarian
- 100% 🇱🇹 Lithuanian
- 100% 🇧🇷 Portuguese (Brazil)
- 100% 🇷🇸 Serbian
- 100% 🇸🇰 Slovak
- 99% 🇵🇱 Polish
- Docs
- Recommend GPGME
- Code
- #3767 - libmutt: eliminate use of config variables
- #3774 - fix ubsan warning
- #3802 - mutt: optimize and inline
mutt_str_is_email_wsp()
- #3803 - progress: update ncurses only when there is actual progress
- #3801 - email: Read
$assumed_charset
outside loops - #3805 - hcache: do less work when not in use
- #3777 - pager: add helper for getting
$pager
- #3797 - hcache: remove spurious +1 from Buffer serialization.
- Build
- #3787 - fix race condition in
make install
- #3780 - fallback to detect SASL manually if pkg-config fails, e.g., homebrew
- #3787 - fix race condition in
2023-03-22 Richard Russon <[email protected]>
- Features
- #3372 - use DT_SLIST for charset variables
- #3383 - support viewing html with embedded images
- #3408 - account command, see the feature page
- #3411 - check that
$sendmail
and$inews
don't contain shell meta characters - #3412 - browser: add
$mailbox_folder_format
config variable - #3421 - enter: add function
<kill-whole-line>
- #3414 - account command: add macOS keychain sample provider
- #3430 - account command: add GPG+JSON sample provider
- #3474 - expose italics attribute for colour scheme
- #3471 - allow
source
in hooks to point to relative paths - #3506 - resolve alternates when subscribing/unsubscribing
- #3492 - notmuch: allow specifying configuration file
- #3547 - notmuch: allow usage of notmuch profiles
- #3524 - add GNU SASL support for authentication (
--gsasl
configure option) - #3548 - extend colour objects to support patterns
- #3586 - detect and fixup maildirs with missing "new" and "tmp" directories
- #3634 - generate standard MIME types as application/pkcs7-* instead of legacy application/x-pkcs7-*
- #3639 - compose: add Smime: pseudo header
- #3641 - handle more X-Mutt pseudo-headers with
$edit_headers
- #3702 - use
$socket_timeout
to time out read/write operations - #3717 - allow
%[fmt]
in$folder_format
- #3719 - respect
$attribution_locale
in$indent_string
and$post_indent_string
- #3720 - pattern: add
~K
to search Bcc, include Bcc in~C
,%C
,~L
, and~p
- #3726 - colour postponed emails list
- #3734 - allow querying user-defined variables (
$my_var
) with-Q
- #3737 - dump user-defined variables (
$my_var
) with-D
- #3655 - generate purely random
Message-ID
headers - #3752 - allow an empty
$sidebar_divider_char
- #3745 - fix handling and display of group addresses
- Bug Fixes
- #3386 - fix
$status_on_top
to work on complex windows, e.g., attach - #3397 - imap: fix off-by-one error causing bogus "Progress message 10/9" message
- #3423 - attach: fix segfault when viewing HTML attachment in compose mode
- #3434 - allow for longer expansions in e.g.,
$index_format
- #3450 - accept unpadded base64-encoded data, as some mailers produce
- #3465 - fix hangup when trying to add email address from help screens
- #3468 - handle corrupted header caches
- #3518 - fix slowdown when changing folders
- #3828 - improve error detection for invalid
color
regexes - #3533 - distinguish between old/new with
$mark_old
unset - #3539 - parse mboxes with unconventional
From
lines - #3572 - fix hostname detection for hostname ending with a "."
- #3596 - fix truncated SMTP lines in case of very long lines
- #3600 - use
$smime_sign_as
instead of$pgp_sign_as
when signing S/MIME messages - #3697 - set
$smime_sign_as
instead of$smime_default_key
when signing - #3609 - fix wrong message being marked as read with
$pager_read_delay = 1
- #3653 - fix negative new-mail count on maildir
- #3656 - skip zero width non-joiner character in the pager
- #3664 - handle text/vcard as not being an attachment, same as for text/x-vcard
- #3666 - fix
hdr_order
not sorting last header correctly - #3673 - make exiting via SIGINT more graceful
- #3700 - fix
unhook index-format-hook
- #3709 - send: delete signature when sending fails #3709
- #3727 - SMTP: try all available methods even if SASL is not compiled in
- #3730 - fix decryption issue when postponing S/MIME encrypted mails
- avoid unnecessary refreshes
- fixed a number of memory leaks and crashes
- #3386 - fix
- Config
- #3604 - rename
$ask_follow_up
to$ask_followup_to
- #3659 - rename
sidebar_whitelist
/unsidebar_whitelist
tosidebar_pin
/sidebar_unpin
- #3629 - skip line rest of line after a warning
- #3670 -
$vfolder_format
is now deprecated, use$folder_format
- #3702 - rename
$connect_timeout
to$socket_timeout
- #3697 -
pgp_entry_format
: add %i expand for the key fingerprint - #3724 - rename
$attribution
to$attribution_intro
and$post_indent_string
to$attribution_trailer
- config variables are now properly spelled with underscores between names,
e.g.,
$implicit_autoview
->$implicit_auto_view
,$message_cachedir
->$message_cache_dir
; the old names were kept as synonyms
- #3604 - rename
- Translations
- 100% Czech
- 100% German
- 100% Hungarian
- 100% Lithuanian
- 100% Portuguese (Brazil)
- 100% Serbian
- 100% Slovak
- 100% Turkish
- 99% Spanish
- 99% Ukrainian
- 94% Polish
- 72% Catalan
- Docs
- lots of documentation cleanups and updates
- Code
- a lot of refactor to make the code more organizes, especially in these areas: windowing, menu, browser, enter, function dispatching, key handling, auto-completion
- fewer global variables
- removal of some unmaintained contrib code
- new maintained sample config and examples are in the
data
directory - the contrib script mutt_oauth2.py received a lot of love
- Build
- #3548 - support building with Undefined Behaviour Sanitizer (
--ubsan
configure option) - #3722 - generate compile_commands.json (
--compile-commands
configure option) - use pkg-config to locate most of the 3rd party dependencies
- fix curses for netbsd
- improve our CI stack
- create libparse - parsing functions that can be easily tested
- refactor commands / icommands
- #3548 - support building with Undefined Behaviour Sanitizer (
2022-04-29 Richard Russon <[email protected]>
- Bug Fixes
- Do not crash on an invalid use_threads/sort combination
- Fix: stuck browser cursor
- Resolve (move) the cursor after
<edit-label>
- Index: fix menu size on new mail
- Don't overlimit LMDB mmap size
- OpenBSD y/n translation fix
- Generic: split out OP_EXIT binding
- Fix parsing of sendmail cmd
- Fix: crash with
$menu_move_off=no
- Newsrc: bugfix;
$nntp_user
and$nntp_pass
ignored - Menu: ensure config changes cause a repaint
- Mbox: fix sync duplicates
- Make sure the index redraws all that's needed
- Translations
- 100% Chinese (Simplified)
- 100% Czech
- 100% German
- 100% Hungarian
- 100% Lithuanian
- 100% Serbian
- 100% Turkish
- Docs
- add missing pattern modifier ~I for
$external_search_command
- add missing pattern modifier ~I for
- Code
- menu: eliminate custom_redraw()
- modernise mixmaster
- Kill global and Propagate display attach status through State
2022-04-15 Richard Russon <[email protected]>
- Security
- Fix uudecode buffer overflow (CVE-2022-1328)
- Features
- Colours, colours, colours
- Bug Fixes
- Pager: fix
$pager_stop
- Merge colours with normal
- Color: disable mono command
- Fix forwarding text attachments when
$honor_disposition
is set - Pager: drop the nntp change-group bindings
- Use
mailbox_check()
flags coherently, add IMMEDIATE flag - Fix: tagging in attachment list
- Fix: misalignment of mini-index
- Make sure to update the menu size after a resort
- Pager: fix
- Translations
- 100% Hungarian
- Build
- Update acutest
- Code
- Unify pipe functions
- Index: notify if navigation fails
- Gui: set colour to be merged with normal
- Fix: leak in
tls_check_one_certificate()
- Upstream
- Flush
iconv()
inmutt_convert_string()
- Fix integer overflow in
mutt_convert_string()
- Fix uudecode cleanup on unexpected eof
- Flush
2022-04-08 Richard Russon <[email protected]>
- Features
- Compose multipart emails
- Bug Fixes
- Fix screen mode after attempting decryption
- imap: increase max size of oauth2 token
- Fix autocrypt
- Unify Alias/Query workflow
- Fix colours
- Say which file exists when saving attachments
- Force SMTP authentication if
$smtp_user
is set - Fix selecting the right email after limiting
- Make sure we have enough memory for a new email
- Don't overwrite with zeroes after unlinking the file
- Fix crash when forwarding attachments
- Fix help reformatting on window resize
- Fix poll to use PollFdsCount and not PollFdsLen
- regex: range check arrays strictly
- Fix Coverity defects
- Fix out of bounds write with long log lines
- Apply
$fast_reply
to 'to', 'cc', or 'bcc' - Prevent warning on empty emails
- Changed Config
- New default:
set rfc2047_parameters = yes
- New default:
- Translations
- 100% German
- 100% Lithuanian
- 100% Serbian
- 100% Czech
- 100% Turkish
- 72% Hungarian
- Docs
- Improve header cache explanation
- Improve description of some notmuch variables
- Explain how timezones and
!
s work inside%{}
,%[]
and%()
- Document config synonyms and deprecations
- Build
- Create lots of GitHub Actions
- Drop TravisCI
- Add automated Fuzzing tests
- Add automated ASAN tests
- Create Dockers for building Centos/Fedora
- Build fixes for Solaris 10
- New libraries: browser, enter, envelope
- New configure options:
--fuzzing
--debug-color
--debug-queue
- Code
- Split Index/Pager GUIs/functions
- Add lots of function dispatchers
- Eliminate
menu_loop()
- Refactor function opcodes
- Refactor cursor setting
- Unify Alias/Query functions
- Refactor Compose/Envelope functions
- Modernise the Colour handling
- Refactor the Attachment View
- Eliminate the global
Context
- Upgrade
mutt_get_field()
- Refactor the
color quoted
code - Fix lots of memory leaks
- Refactor Index resolve code
- Refactor PatternList parsing
- Refactor Mailbox freeing
- Improve key mapping
- Factor out charset hooks
- Expose mutt_file_seek API
- Improve API of
strto*
wrappers
- Upstream
- imap QRESYNC fixes
- Allow an empty To: address prompt
- Fix argc==0 handling
- Don't queue IMAP close commands
- Fix IMAP UTF-7 for code points >= U+10000
- Don't include inactive messages in msgset generation
2021-10-29 Richard Russon <[email protected]>
- Features
- Notmuch: support separate database and mail roots without .notmuch
- Bug Fixes
- fix notmuch crash on open failure
- fix crypto crash handling pgp keys
- fix ncrypt/pgp file_get_size return check
- fix restore case-insensitive header sort
- fix pager redrawing of long lines
- fix notmuch: check database dir for xapian dir
- fix notmuch: update index count after
<entire-thread>
- fix protect hash table against empty keys
- fix prevent real_subj being set but empty
- fix leak when saving fcc
- fix leak after
<edit-or-view-raw-message>
- fix leak after trash to hidden mailbox
- fix leak restoring postponed emails
2021-10-22 Richard Russon <[email protected]>
- Bug Fixes
- fix new mail notifications
- fix pattern compilation error for
( !>(~P) ) - fix menu display on window resize
- Stop batch mode emails with no argument or recipients
- Add sanitize call in print mailcap function
- fix
hdr_order
to use the longest match - fix (un)setenv to not return an error with unset env vars
- fix Imap sync when closing a mailbox
- fix segfault on OpenBSD current
- sidebar: restore
sidebar_spoolfile
colour - fix assert when displaying a file from the browser
- fix exec command in compose
- fix
check_stats
for Notmuch mailboxes - Fallback: Open Notmuch database without config
- fix gui hook commands on startup
- Changed Config
- Re-enable
$ssl_force_tls
- Re-enable
- Translations
- 100% Serbian
- 100% Lithuanian
- 100% German
- Build
- Warn about deprecated configure options
2021-10-15 Richard Russon <[email protected]>
- Security
- Fix CVE-2021-32055
- 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
- threads: implement the
- Changed Config
- Renamed lots of config, e.g.
$askbcc
to$ask_bcc
.
- 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
- Translations
- 100% Serbian
- 100% Lithuanian
- 100% German
- 100% Czech
- 96% Spanish
- 92% Polish
- 85% Norwegian
- 80% French
- 78% Russian
- 74% Esperanto
- 66% Greek
2021-02-05 Richard Russon <[email protected]>
- Features
- Add
<skip-headers>
to skip past message headers in pager - Add
<view-pager>
function to attachment menu
- Add
- Bug Fixes
- Fix detection of mbox files with new mail
- Fix crash on collapsed thread
- Fix
<group-chat-reply>
- Clear the message window on resize
- Do not crash on return from shell-exec if there's no open mailbox
- Abort IMAP open if condstore/qresync updates fetch fails
- Fix smtp crash on invalid
$smtp_authenticators
list - Fix pager dropped input on screen resize
- Fix mime forwarding
- Check config after hooks
- Always recreate a mailbox after
folder-hook
- Translations
- 88% Slovakian
- Docs
- Adjust doc to explicitly mention
$count_alternatives
- Restore correct
$sort_re
documentation - Clarify pattern completion
- Man pages: Clear up "-H" and "-O"
- Adjust doc to explicitly mention
- Build
- Update to latest acutest
- Update to latest autosetup
- Make the location of /tmp configurable
2020-11-20 Richard Russon <[email protected]>
- Bug Fixes
- Fix crash when saving an alias
- Translations
- 70% Russian
- Code
- Remove redundant function call
2020-11-20 Richard Russon <[email protected]>
- Security
- imap: close connection on all failures
- Features
- alias: add
<limit>
function to Alias/Query dialogs - config: add validators for
{imap,smtp,pop}_authenticators
- config: warn when signature file is missing or not readable
- smtp: support for native SMTP LOGIN auth mech
- notmuch: show originating folder in index
- alias: add
- Bug Fixes
- sidebar: prevent the divider colour bleeding out
- sidebar: fix
<sidebar-{next,prev}-new>
- notmuch: fix
<entire-thread>
query for current email - restore shutdown-hook functionality
- crash in reply-to
- user-after-free in
folder-hook
- fix some leaks
- fix application of limits to modified mailboxes
- write Date header when postponing
- Translations
- 100% Lithuanian
- 100% Czech
- 70% Turkish
- Docs
- Document that
$sort_alias
affects the query menu
- Document that
- Build
- improve ASAN flags
- add SASL and S/MIME to
--everything
- fix contrib (un)install
- Code
my_hdr
compose screen notifications- add contracts to the MXAPI
- maildir refactoring
- further reduce the use of global variables
- Upstream
- Add
$count_alternatives
to count attachments inside alternatives
- Add
2020-09-25 Richard Russon <[email protected]>
- Features
- Compose: display user-defined headers
- Address Book / Query: live sorting
- Address Book / Query: patterns for searching
- Config: Add
+=
and-=
operators for String Lists - Config: Add
+=
operator for Strings - Allow postfix query
:setenv NAME?
for env vars
- Bug Fixes
- Fix crash when searching with invalid regexes
- Compose: Prevent infinite loop of
send2-hook
s - Fix sidebar on new/removed mailboxes
- Restore indentation for named mailboxes
- Prevent half-parsing an alias
- Remove folder creation prompt for POP path
- Show error if
$message_cachedir
doesn't point to a valid directory - Fix tracking LastDir in case of IMAP paths with Unicode characters
- Make sure all mail gets applied the index limit
- Add warnings to -Q query CLI option
- Fix index tracking functionality
- Changed Config
- Add
$compose_show_user_headers
(yes)
- Add
- Translations
- 100% Czech
- 100% Lithuanian
- Split up usage strings
- Build
- Run shellcheck on
hcachever.sh
- Add the Address Sanitizer
- Move compose files to lib under compose/
- Move address config into libaddress
- Update to latest acutest - fixes a memory leak in the unit tests
- Run shellcheck on
- Code
- Implement ARRAY API
- Deglobalised the Config Sort functions
- Refactor the Sidebar to be Event-Driven
- Refactor the Color Event
- Refactor the Commands list
- Make
ctx_update_tables()
private - Reduce the scope/deps of some Validator functions
- Use the Email's IMAP UID instead of an increasing number as index
- debug: log window focus
2020-08-21 Richard Russon <[email protected]>
- Bug Fixes
- fix maildir flag generation
- fix query notmuch if file is missing
- notmuch: don't abort sync on error
- fix type checking for send config variables
- Changed Config
$sidebar_format
- Use%D
rather than%B
for named mailboxes
- Translations
- 96% Lithuanian
- 90% Polish
2020-08-14 Richard Russon <[email protected]>
- Security
- Add mitigation against DoS from thousands of parts
- Features
- Allow index-style searching in postpone menu
- Open NeoMutt using a mailbox name
- Add
cd
command to change the current working directory - Add tab-completion menu for patterns
- Allow renaming existing mailboxes
- Check for missing attachments in alternative parts
- Add one-liner docs to config items
- Bug Fixes
- Fix logic in checking an empty From address
- Fix Imap crash in
cmd_parse_expunge()
- Fix setting attributes with S-Lang
- Fix: redrawing of
$pager_index_lines
- Fix progress percentage for syncing large mboxes
- Fix sidebar drawing in presence of indentation + named mailboxes
- Fix retrieval of drafts when
$postponed
is not in the mailboxes list - Do not add comments to address group terminators
- Fix alias sorting for degenerate addresses
- Fix attaching emails
- Create directories for nonexistent file hcache case
- Avoid creating mailboxes for failed subscribes
- Fix crash if rejecting cert
- Changed Config
- Add
$copy_decode_weed
,$pipe_decode_weed
,$print_decode_weed
- Change default of
$crypt_protected_headers_subject
to "..." - Add default keybindings to history-up/down
- Add
- Translations
- 100% Czech
- 100% Spanish
- Build
- Allow building against Lua 5.4
- Fix when
sqlite3.h
is missing
- Docs
- Add a brief section on stty to the manual
- Update section "Terminal Keybindings" in the manual
- Clarify PGP Pseudo-header
S<id>
duration
- Code
- Clean up String API
- Make the Sidebar more independent
- De-centralise the Config Variables
- Refactor dialogs
- Refactor: Help Bar generation
- Make more APIs Context-free
- Adjust the edata use in Maildir and Notmuch
- Window refactoring
- Convert libsend to use Config functions
- Refactor notifications to reduce noise
- Convert Keymaps to use STAILQ
- Track currently selected email by msgid
- Config: no backing global variable
- Add events for key binding
- Upstream
- Fix imap postponed mailbox use-after-free error
- Speed up thread sort when many long threads exist
- Fix ~v tagging when switching to non-threaded sorting
- Add message/global to the list of known "message" types
- Print progress meter when copying/saving tagged messages
- Remove ansi formatting from autoview generated quoted replies
- Change postpone mode to write Date header too
- Unstuff
format=flowed
2020-08-07 Richard Russon <[email protected]>
- Devel Release - see 2020-08-14
2020-06-26 Richard Russon <[email protected]>
- Bug Fixes
- Avoid opening the same hcache file twice
- Re-open Mailbox after
folder-hook
- Fix the matching of the
$spool_file
Mailbox - Fix link-thread to link all tagged emails
- Changed Config
- Add
$tunnel_is_secure
config, defaulting to true
- Add
- Upstream
- Don't check IMAP PREAUTH encryption if
$tunnel
is in use - Add recommendation to use
$ssl_force_tls
- Don't check IMAP PREAUTH encryption if
2020-06-19 Richard Russon <[email protected]>
- Security
- Abort GnuTLS certificate check if a cert in the chain is rejected
- TLS: clear data after a starttls acknowledgement
- Prevent possible IMAP MITM via PREAUTH response
- Features
- add config operations
+=
/-=
for number,long - Address book has a comment field
- Query menu has a comment field
- add config operations
- Contrib
- sample.neomuttrc-starter: Do not echo prompted password
- Bug Fixes
- make "news://" and "nntp://" schemes interchangeable
- Fix CRLF to LF conversion in base64 decoding
- Double comma in query
- compose: fix redraw after history
- Crash inside empty query menu
- mmdf: fix creating new mailbox
- mh: fix creating new mailbox
- mbox: error out when an mbox/mmdf is a pipe
- Fix
<list-reply>
by correct parsing of List-Post headers - Decode references according to RFC2047
- fix tagged message count
- hcache: fix keylen not being considered when building the full key
- sidebar: fix path comparison
- Don't mess with the original pattern when running IMAP searches
- Handle IMAP "NO" resps by issuing a msg instead of failing badly
- imap: use the connection delimiter if provided
- Memory leaks
- Changed Config
$alias_format
default changed to include%c
comment$query_format
default changed to include%e
extra info
- Translations
- 100% Lithuanian
- 84% French
- Log the translation in use
- Docs
- Add missing commands unbind, unmacro to man pages
- Build
- Check size of long using
LONG_MAX
instead of__WORDSIZE
- Allow ./configure to not record cflags
- fix out-of-tree build
- Avoid locating gdbm symbols in qdbm library
- Check size of long using
- Code
- Refactor unsafe TAILQ returns
- add window notifications
- flip negative ifs
- Update to latest
acutest.h
- test: add store tests
- test: add compression tests
- graphviz: email
- make more opcode info available
- refactor:
main_change_folder()
- refactor:
mutt_mailbox_next()
- refactor:
generate_body()
- compress: add
{min,max}_level
to ComprOps - emphasise empty loops: "// do nothing"
- prex: convert
is_from()
to use regex - Refactor IMAP's search routines
2020-05-01 Richard Russon <[email protected]>
- Bug Fixes
- Make sure buffers are initialized on error
- fix(sidebar): use abbreviated path if possible
- Translations
- 100% Lithuanian
- Docs
- make header cache config more explicit
2020-04-24 Richard Russon <[email protected]>
- Bug Fixes
- Fix history corruption
- Handle pretty much anything in a URL query part
- Correctly parse escaped characters in header phrases
- Fix crash reading received header
- Fix sidebar indentation
- Avoid crashing on failure to parse an IMAP mailbox
- Maildir: handle deleted emails correctly
- Ensure OP_NULL is always first
- Translations
- 100% Czech
- Build
- cirrus: enable pcre2, make pkgconf a special case
- Fix finding pcre2 w/o pkgconf
- build:
tdb.h
needs size_t, bring it in withstddef.h
2020-04-17 Richard Russon <[email protected]>
- Features
- Fluid layout for Compose Screen, see: https://vimeo.com/407231157
- Trivial Database (TDB) header cache backend
- RocksDB header cache backend
- Add
<sidebar-first>
and<sidebar-last>
functions
- Bug Fixes
- add error for CLI empty emails
- Allow spaces and square brackets in paths
- browser: fix hidden mailboxes
- fix initial email display
- notmuch: fix time window search.
- fix resize bugs
- notmuch: fix
<entire-thread>
: update current email pointer - sidebar: support indenting and shortening of names
- Handle variables inside backticks in
sidebar_pin
- browser: fix mask regex error reporting
- Translations
- 100% Lithuanian
- 99% Chinese (simplified)
- Build
- Use regexes for common parsing tasks: urls, dates
- Add configure option
--pcre2
-- Enable PCRE2 regular expressions - Add configure option
--tdb
-- Use TDB for the header cache - Add configure option
--rocksdb
-- Use RocksDB for the header cache - Create libstore (key/value backends)
- Update to latest autosetup
- Update to latest
acutest.h
- Rename
doc/
directory todocs/
- make: fix location of .Po dependency files
- Change libcompress to be more universal
- Fix test fails on х32
- fix uidvalidity to unsigned 32-bit int
- Code
- Increase test coverage
- Fix memory leaks
- Fix null checks
- Upstream
- Buffer refactoring
- Fix use-after-free in
mutt_str_replace()
- Clarify PGP Pseudo-header
S<id>
duration - Try to respect MUTT_QUIET for IMAP contexts too
- Limit recurse depth when parsing mime messages
2020-03-20 Richard Russon <[email protected]>
- Bug Fixes
- Fix COLUMNS env var
- Fix sync after delete
- Fix crash in notmuch
- Fix sidebar indent
- Fix emptying trash
- Fix command line sending
- Fix reading large address lists
- Resolve symlinks only when necessary
- Translations
- 100% Lithuanian
- 96% Spanish
- Docs
- Include OpenSSL/LibreSSL/GnuTLS version in neomutt -v output
- Fix case of GPGME and SQLite
- Build
- Create libcompress (lz4, zlib, zstd)
- Create libhistory
- Create libbcache
- Move zstrm to libconn
- Code
- Add more test coverage
- Rename magic to type
- Use
mutt_file_fopen()
on config variables - Change commands to use intptr_t for data
2020-03-13 Richard Russon <[email protected]>
- Features
- UI: add number of old messages to
$sidebar_format
- UI: support ISO 8601 calendar date
- UI: fix commands that don’t need to have a non-empty mailbox to be valid
- PGP: inform about successful decryption of inline PGP messages
- PGP: try to infer the signing key from the From address
- PGP: enable GPGME by default
- Notmuch: use query as name for
<vfolder-from-query>
- IMAP: add network traffic compression (COMPRESS=DEFLATE, RFC4978)
- Header cache: add support for generic header cache compression
- UI: add number of old messages to
- Bug Fixes
- Fix
$uncollapse_jump
- Only try to perform
<entire-thread>
on maildir/mh mailboxes - Fix crash in pager
- Avoid logging single new lines at the end of header fields
- Fix listing mailboxes
- Do not recurse a non-threaded message
- Fix initial window order
- Fix leaks on IMAP error paths
- Notmuch: compose(attach-message): support notmuch backend
- Fix IMAP flag comparison code
- Fix
$move
for IMAP mailboxes - Maildir:
maildir_mbox_check_stats()
should only update mailbox stats if requested - Fix unmailboxes for virtual mailboxes
- Maildir: sanitize filename before hashing
- OAuth: if 'login' name isn't available use 'user'
- Add error message on failed encryption
- Fix a bunch of crashes
- Force C locale for email date
- Abort if run without a terminal
- Fix
- Changed Config
$crypt_use_gpgme
- Now defaults to 'yes' (enabled)$abort_backspace
- Hitting backspace against an empty prompt aborts the prompt$abort_key
- String representation of key to abort prompts$arrow_string
- Use an custom string for$arrow_cursor
$crypt_opportunistic_encrypt_strong_keys
- Enable encryption only when strong a key is available$header_cache_compress_dictionary
- Filepath to dictionary for zstd compression$header_cache_compress_level
- Level of compression for method$header_cache_compress_method
- Enable generic hcache database compression$imap_deflate
- Compress network traffic$smtp_user
- Username for the SMTP server
- Translations
- 100% Lithuanian
- 81% Spanish
- 78% Russian
- Build
- Add libdebug
- Rename public headers to
lib.h
- Create libcompress for compressed folders code
- Enable Cirrus CI for FreeBSD
- Code
- Refactor Windows and Dialogs
- Lots of code tidying
- Refactor:
mutt_addrlist_{search,write}()
- Lots of improvements to the Config code
- Use Buffers more pervasively
- Unify API function naming
- Rename library shared headers
- Refactor libconn gui dependencies
- Refactor: init.[ch]
- Refactor config to use subsets
- Config: add path type
- Remove backend deps from the connection code
- Upstream
- Allow ~b ~B ~h patterns in send2-hook
- Rename smime oppenc mode parameter to
get_keys_by_addr()
- Add
$crypt_opportunistic_encrypt_strong_keys
config var - Fix crash when polling a closed ssl connection
- Turn off auto-clear outside of autocrypt initialization
- Add protected-headers="v1" to Content-Type when protecting headers
- Fix segv in IMAP postponed menu caused by reopen_allow
- Adding ISO 8601 calendar date
- Fix
$fcc_attach
to not prompt in batch mode - Convert remaining
mutt_encode_path()
call to use struct Buffer - Fix rendering of replacement_char when Charset_is_utf8
- Update to latest
acutest.h
2019-12-07 Richard Russon <[email protected]>
- Features
- compose: draw status bar with highlights
- Bug Fixes
- crash opening notmuch mailbox
- crash in
mutt_autocrypt_ui_recommendation()
- Avoid negative allocation
- Mbox new mail
- Setting of DT_MAILBOX type variables from Lua
- imap: empty cmdbuf before connecting
- imap: select the mailbox on reconnect
- compose: fix attach message
- Build
- make files conditional
- add gpgme check for RHEL6
- Code
- enum-ify log levels
- fix function prototypes
- refactor virtual email lookups
- factor out global Context
2019-11-29 Richard Russon <[email protected]>
- Features
- Add raw mailsize expando (%cr)
- Bug Fixes
- Avoid double question marks in bounce confirmation msg
- Fix bounce confirmation
- fix new-mail flags and behaviour
- fix: browser
<descend-directory>
- fix ssl crash
- fix move to trash
- fix flickering
- Do not check hidden mailboxes for new mail
- Fix
$new_mail_command
notifications - fix crash in
examine_mailboxes()
- fix crash in
mutt_sort_threads()
- fix: crash after sending
- Fix crash in tunnel's
conn_close()
- fix fcc for deep dirs
- imap: fix crash when new mail arrives
- fix colour 'quoted9'
- quieten messages on exit
- fix: crash after failed
mbox_check()
- browser: default to a file/dir view when attaching a file
- Changed Config
- Change
$write_bcc
to default off
- Change
- Translations
- 100% Portuguese (Brazil)
- 92% Polish
- Docs
- Add a bit more documentation about sending
- Clarify
$write_bcc
documentation. - Update documentation for raw size expando
- docbook: set generate.consistent.ids to make generated html reproducible
- Build
- fix build/tests for 32-bit arches
- tests: fix test that would fail soon
- tests: fix context for failing idna tests
2019-11-11 Richard Russon <[email protected]>
- Bug Fixes
- browser: fix directory view
- fix crash in
parse_extract_token()
- force a screen refresh
- fix crash sending message from command line
- notmuch: use
$nm_default_url
if no mailbox data - fix forward attachments
- fix: vfprintf undefined behaviour in
body_handler()
- Fix relative symlink resolution
- fix: trash to non-existent file/dir
- fix re-opening of mbox Mailboxes
- close logging as late as possible
- log unknown mailboxes
- fix crash in command line postpone
- fix memory leaks
- fix icommand parsing
- fix new mail interaction with
$mail_check_recent
2019-11-02 Richard Russon <[email protected]>
- Bug Fixes
- Mailboxes command with empty backticks
- Mbox save-to-trash
- Mkdir for new maildir folders
- Maildir: new mail detection
- Truncation of "set" command on a path variable
- Update crash (when changing folder)
- Resolve symbolic links when saving a message
- Folder-hook calling
unmailboxes *
- Failed ssl negotiation
- Crash when using "alias -group"
- LibIDN error when
$charset
wasn't set - Notmuch abort
<entire-thread>
if database lacks message
2019-10-25 Richard Russon <[email protected]>
- Features
- Add
$fcc_before_send
, defaulting unset - Deprecate TLS 1.0 and 1.1 by default
- Turn on
$ssl_force_tls
by default - Command line -z and -Z options to work with IMAP
- Add size display configuration variables
- Summary pages: version, set, set all, bind, macro
- CONDSTORE and QRESYNC support
- OAUTHBEARER support
- inotify support
- add index-format-hook
- Add
$auto_subscribe
variable - Allow relative date hour/min/sec offsets
- Add attributes support on color declarations
- Style Menu Options
- Add new pattern type ~I for external searches
- Add
<named-mailboxes>
command
- Add
- Changed Config
$folder_format
$pgp_use_gpg_agent
$shell
$ssl_force_tls
$ssl_use_tlsv1
$ssl_use_tlsv1_1
$status_format
$to_chars
$user_agent
- New Config
$attach_save_dir
$attach_save_without_prompting
$autocrypt
$autocrypt_acct_format
$autocrypt_dir
$autocrypt_reply
$auto_subscribe
$crypt_chars
$crypt_protected_headers_read
$crypt_protected_headers_save
$crypt_protected_headers_subject
$crypt_protected_headers_write
$external_search_command
$fcc_before_send
$forward_attachments
$imap_condstore
$imap_fetch_chunk_size
$imap_oauth_refresh_command
$imap_qresync
$imap_rfc5161
$include_encrypted
$nm_flagged_tag
$nm_replied_tag
$pop_oauth_refresh_command
$sidebar_non_empty_mailbox_only
$size_show_bytes
$size_show_fractions
$size_show_mb
$size_units_on_left
$smtp_oauth_refresh_command
$ssl_use_tlsv1_3
- New Commands
:index-format-hook
:named-mailboxes
:unbind
:unmacro
- New Functions
<autocrypt-acct-menu>
<autocrypt-menu>
<compose-to-sender>
<create-account>
<delete-account>
<descend-directory>
<group-chat-reply>
<mailbox-cycle>
<mailbox-list>
<toggle-active>
<toggle-prefer-encrypt>
<toggle-write>
<vfolder-from-query-readonly>
- Bug Fixes
- Fix crashes
- Fix memory leaks
- Fix undefined behaviour
- Fix coverity defects
- Translations
- 100% Lithuanian
- 100% Chinese (Simplified)
- 100% Portuguese (Brazil)
- 95% German
- 95% Finnish
- 95% Czech
- 91% Polish
- 78% Japanese
- 73% Dutch
- 72% Spanish
- 62% Swedish
- 55% Slovak
- Docs
- OpenPGP and S/MIME configuration
- Quick-starter config section
- Autocrypt feature
- "Message Composition Flow" section to manual
- OAUTH support
2018-07-16 Richard Russon <[email protected]>
- Features
<check-stats>
function
- Bug Fixes
- Lots
2018-06-22 Richard Russon <[email protected]>
- Features
- Expand variables inside backticks
- Honour SASL-IR IMAP capability in SASL PLAIN
- Bug Fixes
- Fix
<toggle-read>
- Do not truncate shell commands on ; or #
- pager: index must be rebuilt on MUTT_REOPENED
- Handle a BAD response in AUTH PLAIN w/o initial response
- fcc_attach: Don't ask every time
- Enlarge path buffers PATH_MAX (4096)
- Move LSUB call from connection establishment to mailbox SELECTion
- Fix
- Translations
- Update Chinese (Simplified): 100%
- Update Czech: 100%
- Update German: 100%
- Update Lithuanian: 100%
- Update Portuguese (Brazil): 100%
- Update Slovak: 59%
- Reduce duplication of messages
- Code
- Tidy up the mailbox API
- Tidy up the header cache API
- Tidy up the encryption API
- Add doxygen docs for more functions
- Refactor more structs to use STAILQ
2018-05-12 Richard Russon <[email protected]>
- Features
- echo command
- Add
$browser_abbreviate_mailboxes
- Add ~M pattern to match mime Content-Types
- Add support for multipart/multilingual emails
- Jump to a collapsed email
- Add support for idn2 (IDNA2008)
- Bug Fixes
- Let
mutt_ch_choose()
report conversion failure - minor IMAP string handling fixes
- Let
- Translations
- Chinese (Simplified) (100%)
- Czech (100%)
- German (100%)
- Lithuanian (62%)
- Portuguese (Brazil) (100%)
- Coverity defects
- match prototypes to their functions
- make logic clearer
- reduce scope of variables
- fix coverity defects
- Docs
- development: analysis
- development: easy tasks
- development: roadmap
- Code
- start refactoring libconn
- split out progress functions
- split out window functions
- split out terminal setting
- convert MyVars to use TAILQ
- split
mutt_file_{lock,unlock}()
- Move IDN version string to
mutt/idna.c
- refactor:
init_locale()
- Eliminate static variable in
mutt_file_dirname()
- Tidy
- test int functions against 0
- rename lots of constants
- rename lots of functions
- sort lots of fields/definitions
- Upstream
- Increase account.user/login size to 128
- Fix comparison of flags with multiple bits set
- Change
mutt_error()
call inmutt_gpgme_set_sender()
to dprint - Improve the error message when a signature is missing
- pager specific "show incoming mailboxes list" macro
- Improve gss debug printing of status_string
- Remove trailing null count from gss_buffer_desc.length field
- Add a comment in auth_gss about RFCs and null-termination
- Change prompt string for
$crypt_verify_sig
2018-03-23 Richard Russon <[email protected]>
- Features
- unify logging/messaging
- add alert (blink) colors
- Contrib
- Vim syntax for NeoMutt log files
- Bug Fixes
- Fix progress bar range
- notmuch: stop if db open fails
- Improve index color cache flushing behavior
- lua: fix crash when setting a string
- Translations
- Update Czech translation (100%)
- Update German translation (100%)
- Update Polish translation (94%)
- Update Portuguese (BR) translation (100%)
- Update Spanish translation (64%)
- Update Turkish translation (75%)
- Merge similar messages
- Docs
- Clarify precedence of settings in config files
- Fix subjectrx example in the manual
- Website
- Update Gentoo distro page
- Devel: Static analysis
- Build
- Support —with-sysroot configure arg
- Expose EXTRA_CFLAGS_FOR_BUILD and EXTRA_LDFLAGS_FOR_BUIlD
- Update to latest autosetup
- Make sure
git_ver.h
doesn't eat random 'g's out of tag names
- Code
- Refactor to reduce complexity
- Refactor to reduce variables' scope
- Sort functions/config to make docs more legible
2018-02-23 Richard Russon <[email protected]>
- Features
- browser:
<goto-parent>
function bound to "p" - editor:
<history-search>
function bound to "Ctrl-r" - Cygwin support: https://neomutt.org/distro/cygwin
- openSUSE support: https://neomutt.org/distro/suse
- Upstream Homebrew support: Very soon - https://neomutt.org/distro/homebrew
- browser:
- Bug Fixes
- gmail server-size search
- nested-if: correctly handle "<" and ">" with %?
- display of special chars
- lua: enable myvars
- for pgpewrap in default gpg.rc
$reply_regexp
which wasn't formatted correctly.- parsing of urls containing '?'
- out-of-bounds read in
mutt_str_lws_len()
- Translations
- Review fuzzy lt translations
- Updated French translation
- Website
- Installation guide for Cygwin
- Installation guide for openSUSE
- Installation guide for CRUX
- Build
- check that DTDs are installed
- autosetup improvements
- option for which version of bdb to use
- drop test for resizeterm -- it's always present
- Code
- split if's containing assignments
- doxygen: add/improve comments
- rename functions / parameters for consistency
- add missing {}s for clarity
- move functions to library
- reduce scope of variables
- boolify more variables
- iwyu: remove unnecessary headers
- name unicode chars
- tailq: migrate parameter api
- md5: refactor and tidy
- rfc2047: refactor and tidy
- buffer: improvements
- create unit test framework
- fix several coverity defects
- Upstream
- Fix s/mime certificate deletion bug
- Disable message security if the backend is not available
- Fix improper signed int conversion of IMAP uid and msn values
- Change imap literal counts to parse and store unsigned ints
- Fix imap status count range check
cmd_handle_fatal()
: make error message a bit more descriptive- Create pgp and s/mime default and sign_as key vars
- Add missing setup calls when resuming encrypted drafts
mutt_pretty_size()
: show real number for small filesexamine_directory()
: set directory/symlink size to zero- Add
<history-search>
function, bound to ctrl-r - Avoid a potential integer overflow if a Content-Length value is huge
2017-12-15 Richard Russon <[email protected]>
- Bug Fixes
- Fix some regressions in the previous release
2017-12-08 Richard Russon <[email protected]>
- Features
- Enhance ifdef feature to support my_ vars
- Add
<edit-or-view-raw-message>
- Remove vim syntax file from the main repo
- Support reading FQDN from mailname files
- Bug Fixes
- Do not turn CRLF into LF when dealing with transfer-encoding=base64
- Cleanup "SSL is unavailable" error in mutt_conn_find
- Don't clear the macro buffer during startup
- Fixup smart
<modify-labels-then-hide>
for !tag case - Add sleep after SMTP error
- Restore folder settings after
folder-hook
- Fix segfault when pipe'ing a deleted message
- Docs
- Display_filter escape sequence
- Correct spelling mistakes
- Add a sentence to
<quasi-delete>
docs - Modify gpg.rc to accommodate GPG 2.1 changes
- Build
- Fix build for RHEL6
- Define NCURSES_WIDECHAR to require wide-char support from ncurses
- Autosetup: fix check for missing sendmail
- Respect
--with-ssl
path - Check that OpenSSL md5 supports -r before using it
- Autosetup: expand
--everything
inneomutt -v
- Make sure objects are not compiled before
git_ver.h
is generated - Build: fix update-po target
- Fix out-of-tree builds
- Fix stdout + stderr redirection in
hcachever.sh
- Build: moved the check for idn before the check for notmuch
- Define prefix in Makefile.autosetup
- Install stuff to
$(PACKAGE) in $ (libexecdir), not $(libdir) - Update autosetup to latest master
- Code
- Rename files
- Rename functions
- Rename variables
- Rename constants
- Remove unused parameters
- Document functions
- Rearrange functions
- Move functions to libraries
- Add new library functions
- Rearrange switch statements
- Boolification
- Drop #ifdef DEBUG
- Fix Coverity defects
- Insert braces
- Split ifs
- Fallthrough
- Fix shadow variable
- Replace mutt_debug with a macro
- Return early where possible
- Upstream
- Note which ssl config vars are GnuTLS or OpenSSL only
- Add message count to
$move
quadoption prompt - Add %R (number of read messages) for
$status_format
- Add
$change_folder_next
option to control mailbox suggestion order - Fix
$smart_wrap
to not be disabled by whitespace-prefixed lines - Remove useless else branch in the
$smart_wrap
code - Fix ansi escape sequences with both reset and color parameters
2017-10-27 Richard Russon <[email protected]>
- Bug Fixes
- variable type when using fread
- prevent timezone overflow
- tags: Show fake header for all backends
- notmuch: virtual-mailboxes should accept a limit
- Issue 888: Fix imap mailbox flag logging
- fix actions on tagged messages
- call the
folder-hook
before saving to$record
- Fix smart wrap in pager without breaking header
- Add polling for the IDLE command
- Docs
- imap/notmuch tags: Add some documentation
- English and other cleanups
- compressed and nntp features are now always built
- Website
- Update Arch instructions
- Build
- Fix update-po
- Fix neomutt.pot location, remove from git
- Allow to specify
--docdir
at configure time - Generate neomuttrc even if configured with
--disable-doc
- Let autosetup define PWD, do not unnecessarily try to create hcache dir
- Use bundled wcscasecmp if an implementation is not found in libc
- Use host compiler to build the documentation
- Update autosetup to latest master branch
- autosetup: delete makedoc on 'make clean'
- Fixes for endianness detection
- Update autosetup to latest master branch
- Do not use CPPFLAGS / CFLAGS together with CC_FOR_BUILD
--enable-everything
includes lua- autosetup: check for sys_siglist[]
- Code
- move functions to library
- lib: move MIN/MAX macros
- simplify null checks
- kill preproc expansion laziness
- reduce scope of variables
- merge: minor code cleanups
- split up 'if' statements that assign and test
- Refactor: Remove unused return type
- Bool: change functions in
mx.h
- bool: convert function parameters in
nntp.h
- add extra checks to
mutt_pattern_exec()
- Use safe_calloc to initialize memory, simplify size_t overflow check
- Move
mutt_rename_file()
to lib/file.[hc] - doxygen: fix a few warnings
- minor code fixes
- use
mutt_array_size()
- refactor out O_NOFOLLOW
- initialise variables
- lib: move List and Queue into library
- url: make notmuch query string parser generic
- Wrap dirname(3) inside a
mutt_dirname()
function
2017-10-13 Richard Russon <[email protected]>
- Bug Fixes
- crash using uncolor
- Sort the folders list when browsing an IMAP server
- Prefer a helpful error message over a BEEP
- Build
- Do not fail if deflate is not in libz
- Support EXTRA_CFLAGS and EXTRA_LDFLAGS, kill unused variable
2017-10-06 Richard Russon <[email protected]>
- Features
- Add IMAP keywords support
- Bug Fixes
- set mbox_type
- %{fmt} date format
- Fix off-by-one buffer overflow in add_index_color
- crash in
mbox_to_udomain()
- crash in
mutt_substrdup()
- crash looking up mime body type
-
$digest_collapse
was broken - crash using notmuch expando with imap
- imap: Fix mx.mbox leak in
imap_get_parent_path()
- overflow in
mutt_mktime()
- add more range-checking on dates/times
- Remove spurious error message
- Unsubscribe after deleting an imap folder
- Do not pop from MuttrcStack what wasn't pushed
- Docs
- replace mutt refs with neomutt
- drop old vim syntax file
- Code
- convert functions to use 'bool'
- convert structs to use STAILQ
- Build
- Autosetup-based configuration
- drop upstream mutt references
- rename everything 'mutt' to 'neomutt'
- move helper programs to lib dir
- rename regexp to regex
- expand buffers to avoid gcc7 warnings
- Upstream
- Remove \Seen flag setting for imap trash
- Change imap copy/save and trash to sync flags, excluding deleted
- Improve imap fetch handler to accept an initial UID
- Display an error message when delete mailbox fails
- Updated French translation
- Fix imap sync segfault due to inactive headers during an expunge
- Close the imap socket for the selected mailbox on error
- Add missing IMAP_CMD_POLL flag in imap mailbox check
- Change maildir and mh check_mailbox to use dynamic sized hash
- Fix uses of
context->changed
as a counter - Make
cmd_parse_fetch()
more precise about setting reopen/check flags - Enable
$reply_self
for<group-reply,>
even with $me_too unset
2017-09-12 Richard Russon <[email protected]>
- Bug Fixes
- broken check on resend message
- crash in
<vfolder-from-query>
- Build
- Be more formal about quoting in m4 macros
- fix warnings raised by gcc7
- notmuch: add support for the v5 API
2017-09-07 Richard Russon <[email protected]>
- Contrib
- Add guix build support
- Bug Fixes
- Only match real mailboxes when looking for new mail
- Fix the printing of ncurses version in -v output
- Bind editor
<delete>
to<delete-char>
- Fix overflowing colours
- Fix empty In-Reply-To generation
- Trim trailing slash from completed dirs
- Add guix-neomutt.scm
- Fix setting custom query_type in notmuch query
- Website
- New technical documentation LINK
- Improve Gentoo distro page
- Build
- Better curses identification
- Use the system's wchar_t support
- Use the system's md5 tool (or equivalent)
- Clean up configure.ac
- Teach gen-map-doc about the new opcode header
- Source
- Rename functions (snake_case)
- Rename constants/defines (UPPER_CASE)
- Create library of shared functions
- Much tidying
- Rename globals to match user config
- Drop unnecessary functions/macros
- Use a standard list implementation
- Coverity fixes
- Use explicit NUL for string terminators
- Drop OPS* in favour of
opcodes.h
- Upstream
- Fix menu color calls to occur before positioning the cursor
- When guessing an attachment type, don't allow text/plain if there is a null character
- Add
$imap_poll_timeout
to allow mailbox polling to time out - Handle error if REGCOMP in pager fails when resizing
- Change recvattach to allow nested encryption
- Fix attachment check_traditional and extract_keys operations
- Add edit-content-type helper and warning for decrypted attachments
- Add option to run command to query attachment mime type
- Add warning about using inline pgp with format=flowed
2017-07-14 Richard Russon <[email protected]>
- Translations
- Update German translation
- Docs
- compile-time output: use two lists
- doxygen: add config file
- doxygen: tidy existing comments
- Build
- fix
hcachever.sh
script
- fix
- Upstream
- Fix crash when
$postponed
is on another server.
- Fix crash when
2017-07-07 Richard Russon <[email protected]>
- Features
- Support Gmail's X-GM-RAW server-side search
- Include pattern for broken threads
- Allow sourcing of multiple files
- Contrib
- vombatidae colorscheme
- zenburn colorscheme
- black 256 solarized colorscheme
- neonwolf colorscheme
- Mutt logos
- Bug Fixes
- flags: update the hdr message last
- gpgme S/MIME non-detached signature handling
- menu: the thread tree color
- Uses CurrentFolder to populate LastDir with IMAP
- stabilise sidebar sort order
- colour emails with a '+' in them
- the padding expando
%>
- Do not set old flag if
$mark_old
is false - maildir creation
- Decode CRLF line endings to LF when copying headers
- score address pattern do not match personal name
- open attachments in read-only mode
- Add Cc, In-Reply-To, and References to default mailto_allow
- Improve search for mime.types
- Translations
- Update Chinese (Simplified) translation
- Coverity defects
- dodgy buffers
- leaks in lua get/set options
- some resource leaks
- Docs
- update credits
- limitations of new-mail %f expando
- escape <>'s in nested conditions
- add code of conduct
- fix ifdef examples
- update mailmap
- Update
<modify-labels-then-hide>
- fix mailmap
- drop UPDATING files
- Website
- Changes pages (diff)
- Update Arch distro page
- Update NixOS distro page
- Add new Exherbo distro page
- Update translation hi-score table
- Update code of conduct
- Update Newbies page
- Add page about Rebuilding the Documentation
- Add page of hard problems
- Build
- remove unnecessary steps
- drop instdoc script
- move smime_keys into contrib
- fixes for Solaris
- don't delete non-existent files
- remove another reference to devel-notes.txt
- Handle native Solaris GSSAPI.
- drop configure options
--enable-exact-address
- drop configure option
--with-exec-shell
- drop configure option
--enable-nfs-fix
- drop configure option
--disable-warnings
- Completely remove dotlock
- More sophisticated check for BDB version + support for DB6 (non default)
- Tidy
- drop VirtIncoming
- split
parse_mailboxes()
intoparse_unmailboxes()
- tidy some mailbox code
- tidy the version strings
- Upstream
- Add ~<() and ~>() immediate parent/children patterns
- Add L10N comments to the GNUTLS certificate prompt
- Add more description for the %S and %Z
$index_format
characters - Add config vars for forwarded message attribution intro/trailer
- Block SIGWINCH during connect()
- Improve the L10N comment about Sign as
- Auto-pad translation for the GPGME key selection "verify key" headers
- Enable all header fields in the compose menu to be translated
- Force hard redraw after
$sendmail
instead of callingmutt_endwin()
- Make GPGME key selection behavior the same as classic-PGP
- Rename 'sign as' to 'Sign as'; makes compose menu more consistent
- Change the compose menu fields to be dynamically padded
2017-06-09 Richard Russon <[email protected]>
- Contrib
- unbind mappings before overwriting in vim-keys
- Bug Fixes
- latest coverity issues (#624)
- don't pass colour-codes to filters
- Don't set a colour unless it's been defined.
- crash if no from is set or founds
- ifdef command
- Translations
- fix translations
- fix some remaining translation problems
- Docs
- explain binding warnings
- don't document unsupported arches
- Build
- fix make
git_ver.h
- allow xsltproc and w3m calls to fail
- fix make dist
- fix make
- Upstream
- Add a
mutt_endwin()
before invoking$sendmail
- Restore setenv function
- Fix
<tag-prefix>
to not abort on$timeout
- Change
km_dokey()
to return -2 on a timeout/sigwinch - Enable TEXTDOMAINDIR override to make translation testing easier
- Fix "format string is not a string literal" warnings
- Add a
2017-06-02 Richard Russon <[email protected]>
- Features
- Warn on bindkey aliasing
- Drop PATCHES, tidy 'mutt -v' output
- Add %z format strings to
$index_format
- Add
$debug_level
/$debug_file
options
- Bug Fixes
- Fix nntp group selection
- Fix status color
- Tidy up S/MIME contrib
- Do not try to create Maildir if it is an NNTP URL
- Fix missing NONULL for
mutt.set()
in Lua
- Translations
- Fix German PGP shortkeys
- Docs
- Remove feature muttrc files
- Merge README.notmuch into manual
- Remove unneeded scripts
- Remove README.SECURITY
- Remove BEWARE and devel-notes.txt
- Update Makefiles
- Delete TODO files
- Remove legacy files
- Don't generate vim-neomutt syntax file
- Remove LaTeX/pdf manual generation
- Add missing docs for expandos
- Fix sidebar howto examples
- Remove some upstream references
- Drop refs to patches
- Improve PR template and CONTRIBUTING.md
- Website
- Fix list items in newbie-tutorial's Mailing List Guidelines
- Remove configure options that no longer exist
- fix newbie tutorial
- document signing tags / releases
- config: drop unused paginate command
- script: split tests up into several
- convert credits page to markdown
- simplify 404 page
- improve newbie tutorial
- remove help.html and integrate its content elsewhere
- make: "graphviz" program is needed for generating diagram
- improve getting started guide // include legacy files
- dev: add list of architectures/operating systems
- numerous small fixes
- Build
- Remove typedefs and rename ~130 structs
- Add separate hcache dir
- Move crypto files to ncrypt dir
- Split up
mutt.h
,protos.h
- Always build: sidebar, imap, pop, smtp, compressed, nntp
- Remove
--enable-mailtool
configure option - Make dotlock optional
- Change gpgme requirement back to 1.1.0
- Remove
check_sec.sh
- Fix safe_calloc args
- Remove unused macros
- Remove unused option: SmimeSignOpaqueCommand
- Move configure-generated files
- Update distcheck build flags
- Drop obsolete iconv check
- Unused prototypes - unsupported systems
- Drop many configure tests for things defined in POSIX:2001
- Kill useless
crypthash.h
file - Run clang-format on the code
- Fail early if ncursesw cannot be found
- Add names prototype arguments
- Abbreviate pointer tests against NULL
- Initialise pointers to NULL
- Reduce the scope of for loop variables
- Coverity: fix defects
- Upstream
- Convert all exec calls to use
mutt_envlist()
, remove setenv function - Note that mbox-hooks are dependent on
$move
- Refresh header color when updating label
- Remove glibc-specific
execvpe()
call insendlib.c
- Add color commands for the compose menu headers and security status
- Fix sidebar count updates when closing mailbox
- Don't modify LastFolder/CurrentFolder upon aborting a change folder operation
- Change message modifying operations to additively set redraw flags
- Improve maildir and mh to report flag changes in
mx_check_mailbox()
- Add
$header_color_partial
to allow partial coloring of headers - Rename REDRAW_SIGWINCH to REDRAW_FLOW
- Create R_PAGER_FLOW config variable flag
- Turn IMAP_EXPUNGE_EXPECTED back off when syncing
- Add
$history_remove_dups
option to remove dups from history ring - Also remove duplicates from the history file
- Don't filter new entries when compacting history save file
- Move the IMAP msn field to IMAP_HEADER_DATA
- Fix imap expunge to match msn and fix index
- Fix
cmd_parse_fetch()
to match against MSN - Start fixing
imap_read_headers()
to account for MSN gaps - Add msn_index and max_msn to find and check boundaries by MSN
- Properly adjust fetch ranges when handling new mail
- Small imap fetch fixes
- Don't abort header cache evaluation when there is a hole
- Fix mfc overflow check and uninitialized variable
- Fix potential segv if mx_open_mailbox is passed an empty string
- Don't clean up idata when closing an open-append mailbox
- Don't clean up msn idata when closing an open-append mailbox
- Fix memory leak when closing mailbox and using the sidebar
- Change imap body cache cleanup to use the uid_hash
- Convert classic s/mime to space delimit findKeys output
- Add self-encrypt options for PGP and S/MIME
- Change
$postpone_encrypt
to use self-encrypt variables first - Automatic post-release commit for mutt-1.8.3
- Add note about message scoring and thread patterns
- Convert all exec calls to use
2017-04-28 Richard Russon <[email protected]>
- Bug Fixes
- Fix and simplify handling of GPGME in configure.ac (@gahr)
- Docs
- Fix typo in README.neomutt (@l2dy)
- Upstream
- Fix
km_error_key()
infinite loop and unget buffer pollution - Fix error message when opening a mailbox with no read permission
- Fix
2017-04-21 Richard Russon <[email protected]>
- Features
- add lua scripting
- add command-line batch mode
- index_format: add support of %K
- Bug Fixes
- attachment/pager: Use mailcap for test/* except plain
- Fix
$uncollapse_new
in pager - fix garbage in chdir prompt due to unescaped string
- Fix inbox-first functionality when using
mutt_pretty_mailbox()
- add full neomutt version to log startup
- fix bug in uncolor for notmuch tag
- fix broken
$from_chars
behaviour
- Coverity defects
- strfcpy
- add variable - function arg could be NULL/invalid
- add variable - failed function leads to invalid variable
- add variable - Context could become NULL
- add variable - alloc/strdup could return NULL
- add variable - route through code leads to invalid variable
- remove variable test
- test functions
- tidy switches
- unused variables
- refactor only
- check for buffer underruns
- fix leaks
- minor fixes
- bug: add missing break
- bug: don't pass large object by value
- fix: use correct buffer size
- shadow variables
- 0 -> NULL
- Docs
- many minor updates
- sync translations
- delete trailing whitespace
- indent the docbook manual
- use w3m as default for generating UTF8 manual.txt
- Website
- many minor updates
- fix broken links
- add to list of useful programs
- test automatic html checker
- remove trailing whitespace
- add irc description
- update issue labels (dev)
- new page: closed discussions
- new page: making neomutt (dev)
- Build
- drop obsolete m4 scripts
- don't look for lua libs unless asked for
- lower the gettext requirement 0.18 -> 0.17
- add
keymap_alldefs.h
to BUILT_SOURCES - fix make dist distcheck
- Remove -Iimap from CFLAGS and include
imap/imap.h
explicitly - mx: fix conditional builds
- Make iconv mandatory (no more
--disable-iconv
) - refactor: Split out BUFFER-handling functions
- Tidy
- drop control characters from the source
- drop vim modelines
- delete trailing whitespace
- mark all local functions as static
- delete unused functions
- replace FOREVER with while (true)
- drop #if HAVE_CONFIG_H
- use #ifdef for potentially missing symbols
- remove #if 0 code blocks
- drop commented out source
- IMAP auth functions are stored by pointer cannot be static
- force OPS to be rebuilt after a reconfigure
- be specific about void functions
- expand a few more alloc macros
- add argument names to function prototypes
- drop local copy of regex code
- rearrange code to avoid forward declarations
- limit the scope of some functions
- give the compress functions a unique name
- use snake_case for function names
- add missing newlines to mutt_debug
- remove generated files from repo
- look for translations in all files
- fix arguments to printf-style functions
- license text
- unify include-guards
- tidy makefiles
- initialise pointers
- make strcmp-like functions clearer
- unify sizeof usage
- remove forward declarations
- remove ()s from return
- rename files hyphen to underscore
- remove unused macros
- use SEEK_SET, SEEK_CUR, SEEK_END
- remove constant code
- fix typos and grammar in the comments
- Switch to using an external gettext runtime
- apply clang-format to the source code
- boolify returns of 84 functions
- boolify lots of struct members
- boolify some function parameters
- Upstream
- Add
$ssl_verify_partial_chains
option for OpenSSL - Move the OpenSSL partial chain support check inside configure.ac
- Don't allow storing duplicate certs for OpenSSL interactive prompt
- Prevent skipped certs from showing a second time
- OpenSSL: Don't offer (a)ccept always choice for hostname mismatches
- Add SNI support for OpenSSL
- Add SNI support for GnuTLS
- Add shortcuts for IMAP and POP mailboxes in the file browser
- Change OpenSSL to use SHA-256 for cert comparison
- Fix conststrings type mismatches
- Pass envlist to filter children too
- Fix
envlist_set()
for the case that envlist is null - Fix setenv overwriting to not truncate the envlist
- Fix
(un)sidebar_pin
to expand paths - Fix
mutt_refresh()
pausing during macro events - Add a menu stack to track current and past menus
- Change CurrentMenu to be controlled by the menu stack
- Set refresh when popping the menu stack
- Remove redraw parameter from crypt send_menus
- Don't full redraw the index when handling a command from the pager
- Filter other directional markers that corrupt the screen
- Remove the OPTFORCEREDRAW options
- Remove SidebarNeedsRedraw
- Change
reflow_windows()
to set full redraw - Create R_MENU redraw option
- Remove refresh parameter from
mutt_enter_fname()
- Remove redraw flag setting after
mutt_endwin()
- Change
km_dokey()
to pass SigWinch on for the MENU_EDITOR - Separate out the compose menu redrawing
- Separate out the index menu redrawing
- Prepare for pager redraw separation
- Separate out the pager menu redrawing
- Don't create query menu until after initial prompt
- Silence imap progress messages for
<pipe-message>
- Ensure mutt stays in endwin during calls to
pipe_msg()
- Fix memleak when attaching files
- Add
$ssl_verify_partial_chains
option for OpenSSL - Move the OpenSSL partial chain support check inside configureac
- Don't allow storing duplicate certs for OpenSSL interactive prompt
- Prevent skipped certs from showing a second time
- OpenSSL: Don't offer (a)ccept always choice for hostname mismatches
- Add SNI support for OpenSSL
- Add SNI support for GnuTLS
- Add shortcuts for IMAP and POP mailboxes in the file browser
- Updated French translation
- Change OpenSSL to use SHA-256 for cert comparison
- Fix conststrings type mismatches
- Pass envlist to filter children too
- Fix
envlist_set()
for the case that envlist is null - Fix setenv overwriting to not truncate the envlist
- Fix
mutt_refresh()
pausing during macro events - Add a menu stack to track current and past menus
- Change CurrentMenu to be controlled by the menu stack
- Set refresh when popping the menu stack
- Remove redraw parameter from crypt send_menus
- Don't full redraw the index when handling a command from the pager
- Fix
(un)sidebar_pin
to expand paths - Filter other directional markers that corrupt the screen
- Remove the OPTFORCEREDRAW options
- Remove SidebarNeedsRedraw
- Change
reflow_windows()
to set full redraw - Create R_MENU redraw option
- Remove refresh parameter from
mutt_enter_fname()
- Remove redraw flag setting after
mutt_endwin()
- Change
km_dokey()
to pass SigWinch on for the MENU_EDITOR - Separate out the compose menu redrawing
- Separate out the index menu redrawing
- Prepare for pager redraw separation
- Separate out the pager menu redrawing
- Don't create query menu until after initial prompt
- Silence imap progress messages for
<pipe-message>
- Ensure mutt stays in endwin during calls to
pipe_msg()
- Fix memleak when attaching files
- automatic post-release commit for mutt-181
- Added tag mutt-1-8-1-rel for changeset f44974c10990
- mutt-181 signed
- Add ifdefs around new mutt_resize_screen calls
- Add multiline and sigwinch handling to
mutt_multi_choice()
- Set pager's REDRAW_SIGWINCH when reflowing windows
- Add multiline and sigwinch handling to mutt_yesorno
- Change the sort prompt to use (s)ort style prompts
- Handle the pager sort prompt inside the pager
- Fix GPG_TTY to be added to envlist
- automatic post-release commit for mutt-182
- Add
2017-03-06 Richard Russon <[email protected]>
- Bug Fixes
- Get the correct buffer size under fmemopen/torify (#441)
- Use static inlines to make gcc 4.2.1 happy
- getdnsdomainname: cancel getaddrinfo_a if needed
- imap: remove useless code (#434) (origin/master)
- Fixes missing semi-colon compilation issue (#433)
- Docs
- github: added template for Pull Requests, issues and a CONTRIBUTION.md (#339)
- editorconfig: support for new files, fix whitespace (#439)
- add blocking fmemopen bug on debian to manual (#422)
- Upstream
- Increase ACCOUNT.pass field size. (closes #3921)
- SSL: Fix memory leak in subject alternative name code. (closes #3920)
- Prevent segv if open-appending to an mbox fails. (closes #3918)
- Clear out extraneous errors before
SSL_connect()
(see #3916)
2017-02-25 Richard Russon <[email protected]>
- Features
- Add option
$show_multipart_alternative
- notmuch: Allow to use untransformed tag for color
- Use getaddrinfo_a if possible (#420)
- Add option
- Bug Fixes
- handle sigint within socket operations (#411)
- Avoid browsing the remote
$spool_file
by setting MUTT_SELECT_MULTI attach - notmuch: fix crash when completing tags (#395)
- Fixes missing failure return of notmuch msg open (#401)
- Fix latest Coverity issues (#387)
- Advance by the correct number of position even for unknown characters (#368)
- Release KyotoCabinet data with
kcfree()
(#384) - 22 resource leaks
- Translations
- Update translations
- Update the German translation (#397)
- Docs
- fix typo in notmuch example
- remove duplicate "default" in the sidebar intro
- fix confusing description of notmuch operators (#371)
- correct spelling mistakes (#412)
- Website
- link to clang-format config in main repo (#28)
- updated list of useful programs
- update/improve list of useful programs
-
$sidebar_format
has a single default value - fix name of GNU Guix
- added guix distro
- added link to new afew maintainers
- add code of conduct
- add mutt-addressbook to useful
- remove unnecessary unicode non-breaking spaces
- github merging
- Build
- Enable and run unit-tests on the feature/unit-test branch
- add notmuch to default, feature
- new dbs for mutt
- master is now the main branch
- streamline builds
- fix doc generator
- add a few includes (prelude to clang-format)
-
slcurses.h
defines its own bool type - travis: use container build
- add clang-format file
- Remove ugly macros and casts from
crypt_gpgme.c
- fix minor reflow issues in some comments
- editorconfig: use spaces to indent in *.[ch] files
- added comment-blocks for clang-format to ignore
- fix 80 column limit, align statements
- Remove
snprintf.c
from EXTRA_DIST (#406) - Kill homebrew (v)snprintf implementations, as they are C99 (#402)
- Display charset + small refactoring
- Do not cast or check returns from safe_calloc (#396)
- refactor: create a generic base64 encode/decode
- debug: remove dprint in favor of mutt_debug (#375)
- Fix dubious use macro for
_()
/gettext()
(#376) - Use buf_init instead of memset
- Make the heap method and datatype a plain list
- Reverts making AliasFile into a list_t (#379)
- Turn mutt_new_* macros into inline functions
- Do not cast return values from malloc (or similar)
- Upstream
- Simplify
mutt_label_complete()
- Permit tab completion of pattern expressions with ~y (labels)
- Fix the
mutt_label_complete()
pos parameter - Fix the x-label update code check location
- Improve the label completion hash table usage
- Adds label completion
- Add
hash_find_elem()
to get the hash element - Minor fixes to the x-label patch from David
- Adds capability to edit x-labels inside mutt, and to sort by label
- Allow "unsubjectrc *" to remove all patterns
- Add subjectrx command to replace matching subjects with something else
- Abstract the SPAM_LIST as a generic REPLACE_LIST
- Improve Reply-to vs From comparison when replying
- Fix sidebar references to the "new count" to be "unread"
- Fix several alias hashtable issues
- Add casecmp and strdup_key flags to hash_create()
- Improve error handling in mbox magic detection
- Allow initial blank lines in local mailboxes
- Fix minor documentation issues
- Convert cmd_parse_search to use the uid hash
- Create a uid hash for imap
- Convert HASH to be indexable by unsigned int
- Fix imap server-side search to call
uid2msgno()
only once - Add a pattern_cache_t to speed up a few repeated matches
- Canonicalize line endings for GPGME S/MIME encryption
- Fix build for bdb
- Create function to free header cache data
- Add Kyoto Cabinet support to the header cache
- Prevent null pointer exception for
h->ai_canonname
- Show SHA1 fp in interactive cert check menu
- Fix potential cert memory leak in
check_certificate_by_digest()
- Plug memory leak in weed-expired-certs code
- Filter expired local certs for OpenSSL verification
- Change "allow_dups" into a flag at hash creation
- Simplify
2017-02-06 Richard Russon <[email protected]>
- Bug Fixes
- Unicode 0x202F is a non-break space too (#358)
- improve readability of
find_subject()
- Import hcache-lmdb fixes from upstream (#363)
- Rework the "inbox-first" implementation to make code self-explanatory (#356)
- If possible, only redraw after gpgme has invoked pinentry (#352)
- Remove two use-after free in global hooks (#353)
- Handle BAD as IMAP_AUTH_UNAVAIL (#351)
- Do not crash when closing a non-opened mailbox
- Import hcache benchmark
- fix: bug introduced by mkdir changes (#350)
- change pager to allow timehook-hook to fire
- Docs
- Update documentation about
<modify-labels-then-hide>
- Update documentation about
2017-01-28 Richard Russon <[email protected]>
- Features
- Add option for missing subject replacement
- notmuch: Allow
<modify-labels>
to toggle labels - Support for aborting mailbox loading
- Do a mailbox check after shell escape
- Support of relative paths sourcing and cyclic source detection
- Support of multiple config files as CLI arguments
- Extend the ~m pattern to allow relative ranges
- Implement SASL's PLAIN mechanism as a standalone authenticator
- Add support for sensitive config options
- Searching with a window over notmuch vfolders
- Contrib
- fix vim syntax file for index-color commands
- add .editorconfig
- Bug Fixes
- fix global hooks to not take a pattern
- Avoid breaking relative paths when avoiding cyclic checks on
- Fix sorting when using '/' as a namespace separator
- Docs
- Added waffle badges to readme
- Describe the new message ranges
- add documentation for -DS command line switch
- fix typos in section on config locations
- remove reference to missing keybinding
- fix docbook validation
- Build
- Start migrating to stdbool logic
- add recursive
mkdir()
- reformat the source to mutt standards
- appease
check_sec.sh
2017-01-13 Richard Russon <[email protected]>
- Features
- Allow custom status flags in
$index_format
-
$from_chars
highlights differences in authorship - notmuch: make 'Folder' and 'Tags' respect (un)ignore
- notmuch: add "virtual-unmailboxes" command
- Allow custom status flags in
- Bug Fixes
- pick smarter default for
$sidebar_divider_char
- status color breaks "mutt -D"
- Enable
<reconstruct-thread>
in the pager - manually touch 'atime' when reading a mbox file
- allow
$to_chars
to contain Unicode characters - increase the max lmdb database size
- restore limit current thread
- don't reset the alarm unless we set it
- some more places that may get NULL pointers
- rework initials to allow unicode characters
- pick smarter default for
- Translations
- Spanish translation
- German translation
- Docs
- Improve whitespace and grammar on the NNTP feature page
- make
$to_chars
docs more legible - de-tab the DocBook
- fix 301 redirects
- Build
- New configure option
--enable-everything
- add a constant for an aborted question
- enhance
mutt_to_base64()
(and callers) - Fix configure.ac to require md5 if hcache is enabled
- Bail if a selected hcache backend cannot be found
- refactor mutt_matches_ignore
- fix hcache + make dist
- add unicode string helper function
- Re-indent configure.ac
- generate devel version suffix
- fix
check_sec.sh
warnings - remove unnecessary #ifdef's
- add missing #ifdef for nntp
- ignore some configure temp files
- fix "make dist" target
- fix function prototypes
- fix coverity warnings
- notmuch: drop strndup, replace with mutt_substrdup
- New configure option
- Upstream
- Fix failure with GPGME 1.8: do not steal the gpgme_ prefix.
- search muttrc file according to XDG Base Specification (closes #3207)
- Improve openssl interactive_check_cert. (closes #3899)
- Add mutt_array_size macro, change
interactive_check_cert()
to use it. (see #3899) - Return to pager upon aborting a jump operation. (closes #3901)
- Change sidebar_spool_file coloring to be lower precedence.
- Move '@' pattern modifier documentation to the right section.
- Add setenv/unsetenv commands.
- Rework OpenSSL certificate verification to support alternative chains. (closes #3903)
- Add option to control whether threads uncollapse when new mail arrives.
- In the manual, replaced 2 para by example (similar to the first example).
- Create MbTable type for multibyte character arrays. (see #3024)
- Make
$to_chars
and$status_chars
accept mulitibyte characters. (closes #3024)
2016-11-26 Richard Russon <[email protected]>
- Features
- Upstream adoption of compress
- Multiple hcache backends and run-time selection
-
$forward_references
includes References: header on forwards - Hooks: define hooks for startup and shutdown
- Add
$collapse_all
to close threads automatically
- Bug Fixes
- Index in pager crash
- Tag with multiple labels
- Make sure gdbm's symbols are not resolved in QDBM's compatibility layer
- Fix crash when doing collapse_all on an empty folder
- Fix: crash when browsing empty dir
- Initialize imap_authenticate's return value to something meaningful
- Translations
- Update German translation
- Update Slovak translation
- Update French translation
- Add English (British) translation
- Convert files to utf-8
- Mass tidy up of the translation messages
- Docs
- new-mail bug is fixed
- add since date for features
- expand example command options for compress
- fix entries for
$beep
andnew-mail-command
- add a version number to the generated vimrc
- fix links in README
- don't use smart quotes in manual examples
-
<escape>
and\e
means refers to both alt and escape key
- Build
- Travis: test messages
- Add option to disable translation messages
- Split hcache code into per-backend files
- Doc/Makefile clean neomutt-syntax.vim
- Improve discovery for the Berkeley Database
- Fix nntp/notmuch conditionals
- Implement
mutt_strchrnul()
- Rename vim-keybindings to vim-keys
- Upstream
-
$attach_format
: add new %F placeholder - Compose: add operation to rename an attachment
- Chain
%d->%F->%f
in the attachment menu - Move mbox close-append logic inside
mbox_close_mailbox()
- When
$flag_safe
is set, flagged messages cannot be deleted - Adds the '@' pattern modifier to limit matches to known aliases
- Adds
<mark-message>
binding to create "hotkeys" for messages - Updated requirement on the C compiler
- Fix
<mark-message>
translation and keybind menu - More openssl1.1 fixes: remove uses of
X509->name
in debugging. (closes #3870) - Don't close stderr when opening a tunnel. (closes #3726)
- Minor resource and error logic cleanup in tunnel_socket_open()
- Make sure that the output of X509_NAME_oneline is null-terminated
-
2016-11-04 Richard Russon <[email protected]>
- Bug Fixes
- don't crash when the imap connection dies
- Upstream
- Add
<root-message>
function to jump to root message in thread. - Updated French translation.
- Prevent an integer overflow in
mutt_mktime()
(closes #3880) - Fix pager segfault when lineInfo.chunks overflows. (closes #3888)
- Perform charset conversion on text attachments when piping. (closes #3773) (see #3886)
- Add a
--disable-doc
configuration option. - Make ncurses and ncursesw header checking the same.
- Attempt to silence a clang range warning. (closes #3891)
- Fixed issue from changeset 4da647a80c55. (closes #3892)
- Define PATH_MAX, it's missing on the GNU Hurd. (closes #3815)
- Add
2016-10-28 Richard Russon <[email protected]>
- Features
- nntp: use safe_{fopen,fclose}
- nntp: fix resource leak
- forgotten-attachment: Ignore lines matching
$quote_regex
- forgotten-attachment: Fix checking logic.
- forgotten-attachment: Update docs regarding
$quote_regex
- notmuch: Add a fake "Folder" header to viewed emails
- sidebar: consider description when using pinning
- skip-quoted: skip to body
- Bug Fixes
- sensible-browser/notmuch changing mailbox
- "inbox" sorting function
- overhaul the index/pager updates
- crash in hdrline
- remove stray line introduced by pager fix
- Possible fix for random pager crashes.
- Docs
- use a more expressive coverity scan badge
- light tidying
- Build
- replace the ugly
strfcpy()
macro with a function - build: Look for tgetent in ncurses, fallback to tinfo only if not found
- build: fix a couple of build warnings
- travis: install doc dependencies
- build: fix install/dist/distcheck targets
- replace the ugly
- Upstream
- Fix POP3 SASL authentication mechanism DIGEST-MD5. (closes #3862)
- Add a few explanatory comments to
pop_auth_sasl()
(see #3862) - Fix GPGME signature zero timestamp and locale awareness issues. (closes #3882)
- Handle presence of '--' delimiter in
$sendmail
(closes #3168) - Allow IPv6 literal addresses in URLs. (closes #3681)
- Fix gpgme segfault in
create_recipient_set()
- Use
mutt_strlen()
andmutt_strncmp()
insidebar.c
- Change sidebar to only match
$folder
prefix on a$sidebar_divider_char.
(closes #3887) - Actually fix gpgme segfault in
create_recipient_set()
2016-10-14 Richard Russon <[email protected]>
- Features
- sidebar: Make sure INBOX appears first in the list.
- notmuch: Synchronise tags to flags
- Bug Fixes
- updates when pager is open
- crash when neither
$spool_file
,$folder
are set - forgotten-attachment: fix empty regex expression
- status-color when
$pager_index_lines > 0
- buffer underrun when no menu item is selected
- crash handling keywords/labels
- Docs
- update notmuch references
- Build
- update references to 1.7.1
-
strfcpy()
improvement
- Upstream
- automatic post-release commit for mutt-1.7.1
- Mark IMAP fast-trash'ed messages as read before copying. (see #3860)
- Updated Czech translation.
- Preserve forwarded attachment names in d_filename.
2016-10-03 Richard Russon <[email protected]>
- Build
- Fix install and dist targets
2016-10-02 Richard Russon <[email protected]>
- Features
- Kyoto Cabinet header cache
- Compose to Sender
- Forgotten Attachment uses a regex
- Optimize LMDB's hcache backend
- Sensible-browser behaviour fixes
- Bug Fixes
- Fixes repaint problem with
$pager_index_lines
#159 - Quasi-Delete: check there's a selection
- Bulletproof the pager
- Typo in the version string
- Fixes repaint problem with
- Docs
- Add badges to README.neomutt
- Document the Kyoto cabinet hcache backend
- Fix the layout of the syntax file
- Make the license clear to github
- Fix the alignment in a 'nested-if' example
- Fix notmuch vim syntax file
- Added Mailinglist mailto links to "Where is NeoMutt" section
- Fix build of neomutt-syntax.vim
- Fixed typo of devel mailinglist name
- Build
- Travis: install the kyoto-cabinet dev files
- Build source before docs
- Build fix for strndup / malloc
- Change gcc build options to prevent crashes
- Upstream
- Ensure signatures exist when verifying multipart/signed emails (closes #3881)
- RFC2047-decode mailto url headers after RFC2822 parsing (closes #3879)
- RFC2047-decode mailto header values (closes #3879)
- Reset invalid parsed received dates to 0 (closes #3878)
- Clear pager position when toggling headers
- Don't abort the menu editor on sigwinch (closes #3875)
- Mark some gpgme pgp menu keybinding translations as fuzzy (closes #3874)
- Check for NULL mx_ops in mxc
- Use body color for gpgme output (closes #3872)
- Fix gpgme segfault when querying candidates with a '+' in the address (closes #3873)
2016-09-16 Richard Russon <[email protected]>
- Bug Fixes
- Avoid segfault when listing mailboxes on startup John Swinbank
- Fix buffer overrun in search for attach keyword James McCoy
- Fix off-by-one in error message Antonio Radici
- fix AC_INIT tarname parameter
- fix crash when exiting the pager
- fix another crash in the pager
- nntp: close message handles
- fix: make the pager more robust
- fix sidebar sort order
- fix notmuch tag completion
- Docs
- doc: Removes bug entry in new-mail docs Santiago Torres
- fix some translations in
crypt_gpgme.c
Antonio Radici - docs: mass tidy up
- Upstream
- Fix sidebar documentation a bit
- Add sidebar_pin command
- Remove the $locale configuration variable
- Add
$attribution_locale
configuration variable - Add missing include
<locale.h>
tosend.c
andedit.c
- Filter out zero width no-break space (U+FEFF)
- Update a confusing and obsolete comment
- Moves
mutt_copy_list()
tomuttlib.c
, where it belongs - Redraw screen after an SSL cert prompt
- Preserve message-id and mft headers for recalled messages
- Fix openssl 1.1 compilation issues
2016-09-10 Richard Russon <[email protected]>
- New Features
- Colouring Attachments with Regex Guillaume Brogi
- PGP Encrypt to Self Guillaume Brogi
- Sensible Browser Pierre-Elliott Bécue
- Reply using X-Original-To: header Pierre-Elliott Bécue
- Purge Thread Darshit Shah
- Forgotten attachment Darshit Shah
- Add
sidebar_ordinary
color
- Bug Fixes
- align the nntp code with mutt Fabian Groffen
- check for new mail while in pager when idle Stefan Assmann
- Allow the user to interrupt slow IO operations Antonio Radici
- keywords: check there are emails to tag
- fix duplicate saved messages
- flatten contrib/keybase dir to fix install
- restore the pager keymapping 'i' to exit
- proposed fix for clearing labels
- notmuch: sync
$vfolder_format
to$folder_format
- Docs
- Update List of Features and Authors
- Build
- fix configure check for fmemopen
- use fixed version strings
- Upstream
- Increase date buffer size for
$folder_format
- Disable ~X when message scoring
- Fix pgpring reporting of DSA and Elgamal key lengths
- Stub out
getdnsdomainname()
unless HAVE_GETADDRINFO - Autoconf: always check for
getaddrinfo()
- Add missing sidebar contrib sample files to dist tarball
- Increase date buffer size for
2016-08-27 Richard Russon <[email protected]>
- NeoMutt for Mutt 1.7.0
- Build
- Disable fmemopen until bug is fixed
- Contrib
- Keybase portability improvements Joshua Jordi (JakkinStewart)
2016-08-21 Richard Russon <[email protected]>
- Contrib
- Updates to Keybase Support Joshua Jordi (JakkinStewart)
- Bug Fixes
- Fix data-loss when appending a compressed file
- Don't paint invisible progress bars
- Revert to Mutt keybindings
- Don't de-tag emails after labelling them
- Don't whine if
getrandom()
fails Adam Borowski (kilobyte) - Fix display when 'from' field is invalid
- Config
- Support for $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS Marco Hinz (mhinz)
- Docs
- Fix DocBook validation
- Document Notmuch queries
- Build
- More Autoconf improvements Darshit Shah (darnir)
- Create Distribution Tarballs with autogen sources Darshit Shah (darnir)
2016-08-08 Richard Russon <[email protected]>
- New Features
- Timeout Hook - Run a command periodically
- Multiple fcc - Save multiple copies of outgoing mail
- Contrib
- Keybase Integration Joshua Jordi (JakkinStewart)
- Devel
- Attached - Prevent missing attachments Darshit Shah (darnir)
- Virtual Unmailboxes - Remove unwanted virtual mailboxes Richard Russon (flatcap)
- Bug Fixes
- Sidebar's inbox occasionally shows zero/wrong value
- Fix crash opening a second compressed mailbox
- Config
- Look for /etc/neomuttrc and ~/.neomuttrc
- Docs
- Fix broken links, typos
- Update project link
- Fix version string in the manual
- Build
- Add option to disable fmemopen
- Install all the READMEs and contribs
- Big overhaul of the build Darshit Shah (darnir)
2016-07-23 Richard Russon <[email protected]>
- New Motto: "Teaching an Old Dog New Tricks"
- Thanks to Alok Singh
- New Features
- New Mail Command - Execute a command on receipt of new mail
- vim-keys - Mutt config for vim users
- LMDB: In-memory header caching database
- SMIME Encrypt to Self - Secure storage of sensitive email
- Bug Fixes
- rework
mutt_draw_statusline()
- fix cursor position after sidebar redraw
- Add
$sidebar_format
flag '%n' to display 'N' on new mail. - fix
$index_format
truncation problem - Fix compiler warnings due to always true condition
- Change sidebar next/prev-new to look at
mailbox->new
too. - Change the default for
$sidebar_format
to use %n. - sidebar "unsorted" order to match Mailbox list order.
- Include ncurses tinfo library if found.
- Sidebar width problem
- sidebar crash for non-existent mailbox
- Temporary compatibility workaround
- Reset
mailbox->new
for the current mailbox in IMAP. -
version.sh
regression - crash when notmuch tries to read a message
- status line wrapping
- rework
- Docs
- Mass tidy up of the docs
- Fix xml validation
- Add missing docs for new features
- Travis
- New build system: https://github.com/neomutt/travis-build Now we have central control over what gets built
2016-07-09 Richard Russon <[email protected]>
- Bug-fixes
- This release was a temporary measure
2016-06-11 Richard Russon <[email protected]>
- Change in behaviour
- Temporarily disable
$sidebar_refresh_time
Unfortunately, this was causing too many problems. It will be fixed and re-enabled as soon as possible.
- Temporarily disable
- Bug Fixes
- Fix several crashes, on startup, in Keywords
- Reflow text now works as it should
- Lots of typos fixed
- Compress config bug prevented it working
- Some minor bug-fixes from mutt/default
- Single quote at line beginning misinterpreted by groff
- Setting
$sidebar_width
to more than 128 would cause bad things to happen. - Fix alignment in the compose menu.
- Fix sidebar mailbox stats updating on mailbox close.
- Build Changes
- Sync whitespace to mutt/default
- Alter ChangeLog date format to simplify Makefiles
- Use the new notmuch functions that return a status
- Rename sidebar functions
sb_*
->mutt_sb_*
2016-05-23 Richard Russon <[email protected]>
- New Features:
- Keywords: Email Label/Keywords/Tagging
- Compress: Compressed mailboxes support
- NNTP: Talk to a usenet news server
- Separate mappings for
<enter>
and<return>
- New configure option:
--enable-quick-build
- Various build fixes
2016-05-02 Richard Russon <[email protected]>
- Update for Mutt-1.6.0
- Bug Fixes:
- Build for Notmuch works if Sidebar is disabled
- Sidebar functions work even if the Sidebar is hidden
<sidebar-next-new>
, etc, only find new mail, as documented- Notmuch supports very long queries
2016-04-16 Richard Russon <[email protected]>
- Big Bugfix Release
- Bug Fixes:
- Fix crash caused by
$sidebar_folder_indent
- Allow the user to change mailboxes again
- Correct sidebar's messages counts
- Only sort the sidebar if we're asked to
- Fix refresh of pager when toggling the sidebar
- Compose mode: make messages respect the TITLE_FMT
- Conditional include if
sys/syscall.h
- Build fix for old compilers
- Try harder to keep track of the open mailbox
- Fix crash caused by
- Changes to Features
- Allow
$sidebar_divider_char
to be longer (it was limited to one character) - Ignore case when sorting the sidebar alphabetically
- Allow
- Other Changes
- Numerous small tweaks to the docs
- Lots of minor code tidy-ups
- Enabling Notmuch now forcibly enables Sidebar (it is dependent on it, for now)
- A couple of bug fixes from mutt/stable
2016-04-04 Richard Russon <[email protected]>
- Update for Mutt-1.6.0
- No other changes in this release
2016-03-28 Richard Russon <[email protected]>
- New Features
<skip-quoted>
- skip quoted text<limit-current-thread>
- limit index view to current thread
- Sidebar Intro - A Gentle Introduction to the Sidebar (with pictures).
2016-03-20 Richard Russon <[email protected]>
- Numerous small bugfixes
- TravisCI integration
2016-03-17 Richard Russon <[email protected]>
- New Features
- notmuch - email search support
- ifdef - improvements
2016-03-07 Richard Russon <[email protected]>
- First NeoMutt release
- List of Features:
- bug-fixes - various bug fixes
- cond-date - use rules to choose date format
- fmemopen - use memory buffers instead of files
- ifdef - conditional config options
- index-color - theme the email index
- initials - expando for author's initials
- nested-if - allow deeply nested conditions
- progress - show a visual progress bar
- quasi-delete - mark emails to be hidden
- sidebar - overview of mailboxes
- status-color - theming the status bar
- tls-sni - negotiate for a certificate
- trash - move 'deleted' emails to a trash bin