Version 0.12 Released!


07 January 2015, Dominik Charousset [#API] [#GitHub] [#FreeBSD]


Version 0.12 of CAF has just been released. This release adds FreeBSD 10 to the list of supported OSes but removes two features from CAF: (1) type names are no longer demangled automatically, and (2) .continue_with is no longer supported.

The former change is due to the fact that there is no standard-compliant way to retrieve the original, i.e., “unmangled”, type name from std::type_info. Some compilers allow you to restore type names at runtime. For example, GCC and Clang support a C ABI to invert the mangling operation. However, this function is broken on FreeBSD and is not offered on all platforms. After much consideration, we have thus decided to remove the automated demangling completely. As a consequence, announce() now takes the type name as first argument, i.e., announce<my_class>(...) becomes announce<my_class>("my_class", ...).

The .continue_with feature has been removed mainly due to its runtime overhead. Since this overhead was added to each sync_send operation, we have decided to drop this feature in favor of a better overall system performance.

For a list of bugfixes and improvements, please read the release notes on GitHub.