Revision history for Perl extension Search::Xapian.

1.0.2.0  Thu Jul 05 15:44:03 BST 2007
	[Changes contributed by Olly Betts]
	- Disable NumberValueRangeProcessor tests, which need updating.

1.0.1.0  Sat Jun 16 00:49:33 BST 2007
	[Changes contributed by Olly Betts]
	- Wrap new optional prefix argument to Database::allterms_begin() and
	  Database::allterms_end().
	- Test Database::allterms_begin() in t/search.t.
	- Increment the reference counts of Stopper and ValueRangeProcessor
	  objects passed to methods of QueryParser and TermGenerator.  This
	  means we'll leak them, but that's better than having them garbage
	  collected while the C++ code is still using them.  This will be
	  fixed properly in a future release.

1.0.0.0  Sat May 26 00:41:07 BST 2007
	[Changes contributed by Olly Betts]
	- Wrap new TermGenerator class.
	- Wrap new QueryParser flags FLAG_PURE_NOT and FLAG_PARTIAL.
 	- Wrap new Query op OP_VALUE_RANGE and associated constructor.
	- Wrap ValueRangeProcessor and subclasses, and
	  QueryParser::add_valuerangeprocessor().
	- Removed wrappers for deprecated features which have now been removed
	  from the C++ API.
	- Fix small memory leaks in various methods when the C++ method throws
	  an exception.
	- MSet::convert_to_percentage() now actually works (and added feature
	  tests to search.t to make sure it keeps working).
	- Test WritableDatabase::add_value() in t/index.t.
	- Test OP_VALUE_RANGE in new t/valuerange.t.
	- Test ValueRangeProcessor and subclasses in t/parser.t.
	- More tests for ESetIterator.
	- Feature tests for new TermGenerator class.
	- Add "make check" as an alias for "make test".

0.9.10.0  Tue Mar 06 02:27:02 2007
	[Changes contributed by Rusty Conover]
	- Wrap MatchDecider and make it usable with Enquire::get_mset()
	- Wrap check_at_least parameter of Enquire::get_mset()
	[Changes contributed by Olly Betts]
	- Wrap rset parameter of Enquire::get_mset()
	- Make all get_mset parameter combinations available via
	  Enquire::matches()
	- Add tests for check_at_least and rset parameters of
	  Enquire::get_mset()
	- Avoid warning from MakeMaker when generating Makefile for linking 
	  against an uninstalled xapian-core tree.
	- Correct several errors in the pod documentation for
	  Search::Xapian::PositionIterator.

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 occurrences 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

