Bower 1.0 (2022-08-21)
======================
The first commit to this project was made 11 years ago. Let's call this v1.0.

* index: Use Alt+Enter to open a thread in "obscured" mode.
  Messages that did not match the search query are displayed differently and
  not interactable.
* thread/pager: Use 'M' key to toggle obscured mode.
* Allow omitting "+" prefix when entering tag additions.
* Support tag editing on compose screen.
* Inherit tags from message being replied to or forwarded.
* Also apply tags to sent message when using a custom post_sendmail action.
* Use domain of From address for right part of Message-ID.
* Expand ~ in config values.
* Expand ~ in interactively entered commands.
* config: Add ui.default_save_directory option.
* Remove lynx as the default HTML-to-text filter.
* Improve search string parser.
* Fix bug where "body:(foo bar)" was unparsed as "body: ( foo bar )".
* Restrict places in search string where "~" names a Bower search term alias
  to after whitespace or open parenthesis/brace.
* Accept mailto: argument on command line.
* Accept --help and --version options.

Bower 0.13 (2021-07-24)
=======================
Please note there are a few key binding changes.

* Support composing messages with text/html alternative;
  see alt_html_filter config option. (Frank Seifferth)
* Add compose.signature_file config option.
* Support Alt+Key bindings for fast alias expansion in index. (Frank Seifferth)
* Use 'U' to toggle unread instead of 'N'. (Frank Seifferth)
* Add 'N' to search in opposite direction. (Frank Seifferth)
* Add 'w' as an alias to save parts. (Frank Seifferth)
* Add '$' to mark threads or messages as spam. (Sean E. Russell)
* compose: Use 'B' for "edit Bcc". (Frank Seifferth)
* Add thread_ordering config option. (Frank Seifferth)
* Increase thread pane size for long threads. (Frank Seifferth)
* Auto-refresh index view after a period of inactivity (off by default).
* Drop "Non-text part" and "Attachment" lines in reply templates.
* Minor improvements.

Bower 0.12 (2020-08-01)
=======================
This release requires Mercury version 14.01 or above.

* Create reply templates in bower instead of using notmuch reply output.
* Include filtered non-text parts in reply/forward/edit-as-new templates.
* Make the visibility of parts in the pager determine which parts to include
  in message templates.
* Pass PART_CONTENT_TYPE and PART_CHARSET environment variables to filters.
* Set detected charset on outgoing text attachments.
* Use application/octet-stream for text attachments with non UTF-8 content.
* Improve parsing of notmuch output.
* Parse notmuch format v4 signature error flags.
* Clean up spaces and unprintable chars when displaying header values.
* Hide tags starting with "." (Niklas Haas)
* Change default cursor color.
* Handle screen resize in a few more places.
* Add make clean target.
* Minor improvements.

Bower 0.11 (2019-08-17)
=======================

* Add '|' key to pipe thread or message IDs to external command.
* index: Add 'z' key to toggle authors column. (Will Dietz)
* thread/pager: Show messages with exclude tags if the tags are explicitly
  searched for in the index view.
* compose: Allow non-UTF-8 "text" files to be attached.
* config: Add ui.wrap_width option to wrap message lines before terminal width.
* config: Add color.index.total option. (Will Dietz)
* Install signal handlers to improve behaviour with suspending and exiting.
* Write pgp-signature parts with name="signature.asc"
* Minor improvements.

Bower 0.10 (2019-01-26)
=======================

* thread/pager: Add 'W' key to forward message.
* Support BOWER_CONFIG environment variable.
* Document support for XDG Base Directory Specification.
* Support tab expansion for query:.
* Support ~NAME as a shorthand for query:NAME.
* Support Shift-Tab to cycle through completions in reverse.
* Make path completion work more smoothly.
* Minor improvements.

Bower 0.9 (2018-10-07)
======================

* Support conversion of message parts to text using external filters.
* Add ',' key to go to next unread thread/message (synonym for Tab).
* thread/pager: Show pager progress as percentage of current message.
* thread/pager: Periodically poll for new messages.
* config: Replace index.poll_period_secs with ui.poll_period_secs.

Bower 0.8.1 (2018-04-01)
========================

* Save/restore curses mode for any command that might invoke pinentry-curses.
* Add makefile target to produce man page (bower.1).

Bower 0.8 (2017-07-30)
======================
This release requires notmuch 0.21 or above.

* Look up addresses using notmuch address.
* Move add to addressbook to '@' key.
* Add 'a' keys to apply '-inbox -unread' or else '+inbox'.
* Add 'A' key to leave thread view and apply '-inbox -unread' to the thread.
* Bug fixes and minor improvements.

Bower 0.7 (2016-03-28)
======================
This release requires notmuch 0.16 or above (notmuch 0.19+ is recommended)
and gpgme. Consider updating your bower.conf to make use of multiple accounts.

* Support for multiple accounts.
* PGP/MIME support.
* Use notmuch insert command instead of notmuch-deliver.
* Make use of notmuch search --exclude=all option.
* Make use of notmuch show --entire-thread=false option.
* Represent excluded messages (with replies) in thread view.
* Fix ambiguity between ~dDATE and search alias beginning with ~d.
* Do not hide the 'inbox' tag.
* Run poll_notify command when polling finds new messages.
* Accept mailto URI at To: prompt.
* Add 'E' edit current message as template for new message.
* Add '~' key to initiate limit prompt populated with "~".
* Wrap long header lines in pager.
* Link with libpanelw, not libpanel.
* Bug fixes and minor improvements.
* Compatibility with newer Mercury compilers.

Bower 0.6 (2014-05-01)
======================
This release requires notmuch 0.15 or above.  Users who access notmuch
via ssh must update their configuration (see bower.conf.sample).

* Use notmuch 0.15 date parser instead of GNU date.
* Use notmuch reply --reply-to=(sender|all).
* Support single ~d DATE syntax.
* Use the terminal's default background colour.
* Configurable colours.
* Use shell-style word splitting of all commands.
* Automatically perform extra round of shell-quoting for ssh commands.
* Run open part/URL command in background if suffixed by '&'.
* Leave curses when running open part/URL command in foreground.
* Configurable open URL and open part commands.
* Configurable polling period in index view.
* Configurable Drafts/Sent maildir folders in ~/.notmuch-config.
* Fold/unfold header lines when composing messages.
* Parse address lists per RFC 5322.
* Refuse to send message when a header contains an invalid address.
* Encode/decode headers per RFC 2047.
* Encode attachment filenames per RFC 2231.
* Allow non-ASCII characters in addressbook aliases.
* Hide long blocks of quoted text by default.
* Toggle inline display of any selected part with 'Z'.
* Allow inline display of unsupported part if it contains text.
* Improve handling of multipart/* parts.
* Support undo in text entry.
* Support text entry scrolling for lines wider than the screen.
* Support ^W to delete word backwards.
* Expand to common prefix initially when completing.
* Bug fixes and minor improvements.

Bower 0.5 (2013-04-20)
======================

* Add 'a' add to addressbook action.
* Add 'B' resend message action.
* Add 'z' to cycle alternatives to highlighted part.
* Make 'O' toggle message ordering without prompting.
* Toggling message ordering need not call notmuch again.
* Add completion for search aliases.
* Add completion and expansion of tilde (~) to home directory in paths.
* Show approximate attachment sizes in pager (requires notmuch 0.15).
* Handle interrupts properly.
* ^C interrupts a running notmuch search without quitting bower.
* Don't abort when unable to parse invalid json output from notmuch.
* Pass sendmail -t option ourselves; disallow it in config.
* Tell lynx to output UTF-8 by default.
* Replace colons in generated filenames when saving.
* Fixes for URL detection algorithm.
* Use _NSGetEnviron to get environ on Darwin (reported by Blake Sweeney).

Bower 0.4 (2012-08-12)
======================
This release requires notmuch 0.13 for addressbook completion.

* Asynchronous tagging and polling in index view.
* Highlight diff lines in quoted text.
* Context-aware completion for tag names.
* Completion for addressbook aliases.
* post_sendmail configuration option.
* Support Up/Down/PgUp/PgDn/Home/End keys in more views.
* Better resize handling.
* Improved URL detection.
* Don't expand HTML alternative parts unnecessarily.

Bower 0.3 (2012-05-05)
======================

* Add bulk tagging operations; see keys 't', 'T', ' and ".
* Reply-to-all is now bound to 'e' (everyone).
* Make 'g'/'G' synonyms for Home/End.
* '/' now matches tag and attachment file names.
* '?' performs reverse search.
* index: Reply directly from index view.
* index: Support F, [, ] keys.
* index: Complete tags after "+tag:", "-tag:", "+is:", "-is:".
* index: Poll for 'unread' instead of not 'sent' messages.
* thread/pager: 'R' recalls postponed message.
* thread/pager: 'O' toggles flat message list, ordered by time.
* thread/pager: Use attachment file extension for temporary files.
* compose: 'D' discards new changes to postponed message.
* compose: Expand addressbook aliases after returning from editor.
* compose: Support changing media type of new attachments.
* compose: Display new attachment file sizes.
* compose: Add Date header when postponing drafts.
* recall: 'd' deletes a draft message.
* config: Default search terms can be set with the ~default alias.
* config: Let editor be set in config file.
* Word-based completion for tag names.
* Parse and display message/rfc822 parts.
* Minor UI changes.
* Bug fixes and optimisations.
* Statically link Mercury libraries by default.

Bower 0.2 (2012-03-04)
======================

* Renamed addressbook section to [bower:addressbook].
* Support for configurable search aliases in [bower:search_alias].
* Improved date range syntax, e.g. `~d {last week}..`
* Removed builtin date range macros: ~lw, ~ly, ~yesterday, ~today.
* Cap number of search results by default; override with ~A.
* Display non-standard tags.
* '+'/'-' changes arbitrary tags.
* 'd'/'u' now also works in the index view; modifies 'deleted' tag.
* Tab completion for entering tag names.
* ^R removes 'unread' tag on preceding messages in thread view.
* 'p' jumps to parent message in thread view.
* 'v' now also highlights URLs; 'o' opens with an external program.
* Ignore 'sent' messages when polling for new messages.
* Retain history of save filenames and external program commands.
* Work around non-UTF-8 JSON output from notmuch.
* Bug fixes.

Bower 0.1 (2011-12-18)
======================
This is the first release of the bower email client.
It has been tested with notmuch 0.9 and notmuch 0.10.
