| 平台 | 文件 | SHA256 哈希 | |
|---|---|---|---|
| Unix | boost_1_90_0.tar.bz2 | 49551aff3b22cbc5c5a9ed3dbc92f0e23ea50a0f7325b0d198b705e8ee3fc305 49551aff3b....e8ee3fc305 49551....fc305 | |
| boost_1_90_0.tar.gz | 5e93d582aff26868d581a52ae78c7d8edf3f3064742c6e77901a1f18a437eea9 5e93d582af....18a437eea9 5e93d....7eea9 | ||
| Windows | boost_1_90_0.7z | 78413237decc94989bffd4c5e213cc4bf49ad32db3ed1efd1f2283bd6fb695b2 78413237de....bd6fb695b2 78413....695b2 | |
| boost_1_90_0-bin-msvc-all-32-64.7z | d92b92569843b42389d00d802f768c15a08d8b45bee61b4d238c7cbf17c81303 d92b925698....bf17c81303 d92b9....81303 | ||
| boost_1_90_0-msvc-14.1-32.exe | cd24f27246bd0a20dd1b7f80b4236aee6f8a23afeb4184c789e256d64586307e cd24f27246....d64586307e cd24f....6307e | ||
| boost_1_90_0-msvc-14.1-64.exe | 6d1036c55d762a15daed4fd42ef35e7873aa3bfce646cb83eca41b7943daeafa 6d1036c55d....7943daeafa 6d103....aeafa | ||
| boost_1_90_0-msvc-14.2-32.exe | 8fe7c306a070c186485fb2c5ca259c6bc24773b3c01d26adaa9e9bf846e6f4e5 8fe7c306a0....f846e6f4e5 8fe7c....6f4e5 | ||
| boost_1_90_0-msvc-14.2-64.exe | b29c60393812970ad69e52e1e0e8b730158ef5f9391879ecd993028ec697276c b29c603938....8ec697276c b29c6....7276c | ||
| boost_1_90_0-msvc-14.3-32.exe | e15280b4a1277ceba474683c90377ea466815d6867dc43d041f099d3dfc31b3e e15280b4a1....d3dfc31b3e e1528....31b3e | ||
| boost_1_90_0-msvc-14.3-64.exe | b4b90982e725484374526948022009368272089ebcec96417cefefbf912cfb4e b4b90982e7....bf912cfb4e b4b90....cfb4e | ||
| boost_1_90_0.zip | bdc79f179d1a4a60c10fe764172946d0eeafad65e576a8703c4d89d49949973c bdc79f179d....d49949973c bdc79....9973c | ||
您当前选择了 1.90.0 版本。如果发布了新版本,您将继续查看 1.90.0 版本,而不是最新的 最新发布。
版本 1.90.0
新库
-
-
在 C++17 及更高版本中打开(多)方法,来自 Jean-Louis Leroy。
-
更新的库
-
-
添加了
execution::inline_exception_handling属性,用于描述内联执行时所做的异常处理保证。 -
添加了
inline_executor,它始终内联执行提交的函数。 -
将
associated_executor的默认候选执行器从system_executor更改为inline_executor。 -
添加了
inline_or_executor<>适配器和inline_or()助手,它会在可能的情况下内联执行,否则将委托给另一个执行器。 -
添加了
dispatch、post和defer的重载,它们接受一个函数对象在目标执行器上运行,并将结果传递给完成处理程序。 -
添加了
redirect_disposition完成令牌适配器,作为redirect_error的通用对应项。 -
使用
[[deprecated]]属性标注了已弃用的项。 -
添加了一个新的配置参数“reactor” / “reset_edge_on_partial_read”,它决定在使用
epoll时,部分读取是否会消耗掉边缘。 -
添加了新的配置参数“reactor” / “use_eventfd”和“reactor” / “use_timerfd”,分别用于确定
epoll后端是否使用eventfd和timerfd。 -
添加了
BOOST_ASIO_DISABLE_TIMERFD所需的预处理器检查。 -
除了
std::experimental::source_location之外,还实现了对std::source_location支持的编译时特性检查。 -
停止使用已弃用的
boost::array::c_array()函数。 -
修复了
asio::awaitable移动赋值中的资源泄漏。 -
修复了
ssl流移动赋值中的内存泄漏。 -
修复了
kqueuereactor 中的线程检查器问题。 -
修复了
io_uring后端中的处理程序跟踪参数。 -
修复了
boost::asio::detail::null_thread中的未使用参数警告。 -
更改了基于宏的协程实现,以确保在
__COUNTER__被使用时具有确定的 case 标签。 -
修复了同步 SSL 流
shutdown,使其将error::eof映射为async_shutdown所做的。 -
在 Windows 上将
stream_file和random_access_file更改为将文件路径视为 UTF-8 编码的字符串。 -
在
experimental::parallel_group和experimental::ranged_parallel_group中添加了检查,以检测空的事务集。 -
移除了 _FORTIFY_SOURCE 的变通方法,并为
ip::basic_resolver_results添加了地址长度检查。 -
修复了
experimental::coro,使其能够防止max被用作宏。 -
更新了对较新
libc++版本中std::aligned_alloc的检测。 -
各种文档修复和改进。
-
请查阅 boost_at:/doc/libs/latest//doc/html/boost_asio/history.html[修订历史] 以获取更多详细信息。
-
-
-
http::parser默认拒绝非标准尾部字段。 -
http::basic_parser为尾部字段使用专用回调。 -
http::field常量已更新。 -
修复了
flat_buffer和multi_buffer中的分配器移动/复制赋值。 -
修复了 websocket permessage-deflate 在部分消息消费时的错误。
-
http::buffer_body忽略空块。 -
添加了
http::basic_fields::contains成员函数。 -
移除了对 Boost.Preprocessor 和 Boost.StaticAssert 的依赖。
-
-
-
添加了批量插入和查找模式以提高性能。
-
使
block、fast_multiblock32和fast_multiblock64的查找实现无分支,这带来了一些性能提升,特别是在混合成功/不成功查询时。
-
-
-
修复了 CMake 中用于交叉编译的 quadmath 检测。
-
修复了一个问题,即在浮点数
to_chars中,足够大的缓冲区会因不够大而报错。
-
-
-
添加了
to_underlying.hpp(由 Braden Ganetsky 贡献)。
-
-
-
重新实现了
deque。原始实现基于 SGI 的原始数据结构(类似于 libstdc++)。主要变化:-
sizeof(deque)原为 10 个字,现在为 4 个字。可能是目前最轻量级的实现。 -
sizeof(deque::iterator)原为 4 个字,现在为 2 个字(类似于 libc++ 和 MSVC)。 -
重新实现了几个内部算法,以加速 deque 的分段特性。
-
默认值略有更改,64 位平台现在默认使用 1024 字节块,而不是经典的 SGI 512 字节块。
-
新实现为将来进行 deque 类别的变体和优化提供了便利。
-
-
修复了错误/问题
-
-
-
删除了对 Boost.SmartPtr 的依赖。
-
-
Core:
-
DLL:
-
修复了将
std::error_code传递给boost::system::error_code&的问题。非常感谢 Thomas Klausner 的修复(PR#106)。 -
修复了
size变量的遮蔽问题。
-
-
-
添加了 C++20 迭代器。
-
允许选择底层容器类型。
-
在编译为 C++20 或更高版本时,添加了 constexpr 支持。
-
提高了 push_back()、pop_back() 和 lowest_bit() 的效率。
-
将从 basic_string 的构造函数设为 explicit。
-
移除了几个依赖项。
-
添加了 push_front()、pop_front()、find_first_off()、find_next_off() 以及从 C 风格字符串和 basic_string_view(后者在 C++17 或更高版本中)的构造函数。
-
更改了流插入器,以便在输出过程中发生异常时设置 badbit。
-
使流提取器重新抛出来自底层向量的任何异常。
-
将文档移植到 MrDocs 和 Antora。
-
-
-
修复了 Clang 19 及更高版本中因支持 P0522R0 而导致的编译错误。
-
-
几何:
-
GIL:
-
-
minor documentation fixes.
-
修复的错误
-
-
JSON:
-
移除了对 Boost.Align 和 Boost.StaticAssert 的依赖。
-
切换到更快的哈希算法。
-
-
-
修复了 B2 构建文件,以避免在仅请求静态库时构建各种 Boost 库的动态版本(PR#266)。
-
当请求 ISO8859-1 或 ISO8859-8 编码时,允许使用 Windows 代码页 1252 或 1255(相应地)代替使用“C”(经典)区域设置,当选定的 Windows 区域设置不支持该 ISO8859 编码时。
-
启用了针对 Cygwins stdlib 中转换某些长 UTF-8 序列到 UTF-16 时问题的变通方法。
-
-
Log:
-
修复了
value_ref访问中的一个遗漏的优化。 -
修复了
text_file_backend中日志文件旋转时可能发生的冗长且无用的循环。如果日志文件名模式不包含文件计数器且日志文件大小超过rotation_size限制,则接收器后端将反复尝试以不同的计数器值打开新日志文件,并最终每次都打开同一个文件。(#252) -
使
text_file_backend中的文件大小检查更健壮,能够抵抗整数溢出。
-
-
数学:
-
添加了新的子库:反向模式自动微分。
-
添加了新常量:
log_pi。 -
向
logit、logistic_sigmoid和logistic分布添加了适当的提升策略支持。 -
对特殊函数进行了大量修复和边缘情况处理。
-
-
Mp11:
-
更新了
mp_reverse_fold以在固定大小列表上工作。
-
-
-
移除了对 Boost.Spirit 的依赖。
-
自动重连现在会在任何传输层错误时触发,而不是仅限于少数白名单错误(#38)。
-
向 Logger 接口添加了
at_transport_error回调。
-
-
MSM:
-
翻新和更新了文档以使用 Antora。
-
添加了一个新的后端
backmp11,它提供显著减少的编译时间、重构的 API 和一些新功能。需要 C++17,更多细节请参见文档。 -
修复了 bug GitHub #87:“boost::any 作为 Kleene 事件在 1.86 版本中的 boost::msm 中停止工作”。
-
-
-
对较新的
cpp_double_fp_backend的测试和覆盖率进行了重大改进。
-
-
-
弃用了对 Clang 4.0 以下版本的支持。这些编译器可能仍能工作,但不会在 CI 中进行积极测试。
-
添加了测试以确保与 MySQL 9.x 的兼容性。
-
添加了测试以确保与 Clang 20 及更早版本、GCC 15 及更早版本的兼容性。
-
-
解析器:
-
修复了使用移动独占可调用对象与闭包时的格式错误(PR#284)
-
修复了
GlobalState解析器模板参数中的糟糕的const不兼容问题(#250)。 -
修复了在某些情况下使用置换解析器时的格式错误(#268)。
-
修复了序列解析中的一个错误,该错误可能导致某些属性被后续的序列解析器覆盖(#279)。
-
修复了 opt-parsers 的处理方式,它们可能即使解析器失败,仍会留下一个包含值的
std::optional属性(#279 和 #285)。 -
适度的编译时和代码大小优化(#250)。
-
使
transform成为constexpr(PR#275)。 -
移动与转发警告缓解(#272)。
-
修正了
if_指令属性类型的文档(#278)。 -
修正了文档中的大量拼写错误(PR#271)。
-
-
PFR:
-
添加了一个基于 C++26 解构打包的实现,它**修复了库的大多数已知限制**并避免了过多的模板实例化。新实现可以通过新的
BOOST_PFR_USE_CPP26宏显式启用/禁用。非常感谢 Jean-Michaël Celerier 的 PR(PR#194)。 -
CMake 多项修复。非常感谢 Alexander Grund 的 PR!
-
-
-
修复了从 SeedSeq 构造 xoshiro 系列生成器的问题。
-
-
-
重要的**取消**更改
-
改进了
async_exec()中的按操作支持,并添加了对asio::cancel_after的支持。现在可以在任何时候取消请求,并且取消不会干扰其他请求。Pull requests PR#310 和 #226。 -
弃用了
request::config中的cancel_on_connection_lost和cancel_if_not_connected标志。要限制async_exec可能花费的时间,请改用asio::cancel_after。cancel_on_connection_lost的默认值已更改为false。Pull requests PR#329 和 PR#334。 -
弃用了使用
operation::resolve、connect、ssl_handshake、reconnection和health_check调用cancel。用户应改用cancel(operation::run)。Pull request PR#321。 -
在
async_run()中添加了对按操作取消的支持。Issue #319。
-
-
添加了对使用
config::setup的**自定义设置请求**的支持。在设置这些字段时,用户可以用任何其他任意请求替换库生成的HELLO请求。Issue #302 和 pull request PR#303。 -
弃用了
request::config::hello_with_priority。如果需要先于其他请求执行一个请求,请改用config::setup。Pull request PR#305。 -
**Valkey** 长期支持:我们保证从本次发布开始兼容 Valkey。Issue #296。
-
添加了一个
request::append()函数,用于连接请求对象。Issue #341。 -
健康检查算法已重新设计,以避免在高负载下出现误报。现在只在连接空闲时发出
PING命令,而不是周期性发出。Issue #104。 -
添加了
config::read_buffer_append_size,它允许控制连接读取缓冲区的扩展。Pull request PR#283。 -
添加了
usage::bytes_rotated,它测量从服务器读取和解析数据时的数据复制。Pull request PR#311。 -
错误修复
-
-
-
已移除由已弃用的宏
BOOST_SP_ENABLE_DEBUG_HOOKS、BOOST_SP_USE_STD_ALLOCATOR和BOOST_SP_USE_QUICK_ALLOCATOR启用的功能。 -
头文件
<boost/smart_ptr/detail/quick_allocator.hpp>已被标记为弃用,将在未来的版本中移除。 -
不再支持定义
BOOST_NO_CXX11_HDR_ATOMIC的配置;现在需要符合 C++11 标准的<atomic>。 -
已弃用的宏
BOOST_AC_USE_SPINLOCK、BOOST_AC_USE_PTHREADS、BOOST_SP_USE_SPINLOCK和BOOST_SP_USE_PTHREADS不再起作用。 -
不再使用平台特定的
atomic_count、sp_counted_base和spinlock实现,并已将其移除。 -
不再支持定义
BOOST_NO_CXX11_HDR_MUTEX的配置;现在需要符合 C++11 标准的<mutex>。 -
已移除
boost/smart_ptr/detail/中一些未使用的头文件。
-
-
-
修复了遗漏的包含。感谢 Orgad Shaneh 的修复!
-
修复了
libbacktrace_impls.hpp中的 URL。感谢 Jonathan Wakely。
-
-
-
在 C++26 中,将
to_static_[w]string()与std::to_[w]string()对齐。 -
在
to_static_[w]string()中移除了对额外缓冲区的用法。 -
添加了
resize_and_overwrite()。
-
-
-
修复了 GCC 14 时的格式错误(PR#80)。
-
修复了使用移动独占可调用对象与闭包时的格式错误。
-
-
Test:
-
修复了 Windows Clang 上的一些警告。
-
-
-
放弃了对 Boost.Core 的依赖。
-
在 CMake 中也运行了所有测试。非常感谢 Alexander Grund 的一些修复和帮助。
-
-
URL:
-
Uuid:
-
string_generator在 C++14 及更高版本中现在是constexpr。 -
添加了头文件
boost/uuid/constants.hpp。 -
将
boost/uuid/uuid_generators.hpp重命名为boost/uuid/generators.hpp。旧名称保留以兼容。
-
-
-
更多函数被标记为
constexpr,包括~variant。这在 C++20 之前无关紧要,但现在却很重要。
-
测试的编译器
Boost 的主要测试编译器是
-
Linux
-
Clang, C++03: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0
-
Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
-
Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
-
Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
-
Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
-
GCC, C++03: 4.6.3, 11, 12
-
GCC, C++11: 4.7.3, 4.8.5, 11, 12
-
GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
-
GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
-
GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
-
-
OS X
-
Apple Clang, C++03: 11.0.3
-
Apple Clang, C++11: 11.0.3
-
Apple Clang, C++14: 11.0.3
-
Apple Clang, C++17: 11.0.3
-
Apple Clang, C++20: 11.0.3
-
-
Windows
-
Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
-
致谢
Marshall Clow、Glen Fernandes 和 Ion Gaztañaga 管理了此次发布。