Skip to content

Releases: basiliscos/cpp-rotor

v0.34

25 Mar 11:53
2edf680
Compare
Choose a tag to compare

0.34 (25-Mar-2025)

  • [feature] improve c++20 support
  • [workaround, fltk] more realiable message delivery for fltk backend. Fltk
    might "forget" to invoke scheduled awakes after shutdown process, which leads
    to minor memory leaks
  • [cmake, breaking] use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
  • [cmake, breaking] configure option renamed BUILD_BOOST_ASIO => ROTOR_BUILD_ASIO
  • [cmake, breaking] configure option renamed BUILD_WX => ROTOR_BUILD_WX
  • [cmake, breaking] configure option renamed BUILD_EV => ROTOR_BUILD_EV
  • [cmake, breaking] configure option renamed BUILD_FLTK => ROTOR_BUILD_FLTK
  • [cmake, breaking] configure option renamed BUILD_THREAD => ROTOR_BUILD_THREAD
  • [cmake, breaking] configure option renamed BUILD_DOC => ROTOR_BUILD_DOC
  • [cmake, breaking] configure option renamed BUILD_THREAD_UNSAFE => ROTOR_BUILD_THREAD_UNSAFE
  • [cmake, new] configure option added ROTOR_BUILD_TESTS (instead of ENABLE_TESTING)

v0.33

26 Jan 16:38
5ce3cd3
Compare
Choose a tag to compare

0.33 (26-Jan-2025)

  • [cmake, bugfix, win32] add ws2_32 lib for rotor_asion win32 build

v0.32

18 Dec 15:33
Compare
Choose a tag to compare
  • [feature] added make_routed_message() free function.
    The function is used for "synchronized" message post-processing, i.e. once a
    message has been delivered and processed by all recipients (can be zero),
    then it is routed to the specifed address to do cleanup.

Example:

  1. an db-actor and opens transaction and reads data (i.e. as std::string_views, owned by db)
  2. actors sends broadcast message to all interesting parties to deserialized data
  3. after the step 2 is finished the db-actor closes transaction and releases acquired resources.

The make_routed_message is needed to perform recipient-agnostic 3rd step.

The alternative is to create a copy (snapshot) of data (i.e. std::string
instead of std::string_view), but that seems redundant.

  • [improvement, breaking] add void* parameter to message_visitor_t

v0.31

18 Oct 20:59
93c8566
Compare
Choose a tag to compare
  • [bugfix, fltk] more realiable message delivery for fltk backend

v0.30

23 Apr 10:25
Compare
Choose a tag to compare
  • [feature] added fltk-backend
  • [feature, conan] enable_fltk option which add fltk-support
  • [example] added /examples/ping-pong-fltk.cpp and
    examples/ping-pong-fltk_and_thread.cpp
  • [bugfix] wx-backend building and testing
  • [improvement, breaking] output directories are set to bin for cmake
  • [improvement, breaking] actor_base_t::make_error() is marked as const

v0.29

23 Feb 21:50
21b421d
Compare
Choose a tag to compare

0.29 (24-Feb-2024)

  • [bugfix] fix segfault in delivery plugin in debugging mode
    (try to set env ROTOR_INSPECT_DELIVERY=99 to see)

v0.28

22 Jan 08:16
322bc93
Compare
Choose a tag to compare
  • [cmake, bugfix] add missing header into installation

v0.27

21 Jan 19:23
6f66b58
Compare
Choose a tag to compare
  • [feature] new interface message_visitor_t
  • [feature] new interface message_stringifier_t and the default implementation
    default_stringifier_t which allows to dump messages. It is not a production but
    a diagnostic/debug tool, due to performance restrictions.
  • [feature] system_context_t provides a reference to default message_stringifier_t;
    it is possible to have a custom one
  • [feature, breaking] extended_error_t holds a reference to a request message,
    which caused an error
  • [examples, tests, win32] fix ev examples and tests
  • [example] modernize examples/thread/sha512.cpp to use recent openssl version
  • [breaking] cmake requirements are lowered to 3.15
  • [breaking] fix minor compilation warnings

v0.26

07 Jan 20:33
5f159ff
Compare
Choose a tag to compare
  • [feature] start_timer callback not only method, but any invocable
  • [feature, conan] enable_ev option which add libev
  • [breaking, conan] boost minimum version 1.83.0
  • [testing, conan] remove catch2 from sources and make it dependencies
  • [bugfix, breaking] make plugins more dll-friendly
  • [breaking] cmake minimum version 3.23
  • [breaking] rename registry_t::revese_map_t revese_map -> registry_t::reverse_map_t reverse_map
  • [breaking] rename struct cancelation_t -> cancellation_t
  • [doc] fix multiple typos

v0.25

03 Jan 10:40
Compare
Choose a tag to compare
  • [bugfix] avoid response messages loose their order relative to regular message
  • [bugfix, example] add missing header