<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch, branch debian/0.30_rc2-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.30_rc2-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.30_rc2-1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2020-06-16T11:42:07Z</updated>
<entry>
<title>debian: changelog stanza for 0.30~rc2-1</title>
<updated>2020-06-16T11:42:07Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-06-16T11:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=af51e67127e5817e3795973da9c5e2148b7fdeec'/>
<id>urn:sha1:af51e67127e5817e3795973da9c5e2148b7fdeec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version: update to 0.30~rc2</title>
<updated>2020-06-16T11:29:39Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-06-16T11:29:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cda6e4d1046641871413710f3786c43697bd6d19'/>
<id>urn:sha1:cda6e4d1046641871413710f3786c43697bd6d19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debian/copyright: update to match AUTHORS</title>
<updated>2020-06-16T11:28:08Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-06-16T11:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6b3b0ae18602252d333dee77149363b5ffc67a13'/>
<id>urn:sha1:6b3b0ae18602252d333dee77149363b5ffc67a13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update AUTHORS</title>
<updated>2020-06-16T11:26:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-06-16T11:26:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5e163465935f42ed5d4c2af13cf8fc535ae5b729'/>
<id>urn:sha1:5e163465935f42ed5d4c2af13cf8fc535ae5b729</id>
<content type='text'>
Yay, we gained a new author, thanks Anton.
</content>
</entry>
<entry>
<title>Support aborting the atomic context</title>
<updated>2020-06-16T11:17:39Z</updated>
<author>
<name>Floris Bruynooghe</name>
<email>flub@devork.be</email>
</author>
<published>2020-06-14T15:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=776a54a0e437651abd69a03b9f7d591ea1f992cb'/>
<id>urn:sha1:776a54a0e437651abd69a03b9f7d591ea1f992cb</id>
<content type='text'>
Since it is possible to use an atomic context to abort a number of
changes support this usage.  Because the only way to actually abort
the transaction is to close the database this must also do so.

Amended by db: Note the limitation requiring close is a limitation of
the underlying notmuch API, which should be fixed in a future notmuch
release.
</content>
</entry>
<entry>
<title>Make messages returned by Thread objects owned</title>
<updated>2020-06-16T11:02:02Z</updated>
<author>
<name>Floris Bruynooghe</name>
<email>flub@devork.be</email>
</author>
<published>2020-06-15T20:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2d895a0119b423b117d10e890c9e0eb5d2a9cdf8'/>
<id>urn:sha1:2d895a0119b423b117d10e890c9e0eb5d2a9cdf8</id>
<content type='text'>
This reverses the logic of StandaloneMessage to instead create a
OwnedMessage.  Only the Thread class allows retrieving messages more
then once so it can explicitly create such messages.

The added test fails with SIGABRT without the fix for the message
re-use in threads being present.
</content>
</entry>
<entry>
<title>python/notmuch2: do not destroy messages owned by a query</title>
<updated>2020-06-16T11:02:02Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2020-06-15T20:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=131757907907380213b32934d9e73cec942ace43'/>
<id>urn:sha1:131757907907380213b32934d9e73cec942ace43</id>
<content type='text'>
Any messages retrieved from a query - either directly via
search_messages() or indirectly via thread objects - are owned by that
query. Retrieving the same message (i.e. corresponding to the same
message ID / database object) several times will always yield the same
C object.

The caller is allowed to destroy message objects owned by a query before
the query itself - which can save memory for long-lived queries.
However, that message must then never be retrieved again from that
query.

The python-notmuch2 bindings will currently destroy every message object
in Message._destroy(), which will lead to an invalid free if the same
message is then retrieved again. E.g. the following python program leads
to libtalloc abort()ing:

import notmuch2
db   = notmuch2.Database(mode = notmuch2.Database.MODE.READ_ONLY)
t    = next(db.threads('*'))
msgs = list(zip(t.toplevel(), t.toplevel()))
msgs = list(zip(t.toplevel(), t.toplevel()))

Fix this issue by creating a subclass of Message, which is used for
"standalone" message which have to be freed by the caller. Message class
is then used only for messages descended from a query, which do not need
to be freed by the caller.
</content>
</entry>
<entry>
<title>python config access: fix style and KeyError bug</title>
<updated>2020-06-16T00:50:03Z</updated>
<author>
<name>Floris Bruynooghe</name>
<email>flub@devork.be</email>
</author>
<published>2020-06-15T21:55:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1bca41698a03980b701558fb5c481ef0a340460d'/>
<id>urn:sha1:1bca41698a03980b701558fb5c481ef0a340460d</id>
<content type='text'>
This fixes some minor style/pep8 things and adds tests for the new
config support.  Also fixes a bug where KeyError was never raised
on a missing key.
</content>
</entry>
<entry>
<title>python/notmuch2: add bindings for the database config strings</title>
<updated>2020-06-16T00:50:03Z</updated>
<author>
<name>Anton Khirnov</name>
<email>anton@khirnov.net</email>
</author>
<published>2020-06-15T21:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5a58754841f4d3e62d104ad338c8ca2c481dc32e'/>
<id>urn:sha1:5a58754841f4d3e62d104ad338c8ca2c481dc32e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update tox.ini for python3.8 and fix pypy3.6</title>
<updated>2020-06-15T14:25:39Z</updated>
<author>
<name>Floris Bruynooghe</name>
<email>flub@devork.be</email>
</author>
<published>2020-06-14T19:25:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b7e3a347ac71d2d31747259d4b3bfa089fbaa2b1'/>
<id>urn:sha1:b7e3a347ac71d2d31747259d4b3bfa089fbaa2b1</id>
<content type='text'>
Python 3.8 has been released for a while now, make sure we keep
supporting it correctly.

PyPy 3.6 wasn not configured correctly.
</content>
</entry>
</feed>
