From b68db30ba6161932d2c768b6c3fcb7a94b424646 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Sat, 17 Feb 2018 10:01:29 -0800 Subject: [PATCH] Add release notes to documentation --- CHANGELOG.md | 1 + doc/qbk/00_main.qbk | 2 + doc/qbk/09_releases.qbk | 160 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 doc/qbk/09_releases.qbk diff --git a/CHANGELOG.md b/CHANGELOG.md index cd1098e9..2b558db0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ Version 156: * Don't use typeid +* Add release notes to documentation -------------------------------------------------------------------------------- diff --git a/doc/qbk/00_main.qbk b/doc/qbk/00_main.qbk index 5685cc56..5e1a21df 100644 --- a/doc/qbk/00_main.qbk +++ b/doc/qbk/00_main.qbk @@ -28,6 +28,7 @@ [template source_file[path] ''''''[path]''''''] [template include_file[path][^<''''''[path]''''''>]] +[template issue[n] '''(#'''[n]''')'''] [def __N3747__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3747.pdf [*N3747]]] [def __NetTS__ [@http://cplusplus.github.io/networking-ts/draft.pdf [*Networking.TS]]] @@ -111,6 +112,7 @@ [include 06_websocket.qbk] [include 07_concepts.qbk] [include 08_design.qbk] +[include 09_releases.qbk] [section:quickref Reference] [xinclude quickref.xml] diff --git a/doc/qbk/09_releases.qbk b/doc/qbk/09_releases.qbk new file mode 100644 index 00000000..36e07ae8 --- /dev/null +++ b/doc/qbk/09_releases.qbk @@ -0,0 +1,160 @@ +[/ + Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com) + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + Official repository: https://github.com/boostorg/beast +] + +[section Release Notes] + +[heading Boost 1.67] + +This version fixes significant defects in +[link beast.ref.boost__beast__websocket__stream `websocket::stream`] +which can lead to asserts or undefined behavior. Users are encouraged +to update to the latest Boost release. + +[*New Features] + +* Move-only completion handlers are supported throughout the library + +* [issue 899] Advanced server examples support idle websocket pings and timeouts + +* [issue 849] WebSocket permessage-deflate support is now a compile-time + feature. This adds an additional `bool` template parameter to + [link beast.ref.boost__beast__websocket__stream `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. + +* [issue 949] WebSocket error codes are revised. New + [link beast.ref.boost__beast__websocket__error error codes] + are added for more fine-grained failure outcomes. Messages for error + codes are more verbose to help pinpoint the problem. Error codes are + now also mapped to newly added + [link beast.ref.boost__beast__websocket__condition error conditions] + to simplify comparisons. The error codes `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 + [link beast.ref.boost__beast__websocket__condition `websocket::condition::handshake_failed`] + instead. + Code which explicitly compares error_code values against the + constant `websocket::error::failed` should compare + against + [link beast.ref.boost__beast__websocket__condition `websocket::condition::protocol_violation`] + instead. + +[*Improvements] + +* [issue 857] + [link beast.ref.boost__beast__http__basic_fields `http::basic_fields`] + uses less storage + +* [issue 894] + [link beast.ref.boost__beast__http__basic_fields `http::basic_fields`] + exception specifiers are provided + +* Implementation no longer uses deprecated `asio::null_buffers` + +* Add [include_file boost/beast/websocket/stream_fwd.hpp] + +* [issue 955] The asynchronous SSL detector example uses a stackless coroutine + +* [link beast.ref.boost__beast__bind_handler `bind_handler`] + works with boost placeholders + + +[*Fixes] + +* Fix "warning: ‘const’ type qualifier on return type has no effect" + +* [issue 916] Tidy up `ssl_stream` special members in + [source_file example/common/ssl_stream.hpp] + +* [issue 918] Calls to `` are protected from macros + +* [issue 954] The control callback is invoked on the proper executor + +* [issue 994] Fix iterator version of + [link beast.ref.boost__beast__http__basic_fields.erase.overload1 `http::basic_fields::erase`] + +* [issue 992] Fix use-after-move in example request handlers + +* [issue 988] Type check completion handlers + +* [issue 985] Tidy up + [link beast.ref.boost__beast__bind_handler `bind_handler`] + doc + +* Fix memory leak in advanced server examples + +* [issue 1000] Fix soft-mutex assert in websocket stream. + This resolves the assert `"ws_.wr_block_ == tok_"`. + +* [issue 1019] Fix fallthrough warnings + +[*API Changes] + +* [issue 1029] Remove unintended public members of + [link beast.ref.boost__beast__handler_ptr `handler_ptr`]. + Actions required: don't call non-public members. + +* [link beast.ref.boost__beast__handler_ptr `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. + +* [link beast.ref.boost__beast__handler_ptr `handler_ptr`] + gives the strong exception guarantee. The 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. + +* [issue 896] + [link beast.ref.boost__beast__http__basic_fields `http::basic_fields`] + does not support fancy pointers + +* [link beast.ref.boost__beast__http__parser `http::parser`] + is no longer [*MoveConstructible] + +* [issue 930] `http::serializer::reader_impl` is deprecated and will + be removed in the next release. Actions required: Call + [link beast.ref.boost__beast__http__serializer.writer_impl `http::serializer::writer_impl`] + instead of `serializer::reader_impl`. + +* [issue 884] The __BodyReader__ and __BodyWriter__ concept constructor + requirements have changed. They now require the header and body + elements to be passed as distinct + [link beast.ref.boost__beast__http__header `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). + +* [link beast.ref.boost__beast__websocket__stream.control_callback `websocket::stream::control_callback`] + now copies or moves the function object. + + + + + +[heading Boost 1.66] + +* Initial release + +[endsect]