C++ Actor Framework — Dev Blog

An Open Source implementation of the actor model in C++

Version 0.15.1 Released!

Version 0.15.1 of CAF has just released. This patch removes the non-null guarantee on actor handles. While the non-null guarantee is a nice property and allows for cleaner code in some parts in CAF, the absence of a default constructor puts obstacles in the way of developers trying to port from earlier version of CAF. Also, using actor handles in containers or optional was painful. Sending messages to invalid handles is a no-op, no checking by the user required.

Further changes:

  • Fix handling of integer types in actor_system_config for custom parameters
  • Fix a possible race when spawning function-based actors
  • Avoid ambiguous overload with inspect() when serializing/deserializing
  • Deprecate .unsafe() (simply use bool conversion instead)
  • Fix spawn_in_group<T>
  • Fix a bug that matched any atom when querying type-erased tuple directly
  • Remove all try/catch blocks when compiling CAF with CAF_NO_EXCEPTIONS
  • Mark optional<T>'s move ctor/assignment noexcept if noexcept in T
Version 0.15 is Out!

Just a quick announcement: CAF 0.15 is finally out! We delayed the release due to two last minute bug fixes. With 0.15 out in the wild, we can start working on exciting new features again.

Second Pre-release of Version 0.15 Released!

We gladly announce the second pre-release of CAF version 0.15. A big thank you goes to our early adopters! You helped us to improve CAF with reports on bugs and API flaws on the mailing list as well as on GitHub. Needless to say, this release contains many bug fixes as a result. Further, our new type inspection API is now in place. You can also spawn actors remotely using our new experimental API.

CAF now enters the feature freeze phase and we are confident to ship 0.15 end of August.