These classes concern I/O functionality and have thus been moved to
``caf::io``
0.10 to 0.11
------------
Version 0.11 introduced new, optional components. The core library itself,
however, mainly received optimizations and bugfixes with one exception: the
member function ``on_exit`` is no longer virtual. You can still provide
it to define a custom exit handler, but you must not use ``override``.
0.11 to 0.12
------------
Version 0.12 removed two features:
* Type names are no longer demangled automatically. Hence, users must explicitly pass the type name as first argument when using ``announce``, i.e., ``announce<my_class>(...)`` becomes ``announce<my_class>("my_class", ...)``.
* Synchronous send blocks no longer support ``continue_with``. This feature has been removed without substitution.
0.12 to 0.13
------------
This release removes the (since 0.9 deprecated) ``cppa`` headers and
deprecates all ``*_send_tuple`` versions (simply use the function
without ``_tuple`` suffix). ``local_actor::on_exit`` once again
became virtual.
In case you were using the old ``cppa::options_description`` API, you can
migrate to the new API based on ``extract`` (see :ref:`extract-opts`).
Most importantly, version 0.13 slightly changes ``last_dequeued`` and
``last_sender``. Both functions will now cause undefined behavior (dereferencing
a ``nullptr``) instead of returning dummy values when accessed from outside a
callback or after forwarding the current message. Besides, these function names
were not a good choice in the first place, since "last" implies accessing data
received in the past. As a result, both functions are now deprecated. Their
replacements are named ``current_message`` and ``current_sender`` (see
:ref:`interface`).
0.13 to 0.14
------------
The function ``timed_sync_send`` has been removed. It offered an
alternative way of defining message handlers, which is inconsistent with the
rest of the API.
The policy classes ``broadcast``, ``random``, and
``round_robin`` in ``actor_pool`` were removed and replaced by
factory functions using the same name.
0.14 to 0.15
------------
Version 0.15 replaces the singleton-based architecture with ``actor_system``.
Most of the free functions in namespace ``caf`` are now member functions of
``actor_system`` (see :ref:`actor-system`). Likewise, most functions in
namespace ``caf::io`` are now member functions of ``middleman`` (see
:ref:`middleman`). The structure of CAF applications has changed fundamentally
with a focus on configurability. Setting and fine-tuning the scheduler, changing
parameters of the middleman, etc. is now bundled in the class
``actor_system_config``. The new configuration mechanism is also easily
extensible.
Patterns are now limited to the simple notation, because the advanced features
(1) are not implementable for statically typed actors, (2) are not portable to
Windows/MSVC, and (3) drastically impact compile times. Dropping this
functionality also simplifies the implementation and improves performance.
The ``blocking_api`` flag has been removed. All variants of