[so-5.5.24 Version Info]
[so-5.5.23 Version Info]
[so-5.5.22 Version Info]
[so-5.5.21 Version Info]
[so-5.5.20 Version Info]
[so-5.5.19 Version Info]
[so-5.5.18 Version Info]
[so-5.5.17 Version Info]
[so-5.5.16 Version Info]
[so-5.5.15 Version Info]
[so-5.5.14 Version Info]
[so-5.5.13 Version Info]
[so-5.5.12 Version Info]
[so-5.5.11 Version Info]
[so-5.5.10 Version Info]
[so-5.5.9 Version Info]
[so-5.5.8 Version Info]
[so-5.5.7 Version Info]
[so-5.5.6 Version Info]
[so-5.5.5 Version Info]
[so-5.5.4 Version Info]
[so-5.5.3 Version Info]
[so-5.5.2 Version Info]
[so-5.5.1 Version Info]
[so-5.5.0 Version Info]
[so-5.4.0 Version Info]
[so-5.3.0 Version Info]
[so-5.2.3 Version Info]
[so-5.5.24 event_queue_hook]
An experimental support of unit-testing of agent are introduced. See the corresponding blog post for more details.
A new feature: enveloped messages. See [so-5.5 In-depth - Enveloped Messages] for more details.
Some internal refactoring and optimization of spinlocks usage.
A build for Android can be made not only with CrystaX NDK, but with the fresh Android NDK too (Android NDK r18b was used for testing).
[so-5.5.22.1 Run-time Detection Of transfer-to-state Loops]
[so-5.5.22 Message Delivery Tracer Filters] -- Note: this feature introduces some compatibility breaking changes.
[so-5.5.22 Free Functions As Handlers]
[so-5.5.22 Value of so_current_state In Enter-Exit Handlers]
Some new examples added: selective_msg_tracing and nohandler_msg_tracing.
[so-5.5.21 Deadletter Handlers]
Negative values of pause
and period
for so_5::send_delayed()
, so_5::send_periodic()
, so_5::environment_t::schedule_timer()
and so_5::environment_t::single_timer()
are now explicitely disabled.
Operator so_5::state_t::operator!=()
added.
noexcept
marks are set for so_5::intrusive_ptr_t
and so_5::timer_id_t
classes.
[5.5.20 Const-methods as event handlers]
[5.5.20 New overloads for send_delayed and send_periodics]
[5.5.20 Enhanced support for CMake]
If compiler supports [[nodiscard]]
attribute then this attribute is used for so_5::send_periodic
functions.
[so-5.5.19 Mutable Messages]
[so-5.5.19 New Format of Send Functions to Simplify Message Redirection]
[so-5.5.19 Environment Infrastructure]
[so-5.5.19 Deprecation of create_default_disp_binder]
[so-5.5.19 Stop guards]
[so-5.5.19 Custom mbox Creation Procedure]
[so-5.5.19 SObjectizer Version Macros]
[so-5.5.19 Checking the Presense of a Subscription]
New examples: hello_world_simple_not_mtsafe, modify_resend_as_immutable, mutable_msg_agents, wrapped_env_demo_3, two_handlers, stop_guard.
[so-5.5.16 New select functions for receive messages from several mchains]
[so-5.5.16 mchain uses MPMC queue inside]
[so-5.5.16 Helper functions create_mchain]
[so-5.5.16 New helper function auto_close_mchains]
[so-5.5.16 New helper function auto_join]
[so-5.5.16 New methods of coop_t class]
[so-5.5.16 New next_thread_wakeup_threshold param for thread-pool dispatchers]
New examples mchain_multi_consumers and mchain_select added.
A possibility to implement an agent as hierarchical state machine is added. See [so-5.5 In-depth - Agent States] for more details.
New examples blinking_led, intercom_statechart and state_deep_history are added.
[so-5.5.13 Deprecation of rt namespace] -- NOTE: switching to v.5.5.13 could break your code.
[so-5.5.13 Message chains]
[so-5.5.13 New constructor for wrapped_env_t class]
[so-5.5.13 Name state_t is defined also inside agent_t]
[so-5.5.13 Deprecation of create_local_mbox method]
[so-5.5.13 Deprecation of send_delayed_to_agent and send_periodic_to_agent]
A performance degradation for local mboxes with large amount of subscribers for one message type is fixed (that degradation was accidentally introduced some versions ago).
New data source for showing quantity of coops waiting for final deregistration step added to run-time statistics.
Small modification to output format of msg_tracing messages (format of pointers doesn't depends of compiler now).
Fix for bug #14
A possibility to trace details of message delivery process is added: [so-5.5 In-depth - Message Delivery Tracing]
A possibility to send messages of arbitrary types is added: [so-5.5 In-depth - Messages of Arbitrary Types].
[so-5.5.9 New helper functions request_future and request_value]
[so-5.5.9 New format of send function]
[so-5.5.9 New wrapped_env class]
BugFix: an attempt to use direct_mbox of deregistred agent will lead to use of dangling pointer to already destroyed agent.
New examples added to SObjectizer distribution (convert_lib, chstate_msg_tracing). One of them is explained in Wiki: [so-5.5 By Example ConvertLib]
Priorities for agents has been added. See [so-5.5 In-depth - Priorities of Agents] for more details.
[so-5.5.8 New form of introduce_child_coop function]
[so-5.5.8 New methods of agent_coop_t for deregistration]
[so-5.5.8 New method make_agent_context for agent_coop_t]
[so-5.5.8 Simplification of usage of send-family functions with ad-hoc agents]
[so-5.5.8 Simpification of ad-hoc agents subscription]
[so-5.5.8 Another variant of limit_then_abort]
[so-5.5.8 Changes in coop registration procedure]
Support for Visual C++ 14.0 (Visual Studio 2015) added.
A small fix for collecting runtime monitoring info in so_5::disp::reuse::work_thread.
A small refactoring of SObjectizer-5 to guarantee that std::abort
will be called when appropriate event in presence of exceptions during error logging.
A new example make_pipeline is added.
[so-5.5.1 Name mbox_t instead of mbox_ref_t]
[so-5.5.1 Name intrusive_ptr_t instead of smart_atomic_reference_t]
[so-5.5.1 Method so_subscribe_self() for agent_t]
[so-5.5.1 Two new forms for changing agent state]
[so-5.5.1 Subscribing agent events via state objects]
[so-5.5.1 New overloaded methods for event subscription]
[so-5.5.1 New family of send functions]
[so-5.5.1 The autoname feature for cooperations]
[so-5.4.0 New header file all.hpp]
[so-5.4.0 New type of mbox - multi-producer and single-consumer]
[so-5.4.0 New format of add_agent method of agent_coop_t class]
[so-5.4.0 New helper method so_make_state of agent_t class]
[so-5.4.0 so_subscribe().event() methods chaining]
[so-5.4.0 thread_safety flag for event handlers]
[so-5.4.0 New thread_pool dispatcher]
[so-5.4.0 New adv_thread_pool dispatcher]
[so-5.4.0 A possibility to add a dispatcher after start of SObjectizer Environment]
[so-5.4.0 Autoshutdown mode for SObjectizer Environment]
[so-5.4.0 Helper methods for cooperation deregistration]
[so-5.4.0 There is no more true anonymous agent's states]
Wiki: Documentation
Wiki: Version Specific Documentation
Wiki: so-5.2.3 Version Info
Wiki: so-5.3.0 Version Info
Wiki: so-5.4.0 Version Info
Wiki: so-5.5.0 Version Info
Wiki: so-5.5.1 Version Info
Wiki: so-5.5.10 Version Info
Wiki: so-5.5.11 Version Info
Wiki: so-5.5.12 Version Info
Wiki: so-5.5.13 Version Info
Wiki: so-5.5.14 Version Info
Wiki: so-5.5.15 Version Info
Wiki: so-5.5.16 Version Info
Wiki: so-5.5.17 Version Info
Wiki: so-5.5.18 Version Info
Wiki: so-5.5.19 Version Info
Wiki: so-5.5.2 Version Info
Wiki: so-5.5.20 Version Info
Wiki: so-5.5.21 Version Info
Wiki: so-5.5.22 Version Info
Wiki: so-5.5.23 Version Info
Wiki: so-5.5.3 Version Info
Wiki: so-5.5.4 Version Info
Wiki: so-5.5.5 Version Info
Wiki: so-5.5.6 Version Info
Wiki: so-5.5.7 Version Info
Wiki: so-5.5.8 Version Info
Wiki: so-5.5.9 Version Info