1 Revision history for Perl extension Search::Xapian.
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.
9 [Changes contributed by Olly Betts]
10 - Fix infinite loop trying to build with CPANPLUS (fixes #692, reported
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
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
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.
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
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.
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
91 1.2.11.0 Tue Jun 26 12:13:39 UTC 2012
92 - No change except for bumping the version to indicate compatibility
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
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
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
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
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().
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
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
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
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
163 1.2.1.0 Tue Jun 22 14:48:00 UTC 2010
164 - No change except for bumping the version to indicate compatibility
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 !=
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
200 - Add more fully featured examples: full-indexer.pl and
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
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
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
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
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
291 - Add more fully featured examples: full-indexer.pl and
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
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
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
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
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
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
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
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
418 - BoolWeight objects are now blessed as class BoolWeight rather than
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
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
465 - Fix small memory leaks in various methods when the C++ method throws
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
484 - Add tests for check_at_least and rset parameters of
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
509 - Wrap Enquire::set_docid_order (and document set_sort_forward
511 - Wrap new method Enquire::set_sort_by_relevance_then_value.
512 - Document Enquire::set_sort_by_* (and document set_sorting as
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
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
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
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
545 - Makefile.PL now checks environmental variable CXX for the C++
547 - Fixed cross-wired methods inside Enquire::get_matching_terms_begin
548 and Enquire::get_matching_terms_end (thanks to Arne Georg Gleditsch
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
554 - Removed MSet::max_size - C++ only has it so MSet works as an STL
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
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
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
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
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
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
699 - Makefile.PL now prints where it has located om/om.h and
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
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
725 - Overload pragma: copy constructor for all classes that
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