All Versions
22
Latest Version
Avg Release Cycle
64 days
Latest Release
1376 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.17.4 Changes
February 08, 2019- Accept numbers as keys in the config syntax (#1014)
- Fix behavior of
inline_all_enqueues
in the testing DSL (#1016) - 👉 Make sure actors that receive stream input shut down properly (#1019)
- Fix undesired function hiding in
fused_downstream_manager
(#1020) - 👌 Improve
to_string
output forcaf::error
(#1021) - 🛠 Fix path recognition in the URI parser, e.g.,
file:///
is now valid (#1013) - Properly report errors to users while connecting two CAF nodes (#1023)
- 🏗 Simplify crosscompilation: remove build dependency on code generators (#1026)
- 🏗 Leave CXX settings to the (CMake) parent when building as subdirectory (#1032)
- 📚 Build without documentation in subdirectory mode (#1037)
- Allow parents to set
OPENSSL_INCLUDE_DIR
in subdirectory mode (#1037) - ➕ Add
-pthread
flag on UNIX when looking forlibc++
support (#1038) - ➕ Add missing
operator==
forexit_msg
(#1039) - 🌲 Avoid producing unexpected log files (#1024)
-
v0.17.3 Changes
November 11, 2019- ➕ Add support for OpenBSD (#955)
- Provide uniform access to actor properties (#958)
- 🛠 Fix bug in stream managers that caused finalizers to get called twice (#937)
- 🛠 Fix verbosity level with disabled console output (#953)
- 🛠 Fix excessive buffering in stream stages (#952)
- ➕ Add missing
to_string(pec)
(#940)
-
v0.17.2 Changes
October 20, 2019- ➕ Add
scheduled_send
for delayed sends with absolute timeout (#901) - 👍 Allow actors based on composable behaviors to use the streaming API (#902)
- 🛠 Fix memory leak when deserializing
node_id
(#905) - 🛠 Fix composition of statically typed actors using streams (#908)
- ⬇️ Reduce stack usage of serializers (#912)
- 🛠 Fix several warnings on GCC and Clang (#915)
- 🐧 Use default installation directories on GNU/Linux (#917)
- Fix
holds_alternative
andget_if
forsettings
(#920) - 👌 Support arbitrary list and map types in
config_value
(#925) - 👍 Allow users to extend
config_value
API (#929, #938) - 🛠 Fix silent dropping of errors in response handlers (#935)
- 🛠 Fix stall in
remote_group
on error (#933)
- ➕ Add
-
v0.17.1 Changes
August 31, 2019- 🛠 Fix endless loop in config parser (#894)
- 🛠 Fix debug build with Clang 7 on Linux (#861)
- 🛠 Fix type-specific parsing of config options (#814)
- 👌 Improve CMake setup when building CAF as subfolder (#866)
- 🛠 Fix potential deadlock in proxy registry (#880)
- 🛠 Fix output of --dump-config (#876)
- 🛠 Fix potential segfault when using streams with trace logging enabled (#878)
- Properly set CLI remainder (#871)
- 👌 Support nesting of group names in .ini files (#870)
- 👌 Support all alphanumeric characters in config group names (#869)
- 🛠 Fix handling of containers with user-defined types (#867)
- Fix
defaulted_function_deleted
warning on Clang (#859)
-
v0.17.0 Changes
July 27, 2019- Parallelize deserialization of messages received over the network (#821).
Moving the deserialization out of the I/O loop significantly increases
🐎 performance. In our benchmark, CAF now handles twice as many messages per
second. - ➕ Add marker to make categories optional on the CLI: Categories are great at
organizing program options. However, on the CLI they get in the way quickly.
This change allows developers to prefix category names with ? to make it
optional on the CLI. - 🛠 Fix performance of thread-safe actor clock (#849). This clock type is used
whenever sending requests, delayed messages, receive timeouts etc. CAF can
🖐 handle about 10x more timeouts per second after the patch. 😌 Relax ini syntax for maps by making
=
for defining maps and,
for
separating key-value pairs optional. For example, this change allows to
rewrite an entry like this:logger = { console-verbosity='trace', console='colored'}
to a slightly less noisy version such as this:
logger { console-verbosity='trace'console='colored'}
- 👍 Allow apps to always use the
caf::logger
, whether or not CAF was compiled
🌲 with logging enabled. - 🛠 Fix over- and underflow checks in number parser (#852).
- 🛠 Fix multicast address detection in
caf::ipv4_address.cpp
(#853). - 🛠 Fix disconnect issue / WSAGetLastError usage on Windows (#846).
- 🛠 Fix
--config-file
option (#841). - 🛠 Fix parsing of CLI arguments for strings and atom values.
- ➕ Add conversion from
nullptr
to intrusive and COW pointer types. - 👍 Streamline direct node-to-node communication and support multiple app
identifiers. - Reimplement
binary_serializer
andbinary_deserializer
without STL-style
🐎 stream buffers for better performance. - 👌 Support move-only behavior functions.
- 👍 Allow users to omit
global
in config files. - 👍 Allow IPO on GCC/Clang (#824).
- Parallelize deserialization of messages received over the network (#821).
-
v0.16.5 Changes
November 11, 2019➕ Added
- 👌 Support for OpenBSD.
-
v0.16.4 Changes
November 11, 2019🛠 Fixed
- 📜 Backport parser fixes from the CAF 0.17 series.
- ⚠ Silence several compiler warnings on GCC and Clang.
-
v0.16.3 Changes
December 27, 2018➕ Added
- The new class
cow_tuple
provides anstd::tuple
-like interface for a heap-allocated, copy-on-write tuple. - Missing overloads for
dictionary
. - The new
to_lowercase
function for atoms allows convenient conversion without having to convert between strings and atoms.
🔄 Changed
- 🖨 Printing timestamps now consistently uses ISO 8601 format.
- The logger now uses a bounded queue. This change in behavior will cause the application to slow down when logging faster than the logger can do I/O, but the queue can no longer grow indefinitely.
- Actors now always try to dequeue from the high-priority queue first.
🛠 Fixed
- 🏗 Solved linker errors related to
socket_guard
in some builds. - 🛠 Fix the logger output for class names.
- Deserializing into non-empty containers appended to the content instead of overriding it. The new implementation properly clears the container before filling it.
- The
split
function from the string algorithms header now works as the documentation states. - ⚠ Silence several compiler warnings on GCC and Clang.
- The new class
-
v0.16.2 Changes
November 03, 2018🛠 Fixed
- 🚀 The copy-on-write pointer used by
message
failed to release memory in some cases. The resulting memory leak is now fixed.
- 🚀 The copy-on-write pointer used by
-
v0.16.1 Changes
October 31, 2018➕ Added
- ➕ Adding additional flags for the compiler when using the
configure
script is now easier thanks to the--extra-flags=
option. - 👍 The actor clock now supports non-overriding timeouts.
- The new
intrusive_cow_ptr
is a smart pointer for copy-on-write access.
🔄 Changed
- 👌 Improve
noexcept
-correctness ofvariant
. - CAF threads now have recognizable names in a debugger.
- The middleman now passes
CLOEXEC
onsocket
/accept
/pipe
calls. - 🌲 Users can now set the log verbosity for file and console output separately.
🛠 Fixed
- A
dictionary
now properly treats C-strings as strings when usingemplace
. - Eliminate a potential deadlock in the thread-safe actor clock.
- ➕ Added various missing includes and forward declarations.
- ➕ Adding additional flags for the compiler when using the