Revision history for Perl extension Search::Xapian.

0.9.9.1  Mon Dec 11 06:08:57 2006
	[Changes contributed by Olly Betts]
	- Fix typo in BoolWeight documentation.
	- Fix BoolWeight default constructor (broken by changes in 0.9.9.0).
	- Wrap TradWeight class.

0.9.9.0  Mon Nov 09 02:31:09 2006
	[Changes contributed by Olly Betts]
	- Fix the BM25Weight constructors.
	- Fix problem with isa not being known in Xapian::PostingIterator.
	- Wrap the newly implemented transaction API to WritableDatabase.

0.9.6.0  Sun Jun 04 01:14:00 2006
	[Changes contributed by Olly Betts]
	- Alex's CPAN email address bounces, so change occurences of it
	  to direct users to the xapian-discuss mailing list for now.
	- Correct several occurrences of "Xapian::Search::" to
	  "Search::Xapian::".
	- Wrap Enquire::set_docid_order (and document set_sort_forward
	  as deprecated.)
	- Wrap new method Enquire::set_sort_by_relevance_then_value.
	- Document Enquire::set_sort_by_* (and document set_sorting as
	  deprecated.)
	- Wrap the BM25Weight constructor which takes parameters
	  (the default one is much less useful, since Xapian defaults
	  to BM25Weight with the default parameters anyway!)
	- Wrap Enquire::set_sort_by_value_then_relevance()
	- Wrap the optional flags parameter to QueryParser::parse_query().
	- Disable the wrappers for the transaction API to WritableDatabase
	  - it's not implemented by any database backend yet, so it's not
	  useful to wrap it at present.
	- Fix PostingIterator != and == to handle both other PostingIterators
	  and numbers like PositionIterator does.
	- Wrap constants FLAG_BOOLEAN_ANY_CASE and FLAG_WILDCARD.
	- Fix typos and other problems in the POD documentation.  Document all
	  constants.
	- Update the list of unwrapped classes and methods.
	- Update the version in the README file.  Add code to Makefile.PL
	  to check that the various references to the current version are
	  all up-to-date.
	- Makefile.PL now refuses to proceed if it can't find Xapian.
	- Makefile.PL now checks that the Xapian version and Search::Xapian
	  version match, and if not issues a non-fatal warning (for now).
	- Makefile.PL now allows building against an uninstalled xapian-core
	  tree (which is useful when doing development work on Search::Xapian
	  itself).
	- Add feature test for Document::termlist_begin().
	[Changes contributed by Tim Brody]
	- Add MANIFEST.SKIP to allow "make manifest".

0.9.2.4  Fri Feb 15 14:59:23 2006
	[Changes contributed by Olly Betts and Tim Brody]
	- Catch C++ exceptions from QueryParser and rethrow them as Perl
	  exceptions.
	- Makefile.PL now checks environmental variable CXX for the C++
	  compiler to use.
	- Fixed cross-wired methods inside Enquire::get_matching_terms_begin
	  and Enquire::get_matching_terms_end (thanks to Arne Georg Gleditsch
	  for reporting this).
	- $q = Query(op, @termlist) now handles terms with embedded zero bytes.
	- Removed Query::clone() and = overload - they would die if ever used
	  and aren't useful since a Query object is essentially immutable once
	  constructed.
	- Removed MSet::max_size - C++ only has it so MSet works as an STL
	  container.
	- RSet::size() returns doccount not termcount (though they're currently
	  the same type underneath so this is an aesthetic internal change).
	- Wrap most of the changed Xapian::QueryParser API.
	- Wrap new SimpleStopper class (with test cases).
	- Added PerlStopper class which can be subclassed in Perl to implement
	  your own stop word algorithm.
	- Wrap new Enquire sorting API methods.
	- Updated list of unwrapped classes and methods in documentation.
	- Make != and == work for comparing iterators (as well as ne and eq).

0.9.2.3  Thu Feb 16 16:57:43 2006
	[Changes contributed by Benjamin Smith]
	- Corrected module names advertised in the POD.
	- Added new_term method to Search:Xapian::Query.
	- Fixed the package statement in BoolWeight.pm.
	- Removed useless prototypes in Search::Xapian::Query.
	- some extraneous blank lines removed (from >1 lines to just 1 line)
	[Changes contributed by Peter Karman]
	- Added set_sort_by_value method to Search::Xapian::Enquire
	[Changes contributed by Marcus Ramberg]
	- Fixed get_term_end in Search::Xapian::Query
	- Added set_stemmer in Search::Xapian::QueryParser
	- Added get_terms in Search::Xapian::Query

0.9.2.2  Tue Sep  6 16:48:30 2005
	[Changes contributed by Marcus Ramberg]
	- Added a lot of documentation.
	- Added support for setting weighting schemes in ::Enquire
	- Added add_prefix and add_boolean_prefix to QueryParser.
	- Added support for flags to parse_query
	- Added basic exception handling for QueryParser.

0.9.2.1  Mon Aug  8 12:24:34 2005
	- Let perl know Search::Xapian::WritableDatabase is a subclass of
	  Search::Xapian::Database by adding the latter to the former's @INC.

0.9.2.0  Mon Aug  8 12:08:25 2005
	- Removed 'set_window', 'set_cutoff', 'set_elite_set_size' and
	  'set_length' methods from Xapian::Query class
	- Switched Search::Xapian::Stopper from using now abstract
	  Xapian::Stopper class to Xapian::SimpleStopper subclass.

0.8.4.0  Wed Dec  8 03:36:13 2004
	[Changes contributed by Olly Betts]
	- Changed Database and WritableDatabase constructors to use the new C++
	  constructors instead of the factory functions.
	- Eliminated GNU-make-ism from generated Makefile.
	- Added new test "exception.t" to test C++ -> Perl exception handling.

0.8.3.1  Tue Nov  3 18:25:02 2004
	[Changes contributed by Olly Betts]
	- Fixed handling of optional parameters in Document::add_posting(),
	  Document::add_term(), Document::remove_posting(),
	  Enquire::set_cutoff(), Enquire::set_sorting(), and
	  QueryParser::set_stemming_options().  Added test cases for
	  the first three.
	- Fixed wrapping of Enquire::get_matching_terms_begin() and
	  get_matching_terms_end().
	- Wrap versions of RSet::add_document(), RSet::remove_document(), and
	  RSet::contains() which take MSetIterator instead of a docid.

0.8.3.0  Tue Oct 27 20:32:36 2004
	[Changes contributed by Olly Betts]
	- Fixed exporting of DB_* constants.
	- Makefile.PL now checks environmental variable XAPIAN_CONFIG.
	- Wrap missing Database/WritableDatabase methods: get_lastdocid(),
	  positionlist_begin(), and positionlist_end().
	- Added WritableDatabase->new() which creates an inmemory database
	- Wrap missing WritableDatabase methods: delete_document_by_term(),
	  and replace_document_by_term().
	- Wrap missing Document methods: remove_value(), and clear_values().
	- Fixed usage message if MSet::fetch called with > 3 parameters.
	- Fixed MSet::convert_to_percent() to actually return a value!
	- Wrap missing MSetIterator methods: --, get_collapse_count().
	- Removed bogus += methods from all iterators (these actually ignored
	  the second argument and always incremented once).
	- Cleaned up wrapping of ++ methods for all iterators.
	- Wrap missing ESet methods: back().
	- Fixed wrapping of ESetIterator methods: ==, !=.
	- Wrap 3 argument form of Enquire::set_sorting().
	- Wrap missing method PositionIterator::get_description().
	- Fixed return value for Query::set_length().
	- Wrap missing method Query::empty().
	- Second argument to QueryParser::set_stemming_options() may now be
	  omitted.
	- Wrap ValueIterator class.
	- Added tests of many of the new and fixed methods.
	- Documentation now lists unwrapped classes and methods.

0.8.0.4  Wed Jun  9 12:08:54 2004
	[Changes contributed by Tim Brody]
	- Wrappers for ::QueryParser and ::Stopper

0.8.0.3  Thu Jun  3 13:14:39 2004
	- Makefile.PL now uses xapian-config to determine
	  library/include path
	[Changes contributed by Olly Betts]
	- Wrapped Database::postlist_begin() and postlist_end()
	- Database::get_doccount(), get_avlength(), and get_termfreq()
	  now return values correctly
	- WritableDatabase::delete_document() and replace_document()
	  now handle exceptions
	- Wrapped all methods which WritableDatabase inherits from
	  Database
	- Fixed 2 warnings when building with GCC 3.3
	- Added more test cases to index.t
	- Corrected typemap - weight is a floating point value; other
	  types are unsigned
	- Wrapped Stem::get_description()

0.8.0.2  Thu May 13 17:36:45 2004
	- More error handling for Query and Document classes
	- Fully wrapped PositionIterator and PostingIterator
	- Optional arguments now supported for most methods

0.8.0.1  Wed May 12 18:58:46 2004
	- Improved Query class which uses new C++ constructor methods
	  to allow the combination of an unlimited number of terms
	- More verbose tests, covering all query operations

0.8.0.0  Tue May  4 16:06:41 2004
	- New version numbering scheme chases xapian version
	- Added overloaded function for TermIterator class
	- Wrapped all methods for Xapian::Enquire (except
	  set_weighting_scheme, which is passed a Weight object - a
	  class for which wrappers do not yet exist).
	- Replaced AUTOLOAD method designed to reduce code redundancy
	  in Enquire.pm with two separate methods (it was preventing
	  attempts to call unwrapped methods from throwing errors).
	[Changes contributed by Olly Betts]
	- Converted to use xapian.h and Xapian:: classnames
	- add_term is the new preferred name for add_term_nopos
	- Added stubs for PostingIterator and PositionIterator
	- String values are now passed in a zero-byte safe way
	- OM_DB_* renamed to Search::Xapian::DB_*
	- Now requires Xapian at least version 0.8.0
	- Search::Xapian::Database::allterms_end() fixed (was returning
	  the same as Search::Xapian::Database::allterms_begin()

0.05  Tue Jan 14 01:43:45 2003
	- OM_DB_CREATE_OR_* symbols wrapped
	- Extra tests for argument validity for Search::Xapian::Query
	  constructor
	- Makefile.PL now prints where it has located om/om.h and
	  libxapian.so files
	[Changes contributed by Olly Betts]
	- Most methods wrapped for OmESet, OmESetIterator, OmRSet
	- OmMSet::empty() returns bool, not om_weight
	- Fixed eq and ne for Search::Xapian::MSetIterator
	- Fixed Search::Xapian::MSet::convert_to_percent()
	- Moved #include-s to top of Xapian.xs to fix compilation
	  problems
	- Added 14 new test cases

0.04  Thu Dec 26 18:17:54 2002
	- Convenience method: $enq->set_query( $op, @terms ... );
	  now autogenerates a query object with the arguments passed
	  if the first of them is not itself a query object
	- Convenience method: $enq = $db->enquire( [$query] );
	  which autogenerates Enquire object, calling set_query() if
	  it is passed a query with which to do so
	- Added tests for tied MSet class
	- Added $enquire->matches() method returning tied MSet object
	- Removed deprecated OmSettings class

0.03  Fri Nov  8 16:53:22 2002
	- All methods wrapped for OmDatabase, OmWritableDatabase,
	  OmDocument, OmEnquire, OmMSet, OmMSetIterator, OmQuery and
	  OmSettings classes
	- Overload pragma: copy constructor for all classes that
	  support copying
	- Overload pragma: '++' for MatchSetIterator
	- Interface to all overloaded C++ constructors
	- Mapping for OmQuery::op enumerated type to exported symbols
	- Removed non-functioning 'MatchSet' method

0.02  Sun Sep 15 19:48:32 2002
	- Added bindings to create databases and index documents
	- Added error handling for Database constructors
	- 3 test scripts; create, index and search
	- Fixed MatchSetIterator->get_docid returning wrong value
	- Fixed string typemap

0.01  Tue Sep 10 16:03:23 2002
	- original version; created by h2xs 1.21 with options
		-x -O -n Search::Xapian -A simplesearch.h