Release 0.18.0 highlights: # Added - Add `[ui].msglist-scroll-offset` option to set a scroll offset for the message list. - Add new `:align` command to align the selected message at the top, center, or bottom of the message list. - Inline image previews when no filter is defined for `image/*` and the terminal supports it. - `:bounce` command to reintroduce messages into the transport system. - Message counts are available in statusline templates. - Execute IPC commands verbatim by providing the command and its args as a single argument in the shell. - Virtually any key binding can now be configured in `binds.conf`, including Shift+Alt+Control modifier combinations. - Configure default message list `:split` or `:vsplit` on startup with `message-list-split` in `aerc.conf`. - Create notmuch named queries with the `:query` command. - Specify a ":q" alias for quit. - The `:detach` command now understands globs similar to `:attach`. - Match filters on filename via `.filename,~<regexp> =`. - Tell aerc how to handle file-based operations on multi-file notmuch messages with the account config option `multi-file-strategy` and the `-m` flag to `:archive`, `:copy`, `:delete`, and `:move`. - Add `[ui].dialog-{position,width,height}` to set the position, width and height of popover dialogs. - New `pgp-self-encrypt` option in `accounts.conf`. - Add `--no-ipc` flag to run `aerc mailto:...`, `aerc mbox:...`, and `aerc :<command...>` within the current aerc instance and prevent listening for IPC calls from other aerc instances. - Add config options `disable-ipc-mailto` and `disable-ipc-mbox` to make `mailto:...` and `mbox:...` commands always run in a new aerc instance. - Set global options in `accounts.conf` by placing them at the top of the file. - Silently close the terminal tab after piping a message to a command with `:pipe -s <cmd>`. - New `tag-modified` hook for notmuch and JMAP accounts. - New `flag-changed` hook. - Notmuch search term completions to `:query`. - Notmuch completions for `:cf`, `:filter` and `:search`. - Add `imaps+insecure` to the available protocols, for connections that should ignore issues with certificate verification. - Add `[ui].select-last-message` option to position cursor at the bottom of the view. - Propagate terminal bell from the built-in terminal. - Added `AERC_FOLDER_ROLE` to hooks that have `AERC_FOLDER`. - Added `{{.AccountBackend}}` to templates. - Added `AERC_ACCOUNT_BACKEND` to hooks with `AERC_ACCOUNT`. - Per folder key bindings can now be defined for the message viewer. - Allow using existing directory name with `:query -f`. - Allow specifying the folder to delete with `:rmdir`. - The address book is now used for `:cc`, `:bcc` and `:forward`. - Allow fallback to threading by subject with `[ui].threading-by-subject`. # Fixed - Calendar responses now ignore case. - Allow account- and folder-specific binds to coexist. - Fixed crash when running `:send` with a `:preview` tab focused. - Deadlock when running `aerc mailto:foo@bar.com` without another instance of aerc already running. - Prevent a freeze for large-scale deletions with IMAP. - `Mime-Version` is no longer inserted in signed text parts headers. MTAs normalizing header case will not corrupt signatures anymore. - Restore previous behaviour of the new message bell which was broken in the last two releases for at least some setups. # Changed - The default `[ui]` settings and the `default` styleset have changed extensively. A no-color theme can be restored with the `monochrome` styleset. - The default `colorize` theme has been changed to use the base terminal colors. - The `[viewer]` section of stylesets now preserve default values as documented in `aerc-stylesets(7)` unless explicitly overridden. - Add Message-ID to the variables of `[hooks].mail-received`. - The `TrayInfo` template variable now includes a visual mark mode indicator. - The `disable-ipc` option in `aerc.conf` completely disables IPC. - Improved readability of the builtin `calendar` filter. - `:open` commands now preserve the original filename. - Unparsable accounts are skipped, instead of aerc exiting with an error. # Deprecated - Built-in descriptions for the default keybinds shown on the review screen will be deprecated in a future release. Descriptions can be added to those keybinds with inline comments in binds.conf. Thanks to all contributors! ~$ contrib/git-stats.sh 0.17.0..0.18.0 Author Commits Changed Files Insertions Deletions Robin Jarry 53 272 +2373 -1112 Tim Culverhouse 29 131 +1525 -2056 Bence Ferdinandy 17 57 +440 -64 Jason Cox 15 59 +1031 -357 Koni Marti 15 44 +436 -124 Karel Balej 10 23 +735 -447 Tristan Partin 7 14 +332 -51 Maarten Aertsen 6 9 +35 -27 Johannes Thyssen Tishman 4 14 +116 -45 Matěj Cepl 4 4 +16 -4 Moritz Poldrack 4 7 +17 -10 Julio B 3 8 +51 -7 Vitaly Ovchinnikov 3 6 +54 -7 Gregory Anders 2 2 +5 -1 Jules Maselbas 2 2 +9 -8 Bartkk 1 3 +16 +0 Brandon Maier 1 1 +2 +0 Daniel Gray 1 1 +1 -1 Gary Kim 1 1 +1 -1 Joey Schaff 1 1 +1 -1 Jonathan Dowland 1 1 +1 -1 Michael Walle 1 2 +2 -2 Nicolas Dichtel 1 1 +14 -10 Ryan Winograd 1 1 +2 -2 jp39 1 1 +3 -5 Reviewer/Tester Commits Robin Jarry 128 Bence Ferdinandy 25 Tim Culverhouse 14 Inwit 11 Moritz Poldrack 7 Koni Marti 5 Matěj Cepl 5 Nicolas Dichtel 5 Maarten Aertsen 4 Tristan Partin 4 Jason Cox 3 Julio B 3 Jeremy Baxter 2 "Matěj Cepl" 1 Gavin-John Noonan 1 Gregory Anders 1 Johannes Thyssen Tishman 1 Jonathan Dowland 1 Karel Balej 1 Maximilian Bosch 1 Runxi Yu 1 Tianhao Wang 1 Tomasz Kramkowski 1