<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/bindings, branch debian/0.30-1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.30-1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.30-1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2020-07-11T01:21:19Z</updated>
<entry>
<title>version: set to 0.30</title>
<updated>2020-07-11T01:21:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-07-11T01:21:19Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e56a207ce14386b3e826dd267c549427b2c3f9ec'/>
<id>urn:sha1:e56a207ce14386b3e826dd267c549427b2c3f9ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version: bump to 0.30~rc3</title>
<updated>2020-07-03T09:45:17Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-07-03T09:45:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=038b3e7c302fed34b8734d3dcac2c5568d4147f3'/>
<id>urn:sha1:038b3e7c302fed34b8734d3dcac2c5568d4147f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bindings/python-cffi: copy version file into bindings dir</title>
<updated>2020-07-03T09:38:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-06-30T00:22:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3a42abb456893b71b530f099a1467400f2b0ea71'/>
<id>urn:sha1:3a42abb456893b71b530f099a1467400f2b0ea71</id>
<content type='text'>
Attempt to avoid breaking "pip install ."

As far as I can tell, we need to have a copy (not just a relative
symlink) of the version file.
</content>
</entry>
<entry>
<title>python-cffi: read version from notmuch version file</title>
<updated>2020-06-19T10:01:13Z</updated>
<author>
<name>Floris Bruynooghe</name>
<email>flub@devork.be</email>
</author>
<published>2020-06-19T09:46:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=81057164cddf6a5c1d4c30a23767c4de8e615c1c'/>
<id>urn:sha1:81057164cddf6a5c1d4c30a23767c4de8e615c1c</id>
<content type='text'>
This keeps it in sync with the main notmuch version which is less
confusing to users.
</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>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>
</feed>
