usher
Version:
Simple DSL for composing decision workflows for AWS Simple Workflow
187 lines (102 loc) • 5.45 kB
Markdown
## 0.1.0 (May 17, 2014)
+ Initial release
## 0.1.1 (June 18, 2014)
+ Update repository location in package.json
## 0.1.2 (June 18, 2014)
+ Enable input transformation via custom function for tasks via `transform` option
## 0.1.3 (June 18, 2014)
+ Moved `aws-sdk` lib to be in `peerDependencies` so that global AWS config can be inherited from parent project
## 0.2.0 (June 23, 2014)
+ Child Workflow Support
+ Looping Support
+ Small internal API refactor in support of above features
## 0.2.1 (July 24, 2014)
+ Updating to latest `aws-swf` dependency to support v2.x of the `aws-sdk` library
## 0.2.2 (Sept 3, 2014)
+ Resolved an uncaught exception when certain tasks failed
## 0.2.3 (Sept 9, 2014)
+ Support for Activity / Workflow options being functions that are evaluated within the context of the activities / workflows input
## 0.3.0 (Sept 19, 2014)
** WARNING: This release introduced breaking API changes in support of proper version handling of workflows **
+ Expanding scope of Usher to include the ability to manage Activities as well as Deciders
+ Full version support for Activities and Deciders using [semver](http://semver.org/) v2.0
+ This means that deciders / activities can be configured to match explicit or ranges of versions (think NPM module versions)
## 0.3.1 (Jan 6, 2015)
+ Implemented configurable batch scheduling logic for loops. Defaults to processing `20` items per batch with a `1` second Timer scheduled between batches. This is designed to mitigate `CHILD_CREATION_RATE_EXCEEDED` and `ACTIVITY_CREATION_RATE_EXCEEDED` exceptions seen in larger workflows.
+ Better handling of failure states in `loop` decisions.
## 0.3.2 (Jan 14, 2015)
+ Adding Marker event recording the current decider state when a decision can't be made.
+ Additional test cases for loops
## 0.3.3 (Jan 16, 2015)
+ Added additional debug logging
## 0.4.0 (Apr 3, 2015)
+ Added `whileLoop` decision type: loop over a fragment until a done condition is met
## 0.4.1 (Apr 5, 2015)
+ Support for nesting loops within each other. Nesting should be shallow (Ideally < 3 levels deep).
## 0.5.0 (Apr 8, 2015)
+ Adding `variable` decision type: allows storing values for future activities to use.
+ Resolved async bug in `loop` decisions where the state of the loop could have been evaluated before all task had completed.
## 0.5.1 (Apr 9, 2015)
+ Adding `ignoreFailures` option to child workflow task
## 0.5.2 / 0.5.3 (Apr 9, 2015)
+ Resolved issue when using batches in long loops
+ Updated aws-sdk to latest version
## 0.5.4 (Apr 13, 2015)
+ Resolved a potential race condition in workflow execution
## 0.6.0 (Jun 4, 2015)
+ Adding `register` method to both activities and workflows
+ Updated dependencies to latest versions
## 0.6.1 (July 7, 2015)
+ Fixing `undefined` error when starting and stopping pollers quickly, such as in unit tests
## 0.6.2 (July 14, 2015)
+ Allowing access to the raw `context` in transform and variable tasks
## 0.6.3 (Sept 21, 2015)
+ Updated dependencies to latest versions to resolve a race condition when using loops
## 0.6.4 (Nov 5, 2015)
+ Added `execute` method to Workflow as a utility method for finding the correct version and starting a workflow execution
## 0.6.5 (Nov 9, 2015)
+ Added support for tags in `execute` method
+ Updated default timeouts for `execute` method
+ Variable tasks will no longer set a marker if the value did not change
## 0.6.6 (Nov 9, 2015)
+ Resolved an issue when using a function in a tagList
## 0.6.7 (Nov 19, 2015)
+ Resolved an issue where calling execute on a workflow would not work
+ Pass through default options when executing workflows
## 0.7.0 (Nov 24, 2015)
+ Removing NPM shrinkwrap from module as best practices are to not include with libs
## 0.7.1 (Nov 24, 2015)
+ Adding defaults for `scheduleToStartTimeout`, `scheduleToCloseTimeout`, `startToCloseTimeout`, and `heartbeatTimeout`
## 0.8.0 (Feb 10, 2016)
+ Added `accumulator` decision type: accumulate the results of iterations of a fragment
+ Expand `Context.didChildWorkflowFail` to include timeout events
+ Added support for `maxOutstanding` flag on `loop` decisions
## 0.8.1 (Feb 10, 2016)
+ Expand `Context.didActivityFail` to include timeout events
## 0.8.2 (Feb 11, 2016)
+ Lodash 4.x compatibility changes
## 0.8.3 (Feb 11, 2016)
+ Cleanup some debug logging
## 0.8.4 (Feb 12, 2016)
+ Added `result` decision type so you can customize the output of a workflow.
+ Added `previousResult` variable to `accumulator` fragment input so patterns such as paging can be implemented.
## 0.8.5 (Feb 14, 2016)
+ Minor change to how variables are recorded in markers.
## 0.9.0 (Apr 6, 2016)
+ Performance increases for large workflows
+ Partial migration away from `aws-swf` library
## 0.10.0 (July 25, 2016)
+ Support for heartbeats on long running activities
## 0.10.1 (July 29, 2016)
+ Support for dynamic activity execution in a decider
## 0.10.2 (July 29, 2016)
+ Exposing raw, un-transformed input to options like 'taskList', 'activityType', etc.
## 0.10.3 (Aug 1, 2016)
+ Fixed regression in child workflow execution where they stopped getting input
+ Expanded test suite to ensure this does not happen again
## 0.10.4 (Aug 5, 2016)
+ Better handling of uncaught exceptions in activities
## 0.10.6 (Aug 8, 2016)
+ Support for dynamic child workflow execution in a decider
## 0.10.7 (Aug 8, 2016)
+ Support for latest AWS lib