Releases: SeadexGmbH/yasmine
1.5.3 b875
The 26th release of yasmine (Release date: August 14, 2018).
Fixed
- added includes for the case when logging is disabled via SX_NO_LOGGING=NO
- renamed Y_ASSERT to SX_ASSERT in region_impl.cpp
- added essentials/base.hpp include in yasmine.hpp
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.5.2 b870
The 25th release of yasmine (Release date: July 23, 2018).
Fixed
- backward compatibility includes
- CMake installation target refactored
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.5.1 b866
The 24th release of yasmine (Release date: May 16, 2018).
Changed
- removed unnecessary virtual inheritances
Fixed
- added new line at the end of some files (resolves warnings for clang 5.0.1)
- bug in CMake file with checking the same condition (addSpecificFlags, checking CPPVERSION)
- missing optimization flag for release build with gcc and clang (addSpecificFlags.cmake)
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.5.0 b850
The 23rd release of yasmine (Release date: December 18, 2017).
Added
- (C++03) BOOST_BIND_OVER_9 - removes the limit of 7 methods/free functions as parameters for creating behaviors/guards using the assembly macros. The is caused by boost::bind's limitation to 9 arguments.
- (C++11) Y_BEHAVIOR_FREE_ACTION macro for using a free function as a behavior
- (C++11) Y_GUARD_FREE_ACTION macro for using a free function as guard
- yasmine_model:
- new methods to interact with the elements (e.g. get_child, set_parent, ...)
- new methods to interact with the state machine (e.g. remove_event, get_event, remove_transition, get_transition, ...)
- rapidjson_document.hpp as a wrapper for rapidjson/document.h and rapidjson/prettywriter.h
- delete_visitor for deleting elements
- has_error_event to simple state model
- add_deferred_event and remove_deferred_event to state model
- constuctor to easily construct an async simple state model
- setters in transition_model for behavior, guard, triggers, target, source, and kind
- methods to get the element that deferes an event and to check if an element deferes an event
- list of external vertices
Changed
- Y_INVALID_EVENT_CREATION_REQUEST_HANDLE is now „external“
- use essentials and hermes as libraries
- CMake: Adapt to use essentials and hermes as libraries. Applies to examples as well.
- yasmine_model:
- internally use rapidjson_document.hpp instead of document.h
- event_model is now a class and has getters and setters for its properties
- use essentials as a library
- CMake: use external CMakeHelpers files
- libygen:
- use essentials as library
- CMake: use external CMakeHelpers files
- CMake: refactoring of build scripts
- ygen:
- CMake: use external CMakeHelpers files
- CMake: refactoring of build scripts
Fixed
- bug with use of old method signature for macros Y_BEHAVIOR_ACTION and Y_GUARD_ACTION
- yasmine_model:
- read/write error event from/to model file
- read/write region from/to model file: 'pseudostates' list is read for backward compatibility. Just 'vertices' is written.
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.4.3 b810
The 22nd release of yasmine (Release date: November 10, 2017).
Changed
- Y_USE_DEPRECATED to make deprecated features available
- essentials: SX_UNUSED_VARIABLE macro for suppressing warnings for unreferenced variable.
- split assembly header in two files: one for C++11 and up and one for C++03
- caller.hpp needs to become behavior_caller.hpp
- caller_adapter.hpp needs to become adapter.hpp
- major improvements for C++03 support
- create_behavior_function and create_guard_function (internally used in assembly.hpp) are now in namespace sxy
- fixed bug with missing get_error_event implementation in composite_state_impl
- fixed bug with missing dereference operator in behavior_caller and guard_caller
- yasmine_model:
- removed move operation from return where a local created unique pointer is returned
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.4.2 b790
The 21st release of yasmine (Release date: October 16, 2017).
Changed
- CMake: changes of RapidJSON include path handling
- fix: enqueuing of an event failed during the start of an async state machine
- yasmine_model:
- rapidjson_document header as a wrapper for RapidJSON usage
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.4.1 b770
The 20th release of yasmine (Release date: October 16, 2017).
Changed
- CMake files refactoring. Improvements to make cross compiling easier.
- pragma warning just for Micsoft Visual Studio compiler. Removed -Wunknown-pragmas from CMake file.
- fix in sxprintf: added missing boost namespace
- fix: using SX_UNUSED_PARAMETER macro in return of function in assembly.hpp
- yasmine_model:
- fix: include path of prettywriter header
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.4.0 b751
The 19th release of yasmine (Release date: September 21, 2017).
Changed
- added support for Visual Studio 2017 builds
- complex states (root state of the state machine, simple states and composite states) now have a method called add_deferred_event. This method adds an event ID to the list of the deferred events IDs. This method is not thread-safe a must only be used before starting the state machine
- On start of the state machine, the root state becomes active and on stop it becomes inactive.
- fix bug with ::std::toupper and ::std::tolower (reported for VS2017 compiler, version 15.3.4)
- get_name is now a public method of the state_machine class
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.3.3 b722
The 18th release of yasmine (Release date: August 22, 2017).
Changed
- CMake: setting rapidJSON path by setting the SX_RAPIDJSON variable
Fixed
- SX_GCC_EXPAND_TEMPLATE_PARAM_PACK_BUG: workaround for bug in GCC with expansion of template parameter pack that appears in a lambda-expression (reported for GCC 4.8.4)
- bug when passing template class member function to Y_BEHAVIOR_METHOD2 and Y_GUARD_METHOD2 (reported for GCC 5.0.4)
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html
1.3.2 b716
The 17th release of yasmine (Release date: August 18, 2017).
Changed
- changed const_iterator to iterator in methods vertex_impl::add_outgoing_transition and
vertex_impl::find_first_transition_without_guard for compilers with incomplete C++11 support - fixed incorrect use of logging macro when compiling C++03 code
Changelog can be found on http://yasmine.seadex.de/Changelog.html
Documentation can be found on http://yasmine.seadex.de/libyasmine_(documentation).html