Files
beast/CHANGELOG.md

2159 lines
54 KiB
Markdown
Raw Normal View History

Version 150:
* handler_ptr tests
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
2017-12-02 11:22:51 -08:00
* 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
2017-12-01 12:11:41 -08:00
* Update reports for hybrid assessment
* Handle invalid deflate frames
--------------------------------------------------------------------------------
2017-11-26 14:01:49 -08:00
Version 147:
* Don't use boost::string_ref
* Use iterator wrapper in detail::buffers_range
2017-11-26 14:01:49 -08:00
HTTP:
* Tidy up basic_fields exception specifiers
WebSocket:
* control callback is copied or moved
* Send idle pings in advanced servers
2017-11-26 14:01:49 -08:00
--------------------------------------------------------------------------------
2017-11-21 11:50:15 +09:00
Version 146:
* Fix some typos
2017-11-21 09:55:48 -08:00
* Faster ascii_tolower
2017-11-22 10:29:12 -08:00
* Documentation tidying
2017-11-25 23:43:15 +03:00
* Fix typo in examples documentation
* Add detail::aligned_union and tidy up
2017-11-26 09:55:31 -08:00
* Use variant in buffers_cat_view
2017-11-21 11:50:15 +09:00
API Changes:
* Remove unintended public members of handler_ptr
2017-11-21 11:50:15 +09:00
--------------------------------------------------------------------------------
2017-11-18 11:31:17 -08:00
Version 145:
* Rename some detail functions
* Refactor basic_fields allocator internals
* Refactor HTTP async read composed operations
2017-11-20 11:48:57 -08:00
* null_buffers is deprecated
* Version 124 works with Boost 1.65.1 and earlier
* basic_fields does not support fancy pointers
2017-11-18 11:31:17 -08:00
--------------------------------------------------------------------------------
2017-12-01 12:11:41 -08:00
Version 144-hf1:
* Update reports for hybrid assessment
* Handle invalid deflate frames
* Install codecov on codecov CI targets only
2017-12-01 12:11:41 -08:00
--------------------------------------------------------------------------------
Version 144:
* Fix websocket permessage-deflate negotiation
--------------------------------------------------------------------------------
2017-11-13 12:18:13 -08:00
Version 143:
* Fix autobahn report link
--------------------------------------------------------------------------------
Version 142:
* Warn about upcoming API changes to certain concepts
2017-11-11 09:40:10 -08:00
* Fix name typo in http write test
--------------------------------------------------------------------------------
Version 141:
* Tidy up some documentation
--------------------------------------------------------------------------------
Version 140:
* Fix some integer warnings in 64-bit builds
2017-11-07 16:37:09 -05:00
* 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
--------------------------------------------------------------------------------
2017-11-05 09:29:33 -08:00
Version 138:
* Tidy up some documentation
--------------------------------------------------------------------------------
Version 137:
* ConstBufferSequence mandates pointer equivalence
* Add FieldsWriter constructor requirement
* Tidy up some documented constructor syntax
--------------------------------------------------------------------------------
2017-11-02 15:52:57 -07:00
Version 136:
* Tidy up message doc image
--------------------------------------------------------------------------------
2017-11-01 11:31:03 -07:00
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
2017-10-30 08:57:31 -07:00
* Rename Cmake variables for clarity
* Add ref-qualified overloads for message::body
2017-10-30 15:31:00 -07:00
* 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
--------------------------------------------------------------------------------
2017-10-29 06:45:33 -07:00
Version 131:
* basic_fields returns const values
* Set SNI hostname in example SSL clients
2017-10-29 06:45:33 -07:00
--------------------------------------------------------------------------------
2017-10-27 16:05:09 -07:00
Version 130:
* Tidy up fallthrough warning
* Remove cxx11_sfinae_expr build requirement from tests
2017-10-27 16:05:09 -07:00
--------------------------------------------------------------------------------
2017-10-26 11:08:24 -07:00
Version 129:
* Add autobahn test report to doc
2017-10-26 16:05:50 -07:00
* Documentation tidying
* Fix prepare_payload: chunked is HTTP/1.1
2017-10-26 11:08:24 -07:00
--------------------------------------------------------------------------------
2017-10-25 17:08:26 -07:00
Version 128:
* Update doc links
2017-10-26 08:13:32 -07:00
* Add explicit-failures-markup.xml
2017-10-25 17:08:26 -07:00
2017-10-25 18:41:04 -07:00
HTTP:
* Add message::need_eof
* Use message::need_eof in example servers
* Use synchronous writes in chunk output example
2017-10-25 18:41:04 -07:00
2017-10-25 23:23:59 -07:00
WebSocket:
* Fix utf8 validation for autobahn
* Temporarily disable utf8 validation tests
* Tidy up fast websocket server host names
2017-10-25 23:23:59 -07:00
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
2017-10-25 17:08:26 -07:00
--------------------------------------------------------------------------------
2017-10-25 10:05:36 -07:00
Version 127:
* Add BOOST_BEAST_NO_POSIX_FADVISE
* Version command line option for HTTP client examples
* More Jamfile compiler requirements for tests
2017-10-25 10:05:36 -07:00
--------------------------------------------------------------------------------
2017-10-23 17:54:33 -07:00
Version 126:
* Add CppCon2017 presentation link
2017-10-23 18:03:29 -07:00
* Update README.md
* Update stream write documentation for end of stream changes
2017-10-23 20:17:56 -07:00
* Tidy up unused variable warnings
* Don't return end_of_stream on win32 file body writes
2017-10-23 12:06:04 -07:00
* Fix doc typo
2017-10-24 06:20:42 -07:00
* Fix shadowing in session_alloc
2017-10-24 06:40:22 -07:00
* 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
2017-10-23 17:54:33 -07:00
--------------------------------------------------------------------------------
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:
2017-10-21 17:39:24 -07:00
* Fix for a test matrix compiler
2017-10-22 07:21:54 -07:00
* Fix basic_fields javadoc
2017-10-21 17:39:24 -07:00
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`.
--------------------------------------------------------------------------------
2017-10-15 08:59:17 -07:00
Version 123:
* Use unit-test subtree
* Fix spurious race in websocket close test
2017-10-16 07:23:33 -07:00
* Check compiler feature in Jamfile
* Clear previous message fields in parser
2017-10-15 08:59:17 -07:00
--------------------------------------------------------------------------------
2017-10-05 19:23:43 -07:00
Version 122:
* Add test for issue 807
* assert on empty buffer in websocket read
2017-10-07 11:17:00 -07:00
* Fix zlib symbol conflicts
2017-10-09 14:35:46 -07:00
* CMake 3.5.1 is required
2017-10-10 07:49:03 -07:00
* config.hpp is not a public header
2017-10-10 08:17:16 -07:00
* Add missing case in error test
2017-10-05 19:23:43 -07:00
--------------------------------------------------------------------------------
2017-10-03 05:29:01 -07:00
Version 121:
* Add test for issue 802
* Fix enum and non-enum in conditional exp. warning
2017-10-03 05:29:01 -07:00
--------------------------------------------------------------------------------
Version 120:
* Fix spurious strand_ in advanced_server_flex
2017-10-01 10:33:49 -07:00
* OpenSSL targets are optional (CMake)
--------------------------------------------------------------------------------
2017-09-30 07:25:33 -07:00
Version 119:
* Tidy up doc badge links
--------------------------------------------------------------------------------
2017-09-21 17:28:04 +02:00
Version 118:
* file_win32 opens for read-only in shared mode
* Remove unused strands in server examples
2017-09-25 20:43:37 -07:00
* Update build instructions
2017-09-25 21:18:04 -07:00
* Doc root is at index.html
2017-09-21 17:28:04 +02:00
HTTP:
* Fix writing header into std::ostream
--------------------------------------------------------------------------------
Version 117:
2017-09-15 15:17:07 -07:00
* 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.
--------------------------------------------------------------------------------
2017-09-10 16:10:21 -07:00
Version 115:
* Update README.md master doc link
--------------------------------------------------------------------------------
2017-09-10 14:35:52 -07:00
Version 114:
(No changes)
--------------------------------------------------------------------------------
Version 113:
* Fix handler signature in async_read_header
* Remove field_range copy constructor
--------------------------------------------------------------------------------
Version 112:
2017-09-03 18:39:15 -07:00
* 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
2017-08-31 17:10:34 -07:00
* Suspended ops special members
--------------------------------------------------------------------------------
2017-08-26 14:58:20 -07:00
Version 110:
* Refactor stream open state variable
2017-08-26 15:18:02 -07:00
* Refactor websocket stream members
* Refactor websocket stream: fixes and tests
* Add test::stream::lowest_layer
* Fix invalid iterator in test reporter
2017-08-26 14:58:20 -07:00
--------------------------------------------------------------------------------
2017-08-18 11:12:12 -07:00
Version 109:
2017-08-21 14:45:58 -07:00
* refactor test::stream
2017-08-18 11:12:12 -07:00
WebSocket:
* Fix async_read_some handler signature
2017-08-17 22:38:50 -07:00
* websocket close fixes and tests
2017-08-19 19:27:08 -07:00
* websocket handshake uses coroutine
2017-08-19 19:39:54 -07:00
* websocket ping tests
2017-08-22 18:08:46 -07:00
* Fix websocket close_op resume state
2017-08-22 18:08:56 -07:00
* websocket write tests
2017-08-24 06:21:30 -07:00
* split up websocket tests
2017-08-24 07:41:27 -07:00
* websocket read tests
2017-08-18 11:12:12 -07:00
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.
2017-08-18 11:12:12 -07:00
--------------------------------------------------------------------------------
Version 108:
* Fix argument parsing in HTTP examples
* Don't use async_write_msg in examples
--------------------------------------------------------------------------------
2017-08-15 12:49:02 -07:00
Version 107:
2017-08-15 22:20:13 -07:00
* Use test::stream
2017-08-15 12:49:02 -07:00
WebSocket
* Fix done state for WebSocket reads
2017-08-15 16:33:25 -07:00
* Fix utf8 check for compressed frames
* Rename frame and header buffer types
2017-08-15 12:49:02 -07:00
--------------------------------------------------------------------------------
2017-08-14 15:29:33 -07:00
Version 106:
* Dynamic buffer input areas are mutable
2017-08-13 06:48:24 -07:00
* Add flat_static_buffer::reset
2017-08-14 15:29:33 -07:00
HTTP:
* Fix for basic_parser::skip(true) and docs
2017-08-12 15:03:39 -07:00
WebSocket:
* websocket test improvements
2017-08-12 15:56:08 -07:00
* Remove obsolete write_op
2017-08-12 20:50:23 -07:00
* Refactor write_op
2017-08-13 06:48:38 -07:00
* Refactor ping_op
2017-08-13 07:40:47 -07:00
* Refactor fail_op
2017-08-13 08:00:36 -07:00
* Refactor read_op
2017-08-13 09:45:49 -07:00
* Refactor close_op
2017-08-13 10:59:23 -07:00
* Refactor read_op + fail_op
* Websocket close will automatically drain
2017-08-13 17:25:48 -07:00
* Autobahn|Testsuite fixes
2017-08-13 20:46:01 -07:00
* Tidy up utf8_checker and tests
2017-08-12 15:03:39 -07:00
2017-08-14 15:29:33 -07:00
--------------------------------------------------------------------------------
2017-08-10 16:27:49 -07:00
Version 105:
* Fix compile error in websocket snippet
2017-08-10 17:44:21 -07:00
* Tidy up Jamfile and tests
2017-08-10 16:27:49 -07:00
--------------------------------------------------------------------------------
2017-08-09 13:48:38 -07:00
Version 104:
* Remove unused include
2017-08-09 16:29:06 -07:00
* Use #error in config.hpp
2017-08-09 16:32:06 -07:00
* Only set -std=c++11 on Travis
2017-08-09 17:17:33 -07:00
* Only set /permissive- on Appveyor
2017-08-09 17:13:56 -07:00
* Tidy up some test warnings
2017-08-09 18:06:35 -07:00
* tools/ renamed from build/
2017-08-09 13:48:38 -07:00
2017-08-09 18:47:43 -07:00
WebSocket:
* Fix pausation::save
2017-08-09 13:48:38 -07:00
--------------------------------------------------------------------------------
2017-08-08 07:17:24 -07:00
Version 103:
* Boost test matrix fixes
2017-08-08 09:17:24 -07:00
* Tidy up allocator usage
2017-08-08 17:38:48 -07:00
* Example HTTP server fixes
2017-08-08 07:17:24 -07:00
--------------------------------------------------------------------------------
2017-08-08 06:20:24 -07:00
Version 102:
* Section headings in examples
--------------------------------------------------------------------------------
Version 101:
* Refactor all examples
--------------------------------------------------------------------------------
2017-08-03 07:47:49 -07:00
Version 100:
* Fix doc convenience includes
2017-08-03 08:53:12 -07:00
* Fix doc includes
2017-08-01 16:48:10 -07:00
* Remove unused test header
2017-08-01 16:52:33 -07:00
* Rename test macros
2017-08-01 17:01:57 -07:00
* Reorder define test macro params
* vcxproj workaround for include symlinks
2017-08-03 04:43:38 -07:00
* Add variadic min/max
2017-08-03 07:47:49 -07:00
2017-08-01 20:31:01 -07:00
WebSocket:
* Remove obsolete frame tests
2017-08-02 13:25:53 -07:00
* Refactor fail/clode code
2017-08-02 14:46:08 -07:00
* Call do_fail from read_some
2017-08-02 16:45:54 -07:00
* eof on accept returns error::closed
2017-08-02 19:36:31 -07:00
* Fix stream::read_size_hint calculation
2017-08-04 18:10:18 -07:00
* Documentation
2017-08-01 20:31:01 -07:00
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.
2017-08-03 07:47:49 -07:00
--------------------------------------------------------------------------------
Version 99:
* Log the value of LIB_DIR for doc builds (debug)
* Use correct handler signature in fail_op
2017-08-01 20:33:50 -07:00
* Fix doc typo
--------------------------------------------------------------------------------
Version 98:
* basic_fields::key_compare is noexcept
2017-08-01 06:18:13 -07:00
* Fix bench-zlib cmake
2017-08-01 18:11:51 +01:00
* Use unique names Jam projects
2017-08-01 14:00:51 -04:00
* Trim utf8 checker test
--------------------------------------------------------------------------------
Version 97:
* Update redirect
--------------------------------------------------------------------------------
2017-07-30 17:14:47 -07:00
Version 96:
* Move bench/ to test/
2017-07-30 17:41:17 -07:00
* Move extras/ to test/
2017-07-31 14:09:23 -07:00
* Use <valgrind> property
2017-07-31 14:26:30 -07:00
* Rename wsload compile target
2017-07-31 15:31:36 -07:00
* Fix library.json
2017-07-31 15:52:11 -07:00
* Update boostorg links
2017-07-31 15:27:41 -07:00
* Add bench-zlib
2017-07-31 18:40:14 -07:00
* Faster zlib tests
2017-07-31 18:48:22 -07:00
* Less compression on websocket test
2017-07-30 17:14:47 -07:00
--------------------------------------------------------------------------------
2017-07-29 12:52:39 -07:00
Version 95:
* Tidy up Travis build scripts
* Move scripts to build/
2017-07-29 13:03:34 -07:00
* Fix race in test::pipe
2017-07-29 13:46:33 -07:00
* close on test::pipe teardown
2017-07-29 17:47:04 -07:00
* Add test::stream
2017-07-29 21:22:26 -07:00
* Tidy up static_buffer braced init
2017-07-31 08:29:06 -07:00
* Fix html redirect
* Add valgrind variant, fix false positives
2017-07-29 12:52:39 -07:00
--------------------------------------------------------------------------------
Version 94:
* Use off-site Quick Start link temporarily
--------------------------------------------------------------------------------
Version 93:
* Unset BOOST_COROUTINES_NO_DEPRECATION_WARNING
--------------------------------------------------------------------------------
2017-07-29 03:38:28 -07:00
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
2017-07-29 12:41:48 -07:00
* Tidy up doc snippet paths
2017-07-29 12:42:04 -07:00
* Use off-site doc link
2017-07-29 03:38:28 -07:00
--------------------------------------------------------------------------------
2017-07-27 08:13:17 -07:00
Version 91:
* Adjust redirect html
2017-07-27 06:39:07 -07:00
* Don't build pre-C++11
2017-07-27 11:20:38 -07:00
* source.dox is path-independent
2017-07-27 12:00:50 -07:00
* Tidy up namespace qualifiers
2017-07-27 12:15:17 -07:00
* Tidy up MSVC CMakeLists.txt
2017-07-27 13:08:59 -07:00
* Optimize buffered_read_stream
2017-07-27 15:54:59 -07:00
* constexpr in derived buffers
2017-07-27 17:32:08 -07:00
* Set BOOST_ASIO_NO_DEPRECATED
* Use Asio array optimization in static_buffer_base
2017-07-27 21:05:49 -07:00
* Rename wstest source file
2017-07-28 08:36:46 -07:00
* Use fopen_s on Windows
2017-07-28 08:19:56 -07:00
* Fix Appveyor script
2017-07-28 10:12:23 -07:00
* Update project metadata
2017-07-28 13:24:39 -07:00
* Move benchmarks to bench/
2017-07-28 19:12:44 -07:00
* Fix doc title
2017-07-28 19:15:55 -07:00
* Build stand-alone doc
2017-07-28 19:32:33 -07:00
* Update doc copyrights
2017-07-28 18:59:14 -07:00
* Refactor test build scripts
2017-07-27 08:13:17 -07:00
2017-07-25 10:35:16 -07:00
WebSocket:
* Tidy up websocket javadocs
2017-07-27 14:14:47 -07:00
* Refactor accept, handshake ops
* Use read buffer instead of buffered stream
2017-07-25 10:35:16 -07:00
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.
2017-07-27 08:13:17 -07:00
--------------------------------------------------------------------------------
Version 90:
* Fix websocket read of zero length message
2017-07-27 19:56:15 -07:00
* Fix typo in equal_range
2017-07-28 16:26:17 -07:00
* Output to integrated documentation
--------------------------------------------------------------------------------
2017-07-27 10:14:06 -07:00
Version 89:
* Fix CONTRIBUTING.md links
--------------------------------------------------------------------------------
2017-07-26 18:44:29 -07:00
Version 88:
* Update doc links in README.md
* Refactor tests Jamfile
* Don't use program_options
WebSocket:
* Fix uninitialized frame done
--------------------------------------------------------------------------------
2017-07-25 11:16:08 -07:00
Version 87:
* Update appveyor for Boost branch
2017-07-25 12:35:54 -07:00
* Rename to BEAST_EXPECT
2017-07-25 11:20:01 -07:00
* variant fixes and tests
* Update README, add CONTRIBUTING.md and CODE_OF_CONDUCT.md
2017-07-25 11:16:08 -07:00
--------------------------------------------------------------------------------
2017-07-20 13:40:34 -07:00
Version 86:
* Boost prep
2017-07-21 08:55:25 -07:00
* Remove use of lexical_cast
2017-07-20 22:54:54 -07:00
* Use custom variant
2017-07-23 08:01:02 -07:00
* Update README.md
2017-07-23 17:14:01 -07:00
* Add local-travis.sh
2017-07-23 17:33:24 -07:00
* Use winapi
2017-07-23 17:48:27 -07:00
* Update CMakeLists.txt for boost
2017-07-23 22:49:57 -07:00
* Update documentation for boost
2017-07-24 09:42:36 -07:00
* Update copyrights
2017-07-24 14:29:41 -07:00
* Remove spurious declaration
2017-07-24 16:07:28 -07:00
* Tidy up Jamfile
2017-07-24 13:24:15 -07:00
* Normalize doc build scripts
2017-07-25 14:50:04 +03:00
* Use configured doxygen and xsltproc
* Fix Deferred Body Type Example Documentation
2017-07-25 06:54:35 -07:00
* Add library metadata
2017-07-20 13:40:34 -07:00
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)
2017-07-20 13:40:34 -07:00
--------------------------------------------------------------------------------
2017-07-22 05:32:08 -07:00
Version 85:
* Fix test failure
2017-07-22 06:31:22 -07:00
* Tidy up test warning
2017-07-22 05:32:08 -07:00
--------------------------------------------------------------------------------
2017-07-18 17:01:19 -07:00
Version 84:
* Tidy up buffer_front
2017-07-17 08:12:30 -07:00
* static_buffer::consume improvement
2017-07-17 18:16:50 -07:00
* multi_buffer is type-check friendly
2017-07-19 09:50:16 -07:00
* bind_handler allows placeholders
2017-07-19 14:07:33 -07:00
* Add consuming_buffers::get
2017-07-18 17:01:19 -07:00
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
2017-07-18 17:01:19 -07:00
--------------------------------------------------------------------------------
2017-07-15 09:47:56 -07:00
Version 83:
* Add flat_static_buffer::mutable_data
2017-07-15 10:46:32 -07:00
* Add buffer_front
2017-07-15 17:05:00 -07:00
* Add wstest compression option
2017-07-15 18:59:59 -07:00
* Turn some flat_static_buffer_tests on
2017-07-16 10:20:21 -07:00
* Documentation work
* read_some, async_read_some return bytes used
2017-07-17 11:28:41 +00:00
* Fix private timer::clock_type
2017-07-15 09:47:56 -07:00
2017-07-15 18:31:43 -07:00
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.
2017-07-15 09:47:56 -07:00
--------------------------------------------------------------------------------
Version 82:
2017-07-14 08:06:24 -07:00
* Documentation tidying
* is_invocable works with move-only types
* Use std::function and reference wrapper
2017-06-26 19:11:45 -07:00
* Add session_alloc to example/common
2017-07-15 03:33:37 -07:00
* Silence spurious warning
HTTP
* Fix extraneous argument in async_write_header
WebSocket
2017-07-14 12:36:47 -07:00
* stream tidying
* Add rd_close_ to websocket stream state
2017-07-14 12:36:47 -07:00
* stream uses flat_buffer
2017-07-14 13:00:09 -07:00
* accept requires a message
2017-07-14 17:35:37 -07:00
* Add wstest benchmark tool
2017-07-14 08:06:24 -07:00
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
2017-07-14 08:06:24 -07:00
--------------------------------------------------------------------------------
2017-07-12 16:35:52 -07:00
Version 81:
* Pass string_view by value
* better is_final on empty_base_optimization
* Suppress incorrect GCC warning
2017-07-12 16:59:12 -07:00
* multi_buffer ctor is explicit
2017-07-13 04:57:46 -07:00
* File is not copy-constructible
2017-07-12 16:35:52 -07:00
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.
2017-07-12 16:35:52 -07:00
--------------------------------------------------------------------------------
2017-07-12 07:05:27 -07:00
Version 80:
* Javadoc tidying
2017-07-12 07:53:43 -07:00
* Add basic_dynamic_body.hpp
2017-07-12 09:02:55 -07:00
* Shrink buffer_prefix_view
2017-07-12 09:43:58 -07:00
* Remove unused file_path
2017-07-12 10:33:59 -07:00
* Add basic_file_body.hpp
2017-07-10 17:53:30 -07:00
* buffers_ref is Assignable
Refactor chunked-encoding serialization: New buffer sequence classes are provided to allow full control over the serialization of chunk-encoded message payloads: * chunk_header A ConstBufferSequence representing the chunk header. It includes a hexadecimal-encoded size, an optional set of chunk extensions, and the trailing CRLF required to denote the end of the chunk header. This allows the caller to manually serialize the chunk body in one or more calls to a stream output function. The caller must also output an object of type `chunk_crlf` to the stream to indicate the end of the chunk body. * chunk_crlf A small ConstBufferSequence that simply represents the two character sequence "\r\n" (CRLF). This is needed for the case where the caller wants to output a chunk body as a series of buffers (i.e. "chunking a chunk"). * chunk_body A ConstBufferSequence representing a complete chunk. This includes the size, an optional set of chunk extensions, a caller provided buffer containing the body, and the required CRLF that follows. * chunk_final A ConstBufferSequence representing a final chunk. It includes an optional set of caller-provided field trailers * chunk_extensions A container for building a set of chunk extensions to use during serialization. The use of the container is optional, callers may provide their own buffer containing a correctly formatted set of chunk extensions, or they may use their own convenience container which meets the requirements. The basic_fields container is modified to allow construction outside the context of a message. The container can be used to provide trailers to `chunk_final`. 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.
2017-07-09 20:09:30 -07:00
HTTP
* Shrink chunk header buffer sequence size
2017-07-12 07:05:27 -07:00
Refactor chunked-encoding serialization: New buffer sequence classes are provided to allow full control over the serialization of chunk-encoded message payloads: * chunk_header A ConstBufferSequence representing the chunk header. It includes a hexadecimal-encoded size, an optional set of chunk extensions, and the trailing CRLF required to denote the end of the chunk header. This allows the caller to manually serialize the chunk body in one or more calls to a stream output function. The caller must also output an object of type `chunk_crlf` to the stream to indicate the end of the chunk body. * chunk_crlf A small ConstBufferSequence that simply represents the two character sequence "\r\n" (CRLF). This is needed for the case where the caller wants to output a chunk body as a series of buffers (i.e. "chunking a chunk"). * chunk_body A ConstBufferSequence representing a complete chunk. This includes the size, an optional set of chunk extensions, a caller provided buffer containing the body, and the required CRLF that follows. * chunk_final A ConstBufferSequence representing a final chunk. It includes an optional set of caller-provided field trailers * chunk_extensions A container for building a set of chunk extensions to use during serialization. The use of the container is optional, callers may provide their own buffer containing a correctly formatted set of chunk extensions, or they may use their own convenience container which meets the requirements. The basic_fields container is modified to allow construction outside the context of a message. The container can be used to provide trailers to `chunk_final`. 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.
2017-07-09 20:09:30 -07:00
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.
2017-07-12 07:05:27 -07:00
--------------------------------------------------------------------------------
2017-07-11 08:48:05 -07:00
Version 79:
* Remove spurious fallthrough guidance
--------------------------------------------------------------------------------
2017-07-08 14:59:04 -07:00
Version 78:
2017-07-08 15:34:07 -07:00
* Add span
2017-07-08 19:25:30 -07:00
* Documentation work
2017-07-08 20:45:35 -07:00
* Use make_unique_noinit
2017-07-09 13:17:12 -07:00
* Fix warning in zlib
2017-07-09 13:36:13 -07:00
* Header file tidying
2017-07-09 13:42:53 -07:00
* Tidy up FieldsReader doc
* Add Boost.Locale utf8 benchmark comparison
* Tidy up dstream for existing Boost versions
2017-07-10 16:43:58 -07:00
* Tidy up file_posix unused variable
2017-07-10 16:51:10 -07:00
* Fix warning in root ca declaration
2017-07-08 15:34:07 -07:00
2017-07-08 14:59:04 -07:00
HTTP:
* Tidy up basic_string_body
2017-07-08 15:12:26 -07:00
* Add vector_body
2017-07-08 20:37:12 -07:00
* span, string, vector bodies are public
2017-07-09 13:00:03 -07:00
* 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.
2017-07-08 14:59:04 -07:00
* Use span_body<char> instead of string_view_body
2017-07-08 14:59:04 -07:00
--------------------------------------------------------------------------------
Version 77:
* file_posix works without large file support
--------------------------------------------------------------------------------
Version 76:
* Always go through write_some
2017-07-07 17:47:24 -07:00
* Use Boost.Config
* BodyReader may construct from a non-const message
2017-07-07 09:16:51 -07:00
* Add serializer::get
2017-07-07 22:58:10 -07:00
* Add serializer::chunked
2017-07-07 23:49:02 -07:00
* Serializer members are not const
2017-07-07 23:25:23 -07:00
* serializing file_body is not const
* Add file_body_win32
* Fix parse illegal characters in obs-fold
2017-07-08 12:26:39 -07:00
* 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 perfrom two-phase initialization, as per the
updated documented type requirements.
--------------------------------------------------------------------------------
Version 75:
* Use file_body for valid requests, string_body otherwise.
2017-07-06 21:17:57 -07:00
* Construct buffer_prefix_view in-place
2017-07-06 20:44:57 -07:00
* Shrink serializer buffers using buffers_ref
* Tidy up BEAST_NO_BIG_VARIANTS
* Shrink serializer buffers using buffers_ref
2017-07-06 20:58:07 -07:00
* Add serializer::limit
2017-07-08 06:31:49 -07:00
* file_body tests
* Using SSE4.2 intrinsics in basic_parser if available
--------------------------------------------------------------------------------
2017-07-05 20:30:18 -07:00
Version 74:
* Add file_stdio and File concept
2017-07-06 02:04:19 -07:00
* Add file_win32
2017-07-05 22:08:31 -07:00
* Add file_body
2017-07-06 03:38:53 -07:00
* Remove common/file_body.hpp
2017-07-06 03:59:33 -07:00
* Add file_posix
* Fix Beast include directories for cmake targets
* remove redundant flush() from example
2017-07-05 20:30:18 -07:00
--------------------------------------------------------------------------------
Version 73:
2017-07-05 07:49:48 -07:00
* Jamroot tweak
2017-07-05 09:17:59 -07:00
* Verify certificates in SSL clients
2017-07-05 10:06:21 -07:00
* Adjust benchmarks
* Initialize local variable in basic_parser
2017-07-05 12:04:10 -07:00
* Fixes for gcc-4.8
2017-07-05 07:49:48 -07:00
HTTP:
* basic_parser optimizations
2017-07-03 19:25:15 -07:00
* 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
2017-07-02 14:24:36 -07:00
* Refine Body::size specification
* Newly constructed responses have a 200 OK result
2017-07-02 15:52:57 -07:00
* Refactor file_body for best practices
2017-07-02 11:24:10 -07:00
* Add http-server-threaded example
2017-07-03 14:57:45 -07:00
* Documentation tidying
* Various improvements to http_server_fast.cpp
2017-07-02 18:22:36 -07:00
WebSocket:
* Add websocket-server-async example
--------------------------------------------------------------------------------
2017-06-29 15:05:29 -07:00
Version 71:
* Fix extra ; warning
* Documentation revision
2017-06-30 17:06:42 -07:00
* Fix spurious on_chunk invocation
2017-07-02 06:34:21 -07:00
* Call prepare_payload in HTTP example
2017-07-02 06:38:10 -07:00
* Check trailers in test
* Fix buffer overflow handling for string_body and mutable_body
* Concept check in basic_dynamic_body
2017-07-02 08:22:45 -07:00
* Tidy up http_sync_port error check
2017-07-03 09:09:42 -07:00
* Tidy up Jamroot /permissive-
2017-06-29 15:05:29 -07:00
2017-06-29 09:08:25 -07:00
WebSockets:
* Fine tune websocket op asserts
2017-06-29 09:48:30 -07:00
* 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
2017-06-29 09:08:25 -07:00
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.
2017-06-29 15:05:29 -07:00
--------------------------------------------------------------------------------
Version 70:
* Serialize in one step when possible
* Add basic_parser header and body limits
* Add parser::on_header to set a callback
2017-06-28 21:42:54 +02:00
* Fix BEAST_FALLTHROUGH
2017-06-28 21:10:39 +02:00
* 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.
--------------------------------------------------------------------------------
2017-06-26 15:32:35 -07:00
Version 69:
* basic_parser optimizations
* Use BEAST_FALLTHROUGH to silence warnings
2017-06-27 05:43:52 -07:00
* Add /permissive- to msvc toolchain
2017-06-26 15:32:35 -07:00
--------------------------------------------------------------------------------
Version 68:
2017-06-25 11:09:24 -07:00
* Split common tests to a new project
2017-06-25 11:57:36 -07:00
* Small speed up in fields comparisons
2017-06-25 12:10:21 -07:00
* Adjust buffer size in fast server
* Use string_ref in older Boost versions
2017-06-26 10:46:17 -07:00
* Optimize field lookups
* Add const_body, mutable_body to examples
2017-06-26 18:28:49 -07:00
* Link statically on cmake MSVC
2017-06-25 11:09:24 -07:00
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
--------------------------------------------------------------------------------
2017-06-23 16:18:54 -07:00
Version 67:
* Fix doc example link
2017-06-23 18:23:55 -07:00
* Add http-server-small example
2017-06-24 10:13:17 -07:00
* Merge stream_base to stream and tidy
2017-06-24 11:33:04 -07:00
* Use boost::string_view
2017-06-24 12:45:38 -07:00
* Rename to http-server-fast
2017-06-24 22:24:39 -07:00
* Appveyor use Boost 1.64.0
* Group common example headers
2017-06-23 16:18:54 -07:00
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.
2017-06-23 16:18:54 -07:00
--------------------------------------------------------------------------------
2017-06-22 16:49:46 -07:00
Version 66:
* string_param optimizations
* Add serializer request/response aliases
2017-06-22 22:44:01 -07:00
* Make consuming_buffers smaller
* Fix costly potential value-init in parser
* Fix unused parameter warning
2017-06-23 02:22:15 -07:00
* Handle bad_alloc in parser
2017-06-23 06:35:08 -07:00
* Tidy up message piecewise ctors
2017-06-23 06:44:36 -07:00
* Add header aliases
2017-06-23 09:33:28 -07:00
* basic_fields optimizations
2017-06-23 01:44:25 -07:00
* Add http-server example
2017-06-23 10:42:02 -07:00
* Squelch spurious warning on gcc
2017-06-22 16:49:46 -07:00
--------------------------------------------------------------------------------
2017-06-22 08:58:56 -07:00
Version 65:
* Enable narrowing warning on msvc cmake
* Fix integer types in deflate_stream::bi_reverse
2017-06-22 09:40:11 -07:00
* Fix narrowing in static_ostream
2017-06-22 09:41:04 -07:00
* Fix narrowing in ostream
2017-06-22 09:41:32 -07:00
* Fix narrowing in inflate_stream
2017-06-22 09:49:02 -07:00
* Fix narrowing in deflate_stream
2017-06-22 10:19:16 -07:00
* Fix integer warnings
* Enable unused variable warning on msvc cmake
2017-06-22 08:58:56 -07:00
--------------------------------------------------------------------------------
Version 64:
* Simplify buffered_read_stream composed op
* Simplify ssl teardown composed op
2017-06-20 19:32:47 -07:00
* Simplify websocket write_op
2017-06-20 20:10:47 -07:00
* Exemplars are compiled code
2017-06-21 04:38:42 -07:00
* Better User-Agent in examples
* async_write requires a non-const message
* Doc tidying
2017-06-21 18:46:10 -07:00
* 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
2017-06-20 15:18:29 -07:00
* Don't use cached Boost
2017-06-20 17:24:15 -07:00
* 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
2017-06-19 09:01:56 -07:00
* Add server-framework tests
2017-06-19 11:00:32 -07:00
* Doc fixes and tidy
2017-06-19 14:41:28 -07:00
* Tidy up namespaces in examples
2017-06-19 16:57:12 -07:00
* Clear the error faster
2017-06-19 16:58:23 -07:00
* Avoid explicit operator bool for error
2017-06-19 18:16:02 -07:00
* Add http::is_fields trait
2017-06-19 19:42:06 -07:00
* 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.
--------------------------------------------------------------------------------
2017-06-16 21:38:17 -07:00
Version 61:
* Remove Spirit dependency
2017-06-17 08:35:09 -07:00
* Use generic_cateogry for errno
2017-06-17 12:02:25 -07:00
* Reorganize SSL examples
* Tidy up some integer conversion warnings
2017-06-17 15:43:55 -07:00
* Add message::header_part()
2017-06-17 18:00:01 -07:00
* Tidy up names in error categories
2017-06-17 18:33:39 -07:00
* Flush the output stream in the example
* Clean close in Secure WebSocket client
* Add server-framework SSL HTTP and WebSocket ports
2017-06-18 14:57:32 -07:00
* Fix shadowing warnings
2017-06-18 18:44:28 -07:00
* Tidy up http-crawl example
2017-06-18 06:51:51 -07:00
* Add multi_port to server-framework
2017-06-19 07:28:20 -07:00
* Tidy up resolver calls
2017-06-19 07:35:26 -07:00
* Use one job on CI
* Don't run slow tests on certain targets
2017-06-16 21:38:17 -07:00
API Changes:
* header::version is unsigned
2017-06-17 17:38:24 -07:00
* status-codes is unsigned
2017-06-16 21:38:17 -07:00
--------------------------------------------------------------------------------
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)
2017-06-16 04:32:03 -07:00
* Fix base64 alphabet
2017-06-16 04:34:47 -07:00
* 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.
--------------------------------------------------------------------------------
2017-06-14 17:50:48 -07:00
Version 58:
* Fix unaligned reads in utf8-checker
2017-06-14 18:02:33 -07:00
* Qualify size_t in message template
* Reorganize examples
2017-06-15 06:41:57 -07:00
* Specification for http read
2017-06-15 06:59:54 -07:00
* Avoid `std::string` in websocket
2017-06-15 08:31:47 -07:00
* Fix basic_fields insert ordering
* basic_fields::set optimization
2017-06-15 09:36:36 -07:00
* basic_parser::put doc
* Use static string in basic_fields::reader
2017-06-15 10:16:43 -07:00
* Remove redundant code
* Fix parsing chunk size with leading zeroes
* Better message formal parameter names
2017-06-14 17:50:48 -07:00
API Changes:
* `basic_fields::set` renamed from `basic_fields::replace`
Actions Required:
* Rename calls to `basic_fields::replace` to `basic_fields::set`
2017-06-14 17:50:48 -07:00
--------------------------------------------------------------------------------
2017-06-14 07:10:56 -07:00
Version 57:
* Fix message.hpp javadocs
2017-06-14 07:52:19 -07:00
* Fix warning in basic_parser.cpp
2017-06-14 12:03:19 -07:00
* Integrate docca for documentation and tidy
2017-06-14 07:10:56 -07:00
--------------------------------------------------------------------------------
Version 56:
* Add provisional IANA header field names
2017-06-12 18:39:04 -07:00
* Add string_view_body
* Call on_chunk when the extension is empty
2017-06-13 05:02:27 -07:00
* HTTP/1.1 is the default version
* Try harder to find Boost (cmake)
2017-06-13 07:08:52 -07:00
* Reset error codes
2017-06-13 07:41:04 -07:00
* More basic_parser tests
2017-06-13 08:52:14 -07:00
* Add an INTERFACE cmake target
2017-06-13 11:53:06 -07:00
* 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
--------------------------------------------------------------------------------
2017-06-09 18:34:32 -07:00
Version 54:
* static_buffer coverage
2017-06-09 22:36:57 -07:00
* flat_buffer coverage
* multi_buffer coverage
2017-06-10 13:05:57 -07:00
* consuming_buffers members and coverage
2017-06-10 14:28:15 -07:00
* basic_fields members and coverage
2017-06-10 15:56:48 -07:00
* Add string_param
* Retain ownership when reading using a message
* Fix incorrect use of [[fallthrough]]
2017-06-09 18:34:32 -07:00
API Changes:
* basic_fields refactor
2017-06-09 18:34:32 -07:00
--------------------------------------------------------------------------------
2017-06-10 06:43:23 -07:00
Version 53:
* Fix basic_parser::maybe_flatten
* Fix read_size_helper usage
2017-06-10 06:43:23 -07:00
--------------------------------------------------------------------------------
Version 52:
* flat_buffer is an AllocatorAwareContainer
2017-06-09 17:52:00 -07:00
* 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.
2017-06-09 18:04:05 -07:00
* Change call sites which use `read_buffer_size` with `set_option` to
call `stream::read_buffer_size` instead.
2017-06-09 18:04:05 -07:00
* Change call sites which use `read_message_max` with `set_option` to
call `stream::read_message_max` instead.
2017-06-09 18:04:05 -07:00
* Change call sites which use `write_buffer_size` with `set_option` to
call `stream::write_buffer_size` instead.
2017-06-09 18:04:05 -07:00
* 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.
2017-06-09 18:04:05 -07:00
* Remove all occurrences of the `opcode` enum at call sites
--------------------------------------------------------------------------------
2017-06-07 16:43:09 -07:00
Version 51
* Fix operator<< for header
2017-06-08 05:43:57 -07:00
* Tidy up file_body
* Fix file_body::get() not setting the more flag correctly
2017-06-08 05:54:47 -07:00
* Use BOOST_FALLTHROUGH
2017-06-08 06:01:05 -07:00
* Use BOOST_STRINGIZE
2017-06-08 08:17:25 -07:00
* DynamicBuffer benchmarks
* Add construct, destroy to handler_alloc
* Fix infinite loop in basic_parser
2017-06-07 16:43:09 -07:00
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.
2017-06-07 16:43:09 -07:00
--------------------------------------------------------------------------------
2017-06-05 05:49:22 -07:00
Version 50
* parser is constructible from other body types
2017-06-05 13:22:49 -07:00
* Add field enumeration
* Use allocator more in basic_fields
2017-06-06 11:56:06 -07:00
* 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
2017-06-06 17:26:11 -07:00
* Fields concept work
2017-06-07 04:36:45 -07:00
* Body documentation work
* Add missing handler_alloc nested types
2017-06-07 06:57:24 -07:00
* Fix chunk delimiter parsing
2017-06-07 07:07:24 -07:00
* Fix test::pipe read_size
* Fix chunk header parsing
2017-06-05 07:20:58 -07:00
API Changes:
* Remove header_parser
* Add verb to on_request for parsers
2017-06-05 21:11:33 -07:00
* 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
2017-06-05 07:20:58 -07:00
2017-06-05 05:49:22 -07:00
--------------------------------------------------------------------------------
2017-06-04 07:19:19 -07:00
Version 49
2017-06-04 15:35:21 -07:00
* Use <iosfwd> instead of <ostream>
2017-06-04 07:49:38 -07:00
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
2017-06-04 07:19:19 -07:00
--------------------------------------------------------------------------------
Version 48
* Make buffer_prefix_view public
2017-06-03 17:28:19 -07:00
* Remove detail::sync_ostream
2017-06-03 15:36:56 -07:00
* 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
2017-06-02 20:50:11 -07:00
* Fix undefined behavior in pausation
2017-06-03 00:14:32 -07:00
* 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
--------------------------------------------------------------------------------
2017-05-24 19:52:20 -07:00
Version 46
* Add test::pipe
2017-05-30 02:18:18 -07:00
* Documentation work
2017-05-24 19:52:20 -07:00
API Changes:
* Remove HTTP header aliases
* Refactor HTTP serialization
* Refactor type traits
2017-05-24 19:52:20 -07:00
--------------------------------------------------------------------------------
Version 45
* Workaround for boost::asio::basic_streambuf type check
2017-05-25 22:19:41 -07:00
* Fix message doc image
2017-05-24 19:42:24 -07:00
* Better test::enable_yield_to
2017-05-27 10:23:17 -07:00
* Fix header::reason
2017-05-26 20:46:43 -07:00
* Documentation work
* buffer_view skips empty buffer sequences
* Disable reverse_iterator buffer_view test
--------------------------------------------------------------------------------
2017-05-22 15:30:12 -07:00
Version 44
* Use BOOST_THROW_EXCEPTION
* Tidy up read_size_helper and dynamic buffers
2017-05-23 11:26:28 -07:00
* Require Boost 1.58.0 or later
* Tidy up and make get_lowest_layer public
2017-05-23 12:33:31 -07:00
* Use BOOST_STATIC_ASSERT
2017-05-23 15:50:15 -07:00
* Fix async return values in docs
2017-05-24 07:22:56 -07:00
* Fix README websocket example
* Add buffers_adapter regression test
2017-05-24 12:31:48 -07:00
* Tidy up is_dynamic_buffer traits test
* Make buffers_adapter meet requirements
2017-05-22 15:30:12 -07:00
--------------------------------------------------------------------------------
2017-05-20 23:16:36 -07:00
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
2017-05-20 23:16:36 -07:00
--------------------------------------------------------------------------------
2017-05-15 09:10:15 -07:00
Version 42
* Fix javadoc typo
2017-05-15 09:10:08 -07:00
* Add formal review notes
2017-05-16 07:34:09 -07:00
* Make buffers_view a public interface
2017-05-15 09:10:15 -07:00
--------------------------------------------------------------------------------
Version 41
2017-05-10 10:06:09 -07:00
* Trim Appveyor matrix rows
* Concept revision and documentation
2017-05-13 12:38:51 -07:00
* Remove coveralls integration
* Tidy up formal parameter names
2017-05-10 10:06:09 -07:00
WebSocket
* Tidy up websocket::close_code enum and constructors
API Changes
* Return http::error::end_of_stream on HTTP read eof
2017-05-10 13:08:11 -07:00
* 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
2017-05-10 05:35:38 -07:00
* Fix basic_streambuf movable trait
* Tidy up .travis.yml
--------------------------------------------------------------------------------
2017-05-07 17:33:03 -07:00
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.
2017-05-05 14:45:15 -07:00
* Use beast::string_view alias
2017-05-08 19:09:35 -07:00
* Fixed braced-init error with older gcc
2017-05-05 14:45:15 -07:00
2017-05-05 14:49:16 -07:00
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
2017-04-30 11:26:01 -07:00
* Simplify get_lowest_layer test
2017-04-30 11:29:33 -07:00
* Add test_allocator to extras/test
2017-04-30 14:36:16 -07:00
* More flat_streambuf tests
2017-05-01 15:21:20 -07:00
* 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
2017-04-27 17:55:07 -07:00
* Rename project to http-bench
* Fix flat_streambuf
2017-05-07 07:36:57 -07:00
* 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 (API Change): fix #80, #212, fix #303, fix #314, fix #317 websocket::stream now provides the following families of functions for performing handshakes: When operating in the server role: * stream::accept * stream::accept_ex * stream::async_accept * stream::async_accept_ex When operating in the client role: * stream::handshake * stream::handshake_ex * stream::async_handshake * stream::async_handshake_ex Member functions ending with "_ex" allow an additional RequestDecorator parameter (for the accept family of functions) or ResponseDecorator parameter (for the handshake family of functions). The decorator is called to optionally modify the contents of the HTTP request or HTTP response object generated by the implementation, before the message is sent. This permits callers to set the User-Agent or Server fields, add or modify HTTP fields related to subprotocols, or perform any required transformation of the HTTP message for application-specific needs. The handshake() family of functions now have an additional set of overloads accepting a parameter of type response_type&, allowing the caller to receive the HTTP Response to the Upgrade handshake. This permits inspection of the response to handle things like subprotocols, authentication, or other application-specific needs. The new implementation does not require any state to be stored in the stream object. Therefore, websocket::stream objects are now smaller in size. The overload of set_option for setting a decorator on the stream is removed. The only way to set decorators now is with a suitable overload of accept or handshake.
2017-04-25 09:35:22 -07:00
* Refactor websocket decorators
* Move everything in basic_fields.hpp to fields.hpp
* Rename to http::dynamic_body, consolidate header
--------------------------------------------------------------------------------
2017-05-05 07:18:31 -07:00
1.0.0-b36
* Update README.md
--------------------------------------------------------------------------------
2017-04-20 10:30:24 -07:00
1.0.0-b35
* Add Appveyor build scripts and badge
2017-04-20 14:50:11 -07:00
* Tidy up MSVC CMake configuration
* Make close_code a proper enum
* Add flat_streambuf
2017-04-22 14:56:09 -07:00
* Rename to BEAST_DOXYGEN
2017-04-23 14:29:17 -07:00
* Update .gitignore for VS2017
* Fix README.md CMake instructions
2017-04-20 10:30:24 -07:00
API Changes:
* New HTTP interfaces
2017-04-27 18:29:19 -07:00
* Remove http::empty_body
2017-04-20 10:30:24 -07:00
--------------------------------------------------------------------------------
1.0.0-b34
* Fix and tidy up CMake build scripts
--------------------------------------------------------------------------------
1.0.0-b33
* Require Visual Studio 2015 Update 3 or later
HTTP
2017-04-10 19:29:35 -07:00
* Use fwrite return value in file_body
WebSocket
* Set internal state correctly when writing frames
2017-04-12 18:49:18 -07:00
* Add decorator unit test
2017-04-14 12:32:36 -07:00
* 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
--------------------------------------------------------------------------------
2017-03-02 08:42:16 -05:00
1.0.0-b31
2017-03-03 08:02:49 -05:00
* Tidy up build settings
* Add missing dynabuf_readstream member
2017-03-03 08:02:49 -05:00
2017-03-02 08:42:16 -05:00
WebSocket
* Move the handler, don't copy it
--------------------------------------------------------------------------------
2017-02-24 14:53:20 -05:00
1.0.0-b30
WebSocket
* Fix race in pings during reads
2017-02-24 15:10:50 -05:00
* Fix race in close frames during reads
2017-02-24 16:02:59 -05:00
* Fix race when write suspends
* Allow concurrent websocket async ping and writes
2017-02-24 14:53:20 -05:00
--------------------------------------------------------------------------------
1.0.0-b29
* Fix compilation error in non-template class
2017-02-10 11:57:09 -05:00
* Document type-pun in buffer_cat
2017-02-05 14:42:58 -08:00
* Correctly check ostream modifier (/extras)
2017-02-08 12:24:33 -05:00
HTTP
* Fix Body requirements doc
* Fix illegal HTTP characters accepted as hex zero
2017-02-17 14:05:16 +10:00
* Fix Writer return value documentation
2017-02-08 12:24:33 -05:00
2017-02-10 11:57:09 -05:00
WebSocket
* Fix race in writes during reads
2017-02-22 13:19:07 +01:00
* Fix doc link typo
2017-02-10 11:57:09 -05:00
--------------------------------------------------------------------------------
1.0.0-b28
* Split out and rename test stream classes
2017-01-09 11:25:34 -05:00
* 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
2017-01-24 15:22:04 -05:00
* Fix 32-bit arm7 warnings
2017-01-30 08:48:33 -05:00
* Remove unnecessary include
* WebSocket server examples and test tidying
2017-02-01 12:44:16 -05:00
* Fix deflate setup bug
API Changes:
* Better handler_ptr
--------------------------------------------------------------------------------
2017-01-24 17:12:31 -05:00
1.0.0-b24
* bjam use clang on MACOSX
* Simplify Travis package install specification
2017-01-19 12:05:56 -05:00
* Add optional yield_to arguments
2017-01-25 09:38:29 -05:00
* Make decorator copyable
* Add WebSocket permessage-deflate extension support
2017-01-24 17:12:31 -05:00
--------------------------------------------------------------------------------
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
2017-01-24 17:12:31 -05:00
* Travis CI improvements
--------------------------------------------------------------------------------
1.0.0-b22
* Fix broken Intellisense
* Implement the Asio deallocation-before-invocation guarantee
2017-01-05 09:07:18 -05:00
* Add handler helpers
2017-01-05 09:09:59 -05:00
* Avoid copies in handler_alloc
* Update README.md example programs
* Fix websocket stream read documentation
* Disable Boost.Coroutine deprecation warning
2017-01-08 07:00:04 -05:00
* Update documentation examples
--------------------------------------------------------------------------------
1.0.0-b21
* Remove extraneous includes
--------------------------------------------------------------------------------
1.0.0-b20
ZLib
* Add ZLib module
API Changes:
* Rename HTTP identifiers
--------------------------------------------------------------------------------
2016-10-28 19:43:30 -04:00
1.0.0-b19
* Boost library min/max guidance
2016-11-08 13:15:07 -05:00
* 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
2016-11-09 10:17:56 -05:00
* Fix with_body example
2016-11-02 08:21:35 -04:00
WebSocket
2016-10-28 19:43:30 -04:00
* Optimize utf8 validation
2016-11-02 08:21:35 -04:00
* Optimize mask operations
2016-10-28 19:43:30 -04:00
API Changes:
* Refactor message and message_headers declarations
* prepared_buffers is private
* consume_buffers is removed
2016-10-28 19:43:30 -04:00
--------------------------------------------------------------------------------
2016-10-19 18:47:03 -04:00
1.0.0-b18
* Increase optimization settings for MSVC builds
HTTP
* Check invariants in parse_op:
2016-10-19 18:47:03 -04:00
* 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
2016-10-19 18:47:03 -04:00
--------------------------------------------------------------------------------
2016-10-15 20:48:59 +03:00
1.0.0-b17
* Change implicit to default value in example
* Tidy up some declarations
2016-10-14 19:38:28 -04:00
* 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
2016-10-16 18:52:32 -04:00
* 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
2016-10-18 16:23:23 -04:00
* 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
2016-10-15 20:48:59 +03:00
--------------------------------------------------------------------------------
2016-06-05 13:39:13 -04:00
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
2016-10-10 06:37:07 -04:00
* Constrain parser_v1 constructor
2016-10-10 09:00:57 -04:00
* 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
2016-10-14 14:03:16 -04:00
* Fix websocket failure testing
* Refine Writer concept and fix exemplar in documentation
2016-06-05 13:39:13 -04:00
2016-06-10 13:20:41 -04:00
API Changes:
* Rename mask_buffer_size to write_buffer_size
2016-06-10 15:48:39 -04:00
* Make auto_fragment a boolean option
2016-06-10 13:20:41 -04:00
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.
2016-06-05 13:39:13 -04:00
--------------------------------------------------------------------------------
2016-09-30 08:44:49 -04:00
1.0.0-b15
* rfc7230 section 3.3.2 compliance
2016-10-02 16:33:42 -04:00
* Add HTTPS example
2016-10-02 16:42:50 -04:00
* Add Secure WebSocket example
2016-10-03 13:52:13 -04:00
* Fix message_v1 constructor
2016-10-04 17:53:23 -04:00
* Tidy up DynamicBuffer requirements
* Tidy up error types and headers
* Fix handling empty HTTP headers in parser_v1
2016-09-30 08:44:49 -04:00
--------------------------------------------------------------------------------
2016-09-26 07:57:59 -04:00
1.0.0-b14
* Add missing rebind to handler_alloc
2016-09-23 14:35:46 +03:00
* Fix error handling in http server examples
* Fix CMake scripts for MinGW
2016-09-25 12:17:32 -04:00
* Use BOOST_ASSERT
2016-09-25 11:19:51 -04:00
* Better WebSocket decorator
* Update and tidy documentation
2016-09-26 07:57:59 -04:00
--------------------------------------------------------------------------------
1.0.0-b13
2016-09-02 10:11:47 -04:00
* dstream improvements
* Remove bin and bin64 directories
2016-09-02 10:11:47 -04:00
* Tidy up .vcxproj file groupings
--------------------------------------------------------------------------------
2016-08-29 07:31:02 -04:00
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
2016-08-29 07:31:02 -04:00
* Update README for build requirements
* Rename to CHANGELOG.md
--------------------------------------------------------------------------------
2016-08-26 10:01:11 -04:00
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 documention banners
--------------------------------------------------------------------------------
2016-08-12 19:46:23 -04:00
1.0.0-b10
* Fix compilation warnings
* Add websocketpp comparison to HTML documentation
--------------------------------------------------------------------------------
1.0.0-b9
* Fix CMakeLists.txt
--------------------------------------------------------------------------------
2016-06-24 17:19:22 -04:00
1.0.0-b8
* Fix include in example code
* Fix basic_headers rfc2616 Section 4.2 compliance
2016-06-24 17:19:22 -04:00
--------------------------------------------------------------------------------
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>
2016-06-15 11:52:59 -04:00
* Add skip_body parser option
--------------------------------------------------------------------------------
2016-05-28 07:57:49 -04:00
1.0.0-b6
2016-05-27 11:10:45 -04:00
* Use SFINAE on return values
* Use beast::error_code instead of nested types
2016-05-27 11:17:53 -04:00
* 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
2016-05-27 11:10:45 -04:00
* "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
2016-05-28 07:57:49 -04:00
--------------------------------------------------------------------------------