Check it out:
From the release notes:
- Outcome: A set of tools for reporting and handling function failures in contexts where directly using C++ exception handling is unsuitable, from Niall Douglas.
- Histogram: Fast and extensible multi-dimensional histograms with convenient interface for C++14, from Hans Dembinski.
- Fixed a Windows-specific memory leak that may occur when system_executor is used.
- Improved dispatch, post and defer documentation.
- Fixed compile errors that occur when using the composed read and write operations with MSVC 11.0.
- Fixed a macOS-specific warning about the deprecation of OSMemoryBarrier.
- Changed composed asynchronous read and write operations to move buffer sequence objects.
- Added a fallback error code for when we OpenSSL produces an SSL_ERROR_SYSCALL result without an associated error.
- Suppressed the eof error on SSL shutdown as it actually indicates success.
- Ensured SSL handshake errors are propagated to the peer before the local operation completes.
- Fixed buffer_sequence_begin and buffer_sequence_end to prevent implicit conversion.
- Changed the range-based asynchronous connect operation to deduce the EndpointSequence iterator type.
- Fixed calculation of absolute timeout when the backend uses pthread_cond_timedwait.
- Changed receive operations to return the correct number of bytes transferred when truncation (error::message_size) occurs on a datagram-oriented socket.
- Enabled recycling of the memory used to type-erase a function object with the polymorphic executor.
- Added a new BOOST_ASIO_DISABLE_VISIBILITY configuration #define.
- Added the noexcept qualifier to various functions.
- Added a constructor for local::basic_endpoint that takes a string_view.
- Relaxed the completion condition type requirements to only require move-constructibility rather than copy-constructibility.
- Added a make_strand helper function.
- Added a new async_compose function that simplifies the implementation of user-defined asynchronous operations.
- Added a new DynamicBuffer_v2 concept which is CopyConstructible.
- Updated the Coroutines TS support and promoted it to the asio namespace.
- Added a new async_result form with an initiate static member function.
- Added the ability to use custom I/O executors with I/O objects (such as sockets).
- This release includes a number of new features, bug fixes, performance enhancements, and documentation improvements. Notable changes include:
- Consult the Revision History for further details.