Release Overview for 1.0.7
This page contains a high level description of the more notable changes made for release 1.0.7. For full details of user-visible changes, see the NEWS files in each module:
- The configure scripts now warn about unrecognised options (usually these are typos like
- Fixes for building with GCC 2.95.3 and GCC 4.3.
- Support for AIX 6.1 and improved support from Mac OS X Leopard from updating libtool.
- Fixes to header checks in omega's configure for Mac OS X.
- Fix probing for iconv to work better when iconv isn't found.
- Fix compilation error in Omega on FreeBSD, introduced in 1.0.5.
- If there were gaps in the document id numbering, these operators could return document ids which weren't present in the database.
- These operators are now more efficient when there are a lot of "missing" document ids (bug#270).
- Xapian::Stem now recognises "nl" as an alias for "dutch" (debian bug 484458).
- Setting sort by value was being ignored by a Xapian::Enquire object which had previously had a Xapian::Sorter set (bug#256).
- The lower and upper bounds on the number of matches could occasionally be incorrect (or correct but less tight than possible) when using certain combinations of a MatchDecider, collapsing, and percentage cut-offs. All known cases of this have been fixed.
- We now track the number and rate at which a MatchDecider rejects documents, and use this to adjust the estimate and upper bound on the number of matches.
- Fix problem on x86 with the top match getting 99% rather than 100% (caused by excess precision in intermediate floating-point values).
- Cases of O(N2) behaviour in the QueryParser have been fixed.
- Do less work when reopen() is called if the database hasn't changed (bug#261).
- Fix handling of modified tables which had previously only had sequential updates - this usually manifested as zlib errors (bug#259).
- Fix handling of modified tables which had previously only had sequential updates - this usually manifested as incorrect data being returned (bug#259).
- Improve performance of matches with multiple databases at least one of which is remote, and when the top hit is from a remote database (bug#279).
- We now wait for the connection to close after sending MSG_SHUTDOWN for a WritableDatabase, which ensures that changes have been written to disk and the lock released before the WritableDatabase destructor returns (as is the case with a local database).
- Fix bug with storage of values when replacing a document, or if there are gaps in the docid numbering.
- Fix build of Python extension under mingw.
- Fix where the Tcl module gets installed.
Search::Xapian Perl bindings
- Handle exceptions from Xapian::Stem constructor.
- Search::Xapian::Query->new(<OP>, <TERMS>) now allows integers and numbers as terms - these are coerced to strings as with standard Perl parameter passing.
- Overhaul the $highlight colour combinations since some were rather unreadable (Debian bug 484456).
- When indexing text files, handle UCS-2 and UTF-16 text files with a byte-order mark (BOM), and ignore any UTF-8 "byte-order" mark.
- The built-in conversion code (used when iconv isn't available) now handles UCS-2/UTF-16 with and without a BOM, and also the explicit BE and LE forms.