diff --git a/doc/qbk/main.qbk b/doc/qbk/main.qbk index 63e6aa99..27cc3ef5 100644 --- a/doc/qbk/main.qbk +++ b/doc/qbk/main.qbk @@ -134,7 +134,9 @@ [import ../../test/doc/core_3_layers.cpp] [section:quickref Reference] -🞲 indicates item is new in this version. +''' +🞲 indicates an item that is new in this version. +''' [xinclude quickref.xml] [endsect] [block'''This Page Intentionally Left Blank 1/2'''] diff --git a/doc/qbk/quickref.xml b/doc/qbk/quickref.xml index 553f795c..98dca9f3 100644 --- a/doc/qbk/quickref.xml +++ b/doc/qbk/quickref.xml @@ -8,7 +8,6 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Official repository: https://github.com/boostorg/beast - --> diff --git a/doc/qbk/release_notes.qbk b/doc/qbk/release_notes.qbk index 444162f8..ffa71d58 100644 --- a/doc/qbk/release_notes.qbk +++ b/doc/qbk/release_notes.qbk @@ -9,9 +9,158 @@ [section Release Notes] +[/-----------------------------------------------------------------------------] + +[heading Boost 1.70] +[/ includes up to version 209] +[/ +Exposition: +Enlarged scope +New quality of life features: + timed stream + async_op_base, stable_async_op_base +New Networking refresher +New websocket-chat-multi example +* `net` is a namespace alias for `boost::asio` +] + +[tip + The namespace alias `net` is now used throughout for `boost::asio`. +] + +[*New Features] + +[/* `BASIC_TIMEOUT_STREAM` TODO] + +* ([issue 1305]) Better `flat_buffer`, `flat_static_buffer`, `multi_buffer`, and `static_buffer`: + * Revise all reference documentation + * Move construction does not always invalidate buffers + * non-const `data()` returns a mutable buffer sequence + * Add `cdata()` to also return constant readable bytes + * Eligible member functions are declared `noexcept` + +* ([issue 1345]) Better `flat_buffer`, `multi_buffer` + * Add `reserve()`, `max_size()`, `shrink_to_fit()` + * Respect Allocator `max_size()` + * Specify exception safety + +* ([issue 1384]) New functions `bind_back_handler`, `bind_front_handler` + +* Better `static_buffer`, `flat_static_buffer` + * Add `clear()` + * More members are `noexcept` + * Specify exception safety + +* Faster `http::string_to_field` + +* New file + * New variadic `is_const_buffer_sequence` + * New variadic `is_mutable_buffer_sequence` + * New `buffers_iterator_type` trait + * New `buffers_type` trait + +* New classes `async_op_base` and `stable_async_op_base` + * Handle boilerplate for writing composed operations + * New `allocate_stable` is preferred over `handler_ptr` + +* New `buffer_size` replacement for `net::buffer_size` + +* New: + * `saved_handler` + * `buffers_range_ref` + * `dynamic_buffer_ref` + * `get_lowest_layer` and `lowest_layer_type` + * `close_socket` and `beast_close_socket` + * `error` and `condition` + +[*API Changes] + +* HTTP stream algorithms return the number of bytes transferred + from the stream. Previously, they returned the number of bytes + consumed by the parser. + ['Actions Required]: + * Callers depending on the return value of `http::read` or + `http::async_read` overloads should adjust the usage of + the returned value as needed. + +* `flat_static_buffer::reset()` is deprecated. + ['Actions Required]: + * call `clear()` instead. + +* `buffers_adapter` is now called `buffers_adaptor`. + ['Actions Required]: + * Replace `buffers_adapter` with `buffers_adaptor`, or define + `BOOST_BEAST_ALLOW_DEPRECATED`. + +* `buffers` is now called `make_printable`. + ['Actions Required]: + * Replace `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. + +* `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. + +* Nested `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. + +[*Examples] + +* ([issue 1100]) http-crawl clears the response before each read + +* ([issue 1347]) Improve echo-op + +* ([issue 1401]) Examples use `flat_buffer` + +* New websocket-chat-multi example + +* `async_echo` works with move-only handlers + +[*Fixes] + +* ([issue 1223]) HTTP read counts bytes correctly when an error occurs + +* ([issue 1247]) Update `ssl_stream` for Asio changes + +* ([issue 1279]) Enable explicit instantiations of `websocket::stream` + +* ([issue 1290]) Don't use deprecated Asio interfaces + +* ([issue 1306]) `http::message` is not-a `boost::empty_value` + +* ([issue 1306]) `test::stream` has fewer dependencies + +* ([issue 1365]) Handler wrappers decay parameters sooner + +* ([issue 1408]) `session_alloc` is thread-safe + +* ([issue 1414]) Boost.System is header-only + +* ([issue 1418]) `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 + +* A handler work guard is maintained on paused websocket operations + +* All behavior of default-constructed iterators is conforming + +* `file_mode::append_existing` works correctly + +[/-----------------------------------------------------------------------------] + [heading Boost 1.69] -[* New Videos] +[*New Videos] [block''' @@ -22,11 +171,11 @@ '''] -[* New Features] +[*New Features] * ([issue 1133]) Add `BOOST_BEAST_USE_STD_STRING_VIEW` -[* Examples] +[*Examples] * New WebSocket server and browser-based client: [source_file example/cppcon2018]