Release Overview for 1.4.11
This page contains a high level description of the most notable changes in this release. 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 this release.
MSet::SNIPPET_CJK_NGRAM- new flag for use with
MSet::snippet()to enable support for selecting and highlighting snippets which works with the
FLAG_CJK_NGRAMflags. This mode can also be enabled by setting environment variable
XAPIAN_CJK_NGRAMto a non-empty value. (There was nominally already support for
MSet::snippet(), but it didn't work usefully - the highlighting added was all empty start/end pairs at the end of the span of CJK characters containing the CJK ngram terms, which to the user would typically look like it was selecting the end of the text and not highlighting anything).
XAPIAN_CJK_NGRAMenvironment variable. There are now flags which can be used instead in all cases, and there's sadly no portable thread-safe way to read an environment variable so checking environment variables is problematic in library code that may be used in multithreaded programs.
- Extend detection of cases of
OP_SYNONYMwith disjoint subqueries (which means we don't need document length) which was added in 1.4.8 - we now detect when all subqueries are different terms, or when all subqueries are non-overlapping wildcards. The second case is what
QueryParserproduces for a wildcard or partial query with a query prefix which maps to more than one term prefix.
glass and chert backends
- Handle an empty value slot lower bound gracefully. This shouldn't happen for a non-empty slot, but has been reported by a notmuch user so it seems there is (or perhaps was as the database was several years old) a way it can come about. We now check for this situation and set the smallest possible valid lower bound instead, so other code assuming a valid lower bound will work correctly. Reported by jb55.
- Fix access to already released memory during PHP module shutdown, which often didn't cause visible problems, but could result in segmentation faults, bus errors, etc.
- Fix generated code to compile when using a ZTS-enabled build of PHP.