Rustls 十周年:从 0.1 到即将到来的 0.24
rustls 团队基于 RustConf 2026 演讲发文回顾项目十年。首次提交在 2016-05-02,约一个月后即可与多数网站互通;首个正式版本 0.1.0 于 2016-08-27 发布,距首次提交不足四个月。
早期外部贡献来自 briansmith、djc 等。2018 年 djc 与 Ralith 在 Quinn 开发期间为 rustls 加入 QUIC 支持,是首个重要外部功能贡献。2021 年 djc 成为首位联合维护者,2023 年 cpu 加入。2018–2020 年在 CNCF / Buoyant.io 资助下完成 Cure53 第三方审计;此后 ISRG Prossimo 提供有偿支持,推进可插拔密码学 provider、no_std、FIPS、后量子密钥交换、Encrypted ClientHello,以及 sibling 项目 rustls-platform-verifier 与 OpenSSL 兼容层。
0.23 于 2024-02-29 发布,该系列已有 43 次非破坏性发布,并落地 FIPS 密码学选项、证书压缩、ECH、后量子密码与性能改进。下一破坏性版本 0.24 计划包括:外部缓冲(TlsInputBuffer,明文就地解密、减少拷贝)、面向 async 的握手 session types(服务器 NeedsInput → Accepted → VerifyClientIdentity → Complete 等步骤,可异步/阻塞/完成式驱动)、握手后 SendTraffic / ReceiveTraffic 拆分以实现全双工与更低争用,以及把 CryptoProvider 拆成独立 crate(如 rustls-aws-lc-rs、rustls-ring),主 crate 不再用 feature 选 provider。0.24 发布并稳定一段时间后,团队计划推进长期稳定的 1.0 API。
原文链接:https://rustls.dev/blog/2026-09-08-a-decade-of-rustls/
Cargo 团队迎新:Dongpo、Ross 加入,Eric 卸任
Rust 官方 Inside Rust 宣布欢迎 Dongpo Liu(0xPoe)与 Ross Sullivan(ranger-ross)加入 Cargo 团队。
Dongpo 多年跨团队贡献,并在 Cargo 与其他团队之间起桥梁作用;他把外部实验中的 cargo info 合入 Cargo 成为内置命令(rust-lang/cargo#14141),完成了近十年的功能请求。他于 2024 年 12 月已加入团队,此前未公开发布。Ross 从贡献初期就深入构建产物管理与缓存,推动新的 build directory layout(rust-lang/cargo#17354)完成设计、实现与社区测试,并主持 2026 Project Goal 中的 cross-workspace caching。
同期,Eric Huss(ehuss)卸任 Cargo 团队。他贡献 Rust 项目近十年,担任 Cargo team lead 超过七年,工作覆盖 Cargo 多处实现,并维护 mdBook、Rust Reference、Rustonomicon,参与 Edition 工作,还代表 Dev tools 进入 Leadership Council。Cargo 团队新任 co-leads 为 Jacob Finkelman(Eh2406)与 Weihang Lo(weihanglo)。
原文链接:https://blog.rust-lang.org/inside-rust/2026/09/08/welcome-dongpo-and-ross-to-the-cargo-team/
文章:2026 自定义分配器进展(半年回顾)
cetra3 发文回顾自上一篇《State of Allocators in 2026》以来约半年的进展,认为自定义分配器稳定化比以往更接近完成,相关工作以 stabilise allocator trait PR(rust-lang/rust#156882)与稳定化报告为主,Nia 与 libs 团队是主要推动者。
当前 MVP 形态与 nightly 接近:Allocator 核心表面主要是 allocate / deallocate;容器侧先支持 Box::new_in,以及 Vec::new_in、with_capacity_in、allocator、raw/parts 与 with_allocator 拆解等 API。目标是一开始就让 Allocator 可 dyn 兼容,例如 Vec::new_in(Arc<dyn Allocator>)。文档与约定加强禁止从分配器路径 unwind,以避免 Vec 扩容等中间状态在 panic 后析构导致双重释放等问题。
首批稳定刻意收窄范围:除 Vec/Box 外多数容器方法尚未纳入;Clone 与“drop 时是否释放底层内存”的组合会在安全代码中产生不健全路径,因此讨论引入 unsafe marker AllocatorClone;Pin 与协方差、Box::pin_in 相关问题则指向 StaticAllocator 一类更强保证,MVP 暂不包含 Box::pin_in。作者强调这是可立刻使用的地基,而不是自定义分配器的终点。
原文链接:https://cetra3.github.io/blog/state-of-allocators-2026-part-2/
Watermelon:安全的合法着法生成,约 4.75 亿 nodes/s
作者 bambamboo15 介绍用 Rust 写的合法着法生成器 Watermelon,并用于自己的引擎 Strawberry。在其对比测试中,该生成器达到约 4.75 亿 nodes/s;目标是提供实用、安全、可独立使用的 API。
局面用 bitboard 表示:6 个兵种位板 + 2 个颜色位板,共 8 个 u64、64 字节,并对齐 64 字节。走法编码为 16 位 Move(from/to 各 6 位 + flags);MoveList 在栈上最多存 271 个合法着法,避免堆分配。生成路径按颜色 monomorphize(White/Black 的 ColorLogic),兵/马/车象后/王分路处理;滑动子力用 PEXT 提取相关占位后查表。开局阶段统一计算 checkmask 与正交/对角 pinmask,再在各兵种循环中裁剪着法,并单独处理吃过路兵暴露横线将军等边界情况。仓库为 github.com/bambamboo15/strawberry。
原文链接:https://bamburac.com/blog/chess-engine/
From Rust中文社区 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论