Release Overview for 1.0.5

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

Portability to upcoming GCC 4.3 release

Compilation problems and warnings from GCC 4.3 snapshots have been fixed, so Xapian 1.0.5 should compile out of the box with GCC 4.3 once that is released.

Sorting Search Results

More sophisticated sorting of results is now possible by defining a functor subclassing Xapian::Sorter, or using the standard subclass Xapian::MultiValueSorter.

There's also a new document covering all the different sorting options which Xapian provides.


When using Xapian::B!M25Weight with certain non-default parameter settings (k2 != 0), a non-initialised value previously influenced document weights. This is now fixed.


xapian-check has been fixed to handle flint databases produced by Xapian 1.0.3 and later.

Remote Backend

Running a match on a single remote database is now handled as a special-case and we just unserialise the MSet and return it without running a local match. This change required an update to the MSet serialisation, which means that the minor remote protocol version has increased. If you are upgrading a live system which uses the remote backend, upgrade the servers before the clients.


omindex now handles uppercase file extensions better. If a file's extension isn't found in the mime_map and contains uppercase ASCII characters, we check for the lower cased extension (so .PDF and .Pdf behave the same way as .pdf, unless you deliberately add different mappings for them).

omindex now limits filter programs to 7/8 of free physical memory on platforms where we know how to determine this statistic (currently at least Linux, FreeBSD, IRIX, HP-UX; probably Solaris and a few others too). This helps to prevent runaway filters from causing a denial of service.

scriptindex now inserts a ':' between prefix and term, using the same criteria which Xapian::QueryParser does.


Don't drop the GIL when calling Xapian.MSet.items and Xapian.ESet.items - these methods build a python list, and return a PyObject, so it's not safe to do so, and doing so may cause undefined behaviour in multithreaded environments.


The Ruby bindings now work on Mac OS X.

We now include rdoc-generated HTML for the Ruby-specific API.


The code to locate tcl.h has been overhauled and now works on Debian unstable once more.

Last modified 4 years ago Last modified on 26/01/16 10:10:43
Note: See TracWiki for help on using the wiki.