00a1fbb Aug 29, 2018
5 contributors

Users who have contributed to this file

@gauteh @mrvdb @SuprDewd @kyrias @ff2000
393 lines (273 sloc) 13.5 KB
* Respect $NOTMUCH_CONFIG and ignore configuration option if set. Otherwise fall back to option from configuration file.
* We now have a man page! Generated either by scdoc or ronn.
== v0.13 / 2018-07-20
* Move to WebKit2
We have now finally moved to WebKit2. This is a big change since the previous
functionality had to be moved to a WebExtension running in a separate process.
The IPC with the extension is implemented using Google ProtoBufs (>= 3.0)
and Unix Domain Sockets.
WebKit2 is actively maintained and consequently a long list of CVEs in the
old WebKit no longer cause worries. Additionally, each part is shown in
separate IFRAMEs so that essentially all received content is sandboxed (some
metadata like addresses are escaped and shown in main page). This protects better
against EFAIL type attacks (which I believe we were not vulnerable to anyway).
Expect some instability while breaking in this new change!
Important: Make sure you update your plugins! If they try to use the old
WebKit GIO bindings with the new WebKit objects astroid will freeze.
Part rendering:
* Show parts in IFRAME
* Toggle between parts without re-opening
* The default part shown (HTML or TEXT) is now configurable
* Optionally show HTML part if no other part
Images and EFAIL:
* Do not allow images in encrypted messages (#499)
* Show CID (attached) images in HTML parts (on C-i)
* Zoom messages with C-+ and C--
Syntax highlighting:
* Syntax highlighting through JS has been replaced by a syntax highlight
plugin based on Pygments.
* Add filter_part plugin method, which can be used to modify the displayed HTML
depending on either the text/plain or the text/html part.
* Logging can be configured to go to syslog (or stdout, default). File logging
is removed since we now have multiple processes and this would complicate
writing to one file.
* The configuration file is no longer written back by default if missing values
are found. This also means that values undefined by the user will be updated
if the default is changed.
Various checks for merging older versions of the configuration file to the
current version has been removed. The parser is more resilient and the old
versions are old.
== v0.12
* `mail.close_on_success` configures if page closes on successful send.
* `terminal.font_description` configures font of embedded terminal.
* `terminal.height` configures height of embedded terminal.
* `mail.format_flowed` is off by default.
* Make hooks undoable by providing a field for the inverse command.
* Do not force throw-keyid (follow gpg config).
* Allow GPG to be disabled with configuration option.
== v0.11.1 / 2018-02-20
* Automatically detect GMime version to build against.
== v0.11.0 / 2018-02-04
* Move to the CMake build system. Meson is deprecated.
* Allow HTML parts to be composed using Markdown.
* Use color to indicate whether a message is marked in thread-index.
* Always throw key-id when sending (using GMime 3)
* Bunch of minor stuff
== v0.10.2 / 2017-10-11
* Fix build issues on Mac OS.
* Gmime 2 used weird timezone for sent email.
* Add Meson build system as alternative.
== v0.10.1 / 2017-09-24
* Fix compilation errors against older versions of notmuch and gmime.
== v0.10 / 2017-09-21
* Support GMime 3 with backwards compatability with GMime 2. This orients us
towards GMime 3, and support for GMime 2 will be dropped in the future.
* Attach messages by mids with 'A' in new emails.
* Colorful tags in tag editor and in searching
* Tags in the tag editor is now separated by spaces (comma still works)
* New configuration option 'signature_separate' determines if inline
signatures will be separated from the message by a line containing '-- '.
* Configurable query associated with account can be used to select account as
From: when replying or forwarding e-mail.
* Default clipboard target: CLIPBOARD since this is the only one accessible by keyboard
in GTK.
* Select target for yank operations with '"'
* Track focus changes manually
== v0.9.1 / 2017-04-30
* Support old vte3.
* Support old _st versions on Arch.
== v0.9 / 2017-04-28
* Drop use of old deprecated non _st functions, use their new names. Will
require 0.24 or newer.
* No longer support pre-lastmod notmuches.
* Catch missing content errors for messages, not fail.
* Wait and block R/O database opening, not fail.
* Defer changed_thread events on thread-index while still loading.
* Do not update tags in thread-view when not ready.
* configuration option thread_view.expand_flagged determines whether flagged
messages are expanded by default.
* Better handle poll thread. Make sure to clean up connections here and in send_message.
* Polling can be cancelled with C-c in main window.
* Archive or close thread and then directly open next or next unread thread
in originating thread-index.
== v0.8 / 2017-03-17
* New logo and icons by Elio Qoshi ( )
* Run hook for thread-view (Hugo Roy)
* Session-persistent folder history for attaching files and saving
attachments. default is configurable.
* Remove duplicates when reply-all'ing.
* Handle mailto when astroid is already running.
* `scons --propagate-environment` uses environment from build environment.
* Show pane-focus with blue bar at top, swap focus with M-space. The
keybinding is now located at 'pane.swap_focus'.
* Add optional drop-down terminal ('|') which has session-persistent
working directory. Will silently be disabled if VTE is missing.
* Delay sending of message with configured time, in order to be able to
cancel wrongly sent messages.
* New --start-polling, --stop-polling and --refresh LASTMOD options which
makes external polling mechanisms work better.
* All notmuch tags are added to message CSS with 'nm-' prefix and some sanitation to allow thread-view customizing based on tag.
* Reply-To mailing list.
* Fix crypto and performance bugs among many others.
== v0.7 / 2017-01-02
* Messages are marked unread after a delay (default 2 sec) in
thread-view. They can be manually toggled with 'N'.
* Edit drafts using an external editor (optional).
* Filter thread-index incrementally using 'C-f'.
* Use Tab and S-Tab to jump between unread messages in thread-view.
* Yank raw or decoded message or element to primary clipboard with 'Y'
or 'y', useful for applying patches.
* Cancel sending with Ctrl + C.
* Yank the Message-ID to the primary clipboard with C-y.
* Make id:Message-ID urls clickable.
* Make Message-ID customizable, and User-Agent optional. These may also
be customized with a plugin.
* Use Boost::log for logging.
* Some hints about usage are shown (level of detail can be configured)
* 'c' in thread-view composes message to sender (or receiver if sender
is you).
* Taeer Bar-Yam <>: Allow any key name defined by GDK to
be entered.
* Thread-view: '*' toggle 'flagged' on message, 'a' toggle inbox on
whole thread.
* Removed MathJax support, since it is not widely used. Can be enabled
manually by adding sourcing the script in the thread-view theme file.
* When replying, match encryption / signature level.
* Open element with 'Space', also in editor.
* Check for missing fields and for attachment words before sending.
* Kim Ebert: Make sure all messages are loaded.
* M. Dietrich, G. Hope: Fix buggy quoting of arbitrarily spaced '>'s.
* Close thread-view after deleting draft.
* Hugo Roy: Improve attachment, mime-message, and url display.
== v0.6 / 2016-07-23
* Use any editor (general XEmbed support in edit-message window): Emacs
* Plugins: Python and Lua plugins can now be made, parts of ThreadIndex
and ThreadView are exposed allowing extension of the user interface and
advanced customization. Check out the plugins available at GitHub.
* Crypto: GPG encryption and signing is added. Decryption and
signature status is shown in greater detail.
* Repository moved to
* Thread-view: Search email text using '/'
* Synchronize maildir flags if so configured in .notmuch-config.
* Signatures: Include per-account signatures (either included or
* Saved searches: Save a search with 'C-S', then browse saved searches
and stats with 'C-f'. You can also browse search history using Up
and Down in the search-bar.
* Colorful tags: Tag background color is calculated based on MD5 sum and
normalized to within a configurable range. The same tag will therefore
always have the same color.
* Thread-index: load all threads in the background.
* All actions requiring write-access run in the background and wait for
any reads to finish. All read operations need to wait for any ongoing
write-operations to finish. All write-operations are therefore
asynchronous and non-blocking. Read-operations will only block on long
write operations.
* Tags can be modified on multiple marked threads with + and -.
* Modify tags on single message, they are updated in thread-view and
* Keybindings modified to be more common #171.
* scss: fix #82: make all variables global.
* C-d / C-u / Page in thread-index: Page and move cursor in thread
* Special keys like Tab and Home can now be used in user-keybindings.
* M. Dietrich: clock_format=year option to use clock format from this or
previous year setting in thread-index.
* M. Dietrich, G. Hope: Background color in thread-index configurable.
* M. Dietrich: Use correct reply-to address for mailinglist-messages.
* Gravatar is configurable.
* #103: Drafts are saved on force close or quit by default.
* C-v: duplicate and refine query.
* Mark thread moves to next by default.
* ti: set cursor to first thread if we are at first thread when new
addition is made.
* build: --disable-libsass: do not depend on libsass, but use a sass
compiler at build time (-scss-compiler=sassc).
* Quote lines for reply and forward are formatted with
== v0.5 / 2016-02-06
* Startup queries are invincible.
* q: ask to quit, Q: quit right away.
* C-f: Toggle flat or indented view of messages.
* C-i: Show remote images (cid-type images are not supported yet).
* A-#: Page to # page.
* Add gravatar support
* M-p: Toggle auto poll.
* C-j / C-k: Jump and scroll to next or previous element.
* thread-index: C-Enter: open thread in new window.
* Add popup menu with some actions for the thread-index.
* Fix #23: Don't crash when message file is missing.
* #25: Load html and scss from config/ui directory if present.
* #25: Allow some parameters of the thread_index cells to be configured.
* Move 'expand all' in thread view to C-e.
* Save drafts with 's', discard them with 'D', edit them with 'E' from
thread index or thread view.
* Edit messages as new with 'E'.
* Added a dinosaur.
* Configurable keybindings in ~/.config/astroid/keybindings.
* Show name of pre-defined searches in tab.
* Tab: jump to next unread thread.
* X: Force close tab.
* C-s: Cycle through sorting the thread_index (default configurable)
* Configurable sent-tags (per-account and global)
* Allow messages to be sent as attachments.
* Hugo Roy: Fix licences to be correct for borrowed stuff.
* Franz Fellner: Fix some long standing annoying bugs.
* Use ',' as separator for 'for_tags' in config, not ';'.
* Hugo Roy: Refurbished thread-view theme and move to scss processing,
your custom thread-view.css needs some attention.
* Franz Fellner: Clean-up coding style and name-space pollution.
* Hugo Roy: Made a tour of setting up astroid in the wiki.
* Print message with C-P and print marked messages with t+p.
* Run-hooks: Run user-defined shell hooks on keypress using keybinding
* Franz Fellner: Integrate with notmuch config, read available options
from there. You might have to update some of the affected
configuration options.
* Thread index: only use bold face on authors of unread messages.
== v0.4 / 2015-08-15
* Mark threads with 't' or 'T' and apply actions to all marked threads
with '+'.
* Mark messages with 't' or 'T' in thread-view and apply actions to all
marked messages with '+'.
* Show attached icon in thread-view.
* #18: Fix display of &amp; and friends.
* Configurable quote string for replying and forwarding.
* Replying adds 'replied' tag to original.
* Forwarding adds 'passed' tag to original.
* Message is updated thread-index after being sent.
* Show spinner in main window when polling.
* Show status icon for message sending.
* Indent messages according to reply-level in thread (configurable).
== v0.3 / 2015-05-27
* Poll script only updates changed threads (if notmuch_get_rev.. is
* Show number of messages in tab title
* Escape means no
* Poll-script output is logged incrementally
* Got a desktop file.
* Different color of font and border of the first levels of quotes
* Configurable exclude tags
* Open attached MIME messages
* Auto-redraw thread-index every minute
== v0.2 / 2015-01-18
* Allow math to be rendered with MathJax! Enclose math with $ or $$,
by default we are using MathJax online, but you can set this to
your local installation as well. MathJax is enabled by default,
and can also be enabled only for certain tags.
* Highlight code syntax between ``` markdown-style tags as well as
patches sent as email.
* Partial mailto: support, check out --help.
* Switch tabs/pages using mouse.
* Double-click in thread index to open thread.
* Paging in thread index moves cursor.
* Do not load remote images or resources from html files.
* C-m: adds 'muted' tag, 'muted' messages are excluded from non-explicit
* v: refine query.
* Tab: Grabs the first match in tag and search completion.
== v0.1 / 2014-11-30
First release of Astroid!