Revision history for Perl extension Prog.
0.75 11 Dec 2013
- 3.1.0 release of swish3 cli:
* remove --lucy_highlightable and replace with -I (--Indexer_opts)
* rename --aggregator_opts to --Aggregator_opts
0.74 01 Oct 2013
- packaaging clean up only
0.73 12 Sept 2013
- turn off Pod tests unless RELEASE_TESTING env var set. Pod::Coverage
failures were because optional dependencies were not present but module
load was attempted in order to walk symbol tree for pod tests.
0.72 10 Sept 2013
- add TRACE_ALL to pod-coverage test to discover why it suddenly started
epic fail
- add explicit port to t/17-spider-server, running on 5002
0.71 1 Aug 2013
- add --null_term feature to swish3 example
- add sitemap support to Spider
- swish3 -W <n> sets SWISH_PARSER_WARNINGS env var
0.70 10 Feb 2013
- add tests for Utils class.
- Utils extension regex now matches \w+ rather than hardcoded document
extensions.
0.69 05 Feb 2013
- fix documentation for SWISH::Prog::InvIndex::Meta, add data() accessor
method.
0.68 23 Jan 2013
- fix failing test t/17-spider-server with 'use base' vs '@ISA'
- force URI objects to stringify when passing in/out of cache
0.67 19 Jan 2013
- Spider now uses LWP::RobotUA to respect robots.txt. Dependency on
WWW::Mechanize is removed.
- Spider authorization features now work. Added bona fide test suite for
spidering.
- expand Queue API to add remove() and clean() and internal locking on
get()
- Spider->modified_since feature to allow for incremental crawls
- Added new class SWISH::Prog::Aggregator::Spider::Response, refactoring
appropriate UA methods into Response class since WWW::Mechanize was
intentionally blurring the logical distinction.
- Spider->file_rules (new feature) follows same code path as
Aggregator::FS.
- added Utils::write_log and ::write_log_line methods for standardizing
debug output
0.66 8 Dec 2012
- yanked redundant test t/09 as it is now part of Search::Tools
- fix t/05 spider to warn on correct missing module; fix spider count
0.65 5 Nov 2012
- add more tests for MailFS aggregator
- all Aggregators now set content-type to valid MIME instead of custom
Swish types
- Aggregator->set_parser_from_type() will now not override a defined
Doc->parser() value
0.64 12 Oct 2012
- add --aggregator_opts to swish3 and SWISH::Prog
- add looks_like_feed() to Spider, and add dependency on XML::Feed
- switch Spider::UA parent class to WWW::Mechanize::GZip
0.63 11 Sept 2012
- add TagAlias support to Config. TagAlias is a Swish3 feature.
- improve SWISH::Prog documentation
- add --doc_filter to swish3, to allow for set_filter to work from an
external Perl file.
0.62 3 Sept 2012
- support subclassing of Indexer in start() sanity check introduced in
0.61
- add InvIndex->meta_file method and avoid referring to swish.xml directly
0.61 23 Aug 2012
- swish3 now catches exceptions and re-throws errors
- swish3 now passes --debug flag into Searcher->new
- base Indexer now performs check on existing indexes to verify that you
aren't trying to run one format's Indexer against a different format's
index.
- swish_last_start file now created by base Indexer class, not swish3 cli.
0.60 28 July 2012
- add *_property methods to InvIndex::Meta
- SWISH::3 now required dependency
- added use_quotes and quote_char features to Aggregator::DBI, inspired by
patch from Miko O'Sullivan.
0.59 26 July 2012
- add FollowXInclude support for Swish3
0.58 26 June 2012
- fix Config class for FuzzyIndexingMode conversion to XML (ver3)
0.57 7 May 2012
- change default max_depth in Spider to 1 (makes it actually work by
default)
0.56 2 Apr 2012
- make swish3 stdin/stdout utf8 safe
0.55 6 Nov 2011
- fix skip test count in t/15
0.54 14 Oct 2011
- $SWISH::Prog::Utils::DefaultExtension now let's you configure default
file extension
- fix SWISH::Prog::Config->new() to support perldoc's claims of passing in
a hashref or named attribute pairs.
0.53 09 Oct 2011
- fix DBI Aggregator to make code support docs for swishtitle and
swishdescription. Bug reported by Logan Bell.
- fix FS Aggregator behavior to work like 2.x and not skip files with no
extension.
- fix bug in swish3 where index dir is not created before swish_last_start
is touched.
- confess() when swish.xml does not exist
- base Aggregator class no longer requires an indexer in new().
0.52 26 Sept 2011
- add support for IndexFile config option
- add --lucy_highlightable option to swish3
- new class SWISH::Prog::ReplaceRules for backcompat
- add get_stemmer_lang() method to Config class for Snowball stemmer
forward-compat.
0.51 28 June 2011
- add 'Lucy' backend
0.50 22 Feb 2011
- make swish3 -N flag argument optional, defaulting to
indexdir/swish_last_start
- error check in base Indexer for valid invindex param
- misc doc fixes
0.49 07 Jan 2011
- refactor FileRules feature into File::Rules module
0.48 03 Nov 2010
- added progress() feature to Aggregator classes, and 'expected' param to
swish3.
- add CascadeMetaContext config option for Swish3 compatibility
- bump SWISH::3 (optional) dependency to 0.09
- fix MailFS aggregator to preserve filesystem paths as Doc url
0.47 25 July 2010
- add Search time to swish3 (3.0.7)
- fix bug in Native::Searcher affecting fieldtypes
0.46 22 June 2010
- add dep on Search::Query
- add default_boolop feature to Native::Searcher
- fix IncludeConfigFile recursionin Config->ver2_to_ver()
0.45 08 May 2010
- fix swish3 to allow "swishrank" as -x option
- enable -H option in swish3
- SWISH::3->slurp optimization now uses transparent gunzip feature.
Requires SWISH::3 >= 0.06.
- fix backcompat for DefaultContents config in Config->ver2_to_ver3()
0.44 19 Mar 2010
- register MailFS aggregator as 'mailfs' for use with swish3 -S
0.43 19 Mar 2010
- remove docs and method for 'sort_order' in abstract Searcher class. No
subclass uses it, deferring to 'order' in the search() method opts.
- FS->crawl now returns count
- add MailFS aggregator class
0.42 27 Feb 2010
- add invindex format to search output headers in swish3
- add parsed query to search output headers in swish3; add query() method
to base Results class.
- add progress_size to Aggregator and implement in FS.
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).
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.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.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.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.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.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.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.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.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.31 1 Dec 2009
- POD fixes
0.30 29 Nov 2009
- change KinoSearch to KSx in implementation registry
- fix bug in base Searcher where InvIndex class was not loaded.
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.28 30 Sept 2009
- add some missing calls to SUPER::init()
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.26 26 Feb 2009
- fix off-by-one error in skip test count in t/03-object.t
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.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.23 11 Dec 2008
- properly clean up temp Config files
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.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.20 23 April 2008
- complete rewrite of the API for Swish3 development
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.07 * S::P::Object iterator now uses more idiomatic while/next algorithm.
0.06 * S::P::Object now defers to explicit 'config' passed in new().
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.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.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.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.01 2005-11-22T21:54:37Z
- original version; created by h2xs 1.22 with options -XA -n Prog