<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/notmuch.h, branch 0.20</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.20</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.20'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2015-03-28T23:34:15Z</updated>
<entry>
<title>lib: add a log function with output to a string in notmuch_database_t</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-26T08:01:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b53e1a2da720e9a0efd815b92f0a54dc2f644ffc'/>
<id>urn:sha1:b53e1a2da720e9a0efd815b92f0a54dc2f644ffc</id>
<content type='text'>
In principle in the future this could do something fancier than
asprintf.
</content>
</entry>
<entry>
<title>lib: add "verbose" versions of notmuch_database_{open,create}</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-27T18:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=84d3b15d251623cbb66e5eca7ddb8d61aa596d33'/>
<id>urn:sha1:84d3b15d251623cbb66e5eca7ddb8d61aa596d33</id>
<content type='text'>
The compatibility wrapper ensures that clients calling
notmuch_database_open will receive consistent output for now.

The changes to notmuch-{new,search} and test/symbol-test are just to
make the test suite pass.

The use of IGNORE_RESULT is justified by two things. 1) I don't know
what else to do.  2) asprintf guarantees the output string is NULL if
an error occurs, so at least we are not passing garbage back.
</content>
</entry>
<entry>
<title>lib: make notmuch_query_count_messages explicitely exact</title>
<updated>2015-03-13T06:58:55Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-10-14T16:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6d44e5ac4743f618513c9a080733d91afa683f16'/>
<id>urn:sha1:6d44e5ac4743f618513c9a080733d91afa683f16</id>
<content type='text'>
The default is actually exact if no checkatleast parameter is
specified. This change makes that explicit, mainly for documentation,
but also to be safe in the unlikely event of a change of default.

[ commit message rewritten by db based on id:87lho0nlkk.fsf@nikula.org
]
</content>
</entry>
<entry>
<title>lib: bump library minor version</title>
<updated>2015-03-07T19:15:06Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-03-07T14:49:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=90886f3640ed6aaace84ee7a83a8d2afa2d0c8fb'/>
<id>urn:sha1:90886f3640ed6aaace84ee7a83a8d2afa2d0c8fb</id>
<content type='text'>
This should have happened in commit 326e18856, but it didn't.
</content>
</entry>
<entry>
<title>lib: add new status reporting API for notmuch_query_search_{m,t}</title>
<updated>2015-03-01T07:49:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-01-20T07:53:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7a0fc103678ea1b1da2df561d222c08db04c5af2'/>
<id>urn:sha1:7a0fc103678ea1b1da2df561d222c08db04c5af2</id>
<content type='text'>
This at least allows distinguishing between out of memory and Xapian
exceptions. Adding finer grained status codes would allow different
Xapian exceptions to be preserved.

Adding wrappers allows people to transition gradually to the new API,
at the cost of bloating the library API a bit.
</content>
</entry>
<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>
</feed>
