< 返回版块

苦瓜小仔 发表于 2025-12-03 23:34

Tags:日报

Ferrocene 25.11.0 包含首个通过 IEC 61508 (SIL 2) 认证的 Rust 核心库子集

Ferrous Systems 正式发布了 Ferrocene 25.11.0,这是其开源安全认证 Rust 编译器工具链的重大更新。本次发布标志着 Rust 在安全关键领域(Safety-Critical)应用的一个里程碑,因为它不仅更新了编译器,还填补了生态系统中缺失的关键一环。

核心突破:首个通过 SIL 2 认证的 Rust Core 库 本次更新最大的亮点是包含了通过 IEC 61508 (SIL 2) 标准认证的 Rust core 库子集。在 Rust 开发中,core 库是所有其他库的基础,对于不依赖操作系统(no_std)的嵌入式开发至关重要。此前,由于缺乏官方认证的基础库,开发者在构建合规系统时面临巨大的验证成本。此次 Ferrous Systems 与 TÜV SÜD 合作完成认证,直接消除了这一障碍,使得汽车、工业自动化等受监管行业的开发者能够直接在合规项目中使用 Rust 的核心功能,大幅降低了安全认证的门槛和成本。

紧跟上游:集成 Rust 1.89 和 1.90 特性 Ferrocene 25.11.0 继续保持与上游 Rust 生态的紧密同步,集成了 Rust 1.89 和 1.90 的最新特性。关键技术改进包括:

  • Const Generics 增强:支持显式推断常量泛型参数,提升了代码的灵活性。
  • FFI 互操作性提升:在 extern "C" 函数中增加了对 u128i128 类型的支持,增强了 Rust 与 C 语言遗留系统的交互能力。
  • 开发者体验优化:引入了新的静态分析检查(Lints)以及支持交叉编译的文档测试(Doctests),进一步保障代码质量。

行业影响与展望 通过提供经认证的编译器和基础库,Ferrocene 25.11.0 为高安全等级软件开发提供了一套完整的解决方案。这不仅巩固了 Rust 作为 C/C++ 在嵌入式领域强有力竞争者的地位,也向业界证明了开源语言在严苛工业标准下的可行性。随着认证范围的扩大,未来更多高安全等级(如 ASIL D)的应用将变得触手可及。

阅读:https://ferrous-systems.com/blog/ferrocene-25-11-0/

文章《Hyper-util 发布可组合连接池:重塑 Rust 网络连接管理》

Sean McArthur 宣布在 hyper-util v0.1.19 中正式推出了可组合连接池(Composable Pools)。这一更新彻底改变了 hyper 生态中连接管理的构建方式,旨在通过高度模块化的设计,解决传统连接池功能臃肿且难以定制的问题。

核心变革:基于 Tower 的模块化设计 新的连接池架构被拆解为一系列独立的 tower Layer。开发者不再被迫使用一个包含所有功能的巨型连接池,而是可以根据具体需求,像搭积木一样灵活组合不同的策略。首批发布的四个基础组件包括:

  1. Singleton:仅维护单一活跃连接,完美适配 HTTP/2 的多路复用特性。
  2. Cache:提供标准的连接复用缓存,支持连接竞赛(如 Happy Eyeballs)以降低延迟。
  3. Negotiate:支持协议协商,能根据握手结果(如 ALPN)在 HTTP/1 和 HTTP/2 之间智能切换。
  4. Map:充当路由角色,根据请求特征将流量映射到特定的连接器,支持自定义键值逻辑。
// Note: some noise has been trimmed
let http1 = (
    pool::cache(exec),
    util::http1_request_target(),
    util::http1_set_host(),
    util::meta(MyMetaIdleAt::new),
    conn::http1(),
);

let http2 = (
    pool::singleton(),
    conn::http2(),
);

let pool_layers = tower::layer::layer_fn(move |svc| {
    pool::negotiate::builder()
        .fallback(http1.clone())
        .upgrade(http2.clone())
        .inspect(|conn| conn.is_negotiated_h2())
        .connect(svc)
        .build()
});

let pool_map = pool::map::builder::<http::Uri>()
    .keys(|dst| scheme_and_auth(dst))
    .values(move |_dst| {
        pool_layers.layer(connector.clone())
    })
    .build();

实际应用与优势 这种“按需付费”的设计显著提升了性能和灵活性。著名的 HTTP 客户端库 reqwest 已率先采用此架构重构了其内部连接池,成功实现了复杂的连接过期策略和并发限制,证明了该设计的成熟度。未来,开发者还可以轻松插入自定义层(如基于主机的限流),而无需分叉或修改上游代码。

阅读:https://seanmonstar.com/blog/hyper-util-composable-pools/

Wasmi 1.0 发布

Wasmi 1.0 发布:八年磨一剑,迈向稳定新篇章

Wasmi 1.0 正式发布,标志着这一专注于嵌入式环境的高效 WebAssembly 解释器在历经八年开发后,终于迎来了 API 稳定性的里程碑。本次发布由 Stellar 发展基金会(SDF)赞助,核心聚焦于标准兼容、安全性加固及可用性提升。

主要更新内容:

  1. 广泛的标准支持:不仅支持所有 Wasm 2.0 特性,还提前实现了 multi-memorymemory64custom-page-sizessimd(可选)等 Wasm 3.0 提案,显著增强了对复杂应用的支持能力。
  2. 安全性与精简:通过了 Runtime Verification 的专业安全审计,并接入 Google OSS-Fuzz 进行持续测试。同时,将外部依赖大幅削减至仅剩 spinwasmparser 两个,极大地降低了攻击面和维护成本。
  3. 开发者体验升级:引入了官方 C-API 绑定,支持跨语言集成;新增“可加油的恢复调用”(Refueled Resumable Calls),允许在 fuel 耗尽时暂停并在补充后恢复执行,非常适合构建类似操作系统的任务调度机制。

展望未来,Wasmi 2.0 已在研发中,将通过引入多种指令分发模式(如直接线程化分发),重新将焦点回归到极致的执行性能上。

公告:https://wasmi-labs.github.io/blog/posts/wasmi-v1.0/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页