Revision history for Perl extension Prog. 0.01 Tue Nov 22 21:54:37 2005 - original version; created by h2xs 1.22 with options -XA -n Prog 0.02 POD fixes added merge() add() and mv() methods to S::P::Index and t/3merge.t and t/4add.t added 2 more test docs added format() accessor to S::P::Index changed S::P::I to use Class::Accessor::Fast since we don't need to override get/set S::P now always inits an indexer even if fh=>0 added private _index_methods to S::P 0.03 * removed all mentions of SWISH3 * test indexes are removed as part of 'make clean' * switched from Data::Dumper to Data::Dump * added new SWISH::Prog::Object example * fixed bug in SWISH::Prog::Headers to test defined() rather than simply eval true/false * fixed bug in SWISH::Prog::DBI with accepting DBI handle in init() * changed to using IO::All instead of File::stat and File::Slurp for better UTF8 support * changed default order of init() and init_indexer() to work more intuitively. Fixed S::P::DBI accordingly. To prevent an indexer from being init'd (as in 0.02) simply override init_indexer() and don't call SUPER::init_indexer(). * new feature: SWISH::Prog::Find * renamed meta() to table_meta() in SWISH::Prog::DBI for clarity. * S::P::Config now always handles config params as arrays * Config metanames() propertynames() and propertynamesnostripchars() are no longer available * S::P::Config now requires IO::All and Config::General; added read2() method. * new feature placeholder: SWISH::Prog::Spider 0.04 * S::P::DBI no longer calls disconnect() on db handle in DESTROY * fixed bug with auto-defining metanames * S::P::Config always returns arrayref on directive method calls * use MIME::Types instead of File::Type * S::P::Find now uses File::Find instead of Path::Class::Iterator * S::P::Object obj_filter() must return an object of some kind * S::P::Object will not dump() scalar strings, thus avoiding extra quotes * S::P::Config added stringify() method and reverted from IO::All to File::Slurp * S::Prog added elapsed() method * S::Prog new() verbose now defaults to 1 0.05 * S::P::Object now uses JSON or YAML to serialize values instead of Data::Dump This change is sync'd with SWISH::API::Object 0.0.6 0.06 * S::P::Object now defers to explicit 'config' passed in new(). 0.07 * S::P::Object iterator now uses more idiomatic while/next algorithm. 0.08 22 Nov 2007 * added S::P::Mail class and example swishmail.pl script * sync all $VERSION vars to same value * allow for non-standard docclass names 0.20 23 April 2008 * complete rewrite of the API for Swish3 development 0.21 31 Oct 2008 * fix tests to skip correct numbers if swish-e not installed * change to JSON::XS and make json default format in Aggregator::Object * add perl_to_xml() in Utils * change t/04 to manually create dirs at test time 0.22 10 Dec 2008 * added support for SWISH::Prog::DBI * use SWISH::3 for slurping files, if available. * fix bug in SWISH::Prog::Utils->perl_to_xml where hash refs were not getting tagged. 0.23 11 Dec 2008 * properly clean up temp Config files 0.24 20 Jan 2009 (Happy Obama Day!) * add base Searcher, Results and Result classes * refactor QueryParser to use Search::QueryParser::SQL * flesh out the InvIndex::Meta class, adding XML::Simple dependency * IMPORTANT: rename Native classes to match naming convention 0.25 26 Jan 2009 * added more features to example/swish3 * add missing test file to MANIFEST * tests clean up after themselves wrt swish.xml header files 0.26 26 Feb 2009 * fix off-by-one error in skip test count in t/03-object.t 0.27 28 Sep 2009 * make QueryParser and Query part of the official install, even though there are still TODO items * add all_metanames() method to Config * refactor to use Search::Tools and Rose::ObjectX::CAF instead of Class::Accessor::Fast 0.28 30 Sept 2009 * add some missing calls to SUPER::init() 0.29 8 Nov 2009 * add strip_plural option to Utils->perl_to_xml() * add count attribute to arrayref values of hashrefs in perl_to_xml() * fix method/param name strictness bug revealed by Rose::ObjectX::CAF 0.03. This mostly required internal param name changes to official method names. 0.30 29 Nov 2009 * change KinoSearch to KSx in implementation registry * fix bug in base Searcher where InvIndex class was not loaded. 0.31 1 Dec 2009 * POD fixes 0.32 12 Dec 2009 * Config->ver2_to_ver3() method now supported. * fix bug in Prog.pm to allow Config passed in aggregator and Indexer passed in aggregator * removed dependency on Class::Accessor for Config.pm * refactor internal handling of Config object so there is only ever one per Prog instance * refactor internal handling of Config to support SWISH::3::Config * FileRules support now in Aggregator::FS 0.33 02 Jan 2010 * fix bug where SWISH::3->slurp was being called with out binmode flag and .gz files were getting their NUL bytes stripped. * add test_mode feature (set with SWISH_TEST env var) * fix some memory leaks * fix JSON::XS dependency (JSON required, not JSON::XS). 0.34 07 Jan 2009 * fix mem leak test to include only those outside our control. * add version() to SWISH::Prog::Doc to pick header style per instance. 0.35 09 Jan 2009 * fix bug in Config where $append flag was being interpreted as a MetaName/Property * fix bug in Config where ver2_to_ver3 was calling $self->new instead of $class->new when passed a filename. * fix bug in Spider where filter was not being passed correctly. 0.36 12 Jan 2009 * fix Config bug where StoreDescription was ignored in ver2_to_ver3() * switch to Module::Install * updates to example/swish3 * fix t/03_object.t to test for JSON not YAML::Syck (see RT#53275) 0.37 01 Feb 2010 * add -D '\x03' to the Native::Indexer exec command. This mimics libswish3. * examples/swish3 now installed by default with usual make install. * added -N option to swish3, along with ok_if_newer_than feature in Aggregator. * added dependency on Rose::DateTime. * Native Indexer can now merge() and add(). * -l and -M options now supported in swish3 * yank Query.pm and QueryParser.pm. They weren't used and the idea is now fleshed out in Search::Query if we ever need it. * Searcher may now take an array of invindex values, and always returns an array ref of values. 0.38 05 Feb 2010 * add support for 'order', 'limit', 'start', 'max' and 'rank_scheme' in Native::Searcher. * Utils->perl_to_xml() moved to Search::Tools::XML (where it really belonged). * enable more options to swish3 0.39 07 Feb 2010 * add fix for systems using Swish-e 2.6, which doesn't create a index.swish-e file. * remove the requires_external_bin from Makefile.PL since KSx and Xapian do not require swish-e but do require SWISH::Prog. Fix tests (which also check for swish-e) to SKIP the correct number of tests. 0.40 09 Feb 2010 * make -D '\x03' optional in Native::Indexer based on which version of swish-e is available. The -D feature is only in 2.4.8 or newer. 0.41 10 Feb 2010 * fix the check_swish() feature in Native::Indexer to only return the version number, not the whole output of swish-e -V (fixes the -D fix in 0.40).