Downloads

Library

The source code of yasmine and all releases can also be found on GitHub.

1.1.0

The 11th release of yasmine (Release date: March 06, 2017)

Changes

  • logging of state machine construction

  • overloaded methods to add transitions that are enabled for multiple event IDs to state machine

  • log when a pseudostate is reached by a transition

  • interrupt method for the state machine: abort a state machine run even during a compound transition

  • possibility to fire event from within states and transitions

  • new example for demonstrating the feature of firing events from states and transitions

  • new macros for creating behaviors, guards and events

The changelog can be found here as well.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

1.0.1

The 10th release of yasmine (Release date: February 08, 2017)

Changes

  • 'halt' method of asynchronous behavior was renamed to 'halt_and_join'

  • bug: Halting an async_state_machine lead to state machine::halt being called before joining the thread that processes events. This could trigger an assert if there were still events enqueued for processing. Also this could lead to the premature termination of async do behaviors or to async do behaviors not being terminated at all.

The changelog can be found here as well.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

1.0.0

The 9th release of yasmine and the first stable version (Release date: January 20, 2017)

Changes

  • The logger now has got a halt_and_join method.

  • Logging: A message that can be waited for.

  • wait methods in async state machine

  • terminated method in async state machine for checking if the state machine is terminated or stopped

  • Y_EVENT_CREATE overloaded macro for creating event classes with up to 10 parameters

  • overloaded macros Y_BEHAVIOR_METHOD_EVENT and Y_BEHAVIOR_FUNCTION_EVENT support up to 10 parameters

  • Y_EMPTY_GUARD for creating an empty guard

  • The event ID of the completion event, COMPLETION_EVENT_ID, was changed to Y_COMPLETION_EVENT_ID and resides inside the sxy namespace.

  • new checks

  • bug fixes

  • code improvements

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

0.6.1 (Beta 7)

The 8th release of yasmine (Release date: December 12, 2016)

Changes

  • bug fix: invalid state exit on external transition returning into source state

  • replaced platform/compiler specific code with a single solution, removed dead code, minor refactoring

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

0.6.0 (Beta 6)

The 7th release of yasmine (Release date: December 09, 2016)

Changes

  • C++03 compatibility

  • A new example: Events with parameters. It explains how to use events with parameters utilizing the corresponding macros.

  • Another new example: Sub state machine with variables. This one shows how to use sub state machines and state-local variables.

  • Macros for setting handlers (that expect a certain event type) as behaviors of states (do, enter exit) or transitions.

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

0.5.0 (Beta 5)

The 6th release of yasmine (Release date: November 07, 2016)

Changes

  • Y_EMPTY_BEHAVIOR for creating a behavior that does nothing

  • CMake files for builds under Linux (gcc, clang) and Windows (Visual Studio)

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015. For building a Visual Studio 2015 solution and CMake files are contained.

0.4.0 (Beta 4)

The 5th release of yasmine (Release date: October 07, 2016)

Changes

  • Y_OPTIMIZE_4_SPEED and Y_OPTIMIZE_4_MEMORY macros for internal optimization of ancestor lists (performance improvements)

  • Y_PROFILER macro was added. When compiled with this macro, the state machine will count the events that were processed.

  • 'LL_OFF' as default log level

  • assembly.hpp macros were improved to avoid ambiguous function calls

  • when Y_NO_LOGGING is defined, no log code will be compiled into the library at all

  • fixed an error when compiling with gcc (const std::string transition_impl::get_transition_name)

  • The handle generator for the timed events is no longer a random function.

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015.

0.3.0 (Beta 3)

The 4th release of yasmine (Release date: September 16, 2016)

Changes

  • New feature: priority for events and event priority processing in the state machine

  • The extension of the headers is now .hpp instead of .h.

  • both the synchronous and asynchronous state machines use "start_state_machine" and "stop_state_machine" methods to start and stop the state machines

  • "start_state_machine" will return now true if the state machine was started and is running and false if a terminate pseudostate was reached or the state machine encountered a problem and is shutting down

  • COMPLETION_EVENT will have now the maximum value of event_id (std::uint32_t -> 4.294.967.295 or 0xFFFFFFFF) instead of 0

  • 'noexcept' for all destructors

  • simple state and asynchronous simple state store an error event instead of a behavior exception

  • Fixed a problem with the URI of the state machine elements. Now, the URI contains all the element's ancestors

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015.

0.2.0 (Beta 2)

The 3rd release of yasmine (Release date: August 19, 2016)

Changes

The entire changelog can be found here.

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015.

0.1.1 (Beta 1)

The 2nd release of yasmine (Release date: July 22, 2016)

Changes

  • Source code formatting (function declarations, function definitions, function calls, and other minor changes)

  • Updated license (read more)

The download provides a complete archive containing licenses, source code and pre-built (static) libraries and examples (binaries) for VS 2015.

0.1.0 (Beta 0)

The very first released version of yasmine (Release date: June 20, 2016)

The download provides a complete archive containing licenses, source code, and pre-built (static) libraries and examples (binaries) for VS 2015: