Skip to content
This repository has been archived by the owner on Jan 17, 2025. It is now read-only.

Releases: ibm-functions/composer

Composer.lower

23 Apr 02:08
Compare
Choose a tag to compare
  • The composition json is now just the AST with no implicit lowering.
  • composer.lower(composition, [combinators]) is now exposed and gives control over the lowering (if desired).
  • The compose command has two new options: --lower and --version.
  • The combinators are now automatically derived from spec, e.g, if: { args: [{ _: 'test' }, { _: 'consequent' }, { _: 'alternate', optional: true }], since: '0.4.0' }.
  • The spec for the combinators is now exposed as well (composer.combinators).
  • The core language has shrunk thanks to composer.mask and a more aggressive use of lowering.
  • The fsm has fewer states.
  • The code is now split into three components: 1 compiler component available client-side and server-side, 2 client-side composer, and 3 server-side conductor.

Composer.mask

11 Apr 15:21
Compare
Choose a tag to compare

Add composer.mask combinator.

Usability and documentation

28 Mar 17:46
Compare
Choose a tag to compare
  • Improve compose command messages
  • Support defining actions from functions with names other than main
  • Add a lot of documentation
  • Update CLA recipient

Bug fixes

20 Mar 20:37
Compare
Choose a tag to compare

Use conductor actions to implement compositions and remove Redis dependency

20 Mar 13:33
Compare
Choose a tag to compare
  • Composer generates conductor actions to implement compositions. This resolves double billing and restores substitution. Compositions support blocking invocations and may be exposed as web actions.
  • Redis is no longer required to run compositions.
  • The JSON serialization format has evolved to retain the original code structure (sequences, conditionals...). The compilation to finite state machines now happens when the action container is initialized.
  • The scheduling code is stitched to the composition JSON to produce a self-contained action that implements the composition, resolving possible versioning or dangling reference issues.
  • New constructs have been added including finally and dowhile.
  • A composition may include the definition of component actions and compositions.
  • A compose shell script is provided to serialize compositions to the JSON format and deploy them. An extension of the Javascript client for OpenWhisk can do the same. Deployment takes care of nested actions and compositions.
  • The composer module regroups the client-side and server-side code in one file.

Initial release

20 Mar 13:34
Compare
Choose a tag to compare
v0.1.1

Initial commit