All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Add WorkflowBase base class for Workflow (#279)
- Add tool for using the aws stepfunctions simulator (#244)
- Implement Map state (#184)
- Add Map State Tolerated Failure (#282)
- Run Map iterations in parallel up to MaxConcurrency (#283)
- Implement Parallel State (#291)
- More granular compare_key and determine path at initialization time (#274)
- For Choice validation, use instance variables and not payload (#277)
- Return ExceedToleratedFailureThreshold if ToleratedFailureCount/Percentage is present (#285)
- Fix case on log messages (#280)
- Handle either ToleratedFailureCount or ToleratedFailurePercentage (#284)
0.14.0 - 2024-08-20
- Implement "IsNumeric": false (#266)
- Support choices that do not have a Default defined (#267)
- Label containers/pods with workflow Execution ID (#268)
- Allow for Execution Id to be passed in (#269)
0.13.1 - 2024-08-16
- Fix podman/docker container_ref trailing newline (#265)
- Improve type check for States.Hash (#261)
- Use Numeric over Integer || Float (#264)
- In ChoiceRule::Data, parse compare key and variable (#257)
0.13.0 - 2024-08-12
- Choice rule payload validation path (#253)
- Intrinsics JsonToString and StringToJson (#256)
- Add States.Format intrinsic function (#258)
- Intrinsics States.JsonMerge (#255)
- Enable support for Hashes in States.Hash (#260)
0.12.0 - 2024-07-31
- Set Floe.logger.level if DEBUG env var set (#234)
- Add InstrinsicFunction foundation + States.Array, States.UUID (#194)
- Evaluate IntrinsicFunctions from PayloadTemplate (#236)
- Add more intrinsic functions (#242)
- Add State#cause_path, error_path (#249)
- Validate Catcher Next (#250)
- Add spec/supports (#248)
- Handle non-hash input/output values (#214)
- Fix Input/Output handling for Pass, Choice, Succeed states (#225)
- Wrap Parslet::ParseFailed errors as Floe::InvalidWorkflowError (#235)
- Fix edge cases with States.Array (#237)
- Fix sporadic test failure with Wait state (#243)
- Fix invalid container names after normalizing (#252)
- Extract ErrorMatcherMixin from Catch and Retry (#186)
- Output should be JSON (#230)
- Normalize functions to all take arguments (#238)
- Pass full path name to State.new for better errors (#229)
- Validate that state machine input is valid JSON (#227)
- Move the Parslet parse into initialize so that invalid function definition will fail on workflow load (#245)
0.11.3 - 2024-06-20
- ResultPath=$ replaces complete output (#199)
- Fix retrier backoff values (#200)
- Fix Retry issues (#202)
- Add Apache-2.0 license (#217)
- Update gemspec summary (#205)
- Simpler State#long_name (#204)
- State only modifies Context#state - prep for Map/Parallel (#206)
- Set StateHistory in Workflow not State (#211)
- Make Runner#wait optional (#190)
- Pass credentials around with context (#203)
- Pass context to State without workflow (#216)
- Move the guts of the CLI into a class for easy testing (#220)
- Set State PreviousStateGuid in StateHistory (#208)
- Add a codeclimate config file (#224)
- Add an Execution unique ID to Context (#226)
0.11.2 - 2024-05-24
- Output now based upon raw input not effective input (#191)
- Fix error raised on invalid resource scheme (#195)
0.11.1 - 2024-05-20
- Fix issue where a failed state can leave a workflow in "running" (#182)
0.11.0 - 2024-05-02
- Ensure the local code is loaded in exe/floe (#173)
- Fix issues with exe/floe and various combinations of workflow and input (#174)
- Add support for pluggable schemes (#169)
- Remove unused run! method (#176)
0.10.0 - 2024-04-05
- Add simplecov (#162)
- Add ability to pass context on the command line (#161)
- Add specs for
Workflow#wait_until
,#waiting?
(#166)
- Drop non-standard Error/Cause fields (#167)
0.9.0 - 2024-02-19
- Default to wait indefinitely (#157)
- Create docker runners factory and add scheme (#152)
- Add a watch method to Workflow::Runner for event driven updates (#95)
0.8.0 - 2024-01-17
- Add CLI shorthand options for docker runner (#147)
- Run multiple workflows in exe/floe (#149)
- Add secure options for passing credentials via command-line (#151)
- Add a Docker Runner pull-policy option (#155)
- Fix podman with empty output (#150)
- Fix run_container logger saying docker when using podman (#154)
- Ensure that workflow credentials is not-nil (#156)
0.7.0 - 2023-12-18
- Remove the dependency on more_core_extensions in ReferencePath (#144)
- Implement
ReferencePath#get
(#144) - Allow a State to set a value in Credentials for subsequent states (#145)
0.6.1 - 2023-11-21
- Return an error payload if run_async! fails (#143)
- Extract run_container_params for docker/podman (#142)
0.6.0 - 2023-11-09
- Fix issue where certain docker image names cannot be pod names (#134)
- Fix uninitialized constant RSpec::Support::Differ in tests (#137)
- Handle ImagePullErr/ImagePullBackOff as errors (#135)
- Add task spec helper (#123)
- Rename State#run_wait to just #wait (#139)
- Refactor the Podman runner to be a Docker subclass (#140)
0.5.0 - 2023-10-12
- For task errors, use the json on the last line (#128)
- Add ability to pass task service account to kube runner (#131)
- Don't put credentials file into input (#124)
- exe/floe return success status if the workflow was successful (#129)
- For error output, drop trailing newline (#126)
0.4.1 - 2023-10-06
- Add Fail#CausePath and Fail#ErrorPath (#110)
- Add Task#Retrier incremental backoff and Wait#Timestamp (#100)
- Combine stdout and stderr for docker and podman runners (#104)
- Don't raise an exception on task failure (#115)
- Fix task output handling (#112)
- Fix Context#input not JSON parsed (#122)
0.4.0 - 2023-09-26
- Add ability to run workflows asynchronously (#52)
- Add Workflow.wait, Workflow#step_nonblock, Workflow#step_nonblock_wait (#92)
0.3.1 - 2023-08-29
- Add more global podman runner options (#90)
0.3.0 - 2023-08-07
- Add --network=host option to Docker/Podman runners (#81)
0.2.3 - 2023-07-28
- Fix storing next_state in Context (#76)
0.2.2 - 2023-07-24
- Configure Renovate (#46)
0.2.1 - 2023-07-12
- Fix State EnteredTime and FinishedTime (#59)
- Add workflow output (#57)
0.2.0 - 2023-07-05
- Add ability to pass options to
Floe::Workflow::Runner
(#48) - Add kubeconfig file support to
Floe::Workflow::Runner::Kubernetes
(#53)
- Remove to_dot/to_svg code (#54)
- Fixed default rake task to spec (#55)
0.1.1 - 2023-06-05
- Fix States::Wait Path initializer arguments (#47)
0.1.0 - 2023-03-13
- Initial release