diff --git a/CHANGELOG.md b/CHANGELOG.md
index be4b6ae3..0c8aa58d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@ Version 217:
* websocket idle pings
* RatePolicy documentation
* Pass strand to async_accept
+* Fix file_body_win32
--------------------------------------------------------------------------------
diff --git a/doc/qbk/main.qbk b/doc/qbk/main.qbk
index 1fd2fceb..a6d89007 100644
--- a/doc/qbk/main.qbk
+++ b/doc/qbk/main.qbk
@@ -159,4 +159,11 @@
[include 07_concepts/0_concepts.qbk]
[include 08_design/0_design.qbk]
+[section:moved1 Release Notes (Moved)]
+The Release Notes have been moved to the top of the table of contents.
+[endsect]
+[section:moved2 Reference (Moved)]
+The Reference has been moved to the top of the table of contents.
+[endsect]
+
[xinclude index.xml]
diff --git a/doc/qbk/release_notes.qbk b/doc/qbk/release_notes.qbk
index 6ae389e3..989f4631 100644
--- a/doc/qbk/release_notes.qbk
+++ b/doc/qbk/release_notes.qbk
@@ -11,27 +11,67 @@
[/-----------------------------------------------------------------------------]
-[heading Boost 1.70]
-[/ includes up to version 209]
-[/
-
* [phrase library..[@/libs/beast/ Beast]:]
- * Example websocket-chat-multi
- * New CppCon 2018 [@https://www.boost.org/doc/libs/master/libs/beast/doc/html/beast/examples.html#beast.examples.cppcon_2018 websocket chat example] and [@https://www.youtube.com/watch?v=7FQwAjELMek presentation video].
- * For a complete list of changes, please view the official
- [@/libs/beast/doc/html/beast/release_notes.html Release Notes].
+ [*YUUUGE Update!] The
+ [link beast.quickref [*reference]] shows a star
+ '''
+ 🞲
+ '''
+ next to each new item.
+ * [role red [*Beast needs your help!]]
+ * [@https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast [*Tell Us]]
+ how you or your company use Beast.
+ * Please
+ [@https://github.com/boostorg/beast/issues/new report]
+ any bugs, feature requests, or general feedback.
+ * Don't forget to
+ '''
+ ⭐⭐⭐
+ '''
+ [@https://github.com/boostorg/beast [*star the repository]]
+ '''
+ ⭐⭐⭐
+ '''
+ !
+ * Chat with us at the [*#beast] and [*#boost] channels in the
+ [@https://cppalliance.org/slack/ C++ Slack Workspace].
+ * [link beast.ref.boost__beast__basic_stream `basic_stream`] and
+ [link beast.ref.boost__beast__basic_stream `tcp_stream`] offer:
+ * Timeouts:
+ [link beast.ref.boost__beast__basic_stream.async_read_some `async_read_some`],
+ [link beast.ref.boost__beast__basic_stream.async_write_some `async_write_some`]
+ complete with
+ [link beast.ref.boost__beast__error `error::timeout`] on expiration!
+ * Traffic-shaping policies
+ [link beast.ref.boost__beast__simple_rate_policy `simple`] and
+ [link beast.ref.boost__beast__unlimited_rate_policy `unlimited`],
+ or a user-defined
+ [link beast.concepts.RatePolicy ['RatePolicy]]!
+ * [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0]]
+ Put the strand on the socket itself, no more `bind_executor` at call sites!
+ * Base classes
+ [link beast.ref.boost__beast__async_op_base `async_op_base`] and
+ [link beast.ref.boost__beast__stable_async_op_base `stable_async_op_base`]
+ handle all composed operation boilerplate for you.
+ * All asynchronous operations use Asio's
+ [@boost:/doc/html/boost_asio/reference/async_initiate.html `async_initiate`]
+ for efficient integration with Coroutines TS.
+ * New [@boost:/doc/html/beast/example/websocket/server/chat-multi websocket-chat-multi]
+ multi-threaded websocket chat server with a JavaScript browser client.
+ * New [link beast.using_io.asio_refresher Networking Refresher] explains basic concepts.
+ * OpenSSL is required to build tests and examples
+ * See the full [link beast.release_notes [*Release Notes]] for a complete list
+ of changes.
+[/-----------------------------------------------------------------------------]
-* Use `beast::tcp_stream` instead of `boost::asio::ip::tcp::socket`!
-* subscribe to this GitHub issue to be informed!
-* we need testers!
-* star the repo!
+[heading Boost 1.70]
+
+[/
Exposition:
Enlarged scope
- `net` is a namespace alias for `boost::asio`
-- New quality of life features:
- tcp_socket
async_op_base, stable_async_op_base
- New Networking refresher
- New websocket-chat-multi example
@@ -43,6 +83,10 @@ Enlarged scope
The namespace alias `net` is used throughout for `boost::asio`.
]
+
+[/ includes up to version 209]
+
+
[*New Features]
[/* `BASIC_TIMEOUT_STREAM` TODO]
diff --git a/include/boost/beast/core/basic_stream.hpp b/include/boost/beast/core/basic_stream.hpp
index d7b670d1..8c812f5e 100644
--- a/include/boost/beast/core/basic_stream.hpp
+++ b/include/boost/beast/core/basic_stream.hpp
@@ -29,6 +29,7 @@
#include
#include
+#if ! BOOST_BEAST_DOXYGEN
namespace boost {
namespace asio {
namespace ssl {
@@ -36,6 +37,7 @@ template class stream;
} // ssl
} // asio
} // boost
+#endif
namespace boost {
namespace beast {