en	Release Notes
zh-hans	发布说明

en	Boost 1.91

en	* [issue 3066] Fixed typecast warnings in `inflate_with_eb`
zh-hans	* [issue 3066] 修复了 `inflate_with_eb` 中的类型转换警告

en	* [issue 3077] Enforced 8KB sanity limit on chunk headers * [issue 3085] Made OpenSSL an optional dependency for tests * [issue 3074] Removed dependency on Boost.StaticAssert * [issue 3091] Added `HTTP2-Settings` to HTTP field enum
zh-hans	* [issue 3077] 对分块头部强制实施了 8KB 的合理性限制 * [issue 3085] 将 OpenSSL 设为测试的可选依赖项 * [issue 3074] 移除了对 Boost.StaticAssert 的依赖 * [issue 3091] 在 HTTP 字段枚举中添加了 `HTTP2-Settings`

en	Boost 1.90

en	* [issue 3042] `http::parser` rejects non-standard trailer fields by default.
zh-hans	* [issue 3042] `http::parser` 默认拒绝非标准的尾部字段（trailer fields）。

en	* [issue 3042] `http::basic_parser` uses a dedicated callback for trailer fields.
zh-hans	* [issue 3042] `http::basic_parser` 为尾部字段（trailer fields）使用了专用的回调函数。

en	* [issue 3042] `http::field` constants are updated.
zh-hans	* [issue 3042] 更新了 `http::field` 常量。

en	* [issue 3034] Fixed allocator move/copy assignment in `flat_buffer` and `multi_buffer` * [issue 3028] Fixed websocket permessage-deflate error on partial message consumption * [issue 3032] `http::buffer_body` ignores empty chunks
zh-hans	* [issue 3034] 修复了 `flat_buffer` 和 `multi_buffer` 中分配器的移动/拷贝赋值问题 * [issue 3028] 修复了 WebSocket 在部分消息消费时出现的 permessage-deflate 错误 * [issue 3032] `http::buffer_body` 会忽略空的分块

en	* [issue 3039] Added `http::basic_fields::contains` member function * [issue 3050] Removed dependency on Boost.Preprocessor * [issue 3048] Removed dependency on Boost.StaticAssert
zh-hans	* [issue 3039] 添加了 `http::basic_fields::contains` 成员函数 * [issue 3050] 移除了对 Boost.Preprocessor 的依赖 * [issue 3048] 移除了对 Boost.StaticAssert 的依赖

en	Boost 1.89

en	* [issue 3002] Conditionally defined `immediate_executor_type` in `async_base` * [issue 2999] Used `handshake_timeout` for closing handshake during read operations * [issue 3003] Added missing `cstdint` header to `detail/cpu_info.hpp` * [issue 3016] Fixed `std::is_trivial` deprecation warnings * [issue 3019] Fixed `-Wmaybe-uninitialized` warnings
zh-hans	* [issue 3002] 在 `async_base` 中条件定义了 `immediate_executor_type` * [issue 2999] 在读操作期间使用 `handshake_timeout` 进行关闭握手 * [issue 3003] 为 `detail/cpu_info.hpp` 添加了缺失的 `cstdint` 头文件 * [issue 3016] 修复了 `std::is_trivial` 的弃用警告 * [issue 3019] 修复了 `-Wmaybe-uninitialized` 警告

en	* [issue 3005] Replaced `detail/work_guard.hpp` with `net::executor_work_guard` * [issue 3016] Fixed portability issues for building tests in MinGW
zh-hans	* [issue 3005] 使用 `net::executor_work_guard` 替换了 `detail/work_guard.hpp` * [issue 3016] 修复了在 MinGW 中构建测试时的可移植性问题

en	* [issue 3009] Removed moved sections from documentation * [issue 3009] Removed superfluous log messages from tests
zh-hans	* [issue 3009] 移除了文档中已迁移的章节 * [issue 3009] 移除了测试中多余的日志消息

en	Boost 1.88

en	* [issue 2962] Fixed out-of-bounds access in `iequals` function
zh-hans	* [issue 2962] 修复了 `iequals` 函数中的越界访问问题

en	* [issue 2974] Updated SSL examples to verify peer certificate hostname * [issue 2954] Refactored CMakeLists * [issue 2955] Removed Boost.Scope dependency from examples * [issue 2716] WebSockets: Peer pings are counted as activity for `idle_timeout`
zh-hans	* [issue 2974] 更新了 SSL 示例以验证对等证书的主机名 * [issue 2954] 重构了 CMakeLists * [issue 2955] 从示例中移除了对 Boost.Scope 的依赖 * [issue 2716] WebSockets：对等方的 Ping 帧现在会被计入 `idle_timeout`（空闲超时）的活动状态

en	* [issue 2918] Added new examples for Unix domain sockets * [issue 2910] Added SSL/TLS Certificate section to documentation * [issue 2730] Improved documentation of `websocket::stream::async_close`
zh-hans	* [issue 2918] 添加了 Unix 域套接字（Unix domain sockets）的新示例 * [issue 2910] 在文档中新增了 SSL/TLS 证书（SSL/TLS Certificate）章节 * [issue 2730] 改进了 `websocket::stream::async_close` 的文档说明

en	Boost 1.87

en	* [issue 2920] Added `error_code` overload for `basic_fields::insert()` * [issue 2911] Added overload for `websocket::stream::get_status` to query permessage-deflate status
zh-hans	* [issue 2920] 为 `basic_fields::insert()` 添加了 `error_code` 重载 * [issue 2911] 为 `websocket::stream::get_status` 添加了重载，用于查询 permessage-deflate 的状态

en	* [issue 2926] Fixed use-after-move in calls to `net::dispatch` within `http::basic_stream`, which caused `bad_executor` exceptions on timeouts * [issue 2915] Removed mutating operations in initiating functions * [issue 2915] Fixed cancellation handling in `teardown_tcp_op` * [issue 2920] Set `state_` in `basic_parser` before calling `on_finish_impl` * [issue 2939] Removed static specifier from `clamp` functions * [issue 2903] Addressed `-Wattributes` warnings in tests * [issue 2944] Addressed unreachable code warning in tests
zh-hans	* [issue 2926] 修复了 `http::basic_stream` 中调用 `net::dispatch` 时发生的“移动后使用（use-after-move）”问题，该问题曾导致在超时时抛出 `bad_executor` 异常 * [issue 2915] 移除了发起函数（initiating functions）中的可变操作 * [issue 2915] 修复了 `teardown_tcp_op` 中的取消处理逻辑 * [issue 2920] 在调用 `on_finish_impl` 之前，在 `basic_parser` 中设置了 `state_` * [issue 2939] 移除了 `clamp` 函数中的 static 修饰符 * [issue 2903] 解决了测试中的 `-Wattributes` 警告 * [issue 2944] 解决了测试中无法访问的代码（unreachable code）警告

en	* [issue 2940] Added forward declaration headers for types in `beast::http` namespace * [issue 2920] Enabled `http::parser` to use `basic_fields::insert()` with `error_code` overload * [issue 2920] Applied `header_limit_` in `http::basic_parser` to trailer headers * [issue 2920] Improved `http::basic_parser` to return `http::error::header_limit` earlier * [issue 2905] Added support for modular boost build structure
zh-hans	* [issue 2940] 为 `beast::http` 命名空间中的类型添加了前向声明头文件 * [issue 2920] 使 `http::parser` 能够使用带有 `error_code` 重载的 `basic_fields::insert()` * [issue 2920] 将 `header_limit_` 应用于 `http::basic_parser` 的尾部头信息（trailer headers） * [issue 2920] 改进了 `http::basic_parser`，使其能更早地返回 `http::error::header_limit` 错误 * [issue 2905] 增加了对模块化 Boost 构建结构的支持

en	Boost 1.86

en	* [issue 2878] Added HTTP status code *418 I'm a teapot*
zh-hans	* [issue 2878] 添加了 HTTP 状态码 418 I'm a teapot

en	* [issue 2879] Narrowing conversion in `read_size_hint_db()` * [issue 2893] Overloads that are ambiguous when using default completion tokens * [issue 2517] Misplaced static_assert in `http::basic_fields` move-assignment operator * [issue 2880] Underflow of `bytes_transferred` in WebSocket partial write operations * [issue 2879] `websocket::stream::read_size_hint()` does not exceed `read_message_max` * [issue 2877] Various warnings in tests * [issue 2872] Error handling in SSL shutdown operations in examples * [issue 2869] Annotate fallthrough case in zlib * [issue 2866] Handling of expired timers in `basic_stream::ops::transfer_op` * [issue 2864] Ambiguity in `test::basic_stream` constructor overloads * [issue 2861] Partial parsing of the final chunk in `http::parser`
zh-hans	* [issue 2879] 修复了 `read_size_hint_db()` 中的窄化转换问题 * [issue 2893] 解决了使用默认完成令牌时存在的重载歧义问题 * [issue 2517] 修复了 `http::basic_fields` 移动赋值运算符中位置错误的 `static_assert` * [issue 2880] 修复了 WebSocket 部分写入操作中 `bytes_transferred` 的下溢问题 * [issue 2879] 确保 `websocket::stream::read_size_hint()` 不会超出 `read_message_max` 的限制 * [issue 2877] 解决了测试中的各类警告 * [issue 2872] 改进了示例中 SSL 关闭操作的错误处理逻辑 * [issue 2869] 为 zlib 中的 fallthrough case 添加了注解 * [issue 2866] 修复了 `basic_stream::ops::transfer_op` 中过期定时器的处理问题 * [issue 2864] 解决了 `test::basic_stream` 构造函数重载的歧义问题 * [issue 2861] 修复了 `http::parser` 中对最后一个分块（chunk）的部分解析问题

en	* [issue 2897] Graceful shutdown in `server_flex_awaitable` example * [issue 2897] Simplified awaitable examples * [issue 2888] Added fuzzing targets * [issue 2875] Removed superfluous uses of `std::bind` in some examples * [issue 2875] `ssl_stream` does not use `flat_stream`
zh-hans	* [issue 2897] 在 `server_flex_awaitable` 示例中实现了优雅关闭 * [issue 2897] 简化了 awaitable 相关示例 * [issue 2888] 添加了模糊测试（fuzzing）目标 * [issue 2875] 移除了部分示例中多余的 `std::bind` 使用 * [issue 2875] `ssl_stream` 不再使用 `flat_stream`

en	* [issue 2875] `ssl_stream` and `flat_stream` marked as deprecated * [issue 2875] `net::ssl::stream` is canonical in snippets and examples * [issue 2872] Added `SSL/TLS Shutdown Procedure` section
zh-hans	* [issue 2875] 将 `ssl_stream` 和 `flat_stream` 标记为已弃用（deprecated） * [issue 2875] 在代码片段和示例中，统一使用 `net::ssl::stream` 作为规范写法 * [issue 2872] 新增了“SSL/TLS 关闭流程（SSL/TLS Shutdown Procedure）”章节

en	Boost 1.85

en	* [issue 2811] The status code list has been updated to conform with the IANA registry
zh-hans	* [issue 2811] 更新了状态码列表以符合 IANA 注册表

en	* [issue 2803] Unreachable code warning in `buffers_cat.hpp` * [issue 2778] Connection error handling in `websocker_server_awaitable` example * [issue 2739] Concurrent calls to `async_write` in advanced server examples * [issue 2810] zlib name conflicts with minizip * [issue 2818] host string should be updated after `SSL_set_tlsext_host_name()`
zh-hans	* [issue 2803] 修复了 `buffers_cat.hpp` 中无法访问代码（unreachable code）的警告 * [issue 2778] 改进了 `websocker_server_awaitable` 示例中的连接错误处理 * [issue 2739] 解决了高级服务器示例中对 `async_write` 的并发调用问题 * [issue 2810] 解决了 zlib 与 minizip 之间的名称冲突问题 * [issue 2818] 在调用 `SSL_set_tlsext_host_name()` 后更新主机名字符串

en	* [issue 2782] `asio::associator` is specialized for `bind_wrapper` and `bind_front_wrapper` * [issue 2646] Add non-allocating overload for error category message function
zh-hans	* [issue 2782] 为 `bind_wrapper` 和 `bind_front_wrapper` 特化了 `asio::associator` * [issue 2646] 为错误类别消息函数添加了无需分配内存（non-allocating）的重载

en	* [issue 2789] Specifies when calling `http::message::prepare_payload()` is optional * [issue 2799] Operations affected by `basic_stream::expires_after()` * [issue 2808] `teardown()` and `async_teardown()` are customization points * [issue 2814] Moving or copying `http::serializer` after first usage is undefined behaviour * [issue 2817] `websocket::permessage_deflate` should be configured before performing the WebSocket handshake * [issue 2816] `bytes_transferred` in http reads operations reports the number of bytes consumed by the HTTP parser
zh-hans	* [issue 2789] 明确了调用 `http::message::prepare_payload()` 的可选时机 * [issue 2799] 说明了受 `basic_stream::expires_after()` 影响的操作 * [issue 2808] 将 `teardown()` 和 `async_teardown()` 设定为自定义点（customization points） * [issue 2814] 明确了在首次使用后移动或复制 `http::serializer` 属于未定义行为（undefined behaviour） * [issue 2817] 规定 `websocket::permessage_deflate` 必须在执行 WebSocket 握手之前完成配置 * [issue 2816] 修正了 HTTP 读取操作中 `bytes_transferred` 的语义，现在它报告的是被 HTTP 解析器消耗的字节数

en	Boost 1.84

en	* Remove deprecated allocation and invocation hooks
zh-hans	* 移除了已弃用的分配和调用钩子（hooks）

en	* Support for `immediate_executor`
zh-hans	* 增加了对 `immediate_executor` 的支持

en	* [issue 2766] Use the explicit type std::size_t when completing transfer_op * [issue 2727] Replaced `BOOST_ASIO_INITFN_RESULT_TYPE` with `BOOST_ASIO_INITFN_AUTO_RES` * [issue 2715] `server-flex-awaitable` example resets parser
zh-hans	* [issue 2766] 在完成 `transfer_op` 时显式使用了 `std::size_t` 类型 * [issue 2727] 用 `BOOST_ASIO_INITFN_AUTO_RES` 替换了 `BOOST_ASIO_INITFN_RESULT_TYPE` * [issue 2715] `server-flex-awaitable` 示例现在会重置解析器

en	* [issue 2713] Corrected the `websocket::stream::async_ping/pong` handler requirement * [issue 2755] Update documentation for `websocket::stream::async_write_some`
zh-hans	* [issue 2713] 修正了 `websocket::stream::async_ping/pong` 处理程序（handler）的要求 * [issue 2755] 更新了 `websocket::stream::async_write_some` 的文档

en	Boost 1.83

en	* [issue 2680] aligned_storage unused for C+23 * [issue 2653] MSVC literal `not` error * [issue 2661] ssl_stream ambiguity error on clang * [issue 2649] Jamefile uses openssl.jam
zh-hans	* [issue 2680] 针对 C++23 弃用了 `aligned_storage` * [issue 2653] 修复了 MSVC 中文字面量 `not` 的报错问题 * [issue 2661] 解决了 Clang 编译器上 `ssl_stream` 的歧义报错 * [issue 2649] 将 Jamfile 中的依赖更新为使用 openssl.jam

en	Boost 1.82

en	* [issue 2475] Add `error_code`s use source_location
zh-hans	* [issue 2475] 为 `error_code` 增加 `source_location` 支持

en	* [issue 2602] tcp_stream uses the correct executor of the timer. * [issue 2638] `std::placeholders` ambiguity fix.
zh-hans	* [issue 2602] `tcp_stream` 使用计时器的正确执行器（executor） * [issue 2638] 修复 `std::placeholders` 的歧义问题

en	* error_categories use numeric ids * `file_body` support seek
zh-hans	* `error_categories` 使用数字 ID * `file_body` 支持 seek

en	Boost 1.81

en	* Add `buffers_generator` * Add [link beast.ref.boost__beast__http__message_generator `http::message_generator`] * Add [link beast.ref.boost__beast__buffer_ref `buffer_ref`] * Support for per-operation cancellation
zh-hans	* 新增 `buffers_generator` * 新增 `http::message_generator` * 新增 `buffer_ref` * 支持按操作取消（per-operation cancellation）

en	* [issue 2439] Fix CVE-2018-25032 in zlib streams * [issue 264] Websocket support continue in upgrade * [issue 471] Unquote takes s by reference
zh-hans	* [issue 2439] 修复 zlib 流中的 CVE-2018-25032 漏洞 * [issue 264] WebSocket 在协议升级（upgrade）阶段支持 HTTP 100 Continue * [issue 471] `unquote` 函数改为通过引用接收字符串（s）

en	* [issue 2104] C++20 awaitable examples. * [issue 226], [issue 227] per-message compression options * [issue 2449] websocket timeout option api * [issue 2468] multiple content length error
zh-hans	* [issue 2104] 新增 C++20 awaitable 示例 * [issue 226], [issue 227] 支持逐消息压缩（per-message compression）选项 * [issue 2449] 新增 WebSocket 超时选项 API * [issue 2468] 修复多重 Content-Length 错误

en	* Use `span` from Boost.Core * Use `static_string` from Boost.StaticString * `serializer::is_done` is `const` * Support for default-completion and rebind * [issue 2469] s390x architecture support
zh-hans	* 使用 Boost.Core 的 `span` * 使用 Boost.StaticString 的 `static_string` * `serializer::is_done` 改为 `const` * 支持默认完成（default-completion）和重新绑定（rebind） * [issue 2469] 支持 s390x 架构

en	* [issue 891] Feature table for buffers * [issue 516] Case-insensitivity for fields is stated * [issue 298] api version is documented
zh-hans	* [issue 891] 新增缓冲区（buffers）功能表 * [issue 516] 明确 HTTP 字段大小写不敏感特性 * [issue 298] 补充 API 版本文档

en	Boost 1.80

en	* [issue 2363] Remove `BOOST_BEAST_USE_STD_STRING_VIEW` * [issue 2417] use boost::core::string_view. This improves inter-conversion between string_view implementations. Some observable differences for users:
zh-hans	* [issue 2363] 移除 `BOOST_BEAST_USE_STD_STRING_VIEW` * [issue 2417] 改用 `boost::core::string_view`，提升不同 `string_view` 实现间的互操作性；部分用户可观察到的行为差异如下：

en	Boost 1.79

en	* [issue 2391] Add missing include for file_body test. * [issue 2364] Fix WebSocket handshake response on failure. * [issue 2280] (related) Fix open append mode for file_posix. * [issue 2280] Fix open append mode for file_win32. * [issue 2280] Fix file open with append/append_existing flag on Windows * [issue 2354] Fix clang-cl UTF8 path handling for `file_win32`. * [issue 2354] Fix clang-cl UTF8 path handling for `file_stdio`.
zh-hans	* [issue 2391] 为 `file_body` 测试补充缺失的头文件（include） * [issue 2364] 修复 WebSocket 握手失败时的响应 * [issue 2280] 修复 `file_posix` 的追加打开（open append）模式 * [issue 2280] 修复 `file_win32` 的追加打开（open append）模式 * [issue 2280] 修复 Windows 下使用 append/append_existing 标志打开文件的问题 * [issue 2354] 修复 `file_win32` 在 clang-cl 下的 UTF-8 路径处理 * [issue 2354] 修复 `file_stdio` 在 clang-cl 下的 UTF-8 路径处理

en	* [issue 2375] Add ARM64 builds to drone CI * [issue 2217] Fix async_base documentation link * [issue 2280] Add tests for file open in append/append_existing mode * [issue 2351] Update CI to include gcc 11, clang 12, msvc 14.3 * [issue 2350] Add individual tests to CMake workflow
zh-hans	* [issue 2375] 在 Drone CI 中新增 ARM64 构建 * [issue 2217] 修复 `async_base` 的文档链接 * [issue 2280] 新增文件以 append/append_existing 模式打开的测试 * [issue 2351] 更新 CI 环境，纳入 GCC 11、Clang 12 和 MSVC 14.3 * [issue 2350] 在 CMake 工作流中添加独立测试

en	Boost 1.78

en	* Fix CVE-2016-9840 in zlib implementation. * Fix TLS SNI handling in websocket_client_async_ssl example. * [issue 2313] Fix reuse of sliding window in WebSocket permessage_deflate. * Fix accept error handling in http_server_async example.
zh-hans	* 修复 zlib 实现中的 CVE-2016-9840 漏洞 * 修复 `websocket_client_async_ssl` 示例中的 TLS SNI 处理 * [issue 2313] 修复 WebSocket `permessage_deflate` 中滑动窗口的复用问题 * 修复 `http_server_async` 示例中的 accept 错误处理

en	* Remove test framework's dependency on RTTI. * Move library-specific docca configuration to Beast. * Remove dependency on RTTI in `test::stream`. * Fix missing includes in test headers.
zh-hans	* 移除测试框架对 RTTI 的依赖。 * 将库专用的 docca 配置移至 Beast。 * 移除 `test::stream` 中对 RTTI 的依赖。 * 修复测试头文件中缺失的包含项。

en	Boost 1.77

en	* [issue 2233] Remove use of POSIX-only constant.
zh-hans	* [issue 2233] 移除仅用于 POSIX 的常量。

en	* Fixes to tests. * Improvements and fixes in Github and Drone CI. * Accommodate Docca updates. * Update example root certificates. * Add example of reading large response body. * Remove Travis CI. * Update CMakeLists.txt
zh-hans	* 修复测试相关问题。 * 改进并修复 Github 与 Drone CI 配置。 * 适配 Docca 更新。 * 更新示例根证书。 * 新增用于读取大响应体的示例。 * 移除 Travis CI。 * 更新 CMakeLists.txt。

en	Boost 1.76

en	* [issue 2139] Add executor rebind to test::stream. * Fix unused variable compiler warning in WebSocket async shutdown.
zh-hans	* [issue 2139] 为 `test::stream` 添加执行器重绑定功能。 * 修复 WebSocket 异步关闭操作中编译器提示变量未使用的问题。

en	* [issue 2124] Floating point support no longer required to use Beast. * Reduce size of websockety compiled code by using a common buffers type for all operations. * HTTP Parser has improved detection of incorrect use.
zh-hans	* [issue 2124] 使用 Beast 不再需要浮点运算支持。 * 为所有操作使用公共缓冲区类型，以减小 WebSocket 编译后代码体积。 * HTTP 解析器针对错误使用情形改进了检测能力。

en	* [issue 2140] Add cxxstd tag to library metadata. * Move to Drone CI. * Minor documentation formatting improvements. * CML now finds required Boost::thread library during in-tree build.
zh-hans	* [issue 2140] 为库元数据添加 cxxstd 标签。 * 迁移至 Drone CI。 * 对文档格式进行小幅改进。 * 在树内构建时，CMake 现可正确查找所需的 Boost::thread 库。

en	Boost 1.75

en	* Eliminate spurious unused parameter warning in `detect_ssl`. * Update Websocket examples to set the SNI for TLS connections. * [issue 2023] websocket async_shutdown will now shutdown the underlying TLS transport. * [issue 2011] File open with append_existing flag now works correctly in posix environments. * [issue 2039] Windows builds now link to bcrypt as required by the filesystem library. * [issue 2063] Logic error fixed in `advanced_server_flex` example. * [issue 1582] Fix unreachable code error on MSVC. * [issue 2070] Fix http body behaviour when body_limit it none. * [issue 2065] Fix behaviour of `basic_stream` when a zero-length write is requested. * [issue 2080] Add enums representing Sec-* HTTP headers. * [issue 2085] Fix `nullptr` implicit cast on `fields::set()`. * [issue 2029] Fix C++20 tests for `basic_stream`.
zh-hans	* 消除 `detect_ssl` 中无关的参数未使用警告。 * 更新 WebSocket 示例，为 TLS 连接设置 SNI。 * [issue 2023] WebSocket 的 async_shutdown 操作现可关闭底层 TLS 传输层。 * [issue 2011] 在 POSIX 环境下，使用 append_existing 标志打开文件现可正常工作。 * [issue 2039] Windows 构建现按需链接 bcrypt 库，以满足 filesystem 库的依赖。 * [issue 2063] 修复 `advanced_server_flex` 示例中的逻辑错误。 * [issue 1582] 修复 MSVC 上不可达代码的编译错误。 * [issue 2070] 修复 body_limit 为 none 时 HTTP body 的行为。 * [issue 2065] 修复 `basic_stream` 在请求零长度写入时的行为。 * [issue 2080] 新增表示 Sec-* HTTP 头部的枚举。 * [issue 2085] 修复 `fields::set()` 中 `nullptr` 隐式转换的问题。 * [issue 2029] 修复 `basic_stream` 的 C++20 测试。

en	* Add handler tracking to asynchronous operations:
zh-hans	* 为异步操作添加处理器跟踪功能：

en	* Add Bishop-Fox 2020 Security Assessment.
zh-hans	* 新增 Bishop-Fox 2020 安全评估报告。

en	Boost 1.74

en	* The API to Asio has undergone changes. Please refer to the Asio release notes for details.
zh-hans	* Asio 的 API 发生了变更，详见 Asio 版本发布说明。

en	* Beast has been updated to track and respect developer choices in the use of Asio. In particular:
zh-hans	* Beast 已更新，用于跟踪并遵守开发者在 Asio 使用中的配置选择，具体包括：

en	* [issue 1897] Parser `body_limit` is optional (API Change)
zh-hans	* [issue 1897] 解析器的 `body_limit` 参数改为可选（API 变更）

en	* [issue 1934] Remove deprecated interfaces (API Change)
zh-hans	* [issue 1934] 移除已弃用的接口（API 变更）

en	* [issue 1956] Deprecate `string_param` (API Change)
zh-hans	* [issue 1956] 弃用 `string_param`（API 变更）

en	* [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
zh-hans	* [issue 1913] 修复使用 `std::string_view` 时的独立编译错误 * [issue 1925] [issue 1916] 修复在 Visual Studio 中使用 /std:c++latest 时的编译错误 * [issue 1924] 修复 `span_body` 中的 C++20 弃用警告 * [issue 1920] 修复 `buffered_read_stream` 与 `use_awaitable` 一起使用时的问题 * [issue 1918] 修复 `async_detect_ssl` 与 `use_awaitable` 一起使用时的问题 * [issue 1944] 修复 `FILE` 的命名空间限定 * [issue 1942] 修复 HTTP 读取中的 `bytes_transferred` * [issue 1943] 修复 `basic_stream` 中的 `expires_after` * [issue 1980] 修复 `max` 的编译错误 * [issue 1949] `iless` 和 `iequal` 参与异质查找

en	* [issue 1907] OpenSSL 1.0.2 or later is required when using SSL/TLS streams.
zh-hans	* [issue 1907] 使用 SSL/TLS 流时需要 OpenSSL 1.0.2 或更高版本。

en	* Additional tests have been added to ensure correct integration with C++20
zh-hans	* 新增测试用例，用于确保与 C++20 的正确集成。

en	Boost 1.73

en	* Nested `mutable_data_type` in Beast dynamic buffers is deprecated. Affected types:
zh-hans	* Beast 动态缓冲区中的嵌套 `mutable_data_type` 已被弃用。受影响类型如下：

en	* Use nested `mutable_buffers_type` instead of `mutable_data_type`,
zh-hans	* 使用嵌套的 `mutable_buffers_type` 替代 `mutable_data_type`

en	* Update root certificates in examples
zh-hans	* 更新示例中的根证书

en	* [issue 1880] Fix Content-Length parsing * [issue 1852] Fix examples to dispatch to strand * [issue 1875] Ensure `basic_stream::close` will not throw * [issue 1863] Field digest is endian-independent * [issue 1853] Fix ostream flush * [issue 1831] `flat_buffer::shrink_to_fit` is `noexcept` * [issue 1828] Fix erase field * [issue 1822] Examples use strands correctly * [issue 1818] `file_body` returns `short_read` on eof during read * [issue 1786] Fix bug in win32 `file_body` * [issue 1260] Add accessor function to File member of `basic_file_body` * [issue 793] `file_win32` supports UTF-8 paths * [issue 793] `file_stdio` supports unicode paths * [issue 1786] `file_win32` bodies respect `http::serializer::split` * Correct `buffer_bytes` documentation * Fix missing include in sha1.hpp * Fix ostream warning * Update broken links in README * Translate some win32 errors to net error codes * Moved-from dynamic buffers do not clear if different allocator * Fix compilation macro documentation * Clarify end-of-file behaviour in `File::read` docs * ostream_buffer satisfies preconditions of DynamicBuffer_v1::commit * Fix release build of docs * Fix `echo-op` test * Fix non-msvc cmake
zh-hans	* [issue 1880] 修复 Content-Length 解析问题 * [issue 1852] 修复示例，改为向 strand 派发 * [issue 1875] 确保 `basic_stream::close` 不会抛出异常 * [issue 1863] Digest 字段与字节序无关 * [issue 1853] 修复 ostream 刷新问题 * [issue 1831] `flat_buffer::shrink_to_fit` 为 `noexcept` * [issue 1828] 修复字段擦除问题 * [issue 1822] 示例正确使用 strand * [issue 1818] `file_body` 在读取到 EOF 时返回 `short_read` * [issue 1786] 修复 win32 中 `file_body` 的缺陷 * [issue 1260] 为 `basic_file_body` 的 File 成员添加访问函数 * [issue 793] `file_win32` 支持 UTF-8 路径 * [issue 793] `file_stdio` 支持 Unicode 路径 * [issue 1786] `file_win32` 类型 body 遵守 `http::serializer::split` 设置 * 更正 `buffer_bytes` 文档 * 修复 sha1.hpp 中缺失的头文件包含 * 修复 ostream 警告 * 修复 README 中的失效链接 * 将部分 win32 错误转换为网络错误码 * 被移动后的动态缓冲区在分配器不同时不会清空 * 修复编译宏文档 * 明确 `File::read` 文档中有关 EOF 的行为说明 * ostream_buffer 满足 DynamicBuffer_v1::commit 的前置条件 * 修复文档发布构建问题 * 修复 `echo-op` 测试 * 修复非 MSVC 环境下的 CMake 配置

en	Boost 1.72

en	* Add async-ssl-system-executor http client example
zh-hans	* 新增使用 async-ssl-system-executor 的 HTTP 客户端示例

en	* Add async-ssl-system-executor websocket client example
zh-hans	* 新增使用 async-ssl-system-executor 的 WebSocket 客户端示例

en	* Async init-fns use the executor's default token
zh-hans	* 异步初始化函数使用执行器的默认令牌

en	* Use automatically deduced return types for all async operations (since C++14)
zh-hans	* 所有异步操作使用自动推导返回类型（C++14 起）

en	* Support Concepts for completion token params
zh-hans	* 支持为完成令牌参数使用 Concepts

en	* [issue 1664] Add default dtors to satisfy -Wnon-virtual-dtor
zh-hans	* [issue 1664] 添加默认析构函数，用于满足 -Wnon-virtual-dtor 编译选项的要求

en	* [issue 1682] Multiple I/O of the same type is not supported
zh-hans	* [issue 1682] 同一类型不支持多次 I/O 操作

en	* [issue 1687] Fix signed/unsigned mismatch in file_stdio::seek
zh-hans	* [issue 1687] 修复 file_stdio::seek 中有符号与无符号类型不匹配的问题

en	* [issue 1688] basic_stream dtor cannot throw
zh-hans	* [issue 1688] basic_stream 析构函数不可抛出异常

en	* [issue 1734] Fix leftovers in basic_parser corner case:
zh-hans	* [issue 1734] 修复 basic_parser 边界情况中的残留问题：

en	* [issue 1751] https_get example sends the Host header
zh-hans	* [issue 1751] https_get 示例现在会发送 Host 头字段

en	* [issue 1754] Fix async_close error code when async_read times out
zh-hans	* [issue 1754] 修复 async_read 超时时 async_close 的错误码问题

en	* [issue 1782] root_certificates.hpp is not for production
zh-hans	* [issue 1782] root_certificates.hpp 不适用于生产环境

en	* Fix data race in websocket examples
zh-hans	* 修复 WebSocket 示例中的数据竞争问题

en	* Fix data race in http server examples
zh-hans	* 修复 HTTP 服务器示例中的数据竞争问题

en	* Squelch spurious websocket timer assert
zh-hans	* 屏蔽 WebSocket 计时器中无关的断言

en	* Use the executor type in basic_stream timer
zh-hans	* 在 basic_stream 的计时器中使用执行器类型

en	Boost 1.71

en	* [issue 1280] Add 1-element specialization for `buffers_cat`
zh-hans	* [issue 1280] 为 `buffers_cat` 添加单元素特化支持

en	* [issue 1556] Set parser status and flags even if body limit has been reached
zh-hans	* [issue 1556] 即使在达到 body 限制的情况下也设置解析器状态和标志位

en	* [issue 1567] Relax requirements for vector_body
zh-hans	* [issue 1567] 放宽 vector_body 的类型要求

en	* [issue 1568] `detect_ssl` uses `bool` instead of `tribool`
zh-hans	* [issue 1568] `detect_ssl` 使用 `bool` 替代 `tribool`

en	* [issue 1574] Replace `static_string` in HTTP parser
zh-hans	* [issue 1574] 替换 HTTP 解析器中的 `static_string`

en	* [issue 1606] Use `steady_timer` type
zh-hans	* [issue 1606] 改用 `steady_timer` 类型

en	* [issue 1611] Make chat websocket javascript client more user friendly
zh-hans	* [issue 1611] 优化 WebSocket 聊天 JavaScript 客户端的用户交互体验

en	* [issue 1613] Remove redundant use of `static_string`
zh-hans	* [issue 1613] 移除多余的 `static_string` 使用

en	* [issue 1636] Improve performance of `http::string_to_verb`
zh-hans	* [issue 1636] 提升 `http::string_to_verb` 的性能

en	* Preserve `operation_aborted` on partial message
zh-hans	* 部分消息场景下保留 `operation_aborted` 状态

en	* Remove unused `<experimental/unit_test/thread.hpp>`
zh-hans	* 移除未使用的 `<experimental/unit_test/thread.hpp>` 头文件

en	* Reduce the number of instantiations of `filter_token_list`
zh-hans	* 减少 `filter_token_list` 的实例化次数

en	* Add idle ping suspend test
zh-hans	* 新增空闲 Ping 挂起测试

en	* Remove the use of `bind_executor` in `basic_stream`
zh-hans	* 移除 `basic_stream` 中对 `bind_executor` 的使用

en	* Remove redundant template in service_base
zh-hans	* 移除 service_base 中多余的模板参数

en	* Remove the use of `static_string` from `http::fields`
zh-hans	* 移除 `http::fields` 中对 `static_string` 的使用

en	* Enable split compilation in http::basic_fields
zh-hans	* 为 `http::basic_fields` 启用分离编译支持

en	* Remove redundant instation of `static_string` in websocket
zh-hans	* 移除 WebSocket 中多余的 `static_string` 实例化

en	* Remove redundant use of `asio::coroutine` in `flat_stream`
zh-hans	* 移除 `flat_stream` 中多余的 `asio::coroutine` 使用

en	* More split compilation in rfc7230.hpp
zh-hans	* rfc7230.hpp 中增加分离编译的支持

en	* More split compilation in websocket/detail/mask.hpp
zh-hans	* websocket/detail/mask.hpp 中增加分离编译的支持

en	* Simplify generation of sec-websocket-key
zh-hans	* 简化 sec-websocket-key 的生成方式

en	* [issue 1332] `allocator_traits::construct` is used for user-defined types
zh-hans	* [issue 1332] 对用户自定义类型使用 `allocator_traits::construct`

en	* [issue 1559] Member `get_executor` const-correctness
zh-hans	* [issue 1559] 成员函数 `get_executor` 的 const 正确性

en	* [issue 1569] Fix `async_detect_ssl` handler type
zh-hans	* [issue 1569] 修复 `async_detect_ssl` 的处理函数类型

en	* [issue 1570] Launder pointers
zh-hans	* [issue 1570] 对指针进行 launder 操作

en	* [issue 1578] Fix min/max on MSVC
zh-hans	* [issue 1578] 修复 MSVC 下的 min/max 问题

en	* [issue 1586] Fix uninitalized memory use in deflate_stream
zh-hans	* [issue 1586] 修复 deflate_stream 中未初始化内存的使用问题

en	* [issue 1593] Fix UB in websocket close tests
zh-hans	* [issue 1593] 修复 WebSocket 关闭测试中的未定义行为

en	* [issue 1594] Fix data race in test stream
zh-hans	* [issue 1594] 修复测试流中的数据竞争问题

en	* [issue 1599] Fix moved-from executor in idle ping timeout
zh-hans	* [issue 1599] 修复空闲 Ping 超时中执行器被移动后的使用问题

en	* [issue 1607] Remove uses of the deprecated `buffers` function
zh-hans	* [issue 1607] 移除对已弃用函数 `buffers` 的使用

en	* [issue 1612] Remove uses of deprecated methods in websocket tests
zh-hans	* [issue 1612] 移除 WebSocket 测试中已弃用的调用方法

en	* [issue 1620] Clean up typo in chat websocket javascript client
zh-hans	* [issue 1620] 修正 WebSocket 聊天 JavaScript 客户端中的拼写错误

en	* [issue 1621] Fix `flat_buffer` copy members
zh-hans	* [issue 1621] 修复 `flat_buffer` 的拷贝成员函数

en	* Silence gcc-8 warning
zh-hans	* 屏蔽 gcc-8 的编译警告

en	* Fix `buffers_cat` iterator tests
zh-hans	* 修复 `buffers_cat` 迭代器测试失败问题

en	* Don't pessimize-move
zh-hans	* 避免对移动操作进行过度优化

en	* Qualify calls to `beast::iequals` in basic_parser.ipp
zh-hans	* 为 basic_parser.ipp 中调用的 `beast::iequals` 添加命名空间限定

en	* Fix UB in websocket read tests
zh-hans	* 修复 WebSocket 读取测试中的未定义行为

en	* Simplify websocket::detail::prng
zh-hans	* 简化 websocket::detail::prng 的实现

en	* Don't over-allocate in http::basic_fields
zh-hans	* 避免在 http::basic_fields 中进行过度内存分配

en	* Documentation is built with SaxonHE instead of xsltproc
zh-hans	* 使用 SaxonHE 替代 xsltproc 构建文档

en	Boost 1.70

en	The namespace alias `net` is used throughout for `boost::asio`.
zh-hans	全库统一使用命名空间别名 `net` 指代 `boost::asio`。

en	* All composed operations use the new
zh-hans	* 所有组合操作均使用新的实现方式

en	* New `tcp_stream` and
zh-hans	* 新增 `tcp_stream` 以及

en	* `websocket::stream`

en	* [link beast.ref.boost__beast__ssl_stream `ssl_stream`]

en	* ([issue 1305]) Better

en	* ([issue 1345]) Better

en	* ([issue 1384]) New functions
zh-hans	* ([issue 1384]) 新增函数

en	* Better

en	* Faster

en	* Dynamic buffer `clear` operations perserve capacity.
zh-hans	* 动态缓冲区的 `clear` 操作会保留已分配的内存容量。

en	* New file <boost/beast/core/buffer_traits.hpp>
zh-hans	* 新增头文件 <boost/beast/core/buffer_traits.hpp>

en	* New classes
zh-hans	* 新增类

en	* New

en	* New:

en	* These interfaces are now public (were experimental):
zh-hans	* 以下接口现已公开（此前为实验性接口）：

en	* Websocket streams use PCG as the fast random number generator,
zh-hans	* WebSocket 流使用 PCG 作为快速随机数生成器，

en	* WebSocket reference documentation is revised
zh-hans	* WebSocket 参考文档已修订

en	* Updated [link beast.using_io.asio_refresher Networking Refresher]
zh-hans	* 更新 [link beast.using_io.asio_refresher 网络基础知识回顾]

en	* Revised [link beast.using_io.writing_composed_operations.echo Asynchronous Echo]
zh-hans	* 修订 [link beast.using_io.writing_composed_operations.echo 异步回显示例]

en	* Rewritten [link beast.using_io.writing_composed_operations.detect_ssl [*Detect SSL Handshake]]
zh-hans	* 重写 [link beast.using_io.writing_composed_operations.detect_ssl [*检测 SSL 握手]]

en	* The __Fields__ concept is deprecated and will be removed
zh-hans	* __Fields__ 概念已被弃用，后续将予以移除。

en	* `handler_ptr` is deprecated. ['Actions Required]: Use
zh-hans	* `handler_ptr` 已被弃用。【需要采取的措施】：改用

en	* On Windows, Visual Studio 2017 or later is required
zh-hans	* 在 Windows 平台上，需使用 Visual Studio 2017 或更高版本。

en	* OpenSSL is required to build the examples and tests
zh-hans	* 构建示例程序和测试套件时需要 OpenSSL。

en	* HTTP stream algorithms return the number of bytes transferred
zh-hans	* HTTP 流操作算法会返回已传输的字节数。

en	* Metafunctions
zh-hans	* 元函数

en	* `basic_parser`

en	* Metafunction
zh-hans	* 元函数

en	* `flat_static_buffer::reset()`

en	* `buffers_adapter` is spelled
zh-hans	* `buffers_adapter` 的正确拼写为

en	* `buffers` is spelled
zh-hans	* `buffers` 的正确拼写为

en	* `file_mode::append_new` is removed, as it makes no sense.
zh-hans	* 移除 `file_mode::append_new`，该枚举值本身没有实际意义。

en	* `role_type` is moved from `websocket` to `beast`
zh-hans	* `role_type` 已从 `websocket` 命名空间移至 `beast` 命名空间。

en	* `buffers_range_ref`

en	* Nested `lowest_layer` and `lowest_layer_type` are removed.
zh-hans	* 移除嵌套的 `lowest_layer` 和 `lowest_layer_type`。

en	* WebSocket decorator is a socket option:
zh-hans	* WebSocket 装饰器现作为套接字选项提供：

en	* ([issue 1375]) The value returned from `basic_parser::content_length`
zh-hans	* ([issue 1375]) `basic_parser::content_length` 的返回值

en	* All example programs are updated:
zh-hans	* 所有示例程序均已完成更新：

en	* ([issue 1100]) http-crawl clears the response before each read
zh-hans	* ([issue 1100]) http-crawl 在每次读取前会清空响应缓冲区。

en	* ([issue 1347]) echo-op is rewritten
zh-hans	* ([issue 1347]) 重写 echo-op 示例程序。

en	* ([issue 1401]) Examples use
zh-hans	* ([issue 1401]) 示例程序使用

en	* Advanced servers use HTTP parser interfaces for reading
zh-hans	* 高级服务器使用 HTTP 解析器接口进行读取操作

en	* detect-ssl is rewritten
zh-hans	* 重写 detect-ssl

en	* New example [path_link example/websocket/server/chat-multi example/websocket/server/chat-multi]
zh-hans	* 新增示例 [path_link example/websocket/server/chat-multi example/websocket/server/chat-multi]

en	* `async_echo` works with move-only handlers
zh-hans	* `async_echo` 支持仅可移动的处理函数

en	* cppcon2018 example is removed
zh-hans	* 移除 cppcon2018 示例。

en	* ([issue 38]) Better treatment of SSL short reads
zh-hans	* ([issue 38]) 改进对 SSL 短读取的处理方式。

en	* ([issue 1223]) HTTP read counts bytes correctly when an error occurs
zh-hans	* ([issue 1223]) HTTP 读取在发生错误时正确计数字节数。

en	* ([issue 1247]) Update `ssl_stream`
zh-hans	* ([issue 1247]) 更新 `ssl_stream`。

en	* ([issue 1279]) Enable explicit instantiations of
zh-hans	* ([issue 1279]) 启用对...的显式实例化

en	* ([issue 1290]) Don't use deprecated Asio interfaces
zh-hans	* ([issue 1290]) 不再使用已弃用的 Asio 接口

en	* ([issue 1306]) `http::message`

en	* ([issue 1306]) `test::stream`

en	* ([issue 1358]) Destroy abandoned websocket ops on shutdown
zh-hans	* ([issue 1358]) 关闭时销毁残留的 WebSocket 操作

en	* ([issue 1365]) Handler wrappers decay parameters sooner
zh-hans	* ([issue 1365]) 处理函数包装器提前对参数进行退化处理。

en	* ([issue 1408]) `session_alloc`

en	* ([issue 1414]) Boost.System is header-only
zh-hans	* ([issue 1414]) Boost.System 为仅头文件库。

en	* ([issue 1418]) `test::stream`

en	* ([issue 1445]) Fix posix_file::close handling of EINTR
zh-hans	* ([issue 1445]) 修复 posix_file::close 对 EINTR 的处理。

en	* ([issue 1460]) Large WebSocket Upgrade response no longer overflows
zh-hans	* ([issue 1460]) 大型 WebSocket Upgrade 响应不再触发溢出问题。

en	* Reusing an HTTP parser returns an error
zh-hans	* 复用 HTTP 解析器时会返回错误。

en	* Handler bind wrappers use the associated allocator
zh-hans	* 处理函数绑定包装器使用关联分配器。

en	* `buffers_cat`

en	* `ostream`

en	* Fixes to
zh-hans	* 修复...

en	* `file_mode::append_existing`

en	* A handler work guard is maintained on paused websocket operations
zh-hans	* 对于暂停的 WebSocket 操作，系统会保持一个处理函数的工作保护器。

en	* All behavior of default-constructed iterators is conforming
zh-hans	* 默认构造的迭代器的所有行为均符合标准规范。

en	Boost 1.69

en	* ([issue 1133]) Add `BOOST_BEAST_USE_STD_STRING_VIEW`
zh-hans	* ([issue 1133]) 新增 `BOOST_BEAST_USE_STD_STRING_VIEW` 宏定义。

en	* New WebSocket server and browser-based client: example/cppcon2018
zh-hans	* 新增 WebSocket 服务器和基于浏览器的客户端：example/cppcon2018

en	* ([issue 1245]) Fix a rare case of incorrect UTF8 validation
zh-hans	* ([issue 1245]) 修复罕见的 UTF-8 验证错误问题。

en	* ([issue 1237]) Verify certificates in client examples
zh-hans	* ([issue 1237]) 在客户端示例中增加证书验证功能。

en	* ([issue 1233]) Use [@boost:/doc/html/core/empty_value.html `boost::empty_value`]
zh-hans	* ([issue 1233]) 改用 [@boost:/doc/html/core/empty_value.html `boost::empty_value`]。

en	* ([issue 1091]) Fix timer on websocket upgrade in examples
zh-hans	* ([issue 1091]) 修复示例中 WebSocket 升级时的计时器问题。

en	* ([issue 1270]) [link beast.ref.boost__beast__http__basic_fields `basic_fields`] uses intrusive base hooks
zh-hans	* ([issue 1270]) [link beast.ref.boost__beast__http__basic_fields `basic_fields`] 改用侵入式基类钩子实现。

en	* ([issue 1267]) Fix parsing of out-of-bounds hex values
zh-hans	* ([issue 1267]) 修复超出范围的十六进制值解析问题。

en	* ([issue 1263]) Fix uninitialized comparison in buffers iterator
zh-hans	* ([issue 1263]) 修复缓冲区迭代器中未初始化的比较操作。

en	* ([issue 1288]) Remove extraneous strand from example
zh-hans	* ([issue 1288]) 移除示例中多余的 strand

en	* Workaround for http-server-fast and libstdc++
zh-hans	* 针对 http-server-fast 与 libstdc++ 的临时解决方案

en	* Partial support for `BOOST_NO_EXCEPTIONS`
zh-hans	* 对 `BOOST_NO_EXCEPTIONS` 的部分支持

en	* Add `timeout_socket`
zh-hans	* 新增 `timeout_socket`

en	Boost 1.68

en	This version fixes a missing executor work guard in all composed operations used in the implementation. Users who are experiencing crashes related to asynchronous completion handlers are encouraged to upgrade. Also included is an improved mechanism for generating random numbers used to mask outgoing websocket frames when operating in the client mode. This resolves a vulnerability described in the Beast Hybrid Assessment Report from Bishop Fox.
zh-hans	该版本修复实现中所有组合操作缺少执行器工作保护器的问题。若用户遇到与异步完成处理函数相关的崩溃，建议升级至此版本。此外，该版本还改进客户端模式下用于掩码输出 WebSocket 帧的随机数生成机制，解决 Bishop Fox 的 Beast 混合评估报告中描述的安全漏洞。

en	The include directory `<beast/experimental>` contains features which are not part of the stable public interface but are available anyway. They may change in future versions.
zh-hans	`<beast/experimental>` 目录中的功能不属于稳定公共接口的一部分，但仍可使用。这些功能在后续版本中可能发生变更。

en	* ([issue 1108]) New [link beast.ref.boost__beast__flat_stream `flat_stream`] for working around an SSL stream performance limitation
zh-hans	* ([issue 1108]) 新增 [link beast.ref.boost__beast__flat_stream `flat_stream`]，用于解决 SSL 流的性能限制问题。

en	* ([issue 1151], [issue 595]) New [link beast.ref.boost__beast__http__icy_stream `http::icy_stream`] stream filter allows parsing ICY HTTP response handshakes
zh-hans	* ([issue 1151], [issue 595]) 新增 [link beast.ref.boost__beast__http__icy_stream `http::icy_stream`] 流过滤器，用于解析 ICY HTTP 响应握手。

en	* New [link beast.ref.boost__beast__ssl_stream `ssl_stream`] for better SSL performance and move constructability
zh-hans	* 新增 [link beast.ref.boost__beast__ssl_stream `ssl_stream`]，用于提高 SSL 性能及支持移动构造。

en	* New

en	* New [link beast.ref.boost__beast__http__is_mutable_body_writer `http::is_mutable_body_writer`] metafunction
zh-hans	* 新增 [link beast.ref.boost__beast__http__is_mutable_body_writer `http::is_mutable_body_writer`] 元函数。

en	* New [link beast.ref.boost__beast__websocket__seed_prng `websocket::seed_prng`] for manually providing entropy to the PRNG
zh-hans	* 新增 [link beast.ref.boost__beast__websocket__seed_prng `websocket::seed_prng`]，用于手动向伪随机数生成器提供熵源。

en	* New [link beast.ref.boost__beast__websocket__stream.secure_prng `websocket::stream::secure_prng`] to control whether the connection uses a secure PRNG
zh-hans	* 新增 [link beast.ref.boost__beast__websocket__stream.secure_prng `websocket::stream::secure_prng`]，用于控制连接是否使用安全伪随机数生成器。

en	* Generated WebSocket masks use a secure PRNG by default
zh-hans	* 生成的 WebSocket 掩码默认使用安全伪随机数生成器。

en	* Improvements to [link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`]
zh-hans	* 改进 [link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`]

en	* ([issue 1188]) Set "/permissive-" for MSVC builds
zh-hans	* ([issue 1188]) 为 MSVC 构建设置 "/permissive-" 编译选项。

en	* ([issue 1109]) Use a shared string for example HTTP server doc roots
zh-hans	* ([issue 1109]) 示例 HTTP 服务器的文档根路径改用共享字符串。

en	* ([issue 1079]) Add `handler_ptr::has_value`
zh-hans	* ([issue 1079]) 为 `handler_ptr` 新增 `has_value` 方法。

en	* ([issue 1073]) Fix race in advanced server examples
zh-hans	* ([issue 1073]) 修复高级服务器示例中的数据竞争问题。

en	* ([issue 1076]) Use executor_work_guard in composed operations
zh-hans	* ([issue 1076]) 组合操作改用 executor_work_guard。

en	* ([issue 1079]) Remove spurious assert
zh-hans	* ([issue 1079]) 移除多余的断言。

en	* ([issue 1113]) Add `const` and non-`const` overloads for message based HTTP writes
zh-hans	* ([issue 1113]) 为基于消息的 HTTP 写入操作新增 `const` 与非 `const` 版本的重载。

en	* ([issue 1119]) Fix unused variable warning
zh-hans	* ([issue 1119]) 修复未使用变量的编译警告。

en	* ([issue 1121]) Examples use the root certificate which matches the fingerprint
zh-hans	* ([issue 1121]) 示例使用与指纹匹配的根证书。

en	* ([issue 1141]) Tidy up composed operation doc
zh-hans	* ([issue 1141]) 整理组合操作文档

en	* ([issue 1186]) Check error in example set_option
zh-hans	* ([issue 1186]) 在 set_option 示例中增加错误检查

en	* ([issue 1210]) Fix http_server_stackless_ssl.cpp example
zh-hans	* ([issue 1210]) 修复 http_server_stackless_ssl.cpp 示例中的问题

en	* ([issue 1211]) Fix parse_dec algorithm
zh-hans	* ([issue 1211]) 修复 parse_dec 算法中的问题

en	* ([issue 1214]) Silence ubsan false positive
zh-hans	* ([issue 1214]) 屏蔽 ubsan 的误报错误

en	* Tidy up websocket stream javadocs
zh-hans	* 整理 WebSocket 流的 Java 文档

en	* Fix move-only arguments in [link beast.ref.boost__beast__bind_handler `bind_handler`]
zh-hans	* 修复 [link beast.ref.boost__beast__bind_handler `bind_handler`] 中仅可移动参数的处理问题

en	* Fix [link beast.ref.boost__beast__http__parser `http::parser`] constructor javadoc
zh-hans	* 修复 [link beast.ref.boost__beast__http__parser `http::parser`] 构造函数的 Java 文档错误

en	* Fix [link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`] iterator value type
zh-hans	* 修复 [link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`] 迭代器值类型错误

en	* Fix [link beast.ref.boost__beast__buffers_adaptor.max_size `buffers_adaptor::max_size`]
zh-hans	* 修复 [link beast.ref.boost__beast__buffers_adaptor.max_size `buffers_adaptor::max_size`] 中的问题

en	* Fix [link beast.ref.boost__beast__buffers_prefix `buffers_prefix`] iterator decrement
zh-hans	* 修复 [link beast.ref.boost__beast__buffers_prefix `buffers_prefix`] 迭代器递减操作中的问题

en	* Fix __Fields__, __FieldsWriter__ concept docs
zh-hans	* 修复 __Fields__ 与 __FieldsWriter__ 概念的文档描述

en	* Fix __BodyReader__ constructor requirements doc
zh-hans	* 修复 __BodyReader__ 构造函数的要求文档

en	* Remove deprecated `serializer::reader_impl`
zh-hans	* 移除已弃用的 `serializer::reader_impl`

en	* Remove deprecated __Body__ `reader` and `writer` ctor signatures
zh-hans	* 移除已弃用的 __Body__ 的 `reader` 与 `writer` 构造函数签名

en	Boost 1.67

en	This version fixes significant defects in [link beast.ref.boost__beast__websocket__stream `websocket::stream`] which can lead to asserts or undefined behavior. Users are encouraged to update to the latest Boost release.
zh-hans	该版本修复了 [link beast.ref.boost__beast__websocket__stream `websocket::stream`] 中可能导致断言或未定义行为的重大缺陷，建议用户升级到最新的 Boost 版本。

en	* Move-only completion handlers are supported throughout the library
zh-hans	* 整个库支持仅可移动的完成处理函数

en	* ([issue 899]) Advanced server examples support idle websocket pings and timeouts
zh-hans	* ([issue 899]) 高级服务器示例支持 WebSocket 空闲 Ping 及超时处理。

en	* ([issue 849]) WebSocket permessage-deflate support is now a compile-time
zh-hans	* ([issue 849]) WebSocket permessage-deflate 支持现为编译时选项。

en	* ([issue 949]) WebSocket error codes are revised. New
zh-hans	* ([issue 949]) WebSocket 错误码经过修订。新增错误码如下：

en	* ([issue 857])

en	* ([issue 894])

en	* Implementation no longer uses deprecated `asio::null_buffers`
zh-hans	* 实现中不再使用已弃用的 `asio::null_buffers`。

en	* Add [include_file boost/beast/websocket/stream_fwd.hpp]
zh-hans	* 新增 [include_file boost/beast/websocket/stream_fwd.hpp] 头文件。

en	* ([issue 955]) The asynchronous SSL detector example uses a stackless coroutine
zh-hans	* ([issue 955]) 异步 SSL 检测器示例改用无栈协程实现。

en	* [link beast.ref.boost__beast__bind_handler `bind_handler`]

en	* Examples set `reuse_address(true)`
zh-hans	* 示例中设置 `reuse_address(true)`。

en	* ([issue 1026]) Advanced servers support clean shutdown via SIGINT or SIGTERM
zh-hans	* ([issue 1026]) 高级服务器支持通过 SIGINT 或 SIGTERM 信号实现优雅关闭。

en	* Some basic_fields operations now give the strong exception guarantee
zh-hans	* basic_fields 的部分操作现在提供强异常保证。

en	* Fix "warning: ‘const’ type qualifier on return type has no effect"
zh-hans	* 修复“warning: ‘const’ type qualifier on return type has no effect”警告。

en	* ([issue 916]) Tidy up `ssl_stream` special members
zh-hans	* ([issue 916]) 整理 `ssl_stream` 的特殊成员函数。

en	* ([issue 918]) Calls to `<algorithm>` are protected from macros
zh-hans	* ([issue 918]) 对 `<algorithm>` 的调用已进行宏保护处理。

en	* ([issue 954]) The control callback is invoked on the proper executor
zh-hans	* ([issue 954]) 控制回调函数在正确的执行器上被调用。

en	* ([issue 994]) Fix iterator version of
zh-hans	* ([issue 994]) 修复迭代器版本的 ... 相关问题。

en	* ([issue 992]) Fix use-after-move in example request handlers
zh-hans	* ([issue 992]) 修复示例请求处理函数中的移动后使用问题。

en	* ([issue 988]) Type check completion handlers
zh-hans	* ([issue 988]) 增加对完成处理函数的类型检查。

en	* ([issue 985]) Tidy up
zh-hans	* ([issue 985]) 整理代码

en	* Fix memory leak in advanced server examples
zh-hans	* 修复高级服务器示例中的内存泄漏问题。

en	* ([issue 1000]) Fix soft-mutex assert in websocket stream.
zh-hans	* ([issue 1000]) 修复 WebSocket 流中的软互斥断言错误。

en	* ([issue 1019]) Fix fallthrough warnings
zh-hans	* ([issue 1019]) 修复 fallthrough 编译警告。

en	* ([issue 1024]) Fix teardown for TIME_WAIT
zh-hans	* ([issue 1024]) 修复 TIME_WAIT 状态下的连接关闭问题。

en	* ([issue 1030]) Fix big-endian websocket masking
zh-hans	* ([issue 1030]) 修复大端序平台下的 WebSocket 掩码处理问题。

en	* Safe treatment of zero-length string arguments in basic_fields
zh-hans	* 对 basic_fields 中的零长度字符串参数进行安全处理。

en	* ([issue 1043]) Examples clear the HTTP message before reading
zh-hans	* ([issue 1043]) 示例在读取前清空 HTTP 消息对象。

en	* ([issue 1012]) Add asio_handler_invoke overloads for stream algorithms
zh-hans	* ([issue 1012]) 为流算法添加 asio_handler_invoke 重载。

en	* Add Access-Control-Expose-Headers field constant
zh-hans	* 新增 Access-Control-Expose-Headers 字段常量。

en	* Remove unintended public members of
zh-hans	* 移除 ... 中非预期的公有成员。

en	* `handler_ptr`

en	* `handler_ptr`

en	* ([issue 896])

en	* [link beast.ref.boost__beast__http__parser `http::parser`]

en	* ([issue 930]) `http::serializer::reader_impl` is deprecated and will
zh-hans	* ([issue 930]) `http::serializer::reader_impl` 已被弃用，后续将...

en	* ([issue 884]) The __BodyReader__ and __BodyWriter__ concept constructor
zh-hans	* ([issue 884]) 调整 __BodyReader__ 与 __BodyWriter__ 概念的构造函数要求。

en	* [link beast.ref.boost__beast__websocket__stream.control_callback `websocket::stream::control_callback`]

en	* ([issue 1014]) DynamicBuffer input areas are not mutable.
zh-hans	* ([issue 1014]) 动态缓冲区的输入区不可修改。

en	* ([issue 941]) `get_lowest_layer` is now a type alias.
zh-hans	* ([issue 941]) `get_lowest_layer` 现为类型别名。

en	Boost 1.66

en	* Initial release
zh-hans	* 首次发布。