Files
beast/CHANGELOG.md

628 lines
16 KiB
Markdown
Raw Normal View History

2017-06-04 07:19:19 -07:00
Version 49
API Changes:
* Refactor method and verb
* Canonicalize string_view parameter types
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
--------------------------------------------------------------------------------