Rust周刊2026W29 | Rust 1.97.0发布、Bun重写为Rust、crates.io源码浏览、thread-per-core WebRTC SFU
Rust 1.97.0 稳定版启用 v0 符号修饰方案,告别已沿用多年的 C++ Itanium ABI;Bun 从 Zig 全面重写为 Rust,根除 GC 与手动内存管理混合带来的释放后使用缺陷;crates.io 支持在线浏览任意 crate 源码且零 API 负载增长;WebRTC SFU 迁移至 thread-per-core 架构后 P99.99 延迟从 70ms 降至 10ms、容量提升 25%
🦀 Official
Rust 1.97.0 发布
Rust 自诞生起一直使用 C++ 的 Itanium ABI 进行符号修饰(symbol mangling)——1.97 在经过六个版本的 opt-in 试验后,终于在稳定版中启用了自己的 v0 方案。旧的修饰方案无法正确表示 Rust 的泛型和模块系统,导致潜在的链接器冲突,随着生态的扩张问题日益严重。本次发布涵盖了新的修饰方案、保留构建缓存的 Cargo 原生警告控制,以及完全移除 Itanium ABI 支持的废弃路径。
crates.io:开发更新
crates.io 现在可以直接在平台上浏览任何已发布 crate 的源代码——而且该架构不会给 API 服务器增加任何负载。.crate 文件原本是无随机访问能力的 gzip 压缩包,尽管已发布代码常常与仓库中的代码不同,但无法检查单个文件;现在一个后台任务将每个版本重新打包为可寻址的 zip 档案,通过 CDN 提供。文章详细介绍了 zip 重新打包的架构、即将推出的版本间差异查看器,以及最终将 crates.io 账户与 GitHub 用户名解耦的 RFC #3946。
🛠 Project/Tooling Updates
用 Rust 重写 Bun
Bun 的创建者将整个运行时从 Zig 重写为 Rust——同样是那个月下载量达 2200 万、为 Claude Code 提供支持的项目。将垃圾回收引擎与手动内存管理混合使用,产生了一种任何语言都未设计处理的异常释放后使用(use-after-free)错误,导致团队不得不不断修补崩溃。文章分析了为什么 GC-手动内存边界是根本原因,从源头消除这些 bug 的系统性方法,以及这次重写得以实现的原因。
BullMQ for Rust 发布
prost-protovalidate 0.6——prost 和 buffa 的 buf.validate(protovalidate):编译时代码生成 + 运行时 CEL,2872/2872 一致性测试通过
plaza 1.0:一个 ratatui 包管理器 TUI,可同时搜索 pacman、AUR、apt、dnf 和 Flatpak
Danube v0.15.1:原生 Apache Iceberg 集成,用于流式到湖仓的导出
Guardian Sentinel——去中心化数据库 Guardian 的终端用户界面
一个隐藏在 Rust 代码背后的去中心化 P2P 数据库,现在通过一个包含九个全屏管理面板的终端 UI 来操作。Guardian-DB 原本是一个需要为每次查询编写代码的库,使操作员无法实时检查;Sentinel 的 TUI 通过安全的 Admin RPC 暴露了存储、CRDT 条目、P2P 对等节点图谱、blob 管理和访问控制,无需争夺存储锁。文章逐一介绍了每个屏幕的能力——从 EventLog 指标和 CRDT 分支差异,到每条链路的延迟和中继状态。
kobe 0.33.0:一个用于即时 CI Kubernetes 集群的 Rust Operator
Elara Mesh:AI 代理的黑匣子究竟做了什么
这篇文章由 AI 代理编写并发布,它所执行的每一个操作都经过加密签名、可离线验证,且零信任——包括对其创建者。随着自主代理在更少人工监督下运作,业界缺乏一种可靠的方式来证明谁在什么授权下做了什么、何时做的,且不依赖服务器或第三方。文章介绍了 Elara,一个开源密码学网格,它生成由 Bitcoin 区块和 drand 轮次定界时间窗的后量子收据,可在任何笔记本电脑上本地验证,无需联网。
kache 0.10.0:即时下载去重,无需轮询
cochlea 0.1.0:面向 AI 代理的无头、确定性音频引擎
📖 Observations/Thoughts
开源安全播客:Lori 和 Niko 谈 Rust 基金会维护者基金
将 Rust WebRTC SFU 迁移到 thread-per-core 架构
一个 Rust WebRTC SFU 从 Tokio 的工作窃取调度器迁移到 thread-per-core 架构,将 P99.99 延迟从不稳定的 70ms 降至稳定的 10ms,同时系统容量提升了 25%。直观的 CSP 风格抽象——为每个参与者和房间生成任务并通过通道通信——导致了过多的任务窃取和负载下的抖动加剧,因为每次通道发送都成为一个异步让步点,恶化了拥塞控制。文章详细介绍了迁移过程、基准测试方法,以及 thread-per-core 如何消除了调度开销。
在 CI 中通过并行步骤加速 Rust 测试
理解 Rust 所有权只需一张图
我们将 TypeScript 解析器编译到了 WASM
Encore 将其基于 Rust 的 TypeScript 解析器编译为 WASM,现在可以通过一段代码片段和一个共享链接重现解析 bug,而无需获取报告者的整个项目。解析器通常作为 Encore CLI 的一部分在开发者机器上运行,从磁盘读取代码——重现 bug 意味着要获取报告者的完整源码树。文章介绍了编译过程、在无文件系统的环境中运行依赖文件系统的解析器所面临的挑战,以及它所支撑的在线 playground。
为忙碌的开发者解读 Rust 热潮
我对自己(Rust)编写的 LLM 安全网关进行了四轮红队测试——每一个检测盲点以及我如何堵住它们
对自己的 LLM 安全网关进行四轮精心设计的红队测试,发现了标准测试套件永远无法捕获的检测盲点——最难的并非捕获攻击,而是不拦截正常流量。基于正则的模式检测有固有限制(线性时间 DFA,无回溯),某些盲点不通过架构变更根本无法堵住。文章逐一介绍了发现的每个盲点、每个修复如何同时针对攻击语料和正常语料进行测试,并坦诚指出了单纯靠正则不够的地方。
📚 Rust Walkthroughs
Rust 后端概念:HTTP 服务器
无畏的嵌入式 Rust:一辆 FPV 乐高汽车
用 Rust 构建自损坏文件格式的经验教训
Come Async You Are
在不选择异步运行时(tokio、smol 或 async-std)的情况下为同步存储添加异步支持——这是让 ruxe 与众不同的约束。真实系统(MQTT、SMS、能源计量表)本质上是异步的,但将多个异步任务天真的 DIY 连接到单个写入者的同步存储中有微妙的错误。文章解释了唯一正确的、与运行时无关的驱动原语,为什么每个用户都会以不同方式重建它,以及未使用时如何保持零成本。
📦 Crate of the Week
本周Crate: dashu
📌 miscellaneous
Oxidize XIAO——嵌入式 Rust 社区计划
往期精选
- Rust周刊2026W28 | Rama 0.3.0、Copper-rs 1.0.0、Sōzu 2.1.0、Qt Bridges、OpenAI投60万于Rust
- Rust周刊2026W27 | Rust 1.96.1、Slint 1.17、Flowcat AI、extern “custom”稳定化
- Rust周刊2026W26 | Bevy 0.19、OpenAI入基金会、Chromium用Rust PNG、hyper竞争条件
- Java周刊2026W29 | Spring Boot 4/4.1更新、Quarkus 3.37.2、Vert.x 4.5.29、Zuul v4.0.0、TornadoVM 5.0.0
- Python周刊2026W29 | Python 3.15 frozendict落地、Django 6.0.7安全更新、PEP 797被拒、Snakie MicroPython IDE发布
- Go周刊2026W29 | Fyne 2.8、GoLand 2026.2、url.MustParse、Echo 5.3、Gofeed 1.4
阅读原文
扫码关注「右耳朵猫AI」