C++ Actor Framework v0.17.5 Release Notes
Release Date: 2020-05-13 // almost 4 years ago-
➕ Added
- In order to allow users to start migrating towards upcoming API changes, CAF
0.17.5 includes a subset of the CAF 0.18type_id
API. Listing all
user-defined types betweenCAF_BEGIN_TYPE_ID_BLOCK
and
CAF_END_TYPE_ID_BLOCK
assigns ascending type IDs. Only one syntax for
➕CAF_ADD_ATOM
exists, since the atom text is still mandatory. Assigning type
0️⃣ IDs has no immediate effect by default. However, the new function
actor_system_config::add_message_types
accepts an ID block and adds
⚙ runtime-type information for all types in the block. - In order to opt into the compile-time checks for all message types, users can
set theCAF_ENABLE_TYPE_ID_CHECKS
CMake flag toON
(pass
🏗--enable-type-id-checks
when using theconfigure
script). Building CAF
with this option causes compiler errors when sending a type without a type ID.
This option in conjunction with the newadd_message_types
function removes a
common source of bugs: forgetting to calladd_message_type<T>
for all types
that can cross the wire.
🔄 Changed
- Our manual now uses
reStructuredText
instead ofLaTeX
(backport from
0.18).
🛠 Fixed
- 🛠 Fix handling of OS-specific threading dependency in CMake.
- 🛠 Fix uninstall target when building CAF as CMake subdirectory (backport from
0.18). - Fix potential deadlock with
inline_all_enqueues
(backport from 0.18). - Exceptions while handling requests now trigger error messages (backport from
0.18). - 🛠 Fix build on GCC 7.2
- 🛠 Fix build error in the OpenSSL module under some MSVC configurations
- Serializer and deserializer now accept
std::chrono::time_point
for all clock
types instead of hard-wiringstd::system_clock
. - In some edge cases, actors failed to shut down properly when hosting a stream
🛠 source (#1076). The handshake process for a graceful shutdown has been fixed. - 🛠 Fixed a compiler error on Clang 10 (#1077).
- 💻 Setting lists and dictionaries on the command line now properly overrides
🔧 default values and values from configuration files instead of appending to
them (#942). - Using unquoted strings in command-line arguments inside lists now works as
expected. For example,--foo=abc,def
is now equivalent to
--foo=["abc", "def"]
.
- In order to allow users to start migrating towards upcoming API changes, CAF