Release Overview for 1.2.7

This page contains a high level description of the most notable changes made for release 1.2.7. For full details of user-visible changes, see the NEWS files in each module:

See also the full list of bug reports marked as fixed in 1.2.7.


  • Document objects now track whether any document positions have been modified so that replacing a modified document can completely skip considering updating positions if none have changed. Currently the flint, chert, and brass backends implement this optimisation. A common case this speeds up is adding and/or removing boolean filter terms to/from existing documents - for example this gives an 18% speedup for adding tags in notmuch.


  • Assorted improvements to both the API documentation and elsewhere.


  • Add missing wrappers for Database::has_positions() and TermIterator::positionlist_count(), and correct the return type of Database::get_doclength() from double to Xapian::termcount.


  • Fix iterator ++ and -- so that the reference to the object isn't released prematurely, which was causing an occasional crash if the garbage collection happened at just the wrong moment,

Java (SWIG-based)

  • Put the SWIG-generated Java bindings in package org.xapian.
  • Add documentation and examples.


  • Merge latest Lua changes from Xiaona Han.

Perl (SWIG-based)

  • perl/t/symbol-test.t: Fix to work when built against an installed xapian-core. (ticket#558)


  • Change PHP examples and test program to use 'include "xapian.php"' like user code should (rather than 'include "php5/xapian.php"' as they did previously).
Last modified 7 years ago Last modified on 26/01/16 10:10:43
Note: See TracWiki for help on using the wiki.