Release 0.18.2 highlights: # Fixed - Builtin `calendar` filter error with non-GNU Awk. - Detection of unicode width measurements on tmux 3.4. - Dropping of events during large pastes. - Home and End key decoding for the st terminal. Thanks to all contributors! ~$ contrib/git-stats.sh 0.18.1..0.18.2 Author Commits Changed Files Insertions Deletions Robin Jarry 3 4 +27 -15 Aiden Fox Ivey 1 1 +1 -1 Tim Culverhouse 1 2 +3 -3 Timon Reinold 1 1 +2 -1 Reviewer/Tester Commits Robin Jarry 3 Johannes Thyssen Tishman 1
Release 0.18.1 highlights: # Fixed - Startup error if `log-file` directory does not exist. - Aerc is now less pedantic about invalid headers for the maildir and notmuch backends. - Error when trying to configure `smtp-domain` with STARTTLS enabled. - `smtp-domain` is now properly taken into account for TLS connections. Thanks to all contributors! ~$ contrib/git-stats.sh 0.18.0..0.18.1 Author Commits Changed Files Insertions Deletions Robin Jarry 4 7 +68 -72 Jens Grassel 1 1 +5 +0 Reviewer/Tester Commits Tristan Partin 2 Bence Ferdinandy 1 Inwit 1 Moritz Poldrack 1 Robin Jarry 1 Vitaly Ovchinnikov 1
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
Release 0.17.0 highlights: # Added - New `flagged` criteria for `:sort`. - New `:send-keys` command to control embedded terminals. - Account aliases now support fnmatch-style wild cards. - New `:suspend` command bound to `<C-z>` by default. - Disable parent context bindings by declaring them empty. - Toggle folding with `:fold -t`. - `mail-deleted` hook that triggers when a message is removed/moved from a folder. - `mail-added` hook that triggers when a message is added to a folder. - Improved command completion. - Customize key to trigger completion with `$complete` in `binds.conf`. - Setting `complete-min-chars=manual` in `aerc.conf` now disables automatic completion, leaving only manually triggered completion. - `.ThreadUnread` is now available in templates. - Allow binding commands to `Alt+<number>` keys. - `AERC_ACCOUNT` and `AERC_ADDRESS_BOOK_CMD` are now defined in the editor's environment when composing a message. - Reply with a different account than the current one with `:reply -A <account>`. - New `[ui].tab-title-viewer` setting to configure the message viewer tab title. - The `{{.Subject}}` template is evaluated to the new option `[ui].empty-subject` if the subject is empty. - Change to a folder of another account with `:cf -a <account> <folder>`. - Patch management with `:patch`. - Add file path to messages in templates as `{{.Filename}}`. - New `:menu` command to invoke other ex-commands based on a shell command output. - CLI flags to override paths to config files. - Automatically attach signing key with `pgp-attach-key` in `accounts.conf`. - Copy messages across accounts with `:cp -a <account> <folder>`. - Move messages across accounts with `:mv -a <account> <folder>`. - Support the `draft` flag. - Thread arrow prefixes are now fully configurable. # Fixed - `colorize` support for wild cards `?` and `*`. - Selection of headers in composer after `:compose -e` followed by `:edit -E`. - Don't lose child messages of non-queried parents in notmuch threads - Notmuch folders defined by the query `*` handle search, filter, and unread counts correctly. # Changed - `:open` commands are now executed with `sh -c`. - `:pipe` commands are now executed with `sh -c`. - Message viewer tab titles will now show `(no subject)` if there is no subject in the viewed email. - Signature placement is now controlled via the `{{.Signature}}` template variable and not hard coded. Thanks to all contributors! ~$ contrib/git-stats.sh 0.16.0..0.17.0 Author Commits Changed Files Insertions Deletions Robin Jarry 62 652 +4964 -5577 Koni Marti 45 120 +4250 -729 Bence Ferdinandy 15 44 +452 -139 Jason Cox 14 59 +490 -232 Moritz Poldrack 11 19 +170 -568 Vitaly Ovchinnikov 11 27 +379 -38 Inwit 9 32 +497 -103 Johannes Thyssen Tishman 5 8 +292 -63 Sebastien Binet 3 5 +36 -25 Michal Siedlaczek 2 5 +66 -43 Erik Terpstra 1 2 +30 +0 George Honeywood 1 2 +3 -3 Jens Grassel 1 1 +8 +0 Karel Balej 1 1 +1 -1 Max Schillinger 1 1 +0 -1 Nojus Gudinavičius 1 5 +64 +0 Thomas Böhler 1 1 +0 -2 delitako 1 5 +30 -18 Reviewer/Tester Commits Robin Jarry 121 Inwit 31 Moritz Poldrack 28 Koni Marti 22 Bence Ferdinandy 13 Johannes Thyssen Tishman 8 Jason Cox 4 Karel Balej 3 Thomas Böhler 3 Tim Culverhouse 3 Vitaly Ovchinnikov 2 Callum Andrew 1 Ciarán Ainsworth 1 Maarten van Gompel 1 Tristan Partin 1
Release 0.16.0 highlights: # Added - JMAP support. - The new account wizard now supports all source and outgoing backends. - Edit email headers directly in the text editor with `[compose].edit-headers` in `aerc.conf` or with the `-e` flag for all compose related commands (e.g. `:compose`, `:forward`, `:recall`, etc.). - Use `:save -A` to save all the named parts, not just attachments. - The `<Backspace>` key can now be bound. - `colorize` can style diff chunk function names with `diff_chunk_func`. - Warn before sending emails with an empty subject with `empty-subject-warning` in `aerc.conf`. - IMAP now uses the delimiter advertised by the server. - `carddav-query` utility to use for `address-book-cmd`. - Folder name mapping with `folder-map` in `accounts.conf`. - Use `:open -d` to automatically delete temporary files. - Remove headers from the compose window with `:header -d <name>`. - `:attach -r <name> <cmd>` to pipe the attachments from a command. - New `msglist_gutter` and `msglist_pill` styles for message list scrollbar. - New `%f` placeholder to `file-picker-cmd` which expands to a location of a temporary file from which selected files will be read instead of the standard output. - Save drafts in custom folders with `:postpone -t <folder>`. - View "thread-context" in notmuch backends with `:toggle-thread-context`. # Fixed - `:archive` now works on servers using a different delimiter - `:save -a` now works with multiple attachments with the same filename - `:open` uses the attachment extension for temporary files, if possible - memory leak when using notmuch with threading # Changed - Names formatted like "Last Name, First Name" are better supported in templates - Composing an email is now aborted if the text editor exits with an error (e.g. with `vim`, abort an email with `:cq`). - Aerc builtin filters path (usually `/usr/libexec/aerc/filters`) is now **prepended** to the default system `PATH` to avoid conflicts with installed distro binaries which have the same name as aerc builtin filters (e.g. `/usr/bin/colorize`). - `:export-mbox` only exports marked messages, if any. Otherwise it exports everything, as usual. - The local hostname is no longer exposed in outgoing `Message-Id` headers by default. Legacy behaviour can be restored by setting `send-with-hostname = true` in `accounts.conf`. - The notmuch bindings were replaced with internal bindings - Aerc now has a default style for most UI elements. The `default` styleset is now empty. Existing stylesets will only override the default attributes if they are set explicitly. To reset the default style and preserve existing stylesets appearance, these two lines must be inserted **at the beginning**: ``` *.default=true *.normal=true ``` # Deprecated - Aerc can no longer be compiled and installed with BSD make. GNU make must be used instead. Thanks to all contributors! ~$ contrib/git-stats.sh 0.15.2..0.16.0 Author Commits Changed Files Insertions Deletions Robin Jarry 96 297 +6571 -2136 Koni Marti 42 125 +2741 -516 Tim Culverhouse 29 88 +2042 -705 Vitaly Ovchinnikov 14 36 +608 -97 Moritz Poldrack 9 29 +209 -44 Keenan Gugeler 4 4 +13 -5 Bence Ferdinandy 3 3 +24 -11 Inwit 2 2 +19 -4 Jason Cox 2 10 +54 -13 Karel Balej 2 4 +27 -11 Kirill Miazine 2 2 +2 -2 Adnan Maolood 1 6 +42 -7 Anton Mosich 1 1 +1 -1 Erik Schilling 1 1 +3 -3 Kirill Chibisov 1 3 +16 -2 Konstantin Shelekhin 1 10 +19 -2 Matěj Cepl 1 1 +1 +0 Nojus Gudinavičius 1 1 +3 +0 Omar Polo 1 1 +1 -1 Oskar Sharipov 1 2 +73 -1 Sebastian LaVine 1 1 +3 +0 Vlad-Stefan Harbuz 1 1 +2 -2 owl 1 3 +47 -7 Reviewer/Tester Commits Robin Jarry 94 Bence Ferdinandy 41 Inwit 31 Moritz Poldrack 29 Tim Culverhouse 28 Koni Marti 18 Tristan Partin 18 Karel Balej 3 Andrew Yu 1 Drew Devault 1 Julio B 1 Kirill Chibisov 1 Maarten van Gompel 1 Matěj Cepl 1 Ronald Evers 1 Vitaly Ovchinnikov 1 Willow Barraco 1
Release 0.15.2 highlights: # Fixed - Extra messages disappearing when deleting on maildir. - `colorize` and `wrap` filters option parsing on ARM. Thanks to all contributors! ~$ contrib/git-stats.sh 0.15.1..0.15.2 Author Commits Changed Files Insertions Deletions Robin Jarry 3 6 +48 -38 Tim Culverhouse 2 2 +26 -45 Reviewer/Tester Commits Bence Ferdinandy 1 Inwit 1 Kirill Chibisov 1
Release 0.15.1 highlights: # Fixed - Embedded terminal partial refreshes. - Maildir message updates after `mbsync`. Thanks to all contributors! ~$ contrib/git-stats.sh 0.15.0..0.15.1 Author Commits Changed Files Insertions Deletions Robin Jarry 5 6 +24 -20 Tim Culverhouse 2 4 +47 -11 Reviewer/Tester Commits Jason Cox 2 Robin Jarry 2 Tim Culverhouse 1 ~staceeharper 1
Release 0.15.0 highlights: # Added - New column-based message list format with `index-columns`. - Add a `msglist_answered` style for answered messages. - Compose `Format=Flowed` messages with `format-flowed=true` in `aerc.conf`. - Add a `trimSignature` function to the templating engine. - Change local domain name for SMTP with `smtp-domain=example.com` in `aerc.conf` - New column-based status line format with `status-columns`. - Inline user-defined styles can be inserted in UI templates via the `{{.Style "name" string}}` function. - Add the ability to run arbitrary commands over the socket. This can be disabled using the `disable-ipc` setting. - Allow configuring URL handlers via `x-scheme-handler/<scheme>` `[openers]` in `aerc.conf`. - Allow basic shell globbing in `[openers]` MIME types. - Dynamic `msglist_*` styling based on email header values in stylesets. - Add `mail-received`, `aerc-startup`, and `aerc-shutdown` hooks. - Search/filter by flags with the `-H` flag. # Changed - Filters are now installed in `$PREFIX/libexec/aerc/filters`. The default exec `PATH` has been modified to include all variations of the `libexec` subdirs. - The built-in `colorize` filter theme is now configured in styleset files into the `[viewer]` section. - The standard Usenet signature delimiter `"-- "` is now prepended to `signature-file` and `signature-cmd` if not already present. - All `aerc(1)` commands now interpret `aerc-templates(7)` markup. - running commands (like mailto: or mbox:) no longer prints a success message - The built-in `colorize` filter now emits OSC 8 to mark URLs and emails. Set `[general].enable-osc8 = true` in `aerc.conf` to enable it. - Notmuch support is now automatically enabled when `notmuch.h` is detected on the system. # Deprecated - `[ui].index-format` setting has been replaced by `index-columns`. - `[statusline].render-format` has been replaced by `status-columns`. - Removed support for go < 1.18. - Removed support for `[ui:subject...]` contextual sections in `aerc.conf`. - `[triggers]` setting has been replaced by `[hooks]`. - `smtp-starttls` setting in `accounts.conf` has been removed. All `smtp://` transports now assume `STARTTLS` and will fail if the server does not support it. To disable `STARTTLS`, use `smtp+insecure://`. Thanks to all contributors! ~$ contrib/git-stats.sh 0.14.0..0.15.0 Author Commits Changed Files Insertions Deletions Robin Jarry 104 405 +7880 -5655 Tim Culverhouse 30 127 +1717 -492 Moritz Poldrack 14 55 +616 -300 Bence Ferdinandy 7 13 +90 -17 Koni Marti 5 10 +120 -9 witcher 4 4 +49 -21 Dean 2 5 +58 -11 Aivars Vaivods 1 4 +61 -4 Andrea Pappacoda 1 1 +4 -4 Inwit 1 1 +3 -2 Jens Grassel 1 2 +55 +0 Julian Marcos 1 5 +28 -4 Karel D. Kopecký 1 3 +22 -2 Kirill Chibisov 1 4 +28 -7 Marcin Serwin 1 4 +53 -55 Martin Lucina 1 4 +16 -7 Nguyễn Gia Phong 1 7 +99 -38 Nojus Gudinavičius 1 1 +1 -1 Tom Schwindl 1 1 +3 -2 Reviewer/Tester Commits Robin Jarry 61 Tim Culverhouse 33 Bence Ferdinandy 27 Moritz Poldrack 18 Ben Lee-Cohen 6 Inwit 4 Kirill Chibisov 4 Koni Marti 3 Kt Programs 3 Ben Cohen 2 Jose Lombera 2 JD 1 Jens Grassel 1 John Mcenroy 1 Maxwell G 1 Vincenzo Palazzo 1
Release 0.14.0 highlights: # Added - View common email envelope headers with `:envelope`. - Notmuch accounts now support maildir operations: `:copy`, `:move`, `:mkdir`, `:rmdir`, `:archive` and the `copy-to` option. - Display messages from bottom to top with `[ui].reverse-msglist-order=true` in `aerc.conf`. - Display threads from bottom to top with `[ui].reverse-thread-order=true` in `aerc.conf`. - Style search results in the message list with `msglist_result.*`. - Preview messages with their attachments before sending with `:preview`. - Filter commands now have `AERC_FORMAT`, `AERC_SUBJECT` and `AERC_FROM` defined in their environment. - Override the subject prefix for replies pattern with `subject-re-pattern` in `accounts.conf`. - Search/filter by absolute and relative date ranges with the `-d` flag. - LIST-STATUS and ORDEREDSUBJECT threading extensions support for imap. - Built-in `wrap` filter that does not mess up nested quotes and lists. - Write `multipart/alternative` messages with `:multipart` and commands defined in the new `[multipart-converters]` section of `aerc.conf`. - Close the message viewer before opening the composer with `:reply -c`. - Attachment indicator in message list flags (by default `a`, but can be changed via `[ui].icon-attachment` in `aerc.conf`). - Open file picker menu with `:attach -m`. The menu must be generated by an external command configured via `[compose].file-picker-cmd` in `aerc.conf`. - Sample stylesets are now installed in `$PREFIX/share/aerc/stylesets`. - The built-in `colorize` filter now has different themes. # Changed - `pgp-provider` now defaults to `auto`. It will use the system `gpg` unless the internal keyring exists and contains at least one key. - Calling `:split` or `:vsplit` without specifying a size, now attempts to use the terminal size to determine a useful split-size. # Fixed - `:pipe -m git am -3` on patch series when `Message-Id` headers have not been generated by `git send-email`. - Overflowing text in header editors while composing can now be scrolled horizontally. # Deprecated - Removed broken `:set` command. Thanks to all contributors! ~$ contrib/git-stats.sh 0.13.0..0.14.0 Author Commits Changed Files Insertions Deletions Robin Jarry 57 327 +5215 -4021 Tim Culverhouse 34 67 +792 -232 Koni Marti 30 83 +2406 -299 Julian Pidancet 12 23 +782 -292 Bence Ferdinandy 10 27 +497 -119 inwit 5 16 +100 -93 Moritz Poldrack 4 7 +58 -3 jp39 2 7 +36 -11 Ben Cohen 1 1 +1 +0 Folker Schwesinger 1 1 +3 -4 Inwit 1 11 +67 -79 Jens Grassel 1 2 +48 -15 Reviewer/Tester Commits Robin Jarry 69 Tim Culverhouse 33 Moritz Poldrack 24 Bence Ferdinandy 23 Inwit 9 Koni Marti 9 Ben Lee-Cohen 1 Jens Grassel 1 Thomas Vigouroux 1 normen 1
Release 0.13.0 highlights: # Added - Support for bindings with the Alt modifier. - Zoxide support with `:z`. - Hide local timezone with `send-as-utc = true` in `accounts.conf`. - Persistent command history in `~/.cache/aerc/history`. - Cursor shape support in embedded terminals. - Bracketed paste support. - Display current directory in `status-line.render-format` with `%p`. - Change accounts while composing a message with `:switch-account`. - Override `:open` handler on a per-MIME-type basis in `aerc.conf`. - Specify opener as the first `:open` param instead of always using default handler (i.e. `:open gimp` to open attachment in GIMP). - Restored XOAUTH2 support for IMAP and SMTP. - Support for attaching files with `mailto:`-links - Filter commands now have the `AERC_MIME_TYPE` and `AERC_FILENAME` variables defined in their environment. - Warn before sending emails that may need an attachment with `no-attachment-warning` in `aerc.conf`. - 3 panel view via `:split` and `:vsplit` - Configure dynamic date format for the message viewer with `message-view-this-*-time-format`. - View message without marking it as seen with `:view -p`. # Changed - `:open-link` now supports link types other than HTTP(S) - Running the same command multiple times only adds one entry to the command history. - Embedded terminal backend (libvterm was replaced by a pure go implementation). - Filter commands are now executed with `:~/.config/aerc/filters:~/.local/share/aerc/filters:$PREFIX/share/aerc/filters:/usr/share/aerc/filters` appended to the exec `PATH`. This allows referencing aerc's built-in filter scripts from their name only. # Fixed - `:open-link` will now detect links containing an exclamation mark - `outgoing-cred-cmd` will no longer be executed every time an email needs to be sent. The output will be stored until aerc is shut down. This behaviour can be disabled by setting `outgoing-cred-cmd-cache=false` in `accounts.conf`. - Mouse support for embedded editors when `mouse-enabled=true`. - Numerous race conditions. Thanks to all contributors! ~$ contrib/git-stats.sh 0.12.0..0.13.0 Author Commits Changed Files Insertions Deletions Tim Culverhouse 52 143 +1014 -1145 Robin Jarry 32 76 +691 -366 Koni Marti 17 50 +476 -223 Moritz Poldrack 9 18 +178 -44 Bence Ferdinandy 3 10 +205 -47 Ben Cohen 2 2 +16 -2 Julian Pidancet 2 9 +149 -2 inwit 2 3 +11 -1 Jason Cox 1 7 +106 -6 Jason Stewart 1 1 +4 -2 John Gebbie 1 3 +118 -1 Tobias Wölfel 1 3 +3 -3 kt programs 1 3 +37 -6