|  | Home | Libraries | People | FAQ | More | 
Examples
Features
Fixes
Improvements
buffers_cat
        detect_ssl uses
          bool instead of tribool
        static_string
          in HTTP parser
        steady_timer
          type
        static_string
        http::string_to_verb
        operation_aborted
          on partial message
        <experimental/unit_test/thread.hpp>
        filter_token_list
        bind_executor
          in basic_stream
        static_string
          from http::fields
        static_string
          in websocket
        asio::coroutine
          in flat_stream
        Fixes
allocator_traits::construct
          is used for user-defined types
        get_executor
          const-correctness
        async_detect_ssl
          handler type
        buffers
          function
        flat_buffer
          copy members
        buffers_cat iterator
          tests
        beast::iequals
          in basic_parser.ipp
        Documentation
| ![[Tip]](../../../../../doc/src/images/tip.png) | Tip | 
|---|---|
| 
        The namespace alias  | 
New Features
net::async_initiate internally.
        tcp_stream and basic_stream support:
          async_read_some, async_write_some complete
                with error::timeout on expiration.
              simple and unlimited, or a user-defined
                RatePolicy.
              websocket::stream supports
          ssl_stream
          is a public interface
        flat_buffer,
          flat_static_buffer, multi_buffer, and static_buffer:
          data()
                returns a mutable buffer sequence
              cdata()
                to also return constant readable bytes
              noexcept
              flat_buffer,
          multi_buffer
          clear, reserve(),
                max_size(),
                shrink_to_fit()
              max_size()
              bind_front_handler
        static_buffer,
          flat_static_buffer
          clear()
              noexcept
              http::string_to_field
        clear operations
          perserve capacity.
        is_const_buffer_sequence
              is_mutable_buffer_sequence
              buffers_iterator_type
              buffers_type
              async_base,
          stable_async_base
          allocate_stable
                is preferred over handler_ptr
              buffer_bytes replacement
          for net::buffer_size
        saved_handler
              buffers_range_ref
              executor_type
              get_lowest_layer,
                lowest_layer_type
              close_socket, beast_close_socket
              error, condition
              flat_stream, detect_ssl, async_detect_ssl.
        Documentation
API Changes
handler_ptr is deprecated.
          Actions Required: Use stable_async_base
          and allocate_stable instead.
        http::read
                or http::async_read overloads should adjust
                the usage of the returned value as needed.
              has_get_executor,
          is_sync_stream, is_sync_read_stream, is_sync_write_stream,
          is_async_stream, is_async_read_stream, and is_async_write_stream are in stream_traits.hpp.
          Actions Required: Include stream_traits.hpp as needed.
        basic_parser is abstract.
          Actions Required
          basic_parser
                type to omit the Derived
                template parameter
              basic_parser
                no longer need to friend the base.
              override.
              is_file is
          in file_base.hpp. Actions Required: Include file_base.hpp
          as needed.
        flat_static_buffer::reset()
          is deprecated. Actions Required:
          clear()
                instead.
              buffers_adapter is spelled
          buffers_adaptor. Actions
          Required:
          buffers_adapter
                with buffers_adaptor,
                or define BOOST_BEAST_ALLOW_DEPRECATED.
              buffers is spelled make_printable. Actions Required:
          buffers with
                make_printable, and
                include "make_printable.hpp" instead of "ostream.hpp".
              file_mode::append_new is removed, as it makes no
          sense. Actions Required: - Replace file_mode::append_new
          with either file_mode::append or file_mode::append_existing
          as needed.
        role_type is moved from
          websocket to beast
        buffers_range_ref is preferred
          to std::reference_wrapper. Actions
          Required: - Call buffers_range_ref
          with the buffer, instead of calling buffers_range
          with a reference wrapper constructed from the buffer.
        lowest_layer and
          lowest_layer_type are removed.
          Actions Required: Use the free function get_lowest_layer and the type trait
          lowest_layer_type instead.
        accept,
                accept_ex - handshake, handshake_ex
                - async_accept,
                async_accept_ex -
                async_handshake,
                async_handshake_ex
              basic_parser::content_length
          no longer changes as the body of the message is received. Actions
          Required: Call basic_parser::content_length_remaining
          instead of basic_parser::content_length
          in order to determine the remaining number of bytes in the body.
        Examples
tcp_stream with
                timeouts (HTTP)
              ssl_stream
              bind_front_handler
              flat_buffer
        async_echo works with move-only
          handlers
        Fixes
ssl_stream
          for Asio changes
        websocket::stream
        http::message is not-a boost::empty_value
        test::stream has fewer dependencies
        session_alloc
          is thread-safe
        test::stream maintains a handler work guard
        buffers_cat correctly skips
          empty buffers when iterated
        ostream does not overflow
          or exceed the dynamic buffer's maximum size
        test::stream::async_read
        file_mode::append_existing works correctly
        New Videos
New Features
BOOST_BEAST_USE_STD_STRING_VIEW
        Examples
Fixes
boost::empty_value
        basic_fields uses intrusive base
          hooks
        BOOST_NO_EXCEPTIONS
        Experimental
timeout_socket
        This version fixes a missing executor work guard in all composed operations used in the implementation. Users who are experiencing crashes related to asynchronous completion handlers are encouraged to upgrade. Also included is an improved mechanism for generating random numbers used to mask outgoing websocket frames when operating in the client mode. This resolves a vulnerability described in the Beast Hybrid Assessment Report from Bishop Fox.
New Features
      The include directory <beast/experimental> contains features which are not part of
      the stable public interface but are available anyway. They may change in future
      versions.
    
flat_stream for working around
          an SSL stream performance limitation
        http::icy_stream stream filter allows
          parsing ICY HTTP response handshakes
        ssl_stream
          for better SSL performance and move constructability
        test::connect,
          test::error,
          test::fail_count,
          and test::stream
          utilities for writing unit tests.
        http::is_mutable_body_writer metafunction
        websocket::seed_prng for manually providing
          entropy to the PRNG
        websocket::stream::secure_prng to control whether
          the connection uses a secure PRNG
        Improvements
buffers_adaptor
        handler_ptr::has_value
        Fixes
const and
          non-const overloads for message
          based HTTP writes
        bind_handler
        http::parser constructor javadoc
        buffers_adaptor iterator value
          type
        buffers_adaptor::max_size
        buffers_prefix iterator decrement
        Breaking Changes
serializer::reader_impl
        reader and writer ctor signatures
        
      This version fixes significant defects in websocket::stream which can lead to asserts or
      undefined behavior. Users are encouraged to update to the latest Boost release.
    
New Features
bool
          template parameter to websocket::stream When deflateSupported
          is true, the stream will be
          capable of negotiating the permessage-deflate websocket extension per the
          configured run-time settings. When deflateSupported
          is false, the stream will
          never negotiate the permessage-deflate websocket extension. Furthermore,
          all of the code necessary for implementing the permessage-deflate extension
          will be excluded from function instantiations. Programs which set deflateSupported to false
          when instantiating streams will be smaller.
        websocket::error::failed and websocket::error::handshake_failed
          are removed. Actions required: Code which explicitly compares error_code values against the constant
          websocket::error::handshake_failed should compare against
          websocket::condition::handshake_failed instead. Code
          which explicitly compares error_code values against the constant websocket::error::failed should compare against websocket::condition::protocol_violation instead.
        Improvements
http::basic_fields uses less storage
        http::basic_fields exception specifiers
          are provided
        asio::null_buffers
        <boost/beast/websocket/stream_fwd.hpp>
        bind_handler
          works with boost placeholders
        reuse_address(true)
        Fixes
ssl_stream
          special members
        <algorithm> are protected from macros
        http::basic_fields::erase
        bind_handler doc
        "ws_.wr_block_ == tok_".
        API Changes
handler_ptr.
          Actions required: don't call non-public members.
        handler_ptr is a move-only
          type, with unique_ptr semantics.
          Actions required: user-defined composed operations using handler_ptr to manage state can only
          be moved, not copied.
        handler_ptr gives the strong
          exception guarantee. The constructor signature for managed objects constructed
          by handler_ptr now receives
          a const reference to the handler.
          Actions required: Change the constructor signature for state objects used
          with handler_ptr to receive
          a const reference to the handler.
        http::basic_fields does not support
          fancy pointers
        http::parser
          is no longer MoveConstructible
        http::serializer::reader_impl is deprecated and will be
          removed in the next release. Actions required: Call http::serializer::writer_impl instead of serializer::reader_impl.
        http::header and value_type
          objects. This enables the composition of body types. The previous single-argument
          constructors are deprecated and will be removed in the next version. Actions
          required: Change user-defined instances of BodyReader
          or BodyWriter
          constructor signatures to the two-argument form. Alternatively. define
          the macro BOOST_BEAST_ALLOW_DEPRECATED
          in the project (which will cause both the new and the deprecated signatures
          to be accepted).
        websocket::stream::control_callback now copies or
          moves the function object.
        get_lowest_layer
          is now a type alias. Actions required: Replace instances of typename get_lowest_layer<T>::type
          with get_lowest_layer<T>.