+Notmuch 0.13.1 (2012-05-29)
+===========================
+
+Bug-fix release
+---------------
+
+Fix inserting of UTF-8 characters from *text/plain* parts in reply
+
+ While notmuch gained ability to insert content from other than *text/plain*
+ parts of email whenever *text/plain* parts are not available (notably
+ HTML-only emails), replying to mails that do have *text/plain* the
+ non-ASCII characters were incorrectly decoded. This is now fixed.
+
+`notmuch_database_get_directory` and
+`notmuch_database_find_message_by_filename` now work on read-only
+databases
+
+ Previously, these functions attempted to create directory documents
+ that didn't exist and would return an error or abort when given a
+ read-only database. Now they no longer create directory documents
+ and simply return a `NULL` object if the directory does not exist,
+ as documented.
+
+Fix compilation of ruby bindings.
+
+ Revert to dynamic linking, since the statically linked bindings did
+ not work well.
+
+Notmuch 0.13 (2012-05-15)
+=========================
+
+Command-Line Interface
+----------------------
+
+JSON reply format
+
+ `notmuch reply` can now produce JSON output that contains the headers
+ for a reply message and full information about the original message
+ begin replied to. This allows MUAs to create replies intelligently.
+ For example, an MUA that can parse HTML might quote HTML parts.
+
+ Calling notmuch reply with `--format=json` imposes the restriction that
+ only a single message is returned by the search, as replying to
+ multiple messages does not have a well-defined behavior. The default
+ retains its current behavior for multiple message replies.
+
+Tag exclusion
+
+ Tags can be automatically excluded from search results by adding them
+ to the new `search.exclude_tags` option in the Notmuch config file.
+
+ This behaviour can be overridden by explicitly including an excluded
+ tag in your query, for example:
+
+ notmuch search $your_query and tag:$excluded_tag
+
+ Existing users will probably want to run `notmuch setup` again to add
+ the new well-commented [search] section to the configuration file.
+
+ For new configurations, accepting the default setting will cause the
+ tags "deleted" and "spam" to be excluded, equivalent to running:
+
+ notmuch config set search.exclude_tags deleted spam
+
+Raw show format changes
+
+ The output of show `--format=raw` has changed for multipart and
+ message parts. Previously, the output was a mash of somewhat-parsed
+ headers and transfer-decoded bodies. Now, such parts are reproduced
+ faithfully from the original source. Message parts (which includes
+ part 0) output the full message, including the message headers (but
+ not the transfer headers). Multipart parts output the part as
+ encoded in the original message, including the part's headers. Leaf
+ parts, as before, output the part's transfer-decoded body.
+
+Listing configuration items
+
+ The new `config list` command prints out all configuration items and
+ their values.
+
+Emacs Interface
+---------------
+
+Changes to tagging interface
+
+ The user-facing tagging functions in the Emacs interface have been
+ normalized across all notmuch modes. The tagging functions are now
+ notmuch-search-tag in search-mode, and notmuch-show-tag in
+ show-mode. They accept a string representing a single tag change,
+ or a list of tag changes. See 'M-x describe-function notmuch-tag'
+ for more information.
+
+ NOTE: This breaks compatibility with old tagging functions, so user
+ may need to update in custom configurations.
+
+Reply improvement using the JSON format
+
+ Emacs now uses the JSON reply format to create replies. It obeys
+ the customization variables message-citation-line-format and
+ message-citation-line-function when creating the first line of the
+ reply body, and it will quote HTML parts if no text/plain parts are
+ available.
+
+New add-on tool: notmuch-mutt
+-----------------------------
+
+The new contrib/ tool `notmuch-mutt` provides Notmuch integration for
+the Mutt mail user agent. Using it, Mutt users can perform mail
+search, thread reconstruction, and mail tagging/untagging without
+leaving Mutt. notmuch-mutt, formerly distributed under the name
+`mutt-notmuch` by Stefano Zacchiroli, will be maintained as a notmuch
+contrib/ from now on.
+
+Library changes
+---------------
+
+The API changes detailed below break binary and source compatibility,
+so libnotmuch has been bumped to version 3.0.0.
+
+The function `notmuch_database_close` has been split into
+`notmuch_database_close` and `notmuch_database_destroy`
+
+ This makes it possible for long running programs to close the xapian
+ database and thus release the lock associated with it without
+ destroying the data structures obtained from it.
+
+`notmuch_database_open`, `notmuch_database_create`, and
+`notmuch_database_get_directory` now return errors
+
+ The type signatures of these functions have changed so that the
+ functions now return a `notmuch_status_t` and take an out-argument for
+ returning the new database object or directory object.
+
+Go bindings changes
+-------------------
+
+Go 1 compatibility
+
+ The go bindings and the `notmuch-addrlookup` utility are now
+ compatible with go 1.
+
+Notmuch 0.12 (2012-03-20)
+=========================
+
+Command-Line Interface
+----------------------
+
+Reply to sender
+
+ `notmuch reply` has gained the ability to create a reply template
+ for replying just to the sender of the message, in addition to reply
+ to all. The feature is available through the new command line option
+ `--reply-to=(all|sender)`.
+
+Mail store folder/file ignore
+
+ A new configuration option, `new.ignore`, lets users specify a
+ ;-separated list of file and directory names that will not be
+ searched for messages by `notmuch new`.
+
+ NOTE: *Every* file/directory that goes by one of those names will
+ be ignored, independent of its depth/location in the mail store.
+
+Unified help and manual pages
+
+ The notmuch help command now runs man for the appropriate page. If
+ you install notmuch somewhere "unusual", you may need to update
+ MANPATH.
+
+Manual page for notmuch configuration options
+
+ The notmuch CLI configuration file options are now documented in the
+ notmuch-config(1) manual page in addition to the configuration file
+ itself.
+
+Emacs Interface
+---------------
+
+Reply to sender
+
+ The Emacs interface has, with the new CLI support, gained the
+ ability to reply to sender in addition to reply to all. In both show
+ and search modes, 'r' has been bound to reply to sender, replacing
+ reply to all, which now has key binding 'R'.
+
+More flexible and consistent tagging operations
+
+ All tagging operations ('+', '-', '*') now accept multiple tags with
+ '+' or '-' prefix, like '*' operation in notmuch-search view before.
+
+ '*' operation (`notmuch-show-tag-all`) is now available in
+ notmuch-show view.
+
+ `notmuch-show-{add,remove}-tag` functions no longer accept tag
+ argument, `notmuch-show-tag-message` should be used instead. Custom
+ bindings using these functions should be updated, e.g.:
+
+ (notmuch-show-remove-tag "unread")
+
+ should be changed to:
+
+ (notmuch-show-tag-message "-unread")
+
+Refreshing the show view ('=' by default) no longer opens or closes messages
+
+ To get the old behavior of putting messages back in their initial
+ opened/closed state, use a prefix argument, e.g., 'C-u ='.
+
+Attachment buttons can be used to view or save attachments.
+
+ When the cursor is on an attachment button the key 's' can be used
+ to save the attachment, the key 'v' to view the attachment in the
+ default mailcap application, and the key 'o' prompts the user for an
+ application to use to open the attachment. By default Enter or mouse
+ button 1 saves the attachment but this is customisable (option
+ Notmuch Show Part Button Default Action).
+
+New functions
+
+ `notmuch-show-stash-mlarchive-link{,-and-go}` allow stashing and
+ optionally visiting a URI to the current message at one of a number
+ of Mailing List Archives.
+
+Fix MML tag quoting in replies
+
+ The MML tag quoting fix of 0.11.1 unintentionally quoted tags
+ inserted in `message-setup-hook`. Quoting is now limited to the
+ cited message.
+
+Show view archiving key binding changes
+
+ The show view archiving key bindings 'a' and 'x' now remove the
+ "inbox" tag from the current message only (instead of thread), and
+ move to the next message. At the last message, 'a' proceeds to the
+ next thread in search results, and 'x' returns to search
+ results. The thread archiving functions are now available in 'A' and
+ 'X'.
+
+Support text/calendar MIME type
+
+ The text/calendar MIME type is now supported in addition to
+ text/x-vcalendar.
+
+Generate inline patch fake attachment file names from message subject
+
+ Use the message subject to generate file names for the inline patch
+ fake attachments. The names are now similar to the ones generated by
+ 'git format-patch' instead of just "inline patch". See "Notmuch Show
+ Insert Text/Plain Hook" in the notmuch customize interface.
+
+Enable `notmuch-search-line-faces` by default
+
+ Make the `notmuch-search-line-faces` functionality more discoverable
+ for new users by showing "unread" messages bold and "flagged"
+ messages blue by default in the search view.
+
+Printing Support
+
+ notmuch-show mode now has simple printing support, bound to '#' by
+ default. You can customize the variable notmuch-print-mechanism.
+
+Library changes
+---------------
+
+New functions
+
+ `notmuch_query_add_tag_exclude` supports the new tag exclusion
+ feature.
+
+Python bindings changes
+-----------------------
+
+Python 3.2 compatibility
+
+ The python bindings are now compatible with both python 2.5+ and 3.2.
+
+Added missing unicode conversions
+
+ Python strings have to be encoded to and decoded from utf-8 when
+ calling libnotmuch functions. Porting the bindings to python 3.2
+ revealed a few function calls that were missing these conversions.
+
+Build fixes
+-----------
+
+Compatibility with GMime 2.6
+
+ It is now possible to build notmuch against both GMime 2.4 and 2.6.
+ However, a bug in GMime 2.6 before 2.6.5 causes notmuch not to
+ report signatures where the signer key is unavailable (GNOME bug
+ 668085). For compatibility with GMime 2.4's tolerance of "From "
+ headers we require GMime 2.6 >= 2.6.7.
+
+Notmuch 0.11.1 (2012-02-03)
+===========================
+
+Bug-fix release
+---------------
+
+Fix error handling in python bindings
+
+ The python bindings in 0.11 failed to detect NULL pointers being
+ returned from libnotmuch functions and thus failed to raise
+ exceptions to indicate the error condition. Any subsequent calls
+ into libnotmuch caused segmentation faults.
+
+Quote MML tags in replies
+
+ MML tags are text codes that Emacs uses to indicate attachments
+ (among other things) in messages being composed. The Emacs
+ interface did not quote MML tags in the quoted text of a reply.
+ User could be tricked into replying to a maliciously formatted
+ message and not editing out the MML tags from the quoted text. This
+ could lead to files from the user's machine being attached to the
+ outgoing message. The Emacs interface now quotes these tags in
+ reply text, so that they do not effect outgoing messages.
+
+Notmuch 0.11 (2012-01-13)
+=========================
+
+Command-Line Interface
+----------------------
+
+Hooks
+
+ Hooks have been introduced to notmuch. Hooks are scripts that notmuch
+ invokes before and after certain actions. Initially, `notmuch new`
+ supports `pre-new` and `post-new` hooks that are run before and after
+ importing new messages into the database.
+
+`notmuch reply --decrypt bugfix`
+
+ The `notmuch reply` command with `--decrypt` argument had a rarely
+ occurring bug that caused an encrypted message not to be decrypted
+ sometimes. This is now fixed.
+
+Performance
+-----------
+
+Automatic tag query optimization
+
+ `notmuch tag` now automatically optimizes the user's query to
+ exclude messages whose tags won't change. In the past, we've
+ suggested that people do this by hand; this is no longer necessary.
+
+Don't sort messages when creating a dump file
+
+ This speeds up tag dumps considerably, without any loss of
+ information. To replicate the old behavior of sorted output (for
+ example to compare two dump files), one can use e.g. `sort(1)`.
+
+Memory Management
+-----------------
+
+Reduction of memory leaks
+
+ Two memory leaks when searching and showing messages were identified
+ and fixed in this release.
+
+Emacs Interface
+---------------
+
+Bug fixes
+
+ notmuch-show-advance (bound to the spacebar in notmuch-show-mode) had
+ a bug that caused it to always jump to the next message, even if it
+ should have scrolled down to show more of the current message instead.
+ This is now fixed.
+
+Support `notmuch new` as a notmuch-poll-script
+
+ It's now possible to use `notmuch new` as a notmuch-poll-script
+ directly. This is also the new default. This allows taking better
+ advantage of the `notmuch new` hooks from emacs without intermediate
+ scripts.
+
+Improvements in saved search management
+
+ New saved searches are now appended to the list of saved searches,
+ not inserted in front. It's also possible to define a sort function
+ for displaying saved searches; alphabetical sort is provided.
+
+Hooks for notmuch-hello
+
+ Two new hooks have been added: "notmuch-hello-mode-hook" (called after
+ entering notmuch-hello-mode) and "notmuch-hello-refresh-hook" (called
+ after updating a notmuch-hello buffer).
+
+New face for crypto parts headers
+
+ Crypto parts used to be displayed with a hardcoded color. A new face
+ has been introduced to fix this: notmuch-crypto-part-header. It
+ defaults to the same value as before, but can be customized to match
+ other color themes.
+
+Use space as default thousands separator
+
+ Large numbers in notmuch-hello are now displayed using a space as
+ thousands separator (e.g. "123 456" instead of "123,456"). This can be
+ changed by customizing "notmuch-hello-thousands-separator".
+
+Call notmuch-show instead of notmuch-search when clicking on
+buttonized id: links
+
+New function notmuch-show-advance
+
+ This new function advances through just the current thread, and is
+ less invasive than notmuch-show-advance-and-archive. It can easily
+ be bound to SPC with:
+
+ (define-key notmuch-show-mode-map " " 'notmuch-show-advance)
+
+Various performance improvements
+
+New add-on tool
+---------------
+
+The tool `contrib/notmuch-deliver` helps with initial delivery and
+tagging of mail (replacing running `notmuch new`).
+
+
+Notmuch 0.10.2 (2011-12-04)
+===========================
+
+Bug-fix release
+---------------
+
+Fix crash in python bindings
+
+ The python bindings did not call `g_type_init`, which caused crashes
+ for some, but not all users.
+
+Notmuch 0.10.1 (2011-11-25)
+===========================
+
+Bug-fix release
+---------------
+
+Fix `--help` argument
+
+ Argument processing changes in 0.10 introduced a bug where
+ `notmuch --help` crashed while `notmuch help` worked fine.
+ This is fixed in 0.10.1.
+