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.
Xapian::BM25Weight
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
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.
Omega
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.
Python
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.
Ruby
The Ruby bindings now work on Mac OS X.
We now include rdoc-generated HTML for the Ruby-specific API.
Tcl
The code to locate tcl.h has been overhauled and now works on Debian unstable once more.