Drop explicit std:: from string and iostream stuff
[xapian.git] / search-xapian / Changes
blob9db5aeb8663eba18fee8ca0f5c2fba9b32ecc257
1 Revision history for Perl extension Search::Xapian.
3 1.2.21.1
4         [Changes contributed by Val Rosca, updated by Andreas Marienborg]
5         - Wrap MatchSpy and ValueCountMatchSpy classes
6         - Wrap Enquire's add_matchspy and clear_matchspies methods, keeping
7           track of references to Perl MatchSpy objects to avoid leaks.
8         - t/facets.t
9         [Changes contributed by Olly Betts]
10         - Fix infinite loop trying to build with CPANPLUS (fixes #692, reported
11           by Andreas Vögele).
12         - t/termgenerator.t: If a memory leak is detected, report how many
13           objects were allocated before and after the test.
14         - Allow for "_gitN" tag on snapshots when checking for version
15           compatibility with xapian-core.
16         - META.yml: Fix specified licence to be a valid name ('perl' instead of
17           'perl_5').
19 1.2.21.0  Wed May 20 14:34:41 UTC 2015
20         [Changes contributed by Olly Betts]
21         - Support passing collapse_max argument to Enquire::set_collapse_key().
22           Fixes #669, reported by Felix Ostmann.
23         - Add missing 'my' to testcases.
24         - Add 'use strict' to all testcases.
25         - Add a "LICENSE" section to the main POD.
26         - META.yml: Specify licence and minimum Perl version.
27         - Fix t/symboltest.t to work when built against an installed version
28           of xapian-core (broken by changes in 1.2.20.0).
29         - Fix "Filehandle STDOUT reopened as M only for input" warning from
30           running "perl Makefile.PL".
32 1.2.20.0  Wed Mar  4 00:30:08 UTC 2015
33         [Changes contributed by Olly Betts]
34         - Remove TODO for wrapping MatchAll and MatchNothing - these were added
35           in 1.2.13.0.  Reported by Will Crawford.
36         - Wrap Xapian::BAD_VALUENO.
37         - Fix "make test" to use the Xapian.so we just built, rather than an
38           installed version.
40 1.2.19.0  Tue Oct 21 00:35:35 UTC 2014
41         [Changes contributed by Dmitry Karasik]
42         - Fix deliberate leaks in QueryParser::add_valuerangeprocessor() and
43           QueryParser::set_stopper() by tracking object ownership properly.
44           (ticket#647)
45         [Changes contributed by Olly Betts]
46         - Fix deliberate leaks in TermGenerator::set_stopper() and Enquire
47           methods which allow specifying a Sorter object similarly.
49 1.2.18.0  Sun Jun 22 06:39:55 UTC 2014
50         [Changes contributed by Olly Betts]
51         - README: Add link to "Getting Started with Xapian".
52         - Mass whitespace clean-up.
54 1.2.17.0  Wed Jan 29 00:00:00 UTC 2014
55         - No change except for bumping the version to indicate compatibility
56           with Xapian 1.2.17.
58 1.2.16.0  Wed Dec  4 00:00:00 UTC 2013
59         [Changes contributed by Olly Betts]
60         - t/symbol-test/Makefile.PL: Pass $CPPFLAGS and $CXXFLAGS from the
61           environment through to the sub-build, fixing symbol-test.t failure
62           when built with CPPFLAGS=-D_GLIBCXX_DEBUG.
64 1.2.15.0  Tue Apr 16 23:43:24 UTC 2013
65         [Changes contributed by Olly Betts]
66         - Remove superfluous duplicate method wrappers from WritableDatabase
67           for methods wrapped in Database parent class.
68         - Improve test coverage.
69         - Fix minor typo in POD documentation.
71 1.2.14.0  Thu Mar 14 23:12:38 UTC 2013
72         [Changes contributed by Olly Betts]
73         - Perl 5.16.1 adds a '.' after "at foo line 123" so adjust regexp in
74           testcase t/10query.t to allow an optional '.' there.  (ticket#610)
76 1.2.13.0  Wed Jan  9 11:19:20 UTC 2013
77         [Changes contributed by Adam Sjøgren]
78         - Wrap 2 and 3 parameter forms of StringValueRangeProcessor
79           constructor so prefixes and suffixes can be specified.
80           (ticket#607)
81         [Changes contributed by Olly Betts]
82         - Wrap the zero argument Query constructor.
83         - Add wrappers for Query::MatchAll and Query::MatchNothing.
84         - Don't pointlessly reinitialise default std::string parameters to an
85           empty string (performance and code size micro-optimisation).
87 1.2.12.0  Wed Jun 27 12:17:26 UTC 2012
88         - No change except for bumping the version to indicate compatibility
89           with Xapian 1.2.12.
91 1.2.11.0  Tue Jun 26 12:13:39 UTC 2012
92         - No change except for bumping the version to indicate compatibility
93           with Xapian 1.2.11.
95 1.2.10.0  Wed May  9 10:45:51 UTC 2012
96         [Changes contributed by Olly Betts]
97         - Wrap Database::close() (was previously only wrapped for
98           WritableDatabase).
99         - Suppress warnings about "not a known MakeMaker parameter name" in a
100           way which also works for newer versions of Perl.
102 1.2.9.0  Thu Mar  8 07:19:27 UTC 2012
103         [Changes contributed by Olly Betts]
104         - Wrap Document::get_docid() method.
105         - Fix "Use of qw(...) as parentheses is deprecated" warnings in tests
106           with Perl 5.14.
107         - Improve test coverage of TermGenerator (backported from trunk).
109 1.2.8.0  Tue Dec 13 14:45:07 UTC 2011
110         [Changes contributed by Olly Betts]
111         - Add note to README about documentation, pointing out that the docs
112           for Xapian are useful.
113         - Improve note in README about moving to SWIG-generated wrappers in the
114           next release series.
116 1.2.7.0  Wed Aug 10 06:14:53 UTC 2011
117         [Changes contributed by Olly Betts]
118         - Note in README that the hand-coded XS wrappers are heading for
119           retirement.
121 1.2.6.0  Sun Jun 12 11:55:42 UTC 2011
122         [Changes contributed by Adam Sjøgren]
123         - Wrap new method QueryParser::set_max_wildcard_expansion().
124           (ticket#350)
126 1.2.5.0  Mon Apr  4 14:00:38 UTC 2011
127         [Changes contributed by Olly Betts]
128         - simpleindex.pl - use 'while' to loop over input lines - 'foreach'
129           reads them all in and then loops over them, while reads and processes
130           line by line.
131         - Add '1;' to the end of t/symbol-test/SymbolTest.pm.
133 1.2.4.0  Thu Dec 19 12:41:49 UTC 2010
134         [Changes contributed by Olly Betts]
135         - Xapian exceptions were still being thrown as strings in Perl in
136           some cases.  Now all cases throw a subclass of Search::Xapian::Error.
137           For compatibility with code which expects the previous behaviour
138           these subclasses auto-stringify to the string which would have been
139           thrown before.
140         - Make sure all Perl files have 'use strict;' and 'use warnings;'.
141         - Remove superfluous 'use Carp;' from generated error classes.
142         - t/document.t,t/index.t,t/search.t: Test TermIterator::get_termname().
143         - Makefile.PL now looks for CXXFLAGS and CPPFLAGS passed on the
144           command line, and adds them to CCFLAGS in the generated Makefile.
145         [Changes contributed by Tim Brody]
146         - New testcase t/10query.t.
147         [Changes contributed by David F. Skoll and Dave O'Neill]
148         - Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
149           still work when multiple Perl modules which link to xapian-core are
150           loaded.  (ticket#522)
152 1.2.3.0  Tue Aug 24 06:03:12 UTC 2010
153         [Changes contributed by Tim Brody]
154         - Allow user-specified ExpandDecider to be specified to get_eset().
155         [Changes contributed by Jess Robinson]
156         - Fix bogus "can't find libtool" error when rerunning Makefile.PL and
157           XAPIAN_CONFIG isn't explicitly specified.
159 1.2.2.0  Sun Jun 27 03:31:36 UTC 2010
160         - No change except for bumping the version to indicate compatibility
161           with Xapian 1.2.2.
163 1.2.1.0  Tue Jun 22 14:48:00 UTC 2010
164         - No change except for bumping the version to indicate compatibility
165           with Xapian 1.2.1.
167 1.2.0.0  Wed Apr 28 10:44:15 UTC 2010
168         [This release includes all changes from 1.0.20 which are relevant.]
170 1.1.5.0  Thu Apr 15 04:23:16 UTC 2010
171         [This release includes all changes from 1.0.19 which are relevant.]
173 1.1.4.0  Mon Feb 15 14:08:51 UTC 2010
174         [This release includes all changes from 1.0.18 which are relevant.]
175         [Changes contributed by Henry Combrinck]
176         - Add wrappers for the spelling correction functionality (ticket#420).
177         - Add wrapper for Database::close() (ticket#422).
179 1.1.3.0  Wed Nov 18 11:00:23 UTC 2009
180         [This release includes all changes from 1.0.15-17 which are relevant.]
181         [Changes contributed by Olly Betts]
182         - Wrap new Xapian::SerialisationError class.
183         - Ship simplematchdecider.pl example, which was added in 1.0.13.1 but
184           accidentally not added to 1.1.1.0.
185         - Work around odd rerunning of Makefile.PL by MakeMaker when srcdir !=
186           builddir.
188 1.1.2.0  Thu Jul 23 04:14:29 UTC 2009
189         [This release includes all changes from 1.0.14 which are relevant.]
191 1.1.1.0  Tue Jun  9 13:22:07 UTC 2009
192         [Changes contributed by Olly Betts]
193         - Add Search::Xapian::MSet::items() method which returns an array
194           tied to the MSet (much like Search::Xapian::Enquire::matches(), but
195           you get easy access to the MSet object itself too).
196         - Add the ability to tie an ESet to an array and a new
197           Search::Xapian::ESet::items() method to make use of it.
198         - Add new translated version of the simple examples from the Python
199           bindings.
200         - Add more fully featured examples: full-indexer.pl and
201           full-searcher.pl.
202         - Add better test coverage for MatchDecider.
203         - Catch C++ exceptions from methods of Document and rethrow as Perl
204           exceptions (ticket#284).
205         - Add dependency to regenerate Makefile if Xapian.pm changes (since the
206           former contains a version number extracted from the latter).
208 1.1.0.0  Thu Apr 22 13:56:31 GMT 2009
209         [Changes contributed by Andreas Marienborg and Olly Betts]
210         - Xapian C++ exceptions classes are now wrapped and C++ exceptions
211           are caught and rethrown in Perl as the wrapped classes.
212         [Changes contributed by Olly Betts]
213         - Xapian-core now uses libtool 2.2.x, which has required changes to
214           the how we cram libtool into the MakeMaker-generated Makefile.
215           However, there's still a wrinkle in this change - you can't currently
216           run "make install" in a tree configured to use an uninstalled
217           xapian-core.
219 1.0.23.0  Fri Jan 14 04:18:24 UTC 2011
220         [Changes contributed by David F. Skoll and Dave O'Neill]
221         - Tell DynaLoader to load the module with RTLD_GLOBAL so exceptions
222           still work when multiple Perl modules which link to xapian-core are
223           loaded (ticket#522).
225 1.0.22.0  Sun Oct  3 12:36:44 UTC 2010
226         [Changes contributed by Jess Robinson]
227         - Fix bogus "can't find libtool" error when rerunning Makefile.PL and
228           XAPIAN_CONFIG isn't explicitly specified.
229         [Changes contributed by Tim Brody]
230         - New testcase t/10query.t.
232 1.0.21.0  Fri Jun 18 16:41:32 UTC 2010
233         - No change except for bumping the version to indicate compatibility
234           with Xapian 1.0.21.
236 1.0.20.0  Tue Apr 27 12:35:35 UTC 2010
237         [Changes contributed by Olly Betts]
238         - Avoid importing isa from UNIVERSAL to fix Perl 5.12 deprecation
239           warning (Debian bug#578559).
240         - Fix testcase t/04functions.t to work with Perl compiled with
241           -Duselongdouble (Debian bug#578558).
243 1.0.19.0  Thu Apr 15 03:55:04 UTC 2010
244         [Changes contributed by Olly Betts]
245         - Wrap Document::add_boolean_term() (new in C++ API in 1.0.18).
246         - Add test coverage for Document::remove_term().
248 1.0.18.0  Sun Feb 14 10:22:53 UTC 2010
249         [Changes contributed by Henry Combrinck]
250         - Add wrappers for the spelling correction functionality (ticket#420).
252 1.0.17.0  Wed Nov 18 02:02:41 UTC 2009
253         [Changes contributed by Olly Betts]
254         - Fix to build with compilers other than GCC by disabling Perl's
255           #define for bool.  (ticket#404)
257 1.0.16.0  Thu Sep 10 06:26:08 UTC 2009
258         [Changes contributed by Olly Betts]
259         - Improve documentation of QueryParser::set_default_op() and
260           QueryParser::get_default_op().
261         - examples/: Use MSet::items() (new in 1.0.13.1).
262         - examples/simpleexpand.pl: Remove debug print statement left in by
263           accident.
264         - Add dependency to regenerate Makefile if Xapian.pm changes (since the
265           former contains a version number extracted from the latter).
266         - Add better test coverage for MatchDecider.
268 1.0.15.0  Wed Aug 26 14:59:31 GMT 2009
269         [Changes contributed by Frank Lichtenheld]
270         - Run POD coverage tests if TEST_POD_COVERAGE is set rather than
271           TEST_POD so that the other POD tests can easily be enabled without
272           enabling the coverage tests.
274 1.0.14.0  Tue Jul 21 16:10:19 GMT 2009
275         [Changes contributed by Olly Betts]
276         - Add handling of C++ exceptions from methods of Document (ticket#284).
278 1.0.13.1  Tue May 26 13:51:18 GMT 2009
279         [Changes contributed by Olly Betts]
280         - Deprecate Search::Xapian::MSet::matches() and make it issue a
281           warning.  Please use Search::Xapian::MSet::items() instead.
282         - Add another translated example: simplematchdecider.pl
284 1.0.13.0  Sat May 23 15:10:39 GMT 2009
285         [Changes contributed by Olly Betts]
286         - Add Search::Xapian::MSet::matches() method which returns an array
287           tied to the MSet (much like Search::Xapian::Enquire::matches(), but
288           you get access to the MSet object itself).
289         - Add new translated version of the simple examples from the Python
290           bindings.
291         - Add more fully featured examples: full-indexer.pl and
292           full-searcher.pl.
294 1.0.12.0  Sun Apr 19 11:18:04 GMT 2009
295         [Changes contributed by Olly Betts]
296         - Add handling of exceptions from Database::get_metadata() and methods
297           of Enquire which might throw DatabaseModifiedError to address
298           situation reported in ticket#284.
299         - Skip thread.t testcase if Perl is new enough, but wasn't built with
300           thread support (reported by Felix Antonius Wilhelm Ostmann).
301         - Fix "fake VPATH" mode to work better.
302         [Changes contributed by Kosei Moriyama]
303         - Add test coverage for more WritableDatabase methods.
305 1.0.11.0  Sun Mar 15 12:53:20 GMT 2009
306         [Changes contributed by Olly Betts]
307         - Wrap the new FLAG_DEFAULT constant which gives the QueryParser
308           default flag settings, allowing you to easily add flags to the
309           default ones.
311 1.0.10.0  Tue Dec 23 09:18:21 GMT 2008
312         [Changes contributed by Olly Betts]
313         - Makefile.PL now supports a "fake VPATH" mode, to better support for
314           building from SVN.  If you run "perl /path/to/Makefile.PL" then
315           Makefile.PL will run Makefile.PL as nomal in /path/to, and then
316           create a stub Makefile in the current directory which forwards any
317           make invocations.
319 1.0.9.0  Fri Oct 31 23:27:06 GMT 2008
320         [Changes contributed by Olly Betts]
321         - Wrap Search::Xapian::get_major_version(), get_minor_version(),
322           get_revision(), sortable_serialise(), and sortable_unserialise().
323         - Reject xapian-core < 1.0 with an error rather than just a warning.
325 1.0.8.0  Thu Sep  4 05:38:22 GMT 2008
326         - No change except for bumping the version to indicate compatibility
327           with Xapian 1.0.8.
329 1.0.7.0  Thu Jul 17 00:18:17 GMT 2008
330         [Changes contributed by Olly Betts]
331         - Handle exceptions from Xapian::Stem constructor (reported by Joey
332           Hess in Debian BTS #486138).
333         - Fix testcase in t/parser.t for improved behaviour of xapian-core.
334         - Actually fill in @Search::Xapian::DB_NAMES.
335         - Search::Xapian::Query->new(<OP>, <TERMS>) now allows integers and
336           numbers as terms - these are coerced to strings as with standard
337           Perl parameter passing.
339 1.0.6.0  Sun Mar 30 10:20:58 GMT 2008
340         [Changes contributed by Olly Betts]
341         - If the Search::Xapian and xapian-config versions don't match, and
342           $ENV{AUTOMATED_TESTING} is true, then we need to unlink Makefile as
343           well as exiting with status 0.
344         - Mention QueryParser flags in POD: FLAG_SPELLING_CORRECTION,
345           FLAG_SYNONYM, FLAG_AUTO_SYNONYMS, and FLAG_AUTO_MULTIWORD_SYNONYMS.
346         - Removed no-op method Enquire::register_match_decider() which is now
347           deprecated in C++.  It doesn't do anything, and never has, so if
348           you were calling it, you can just remove the call!
349         - Improve POD for Enquire::get_eset().
350         - Increment the reference counts of Sorter objects passed to methods
351           of Enquire.  This means we'll leak them, but that's better than
352           having them garbage collected while the C++ code is still using them.
353           This will be fixed properly in a future release.
354         - You can now construct a Query from a mixed list of Query objects and
355           strings (previously the list had to be all Query objects or all
356           strings).
357         - Don't accept values with a leading '-' or '+' for OP_* constants -
358           users should be using the defined constants for these which are all
359           positive without an explicit '+'.
360         - Wrap OP_SCALE_WEIGHT, OP_VALUE_GE, OP_VALUE_LE, and the corresponding
361           Query constructor overloads.
362         [Changes contributed by Matthew Somerville]
363         - Wrap optional prefix argument to WritableDatabase::allterms_begin()
364           and WritableDatabase::allterms_end().
366 1.0.5.0  Wed Jan 02 01:07:28 GMT 2008
367         [Changes contributed by Olly Betts]
368         - Suppress MakeMaker warnings if CXX and/or XAPIAN_CONFIG are
369           specified.
370         - If CXX and/or XAPIAN_CONFIG are specified in the environment, we
371           make sure that they are preserved in Makefile.PL is rerun.
372         - If xapian-config isn't found, Makefile.PL now exits with status 0
373           which CPAN tester script understand to mean "missing dependencies".
374         - If the Search::Xapian and xapian-config versions don't match, the
375           usual warning is replaced by an error and exit with status 0 if
376           $ENV{AUTOMATED_TESTING} is true.
377         - Emphasise in the README and POD that bug reports should be sent to
378           the xapian-discuss mailing list or Xapian bug tracker, not to the
379           CPAN bug tracker or individual authors.
380         - "use Exporter 'import';" rather than inheriting from Exporter to
381           avoid pulling other symbols in.
382         - Rejig the constructors of the ValueRangeProcessor subclasses so that
383           they should work with Perl 5.6 too.
384         - Wrap MultiValueSorter and Enquire::set_sort_by_key(), etc.
385         - Minor documentation improvements.
386         - Enhance t/parser.t to check results of NumberValueRangeProcessor.
387         - Fix QueryParser::parse_query() to catch Xapian::Error rather than
388           const char * - it stopped throwing const char * in Xapian 1.0.0
389           (bug#221).
390         - Wrap TermGenerator methods: set_database() and set_flags().
391         [Changes contributed by Rusty Conover]
392         - Wrap QueryParser flags: FLAG_SPELLING_CORRECTION, FLAG_SYNONYM,
393           FLAG_AUTO_SYNONYMS, and FLAG_AUTO_MULTIWORD_SYNONYMS.
394         - Wrap WritableDatabase methods: add_synonym(), remove_synonym(), and
395           clear_synonyms().
396         - Wrap TermGenerator::FLAG_SPELLING and TermGenerator::set_database().
398 1.0.4.0  Wed Oct 31 23:18:02 GMT 2007
399         [Changes contributed by Olly Betts]
400         - Add all the POD pages to the "see also" on the main POD page.
401         - Fix typos and improve wording throughout the POD documentation.
402         - Add POD documentation for ValueIterator.
403         - Makefile.PL now accepts XAPIAN_CONFIG and CXX on the command line
404           (like autoconf configure scripts) and values specified here are
405           persistent across automatic reruns, so promote this usage over
406           environmental variables.
407         - Compiling with GCC 4.2 gives many "deprecated conversion from string
408           constant to 'char*'" warnings.  Most are from XS-generated code, but
409           fix the small number which aren't.
410         - Make Search::Xapian work with 'use threads;' by adding 'sub
411           CLONE_SKIP { 1 }' to all the classes (this requires Perl >= 5.8.7
412           to work, but has no effect on older versions).  Using CLONE_SKIP
413           means that Xapian objects aren't copied to subthreads, so the wrapped
414           C++ objects don't get destroyed more than once.  Thanks to Ron Kass
415           for suggesting this change.
416         - Add testcase thread.t to check that threaded use works as expected
417           under Perl 5.8.7.
418         - BoolWeight objects are now blessed as class BoolWeight rather than
419           class Weight.
420         - Fix test parser.t to match the fixed behaviour of STEM_ALL.
421         - Cleaned up unnecessary 'require Exporter;' and 'use Carp;'.
422         - Move the POD documentation to the end of the pm files and insert
423           __END__ before them.
424         - A script to generate interlinked HTML documentation has been added
425           (called makehtmldocs).
427 1.0.3.0  Sat Sep 29 13:26:32 BST 2007
428         [Changes contributed by Olly Betts]
429         - Wrap Database::get_metadata() and WritableDatabase::set_metadata().
430         - Improve QueryParser pod documentation.
431         - PerlStopper::operator() now declared const as it should be.
432         - Suppress "deprecated" warnings from Xapian since we need to keep
433           wrapping deprecated features.
434         - Suppress compilation warnings on some Linux distros.
435         - Add Xapian.lo to MANIFEST.SKIP (it's generated if we're building
436           against an uninstalled xapian-core tree).
437         [Changes contributed by Reini Urban]
438         - Force LD to be "g++ -shared" for GCC on Cygwin since Perl < 5.9.5
439           Cygwin packages need it.
441 1.0.2.0  Thu Jul 05 15:44:03 BST 2007
442         [Changes contributed by Olly Betts]
443         - Disable NumberValueRangeProcessor tests, which need updating.
445 1.0.1.0  Sat Jun 16 00:49:33 BST 2007
446         [Changes contributed by Olly Betts]
447         - Wrap new optional prefix argument to Database::allterms_begin() and
448           Database::allterms_end().
449         - Test Database::allterms_begin() in t/search.t.
450         - Increment the reference counts of Stopper and ValueRangeProcessor
451           objects passed to methods of QueryParser and TermGenerator.  This
452           means we'll leak them, but that's better than having them garbage
453           collected while the C++ code is still using them.  This will be
454           fixed properly in a future release.
456 1.0.0.0  Sat May 26 00:41:07 BST 2007
457         [Changes contributed by Olly Betts]
458         - Wrap new TermGenerator class.
459         - Wrap new QueryParser flags FLAG_PURE_NOT and FLAG_PARTIAL.
460         - Wrap new Query op OP_VALUE_RANGE and associated constructor.
461         - Wrap ValueRangeProcessor and subclasses, and
462           QueryParser::add_valuerangeprocessor().
463         - Removed wrappers for deprecated features which have now been removed
464           from the C++ API.
465         - Fix small memory leaks in various methods when the C++ method throws
466           an exception.
467         - MSet::convert_to_percentage() now actually works (and added feature
468           tests to search.t to make sure it keeps working).
469         - Test WritableDatabase::add_value() in t/index.t.
470         - Test OP_VALUE_RANGE in new t/valuerange.t.
471         - Test ValueRangeProcessor and subclasses in t/parser.t.
472         - More tests for ESetIterator.
473         - Feature tests for new TermGenerator class.
474         - Add "make check" as an alias for "make test".
476 0.9.10.0  Tue Mar 06 02:27:02 2007
477         [Changes contributed by Rusty Conover]
478         - Wrap MatchDecider and make it usable with Enquire::get_mset()
479         - Wrap check_at_least parameter of Enquire::get_mset()
480         [Changes contributed by Olly Betts]
481         - Wrap rset parameter of Enquire::get_mset()
482         - Make all get_mset parameter combinations available via
483           Enquire::matches()
484         - Add tests for check_at_least and rset parameters of
485           Enquire::get_mset()
486         - Avoid warning from MakeMaker when generating Makefile for linking
487           against an uninstalled xapian-core tree.
488         - Correct several errors in the pod documentation for
489           Search::Xapian::PositionIterator.
491 0.9.9.1  Mon Dec 11 06:08:57 2006
492         [Changes contributed by Olly Betts]
493         - Fix typo in BoolWeight documentation.
494         - Fix BoolWeight default constructor (broken by changes in 0.9.9.0).
495         - Wrap TradWeight class.
497 0.9.9.0  Mon Nov 09 02:31:09 2006
498         [Changes contributed by Olly Betts]
499         - Fix the BM25Weight constructors.
500         - Fix problem with isa not being known in Xapian::PostingIterator.
501         - Wrap the newly implemented transaction API to WritableDatabase.
503 0.9.6.0  Sun Jun 04 01:14:00 2006
504         [Changes contributed by Olly Betts]
505         - Alex's CPAN email address bounces, so change occurrences of it
506           to direct users to the xapian-discuss mailing list for now.
507         - Correct several occurrences of "Xapian::Search::" to
508           "Search::Xapian::".
509         - Wrap Enquire::set_docid_order (and document set_sort_forward
510           as deprecated.)
511         - Wrap new method Enquire::set_sort_by_relevance_then_value.
512         - Document Enquire::set_sort_by_* (and document set_sorting as
513           deprecated.)
514         - Wrap the BM25Weight constructor which takes parameters
515           (the default one is much less useful, since Xapian defaults
516           to BM25Weight with the default parameters anyway!)
517         - Wrap Enquire::set_sort_by_value_then_relevance()
518         - Wrap the optional flags parameter to QueryParser::parse_query().
519         - Disable the wrappers for the transaction API to WritableDatabase
520           - it's not implemented by any database backend yet, so it's not
521           useful to wrap it at present.
522         - Fix PostingIterator != and == to handle both other PostingIterators
523           and numbers like PositionIterator does.
524         - Wrap constants FLAG_BOOLEAN_ANY_CASE and FLAG_WILDCARD.
525         - Fix typos and other problems in the POD documentation.  Document all
526           constants.
527         - Update the list of unwrapped classes and methods.
528         - Update the version in the README file.  Add code to Makefile.PL
529           to check that the various references to the current version are
530           all up-to-date.
531         - Makefile.PL now refuses to proceed if it can't find Xapian.
532         - Makefile.PL now checks that the Xapian version and Search::Xapian
533           version match, and if not issues a non-fatal warning (for now).
534         - Makefile.PL now allows building against an uninstalled xapian-core
535           tree (which is useful when doing development work on Search::Xapian
536           itself).
537         - Add feature test for Document::termlist_begin().
538         [Changes contributed by Tim Brody]
539         - Add MANIFEST.SKIP to allow "make manifest".
541 0.9.2.4  Fri Feb 15 14:59:23 2006
542         [Changes contributed by Olly Betts and Tim Brody]
543         - Catch C++ exceptions from QueryParser and rethrow them as Perl
544           exceptions.
545         - Makefile.PL now checks environmental variable CXX for the C++
546           compiler to use.
547         - Fixed cross-wired methods inside Enquire::get_matching_terms_begin
548           and Enquire::get_matching_terms_end (thanks to Arne Georg Gleditsch
549           for reporting this).
550         - $q = Query(op, @termlist) now handles terms with embedded zero bytes.
551         - Removed Query::clone() and = overload - they would die if ever used
552           and aren't useful since a Query object is essentially immutable once
553           constructed.
554         - Removed MSet::max_size - C++ only has it so MSet works as an STL
555           container.
556         - RSet::size() returns doccount not termcount (though they're currently
557           the same type underneath so this is an aesthetic internal change).
558         - Wrap most of the changed Xapian::QueryParser API.
559         - Wrap new SimpleStopper class (with test cases).
560         - Added PerlStopper class which can be subclassed in Perl to implement
561           your own stop word algorithm.
562         - Wrap new Enquire sorting API methods.
563         - Updated list of unwrapped classes and methods in documentation.
564         - Make != and == work for comparing iterators (as well as ne and eq).
566 0.9.2.3  Thu Feb 16 16:57:43 2006
567         [Changes contributed by Benjamin Smith]
568         - Corrected module names advertised in the POD.
569         - Added new_term method to Search:Xapian::Query.
570         - Fixed the package statement in BoolWeight.pm.
571         - Removed useless prototypes in Search::Xapian::Query.
572         - some extraneous blank lines removed (from >1 lines to just 1 line)
573         [Changes contributed by Peter Karman]
574         - Added set_sort_by_value method to Search::Xapian::Enquire
575         [Changes contributed by Marcus Ramberg]
576         - Fixed get_term_end in Search::Xapian::Query
577         - Added set_stemmer in Search::Xapian::QueryParser
578         - Added get_terms in Search::Xapian::Query
580 0.9.2.2  Tue Sep  6 16:48:30 2005
581         [Changes contributed by Marcus Ramberg]
582         - Added a lot of documentation.
583         - Added support for setting weighting schemes in ::Enquire
584         - Added add_prefix and add_boolean_prefix to QueryParser.
585         - Added support for flags to parse_query
586         - Added basic exception handling for QueryParser.
588 0.9.2.1  Mon Aug  8 12:24:34 2005
589         - Let perl know Search::Xapian::WritableDatabase is a subclass of
590           Search::Xapian::Database by adding the latter to the former's @INC.
592 0.9.2.0  Mon Aug  8 12:08:25 2005
593         - Removed 'set_window', 'set_cutoff', 'set_elite_set_size' and
594           'set_length' methods from Xapian::Query class
595         - Switched Search::Xapian::Stopper from using now abstract
596           Xapian::Stopper class to Xapian::SimpleStopper subclass.
598 0.8.4.0  Wed Dec  8 03:36:13 2004
599         [Changes contributed by Olly Betts]
600         - Changed Database and WritableDatabase constructors to use the new C++
601           constructors instead of the factory functions.
602         - Eliminated GNU-make-ism from generated Makefile.
603         - Added new test "exception.t" to test C++ -> Perl exception handling.
605 0.8.3.1  Tue Nov  3 18:25:02 2004
606         [Changes contributed by Olly Betts]
607         - Fixed handling of optional parameters in Document::add_posting(),
608           Document::add_term(), Document::remove_posting(),
609           Enquire::set_cutoff(), Enquire::set_sorting(), and
610           QueryParser::set_stemming_options().  Added test cases for
611           the first three.
612         - Fixed wrapping of Enquire::get_matching_terms_begin() and
613           get_matching_terms_end().
614         - Wrap versions of RSet::add_document(), RSet::remove_document(), and
615           RSet::contains() which take MSetIterator instead of a docid.
617 0.8.3.0  Tue Oct 27 20:32:36 2004
618         [Changes contributed by Olly Betts]
619         - Fixed exporting of DB_* constants.
620         - Makefile.PL now checks environmental variable XAPIAN_CONFIG.
621         - Wrap missing Database/WritableDatabase methods: get_lastdocid(),
622           positionlist_begin(), and positionlist_end().
623         - Added WritableDatabase->new() which creates an inmemory database
624         - Wrap missing WritableDatabase methods: delete_document_by_term(),
625           and replace_document_by_term().
626         - Wrap missing Document methods: remove_value(), and clear_values().
627         - Fixed usage message if MSet::fetch called with > 3 parameters.
628         - Fixed MSet::convert_to_percent() to actually return a value!
629         - Wrap missing MSetIterator methods: --, get_collapse_count().
630         - Removed bogus += methods from all iterators (these actually ignored
631           the second argument and always incremented once).
632         - Cleaned up wrapping of ++ methods for all iterators.
633         - Wrap missing ESet methods: back().
634         - Fixed wrapping of ESetIterator methods: ==, !=.
635         - Wrap 3 argument form of Enquire::set_sorting().
636         - Wrap missing method PositionIterator::get_description().
637         - Fixed return value for Query::set_length().
638         - Wrap missing method Query::empty().
639         - Second argument to QueryParser::set_stemming_options() may now be
640           omitted.
641         - Wrap ValueIterator class.
642         - Added tests of many of the new and fixed methods.
643         - Documentation now lists unwrapped classes and methods.
645 0.8.0.4  Wed Jun  9 12:08:54 2004
646         [Changes contributed by Tim Brody]
647         - Wrappers for ::QueryParser and ::Stopper
649 0.8.0.3  Thu Jun  3 13:14:39 2004
650         - Makefile.PL now uses xapian-config to determine
651           library/include path
652         [Changes contributed by Olly Betts]
653         - Wrapped Database::postlist_begin() and postlist_end()
654         - Database::get_doccount(), get_avlength(), and get_termfreq()
655           now return values correctly
656         - WritableDatabase::delete_document() and replace_document()
657           now handle exceptions
658         - Wrapped all methods which WritableDatabase inherits from
659           Database
660         - Fixed 2 warnings when building with GCC 3.3
661         - Added more test cases to index.t
662         - Corrected typemap - weight is a floating point value; other
663           types are unsigned
664         - Wrapped Stem::get_description()
666 0.8.0.2  Thu May 13 17:36:45 2004
667         - More error handling for Query and Document classes
668         - Fully wrapped PositionIterator and PostingIterator
669         - Optional arguments now supported for most methods
671 0.8.0.1  Wed May 12 18:58:46 2004
672         - Improved Query class which uses new C++ constructor methods
673           to allow the combination of an unlimited number of terms
674         - More verbose tests, covering all query operations
676 0.8.0.0  Tue May  4 16:06:41 2004
677         - New version numbering scheme chases xapian version
678         - Added overloaded function for TermIterator class
679         - Wrapped all methods for Xapian::Enquire (except
680           set_weighting_scheme, which is passed a Weight object - a
681           class for which wrappers do not yet exist).
682         - Replaced AUTOLOAD method designed to reduce code redundancy
683           in Enquire.pm with two separate methods (it was preventing
684           attempts to call unwrapped methods from throwing errors).
685         [Changes contributed by Olly Betts]
686         - Converted to use xapian.h and Xapian:: classnames
687         - add_term is the new preferred name for add_term_nopos
688         - Added stubs for PostingIterator and PositionIterator
689         - String values are now passed in a zero-byte safe way
690         - OM_DB_* renamed to Search::Xapian::DB_*
691         - Now requires Xapian at least version 0.8.0
692         - Search::Xapian::Database::allterms_end() fixed (was returning
693           the same as Search::Xapian::Database::allterms_begin()
695 0.05  Tue Jan 14 01:43:45 2003
696         - OM_DB_CREATE_OR_* symbols wrapped
697         - Extra tests for argument validity for Search::Xapian::Query
698           constructor
699         - Makefile.PL now prints where it has located om/om.h and
700           libxapian.so files
701         [Changes contributed by Olly Betts]
702         - Most methods wrapped for OmESet, OmESetIterator, OmRSet
703         - OmMSet::empty() returns bool, not om_weight
704         - Fixed eq and ne for Search::Xapian::MSetIterator
705         - Fixed Search::Xapian::MSet::convert_to_percent()
706         - Moved #include-s to top of Xapian.xs to fix compilation
707           problems
708         - Added 14 new test cases
710 0.04  Thu Dec 26 18:17:54 2002
711         - Convenience method: $enq->set_query( $op, @terms ... );
712           now autogenerates a query object with the arguments passed
713           if the first of them is not itself a query object
714         - Convenience method: $enq = $db->enquire( [$query] );
715           which autogenerates Enquire object, calling set_query() if
716           it is passed a query with which to do so
717         - Added tests for tied MSet class
718         - Added $enquire->matches() method returning tied MSet object
719         - Removed deprecated OmSettings class
721 0.03  Fri Nov  8 16:53:22 2002
722         - All methods wrapped for OmDatabase, OmWritableDatabase,
723           OmDocument, OmEnquire, OmMSet, OmMSetIterator, OmQuery and
724           OmSettings classes
725         - Overload pragma: copy constructor for all classes that
726           support copying
727         - Overload pragma: '++' for MatchSetIterator
728         - Interface to all overloaded C++ constructors
729         - Mapping for OmQuery::op enumerated type to exported symbols
730         - Removed non-functioning 'MatchSet' method
732 0.02  Sun Sep 15 19:48:32 2002
733         - Added bindings to create databases and index documents
734         - Added error handling for Database constructors
735         - 3 test scripts; create, index and search
736         - Fixed MatchSetIterator->get_docid returning wrong value
737         - Fixed string typemap
739 0.01  Tue Sep 10 16:03:23 2002
740         - original version; created by h2xs 1.21 with options
741                 -x -O -n Search::Xapian -A simplesearch.h