diff options
Diffstat (limited to 'src/boost/libs/beast/CHANGELOG.md')
-rw-r--r-- | src/boost/libs/beast/CHANGELOG.md | 3535 |
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 + +-------------------------------------------------------------------------------- |