---
layout: post
title:  "Version 0.15.1 Released!"
author: dominik
tags: API GitHub
---

Version 0.15.1 of CAF has just released. This patch removes the non-null
guarantee on actor handles. While the non-null guarantee is a nice property and
allows for cleaner code in some parts in CAF, the absence of a default
constructor puts obstacles in the way of developers trying to port from earlier
version of CAF. Also, using actor handles in containers or `optional` was
painful. Sending messages to invalid handles is a no-op, no checking by the
user required.

Further changes:
- Fix handling of integer types in `actor_system_config` for custom parameters
- Fix a possible race when spawning function-based actors
- Avoid ambiguous overload with `inspect()` when serializing/deserializing
- Deprecate `.unsafe()` (simply use bool conversion instead)
- Fix `spawn_in_group<T>`
- Fix a bug that matched any atom when querying type-erased tuple directly
- Remove all try/catch blocks when compiling CAF with `CAF_NO_EXCEPTIONS`
- Mark `optional<T>`'s move ctor/assignment noexcept if noexcept in T

---
layout: post
title:  "Version 0.15.1 Released!"
author: dominik
tags: API GitHub
---

Version 0.15.1 of CAF has just released. This patch removes the non-null
guarantee on actor handles. While the non-null guarantee is a nice property and
allows for cleaner code in some parts in CAF, the absence of a default
constructor puts obstacles in the way of developers trying to port from earlier
version of CAF. Also, using actor handles in containers or `optional` was
painful. Sending messages to invalid handles is a no-op, no checking by the
user required.

Further changes:

- Fix handling of integer types in `actor_system_config` for custom parameters
- Fix a possible race when spawning function-based actors
- Avoid ambiguous overload with `inspect()` when serializing/deserializing
- Deprecate `.unsafe()` (simply use bool conversion instead)
- Fix `spawn_in_group<T>`
- Fix a bug that matched any atom when querying type-erased tuple directly
- Remove all try/catch blocks when compiling CAF with `CAF_NO_EXCEPTIONS`
- Mark `optional<T>`'s move ctor/assignment noexcept if noexcept in T

Add vertical space in announcement to fix list
Add vertical space in announcement to fix list
