mirror of
https://github.com/boostorg/beast.git
synced 2025-08-04 07:14:32 +02:00
Update release notes
This commit is contained in:
@@ -11,6 +11,92 @@
|
||||
|
||||
[/-----------------------------------------------------------------------------]
|
||||
|
||||
[heading Boost 1.74]
|
||||
|
||||
[*API Changes]
|
||||
|
||||
* The API to Asio has undergone changes. Please refer to the Asio release notes for details.
|
||||
|
||||
* Beast has been updated to track and respect developer choices in the use of Asio. In particular:
|
||||
* Define `BOOST_ASIO_NO_DEPRECATED` to disallow deprecated invocation and allocation hooks.
|
||||
* Define `BOOST_ASIO_NO_TS_EXECUTORS` to ensure that executors conform to the
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r11.html Standard Executors] proposal.
|
||||
* Define `BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT` to select
|
||||
[@https://cplusplus.github.io/networking-ts/draft.pdf Networking TS] style executors by default.
|
||||
If this macro is not defined, Asio default executors will be the
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r11.html Standard Executors] implementation.
|
||||
|
||||
* [issue 1897] Parser `body_limit` is optional (API Change)
|
||||
['Actions Required]
|
||||
* The signature of `basic_parser<>::body_limit(n)` has changed. It now accepts an
|
||||
optional `std::uint64_t`. The caller may indicate that no body limit is required
|
||||
by calling `body_limit(boost::none)``. The default limits remain in place in order
|
||||
to maintain 'safe by default' behaviour.
|
||||
|
||||
* [issue 1934] Remove deprecated interfaces (API Change)
|
||||
['Actions Required]
|
||||
* The macro `BOOST_BEAST_NO_DEPRECATED` will no longer be noticed by Beast. The only way to
|
||||
enable deprecated functionality is now the macro `BOOST_BEAST_ALLOW_DEPRECATED` which is
|
||||
undefined by default. That is, all deprecated behaviour is disabled by default.
|
||||
* The following deprecated functions have been removed:
|
||||
- `websocket::async_accept_ex`
|
||||
- `websocket::async_handshake_ex`
|
||||
- `websocket::accept_ex`
|
||||
- `websocket::handshake_ex`
|
||||
Programs still using these names should be refactored to use the `decorator` feature and
|
||||
the remaining handshake and accept functions.
|
||||
* `websocket::role_type` has been removed. Users should use `beast::role_type` instead.
|
||||
* `handler_ptr` has been removed. Users should use `net::bind_handler` and/or
|
||||
`bind_front_handler` instead.
|
||||
* Code that depends on `mutable_data_type` should be refactored to use
|
||||
`mutable_buffers_type`. Classes affected are:
|
||||
- `buffers_adaptor`
|
||||
- `flat_buffer`
|
||||
- `flat_static_buffer`
|
||||
- `multi_buffer`
|
||||
- `static_buffer`
|
||||
* The `reset` function has been removed from `flat_static_buffer`. Use the
|
||||
`clear` function instead.
|
||||
* The `core/type_traits.hpp` public header has been removed and along with it
|
||||
the type trait `is_completion_handler`. Beast uses the CompletionHandler correctness
|
||||
checks provided by Asio. In a c++20 environment, these convert to concept checks.
|
||||
* The error code enum `invalid_code_lenths` (sic) was a synonym of `invalid_code_lengths`.
|
||||
Affected programs should be modified to use `invalid_code_lengths`.
|
||||
* The file `core/buffers_adapter.hpp` has been removed along with the deprecated
|
||||
alias typename `buffers_adapter`. Affected programs should use
|
||||
` core/buffers_adapator.hpp` and the type `buffers_adaptor`.
|
||||
|
||||
* [issue 1956] Deprecate `string_param` (API Change)
|
||||
['Actions Required]
|
||||
`string_param`, which was previously the argument type when setting field values
|
||||
has been replaced by `string_view`. Because of this, it is no longer possible to
|
||||
set message field values directly as integrals.
|
||||
Users are requied to convert numeric arguments to a string type prior to calling
|
||||
`fields::set` et. al.
|
||||
Beast provides the non-allocating `to_static_string()` function for this purpose.
|
||||
To set Content-Length field manually, call `message::content_length`.
|
||||
|
||||
[*Fixes]
|
||||
|
||||
* [issue 1913] Fix standalone compilation error with `std::string_view`
|
||||
* [issue 1925] [issue 1916] Fix compile errors on Visual Studio with /std:c++latest
|
||||
* [issue 1924] Fix c++20 deprecation warning in `span_body`
|
||||
* [issue 1920] Fix use `buffered_read_stream` with `use_awaitable`
|
||||
* [issue 1918] Fix `async_detect_ssl` with `use_awaitable`
|
||||
* [issue 1944] Fix `FILE` namespace qualification
|
||||
* [issue 1942] Fix http read `bytes_transferred`
|
||||
* [issue 1943] Fix `basic_stream` `expires_after`
|
||||
* [issue 1980] Fix `max` compile error
|
||||
* [issue 1949] `iless` and `iequal` take part in Heterogeneous Lookup
|
||||
|
||||
[*Miscellaneous]
|
||||
|
||||
* [issue 1907] OpenSSL 1.0.2 or later is required when using SSL/TLS streams.
|
||||
This is a requirement inherited from Boost.Asio.
|
||||
|
||||
* Additional tests have been added to ensure correct integration with C++20
|
||||
coroutines when avaialable.
|
||||
|
||||
[heading Boost 1.73]
|
||||
|
||||
[*API Changes]
|
||||
|
Reference in New Issue
Block a user