<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib, branch master</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=master</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2026-02-15T22:24:18Z</updated>
<entry>
<title>lib/config: add config keys for git-remote-notmuch.</title>
<updated>2026-02-15T22:24:18Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2026-01-24T22:56:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b222d18634e95b54010cec02e994d3cc96755746'/>
<id>urn:sha1:b222d18634e95b54010cec02e994d3cc96755746</id>
<content type='text'>
The precise function will be explained in a future update to
notmuch-config(1).
</content>
</entry>
<entry>
<title>Document that indexing does not sync flags</title>
<updated>2026-02-15T22:20:22Z</updated>
<author>
<name>Hugo Osvaldo Barrera</name>
<email>hugo@whynothugo.nl</email>
</author>
<published>2026-02-09T19:04:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b8fa14f8a8f3e30c95f1dad54daa79a6a962fa73'/>
<id>urn:sha1:b8fa14f8a8f3e30c95f1dad54daa79a6a962fa73</id>
<content type='text'>
This quirk is somewhat unexpected, since flags won't be updated as
expected, but subsequence calls to notmuch-new(1) won't update the
index, giving an impression of it being stale.
</content>
</entry>
<entry>
<title>indexopts: avoid a memleak in the error path</title>
<updated>2026-02-08T00:19:36Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2026-02-07T17:47:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7557b6a1d47b5caa8dfced9d210d4d552b795c14'/>
<id>urn:sha1:7557b6a1d47b5caa8dfced9d210d4d552b795c14</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib: bump minor version</title>
<updated>2026-01-17T00:22:58Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2026-01-17T00:14:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fcf3b17d168840047ed0a4f095642a4eceb36ae3'/>
<id>urn:sha1:fcf3b17d168840047ed0a4f095642a4eceb36ae3</id>
<content type='text'>
This reflects the addition of a new API functions,
notmuch_{messages,threads}_status
</content>
</entry>
<entry>
<title>lib: move call to _n_m_invalidate_metadata</title>
<updated>2026-01-14T22:18:24Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2024-09-01T15:41:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8f9e16f2b9a46bef2c7398a27ff29db7bb23ee8d'/>
<id>urn:sha1:8f9e16f2b9a46bef2c7398a27ff29db7bb23ee8d</id>
<content type='text'>
It is wrong most of the time in _notmuch_message_remove_terms, but
that function is too low level to know how to call
_n_m_invalidate_metadata with the right argument, at least not without
more extensive changes. This change merely makes the current behaviour
more obvious, since the other calls cannot have relied on metadata
being invalidated.
</content>
</entry>
<entry>
<title>open: avoid leaking index_as_text regex objects</title>
<updated>2025-11-09T12:05:30Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-10-17T07:51:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5c921b6c0b2df460c7d50f6563edf700d0420732'/>
<id>urn:sha1:5c921b6c0b2df460c7d50f6563edf700d0420732</id>
<content type='text'>
Regexes compiled with regcomp() need to be freed with regfree(). Do that
in a talloc destructor attached to the compiled regex array.

Amended by db: Use C style comment. Add blank line per uncrustify.
</content>
</entry>
<entry>
<title>lib: return NOTMUCH_STATUS_OPERATION_INVALIDATED where appropriate</title>
<updated>2025-08-09T10:12:23Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-08-06T05:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=aa761727999b105711ba4ca789e0836a0a05cf9f'/>
<id>urn:sha1:aa761727999b105711ba4ca789e0836a0a05cf9f</id>
<content type='text'>
The overall goal is to allow clients to restart operations in
situations where that is the response recommended by the underlying
Xapian library.

Amended-by: db, added above explanation
</content>
</entry>
<entry>
<title>lib/database-private: undef XAPIAN_DEPRECATED before redefining it</title>
<updated>2025-08-04T13:44:52Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-07-27T14:11:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bee7a53194606757997f069f0e95ac862fbba0e0'/>
<id>urn:sha1:bee7a53194606757997f069f0e95ac862fbba0e0</id>
<content type='text'>
Silences compiler warnings about redefining a macro.
</content>
</entry>
<entry>
<title>lib: add notmuch_threads_status()</title>
<updated>2025-08-04T13:43:35Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-07-28T14:26:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11d373b4fd05f5409bf5c49459fe141d2235f7f5'/>
<id>urn:sha1:11d373b4fd05f5409bf5c49459fe141d2235f7f5</id>
<content type='text'>
While a number of errors can happen when iterating over threads
(DatabaseModifiedError, memory allocation errors, etc.), the API
currently cannot signal them to the caller, and either triggers an
internal error (aborting the caller) or returns NULL from
notmuch_threads_get() with no information on what actually went wrong.

Add a new public function notmuch_threads_status() - similar to
previously added notmuch_messages_status() - that allows propagating
those errors to the caller.

Use this to remove the INTERNAL_ERROR() in _notmuch_thread_create()
(triggered by T642).

Fixes: https://github.com/pazz/alot/issues/1460

Amended-By: db. Resolved whitespace disagreement between emacs and
uncrustify in favour of uncrustify.
</content>
</entry>
<entry>
<title>lib/config: simplify cleanup in notmuch_database_get_config_list()</title>
<updated>2025-08-04T13:15:38Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2025-07-27T14:11:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2e87a00f3909e7f5ddd3b51230d8b9483efbf380'/>
<id>urn:sha1:2e87a00f3909e7f5ddd3b51230d8b9483efbf380</id>
<content type='text'>
The list destructor is always set when necessary (i.e. if the iterator
is successfully created), so there is never a need to invoke it
explicitly, even on failure.
</content>
</entry>
</feed>
