summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/beast/CHANGELOG.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/beast/CHANGELOG.md
parentInitial commit. (diff)
downloadceph-6d07fdb6bb33b1af39833b850bb6cf8af79fe293.tar.xz
ceph-6d07fdb6bb33b1af39833b850bb6cf8af79fe293.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/beast/CHANGELOG.md')
-rw-r--r--src/boost/libs/beast/CHANGELOG.md3535
1 files changed, 3535 insertions, 0 deletions
diff --git a/src/boost/libs/beast/CHANGELOG.md b/src/boost/libs/beast/CHANGELOG.md
new file mode 100644
index 000000000..63562ba97
--- /dev/null
+++ b/src/boost/libs/beast/CHANGELOG.md
@@ -0,0 +1,3535 @@
+Version 290:
+
+* Travis build host now bionic
+* Update Release Notes
+
+Version 289:
+
+* Fix Host header in websocket examples
+
+--------------------------------------------------------------------------------
+
+Version 288:
+
+* Fix Content-Length parsing
+* Update credits
+
+--------------------------------------------------------------------------------
+
+Version 287:
+
+* Remove CODE_OF_CONDUCT.md
+* Refactor websocket read
+* Correct buffer_bytes documentation
+* Fix examples to dispatch to strand
+* Ensure basic_stream::close will not throw
+
+--------------------------------------------------------------------------------
+
+Version 286:
+
+* Refactor multi_buffer
+* Refactor buffers_adapter
+* Refactor static_buffer
+* Refactor flat_buffer
+* Refactor flat_static_buffer
+* Fix missing include in sha1.hpp
+* Fix ostream warning
+* Field digest is endian-independent
+* update broken links in README
+* Fix ostream flush
+
+API Changes:
+
+* Nested const and mutable buffer types for all
+ Beast dynamic buffers are refactored. Affected types:
+ - buffers_adapter
+ - flat_buffer
+ - flat_static_buffer
+ - multi_buffer
+ - static_buffer
+
+* Nested mutable_data_type in Beast dynamic buffers is deprecated:
+
+Changes Required:
+
+* Use nested mutable_buffers_type instead of mutable_data_type,
+ or define BOOST_BEAST_ALLOW_DEPRECATED
+
+--------------------------------------------------------------------------------
+
+Version 285:
+
+* Translate some win32 errors to net error codes
+* enable circleci integration
+* flat_buffer shrink_to_fit is noexcept
+* moved-from dynamic buffers do not clear if different allocator
+* fix erase field
+
+--------------------------------------------------------------------------------
+
+Version 284:
+
+* fix compilation macro documentation
+* examples use strands correctly
+* update root certificates in examples
+* clarify end-of-file behaviour in File::read docs
+* file_body returns short_read on eof during read
+* fix bug in win32 file_body
+
+--------------------------------------------------------------------------------
+
+Version 283:
+
+* ostream_buffer satisfies preconditions of DynamicBuffer_v1::commit
+* Add accessor function to File member of basic_file_body
+
+Version 282:
+
+* Use superproject docca
+* Fix release build of docs
+* file_win32 supports UTF-8 paths
+* file_stdio supports unicode paths
+
+--------------------------------------------------------------------------------
+
+Version 281:
+
+* Travis builds docs
+* Fix echo-op test
+* file_win32 bodies respect http::serializer::split
+
+--------------------------------------------------------------------------------
+
+Version 280:
+
+* Fix non-msvc cmake
+* Use docca master branch
+
+--------------------------------------------------------------------------------
+
+Version 279:
+
+* Use regular throw in test
+* Fix pragma warning
+
+--------------------------------------------------------------------------------
+
+Version 278:
+
+* Use regular throw in test
+
+--------------------------------------------------------------------------------
+
+Version 277:
+
+* Update release notes
+
+--------------------------------------------------------------------------------
+
+Version 276:
+
+* https_get example sends the Host header
+* Fix async_close error code when async_read times out
+* Refactor zlib tests and fix enum typo
+
+--------------------------------------------------------------------------------
+
+Version 275:
+
+* Async init-fns use the executor's default token
+* Add basic_stream::rebind_executor
+* Use automatically deduced return types for all async operations
+* Support Concepts for completion token params
+
+--------------------------------------------------------------------------------
+
+Version 274:
+
+* Fix leftovers in basic_parser corner case
+
+--------------------------------------------------------------------------------
+
+Version 273:
+
+* Squelch spurious websocket timer assert
+* Use the executor type in basic_stream timer
+
+--------------------------------------------------------------------------------
+
+Version 272:
+
+* Add BEAST_THROWS
+* Add zlib tests and fixes
+
+--------------------------------------------------------------------------------
+
+Version 271:
+
+* Add HTTP async client with system_executor example
+* Add WebSocket async client with system_executor example
+* Fix data race in HTTP server examples
+* Fix data race in WebSocket examples
+
+--------------------------------------------------------------------------------
+
+Version 270:
+
+* Silence unused variables
+* Fix typo
+
+--------------------------------------------------------------------------------
+
+Version 269:
+
+* Fix /permissive- missing include
+* Add test
+
+--------------------------------------------------------------------------------
+
+Version 268:
+
+* root_certificates.hpp is not for production
+
+--------------------------------------------------------------------------------
+
+Version 267:
+
+* Add package for Travis config
+* Fix signed/unsigned mismatch in file_stdio::seek
+* basic_stream dtor cannot throw
+* cmake: check policy first
+* Add default dtors to satisfy -Wnon-virtual-dtor
+* Multiple I/O of the same type is not supported
+
+--------------------------------------------------------------------------------
+
+Version 266:
+
+* Fix some missing deduced return types in the docs
+
+--------------------------------------------------------------------------------
+
+Version 265:
+
+* Fix outgoing websocket message compression
+
+--------------------------------------------------------------------------------
+
+Version 264:
+
+* Handle overflow in max size calculation in `basic_dynamic_body`
+* Fix unused variable warnings in tests
+* Fix missing initializer warning in `basic_fields`
+* Remove unused functions in `impl/static_string.hpp`
+* Fix unused variable warning in `multi_buffer`
+* Fix header-only compilation errors in some configurations
+* Workaround for miscompilation in MSVC 14.2
+
+--------------------------------------------------------------------------------
+
+Version 263:
+
+* Update documentation
+
+--------------------------------------------------------------------------------
+
+Version 262:
+
+* Fix deallocate in multi_buffer
+
+--------------------------------------------------------------------------------
+
+Version 261:
+
+* Deduplicate `websocket::read_size_hint` definition
+* Fix UB in websocket read tests
+* Remove redundant includes in websocket
+* Simplify websocket::detail::prng
+* Don't over-allocate in http::basic_fields
+* Fix multi_buffer allocation alignment
+* Tidy up buffers_range
+
+--------------------------------------------------------------------------------
+
+Version 260:
+
+* More split compilation in rfc7230.hpp
+* Qualify calls to `beast::iequals` in basic_parser.ipp
+* More split compilation in websocket/detail/mask.hpp
+* Cleanup transitive includes in beast/core/detail/type_traits.hpp
+* Simplify generation of sec-websocket-key
+* Move detail::base64 helpers to tests
+* Remove redundant includes in core
+
+--------------------------------------------------------------------------------
+
+Version 259:
+
+* Reduce the number of instantiations of filter_token_list
+* Remove the use of `static_string` from `http::fields`
+* Add gcc-9 to AzP CI test matrix
+* Enable split compilation in http::basic_fields
+* Remove redundant instation of `static_string` in websocket
+* Remove redundant use of `asio::coroutine` in `flat_stream`
+* Remove unused includes from `test::stream`
+* Move `char_buffer` into a separate file
+* Fix coverage collection in AzP CI
+* Improve performance of `http::string_to_verb`
+* Replace uses of `net::coroutine` with `asio::coroutine`
+* Replace uses of `net::spawn` with `asio::spawn`
+* Use `beast::read_size` in `detail::read`
+
+--------------------------------------------------------------------------------
+
+Version 258:
+
+* Fix separate compilation in CI
+* Fix clang inititalization warning in websocket
+* Remove redundant use of `yield_to` in parser tests
+* Add VS 2019 AzP CI matrix item
+* Clean up typo in chat websocket javascript client
+
+--------------------------------------------------------------------------------
+
+Version 257:
+
+* Add b2 features for compile-time options used in testing
+* Remove redundant dependencies in http/server/fast example
+* Remove experimental/unit_test/thread.hpp
+* Use `if` statement in basic_stream::transfer_op
+* Fix flat_buffer copy members
+
+--------------------------------------------------------------------------------
+
+Version 256:
+
+* Remove uses of the deprecated `buffers` function
+* Remove uses of deprecated methods in websocket tests
+* Remove redundant use of `static_string`
+* Remove redundant template in service_base
+* Expand CI matrix using Azure Pipelines
+* Make chat websocket javascript client more user friendly
+* `allocator_traits::construct` is used for user-defined types
+* Add 1-element specialization for `buffers_cat`
+* Fix `buffers_cat` iterator tests
+* Don't pessimize-move
+* Use steady_timer type
+* Preserve operation_aborted on partial message
+
+--------------------------------------------------------------------------------
+
+Version 255:
+
+* Add idle ping suspend test
+* Fix moved-from executor in idle ping timeout
+
+--------------------------------------------------------------------------------
+
+Version 254:
+
+* Fix data race in test::stream::connect
+* Fix UB in websocket close tests
+* Fix uninitalized memory use in deflate_stream
+* Fix gcc-8 warning in websocket::stream
+
+--------------------------------------------------------------------------------
+
+Version 253:
+
+* Fix async_detect_ssl handler type
+* member get_executor const-correctness
+* Fix min/max on MSVC
+* Relax requirements for vector_body
+
+--------------------------------------------------------------------------------
+
+Version 252:
+
+* More std::string_view fixes
+* CI copies to libs/beast
+
+--------------------------------------------------------------------------------
+
+Version 251:
+
+* Clean up CI scripts
+* detect_ssl uses bool
+* launder pointers
+* Fix compilation on MSVC with std::string_view
+* Replace static_string in parser
+
+--------------------------------------------------------------------------------
+
+Version 250:
+
+* Use SaxonHE in reference generation
+* Cleanup endianness conversions
+* Set parser status and flags even if body_limit_ has been reached
+
+--------------------------------------------------------------------------------
+
+Version 249:
+
+* Move friend function template definition
+
+--------------------------------------------------------------------------------
+
+Version 248:
+
+* Don't use a moved-from handler
+
+--------------------------------------------------------------------------------
+
+Version 247:
+
+* Fix async_base immediate completion
+
+--------------------------------------------------------------------------------
+
+Version 246:
+
+* decorator ctor is explicit
+
+--------------------------------------------------------------------------------
+
+Version 245:
+
+* decorator constructor is constrained
+
+--------------------------------------------------------------------------------
+
+Version 244:
+
+* Tidy up declval in some traits
+* Fix websocket keep-alive ping expiration
+
+--------------------------------------------------------------------------------
+
+Version 243:
+
+* Fix some typos
+* Tidy up file_stdio for VS2015
+* Fix http::message constructor constraint
+
+--------------------------------------------------------------------------------
+
+Version 242:
+
+* test::stream has deprecated lowest_layer for ssl
+* MSVC uses ::fopen_s
+* Fix http::message constructor constraint
+* Check defined(BOOST_MSVC)
+
+--------------------------------------------------------------------------------
+
+Version 241:
+
+* Tidy up a doc code snippet
+* basic_parser::content_length is stable (API Change)
+
+--------------------------------------------------------------------------------
+
+Version 240:
+
+* Fix ssl_stream teardown
+
+--------------------------------------------------------------------------------
+
+Version 239:
+
+* More split compilation in HTTP
+
+--------------------------------------------------------------------------------
+
+Version 238:
+
+* Refactor Jamfiles to work with release layout
+
+--------------------------------------------------------------------------------
+
+Version 237:
+
+* cmake: Use static libs to speed up builds
+
+--------------------------------------------------------------------------------
+
+Version 236:
+
+* root_certificates.hpp: brought in the server certificate
+
+--------------------------------------------------------------------------------
+
+Version 235:
+
+* Fix self-assignment warning in buffer test
+* Jamfile cleanup
+
+--------------------------------------------------------------------------------
+
+Version 234:
+
+* Don't link to OpenSSL needlessly (bjam)
+* HTTPS URLs in README.md
+
+--------------------------------------------------------------------------------
+
+Version 233:
+
+* Check __ANDROID__ instead
+* Use secure TLS/SSL versions
+
+--------------------------------------------------------------------------------
+
+Version 232:
+
+* Fix close_socket for net::basic_socket changes
+* Fix file_win32_write_op async initiation
+* Fix basic_stream lowest_layer for ssl
+
+--------------------------------------------------------------------------------
+
+Version 231:
+
+* Doc section names are stable
+* Add missing include
+* Constrain to_static_string to integers
+
+--------------------------------------------------------------------------------
+
+Version 230:
+
+* Don't use dynamic_buffer_ref
+* Remove dynamic_buffer_ref
+* Fix completion handler invocation signatures
+
+--------------------------------------------------------------------------------
+
+Version 229:
+
+* Rename to buffer_bytes
+* Tidy up examples
+* detect_ssl returns a bool
+* Fix stable_async_base example
+
+API Changes:
+
+* handler_ptr is deprecated
+
+Actions Required:
+
+* Replace use of `handler_ptr` with `stable_async_base`
+ and `allocate_stable`.
+
+--------------------------------------------------------------------------------
+
+Version 228:
+
+* Fix UB in decorator:
+* Sync up convenience headers
+* The Fields concept is deprecated (API Change)
+* Fix includes.xsl for newer doxygen
+* Tidy up quick reference
+* SSL teardowns are in an associated namespace
+
+--------------------------------------------------------------------------------
+
+Version 227:
+
+* Fix decorator for certain sizes
+
+--------------------------------------------------------------------------------
+
+Version 226:
+
+* Support -fno-exceptions
+* make_strand is in net::
+* Fix HTTP parser static string calculation
+* Move parser definitions to .ipp
+* Appveyor uses msvc-14.0
+
+--------------------------------------------------------------------------------
+
+Version 225:
+
+* Tidy up an unused function
+* Fix wsload jamfile
+* Examples use flat_buffer
+* Remove session_alloc (API Change)
+
+Actions Required:
+
+* Don't use session_alloc
+
+--------------------------------------------------------------------------------
+
+Version 224:
+
+* Remove extraneous error check in advanced-server-flex
+* Advanced servers use HTTP parser interfaces for reading
+* Reusing an HTTP parser returns an error
+
+--------------------------------------------------------------------------------
+
+Version 223:
+
+* Add test::stream::service
+* Add websocket service
+* Pausation abandoning test
+* Destroy abandoned websocket ops on shutdown
+
+--------------------------------------------------------------------------------
+
+Version 222:
+
+* stream_base::timeout::suggested is a nested function
+
+--------------------------------------------------------------------------------
+
+Version 221:
+
+* Rename to async_base, stable_async_base
+* role_type is in boost/beast/core/role.hpp (API Change)
+* Cleanup in test::stream internals
+* Pass references as pointers to async_initiate
+
+Actions Required:
+
+* Include <boost/beast/core/role.hpp> or
+ define BOOST_BEAST_ALLOW_DEPRECATED=1
+
+--------------------------------------------------------------------------------
+
+Version 220:
+
+* Documentation and release notes
+
+--------------------------------------------------------------------------------
+
+Version 219:
+
+* More split definitions in test::stream
+* Visual Studio 2017 minimum requirement for Windows
+* Better treatment of SSL short reads
+* ssl_stream is a public interface
+* basic_parser is abstract, not CRTP (API Change)
+* OpenSSL is required for tests and examples
+
+--------------------------------------------------------------------------------
+
+Version 218:
+
+* detect_ssl, async_detect_ssl are public interfaces
+* Add OpenSSL installation/setup instructions
+* Enable split Beast compilation for tests
+
+--------------------------------------------------------------------------------
+
+Version 217:
+
+* websocket idle pings
+* RatePolicy documentation
+* Pass strand to async_accept
+* Fix file_body_win32
+* Use async_initiate
+* Check BOOST_NO_CXX11_THREAD_LOCAL
+* Fast prng is pcg
+
+--------------------------------------------------------------------------------
+
+Version 216:
+
+* Refactor websocket::stream operations
+* Add websocket::stream timeouts
+* Use suggested timeouts in Websocket examples
+* Add make_strand
+* Add RatePolicy to basic_stream
+* Use async_initiate in basic_stream
+* basic_stream connects are members
+* Beast supports latest Asio changes (API Change)
+* WebSocket Decorator is a socket option (API Change)
+* Overloads of the following functions which accept a Decorator
+ are deprecated:
+ - accept, accept_ex
+ - handshake, handshake_ex
+ - async_accept, async_accept_ex
+ - async_handshake, async_handshake_ex
+
+Actions Required:
+
+* Code which passes decorator to any `websocket::stream` member
+ function should call `stream::set_option` instead with a newly
+ constructed `stream_base::decorator` object containing the
+ decorator. Alternatively, the macro `BOOST_BEAST_ALLOW_DEPRECATED`
+ may be defined to 1.
+
+* Fix compilation errors required by Asio changes
+
+--------------------------------------------------------------------------------
+
+Version 215:
+
+* basic_stream uses boost::shared_ptr
+* Remove bind_back_handler
+* bind_front_handler works with member functions
+* Examples use bind_front_handler
+* Add experimental test/handler.hpp
+* Rename to async_op_base::invoke_now
+* Add async_op_base::invoke
+* Remove CppCon2018 example
+* Examples use ssl_stream
+
+--------------------------------------------------------------------------------
+
+Version 214:
+
+* Handler binders use the associated allocator
+* Add detail::bind_continuation
+* Rewrite the echo-op example
+
+--------------------------------------------------------------------------------
+
+Version 213:
+
+* Fix posix_file::close handling of EINTR
+* basic_stream subsumes stranded_stream:
+* Use timeouts in HTTP server examples
+* Use timeouts in HTTP client examples
+* Use tcp_stream in WebSocket client examples
+* Use tcp_stream in WebSocket server examples
+* Use tcp_stream, HTTP timeouts in advanced servers
+
+--------------------------------------------------------------------------------
+
+Version 212:
+
+* dynamic_buffer_ref tests and tidy
+* flat_stream tests and tidy
+* stranded_socket tests and tidy
+* buffers_front tests
+* Improved websocket stream documentation
+
+--------------------------------------------------------------------------------
+
+Version 211:
+
+* close_socket is in stream_traits.hpp
+* Improvements to test::stream
+* Add stranded_stream
+* Add flat_stream
+* flat_buffer::clear preserves capacity
+* multi_buffer::clear preserves capacity
+* Fixes to rfc7230
+
+--------------------------------------------------------------------------------
+
+Version 210:
+
+* Tidy up read implementation
+* Fix stable_async_op_base javadoc
+* Better handling of stream timeouts
+* Add stream_traits.hpp
+* Add executor_type trait
+* Fix hexadecimal string conversion table
+* is_completion_handler, type_traits.hpp are deprecated
+* Fixes to test::stream::async_read
+
+API Changes:
+
+* Stream traits are now in stream_traits.hpp
+* `is_file` is now in file_base.hpp
+* is_completion_handler is deprecated
+
+Actions Required:
+
+* Include stream_traits.hpp as needed
+* Include file_base.hpp as needed
+* Use std::is_invocable instead of is_completion_handler
+
+--------------------------------------------------------------------------------
+
+Version 209:
+
+* Faster http::string_to_field
+* async_echo supports move-only handlers
+* test::stream maintains a handler work guard
+* Qualify buffer_copy, don't qualify buffer_size
+* Add dynamic_buffer_ref
+* Refactor quickref.xml
+* Add buffer_size
+
+--------------------------------------------------------------------------------
+
+Version 208:
+
+* Add get_lowest_layer free function
+* Add lowest_layer_type metafunction
+* Add close_socket, beast_close_socket customization
+* Doc work
+
+--------------------------------------------------------------------------------
+
+Version 207
+
+* Send from the strand
+* Pass the correct handler in basic_timeout_stream
+
+API Changes:
+
+* lowest_layer is removed
+
+Actions Required:
+
+* Remove lowest_layer and lowest_layer_type from user-defined streams.
+* Use the get_lowest_layer free function and the lowest_layer_type trait
+ as needed.
+
+--------------------------------------------------------------------------------
+
+Version 206
+
+* Clear error codes idiomatically
+* websocket stream uses shared_ptr<impl_type>
+* Add websocket-chat-multi example
+
+--------------------------------------------------------------------------------
+
+Version 205
+
+* Doc work
+* Add detail/soft_mutex.hpp
+* Add detail/prng.hpp
+
+--------------------------------------------------------------------------------
+
+Version 204
+
+* Add basic_timeout_stream
+* Unit test macros use the global suite
+* Doc work
+
+--------------------------------------------------------------------------------
+
+Version 203
+
+* Update networking refresher doc
+* Include error code in call to set_option
+* saved_handler is a public interface
+* Use new saved_handler in websocket
+* session_alloc is thread-safe
+* examples use flat_buffer
+* parse_until is not static
+* Boost.System is header-only
+
+--------------------------------------------------------------------------------
+
+Version 202
+
+* Use cxxstd instead of cxxflags
+* Update coverage badge images
+* Tidy up basic_stream_socket docs
+* Refactor async_op_base
+* Use async_op_base
+* async_op_base is a public interface
+* Add tests for bind_back_handler
+* Add tests for async_op_base
+
+--------------------------------------------------------------------------------
+
+Version 201
+
+* Decay bound arguments in handler wrapper parameters
+* Add bind_back_handler
+* Tidy up default-constructed iterators
+* Add core errors and conditions
+* New basic_stream_socket
+
+--------------------------------------------------------------------------------
+
+Version 200
+
+* Don't include OpenSSL for core snippets
+* Tidy up msvc-14 workaround in multi_buffer
+* buffers_cat fixes and coverage
+* Refactor buffers_adaptor
+* Refactor buffers_range
+* Fix and refactor buffers_cat
+* Refactor buffers_prefix
+* Add const and mutable buffer sequence traits
+* Add buffers_iterator_type trait
+* Use new buffer traits, remove old unused traits
+* Optimize for size on buffers_cat preconditions
+* Refactor buffers_suffix
+* Tidy up flat_buffer tests
+* Fix ostream prepare calculation for low limits
+* Tidy up flat_static_buffer tests
+* Add more tests for dynamic buffers
+* Tidy up multi_buffer
+* Refactor ostream
+* Refactor static_buffer
+* HTTP tidying
+* Adjust static_asio lib options in Jamfile
+* Add type_traits tests
+* Add buffers_range_ref (replaces reference_wrapper parameter)
+
+API Changes:
+
+* buffers_adaptor replaces buffers_adapter (rename)
+* make_printable replaces buffers (rename)
+* Remove file_mode::append_new
+
+Actions Required:
+
+* Replace buffers_adapter.hpp with buffers_adaptor.hpp, and
+ replace buffers_adapter with buffers_adaptor. Or, define
+ BOOST_BEAST_ALLOW_DEPRECATED
+
+* Replace call sites to use make_printable instead of buffers,
+ and also include make_printable.hpp instead of ostream.hpp.
+
+* Replace file_mode::append_new with file_mode::append
+ or file_mode::append_existing instead of file_mode::append_new
+
+--------------------------------------------------------------------------------
+
+Version 199:
+
+* Workarounds for msvc-14
+* Fix Appveyor badge links
+
+--------------------------------------------------------------------------------
+
+Version 198:
+
+* flat_buffer improvements
+* multi_buffer improvements
+* static_buffer improvements
+* flat_static_buffer_improvements
+* saved_handler maintains a work_guard (websocket)
+* Add buffer_traits.hpp, buffers_type
+* Tidy up experimental files
+* Tidy up core files
+* Fix bind_handler, bind_front_handler
+* Improved handler bind wrapper tests
+
+API Changes:
+
+* Files return errc::bad_file_descriptor
+* flat_static_buffer::reset is deprecated
+
+Actions Required:
+
+* Callers checking for errc::invalid_argument from calls to
+ file APIs should check for errc::bad_file_descriptor instead.
+
+* Replace calls to flat_static_buffer::reset with
+ flat_static_buffer::clear
+
+--------------------------------------------------------------------------------
+
+Version 197:
+
+* Improvements to echo-op example
+* Crawler example clears the response before each read
+* Use a struct instead of a pair in flat_stream (experimental)
+
+API Changes:
+
+* Refactor HTTP operations
+
+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.
+
+--------------------------------------------------------------------------------
+
+Version 196:
+
+* Tidy up calls to placement new
+* Remove unused type_traits
+* Simplify handler_ptr
+
+--------------------------------------------------------------------------------
+
+Version 195:
+
+* net is a namespace alias for boost::asio
+* Simplify multi_buffer and static_buffer sequences
+* Documentation work
+
+--------------------------------------------------------------------------------
+
+Version 194:
+
+* http::async_read returns the right byte count on error
+* Add net namespace alias
+* Don't use-after-free in test
+* Tidy up ssl_stream (experimental)
+* Dynamic buffer improvements
+* Saved handlers are dispatched
+
+--------------------------------------------------------------------------------
+
+Version 193:
+
+* Update ssl_stream signatures for networking changes
+* Fix test::stream async_result transformation
+* Tidy up test::stream
+* Enable explicit instantiation of websocket::stream
+
+--------------------------------------------------------------------------------
+
+Version 192:
+
+* Use mp11::integer_sequence
+* Tidy up warnings and deprecated usage
+* http::message is not-a boost::empty_value
+* Fix link in docs
+* Fixes to timeout services (experimental)
+
+--------------------------------------------------------------------------------
+
+Version 191:
+
+* Add bind_front_handler
+* Use bind_front_handler
+* Simplify some type traits
+* Use lean_tuple in buffers_cat
+* Use lean_tuple in bind_handler, bind_front_handler
+* Use mp11 in detail::variant
+* Fix buffers_cat uninitialized warning
+* Fix static_string uninitialized warning
+* Fix warning in is_ssl_handshake
+
+--------------------------------------------------------------------------------
+
+Version 190:
+
+* Add missing includes to convenience headers
+* Unit test framework is experimental
+* Add buffers_range
+* Rename experimental directory
+* Improve compilation of tests for continuous integration
+* Fix visibility warnings in test
+
+--------------------------------------------------------------------------------
+
+Version 189-hf1:
+
+* Fix broken doc link
+* example/cppcon2018 only requires C++11
+
+--------------------------------------------------------------------------------
+
+Version 189:
+
+* Add CppCon2018 chat server example and video
+
+--------------------------------------------------------------------------------
+
+Version 188:
+
+* Remove extraneous strand from example
+* Add missing include in http/read.ipp
+* Test for gcc warning bug
+* Fix a spurious gcc warning
+
+--------------------------------------------------------------------------------
+
+Version 187:
+
+* Add experimental timeout_socket
+* Fix warning in file tests
+* Fix uninitialized comparison in buffers iterator
+* Partial support for BOOST_NO_EXCEPTIONS
+* Fix a spurious gcc warning
+* Test for gcc warning bug
+* Add missing include
+* Remove extraneous strand from example
+
+--------------------------------------------------------------------------------
+
+Version 186:
+
+* basic_fields uses intrusive base hooks
+* Fix parsing of out-of-bounds hex values
+
+--------------------------------------------------------------------------------
+
+Version 185:
+
+* Remove extraneous function
+* Fix some typos
+* Add BOOST_BEAST_USE_STD_STRING_VIEW
+* Fix timer on websocket upgrade in examples
+
+--------------------------------------------------------------------------------
+
+Version 183:
+
+* Fix a rare case of failed UTF8 validation
+* Verify certificates in client examples
+* Use boost::empty_value
+* Workaround for http-server-fast and libstdc++
+
+--------------------------------------------------------------------------------
+
+Version 182:
+
+* Silence ubsan false positive
+
+--------------------------------------------------------------------------------
+
+Version 181:
+
+* Fix parse_dec algorithm
+* Add parse_dec tests
+
+--------------------------------------------------------------------------------
+
+Version 180:
+
+* Fix http_server_stackless_ssl.cpp example
+
+--------------------------------------------------------------------------------
+
+Version 179:
+
+* Use the exchange() idiom in move constructors
+* Most members of std::allocate are deprecated in C++17
+* Remove some unused variables
+
+--------------------------------------------------------------------------------
+
+Version 178:
+
+* Use static_cast instead
+
+--------------------------------------------------------------------------------
+
+Version 177:
+
+* Add test for issue #1188
+* Set /permissive-
+* Check error in example set_option
+
+--------------------------------------------------------------------------------
+
+Version 176:
+
+* Tidy up Quick Reference
+* Fix array end calculation in utf8 assertion
+* WebSocket masks use secure PRNG by default
+
+--------------------------------------------------------------------------------
+
+Version 175:
+
+* Fix initialization warning
+
+--------------------------------------------------------------------------------
+
+Version 174:
+
+* Fix Fields, FieldsWriter concept docs
+* Fix BodyReader constructor requirements doc
+
+--------------------------------------------------------------------------------
+
+Version 173:
+
+* Remove Autobahn testsuite doc note
+* Fix buffers_adapter iterator value type
+* Fix buffers_adapter max_size
+* Fix buffers_prefix iterator decrement
+* buffers_adapter improvements
+* Add icy_stream Shoutcast stream filter
+
+--------------------------------------------------------------------------------
+
+Version 172:
+
+* Tidy up websocket stream javadocs
+* Fix move-only arguments in bind_handler
+* Fix http::parser constructor javadoc
+* Tidy up test::stream javadocs
+* Tidy up composed operation doc
+
+--------------------------------------------------------------------------------
+
+Version 171:
+
+* Add handler_ptr::has_value
+* Remove spurious assert
+* Fix unused variable warning
+
+--------------------------------------------------------------------------------
+
+Version 170:
+
+* Add flat_stream to experimental
+* Add ssl_stream to experimental
+* Add test::error to experimental
+* Add test::fail_count to experimental
+* Add test::stream to experimental
+* Use a shared string for example HTTP server doc roots
+* Remove deprecated serializer::reader_impl()
+* Remove deprecated Body reader and writer ctor signatures
+* Add is_mutable_body_writer metafunction
+* Add const and non-const overloads for message based http writes
+* Use the root certificate which matches the fingerprint
+
+--------------------------------------------------------------------------------
+
+Version 169:
+
+* Use buffers_to_string in tests
+* Use boost::void_t
+* Refactor HTTP write_op implementation
+* Use fully qualified namespace in BOOST_BEAST_HANDLER_INIT
+* New flat_stream example class
+* Use flat_stream in ssl_stream example code
+
+--------------------------------------------------------------------------------
+
+Version 168:
+
+* Use executor_work_guard in composed operations
+* Revert verb.ipp change which caused spurious warnings
+* Fix race in advanced server examples
+
+--------------------------------------------------------------------------------
+
+Version 167:
+
+* Revert: Tidy up calls to post()
+
+--------------------------------------------------------------------------------
+
+Version 166:
+
+* Use boost::is_convertible as a workaround
+
+--------------------------------------------------------------------------------
+
+Version 165:
+
+* Fix BOOST_NO_CXX11_ALLOCATOR check
+
+--------------------------------------------------------------------------------
+
+Version 164:
+
+* Fix masking on continuation frames
+* Add Access-Control-Expose-Headers field constant
+
+--------------------------------------------------------------------------------
+
+Version 163:
+
+* Tidy up calls to post()
+* Fix narrowing warnings
+
+--------------------------------------------------------------------------------
+
+Version 162:
+
+* Add asio_handler_invoke overloads for stream algorithms
+* Improve websocket::stream::control_callback javadoc
+
+--------------------------------------------------------------------------------
+
+Version 161:
+
+* Don't copy the handler in write_some_op
+* Add move-only handler tests
+* Fix handler parameter javadocs
+
+--------------------------------------------------------------------------------
+
+Version 160:
+
+* Examples clear the HTTP message before reading
+
+--------------------------------------------------------------------------------
+
+Version 159:
+
+* Fix typo in release notes
+* Safe treatment of zero-length string arguments in basic_fields
+* Some basic_fields operations now give the strong exception guarantee
+
+--------------------------------------------------------------------------------
+
+Version 158:
+
+* Tidy up end_of_stream javadoc
+* Tidy up websocket docs
+* Examples set reuse_address(true)
+* Advanced servers support clean shutdown via SIGINT or SIGTERM
+* DynamicBuffer input areas are not mutable
+* Tidy up some documentation
+
+API Changes:
+
+* get_lowest_layer is a type alias
+
+Actions required:
+
+* Replace instances of `typename get_lowest_layer<T>::type`
+ with `get_lowest_layer<T>`.
+
+--------------------------------------------------------------------------------
+
+Version 157:
+
+* Fix teardown for TIME_WAIT
+* Fix big-endian websocket masking
+
+--------------------------------------------------------------------------------
+
+Version 156:
+
+* Don't use typeid
+* Add release notes to documentation
+* Fix stale link for void-or-deduced
+
+--------------------------------------------------------------------------------
+
+Version 155:
+
+* Fix memory leak in advanced server examples
+* Fix soft-mutex assert in websocket stream
+* Fix fallthrough warnings
+* Tidy up bind_handler doc
+
+--------------------------------------------------------------------------------
+
+Version 154:
+
+* Type check completion handlers
+* bind_handler doc update
+* bind_handler works with boost placeholders
+
+--------------------------------------------------------------------------------
+
+Version 153:
+
+* Remove BOOST_VERSION checks
+* Use make_error_code for setting an error_code from errc
+* Use boost::winapi::GetLastError() consistently
+* Update README.md for branches
+* Avoid string_view::clear
+* Fix iterator version of basic_fields::erase
+* Fix use-after-move in example request handlers
+* Add Bishop Fox interview media
+
+--------------------------------------------------------------------------------
+
+Version 152:
+
+* Refactor detect_ssl_op
+* Disable gdb on Travis for Meltdown
+
+WebSocket:
+
+* Redistribute the read tests in the translation units
+* Refactor error headers
+* Add WebSocket error conditions
+
+API Changes:
+
+* Refactor WebSocket errors (API Change):
+
+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.
+
+--------------------------------------------------------------------------------
+
+Version 151:
+
+* Sanitizer failures are errors
+* Depend on container_hash
+* Fix high-ASCII in source file
+
+WebSocket:
+
+* Control callback is invoked on the execution context
+* Add stream_fwd.hpp
+* Remove unnecessary include
+
+API Changes:
+
+* http::parser is not MoveConstructible
+* permessage-deflate is a compile-time feature
+
+--------------------------------------------------------------------------------
+
+Version 150:
+
+* handler_ptr tests
+* Documentation
+
+API Changes:
+
+* serializer::reader_impl is deprecated
+
+Actions Required:
+
+* Call serializer::writer_impl instead of reader_impl
+
+--------------------------------------------------------------------------------
+
+Version 149:
+
+* built-in r-value return values can't be assigned
+* Tidy up ssl_stream special members
+* Fix CMakeLists.txt variable
+* Protect calls from macros
+* pausation always allocates
+* Don't copy completion handlers
+* handler_ptr is move-only
+* Fix Travis memory utilization
+
+API Changes:
+
+* handler_ptr gives the strong exception guarantee
+
+Actions Required:
+
+* Change the constructor signature for state objects
+ used with handler_ptr to receive a const reference to
+ the handler.
+
+--------------------------------------------------------------------------------
+
+Version 148:
+
+* Install codecov on codecov CI targets only
+* Update reports for hybrid assessment
+* Handle invalid deflate frames
+
+--------------------------------------------------------------------------------
+
+Version 147:
+
+* Don't use boost::string_ref
+* Use iterator wrapper in detail::buffers_range
+
+HTTP:
+
+* Tidy up basic_fields exception specifiers
+
+WebSocket:
+
+* control callback is copied or moved
+* Send idle pings in advanced servers
+
+--------------------------------------------------------------------------------
+
+Version 146:
+
+* Fix some typos
+* Faster ascii_tolower
+* Documentation tidying
+* Fix typo in examples documentation
+* Add detail::aligned_union and tidy up
+* Use variant in buffers_cat_view
+
+API Changes:
+
+* Remove unintended public members of handler_ptr
+
+--------------------------------------------------------------------------------
+
+Version 145:
+
+* Rename some detail functions
+* Refactor basic_fields allocator internals
+* Refactor HTTP async read composed operations
+* null_buffers is deprecated
+* Version 124 works with Boost 1.65.1 and earlier
+* basic_fields does not support fancy pointers
+
+--------------------------------------------------------------------------------
+
+Version 144-hf1:
+
+* Update reports for hybrid assessment
+* Handle invalid deflate frames
+* Install codecov on codecov CI targets only
+
+--------------------------------------------------------------------------------
+
+Version 144:
+
+* Fix websocket permessage-deflate negotiation
+
+--------------------------------------------------------------------------------
+
+Version 143:
+
+* Fix autobahn report link
+
+--------------------------------------------------------------------------------
+
+Version 142:
+
+* Warn about upcoming API changes to certain concepts
+* Fix name typo in http write test
+
+--------------------------------------------------------------------------------
+
+Version 141:
+
+* Tidy up some documentation
+
+--------------------------------------------------------------------------------
+
+Version 140:
+
+* Fix some integer warnings in 64-bit builds
+* Fix utf8_checker test failures
+* Fix signature for async_read_some, and tests
+* Tidy up basic_parser
+* Some basic_fields special members are protected
+
+--------------------------------------------------------------------------------
+
+Version 139:
+
+* Revisit boost library min/max guidance
+
+--------------------------------------------------------------------------------
+
+Version 138:
+
+* Tidy up some documentation
+
+--------------------------------------------------------------------------------
+
+Version 137:
+
+* ConstBufferSequence mandates pointer equivalence
+* Add FieldsWriter constructor requirement
+* Tidy up some documented constructor syntax
+
+--------------------------------------------------------------------------------
+
+Version 136:
+
+* Tidy up message doc image
+
+--------------------------------------------------------------------------------
+
+Version 135:
+
+* Fix typo in example server help text
+
+--------------------------------------------------------------------------------
+
+Version 134:
+
+* Add static_buffer_base default constructor definition
+
+--------------------------------------------------------------------------------
+
+Version 133:
+
+* Remove const&& overload of message::body
+
+--------------------------------------------------------------------------------
+
+Version 132:
+
+* Tidy up project folders in CMakeLists.txt
+* Rename Cmake variables for clarity
+* Add ref-qualified overloads for message::body
+* Tidy up FieldsReader doc
+
+API Changes:
+
+* Fields::writer replaces Fields::reader
+* BodyReader and BodyWriter names are swapped
+
+Actions Required:
+
+* Rename reader to writer for user defined Fields
+* Swap the reader and writer names for user defined Body types
+* Swap use of is_body_reader and is_body_writer
+
+--------------------------------------------------------------------------------
+
+Version 131:
+
+* basic_fields returns const values
+* Set SNI hostname in example SSL clients
+
+--------------------------------------------------------------------------------
+
+Version 130:
+
+* Tidy up fallthrough warning
+* Remove cxx11_sfinae_expr build requirement from tests
+
+--------------------------------------------------------------------------------
+
+Version 129:
+
+* Add autobahn test report to doc
+* Documentation tidying
+* Fix prepare_payload: chunked is HTTP/1.1
+
+--------------------------------------------------------------------------------
+
+Version 128:
+
+* Update doc links
+* Add explicit-failures-markup.xml
+
+HTTP:
+
+* Add message::need_eof
+* Use message::need_eof in example servers
+* Use synchronous writes in chunk output example
+
+WebSocket:
+
+* Fix utf8 validation for autobahn
+* Temporarily disable utf8 validation tests
+* Tidy up fast websocket server host names
+
+API Changes:
+
+* Remove serializer::keep_alive
+* Remove serializer::chunked
+* Add has_content_length_impl to Fields
+* Add message::has_content_length
+* Rename some basic_parser observers
+
+Actions Required:
+
+* Call message::keep_alive instead of serializer::keep_alive
+* Call serializer::get::chunked instead of serializer::chunked
+* Implement has_content_length_impl for user-defined Fields
+* Remove the "is_" prefix from call sites invoking certain basic_parser members
+
+--------------------------------------------------------------------------------
+
+Version 127:
+
+* Add BOOST_BEAST_NO_POSIX_FADVISE
+* Version command line option for HTTP client examples
+* More Jamfile compiler requirements for tests
+
+--------------------------------------------------------------------------------
+
+Version 126:
+
+* Add CppCon2017 presentation link
+* Update README.md
+* Update stream write documentation for end of stream changes
+* Tidy up unused variable warnings
+* Don't return end_of_stream on win32 file body writes
+* Fix doc typo
+* Fix shadowing in session_alloc
+* Fix executor type compilation
+* Add Travis tests with the default compilers
+* Update Boost.WinAPI usage to the new location and namespace.
+* Fix buffered_read_stream async_read_some signature
+
+--------------------------------------------------------------------------------
+
+Version 125:
+
+API Changes:
+
+* Update for Net-TS Asio
+
+Actions Required:
+
+* Use BOOST_ASIO_HANDLER_TYPE instead of handler_type
+* Use BOOST_ASIO_INITFN_RESULT_TYPE instead of async_result
+* Use boost::asio::async_completion
+* Use boost::asio::is_dynamic_buffer
+* Use boost::asio::is_const_buffer_sequence
+* Use boost::asio::is_mutable_buffer_sequence
+* boost::asio::associated_allocator_t replaces handler_alloc
+
+--------------------------------------------------------------------------------
+
+Version 124:
+
+* Fix for a test matrix compiler
+* Fix basic_fields javadoc
+
+API Changes:
+
+* http write returns success on connection close
+
+Actions Required:
+
+* Add code to servers to close the connection after successfully
+ writing a message where `message::keep_alive()` would return `false`.
+
+--------------------------------------------------------------------------------
+
+Version 123:
+
+* Use unit-test subtree
+* Fix spurious race in websocket close test
+* Check compiler feature in Jamfile
+* Clear previous message fields in parser
+
+--------------------------------------------------------------------------------
+
+Version 122:
+
+* Add test for issue 807
+* assert on empty buffer in websocket read
+* Fix zlib symbol conflicts
+* CMake 3.5.1 is required
+* config.hpp is not a public header
+* Add missing case in error test
+
+--------------------------------------------------------------------------------
+
+Version 121:
+
+* Add test for issue 802
+* Fix enum and non-enum in conditional exp. warning
+
+--------------------------------------------------------------------------------
+
+Version 120:
+
+* Fix spurious strand_ in advanced_server_flex
+* OpenSSL targets are optional (CMake)
+
+--------------------------------------------------------------------------------
+
+Version 119:
+
+* Tidy up doc badge links
+
+--------------------------------------------------------------------------------
+
+Version 118:
+
+* file_win32 opens for read-only in shared mode
+* Remove unused strands in server examples
+* Update build instructions
+* Doc root is at index.html
+
+HTTP:
+
+* Fix writing header into std::ostream
+
+--------------------------------------------------------------------------------
+
+Version 117:
+
+* Add buffers_to_string
+
+API Changes:
+
+* buffers_suffix replaces consuming_buffers
+* buffers_prefix replaces buffer_prefix
+* buffers_prefix_view replaces buffer_prefix_view
+* buffers_front replaces buffer_front
+* buffers_cat replaces buffer_cat
+* buffers_cat_view replaces buffer_cat_view
+* Remove buffers_suffix::get
+
+Actions Required:
+
+* Use buffers_suffix instead of consuming_buffers
+* Use buffers_prefix instead of buffer_prefix
+* Use buffers_prefix_view instead of buffer_prefix_view
+* Use buffers_front instead of buffer_front
+* Use buffers_cat instead of buffer_cat
+* Use buffers_cat_view instead of buffer_cat_view
+* Avoid calling buffers_suffix::get
+
+--------------------------------------------------------------------------------
+
+Version 116:
+
+API Changes:
+
+* message::body is a member function
+* message::version is a member function
+
+Actions Required:
+
+* Call member function message::body instead of accessing
+ the data member at call sites.
+
+* Call member function message::version instead of accessing
+ the version member at call sites.
+
+--------------------------------------------------------------------------------
+
+Version 115:
+
+* Update README.md master doc link
+
+--------------------------------------------------------------------------------
+
+Version 114:
+
+(No changes)
+
+--------------------------------------------------------------------------------
+
+Version 113:
+
+* Fix handler signature in async_read_header
+* Remove field_range copy constructor
+
+--------------------------------------------------------------------------------
+
+Version 112:
+
+* Update websocket notes
+
+API Changes:
+
+* WebSocket writes return the bytes transferred
+
+* HTTP reads and writes return bytes transferred
+
+Actions Required:
+
+* Modify websocket write completion handlers to receive
+ the extra std::size_t bytes_transferred parameter.
+
+* Modify HTTP read and/or write completion handlers to
+ receive the extra std::size_t bytes_transferred parameter.
+
+--------------------------------------------------------------------------------
+
+Version 111:
+
+WebSocket:
+
+* Fix utf8 check split code point at buffer end
+* Refactor stream operations and tests plus coverage
+* Suspended ops special members
+
+--------------------------------------------------------------------------------
+
+Version 110:
+
+* Refactor stream open state variable
+* Refactor websocket stream members
+* Refactor websocket stream: fixes and tests
+* Add test::stream::lowest_layer
+* Fix invalid iterator in test reporter
+
+--------------------------------------------------------------------------------
+
+Version 109:
+
+* refactor test::stream
+
+WebSocket:
+
+* Fix async_read_some handler signature
+* websocket close fixes and tests
+* websocket handshake uses coroutine
+* websocket ping tests
+* Fix websocket close_op resume state
+* websocket write tests
+* split up websocket tests
+* websocket read tests
+
+API Changes:
+
+* websocket accept refactoring
+
+Actions Required:
+
+* Do not call websocket accept overloads which take
+ both a message and a buffer sequence, as it is
+ illegal per rfc6455.
+
+--------------------------------------------------------------------------------
+
+Version 108:
+
+* Fix argument parsing in HTTP examples
+* Don't use async_write_msg in examples
+
+--------------------------------------------------------------------------------
+
+Version 107:
+
+* Use test::stream
+
+WebSocket
+
+* Fix done state for WebSocket reads
+* Fix utf8 check for compressed frames
+* Rename frame and header buffer types
+
+--------------------------------------------------------------------------------
+
+Version 106:
+
+* Dynamic buffer input areas are mutable
+* Add flat_static_buffer::reset
+
+HTTP:
+
+* Fix for basic_parser::skip(true) and docs
+
+WebSocket:
+
+* websocket test improvements
+* Remove obsolete write_op
+* Refactor write_op
+* Refactor ping_op
+* Refactor fail_op
+* Refactor read_op
+* Refactor close_op
+* Refactor read_op + fail_op
+* Websocket close will automatically drain
+* Autobahn|Testsuite fixes
+* Tidy up utf8_checker and tests
+
+--------------------------------------------------------------------------------
+
+Version 105:
+
+* Fix compile error in websocket snippet
+* Tidy up Jamfile and tests
+
+--------------------------------------------------------------------------------
+
+Version 104:
+
+* Remove unused include
+* Use #error in config.hpp
+* Only set -std=c++11 on Travis
+* Only set /permissive- on Appveyor
+* Tidy up some test warnings
+* tools/ renamed from build/
+
+WebSocket:
+
+* Fix pausation::save
+
+--------------------------------------------------------------------------------
+
+Version 103:
+
+* Boost test matrix fixes
+* Tidy up allocator usage
+* Example HTTP server fixes
+
+--------------------------------------------------------------------------------
+
+Version 102:
+
+* Section headings in examples
+
+--------------------------------------------------------------------------------
+
+Version 101:
+
+* Refactor all examples
+
+--------------------------------------------------------------------------------
+
+Version 100:
+
+* Fix doc convenience includes
+* Fix doc includes
+* Remove unused test header
+* Rename test macros
+* Reorder define test macro params
+* vcxproj workaround for include symlinks
+* Add variadic min/max
+
+WebSocket:
+
+* Remove obsolete frame tests
+* Refactor fail/clode code
+* Call do_fail from read_some
+* eof on accept returns error::closed
+* Fix stream::read_size_hint calculation
+* Documentation
+
+API Changes:
+
+* Calls to stream::close and stream::async_close will
+ automatically perform the required read operations
+
+* drain_buffer is removed
+
+* role_type replaces teardown_tag
+
+Actions Required:
+
+* Remove calling code which drains the connection after
+ calling stream::close or stream::async_close
+
+* Replace code which uses drain_buffer. For websocket::stream,
+ it is no longer necessary to manually drain the connection
+ after closing.
+
+* Modify signatures of teardown and async_teardown to use
+ role_type instead of teardown_tag
+
+* Change calls to teardown and async_teardown to pass the
+ correct role_type, client or server, depending on context.
+
+--------------------------------------------------------------------------------
+
+Version 99:
+
+* Log the value of LIB_DIR for doc builds (debug)
+* Use correct handler signature in fail_op
+* Fix doc typo
+
+--------------------------------------------------------------------------------
+
+Version 98:
+
+* basic_fields::key_compare is noexcept
+* Fix bench-zlib cmake
+* Use unique names Jam projects
+* Trim utf8 checker test
+
+--------------------------------------------------------------------------------
+
+Version 97:
+
+* Update redirect
+
+--------------------------------------------------------------------------------
+
+Version 96:
+
+* Move bench/ to test/
+* Move extras/ to test/
+* Use <valgrind> property
+* Rename wsload compile target
+* Fix library.json
+* Update boostorg links
+* Add bench-zlib
+* Faster zlib tests
+* Less compression on websocket test
+
+--------------------------------------------------------------------------------
+
+Version 95:
+
+* Tidy up Travis build scripts
+* Move scripts to build/
+* Fix race in test::pipe
+* close on test::pipe teardown
+* Add test::stream
+* Tidy up static_buffer braced init
+* Fix html redirect
+* Add valgrind variant, fix false positives
+
+--------------------------------------------------------------------------------
+
+Version 94:
+
+* Use off-site Quick Start link temporarily
+
+--------------------------------------------------------------------------------
+
+Version 93:
+
+* Unset BOOST_COROUTINES_NO_DEPRECATION_WARNING
+
+--------------------------------------------------------------------------------
+
+Version 92:
+
+* Fix typo in test/CMakeLists.txt
+* basic_fields::value_type is not copyable
+* Update repository links in source comments
+* Ignore Content-Length in some cases
+* Tidy up doc snippet paths
+* Use off-site doc link
+
+--------------------------------------------------------------------------------
+
+Version 91:
+
+* Adjust redirect html
+* Don't build pre-C++11
+* source.dox is path-independent
+* Tidy up namespace qualifiers
+* Tidy up MSVC CMakeLists.txt
+* Optimize buffered_read_stream
+* constexpr in derived buffers
+* Set BOOST_ASIO_NO_DEPRECATED
+* Use Asio array optimization in static_buffer_base
+* Rename wstest source file
+* Use fopen_s on Windows
+* Fix Appveyor script
+* Update project metadata
+* Move benchmarks to bench/
+* Fix doc title
+* Build stand-alone doc
+* Update doc copyrights
+* Refactor test build scripts
+
+WebSocket:
+
+* Tidy up websocket javadocs
+* Refactor accept, handshake ops
+* Use read buffer instead of buffered stream
+
+API Changes
+
+* control frame callbacks are non-const references
+
+Actions Required:
+
+* Modify calls to set the control frame callback, to
+ pass non-const reference instances, and manage the
+ lifetime of the instance.
+
+--------------------------------------------------------------------------------
+
+Version 90:
+
+* Fix websocket read of zero length message
+* Fix typo in equal_range
+* Output to integrated documentation
+
+--------------------------------------------------------------------------------
+
+Version 89:
+
+* Fix CONTRIBUTING.md links
+
+--------------------------------------------------------------------------------
+
+Version 88:
+
+* Update doc links in README.md
+* Refactor tests Jamfile
+* Don't use program_options
+
+WebSocket:
+
+* Fix uninitialized frame done
+
+--------------------------------------------------------------------------------
+
+Version 87:
+
+* Update appveyor for Boost branch
+* Rename to BEAST_EXPECT
+* variant fixes and tests
+* Update README, add CONTRIBUTING.md and CODE_OF_CONDUCT.md
+
+--------------------------------------------------------------------------------
+
+Version 86:
+
+* Boost prep
+* Remove use of lexical_cast
+* Use custom variant
+* Update README.md
+* Add local-travis.sh
+* Use winapi
+* Update CMakeLists.txt for boost
+* Update documentation for boost
+* Update copyrights
+* Remove spurious declaration
+* Tidy up Jamfile
+* Normalize doc build scripts
+* Use configured doxygen and xsltproc
+* Fix Deferred Body Type Example Documentation
+* Add library metadata
+
+API Changes:
+
+* websocket read returns the number of bytes inserted
+
+Actions Required:
+
+* Change the signature of completion handlers used with
+ websocket::stream::async_read to void(error_code, std::size_t)
+
+--------------------------------------------------------------------------------
+
+Version 85:
+
+* Fix test failure
+* Tidy up test warning
+
+--------------------------------------------------------------------------------
+
+Version 84:
+
+* Tidy up buffer_front
+* static_buffer::consume improvement
+* multi_buffer is type-check friendly
+* bind_handler allows placeholders
+* Add consuming_buffers::get
+
+WebSocket:
+
+* WebSocket read optimization
+
+API Changes:
+
+* websocket::stream::read_buffer_size is removed
+
+Actions Required:
+
+* Remove calls websocket::stream::read_buffer_size
+* Use read_some and write_some instead of read_frame and write_frame
+
+--------------------------------------------------------------------------------
+
+Version 83:
+
+* Add flat_static_buffer::mutable_data
+* Add buffer_front
+* Add wstest compression option
+* Turn some flat_static_buffer_tests on
+* Documentation work
+* read_some, async_read_some return bytes used
+* Fix private timer::clock_type
+
+WebSocket
+
+* Add wstest compression option
+* Fix buffer lifetime in websocket write
+
+API Changes:
+
+* Add static_buffer
+
+Actions Required:
+
+* Callers who depend on static_buffer returning sequences of
+ exactly length one should switch to flat_static_buffer.
+
+--------------------------------------------------------------------------------
+
+Version 82:
+
+* Documentation tidying
+* is_invocable works with move-only types
+* Use std::function and reference wrapper
+* Add session_alloc to example/common
+* Silence spurious warning
+
+HTTP
+
+* Fix extraneous argument in async_write_header
+
+WebSocket
+
+* stream tidying
+* Add rd_close_ to websocket stream state
+* stream uses flat_buffer
+* accept requires a message
+* Add wstest benchmark tool
+
+API Changes:
+
+* Rename to flat_static_buffer and flat_static_buffer_base
+
+Actions Required:
+
+* Rename static_buffer to flat_static_buffer_base
+* Rename static_buffer_n to flat_static_buffer
+
+--------------------------------------------------------------------------------
+
+Version 81:
+
+* Pass string_view by value
+* better is_final on empty_base_optimization
+* Suppress incorrect GCC warning
+* multi_buffer ctor is explicit
+* File is not copy-constructible
+
+API Changes:
+
+* Refactor basic_parser, chunk parsing:
+
+Actions Required:
+
+* Adjust signatures for required members of user-defined
+ subclasses of basic_parser
+
+* Use the new basic_parser chunk callbacks for accessing
+ chunk extensions and chunk bodies.
+
+--------------------------------------------------------------------------------
+
+Version 80:
+
+* Javadoc tidying
+* Add basic_dynamic_body.hpp
+* Shrink buffer_prefix_view
+* Remove unused file_path
+* Add basic_file_body.hpp
+* buffers_ref is Assignable
+
+HTTP
+
+* Shrink chunk header buffer sequence size
+
+API Changes:
+
+* Refactor chunked-encoding serialization
+
+Actions Required:
+
+* Remove references to ChunkDecorators. Use the new chunk-encoding
+ buffer sequences to manually produce a chunked payload body in
+ the case where control over the chunk-extensions and/or trailers
+ is required.
+
+--------------------------------------------------------------------------------
+
+Version 79:
+
+* Remove spurious fallthrough guidance
+
+--------------------------------------------------------------------------------
+
+Version 78:
+
+* Add span
+* Documentation work
+* Use make_unique_noinit
+* Fix warning in zlib
+* Header file tidying
+* Tidy up FieldsReader doc
+* Add Boost.Locale utf8 benchmark comparison
+* Tidy up dstream for existing Boost versions
+* Tidy up file_posix unused variable
+* Fix warning in root ca declaration
+
+HTTP:
+
+* Tidy up basic_string_body
+* Add vector_body
+* span, string, vector bodies are public
+* Fix spurious uninitialized warning
+* fields temp string uses allocator
+
+API Changes:
+
+* Add message::keep_alive()
+* Add message::chunked() and message::content_length()
+* Remove string_view_body
+
+Actions Required:
+
+* Change user defined implementations of Fields and
+ FieldsReader to meet the new requirements.
+
+* Use span_body<char> instead of string_view_body
+
+--------------------------------------------------------------------------------
+
+Version 77:
+
+* file_posix works without large file support
+
+--------------------------------------------------------------------------------
+
+Version 76:
+
+* Always go through write_some
+* Use Boost.Config
+* BodyReader may construct from a non-const message
+* Add serializer::get
+* Add serializer::chunked
+* Serializer members are not const
+* serializing file_body is not const
+* Add file_body_win32
+* Fix parse illegal characters in obs-fold
+* Disable SSE4.2 optimizations
+
+API Changes:
+
+* Rename to serializer::keep_alive
+* BodyReader, BodyWriter use two-phase init
+
+Actions Required:
+
+* Use serializer::keep_alive instead of serializer::close and
+ take the logical NOT of the return value.
+
+* Modify instances of user-defined BodyReader and BodyWriter
+ types to perform two-phase initialization, as per the
+ updated documented type requirements.
+
+--------------------------------------------------------------------------------
+
+Version 75:
+
+* Use file_body for valid requests, string_body otherwise.
+* Construct buffer_prefix_view in-place
+* Shrink serializer buffers using buffers_ref
+* Tidy up BEAST_NO_BIG_VARIANTS
+* Shrink serializer buffers using buffers_ref
+* Add serializer::limit
+* file_body tests
+* Using SSE4.2 intrinsics in basic_parser if available
+
+--------------------------------------------------------------------------------
+
+Version 74:
+
+* Add file_stdio and File concept
+* Add file_win32
+* Add file_body
+* Remove common/file_body.hpp
+* Add file_posix
+* Fix Beast include directories for cmake targets
+* remove redundant flush() from example
+
+--------------------------------------------------------------------------------
+
+Version 73:
+
+* Jamroot tweak
+* Verify certificates in SSL clients
+* Adjust benchmarks
+* Initialize local variable in basic_parser
+* Fixes for gcc-4.8
+
+HTTP:
+
+* basic_parser optimizations
+* Add basic_parser tests
+
+API Changes:
+
+* Refactor header and message constructors
+* serializer::next replaces serializer::get
+
+Actions Required:
+
+* Evaluate each message constructor call site and
+ adjust the constructor argument list as needed.
+
+* Use serializer::next instead of serializer::get at call sites
+
+--------------------------------------------------------------------------------
+
+Version 72:
+
+HTTP:
+
+* Tidy up set payload in http-server-fast
+* Refine Body::size specification
+* Newly constructed responses have a 200 OK result
+* Refactor file_body for best practices
+* Add http-server-threaded example
+* Documentation tidying
+* Various improvements to http_server_fast.cpp
+
+WebSocket:
+
+* Add websocket-server-async example
+
+--------------------------------------------------------------------------------
+
+Version 71:
+
+* Fix extra ; warning
+* Documentation revision
+* Fix spurious on_chunk invocation
+* Call prepare_payload in HTTP example
+* Check trailers in test
+* Fix buffer overflow handling for string_body and mutable_body
+* Concept check in basic_dynamic_body
+* Tidy up http_sync_port error check
+* Tidy up Jamroot /permissive-
+
+WebSockets:
+
+* Fine tune websocket op asserts
+* Refactor websocket composed ops
+* Allow close, ping, and write to happen concurrently
+* Fix race in websocket read op
+* Fix websocket write op
+* Add cmake options for examples and tests
+
+API Changes:
+
+* Return `std::size_t` from `Body::writer::put`
+
+Actions Required:
+
+* Return the number of bytes actually transferred from the
+ input buffers in user defined `Body::writer::put` functions.
+
+--------------------------------------------------------------------------------
+
+Version 70:
+
+* Serialize in one step when possible
+* Add basic_parser header and body limits
+* Add parser::on_header to set a callback
+* Fix BEAST_FALLTHROUGH
+* Fix HEAD response in file_service
+
+API Changes:
+
+* Rename to message::base
+* basic_parser default limits are now 1MB/8MB
+
+Actions Required:
+
+* Change calls to message::header_part() with message::base()
+
+* Call body_limit and/or header_limit as needed to adjust the
+ limits to suitable values if the defaults are insufficient.
+
+--------------------------------------------------------------------------------
+
+Version 69:
+
+* basic_parser optimizations
+* Use BEAST_FALLTHROUGH to silence warnings
+* Add /permissive- to msvc toolchain
+
+--------------------------------------------------------------------------------
+
+Version 68:
+
+* Split common tests to a new project
+* Small speed up in fields comparisons
+* Adjust buffer size in fast server
+* Use string_ref in older Boost versions
+* Optimize field lookups
+* Add const_body, mutable_body to examples
+* Link statically on cmake MSVC
+
+API Changes:
+
+* Change BodyReader, BodyWriter requirements
+* Remove BodyReader::is_deferred
+* http::error::bad_target replaces bad_path
+
+Actions Required:
+
+* Change user defined instances of BodyReader and BodyWriter
+ to meet the new requirements.
+
+* Replace references to http::error::bad_path with http::error::bad_target
+
+--------------------------------------------------------------------------------
+
+Version 67:
+
+* Fix doc example link
+* Add http-server-small example
+* Merge stream_base to stream and tidy
+* Use boost::string_view
+* Rename to http-server-fast
+* Appveyor use Boost 1.64.0
+* Group common example headers
+
+API Changes:
+
+* control_callback replaces ping_callback
+
+Actions Required:
+
+* Change calls to websocket::stream::ping_callback to use
+ websocket::stream::control_callback
+
+* Change user defined ping callbacks to have the new
+ signature and adjust the callback definition appropriately.
+
+--------------------------------------------------------------------------------
+
+Version 66:
+
+* string_param optimizations
+* Add serializer request/response aliases
+* Make consuming_buffers smaller
+* Fix costly potential value-init in parser
+* Fix unused parameter warning
+* Handle bad_alloc in parser
+* Tidy up message piecewise ctors
+* Add header aliases
+* basic_fields optimizations
+* Add http-server example
+* Squelch spurious warning on gcc
+
+--------------------------------------------------------------------------------
+
+Version 65:
+
+* Enable narrowing warning on msvc cmake
+* Fix integer types in deflate_stream::bi_reverse
+* Fix narrowing in static_ostream
+* Fix narrowing in ostream
+* Fix narrowing in inflate_stream
+* Fix narrowing in deflate_stream
+* Fix integer warnings
+* Enable unused variable warning on msvc cmake
+
+--------------------------------------------------------------------------------
+
+Version 64:
+
+* Simplify buffered_read_stream composed op
+* Simplify ssl teardown composed op
+* Simplify websocket write_op
+* Exemplars are compiled code
+* Better User-Agent in examples
+* async_write requires a non-const message
+* Doc tidying
+* Add link_directories to cmake
+
+API Changes:
+
+* Remove make_serializer
+
+Actions Required:
+
+* Replace calls to make_serializer with variable declarations
+
+--------------------------------------------------------------------------------
+
+Version 63:
+
+* Use std::to_string instead of lexical_cast
+* Don't use cached Boost
+* Put num_jobs back up on Travis
+* Only build and run tests in variant=coverage
+* Move benchmarks to a separate project
+* Only run the tests under ubasan
+* Tidy up CMakeLists.txt
+* Tidy up Jamfiles
+* Control running with valgrind explicitly
+
+--------------------------------------------------------------------------------
+
+Version 62:
+
+* Remove libssl-dev from a Travis matrix item
+* Increase detail::static_ostream coverage
+* Add server-framework tests
+* Doc fixes and tidy
+* Tidy up namespaces in examples
+* Clear the error faster
+* Avoid explicit operator bool for error
+* Add http::is_fields trait
+* Squelch harmless not_connected errors
+* Put slow tests back for coverage builds
+
+API Changes:
+
+* parser requires basic_fields
+* Refine FieldsReader concept
+* message::prepare_payload replaces message::prepare
+
+Actions Required:
+
+* Callers using `parser` with Fields types other than basic_fields
+ will need to create their own subclass of basic_parser to work
+ with their custom fields type.
+
+* Implement chunked() and keep_alive() for user defined FieldsReader types.
+
+* Change calls to msg.prepare to msg.prepare_payload. For messages
+ with a user-defined Fields, provide the function prepare_payload_impl
+ in the fields type according to the Fields requirements.
+
+--------------------------------------------------------------------------------
+
+Version 61:
+
+* Remove Spirit dependency
+* Use generic_cateogry for errno
+* Reorganize SSL examples
+* Tidy up some integer conversion warnings
+* Add message::header_part()
+* Tidy up names in error categories
+* Flush the output stream in the example
+* Clean close in Secure WebSocket client
+* Add server-framework SSL HTTP and WebSocket ports
+* Fix shadowing warnings
+* Tidy up http-crawl example
+* Add multi_port to server-framework
+* Tidy up resolver calls
+* Use one job on CI
+* Don't run slow tests on certain targets
+
+API Changes:
+
+* header::version is unsigned
+* status-codes is unsigned
+
+--------------------------------------------------------------------------------
+
+Version 60:
+
+* String comparisons are public interfaces
+* Fix response message type in async websocket accept
+* New server-framework, full featured server example
+
+--------------------------------------------------------------------------------
+
+Version 59:
+
+* Integrated Beast INTERFACE (cmake)
+* Fix base64 alphabet
+* Remove obsolete doc/README.md
+
+API Changes:
+
+* Change Body::size signature (API Change):
+
+Actions Required:
+
+* For any user-defined models of Body, change the function signature
+ to accept `value_type const&` and modify the function definition
+ accordingly.
+
+--------------------------------------------------------------------------------
+
+Version 58:
+
+* Fix unaligned reads in utf8-checker
+* Qualify size_t in message template
+* Reorganize examples
+* Specification for http read
+* Avoid `std::string` in websocket
+* Fix basic_fields insert ordering
+* basic_fields::set optimization
+* basic_parser::put doc
+* Use static string in basic_fields::reader
+* Remove redundant code
+* Fix parsing chunk size with leading zeroes
+* Better message formal parameter names
+
+API Changes:
+
+* `basic_fields::set` renamed from `basic_fields::replace`
+
+Actions Required:
+
+* Rename calls to `basic_fields::replace` to `basic_fields::set`
+
+--------------------------------------------------------------------------------
+
+Version 57:
+
+* Fix message.hpp javadocs
+* Fix warning in basic_parser.cpp
+* Integrate docca for documentation and tidy
+
+--------------------------------------------------------------------------------
+
+Version 56:
+
+* Add provisional IANA header field names
+* Add string_view_body
+* Call on_chunk when the extension is empty
+* HTTP/1.1 is the default version
+* Try harder to find Boost (cmake)
+* Reset error codes
+* More basic_parser tests
+* Add an INTERFACE cmake target
+* Convert buffer in range loops
+
+--------------------------------------------------------------------------------
+
+Version 55:
+
+* Don't allocate memory to handle obs-fold
+* Avoid a parser allocation using non-flat buffer
+* read_size replaces read_size_helper
+
+--------------------------------------------------------------------------------
+
+Version 54:
+
+* static_buffer coverage
+* flat_buffer coverage
+* multi_buffer coverage
+* consuming_buffers members and coverage
+* basic_fields members and coverage
+* Add string_param
+* Retain ownership when reading using a message
+* Fix incorrect use of [[fallthrough]]
+
+API Changes:
+
+* basic_fields refactor
+
+--------------------------------------------------------------------------------
+
+Version 53:
+
+* Fix basic_parser::maybe_flatten
+* Fix read_size_helper usage
+
+--------------------------------------------------------------------------------
+
+Version 52:
+
+* flat_buffer is an AllocatorAwareContainer
+* Add drain_buffer class
+
+API Changes:
+
+* `auto_fragment` is a member of `stream`
+* `binary`, `text` are members of `stream`
+* read_buffer_size is a member of `stream`
+* read_message_max is a member of `stream`
+* `write_buffer_size` is a member of `stream`
+* `ping_callback` is a member of stream
+* Remove `opcode` from `read`, `async_read`
+* `read_frame` returns `bool` fin
+* `opcode` is private
+* finish(error_code&) is a BodyReader requirement
+
+Actions Required:
+
+* Change call sites which use `auto_fragment` with `set_option`
+ to call `stream::auto_fragment` instead.
+
+* Change call sites which use message_type with `set_option`
+ to call `stream::binary` or `stream::text` instead.
+
+* Change call sites which use `read_buffer_size` with `set_option` to
+ call `stream::read_buffer_size` instead.
+
+* Change call sites which use `read_message_max` with `set_option` to
+ call `stream::read_message_max` instead.
+
+* Change call sites which use `write_buffer_size` with `set_option` to
+ call `stream::write_buffer_size` instead.
+
+* Change call sites which use `ping_callback1 with `set_option` to
+ call `stream::ping_callback` instead.
+
+* Remove the `opcode` reference parameter from calls to synchronous
+ and asynchronous read functions, replace the logic with calls to
+ `stream::got_binary` and `stream::got_text` instead.
+
+* Remove the `frame_info` parameter from all read frame call sites
+
+* Check the return value 'fin' for calls to `read_frame`
+
+* Change ReadHandlers passed to `async_read_frame` to have
+ the signature `void(error_code, bool fin)`, use the `bool`
+ to indicate if the frame is the last frame.
+
+* Remove all occurrences of the `opcode` enum at call sites
+
+--------------------------------------------------------------------------------
+
+Version 51
+
+* Fix operator<< for header
+* Tidy up file_body
+* Fix file_body::get() not setting the more flag correctly
+* Use BOOST_FALLTHROUGH
+* Use BOOST_STRINGIZE
+* DynamicBuffer benchmarks
+* Add construct, destroy to handler_alloc
+* Fix infinite loop in basic_parser
+
+API Changes:
+
+* Tune up static_buffer
+* multi_buffer implementation change
+
+Actions Required:
+
+* Call sites passing a number to multi_buffer's constructor
+ will need to be adjusted, see the corresponding commit message.
+
+--------------------------------------------------------------------------------
+
+Version 50
+
+* parser is constructible from other body types
+* Add field enumeration
+* Use allocator more in basic_fields
+* Fix basic_fields allocator awareness
+* Use field in basic_fields and call sites
+* Use field in basic_parser
+* Tidy up basic_fields, header, and field concepts
+* Fields concept work
+* Body documentation work
+* Add missing handler_alloc nested types
+* Fix chunk delimiter parsing
+* Fix test::pipe read_size
+* Fix chunk header parsing
+
+API Changes:
+
+* Remove header_parser
+* Add verb to on_request for parsers
+* Refactor prepare
+* Protect basic_fields special members
+* Remove message connection settings
+* Remove message free functions
+* Remove obsolete serializer allocator
+* http read_some, async_read_some don't return bytes
+
+--------------------------------------------------------------------------------
+
+Version 49
+
+* Use <iosfwd> instead of <ostream>
+
+HTTP:
+
+* Add HEAD request example
+
+API Changes:
+
+* Refactor method and verb
+* Canonicalize string_view parameter types
+* Tidy up empty_body writer error
+* Refactor header status, reason, and target
+
+--------------------------------------------------------------------------------
+
+Version 48
+
+* Make buffer_prefix_view public
+* Remove detail::sync_ostream
+* Tidy up core type traits
+
+API Changes:
+
+* Tidy up chunk decorator
+* Rename to buffer_cat_view
+* Consolidate parsers to parser.hpp
+* Rename to parser
+
+--------------------------------------------------------------------------------
+
+Version 47
+
+* Disable operator<< for buffer_body
+* buffer_size overload for basic_multi_buffer::const_buffers_type
+* Fix undefined behavior in pausation
+* Fix leak in basic_flat_buffer
+
+API Changes:
+
+* Refactor treatment of request-method
+* Refactor treatment of status code and obsolete reason
+* Refactor HTTP serialization and parsing
+
+--------------------------------------------------------------------------------
+
+Version 46
+
+* Add test::pipe
+* Documentation work
+
+API Changes:
+
+* Remove HTTP header aliases
+* Refactor HTTP serialization
+* Refactor type traits
+
+--------------------------------------------------------------------------------
+
+Version 45
+
+* Workaround for boost::asio::basic_streambuf type check
+* Fix message doc image
+* Better test::enable_yield_to
+* Fix header::reason
+* Documentation work
+* buffer_view skips empty buffer sequences
+* Disable reverse_iterator buffer_view test
+
+--------------------------------------------------------------------------------
+
+Version 44
+
+* Use BOOST_THROW_EXCEPTION
+* Tidy up read_size_helper and dynamic buffers
+* Require Boost 1.58.0 or later
+* Tidy up and make get_lowest_layer public
+* Use BOOST_STATIC_ASSERT
+* Fix async return values in docs
+* Fix README websocket example
+* Add buffers_adapter regression test
+* Tidy up is_dynamic_buffer traits test
+* Make buffers_adapter meet requirements
+
+--------------------------------------------------------------------------------
+
+Version 43
+
+* Require Boost 1.64.0
+* Fix strict aliasing warnings in buffers_view
+* Tidy up buffer_prefix overloads and test
+* Add write limit to test::string_ostream
+* Additional constructors for consuming_buffers
+
+--------------------------------------------------------------------------------
+
+Version 42
+
+* Fix javadoc typo
+* Add formal review notes
+* Make buffers_view a public interface
+
+--------------------------------------------------------------------------------
+
+Version 41
+
+* Trim Appveyor matrix rows
+* Concept revision and documentation
+* Remove coveralls integration
+* Tidy up formal parameter names
+
+WebSocket
+
+* Tidy up websocket::close_code enum and constructors
+
+API Changes
+
+* Return http::error::end_of_stream on HTTP read eof
+* Remove placeholders
+* Rename prepare_buffer(s) to buffer_prefix
+* Remove handler helpers, tidy up hook invocations
+
+--------------------------------------------------------------------------------
+
+Version 40
+
+* Add to_static_string
+* Consolidate get_lowest_layer in type_traits.hpp
+* Fix basic_streambuf movable trait
+* Tidy up .travis.yml
+
+--------------------------------------------------------------------------------
+
+Version 39
+
+Beast versions are now identified by a single integer which
+is incremented on each merge. The macro BEAST_VERSION
+identifies the version number, currently at 39. A version
+setting commit will always be at the tip of the master
+and develop branches.
+
+* Use beast::string_view alias
+* Fixed braced-init error with older gcc
+
+HTTP
+
+* Tidy up basic_parser javadocs
+
+WebSocket:
+
+* Add websocket async echo ssl server test:
+* Fix eof error on ssl::stream shutdown
+
+API Changes:
+
+* Refactor http::header contents
+* New ostream() returns dynamic buffer output stream
+* New buffers() replaces to_string()
+* Rename to multi_buffer, basic_multi_buffer
+* Rename to flat_buffer, basic_flat_buffer
+* Rename to static_buffer, static_buffer_n
+* Rename to buffered_read_stream
+* Harmonize concepts and identifiers with net-ts
+* Tidy up HTTP reason_string
+
+--------------------------------------------------------------------------------
+
+1.0.0-b38
+
+* Refactor static_string
+* Refactor base64
+* Use static_string for WebSocket handshakes
+* Simplify get_lowest_layer test
+* Add test_allocator to extras/test
+* More flat_streambuf tests
+* WebSocket doc work
+* Prevent basic_fields operator[] assignment
+
+API Changes:
+
+* Refactor WebSocket error codes
+* Remove websocket::keep_alive option
+
+--------------------------------------------------------------------------------
+
+1.0.0-b37
+
+* CMake hide command lines in .vcxproj Output windows"
+* Rename to detail::is_invocable
+* Rename project to http-bench
+* Fix flat_streambuf
+* Add ub sanitizer blacklist
+* Add -funsigned-char to asan build target
+* Fix narrowing warning in table constants
+
+WebSocket:
+
+* Add is_upgrade() free function
+* Document websocket::stream thread safety
+* Rename to websocket::detail::pausation
+
+API Changes:
+
+* Provide websocket::stream accept() overloads
+* Refactor websocket decorators
+* Move everything in basic_fields.hpp to fields.hpp
+* Rename to http::dynamic_body, consolidate header
+
+--------------------------------------------------------------------------------
+
+1.0.0-b36
+
+* Update README.md
+
+--------------------------------------------------------------------------------
+
+1.0.0-b35
+
+* Add Appveyor build scripts and badge
+* Tidy up MSVC CMake configuration
+* Make close_code a proper enum
+* Add flat_streambuf
+* Rename to BEAST_DOXYGEN
+* Update .gitignore for VS2017
+* Fix README.md CMake instructions
+
+API Changes:
+
+* New HTTP interfaces
+* Remove http::empty_body
+
+--------------------------------------------------------------------------------
+
+1.0.0-b34
+
+* Fix and tidy up CMake build scripts
+
+--------------------------------------------------------------------------------
+
+1.0.0-b33
+
+* Require Visual Studio 2015 Update 3 or later
+
+HTTP
+
+* Use fwrite return value in file_body
+
+WebSocket
+
+* Set internal state correctly when writing frames
+* Add decorator unit test
+* Add write_frames unit test
+
+--------------------------------------------------------------------------------
+
+1.0.0-b32
+
+* Add io_service completion invariants test
+* Update CMake scripts for finding packages
+
+API Changes:
+
+* Remove http Writer suspend and resume feature
+
+--------------------------------------------------------------------------------
+
+1.0.0-b31
+
+* Tidy up build settings
+* Add missing dynabuf_readstream member
+
+WebSocket
+
+* Move the handler, don't copy it
+
+--------------------------------------------------------------------------------
+
+1.0.0-b30
+
+WebSocket
+
+* Fix race in pings during reads
+* Fix race in close frames during reads
+* Fix race when write suspends
+* Allow concurrent websocket async ping and writes
+
+--------------------------------------------------------------------------------
+
+1.0.0-b29
+
+* Fix compilation error in non-template class
+* Document type-pun in buffer_cat
+* Correctly check ostream modifier (/extras)
+
+HTTP
+
+* Fix Body requirements doc
+* Fix illegal HTTP characters accepted as hex zero
+* Fix Writer return value documentation
+
+WebSocket
+
+* Fix race in writes during reads
+* Fix doc link typo
+
+--------------------------------------------------------------------------------
+
+1.0.0-b28
+
+* Split out and rename test stream classes
+* Restyle async result constructions
+* Fix HTTP split parse edge case
+
+--------------------------------------------------------------------------------
+
+1.0.0-b27
+
+* Tidy up tests and docs
+* Add documentation building instructions
+
+API Changes:
+
+* Invoke callback on pings and pongs
+* Move basic_streambuf to streambuf.hpp
+
+--------------------------------------------------------------------------------
+
+1.0.0-b26
+
+* Tidy up warnings and tests
+
+--------------------------------------------------------------------------------
+
+1.0.0-b25
+
+* Fixes for WebSocket echo server
+* Fix 32-bit arm7 warnings
+* Remove unnecessary include
+* WebSocket server examples and test tidying
+* Fix deflate setup bug
+
+API Changes:
+
+* Better handler_ptr
+
+--------------------------------------------------------------------------------
+
+1.0.0-b24
+
+* bjam use clang on MACOSX
+* Simplify Travis package install specification
+* Add optional yield_to arguments
+* Make decorator copyable
+* Add WebSocket permessage-deflate extension support
+
+--------------------------------------------------------------------------------
+
+1.0.0-b23
+
+* Tune websocket echo server for performance
+* Add file and line number to thrown exceptions
+* Better logging in async echo server
+* Add copy special members
+* Fix message constructor and special members
+* Travis CI improvements
+
+--------------------------------------------------------------------------------
+
+1.0.0-b22
+
+* Fix broken Intellisense
+* Implement the Asio deallocation-before-invocation guarantee
+* Add handler helpers
+* Avoid copies in handler_alloc
+* Update README.md example programs
+* Fix websocket stream read documentation
+* Disable Boost.Coroutine deprecation warning
+* Update documentation examples
+
+--------------------------------------------------------------------------------
+
+1.0.0-b21
+
+* Remove extraneous includes
+
+--------------------------------------------------------------------------------
+
+1.0.0-b20
+
+ZLib
+
+* Add ZLib module
+
+API Changes:
+
+* Rename HTTP identifiers
+
+--------------------------------------------------------------------------------
+
+1.0.0-b19
+
+* Boost library min/max guidance
+* Improvements to code coverage
+* Use boost::lexical_cast instead of std::to_string
+* Fix prepare_buffers value_type
+* Fix consuming_buffers value_type
+* Better buffer_cat
+
+HTTP
+
+* Make chunk_encode public
+* Add write, async_write, operator<< for message_headers
+* Add read, async_read for message_headers
+* Fix with_body example
+
+WebSocket
+
+* Optimize utf8 validation
+* Optimize mask operations
+
+API Changes:
+
+* Refactor message and message_headers declarations
+* prepared_buffers is private
+* consume_buffers is removed
+
+--------------------------------------------------------------------------------
+
+1.0.0-b18
+
+* Increase optimization settings for MSVC builds
+
+HTTP
+
+* Check invariants in parse_op:
+* Clean up message docs
+
+WebSocket
+
+* Write buffer option does not change capacity
+* Close connection during async_read on close frame
+* Add pong, async pong to stream
+
+Core
+
+* Meet DynamicBuffer requirements for static_streambuf
+* Fix write_frame masking and auto-fragment handling
+
+Extras
+
+* unit_test::suite fixes:
+ - New overload of fail() specifies file and line
+ - BEAST_EXPECTS only evaluates the reason string on a failure
+* Add zlib module
+
+--------------------------------------------------------------------------------
+
+1.0.0-b17
+
+* Change implicit to default value in example
+* Tidy up some declarations
+* Fix basic_streambuf::capacity
+* Add basic_streambuf::alloc_size
+* Parser callbacks may not throw
+* Fix Reader concept doc typo
+* Add is_Reader trait
+* Tidy up basic_headers for documentation
+* Tidy up documentation
+* Add basic_parser_v1::reset
+* Fix handling of body_what::pause in basic_parser_v1
+* Add headers_parser
+* Engaged invokable is destructible
+* Improve websocket example in README.md
+* Refactor read_size_helper
+
+API Changes:
+
+* Added init() to Reader requirements
+* Reader must be nothrow constructible
+* Reader is now constructed right before reading the body
+ - The message passed on construction is filled in
+* Rework HTTP concepts:
+ - Writer uses write instead of operator()
+ - Refactor traits to use void_t
+ - Remove is_ReadableBody, is_WritableBody
+ - Add has_reader, has_writer, is_Reader, is_Writer
+ - More friendly compile errors on failed concept checks
+* basic_parser_v1 requires all callbacks present
+* on_headers parser callback now returns void
+* on_body_what is a new required parser callback returning body_what
+
+--------------------------------------------------------------------------------
+
+1.0.0-b16
+
+* Make value optional in param-list
+* Frame processing routines are member functions
+* Fix on_headers called twice from basic_parser_v1
+* Constrain parser_v1 constructor
+* Improve first line serialization
+* Add pause option to on_headers interface
+* Refactor base_parser_v1 callback traits:
+* Refine Parser concept
+* Relax ForwardIterator requirements in FieldSequence
+* Fix websocket failure testing
+* Refine Writer concept and fix exemplar in documentation
+
+API Changes:
+
+* Rename mask_buffer_size to write_buffer_size
+* Make auto_fragment a boolean option
+
+The message class hierarchy is refactored (breaking change):
+
+* One message class now models both HTTP/1 and HTTP/2 messages
+* message_v1, request_v1, response_v1 removed
+* New classes basic_request and basic_response model
+ messages without the body.
+
+ Error resolution: Callers should use message, request,
+ and response instead of message_v1, request_v1, and
+ response_v1 respectively.
+
+--------------------------------------------------------------------------------
+
+1.0.0-b15
+
+* rfc7230 section 3.3.2 compliance
+* Add HTTPS example
+* Add Secure WebSocket example
+* Fix message_v1 constructor
+* Tidy up DynamicBuffer requirements
+* Tidy up error types and headers
+* Fix handling empty HTTP headers in parser_v1
+
+--------------------------------------------------------------------------------
+
+1.0.0-b14
+
+* Add missing rebind to handler_alloc
+* Fix error handling in http server examples
+* Fix CMake scripts for MinGW
+* Use BOOST_ASSERT
+* Better WebSocket decorator
+* Update and tidy documentation
+
+--------------------------------------------------------------------------------
+
+1.0.0-b13
+
+* dstream improvements
+* Remove bin and bin64 directories
+* Tidy up .vcxproj file groupings
+
+--------------------------------------------------------------------------------
+
+1.0.0-b12
+
+* Use -p to print suites from unit test main.
+* BEAST_EXPECTS to add a reason string to test failures
+* Fix unit test runner to output all case names
+* Update README for build requirements
+* Rename to CHANGELOG.md
+
+--------------------------------------------------------------------------------
+
+1.0.0-b11
+
+* Set URI in generated WebSocket Upgrade requests
+* Rename echo server class and file names
+* Rename to DynamicBuffer in some code and documentation
+* Fix integer warnings in Windows builds
+* Add 32 and 64 bit Windows build support
+* Update README for build instructions and more
+* Add repository and documentation banners
+
+--------------------------------------------------------------------------------
+
+1.0.0-b10
+
+* Fix compilation warnings
+* Add websocketpp comparison to HTML documentation
+
+--------------------------------------------------------------------------------
+
+1.0.0-b9
+
+* Fix CMakeLists.txt
+
+--------------------------------------------------------------------------------
+
+1.0.0-b8
+
+* Fix include in example code
+* Fix basic_headers rfc2616 Section 4.2 compliance
+
+--------------------------------------------------------------------------------
+
+1.0.0-b7
+
+* Fix prepare by calling init. prepare() can throw depending on the
+ implementation of Writer. Publicly provided beast::http writers never throw.
+* Fixes to example HTTP server
+* Fully qualify ambiguous calls to read and parse
+* Remove deprecated http::stream wrapper
+* Example HTTP server now calculates the MIME-type
+* Fixes and documentation for teardown and use with SSL:
+* Add example code to rfc7230 javadocs
+* Remove extraneous header file <beast/http/status.hpp>
+* Add skip_body parser option
+
+--------------------------------------------------------------------------------
+
+1.0.0-b6
+
+* Use SFINAE on return values
+* Use beast::error_code instead of nested types
+* Tidy up use of GENERATING_DOCS
+* Remove obsolete RFC2616 functions
+* Add message swap members and free functions
+* Add HTTP field value parser containers: ext_list, param_list, token_list
+* Fixes for some corner cases in basic_parser_v1
+* Configurable limits on headers and body sizes in basic_parser_v1
+
+API Changes:
+
+* ci_equal is moved to beast::http namespace, in rfc7230.hpp
+
+* "DynamicBuffer","dynabuf" renamed from "Streambuf", "streambuf". See:
+ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4478.html#requirements.dynamic_buffers
+
+* basic_parser_v1 adheres to rfc7230 as strictly as possible
+
+--------------------------------------------------------------------------------