This ChangeLog file is no longer maintained - see the git repo history for
more recent changes: https://xapian.org/bleeding

Wed Sep 30 19:34:51 GMT 2015  Olly Betts <olly@survex.com>

	* languages/compiler/: Merge changes from upstream snowball again.

Sun Sep 27 23:59:05 GMT 2015  Olly Betts <olly@survex.com>

	* languages/compiler/: Merge changes from upstream snowball.

Sat Sep 26 04:07:35 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_backend.cc: Remove pointless call to get_database().

Sat Sep 26 03:21:45 GMT 2015  Olly Betts <olly@survex.com>

	* common/pack.h,configure.ac,include/xapian/types.h,
	  include/xapian/version_h.cc,tests/api_backend.cc,tests/api_wrdb.cc:
	  Add new configure options --enable-64bit-docid and
	  --enable-64bit-termcount, which control the size of these types.
	  Currently the backends only support 32-bit docids, but using 64-bit
	  docids allows searching multiple database where the mapped docids
	  don't fit in a 32-bit type.  Based heavily on patch from James
	  Aylett and Dylan Griffith.  Fixes #385.

Sat Sep 26 00:32:31 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_table.cc: Use BLK_UNUSED constant.

Sat Sep 26 00:31:45 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_table.cc: Initialise last_readahead - was
	  causing testsuite failures under valgrind.

Fri Sep 25 06:28:02 GMT 2015  Olly Betts <olly@survex.com>

	* net/length.cc,net/length.h: Provide overloads for unsigned, unsigned
	  long, and unsigned long long, rather than uint32_t and uint64_t -
	  this avoids overload resolution failing when we pass a type which
	  isn't one which uint32_t or uint64_t is a typedef to.  (see #385)

Fri Sep 25 04:10:00 GMT 2015  Olly Betts <olly@survex.com>

	* api/vectortermlist.cc: Check decoded length.

Sun Sep 13 08:27:53 GMT 2015  Olly Betts <olly@survex.com>

	* common/socket_utils.cc: Change C-style cast to reinterpret_cast.

Wed Sep 02 03:13:45 GMT 2015  Olly Betts <olly@survex.com>

	* docs/stemming.rst,languages/armenian.sbl,languages/basque.sbl,
	  languages/catalan.sbl: Update snowball website links to
	  snowballstem.org.  Correct "2-clause BSD" to "3-clause BSD".

Sun Aug 30 04:43:49 GMT 2015  Olly Betts <olly@survex.com>

	* net/remote_protocol.rst: Markup tweak.

Thu Aug 13 08:56:25 GMT 2015  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc: Improve error when the client and
	  server remote protocol versions aren't compatible.

Tue Aug 11 09:32:46 GMT 2015  Olly Betts <olly@survex.com>

	* docs/: Strip out "quickstart" examples which are out of date and
	  rather redundant with the "simple" examples.

Tue Aug 11 08:24:48 GMT 2015  Olly Betts <olly@survex.com>

	* pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say
	  "xapian" not "xapian-core".  Reported by Eric Lindblad to the
	  xapian-devel list.

Tue Jul 07 01:37:00 GMT 2015  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/query.cc,backends/chert/,backends/database.cc,
	  backends/database.h,backends/glass/,common/io_utils.cc,
	  common/io_utils.h,configure.ac,include/xapian/enquire.h,
	  include/xapian/query.h,matcher/multimatch.cc: Where posix_fadvise()
	  is available, use it to prefetch postlist Btree blocks from the
	  level below the root block which will be needed for postlists of
	  terms in the query, and similarly for the record/docdata table
	  when MSet::fetch() is called.  Based on patch by Will Greenberg
	  in #671.

Mon Jul 06 09:44:54 GMT 2015  Olly Betts <olly@survex.com>

	* common/safeunistd.h,configure.ac: Don't provide our own
	  implementation of sleep() under __WIN32__ if there's already one -
	  mingw provides one, and in some situations it seems to clash with
	  ours.  Reported to xapian-discuss by John Alveris.

Mon Jun 29 12:10:22 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on
	  FreeBSD, reported by Germán M. Bravo via github PR 72.

Wed Jun 24 10:07:05 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/testutils.cc,tests/harness/testutils.h: Use
	  'Xapian::docid' instead of 'unsigned int' so that things work with
	  64 bit docids (see #385).

Tue Jun 23 13:38:54 GMT 2015  Olly Betts <olly@survex.com>

	* api/snipper.cc,api/snipperinternal.h: Use appropriate typedefs
	  rather than unsigned int.  Split out of patch by Dylan Griffith in
	  #385.

Tue Jun 23 13:32:36 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_database.cc,backends/chert/chert_types.h,
	  backends/glass/glass_database.cc,backends/glass/glass_defs.h: Add
	  constants CHERT_MAX_DOCID and GLASS_MAX_DOCID for the largest docid
	  which the backends support, independent of the size of type
	  Xapian::docid.  (helps #385)

Tue Jun 23 13:19:06 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_backend.cc: Add regression test for #678.

Tue Jun 23 13:04:06 GMT 2015  Olly Betts <olly@survex.com>

	* api/,backends/remote/net_postlist.cc,
	  backends/remote/remote-database.cc,
	  geospatial/latlong_posting_source.cc,net/,tests/unittest.cc: Split
	  decode_length() into versions which decode a 32 vs 64 bit value,
	  and which check that there's at least the decoded length in bytes
	  in the source data.  (Fixes #678 and helps #385)

Tue Jun 23 11:49:15 GMT 2015  Olly Betts <olly@survex.com>

	* net/remoteserver.cc: Check length of key in MSG_SETMETADATA.

Sat Jun 20 13:05:50 GMT 2015  Olly Betts <olly@survex.com>

	* common/str.h,tests/,tests/harness/,tests/internaltest.cc,
	  tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
	  tests/soaktest/soaktest_queries.cc,tests/termgentest.cc,
	  tests/unittest.cc: Make str() private to the library, and use
	  C++11 std::to_string() to convert numbers to std::string in the
	  testsuite.  (ticket #63)

Sat Jun 20 12:32:13 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_unicode.cc: Fix trailing whitespace introduced by previous
	  commit.

Sat Jun 20 06:31:27 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_unicode.cc,unicode/Makefile.mk,
	  unicode/UnicodeData-README.txt,unicode/UnicodeData.txt:
	  Update to Unicode 8.0.0.  (fixes #680)

Thu Jun 11 11:57:50 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Remove XAPIAN_CONST_FUNCTION marker
	  from sortable_serialise_() helper, as it writes to the passed in
	  buffer, so it isn't const or pure.  Fixes decvalwtsource2 testcase
	  failure when compiled with clang.

Thu Jun 11 05:05:27 GMT 2015  Olly Betts <olly@survex.com>

	* examples/xapian-metadata.cc: Extend "list" subcommand to take
	  optional key prefix.

Sat Jun 06 11:02:50 GMT 2015  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Use C++11 auto and container
	  iteration for cleaner code.

Fri Jun 05 12:08:02 GMT 2015  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/omenquireinternal.h,
	  backends/remote/remote-database.cc,backends/remote/remote-database.h,
	  include/xapian/matchspy.h,matcher/,net/remoteserver.cc,
	  tests/api_none.cc: Add support for optional reference counting of
	  MatchSpy objects.

Fri Jun 05 02:55:54 GMT 2015  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.h: Correct doxygen comment for
	  internal method.

Thu Jun 04 12:44:00 GMT 2015  Olly Betts <olly@survex.com>

	* examples/quest.cc: Prefer pre-increment ++.

Thu Jun 04 12:42:49 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables.

Thu Jun 04 12:42:04 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_backend.cc: Fix compilation in case where S_ISSOCK() isn't
	  defined.

Thu Jun 04 12:41:31 GMT 2015  Olly Betts <olly@survex.com>

	* languages/compiler/generator.c: Remove redundant assignment.

Thu Jun 04 12:40:52 GMT 2015  Olly Betts <olly@survex.com>

	* languages/compiler/generator.c: Remove extra "break;".

Thu Jun 04 12:39:51 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/query.h: Remove bogus extra "Query::" qualifier from
	  fake Query constructor prototypes provided for SWIG.

Thu Jun 04 12:38:36 GMT 2015  Olly Betts <olly@survex.com>

	* api/documentvaluelist.h,api/leafpostlist.h,api/matchspy.cc,
	  include/xapian/,net/length.cc: Mark constructors taking a
	  single argument as "explicit" to avoid unwanted implicit
	  conversions.

Mon Jun 01 13:11:02 GMT 2015  Olly Betts <olly@survex.com>

	* NEWS.SKELETON: Remove section for "flint backend" from template.

Mon Jun 01 13:09:55 GMT 2015  Olly Betts <olly@survex.com>

	* NEWS,configure.ac: Update for 1.3.3.

Mon May 25 04:33:15 GMT 2015  Olly Betts <olly@survex.com>

	* NEWS: Update.

Sun May 24 12:52:47 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_postingsource.cc: timer_create() seems to always fail on
	  AIX with EAGAIN, so just skip the matchtimelimit1 testcase there.

Sun May 24 11:48:30 GMT 2015  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter
	  is 'void*' (to POSIX says it should be 'const void*').

Sun May 24 11:46:25 GMT 2015  Olly Betts <olly@survex.com>

	* common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms
	  need <ws2def.h> for AI_* constants.  And mingw doesn't seem to
	  define AI_NUMERICSERV yet.

Sun May 24 10:41:39 GMT 2015  Olly Betts <olly@survex.com>

	* common/safewindows.h,configure.ac: Under __WIN32__, we need to
	  specify Vista as the minimum supported version to get the
	  AI_ADDRCONFIG flag.  Older versions seem to all be out of support
	  anyway.

Sun May 24 06:46:15 GMT 2015  Olly Betts <olly@survex.com>

	* net/tcpclient.cc: Add missing declaration of variable under
	  __WIN32__.

Sun May 24 06:39:56 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
	  slightly.

Sat May 23 11:52:03 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
	  open when starting xapian-tcpsrv for remotetcp tests.

Sat May 23 10:12:31 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
	  strings and macros which expand to literal strings for C++11
	  compatibility in __WIN32__-specific code.

Fri May 22 03:22:03 GMT 2015  Olly Betts <olly@survex.com>

	* NEWS: Update.

Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
	  both >= 1002 (which means GCC >= 3.4), then issue a warning about
	  mismatching versions instead of an error.  The changes in these
	  versions are bug fixes for corner cases, so there's a good chance of
	  things working - e.g. building xapian-bindings with GCC 5.1 (which
	  defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
	  GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
	  clue to what is going on if linking fails due to a missing symbol.

Wed May 20 13:47:50 GMT 2015  Olly Betts <olly@survex.com>

	* net/serialise.cc: Don't use encode_length() on a bool - it's
	  overkill, and leads to a warning from GCC 5.1 (due to the
	  comparison (bool_value < 255) from the template expansion
	  always being true).

Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>

	* api/matchspy.cc: Fix comparison function not to return true for two
	  equal elements, which fixes matchspy4 test failure with clang and
	  libc++.

Wed May 20 00:20:56 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Disable "<FUNCTION> is expected to return a value"
	  warning from Sun's C++ compiler, as it fires even for functions we
	  end in a "throw" statement.  Genuine instances will be caught by
	  compilers with superior warning machinery.

Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Arrange to pass command line option so that xlC
	  actually fails to compile the test code for typeid() when RTTI isn't
	  enabled.

Sun May 17 11:35:36 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_version.cc: When reporting an error that the
	  glass format version doesn't match, don't append an uninitialised
	  char[] buffer to the error string (code accidentally left behind
	  by the previous change in this area).

Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>

	* common/socket_utils.cc: Fix casts on the 4th argument of
	  setsockopt() so they compile on platforms which expect
	  char * or const char * there.

Fri May 15 13:24:55 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Enhance the probe for whether the test harness can use
	  RTTI so that it works for xlC (which defaults to not generating
	  RTTI).

Fri May 15 12:28:32 GMT 2015  Olly Betts <olly@survex.com>

	* common/debuglog.h: Remove commented out STATIC_ASSERT() which
	  is conceptually flawed.

Fri May 15 12:27:45 GMT 2015  Olly Betts <olly@survex.com>

	* common/omassert.h,common/pack.h,tests/api_wrdb.cc,
	  tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's
	  static_assert().

Fri May 15 11:34:47 GMT 2015  Olly Betts <olly@survex.com>

	* common/stringutils.cc: Use static_assert rather than an adhoc check
	  via a negative array size.

Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>

	* common/io_utils.cc: Replace the code used on platforms without
	  F_DUPFD with simpler code which actually compiles.

Fri May 15 03:43:16 GMT 2015  Olly Betts <olly@survex.com>

	* pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
	  file.

Fri May 15 03:33:40 GMT 2015  Olly Betts <olly@survex.com>

	* pkgconfig/xapian-core.pc.in: Fix include directory reported by
	  pkg-config.

Fri May 15 03:31:43 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
	  compiling with xlC on AIX, _LARGE_FILES gets defined by
	  AC_SYS_LARGEFILE to enable large file support, and defining this
	  changes the ABI of std::string, so include it in xapian-config
	  --cxxflags and the pkg-config equivalent.

Fri May 15 02:52:10 GMT 2015  Olly Betts <olly@survex.com>

	* tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
	  rather than @NO_INSTALL@ to allow make-time overriding.

Fri May 15 02:33:11 GMT 2015  Olly Betts <olly@survex.com>

	* tests/soaktest/Makefile.mk: Use -no-fast-install instead of
	  -no-install for linking soaktest on platforms where libtool issues
	  a warning for -no-install, like we already do for all the other test
	  programs.

Fri May 15 02:14:16 GMT 2015  Olly Betts <olly@survex.com>

	* examples/simpleexpand.cc,examples/simpleindex.cc,
	  examples/simplesearch.cc: '#include <config.h>' in the examples, as
	  when compiling with xlC on AIX, _LARGE_FILES gets defined by
	  AC_SYS_LARGEFILE to enable large file support, and defining this
	  changes the ABI of std::string, so it also needs to be defined when
	  compiling code using Xapian.

Thu May 14 03:17:28 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_cursor.cc: Correct delete to delete [].

Tue May 12 14:33:28 GMT 2015  Olly Betts <olly@survex.com>

	* docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
	  which happened in 1.2.4.

Tue May 12 07:38:12 GMT 2015  Olly Betts <olly@survex.com>

	* Makefile.am: Actually use $(NO_UNDEFINED).

Tue May 12 06:40:38 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Only pass -no-undefined when linking the library if
	  it's actually required for the current platform.  Sun C++ doesn't
	  link the C++ runtime libraries to shared objects, so the build
	  fails with -no-undefined.

Tue May 12 06:39:26 GMT 2015  Olly Betts <olly@survex.com>

	* INSTALL,configure.ac: Fix comment and doc typos.

Tue May 12 03:49:38 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Add workaround for odd <cmath> issue with Sun C++.

Tue May 12 03:49:15 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: On Solaris, inet_ntop() needs -lnsl.

Tue May 12 03:48:48 GMT 2015  Olly Betts <olly@survex.com>

	* api/keymaker.cc: Fix error compiling with Sun C++.

Tue May 12 03:07:06 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/attributes.h: Fix typo in definition of
	  XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and
	  MSVC.

Tue May 12 01:48:19 GMT 2015  Olly Betts <olly@survex.com>

	* exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in
	  comments.

Mon May 11 14:16:22 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING: libtool 2.4.6 is now used for snapshots and releases.

Mon May 11 14:14:04 GMT 2015  Olly Betts <olly@survex.com>

	* common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc,
	  matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/:
	  Fixes for errors when compiling with Sun C++.

Mon May 11 10:53:47 GMT 2015  Olly Betts <olly@survex.com>

	* common/log2.h,configure.ac: Change probe for log2() to check for a
	  declaration and '#include <cmath>' to get it to fix build on Solaris
	  with Sun C++.  C++11 compilers should all provide log2(), but let's
	  not rely on that just yet as it's easy to provide a fallback
	  implementation.

Mon May 11 07:04:06 GMT 2015  Olly Betts <olly@survex.com>

	* common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
	  Reported by Germán M. Bravo.

Mon May 11 06:29:42 GMT 2015  Olly Betts <olly@survex.com>

	* api/constinfo.cc,docs/doxygen_api.conf.in,
	  docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept
	  needs to be on definitions as well as declarations, but GCC
	  function attributes must only be on declarations, so split
	  XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW.

Sun May 10 13:26:24 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
	  tests/api_none.cc: Add support for optional reference counting of
	  FieldProcessor objects.

Sun May 10 11:07:36 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/intrusive_ptr.h,include/xapian/queryparser.h,
	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
	  tests/api_none.cc: Add support for optional reference counting of
	  ValueRangeProcessor objects.

Thu May 07 12:42:11 GMT 2015  Olly Betts <olly@survex.com>

	* bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
	  net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
	  for xapian-replicate's connection to the master, and add command
	  line option to allow setting socket-level timeouts (SO_RCVTIMEO and
	  SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
	  by nkvoll.

Thu May 07 12:00:15 GMT 2015  Olly Betts <olly@survex.com>

	* bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
	  rather than 10000 seconds which is has been since 1.2.3.

Tue May 05 02:38:37 GMT 2015  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the
	  latter isn't thread-safe.

Tue May 05 02:05:27 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Update documentation to reflect that
	  the database passed to QueryParser::set_database() is no longer
	  used to expand wildcards and partial terms.

Mon May 04 11:32:40 GMT 2015  Olly Betts <olly@survex.com>

	* api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
	  net/serialise.cc,tests/api_backend.cc: Fix sort by value when
	  multiple databases are in use and one or more are remote.  Fixes
	  #674, reported by Dylan Griffith.

Sun May 03 12:41:58 GMT 2015  Olly Betts <olly@survex.com>

	* docs/deprecation.rst,include/xapian/queryparser.h,
	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
	  queryparser/queryparser_internal.h,tests/queryparsertest.cc:
	  Allow setting the expansion limits and types for wildcards
	  and partial terms in the QueryParser independently.  Partial
	  terms now default to the 100 most frequent matching terms.
	  Deprecate set_max_wildcard_expansion() in favour of new
	  set_max_expansion() method which can set expansion limits
	  for partial terms too.  Completes #608.

Sat May 02 09:20:30 GMT 2015  Olly Betts <olly@survex.com>

	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
	  include/xapian/query.h,queryparser/queryparser.lemony,
	  tests/api_query.cc: Add a choice of ways to apply the limit on
	  wildcard expansion.  Fixes #608, reported by boomboo.

Fri May 01 14:53:16 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_replicate.cc: Reenable replicate3 for glass, as it no
	  longer fails.

Fri May 01 13:38:48 GMT 2015  Olly Betts <olly@survex.com>

	* common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require
	  C++11.

Fri May 01 13:33:28 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove
	  lingering traces of support for SGI's compiler.

Fri May 01 08:59:13 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING,INSTALL: STLport was last released in 2008, so (a) it's no
	  longer actively developed and (b) it won't support C++11, so strip
	  out documentation which mentions it.
	* configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11
	  support, and is incompatible with -library=stlport, so remove code
	  to enable that later option.

Fri May 01 01:37:24 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Tweak comment to match xapian-omega's configure.

Fri May 01 01:36:41 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
	  default will actually get used.

Fri May 01 01:36:05 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Add explicit AC_CANONICAL_HOST.

Fri May 01 01:08:56 GMT 2015  Olly Betts <olly@survex.com>

	* api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
	  AutoPtr.

Fri May 01 00:37:42 GMT 2015  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Remove self-assignment check of AutoPtr as
	  that doesn't work under C++11 when AutoPtr is unique_ptr, and add
	  other checks of reassignment which should work for both.

Fri May 01 00:37:09 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_postingsource.cc: Remove C++11 specific test which doesn't
	  actually work with C++11.

Fri May 01 00:33:43 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/backendmanager.cc,
	  tests/harness/backendmanager_remotetcp.cc,
	  tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces
	  between literal strings and macros which expand to literal strings
	  for C++11 compatibility.

Thu Apr 30 14:41:59 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
	  duplicate includes of "omassert.h".

Thu Apr 30 14:41:31 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_freelist.cc: Add missing explicit include of
	  "omassert.h",

Thu Apr 30 14:38:06 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING,backends/chert/chert_table.cc,
	  backends/chert/chert_version.cc,backends/glass/glass_table.cc,
	  common/omassert.h: Remove CompileTimeAssert() and just use
	  C++11's static_assert instead.

Thu Apr 30 14:28:10 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4
	  as we now require >= 4.4.

Thu Apr 30 14:26:13 GMT 2015  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,include/xapian/queryparser.h,
	  tests/harness/backendmanager.h: Drop workarounds for ancient Sun
	  C++ compilers, as we now require a recent version for C++11 support.

Thu Apr 30 14:22:46 GMT 2015  Olly Betts <olly@survex.com>

	* INSTALL: IRIX is past EOL so drop information about IRIX make.

Thu Apr 30 14:22:10 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
	  update comment.

Thu Apr 30 14:21:37 GMT 2015  Olly Betts <olly@survex.com>

	* common/unordered_map.h: No longer relevant now we require C++11.

Thu Apr 30 13:59:16 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++
	  compiler - the minimum required GCC version is now probably GCC 4.4.

Thu Apr 30 13:48:54 GMT 2015  Olly Betts <olly@survex.com>

	* xapian-config.in: Remove superfluous comment left over from code
	  refactoring.

Thu Apr 30 13:47:30 GMT 2015  Olly Betts <olly@survex.com>

	* xapian-config.in: Fix the include directory reported by --swigflags
	  for an installed copy to include the "/xapian-1.3" component for
	  a development version.

Thu Apr 30 12:34:14 GMT 2015  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr.

Thu Apr 30 12:20:22 GMT 2015  Olly Betts <olly@survex.com>

	* api/replication.cc,backends/chert/chert_database.cc,
	  backends/chert/chert_table.cc,backends/chert/chert_version.cc,
	  backends/glass/,backends/remote/remote-database.cc,bin/,
	  examples/copydatabase.cc,examples/quest.cc,
	  examples/xapian-metadata.cc,net/tcpclient.cc,
	  queryparser/queryparser.lemony: Add spaces between literal strings
	  and macros which expand to literal strings for C++11 compatibility.

Thu Apr 30 12:17:17 GMT 2015  Olly Betts <olly@survex.com>

	* bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
	  in string for --help.

Thu Apr 30 10:48:11 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING: Update URL.

Thu Apr 30 10:47:10 GMT 2015  Olly Betts <olly@survex.com>

	* m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested
	  as I no longer have access to this compiler).

Thu Apr 30 05:30:13 GMT 2015  Olly Betts <olly@survex.com>

	* m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to
	  detect any compiler options needed to enable C++11 support (not yet
	  used).

Thu Apr 30 05:14:56 GMT 2015  Olly Betts <olly@survex.com>

	* common/posixy_wrapper.cc: O_RDONLY, etc are better described as
	  "POSIX" than "ANSI".

Thu Apr 30 05:12:33 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
	  and talk about ISO C++ in configure messages.

Thu Apr 30 05:10:40 GMT 2015  Olly Betts <olly@survex.com>

	* .gitignore: Adjust for m4 subdirectory to only match files which
	  aren't in git.

Thu Apr 30 04:07:05 GMT 2015  Olly Betts <olly@survex.com>

	* xapian-config.in: Fix typo so cached result of test in
	  is_uninstalled() is actually used on subsequent calls.  Fixes #676,
	  reported (with patch) by Ryan Schmidt.

Wed Apr 29 03:00:32 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_database.cc,backends/glass/glass_database.cc:
	  Fix get_changeset_revisions() not to potentially read uninitialised
	  data if a changeset file is truncated.

Wed Apr 29 00:09:57 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_databasereplicator.cc: Use return value of
	  get_message_chunk() rather than ignoring it and repeating the check
	  in the caller.

Tue Apr 28 22:22:01 GMT 2015  Olly Betts <olly@survex.com>

	* bin/xapian-progsrv.cc: Fix comment typo.

Tue Apr 28 04:51:33 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
	  backends/glass/glass_cursor.cc,backends/glass/glass_table.cc:
	  Potentially increment the cursor version on cancel() or when the
	  database is reopened, and flag the current cursor version as used
	  when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
	* tests/api_backend.cc: Add regression test cursorbug1 based on
	  reproducer supplied by Germán.

Thu Apr 23 05:25:48 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
	  term doesn't occur where we want, we can advance "term 0" using
	  skip_to() based on where the term does next occur rather than just
	  calling next() on it.

Thu Apr 23 05:03:28 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/nearpostlist.cc: Be lazier about opening PositionList
	  objects, as that causes a read of all the data for that
	  positionlist.

Thu Apr 23 04:11:30 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/nearpostlist.cc: Make code for scanning window for duplicate
	  positions a little clearer.

Wed Apr 22 13:52:55 GMT 2015  Olly Betts <olly@tartarus.org>

	* matcher/nearpostlist.cc: Fix "/*" within comment.

Wed Apr 22 12:53:37 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
	  check.  The new implementation consistently requires the terms to
	  occur at different positions, and fixes some false negatives.
	* tests/api_query.cc: Add regression tests as loosenear1.

Mon Apr 20 12:53:04 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
	  OP_PHRASE check for loose phrases - the existing implementation was
	  buggy, giving both false positives and false negatives in rare
	  cases.  Fixes #653, reported by Jean-Francois Dockes.
	* tests/api_query.cc: Add regression test loosephrase1.

Thu Apr 16 06:51:31 GMT 2015  Olly Betts <olly@survex.com>

	* common/errno_to_string.cc: Fix to build with Sun's C++ compiler.

Thu Apr 16 06:43:40 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
	  existing value of the variable, not its name.

Wed Apr 15 11:36:40 GMT 2015  Olly Betts <olly@tartarus.org>

	* tests/api_wrdb.cc: Just #ifdef out the problematic part of the
	  adddoc5 testcase for clang.

Wed Apr 15 06:25:13 GMT 2015  Olly Betts <olly@survex.com>

	* common/serialise-double.cc: Fix bug in recent fix.
	* tests/unittest.cc: Extend serialise_double() to provide regression
	  test.

Thu Apr 09 00:40:24 GMT 2015  Olly Betts <olly@survex.com>

	* net/remoteconnection.h: Avoid compiler warning from clang in new
	  getaddrinfo() code.

Wed Apr 08 11:59:00 GMT 2015  Olly Betts <olly@survex.com>

	* common/serialise-double.cc: Add missing cast to unsigned char when
	  we check if the value will fit in the double type.  On machines with
	  IEEE-754 doubles (which is most current platforms), which change
	  makes no difference as we're checking if the value cast to a double
	  is > 255.<something> which is never the case.

Wed Apr 08 10:42:43 GMT 2015  Olly Betts <olly@survex.com>

	* common/serialise-double.cc: Avoid reading one byte past the end of
	  the serialised value.  In practice this was harmless on most
	  platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
	  and at least GCC's std::string keeps the buffer nul-terminated.
	  Reported by Germán M. Bravo in github PR#67.
	* tests/unittest.cc: Copy the serialised value to a temporary buffer
	  before calling unserialise_double() so that valgrind can detect if
	  we read one byte past the end.

Tue Apr 07 23:02:21 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/: Fix problems with get_unique_terms() on a modified
	  chert database.
	* tests/: Add more test coverage for get_unique_terms().

Mon Apr 06 00:22:22 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/backendmanager_multi.cc,
	  tests/harness/backendmanager_remote.cc: Cleaner code for checking
	  the backend subtype.

Mon Mar 30 03:22:29 GMT 2015  Olly Betts <olly@survex.com>

	* backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
	  descriptor which is >= 2.

Mon Mar 30 01:16:06 GMT 2015  Olly Betts <olly@survex.com>

	* api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions,
	  net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use
	  getaddrinfo() instead of gethostbyname(), as a step towards
	  IPv6 support (currently we still only look for IPv4 addresses).
	  See #374.

Sun Mar 29 03:56:12 GMT 2015  Olly Betts <olly@survex.com>

	* Makefile.am,docs/Makefile.am: Add missing quoting.

Mon Mar 23 06:33:39 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_table.cc,backends/glass/glass_table.cc,
	  common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
	  Avoid using fds < 3 for writable database tables, as it risks
	  corruption is some code in the same process tries to write to stdout
	  or stderr without realising it is closed.  (Partly addresses #651)

Sat Mar 21 22:11:53 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_cursor.cc: Add comment warning that B can't be
	  used in GlassCursor's destructor.

Tue Mar 17 03:51:00 GMT 2015  Olly Betts <olly@survex.com>

	* matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
	  picking the shorter position list for an exact phrase of two terms.
	  The difference this fix makes isn't dramatic, but can be measured
	  (at least with cachegrind).  Thanks to kbwt for spotting this.

Fri Mar 13 11:21:37 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_compact.cc: Make sure we open all the tables of
	  a database at the same revision when compacting.  (Fixes #649)

Thu Mar 12 04:09:07 GMT 2015  Olly Betts <olly@survex.com>

	* examples/xapian-metadata.cc: Add 'list' subcommand to list all the
	  metadata keys.

Mon Mar 09 03:08:14 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/constants.h,include/xapian/queryparser.h: Doxygen
	  comment wording tweaks.

Mon Mar 09 03:07:36 GMT 2015  Olly Betts <olly@survex.com>

	* include/xapian/constants.h,include/xapian/queryparser.h,
	  include/xapian/weight.h: Doxygen comment formatting tweaks.

Sat Mar 07 11:27:23 GMT 2015  Olly Betts <olly@tartarus.org>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
	  set of characters allowed in the start of a range to be anything
	  except for '(' and characters <= ' '.  This better matches what's
	  accepted for a range end (anything except for ')' and characters <=
	  ' ').  Reported by Jani Nikula.

Thu Mar 05 11:13:56 GMT 2015  Olly Betts <olly@survex.com>

	* backends/dbcheck.cc: When checking a single table, handle the
	  ".glass" extension on glass database tables, and use the extension
	  to guide the decision of which backend the table is from.

Thu Mar 05 04:38:21 GMT 2015  Olly Betts <olly@survex.com>

	* backends/dbcheck.cc: Don't hard-code string length as number.

Mon Feb 23 04:48:24 GMT 2015  Olly Betts <olly@survex.com>

	* api/emptypostlist.cc,api/emptypostlist.h: Fix handling of
	  OP_WILDCARD which expands to no terms when used under OP_SYNONYM.
	* tests/api_query.cc: Regression test dualprefixwildcard1.

Mon Feb 23 04:26:52 GMT 2015  Olly Betts <olly@survex.com>

	* tests/harness/testsuite.cc: Fix compilation issue with previous
	  change.

Thu Feb 19 08:04:17 GMT 2015  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc,
	  tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's
	  assign() or construct from substring rather than assigning or
	  initialising with the result of calling substr().

Tue Feb 17 18:31:25 GMT 2015  Olly Betts <olly@survex.com>

	* include/Makefile.mk: Ship new file from previous commit.

Tue Feb 17 05:14:02 GMT 2015  Olly Betts <olly@survex.com>

	* api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h,
	  include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc:
	  Put the list of stemmers into the vinfo struct and renamed it to
	  const_info.

Mon Feb 16 10:18:51 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac,languages/: Merge generate-allsnowballheaders script
	  into collate-sbl.

Mon Feb 16 04:15:46 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_check.cc: Fix xapian-check on a single table.

Fri Feb 13 10:18:45 GMT 2015  Olly Betts <olly@survex.com>

	* generate-exceptions: Note that the change to not negate
	  WSAGetLastError() values internally was backported for 1.2.20.

Fri Feb 13 05:57:13 GMT 2015  Olly Betts <olly@survex.com>

	* api/,common/remoteprotocol.h,exception_data.pm,
	  include/xapian/query.h,include/xapian/queryparser.h,matcher/,
	  queryparser/queryparser.lemony,tests/api_qpbackend.cc,
	  tests/queryparsertest.cc,weight/weightinternal.cc,
	  weight/weightinternal.h: Add new OP_WILDCARD query operator, which
	  expands wildcards lazily, so now we create the PostList tree for a
	  wildcard directly, rather than creating an intermediate Query tree.
	  See ticket#48.

Wed Feb 11 22:45:26 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_table.cc: mid_point() should never fail to find
	  a split point, but just in case it does, return a usable answer.

Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>

	* backends/chert/chert_table.cc: mid_point() should never fail to find
	  a split point, but just in case it does, return a usable answer.

Mon Feb 09 02:56:54 GMT 2015  Olly Betts <olly@survex.com>

	* api/queryinternal.cc,matcher/localsubmatch.cc,
	  matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc:
	  Don't convert an unweighted term which indexes all docs to an all
	  docs postlist if we need positional data for it.

Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>

	* configure.ac: Check for declaration of fdatasync() first, as OS X
	  has a dummy implementation in the library which is not prototyped in
	  any header.  Reported by Vlad Shablinsky.

Fri Jan 09 05:19:20 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_freelist.cc: Fix freelist handling to allow for
	  the newly loaded first block of the freelist being already used up.

Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>

	* common/debuglog.cc: Add '#include "errno_to_string.h"'.

Thu Jan 08 05:59:01 GMT 2015  Olly Betts <olly@survex.com>

	* backends/glass/glass_compact.cc: Fix compaction of position tables
	  for the change in key format.

Tue Jan 06 02:22:37 GMT 2015  Olly Betts <olly@survex.com>

	* HACKING: Now using automake 1.15 and libtool 2.4.4.
