Revision history for perl module CHI::Cascade
0.3.4 (0.300004) 2020-07-13
- The 'stash' bug in previous release (v0.3.3) was not fixed. It was fixed here i hope...
- Added the warning when called the Cascade::stash method (deprecated)
- Fixed misprint 'depricated' to 'deprecated' in docs
- Added a 'die' in Cascade::Rule::stash method if 'stash' or 'run_instance' are not defined (normally this should not happen)
0.3.3 (0.300003)
- fixed bug of stash (undefined) when rule method was used (a rarely bug)
0.3.2 (0.300002)
- [improved] If 'depends' in rule is code then this code will be executed only once (previously it could be executed twice). Same rule is for any item of depends array too.
- [improved] All code was reformated without tabs
0.3.1 (0.300001)
- Improved docs about stash method
- The "nested run methods" test was written andit works as expected.
- META.yml file was fixed
0.3
- The run method can be called from other run method and from depends callref.
This was made possible by creating a separate data instance for each root call of run method.
Existed tests are passed but a test dedicated for this feature is not written yet.
- Improved the test 11_fast_mmap_actual_term_expires.t
(test_08_actual_term_expires.pm). It was fail in some high-load test CPAN computers
because time intervals there were larger than I expected in the tests.
0.284 2014-07-20
- Fix bug with ttl, when one target with ttl's rule had dependencies which had other ttl'd rules
- few code optimizations
- update inc::Module::Install up to v1.10
0.283 2014-06-17
- Now i set up minimal version of perl 5.10 because i use defined-or '//'
operator and some CPAN's tests are failed. I don't whant now to rewrite
module for old version because i don't love very old soft and love
an effective code, sorry ;-)
0.282 2014-06-16
- some corrected t/test_04.pm
( test fail report here - http://www.cpantesters.org/cpan/report/8b744d08-764a-11e3-8d2f-66cfdfbfc7aa )
- fix bug with 'valid_expires', the test was written for it
- Now value_expires can be coderef for dynamic 'value_expires'
0.28 2013-10-24
- Removed MYMETA.* files from MANIFEST and added to exclude lists (.gitignore & MANIFEST.SKIP)
( http://weblog.bulknews.net/post/44251476706/stop-shipping-mymeta-to-cpan )
0.27 2013-09-01 Stable release - i use it in production ;-)
- Only fix Changes - reformated to CPAN::Changes::Spec
0.261 2013-06-11
- Fix bug (not tested yet) - in rare cases there can infinite locks of
targets in status CASCADE_COMPUTING. Fixed but not tested by me.
0.26 2012-12-14
- New conception of non-blocking run method - deferring
- The test 04_memcached_multi.t some fails in FreeBSD. May be this is
because 'sleep' works not as expected. I changed the 'sleep' to
'select($,$,$,$)'. May be it will improve this test at FreeBSD...
- Added CHI::Cascade::Rule::value_expires method for changing by recompute
code the expiration time of values & target markers
- Added test for value_expires - test_05.pm by 08_fast_mmap.t
- Fixed bugs - in tests *_fast_mmap.t if was ^C signal - files of FastMmap
driver were not deleted
- The new method CHI::Cascade::Value->state
- Added method CHI::Cascade::Value::state_as_str
- The test '07_fast_mmap.t' tests now deferring & states of values
- Fix few bug with target locking
- Fixed unproductive code piece of value with expiring
- Fixed unproductive code with target locking
- Changed some tests for testing the 'actual_term' option
- Added stats for operations 'run' & 'dependencies_lookup'
- Added bits of state CASCADE_ACTUAL_TERM & CASCADE_TTL_INVOLVED
- Added 'ttl' feature.
- CHI::Cascade->rule has now some new options: value_expires & ttl
- CHI::Cascade->run has now some new options: ttl & stash
- Memcached tests are skipped by default. They use a starting of memcached
and from cpanm they doesn't work. If you want to tests please use this
method:
$ perl Makefile.PL
$ FORCE_MEMCACHED_TESTS=1 make test && make install
- Added a stack info for targets for circled dependencies die (now it prints stack)
- Fixed bug with circled dependencies - now more accurate (no tests)
- Added new method 'stash' for getting a stash passed through 'run' method
0.25001 2012-04-17
- Few fix - should improve tests
0.25 2012-02-28
- Some improvements
- For backward compatibility with perl < 5.9 the operator '$a // $b' is
changed to long style as 'defined($a) ? $a : $b'. It should improve a
tests on old perl installations
0.24_01 2012-02-24
- Added 'parent' module in requires for old perl installation (<=5.10.0)
0.24 2012-02-24
- Fixed bug with tests with memcached
0.23 2012-02-22
- Queues for non blocking running - to see test t/lib/test_04.pm
(no docs yet)
- Added test '07_fast_mmap.t' for queue-ing
- Fix some bugs
- Added bits for values (no docs yet) and not finished yet.
0.22 2012-02-20
- Added the option 'target_chi' - target markers can be kept in other CHI
cache than data of targets. It's useful for l1_cache's caches of CHI
0.21 2012-02-16
- A detection of circle dependencies is improved (not tested)
0.20 2012-02-09
- Some optimization
- Few fixes of documentation
- Added option 'depends_catch' to rule as catcher callback for dependencies
0.19 2012-01-25
- Fixed bug of die like "Can't call method "is_value" on an undefined value
at /usr/local/share/perl5/CHI/Cascade.pm line 190"
0.18 2012-01-25
- Now if recompute function dies with exception of CHI::Cascade::Value type
(introduced in v.0.13) CHI::Cascade::run method will return old value of
target value from cache if exception's value is 'undef' and cache value
exists. Before the run method always returned a value of exception.
- Imroved the documentation for CHI::Cascade::rule/code
- Added the documentation of CHI::Cascade::Value
0.17 2011-12-13
- Added a callback function in rule as 'recomputed'
0.16 2011-12-13
- Changed API for coderef's subroutines in 'depends' of rules. Now first
parameter is reference to CHI::Cascade::Rule object and other are
'qr_params'
- CHI::Cascade::Rule object now has a method 'cascade' which returns a
CHI::Cascade instance for this rule. You can use it in 'depends'
subroutines
0.15 2011-12-07
- Corrections if cascade rules have a 'depends' option as coderef. Backward
compatible. Now coderef can return arrayref of dependencies. Before it
could return only one dependence as plain text. No tests yet for this
- Tests are rewritten and optimised
- Added a FastMmap driver's tests
- Added tests when dependencies are coderef (t/lib/test_02.pm)
0.14 2011-11-29
- Improved tests in accordance with reports version 0.13
- Fixed few misprints in Changes & TODO files
0.13 2011-11-18
- Fix bug - sometimes generated warnging for trigger time (was undefined)
- Now a compute code can throw die with CHI::Cascade::Value object - this value
will be returned from run method but value will not be saved in cache as
computed value
- Improved a behavior with some buggy situations with cache (cache doesn't
save a value by some reasons for example)
0.12 2011-11-14
- More stable version as i think ;-) Please use it
- Improved signal handling in tests (for memcached killing)
- Fixed bug - dependencies as sub {} didn't get a qr_params properly
- Fixed rule's bug
0.11 2011-11-14
- Fixed bug (sometime dead locks were after target locking)
- Added 'busy_lock' option in contructor and to 'rule' method
- All 'set's in cache executed with expire as 'never' (excluding locking of
targets)
0.1 2011-11-14
- Changed API of execution 'code' of rules
- Now you can use instances of CHI::Cascade::Rule in your target codes
- Now you can pass any parameters to target codes described in rules
0.05 2011-11-12
- More improved the test t/03_memcached_multi.t
- Tests with memcached for root user are not started (passed)
Now they are started
- More ready distributive
0.03 2011-11-11
- Fixed bugs in tests (for example not be stopped memcached)
- New test - multi-process reading/getting from memcached (with forks)
- Added documentation about constructor and methods.
0.02 2011-11-11
- Added repo meta info of github.com repository
- few changes of Makefile.PL ('README' file is generated by auto)
- Added 'Changes' file ;-)
- Added TODO file
0.01 2011-11-10
- First release