+Notmuch 0.12 (2012-xx-xx)
+=========================
+
+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).
+
+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
+
+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.
+
+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.
+
+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 current GMime 2.6 causes notmuch not to report
+ signatures where the signer key is unavailable (GNOME bug 668085).
+
+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.
+
+Notmuch 0.10 (2011-11-23)
+=========================
+
+New build and testing features
+------------------------------
+
+Emacs tests are now done in dtach. This means that dtach is now
+needed to run the notmuch test suite, at least until the checking for
+prerequisites is improved.
+
+Full test coverage of the stashing feature in Emacs.
+
+New command-line features
+-------------------------
+
+Add "notmuch restore --accumulate" option
+
+ The --accumulate switch causes the union of the existing and new tags to be
+ applied, instead of replacing each message's tags as they are read in from
+ the dump file.
+
+Add search terms to "notmuch dump"
+
+ The dump command now takes an optional search term much like notmuch
+ search/show/tag. The output file argument of dump is deprecated in
+ favour of using stdout.
+
+Add "notmuch search" --offset and --limit options
+
+ The search command now takes options --offset=[-]N and --limit=N to limit
+ the number of results shown.
+
+Add "notmuch count --output" option
+
+ The count command is now capable of counting threads in addition to
+ messages. This is selected using the new --output=(threads|messages) option.
+
+New emacs UI features
+---------------------
+
+Add tab-completion for notmuch-search and notmuch-search-filter
+
+ These functions now support completion tags for query parts
+ starting with "tag:".
+
+Turn "id:MSG-ID" links into buttons associated with notmuch searches
+
+ Text of the form "id:MSG-ID" in mails is now a clickable button that
+ opens a notmuch search for the given message id.
+
+Add keybinding ('c I') for stashing Message-ID's without an id: prefix
+
+ Reduces manual labour when stashing them for use outside notmuch.
+
+Do not query on notmuch-search exit
+
+ It is harmless to kill the external notmuch process, so the user
+ is no longer interrogated when they interrupt a search.
+
+Performance
+-----------
+
+Emacs now constructs large search buffers more efficiently
+
+Search avoids opening and parsing message files
+
+ We now store more information in the database so search no longer
+ has to open every message file to get basic headers. This can
+ improve search speed by as much as 10X, but taking advantage of this
+ requires a database rebuild:
+
+ notmuch dump > notmuch.dump
+ # Backup, then remove notmuch database ($MAIL/.notmuch)
+ notmuch new
+ notmuch restore notmuch.dump
+
+New collection of add-on tools
+------------------------------
+
+The source directory "contrib" contains tools built on notmuch. These
+tools are not part of notmuch, and you should check their individual
+licenses. Feel free to report problems with them to the notmuch
+mailing list.
+
+nmbug - share tags with a given prefix
+
+ nmbug helps maintain a git repo containing all tags with a given
+ prefix (by default "notmuch::"). Tags can be shared by commiting
+ them to git in one location and restoring in another.
+
+Notmuch 0.9 (2011-10-01)
+========================
+
+New, general features
+---------------------
+
+Correct handling of interruptions during "notmuch new"
+
+ "notmuch new" now operates as a series of small, self-consistent
+ transactions, so it can correctly resume after an interruption or
+ crash. Previously, interruption could lose existing tags, fail to
+ detect messages on resume, or leave the database in a state
+ temporarily or permanently inconsistent with the mail store.
+
+Library changes
+---------------
+
+New functions
+
+ notmuch_database_begin_atomic and notmuch_database_end_atomic allow
+ multiple database operations to be performed atomically.
+
+ notmuch_database_find_message_by_filename does exactly what it says.
+
+API changes
+
+ notmuch_database_find_message (and n_d_f_m_by_filename) now return
+ a status indicator and uses an output parameter for the
+ message. This change required changing the SONAME of libnotmuch to
+ libnotmuch.so.2
+
+Python bindings changes
+-----------------------
+
+ - Re-encode python unicode objects to utf-8 before passing back to
+ libnotmuch.
+ - Support Database().begin_atomic()/end_atomic()
+ - Support Database().find_message_by_filename()
+ NB! This needs a db opened in READ-WRITE mode currently, or it will crash
+ the python process. The is a limitation (=bug) of the underlying libnotmuch.
+ - Fixes where we would not throw NotmuchErrors when we should (Justus Winter)
+ - Update for n_d_find_message* API changes (see above).
+
+Ruby bindings changes
+---------------------
+
+ - Wrap new library functions notmuch_database_{begin,end}_atomic.
+ - Add new exception Notmuch::UnbalancedAtomicError.
+ - Rename destroy to destroy! according to Ruby naming conventions.
+ - Update for n_d_find_message* API changes (see above).
+
+Emacs improvements
+------------------
+
+ * Add gpg callback to crypto sigstatus buttons to retrieve/refresh
+ signing key.
+ * Add notmuch-show-refresh-view function (and corresponding binding)
+ to refresh the view of a notmuch-show buffer.
+
+Reply formatting cleanup
+------------------------
+
+ "notmuch reply" no longer includes notification that non-leafnode
+ MIME parts are being suppressed.
+
+Notmuch 0.8 (2011-09-10)
+========================
+
+Improved handling of message/rfc822 parts
+
+ Both in the CLI and the emacs interface. Output of rfc822 parts now
+ includes the primary headers, as well as the body and all subparts.
+ Output of the completely raw rfc822-formatted message, including all
+ headers, is unfortunately not yet supported (but hopefully will be
+ soon).
+
+Improved Build system portability
+
+ Certain parts of the shell script generating notmuch.sym were
+ specific to the GNU versions of sed and nm. The new version should
+ be more portable to e.g. OpenBSD.
+
+Documentation update for Ruby bindings
+
+ Added documentation, typo fixes, and improved support for rdoc.
+
+Unicode, iterator, PEP8 changes for python bindings
+
+ - PEP8 (code formatting) changes for python files.
+ - Remove Tags.__len__ ; see 0.6 release notes for motivation.
+ - Decode headers as UTF8, encode (unicode) database paths as UTF8.
+
+Notmuch 0.7 (2011-08-01)
+========================
+
+Vim interface improvements
+--------------------------
+
+Jason Woofenden provided a number of bug fixes for the Vim interface
+
+ * fix citation/signature fold lengths
+ * fix cig/cit parsing within multipart/*
+ * fix on-screen instructions for show-signature
+ * fix from list reformatting in search view
+ * fix space key: now archives (did opposite)
+
+Uwe Kleine-König contributed
+
+ * use full path for sendmail/doc fix
+ * fix compose temp file name
+
+Python Bindings changes
+-----------------------
+
+Sebastian Spaeth contributed two changes related to unicode and UTF8:
+
+ * message tags are now explicitly unicode
+ * query string is encoded as a UTF8 byte string
+
+Build-System improvements
+------------------------
+
+Generate notmuch.sym after the relevant object files
+
+ This fixes a bug in parallel building. Thanks to Thomas Jost for the
+ patch.
+
+Notmuch 0.6.1 (2011-07-17)
+==========================
+
+Bug-fix release.
+----------------
+
+Re-export Xapian exception typeinfo symbols.
+
+ It turned out our aggressive symbol hiding caused problems for
+ people running gcc 4.4.5.
+
+Notmuch 0.6 (2011-07-01)
+=======================
+New, general features
+---------------------
+Folder-based searching
+
+ Notmuch queries can now include a search term to match the
+ directories in which mail files are stored (within the mail
+ storage). The syntax is as follows:
+
+ folder:<path>
+
+ For example, one might use things such as:
+
+ folder:spam
+ folder:2011-*
+ folder:work/todo
+
+ to match any path containing a directory "spam", "work/todo", or
+ containing a directory starting with "2011-", respectively.
+
+ This feature is particularly useful for users of delivery-agent
+ software (such as procmail or maildrop) that is filtering mail and
+ delivering it to particular folders, or users of systems such as
+ Gmail that use filesystem directories to indicate message tags.
+
+ NOTE: Only messages that are newly indexed with this version of
+ notmuch will be searchable with folder: terms. In order to enable
+ this feature for all mail, the entire notmuch index will need to be
+ rebuilt as follows:
+
+ notmuch dump > notmuch.dump
+ # Backup, then remove notmuch database ($MAIL/.notmuch)
+ notmuch new
+ notmuch restore notmuch.dump
+
+Support for PGP/MIME
+
+ Both the command line interface and the emacs-interface have new
+ support for PGP/MIME, detailed below. Thanks to Daniel Kahn Gillmor
+ and Jameson Graef Rollins for making this happen.
+
+New, automatic tags: "signed" and "encrypted"
+
+ These tags will automatically be applied to messages containing
+ multipart/signed and multipart/encrypted parts.
+
+ NOTE: Only messages that are newly indexed with this version of
+ notmuch will receive these tags.
+
+New command-line features
+-------------------------
+Add new "notmuch show --verify" option for signature verification
+
+ This option instruct notmuch to verify the signature of
+ PGP/MIME-signed parts.
+
+Add new "notmuch show --decrypt" and "notmuch reply --decrypt" options
+
+ This option instructs notmuch to decrypt PGP/MIME-encrypted parts.
+ Note that this feature currently requires gpg-agent and a passphrase entry
+ tool (e.g. pinentry-gtk or pinentry-curses).
+
+Proper nesting of multipart parts in "notmuch show" output
+
+ MIME parts are now display with proper nesting to reflect original
+ MIME hierarchy of a message. This allows clients to correctly
+ analyze the MIME structure, (such as, for example, determining to
+ which parts a signature part applies).
+
+Add new "notmuch show --part" option
+
+ This is a replacement for the older "notmuch part" command, (which
+ is now deprecated—it should still work as always, but is no longer
+ documented). Putting part output under "notmuch show" allows for all
+ of the "notmuch show" options to be applied when extracting a single
+ part, (such as --format=json for extracting a message part with JSON
+ formatting).
+
+Deprecate "notmuch search-tags", (in favor of "notmuch search --output=tags *")
+
+ The "notmuch search-tags" sub-command has been redundant since the
+ addition of the --output=tags option to "notmuch search". We now
+ make that more clear by deprecating "notmuch search-tags", (dropping
+ it from the documentation). We do continue to support the old syntax
+ by translating it internally to the new call.
+
+Performance improvements
+------------------------
+Faster searches (by doing fewer searches to construct threads)
+
+ Whenever a user asks for search results as threads, notmuch first
+ performs a search for messages matching the query, then performs
+ additional searches to find other messages in the resulting threads.
+
+ Removing inefficiencies and redundancies in these secondary searches
+ results in a measured speedups of 1.5x for a typical search.
+
+Faster searches (by doing fewer passes to gather message data)
+
+ Optimizing Xapian data access patterns (using a single pass to get
+ all message-document data rather than a pass for each data type)
+ results in a measured speedup of 1.7x for a typical search.
+
+ The benefits of this optimization combine with the preceding
+ optimization. With both in place, Austin Clements measured a speedup
+ of 2.5x for a search of all messages in his inbox (was 4.5s, now
+ 1.8s). Thanks, Austin!
+
+Faster initial indexing
+
+ More efficient indexing of new messages results in a measured
+ speedup of 1.4x for the initial indexing of 3 GB of mail (1h 14m
+ rather than 1h 46m). Thanks to Austin Clements and Michal Sojka.
+
+Make "notmuch new" faster for unchanged directories
+
+ Optimizing to not do any further examinations of sub-directories
+ when the filesystem indicates that a directory is unchanged from the
+ last "notmuch new" results in measured speedups of 8.5 for the "No
+ new mail" case, (was 0.77s, now 0.09s). Thanks to Karel Zak.
+
+New emacs-interface features
+----------------------------
+
+Support for PGP/MIME (GnuPG)
+
+ Automatically indicate validity of signatures for multipart/signed
+ messages. Automatically display decrypted content for
+ multipart/encrypted messages. See the emacs variable
+ notmuch-crypto-process-mime for more information. Note that this
+ needs gpg-agent and a pinentry tool just as the command line tools.
+ Also note there is no support SMIME yet.
+
+Output of pipe command is now displayed if pipe command fails
+
+ This is extremely useful in the common use case of piping a patch to
+ "git am". If git fails to cleanly merge the patch the error messages
+ from the failed merge are now clearly displayed to the user, (where
+ previously they were silently hidden from the user).
+
+User-selectable From address
+
+ A user can choose which configured email addresses should be used as
+ the From address whenever composing a new message. To do so, simply
+ press C-u before the command which will open a new message. Emacs
+ will prompt for the from address to use.
+
+ The user can customize the "Notmuch Identities" setting in the
+ notmuch customize group in order to use addresses other than those in
+ the notmuch configuration file if desired.
+
+ The user can also choose to always be prompted for the from address
+ when composing a new message (without having to use C-u) by setting
+ the "Notmuch Always Prompt For Sender" option in the notmuch
+ customize group.
+
+Hiding of repeated subjects in collapsed thread view
+
+ In notmuch-show mode, if a collapsed message has the same subject as
+ its parent, the subject is not shown.
+
+Automatic detection and hiding of original message in top-posted message
+
+ When a message contains a line looking something like:
+
+ ----- Original Message -----
+
+ emacs hides this and all subsequent lines as an "original message",
+ (allowing the user to click or press enter on the "original message"
+ button to display it again). This makes the handling of top-posted
+ citations work much like conventional citations.
+
+New hooks for running code when tags are modified
+
+ Some users want to perform additional actions whenever a particular
+ tag is added/removed from a message. This could be used to, for
+ example, interface with some external spam-recognition training
+ tool. To facilitate this, two new hooks are added which can be
+ modified in the following settings of the notmuch customize group:
+
+ Notmuch Before Tag Hook
+ Notmuch After Tag Hook
+
+New optional support for hiding some multipart/alternative parts
+
+ Many emails are sent with redundant content within a
+ multipart/alternative group (such as a text/plain part as well as a
+ text/html part). Users can configure the setting:
+
+ Notmuch Show All Multipart/Alternative Parts
+
+ to "off" in the notmuch customize group to have the interface
+ automatically hide some part alternatives (such as text/html
+ parts). This new part hiding is not configured by default yet
+ because there's not yet a simple way to re-display such a hidden
+ part if it is not actually redundant with a displayed part.
+
+Better rendering of text/x-vcalendar parts
+
+ These parts are now displayed in a format suitable for use with the
+ emacs diary.
+
+Avoid getting confused by Subject and Author fields with newline characters
+
+ Replacing all characters with ASCII code less than 32 with a question mark.
+
+Cleaner display of From line in email messages (remove double quotes,
+and drop "name" if it's actually just a repeat of the email address).
+
+Vim interface improvements
+--------------------------
+Felipe Contreras provided a number of updates for the vim interface:
+
+ * Using sendmail directly rather than mailx,
+ * Implementing archive in show view
+ * Add support to mark as read in show and search views
+ * Add delete commands
+ * Various cleanups.
+
+Bindings improvements
+---------------------
+Ruby bindings are now much more complete
+
+ Including QUERY.sort, QUERY.to_s, MESSAGE.maildir_flags_to_tags,
+ MESSAGE.tags_to_maildir_flags, and MESSAGE.get_filenames
+
+* Python bindings have been updated and extended
+ (docs online at http://packages.python.org/notmuch/)
+
+ New bindings:
+ - Message().get_filenames(),
+ - Message().tags_to_maildir_flags(),Message().maildir_flags_to_tags()
+ - list(Threads()) and list(Messages) works now
+
+ - Message().__cmp__() and __hash__()
+ These allow, for example:
+ if msg1 == msg2: ...
+
+ As well as set arithmetic on Messages():
+
+ s1, s2= set(msgs1), set(msgs2)
+ s1.union(s2)
+ s2 -= s1
+
+ Removed:
+ - len(Messages()) as it exhausted the iterator.
+ Use len(list(Messages())) or
+ Query.count_messages() to get the length.
+
+Added initial Go bindings in bindings/go
+
+New build-system features
+-------------------------
+Added support for building in a directory other than the source directory
+
+ This can be used with the widely-supported idiom of simply running
+ the configure script from some other directory:
+
+ mkdir build
+ cd build
+ ../configure
+ make
+
+Fix to save configure options for future, implicit runs of configure
+
+ When a user updates the source (such as with "git pull") calling
+ "make" may cause an automatic re-run of the configure script. When
+ this happens, the configure script will automatically be called with
+ the same options the user originally passed in the most-recent
+ manual invocation of configure.
+
+New test-suite feature
+----------------------
+Binary for bash for running test suite now located via PATH.
+
+ The notmuch test suite requires a fairly recent version of bash (>=
+ bash 4). As some systems supply an older version of bash at
+ /bin/bash, the test suite is now updated to search $PATH to locate
+ the bash binary. This allows users of systems with old /bin/bash to
+ simply install bash >= 4 somewhere on $PATH before /bin and then use
+ the test suite.
+
+Support for testing output with a trailing newline.
+
+ Previously, some tests would fail to notice a difference in the
+ presence/absence of a trailing newline in a program output, (which
+ has led to bugs in the past). Now, carefully-written tests (using
+ test_expect_equal_file rather than test_expect_equal) will detect
+ any change in the presence/absence of a trailing newline. Many tests
+ are updated to take advantage of this.
+
+Avoiding accessing user's $HOME while running test suite
+
+ The test suite now carefully creates its own HOME directory. This
+ allows the test suite to be run with no existing HOME directory, (as
+ some build systems apparently do), and avoids test-suite differences
+ due to configuration files in the users HOME directory.
+
+
+General bug fixes
+-----------------
+Output *all* files for "notmuch search --output=files"
+
+ For the cases where multiple files have the same Message ID,
+ previous versions of notmuch would output only one such file. This
+ command is now fixed to correctly output all files.
+
+Fixed spurious search results from "overlapped" indexing of addresses
+
+ This fixed a bug where a search for:
+
+ to:user@elsewhere.com
+
+ would incorrectly match a message sent:
+
+ To: user@example,com, someone@elsewhere.com
+
+Fix --output=json when search has no results
+
+ A bug present since notmuch 0.4 had caused searches with no results
+ to produce an invalid json object. This is now fixed to cleanly
+ return a valid json object representing an empty array "[]" as
+ expected.
+
+fix the automatic detection of the From address for "notmuch reply"
+from the Received headers in some cases.
+
+Fix core dump on DragonFlyBSD due to -1 return value from
+sysconf(_SC_GETPW_R_SIZE_MAX).
+
+Cleaned up several memory leaks
+
+Eliminated a few, rare segmentation faults and a double-free.
+
+Fix libnotmuch library to only export notmuch API functions
+
+ Previous release of the notmuch library also exported some Xapian
+ C++ exception type symbols. These were never part of the library
+ interface and were never intended to be exported.
+
+Emacs-interface bug fixes
+-------------------------
+Display any unexpected output or errors from "notmuch search" invocations
+
+ Previously any misformatted output or trailing error messages were
+ silently ignored. This output is now clearly displayed. This fix was
+ very helpful in identifying and fixing the bug described below.
+
+Fix bug where some threads would be missing from large search results
+
+ When a search returned a "large" number of results, the emacs
+ interface was incorrectly dropping one thread every time the output
+ of the "notmuch search" process spanned the emacs read-buffer. This
+ is now fixed.
+
+Avoid re-compression of .gz files (and similar) when saving attachment
+
+ Emacs was being too clever for its own good and trying to
+ re-compress pre-compressed .gz files when saving such attachments
+ (potentially corrupting the attachment). The emacs interface is
+ fixed to avoid this bug.
+
+Fix hiding of a message when a previously-hidden citation is visible
+
+ Previously the citation would remain visible in this case. This is
+ fixed so that hiding a message hides all parts.
+
+Notmuch 0.5 (2010-11-11)
+========================
+New, general features
+---------------------
+Maildir-flag synchronization
+
+ Notmuch now knows how to synchronize flags in maildir filenames with
+ tags in the notmuch database. The following flag/tag mappings are
+ supported:
+
+ Flag <-> Tag
+ ---- -----
+ 'D' draft
+ 'F' flagged
+ 'P' passed
+ 'R' replied
+ 'S' unread (added when 'S' flag is not present)
+
+ The synchronization occurs in both directions, (for example, adding
+ the 'S' flag to a file will cause the "unread" tag to be added, and
+ adding the "replied" tag to a message will cause the file to be
+ renamed with an 'R' flag).
+
+ This synchronization is enabled by default for users of the
+ command-line interface, (though only files in directories named
+ "cur" or "new" will be renamed). It can be disabled by setting the
+ new maildir.synchronize_flags option in the configuration file. For
+ example:
+
+ notmuch config set maildir.synchronize_flags false
+
+ Users upgrading may also want to run "notmuch setup" once (just
+ accept the existing configuration) to get a new, nicely-commented
+ [maildir] section added to the configuration file.
+
+ For users of the notmuch library, the new synchronization
+ functionality is available with the following two new functions:
+
+ notmuch_message_maildir_flags_to_tags
+ notmuch_message_tags_to_maildir_flags
+
+ It is anticipated that future improvements to this support will
+ allow for safe synchronization of the 'T' flag with the "deleted"
+ tag, as well as support for custom flag/tag mappings.
+
+New library features
+--------------------
+Support for querying multiple filenames for a single message
+
+ It is common for the mailstore to contain multiple files with the
+ same message ID. Previously, notmuch would always hide these
+ duplicate files, (returning a single, arbitrary filename with
+ notmuch_message_get_filename).
+
+ With this release, library users can access all filenames for a
+ message with the new function:
+
+ notmuch_message_get_filenames
+
+ Together with notmuch_filenames_valid, notmuch_filenames_get, and
+ notmuch_filenames_move_to_next it is now possible to iterate over
+ all available filenames for a given message.
+