- [Optimize] Max functions call stack up to 2000
- [Optimize] Remove calling argument.slice in step-function's iterator
- [Feature] add .nextTo() and .branch() methods for branch goto flow
- [Feature] add Chain.thunk() for turn a regular node function into chainjs thunk
- [Feature] remove ES5 function usage(forEach, bind)
- [Feature] add each() api for call each step's handlers in sequeue
- [Feature] add retry() api
- [Bug] pass arguments to final step when chain.next and has no next step.
- [Feature] start() can pass data to initial step.
- [Bug] fixed "data" method bug
- [Bug] destroy() stop anything and release private data in chain's scope.
- [Testing] BDD testing
- [APIs]: remove "filter", "before", "sham" methods, and use "destroy" instead of "stop"
- [Feature]: Chain refactor using Class Constructor for less memory usage. The code is more clear.
- [Feature]: Add "some" method, support define multiple Parallel functions in one step
- [Feature]: Add "wait" method, use for replacing setTimeout call chain.next()
- [Fix bug]: data() api using extend to export chain data instead of return private data variable
- [Feature]: Add Chain.sham api, for calling chain step-handler normally
- [Feature]: add filter() api
- [Feature]: addstop() api
- [Normal]: Pop step handler use cursor index instead of handlers.shift
- [Feature]: Implement AOP: before() api