All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Change the ZENATON
LAST_CODE_PATHtoserverless. - Use the GraphQL API v2 for the
serverlesscode path.
- Fixed selector query input.
- Allow selection of workflows without name.
- Return an exception when the user gives a non standard Zenaton connector ID.
- Added the ability to use
this.log(obj),this.random(),this.date()in a workflow. - Introduced
getFirstFromCanonicalandgetLastFromCanonicalfunction in WorkflowManager
- Require the
ZENATON_CODE_PATHdynamically depending theZENATON_LAST_CODE_PATH. - Updated Versioner in
yieldandserverlesscode path to return also the original name - Update behavior of
getfunction in WorkflowManager - Changed the decode method to accept
JSONof theyieldSerializer.
- Added auto publish to npm when creating a GitHub release.
- Added
serverlesscode_path.
- Fixed the
schedulefunction that returned an useless Promise.
- Add customId for scheduled workflow in new syntax
- Major overhaul of the library: use of generators and new syntax
- Added
custom_idargument for workflow schedule. - Tasks and workflows scheduling in new syntax.
- Added an
inputkey for dispatch workflow and schedule workflow.
- Default timezone with new syntax is now UTC.
- Time/Duration methods don't have anymore
1as default value. - Time/Duration methods can't be stacked, works now like mutators.
- Better uses of capitalize convention: initial caps limited to constructors
- Changed
datavalue for dispatch workflow and schedule workflow to empty object. - Replace
killper `terminate``
- Use of Array as parralel
- Parallel methods
- Adding a prepublish hook for lint, test and build
- Upgrade of all dependencies to major version
- Update the version of set-value package
- Update the version of mixin-deep package
- Update the version of eslint-utils
- Added a
intent_idproperty when dispatching workflows and tasks, sending events to workflows, and pausing/resuming/killing workflows. - Added
contextsetter and getter inTaskandWorkflowabstract class that is able to retrieve the runtime context of the workflow or task currently being executed.
- Changed scheduling requests that pass now through Alfred (GraphQL API).
- Changed scheduling syntax from
x.repeat("* * * * *").schedule()tox.shedule("* * * * *"). - Remove scheduling output.
- Prepare capacity to schedule workflows and single tasks (CRON based).
- Update dependencies to fix security issues with package
js-yaml. - Fix #41 Modification of Wait's parameters during a workflow execution does not trigger a ModifiedDecisionException
- Fix #45 Wait months method issue
- Added
event_dataproperty when sending event.
- Serializer ignores functions when serializing plain JSON object literals to align with the behavior of
JSON.stringifyand fix a bug.
- Fixed false positive error message related to functions serialization when adding private functions to tasks and workflows.
- Allowed to send events to workflows by instance id.
- Fixed 'maxProcessingTime' parameter for single tasks.
- Fixed workflow/task init logic so a 'nil' value result in an empty object for property 'data'.
- Update breaking changes to precise how to migrate tasks for old synchronous workflows.
- Lower entry version of NodeJS to 8.0.0.
- Enhanced
.gitignorewith full specialized NodeJS version. - Updated CircleCI Docker image to match development NodeJS version.
- Added this changelog.
- Added
.tool-versionsfile forasdfwith NodeJS configuration. - Added
lint-stagedto auto-apply linter and formatter as pre-commit hook. - Added
prettierfor code auto formatting. - Added CircleCI configuration.
- Allow dispatch of single tasks.
- Added clearer error message when HTTP requests have an
ECONNREFUSEDerror. - Added MIT license file.
- Updated
eslintconfiguration to useeslint-config-airbnb-baserules. - Updated npm packages.
- Update Zenaton engine URL to point to the new subdomain.
- Update the serializer to encode/decode from/to Zenaton format and deal with recursion.
- Split the code base into two branches: synchronous and asynchronous, to accomodate both old and new workflows.
- Refactor to make the whole code tree asynchronous.
- Fixed all new errors found by new configuration of
eslint. - Fixed code format to comply with
prettierrules.
- Deprecated
[].dispatch()and[].execute()in favor of usingnew Parallel().dispatch()andnew Parallel().execute(). Workflow.execute()is now always asynchronous and returns aPromise.
- Removed some dead code in
/src/v1/Services/Serializer.js. - Removed obsolete file
/src/v1/Services/Properties.js.