<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/notmuch.h, branch 0.19</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.19</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.19'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2014-11-05T23:10:03Z</updated>
<entry>
<title>lib: bump LIBNOTMUCH_MAJOR_VERSION to 4</title>
<updated>2014-11-05T23:10:03Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-11-05T23:10:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=74bd4ea2ed8b5dc45643273c1fcc5797af47157a'/>
<id>urn:sha1:74bd4ea2ed8b5dc45643273c1fcc5797af47157a</id>
<content type='text'>
This should have been done at the same time as the SONAME bump.
</content>
</entry>
<entry>
<title>lib: Internal support for querying and creating ghost messages</title>
<updated>2014-10-25T17:26:54Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2014-10-23T12:30:36Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bc9c50602d20ce712188ea2cc3c5d30647d4d3f5'/>
<id>urn:sha1:bc9c50602d20ce712188ea2cc3c5d30647d4d3f5</id>
<content type='text'>
This updates the message abstraction to support ghost messages: it
adds a message flag that distinguishes regular messages from ghost
messages, and an internal function for initializing a newly created
(blank) message as a ghost message.
</content>
</entry>
<entry>
<title>lib: Simplify close and codify aborting atomic section</title>
<updated>2014-10-03T06:58:58Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2014-10-02T19:19:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cec601c4dd94d19ce7e27804b6a2adbb9197824d'/>
<id>urn:sha1:cec601c4dd94d19ce7e27804b6a2adbb9197824d</id>
<content type='text'>
In Xapian, closing a database implicitly aborts any outstanding
transaction and commits changes.  For historical reasons,
notmuch_database_close had grown to almost, but not quite duplicate
this behavior.  Before closing the database, it would explicitly (and
unnecessarily) commit it.  However, if there was an outstanding
transaction (ie atomic section), commit would throw a Xapian
exception, which notmuch_database_close would unnecessarily print to
stderr, even though notmuch_database_close would ultimately abort the
transaction anyway when it called close.

This patch simplifies notmuch_database_close to explicitly abort any
outstanding transaction and then just call Database::close.  This
works for both read-only and read/write databases, takes care of
committing changes, unifies the exception handling path, and codifies
aborting outstanding transactions.  This is currently the only way to
abort an atomic section (and may remain so, since it would be
difficult to roll back things we may have cached from rolled-back
modifications).
</content>
</entry>
<entry>
<title>notmuch_thread_get_authors: document match grouping with |</title>
<updated>2014-09-13T06:43:35Z</updated>
<author>
<name>Gaute Hope</name>
<email>eg@gaute.vetsj.com</email>
</author>
<published>2014-09-10T07:24:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2c9e120e0a2efef63dbd4ec9c4f24beb30ae9167'/>
<id>urn:sha1:2c9e120e0a2efef63dbd4ec9c4f24beb30ae9167</id>
<content type='text'>
as stated in thread.cc:115

/* Construct an authors string from matched_authors_array and
 * authors_array. The string contains matched authors first, then
 * non-matched authors (with the two groups separated by '|'). Within
 * each group, authors are listed in date order. */

this is, however, not reflected in the public API documentation in
notmuch.h:970. This patch a paragraph explaining how | separates the
group of authors of messages matching the query and those of messages
that do not, but are still contained in the thread.
</content>
</entry>
<entry>
<title>lib: Update doc of notmuch_database_{needs_upgrade,upgrade}</title>
<updated>2014-08-30T18:42:07Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2014-08-25T17:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=658a00e7c809cc4e3076aab28e105d3761086451'/>
<id>urn:sha1:658a00e7c809cc4e3076aab28e105d3761086451</id>
<content type='text'>
Clients are no longer required to call these functions after opening a
database in read/write mode (which is good, because almost none of
them do!).
</content>
</entry>
<entry>
<title>lib: Return an error from operations that require an upgrade</title>
<updated>2014-08-30T18:39:41Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2014-08-25T17:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ec573cd54fb3ea98f37a3c3612b00fb16e34578b'/>
<id>urn:sha1:ec573cd54fb3ea98f37a3c3612b00fb16e34578b</id>
<content type='text'>
Previously, there was no protection against a caller invoking an
operation on an old database version that would effectively corrupt
the database by treating it like a newer version.

According to notmuch.h, any caller that opens the database in
read/write mode is supposed to check if the database needs upgrading
and perform an upgrade if it does.  This would protect against this,
but nobody (even the CLI) actually does this.

However, with features, it's easy to protect against incompatible
operations on a fine-grained basis.  This lightweight change allows
callers to safely operate on old database versions, while preventing
specific operations that would corrupt the database with an
informative error message.
</content>
</entry>
<entry>
<title>lib: add return status to database close and destroy</title>
<updated>2014-07-09T23:29:36Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-04-16T12:59:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ab24e883b008b3fe2e211d87c6c88ec2aa01bdc0'/>
<id>urn:sha1:ab24e883b008b3fe2e211d87c6c88ec2aa01bdc0</id>
<content type='text'>
notmuch_database_close may fail in Xapian -&gt;flush() or -&gt;close(), so
report the status. Similarly for notmuch_database_destroy which calls
close.

This is required for notmuch insert to report error status if message
indexing failed.
</content>
</entry>
<entry>
<title>doc: notmuch_result_move_to_next -&gt; notmuch_tags_move_to_next</title>
<updated>2014-02-13T12:43:34Z</updated>
<author>
<name>Gaute Hope</name>
<email>eg@gaute.vetsj.com</email>
</author>
<published>2014-02-09T10:50:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=91aede05a3964cc3748bf9940661c20bfd82771a'/>
<id>urn:sha1:91aede05a3964cc3748bf9940661c20bfd82771a</id>
<content type='text'>
Fix typo in docs.
</content>
</entry>
<entry>
<title>lib: update documentation for notmuch_database_get_directory</title>
<updated>2014-01-26T13:36:38Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-01-25T03:07:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3b74537f495f60eed6ec10022a019acb78fd8e33'/>
<id>urn:sha1:3b74537f495f60eed6ec10022a019acb78fd8e33</id>
<content type='text'>
Clarify that using the directory after destroying the corresponding
database is not permitted.

This is implicit in the description of notmuch_database_destroy, but
it doesn't hurt to be explicit, and we do express similar "ownership"
relationships at other places in the docs.
</content>
</entry>
<entry>
<title>lib: make notmuch_threads_valid return FALSE when passed NULL</title>
<updated>2014-01-25T00:20:54Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-01-23T12:24:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=29f125212619ebca8621dd2106b412b22e1b6d22'/>
<id>urn:sha1:29f125212619ebca8621dd2106b412b22e1b6d22</id>
<content type='text'>
Without this patch, the example code in the header docs crashes for certain
invalid queries (see id:871u00oimv.fsf@approx.mit.edu)
</content>
</entry>
</feed>
