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