* `basic_parser` now uses pure virtual member functions instead
of the curiously recurring template pattern.
Actions Required:
* Change uses of the `basic_parser` type to omit the `Derived`
template parameter
* Classes derived from `basic_parser` no longer need to friend
the base.
* Virtual functions in the derived class may be marked `override`.
fix#1417
* New get_lowest_layer free function works for any object
* New lowest_layer_type trait works for any object
* New examples and documentation on layered streams
API Changes:
* The member function lowest_layer is removed from all
types provided by the library:
Actions Required:
* Call the free function get_lowest_layer instead of
member lowest_layer.
fix#1290
* BOOST_ASIO_NO_DEPRECATED=1 is now set
* Fix various warnings from the Boost regression test matrix
* Fix a bug in advanced servers when checking for a timeout
fix#1293
* Build ASIO's non-template entities into a static library
to reduce the compiler's memory usage during test compilation.
* Retry as single-threaded build after the first build failure.
fix#642
* Calls to stream::close and stream::async_close will
automatically perform the required read operations
Actions Required:
* Remove calling code which drains the connection after
calling stream::close or stream::async_close