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.