---
url: https://cubesandbox.com/zh/changelog/v0.2.1.md
---

## 2026.05.14 发布 v0.2.1

### 🌟 重大新功能

* **官方 Python SDK (`cubesandbox` v0.1.0)**：随仓库发布的第一方 Python SDK，位于 `sdk/python/`，与 CubeAPI OpenAPI 规范完全对齐。覆盖沙箱全生命周期管理（创建/连接/暂停/销毁/列表/健康检查）、代码执行（流式 stdout/stderr）、文件系统访问、直连传输及网络策略配置。附带 12 个完整示例、并发性能基准测试，76/76 测试全部通过。

### 🚀 性能优化

* **跳过 Cubelet 每次启动时的 SHA256 校验**：将 `SyncKernelFile` 拆分为 `EnsureKernelFilePresent`（按需拷贝，快速路径）和 `RefreshKernelFile`（强制刷新并校验），消除每次启动的高开销 SHA256 比对。在模板数量较多的主机上，正常启动延迟显著降低。
* **跳过 CubeMaster 冗余的 `docker pull`**：当源镜像已存在于本地时，跳过镜像拉取，消除模板构建时不必要的镜像仓库往返请求。

### 🛡️ 安全修复

* **`shim`: protobuf 3.4.0 → 3.7.2**（RUSTSEC，恶意构造的未知字段可导致栈溢出）。同步升级 `containerd-shim-protos`、`containerd-shim` 和 `nix`。
* **`cubeapi` / `agent` / `shim` / `hypervisor`: rand 0.8.5 → 0.8.6**（GHSA-cq8v-f236-94qc，修复 `ThreadRng` 重新播种时的健全性问题）。
* **`CubeVS`: `golang.org/x/net` → v0.38.0, `golang.org/x/sys` → v0.38.0**。
* **`network-agent`: `google.golang.org/grpc` → 1.79.3**。
* **`CubeAPI/examples`: `pygments` → 2.20.0**。

### 🛠️ 关键修复

* **修复 Seccomp 静默拦截所有系统调用**：`Seccomp` 初始化现在设置 `DefaultAction = ActAllow`，空系统调用列表直接短路为空操作，而非静默阻止所有调用。
* **修复 `shim` stderr 被错误路由到 stdout**：`Exec` 流转发路径中 stderr 错误调用了 stdout 的读取方法；现在 stderr 可被正确捕获并转发。
* **修复 `CubeProxy` 多 Worker 共享相同 PRNG 种子**：OpenResty Worker 现在在 `init_worker` 中以 `(ngx.now() * 1000 + ngx.worker.id())` 为每个 Worker 独立播种，避免缓存 TTL 抖动失效和同步缓存过期风暴。
* **修复开发环境同步覆盖 `cube-shim` 软链接**：`cube-runtime` 和 `containerd-shim-cube-rs` 现在写入 `${TOOLBOX_ROOT}/cube-shim/bin`，保留工具箱软链接布局。
* **修复 HTTPS-only 镜像源导致 Dockerfile 构建失败**：在切换 APT 源至内部镜像之前先安装 `ca-certificates`，避免 TLS 证书缺失导致引导失败。

### ✨ 功能增强

* **`cubemastercli tpl watch` — 阶段性进度输出**：将原有的多行全量状态刷新替换为简洁的 `[N/7] PHASE` 进度行加终端摘要；在 CI 日志中更加友好。
* **IPAM — 全面优化与可靠性改进**（Cubelet + network-agent）：基于 `net/netip` 重写校验逻辑；通过 `encoding/binary.BigEndian` 简化 IP 与索引互转；为 `Allocate` / `Release` / `Assign` 添加边界检查和安全性限制；所有 IPAM 方法增加 `nil` 防护；明确文档化保留地址语义；新增全面的表驱动测试和并发测试。

### ⚙️ 工程改进

* **示例重组为独立顶级目录**：从 `CubeAPI/examples/` 迁移至顶层 `examples/`，新增独立的 `host-mount` 和 `network-policy` 目录（各自附带 README）；注释翻译为英文。
* **`cube-bench` 提升为 `examples/cube-bench`**：现为独立 Go 模块，带自己的 Makefile。
* **Go 工具链对齐**：`CubeVS` 和 `network-agent` 升级至 Go 1.24.8，与 Cubelet / CubeMaster 保持一致。
* **`cubecli` 国际化**：`benchrun.go` 中残余的中文使用说明翻译为英文。
* **Docker 构建上下文清理**：`Makefile` 构建器镜像现在从 `./docker` 构建，而非仓库根目录。
* **Alpine 镜像源切换**：APK 仓库从 `dl-cdn.alpinelinux.org` 切换至 `mirrors.tencent.com`。

### 🤖 CI / DevOps

* **DCO 检查工作流**：新增专用 PR 门禁，当任何非合并提交缺少有效 `Signed-off-by` 签名时阻断合入。
* **GitHub ARC (Actions Runner Controller) 支持**：自托管 ARC 运行器已接入内核/包构建工作流。
* **消除重复 PR 检查**：多个工作流的 `push` 触发器现在仅限 `master` 分支；PR 验证仅通过 `pull_request` 事件运行 — CI 成本减半。
* **`sync-to-cnb`**：改用 `CNB_GIT_PASSWORD` 密钥。

### 📚 文档更新

* **部署指南重写**：PVM 和裸金属现为首选部署路径。
* **OpenCloudOS 9 上 PVM 快速部署**：`pvm-deploy.md` 新增分步操作章节。
* **"关于我们"页面**：新增中英文版本，并配置 VitePress 导航。
* **项目 README 新增 X (Twitter) 链接**。
* **文档细节修正**：修正 Python 导入路径和架构图间距。
* **`README_zh.md` 更新微信/助手二维码**。
