WebAssembly 3.0 最终版 — 垃圾回收、64位内存、多内存和异常处理落地
关键更新
WebAssembly社区发布了最终的WebAssembly 3.0标准,带来了几个期待已久的引擎级特性:原生垃圾回收(Wasm GC)、64位线性内存(消除了非Web嵌入的~4GB限制)、每个模块多个内存、更丰富的类型引用和call_ref、原生异常处理、放宽的SIMD变体以及确定性的执行配置。这些并不是小的表面变化 — 它们从根本上扩展了哪些语言和工作负载可以实际编译并作为Wasm运行,无论是在浏览器中还是在独立运行时中。(webassembly.org)
重要性
从实际角度来看,Wasm 3.0将WebAssembly从一个低级的、系统风格的编译目标转变为一个现实的平台,支持垃圾回收的高级语言(Java、Kotlin、C#等),而无需在每个模块中捆绑完整的语言运行时。原生GC加上类型引用使编译器能够生成更小、更快的Wasm模块,并消除了语言采用的一个重大障碍。64位内存和多内存特性使Wasm适用于大型内存工作负载,并支持真正的静态链接和内存隔离模式,这对于沙箱和仪器化至关重要。
对于后端和DevOps工作流程,这改变了计算方式:Wasm现在可以成为沙箱微服务、插件沙箱和边缘函数的第一选择,这些场景中安全性、快速启动和二进制可移植性至关重要。这将影响团队对部署的思考(较小、语言可移植的工件与完整的容器镜像),CI镜像(像Wasmtime/Wasmer这样的运行时需要被跟踪),以及可观察性/安全工具。
对于前端和构建工具(Vite、打包工具、TypeScript工作流),生态系统需要更新以处理新的Wasm输出,并与异常处理和引用类型进行干净的互操作。运行时和工具链(Node/Deno/Bun、打包工具和填充库)在初期会滞后于引擎支持,因此预计会有一个实验阶段是可行的,但生产采用需要检查引擎功能矩阵并相应更新CI/打包。
团队的立即实际行动:评估您所针对的特定浏览器和独立Wasm引擎中的新功能可用性;原型编译任何性能敏感或沙箱组件到Wasm,以测量大小和性能收益;并跟踪Wasm引擎和工具链的发布说明,以计划何时将实验工作负载投入生产。
来源
继续阅读
TypeScript 的原生 Go 移植 (项目 Corsa) 实现了 ~10 倍的类型检查速度提升
2025年11月29日微软的 TypeScript 团队已将编译器和语言服务移植到 Go(项目 Corsa),产生了显著的实际速度和内存改进,并发布了原生预览供早期测试。
Node.js 标记内置 TypeScript 类型剥离稳定 (v25.2.0)
2025年11月28日Node.js v25.2.0(2025年11月11日)将运行时 TypeScript '类型剥离' 提升为稳定版本——可以直接使用 node 运行多个 .ts 文件,但有重要的实际注意事项。
Docker 修复嵌套依赖中的关键 RCE,向 LangChain.js 提交上游修复
2025年11月27日Docker 发现并修复了根植于 expr-eval 依赖中的关键 RCE (CVE-2025-12735),用一个受维护的替代品替换了它,并将修复提交给 LangChain.js——影响 Kibana 和许多 LLM 应用。