All Versions
26
Latest Version
Avg Release Cycle
104 days
Latest Release
921 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.14.0 Changes
September 12, 2020➕ Added
- ➕ Add ability to declare alias target inside definition
- Add #respond_to_missing? to DSL to check if a given method is supported
- ➕ Add current state attribute to StateMachine#inspect
-
v0.13.0 Changes
January 04, 2020➕ Added
- ➕ Add sync as a dependency
- ➕ Add metadata to gemspec
🔄 Changed
- Change StateMachine#final_state to #terminal_states by Brad Gessler(@bradgessler)
- 🔄 Change to remove artefacts like tests & tasks from gemspec
🛠 Fixed
- 🛠 Fix Ruby 2.7 keyword arguments warnings
- 🛠 Fix MessageQueue deadlock by Pavel Rosický(@ahorek)
-
v0.12.1 Changes
July 12, 2019🔄 Changed
- 🔄 Change to relax dev dependencies versions
🛠 Fixed
- 🛠 Fix FiniteMachine.new to stop coercing object target that responds to to_hash into options
-
v0.12.0 Changes
November 11, 2018➕ Added
- ➕ Add concurrent-ruby as dependency
- ➕ Add FiniteMachine#new for declaring state machines
- ➕ Add Observer#cancel_event for cancelling event transitions in callbacks, instead of using callback return value
- ➕ Add Const for declaring unique machine constants
- ➕ Add :auto_methods configuration option for disabling automatic conversion of event names into methods
🔄 Changed
- 🔄 Change gemspec to require Ruby >= 2.0
- 🔄 Change FiniteMachine#define to create machine class instances
- 🔄 Change EventsChain to EventsMap and use Concurrent::Map for holding event transitions
- 🔄 Change Hooks to use Concurrent::Map for storing callbacks
- 🔄 Change MessageQueue to use mutex to synchronize access
- 🔄 Change StateParser to remove internal state and use class methods instead
- 🔄 Change Observer to create callbacks queue on demand
- Change :any key to be a unique constant ANY_EVENT and ANY_STATE
- 🔄 Change #event_names to #events for retrieving all events
- ✂ Remove thread synchronization from AsyncCall, TransitinEvent, HookEvent, DSL, Hooks, TransitionBuilder, ChoiceMerger objects
- ✂ Remove #async call from StateMachine
- ✂ Remove #target, #alias_target, #callbacks, #events and #handlers calls from DSL
🛠 Fixed
- 🛠 Fix StateParser to raise error without nil
- 🛠 Fix to rollback to current state when an error occurs
-
v0.11.3 Changes
March 04, 2016➕ Added
- ➕ Add performance tests & memory usage benchmarks
🔄 Changed
- 🔄 Change EventQueue to MessageQueue for handling generic asynchronous messages
- Split async behaviour to use CallbackQueue for observed callbacks and EventQueue for async event triggers.
- 🔄 Change AsyncProxy and Observer to lazy load message queue
🛠 Fixed
- 🛠 Fix memory leak - issue #42 with help from @craiglittle
-
v0.11.2 Changes
December 30, 2015➕ Added
- ➕ Add infering of state or event name based off hook type
🔄 Changed
- ✂ Remove ThreadContext for global queue synchronization
- 🔄 Change EventQueue to use Threadable module to sync access
🛠 Fixed
- 🛠 Fix bug with two state machines locking up on callback events due to race condition with help from @domokos
-
v0.11.1 Changes
December 17, 2015🛠 Fixed
- 🛠 Fix cancelling callbacks for halted transition by craiglittle
-
v0.11.0 Changes
October 11, 2015➕ Added
- ➕ Add UndefinedTransition to mark self transition(e.i. no transition found)
- ➕ Add StateDefinition for state query methods
- ➕ Add #trigger and #trigger! to StateMachine to allow manual firing of events and split between dangerous and non-dangerous versions of api.
🔄 Changed
- 🔄 Change ThreadContext to require per thread setup
- 🔄 Change Transition to stop relying on global transitions
- 🔄 Change EventChain to manage all internal transitions
- 🔄 Change Subscribers to remove unnecessary parameter dependency
- 🔄 Change StateMachine public interface to clarify available methods
- 🔄 Change HookEvent to accept event name and from state
- ✂ Remove Event class as duplicate of Transition
- ✂ Remove unnecessary checks for StateMachine#can?
🛠 Fixed
- 🛠 Fix bug in Transition with current transition matching
- 🛠 Fix bug in Observer with cancelling inside event callback
-
v0.10.2 Changes
July 05, 2015🔄 Changed
- 🔄 Change StateParser #parse method
- 🔄 Change EventBuilder to EventDefinition and invert dependencies
- 🔄 Change Event#call to #trigger
- 🔄 Change Transition#call to #execute
🛠 Fixed
- 🛠 Fix to run 'on_after' callbacks even when event cancalled by @craiglittle
- 🛠 Fix to cancel transition when no matching choice is found by @craiglittle
-
v0.10.1 Changes
May 24, 2015➕ Added
- ➕ Add ability to inherit state machine definitions
- ➕ Add Env class for holiding machine envionment references
🔄 Changed
- 🔄 Change DSL to delegate calls to machine instance
- 🔄 Change ChoiceMerger to use machine directly