<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib, branch 0.18_rc1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.18_rc1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.18_rc1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2014-04-18T20:58:34Z</updated>
<entry>
<title>build: add canonicalize_file_name to symbols exported from libnotmuch.so</title>
<updated>2014-04-18T20:58:34Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-04-09T11:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3242e29e57acf1715f4f7bfd7c384d4a699c68f3'/>
<id>urn:sha1:3242e29e57acf1715f4f7bfd7c384d4a699c68f3</id>
<content type='text'>
This is needed for our compat version of canonicalize_file_name to be used.
</content>
</entry>
<entry>
<title>lib: replace the header parser with gmime</title>
<updated>2014-04-05T15:53:04Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-03-30T21:21:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=473930bb6fb167078a9428ad85f53accf7d4559f'/>
<id>urn:sha1:473930bb6fb167078a9428ad85f53accf7d4559f</id>
<content type='text'>
The notmuch library includes a full blown message header parser. Yet
the same message headers are parsed by gmime during indexing. Switch
to gmime parsing completely.

These are the main changes:

* Gmime stops header parsing at the first invalid header, and presumes
  the message body starts from there. The current parser is quite
  liberal in accepting broken headers. The change means we will be
  much pickier about accepting invalid messages.

* The current parser converts tabs used in header folding to
  spaces. Gmime preserve the tabs. Due to a broken python library used
  in mailman, there are plenty of mailing lists that produce headers
  with tabs in header folding, and we'll see plenty of tabs. (This
  change has been mitigated in preparatory patches.)

* For pure header parsing, the current parser is likely faster than
  gmime, which parses the whole message rather than just the
  headers. Since we parse the message and its headers using gmime for
  indexing anyway, this avoids and extra header parsing round when
  adding new messages. In case of duplicate messages, we'll end up
  parsing the full message although just headers would be
  sufficient. All in all this should still speed up 'notmuch new'.

* Calls to notmuch_message_get_header() may be slightly slower than
  previously for headers that are not indexed in the database, due to
  parsing of the whole message. Within the notmuch code base, notmuch
  reply is the only such user.
</content>
</entry>
<entry>
<title>lib: drop support for single-message mbox files</title>
<updated>2014-04-05T15:52:42Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-03-30T21:21:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6812136bf576d894591606d9e10096719054d1f9'/>
<id>urn:sha1:6812136bf576d894591606d9e10096719054d1f9</id>
<content type='text'>
We've supported mbox files containing a single message for historical
reasons, but the support has been deprecated, with a warning message
while indexing, since Notmuch 0.15. Finally drop the support, and
consider all mbox files non-email.
</content>
</entry>
<entry>
<title>lib: make folder: prefix literal</title>
<updated>2014-03-11T22:51:22Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-02-08T19:20:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1fa8e40561aafb0ac4f51e0aba171a702b66fd86'/>
<id>urn:sha1:1fa8e40561aafb0ac4f51e0aba171a702b66fd86</id>
<content type='text'>
In xapian terms, convert folder: prefix from probabilistic to boolean
prefix, matching the paths, relative from the maildir root, of the
message files, ignoring the maildir new and cur leaf directories.

folder:foo matches all message files in foo, foo/new, and foo/cur.

folder:foo/new does *not* match message files in foo/new.

folder:"" matches all message files in the top level maildir and its
new and cur subdirectories.

This change constitutes a database change: bump the database version
and add database upgrade support for folder: terms. The upgrade also
adds path: terms.

Finally, fix the folder search test for literal folder: search, as
some of the folder: matching capabilities are lost in the
probabilistic to boolean prefix change.
</content>
</entry>
<entry>
<title>lib: add support for path: prefix searches</title>
<updated>2014-03-11T22:51:22Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-02-08T18:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=59823f964250be6d0ddbdfc45d4b07803bab267d'/>
<id>urn:sha1:59823f964250be6d0ddbdfc45d4b07803bab267d</id>
<content type='text'>
The path: prefix is a literal boolean prefix matching the paths,
relative from the maildir root, of the message files.

path:foo matches all message files in foo (but not in foo/new or
foo/cur).

path:foo/new matches all message files in foo/new.

path:"" matches all message files in the top level maildir.

path:foo/** matches all message files in foo and recursively in all
subdirectories of foo.

path:** matches all message files recursively, i.e. all messages.
</content>
</entry>
<entry>
<title>lib: refactor folder term update after filename removal</title>
<updated>2014-03-11T22:51:22Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2014-02-08T17:48:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4d150eba6775d9c34276547c7ae248a8ec4e6107'/>
<id>urn:sha1:4d150eba6775d9c34276547c7ae248a8ec4e6107</id>
<content type='text'>
Abstract some blocks of code for reuse. No functional changes.
</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>
<entry>
<title>lib: fix error handling</title>
<updated>2014-01-18T18:47:35Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@iki.fi</email>
</author>
<published>2013-11-19T05:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=075d53dde5446fefe121e548156901cf72f7f8e3'/>
<id>urn:sha1:075d53dde5446fefe121e548156901cf72f7f8e3</id>
<content type='text'>
Currently if a Xapian exception happens in notmuch_message_get_header,
the exception is not caught leading to crash. In
notmuch_message_get_date the exception is caught, but an internal error
is raised, again leading to crash.

This patch fixes the error handling by making both functions catch the
Xapian exceptions, print an error and return NULL or 0.

The 'notmuch-&gt;exception_reported' is also set, as is done elsewhere,
even if I don't really get the idea of that field.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@iki.fi&gt;
</content>
</entry>
</feed>
