Revision history for Iterator-Flex
0.16 2023-09-28 19:17:13-04:00 America/New_York
[ENHANCEMENT]
* document cache iterator's 'at' method (and make it work)
0.15 2022-07-18 11:50:51-04:00 America/New_York
[BUG FIX]
* resolve RT#141012, always call overload::Method with three arguments. HVDS++
* sequences did not correctly handle exhaustion => 'throw' or
exhaustion => [ return => $sentinel ]
* some of the non-documented ways of handling input exhaustion didn't work
as expected.
[DOCUMENTATION]
* rework Iterator::Flex::Manual:Authoring
* iterator adaptors handling of input exhaustion from their input iterators
was not properly/fully documented.
0.14 2021-10-06 15:00:47-04:00 America/New_York
[BUILD]
* require Role::Tiny >= 2.002004, or role composition doesn't work correctly.
0.13 2021-10-06 11:24:26-04:00 America/New_York
[BUG FIX]
* incorrectly set %INC value to undef to register generated module; caused failures under
Perl >= 5.32
[DOCUMENTATION]
* updates
0.12 2021-10-05 17:40:04-04:00 America/New_York
* First public release
[INCOMPATIBILITY]
* explicitly requires Perl v5.28
* yet another radical API change and refactoring. hopefully the
last!
[ENHANCEMENTS]
* lots of documentation. still not complete
* better handling of proxy iterators
* beginning of error handling
[TODO]
* icycle should handle any rewindable iterator, not just arrays
0.11 2020-04-30 10:48:47-04:00 America/New_York
[INCOMPATIBILITY]
* explicitly requires Perl 5.10.0.
[API_CHANGE]
* native iterators must use the 'self' rather than 'set_self'
attributes to provide access to the closed-over self.
[REFACTOR]
* new iterator exhaustion model cleanly separates exhaustion
transition policies (return/throw) and handling imported
iterables' policies (pass through, replace).
* robust handling of imported iterables exhaustion sentinels or
exceptions.
[BUILD]
* now uses Module::Build::Tiny
0.10 2018-09-16 18:21:49-04:00 America/New_York
[REFACTOR]
* Internal refactor to improve performance and simplify code
* Iterator classes are constructed directly without requiring
parsing of the attribute hash.
* Only existing class based iterators should/can be frozen.
* ITERATOR_BASE has been removed. The idea was never thought completely
through. Still haven't worked out how to change base class for
* on-the-fly creation of iterators is now in Factory.
0.09 2018-06-01 13:10:56-04:00 America/New_York
[BUG FIX]
* sequence iterator was not numerically stable for
real number sequences, as it used repeated sums
instead of a multiply.
0.08 2018-05-18 15:12:15-04:00 America/New_York
[ENHANCEMENT]
* new iterator, Cycle/icycle, cycles through an array.
0.07 2018-05-14 10:49:43-04:00 America/New_York
[BUG FIX]
* subsequent creation of iterators with a method
did not incorporate the method
0.06 2018-05-07 12:21:27-04:00 America/New_York
[BUG FIX]
* method for detecting existing method roles was broken
0.05 2018-05-07 12:21:27-04:00 America/New_York
[ENHANCEMENT]
* arbitrary methods may be added to iterator classes
0.04 2018-05-04 17:21:15-04:00 America/New_York
[BUG FIXES]
* ifreeze properly handles exhausted predicates
[ENHANCEMENT]
* new iterator method "may", indicates if it and it's dependencies
support a method.
* more optimization; should make things faster (by some unknown amount)
[INTERNAL CHANGES]
* move implementation of iterators out of Flex and into
separate classes.
0.03 2018-01-16 13:27:23-05:00 America/New_York
[ BUG FIX ]
* thawing an iproduct iterator with labeled iterator arguments was
borken.
0.02 2018-01-16 13:27:23-05:00 America/New_York
[ ENHANCEMENTS ]
* new iterator functions: ifreeze, icache
* new ':all' export tag
* add support for current() method
* new spec on what prev/current/next return as function of iterator state
[ BUG FIXES ]
* iproduct needs dependent iterators to have memory of last and
current values when freezing. rewind() is renamed to reset(),
and new rewind retains current/prev values.
* iterator states were always set to <active> when next was called.
now the state is updated to <active> only if it was <inactive>.
0.01 2018-01-05 16:36:29-05:00 America/New_York
* First release upon an unsuspecting world.