Skip to content

2026.05.14 发布 v0.2.1

🌟 重大新功能

  • 官方 Python SDK(cubesandbox v0.1.0):首方 Python SDK 在 sdk/python/ 下发布,完全对齐 CubeAPI OpenAPI 规范。覆盖完整沙箱生命周期(create/connect/pause/kill/list/health)、流式 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-protoscontainerd-shimnix
  • cubeapi / agent / shim / hypervisor:rand 从 0.8.5 升级到 0.8.6(GHSA-cq8v-f236-94qc,ThreadRng 重新播种的 soundness 问题)。
  • CubeVSgolang.org/x/net 升级到 v0.38.0,golang.org/x/sys 升级到 v0.38.0
  • network-agentgoogle.golang.org/grpc 升级到 1.79.3
  • CubeAPI/examplespygments 升级到 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 播种 RNG,防止同步的缓存过期风暴。
  • 修复 dev-env sync 覆盖 cube-shim 符号链接的问题cube-runtimecontainerd-shim-cube-rs 现在写入 ${TOOLBOX_ROOT}/cube-shim/bin,保留 toolbox 符号链接布局。
  • 修复 Dockerfile 在仅 HTTPS 镜像上损坏的问题:在 apt 源切换到内部镜像之前安装 ca-certificates

✨ 增强功能

  • cubemastercli tpl watch —— 阶段导向输出:用简洁的 [N/7] PHASE 进度行加终端摘要替换旧的多行全状态转储;在 CI 日志中更友好。
  • IPAM —— 全面优化和可靠性大修(Cubelet + network-agent):基于 net/netip 重写验证;通过 encoding/binary.BigEndian 进行 IP ↔ 索引转换;添加边界检查、安全限制和 nil 守护;文档化保留地址语义;全面的表驱动和并发测试。

⚙️ 工程改进

  • 示例重组为独立顶级目录:从 CubeAPI/examples/ 移动到顶级 examples/,包含专用的 host-mountnetwork-policy 目录(每个目录有自己的 README);注释翻译为英文。
  • cube-bench 提升为 examples/cube-bench:现在是独立的 Go 模块,有自己的 Makefile。
  • Go 工具链对齐CubeVSnetwork-agent 升级到 Go 1.24.8。
  • cubecli 国际化benchrun.go 中剩余的中文使用字符串翻译为英文。
  • Docker 构建上下文清理Makefile builder-image 现在从 ./docker 构建,而非仓库根目录。
  • Alpine 镜像切换:APK 仓库从 dl-cdn.alpinelinux.org 切换到 mirrors.tencent.com

🤖 CI / DevOps

  • DCO 检查工作流:专用 PR 门禁现在在任何非合并提交缺少有效的 Signed-off-by 尾部时阻止合并。
  • GitHub ARC(Actions Runner Controller)支持:为内核/包构建工作流接入自托管 ARC runner。
  • 不再有重复 PR 检查:多个工作流上的 push 触发器现在限定为仅 master;PR 验证仅通过 pull_request 运行 —— CI 成本减半。
  • sync-to-cnb:使用 CNB_GIT_PASSWORD 密钥。

📚 文档

  • 部署指南重构:PVM 和裸金属现在作为首选部署路径呈现。
  • PVM 在 OpenCloudOS 9 上的快速部署pvm-deploy.md 中新增分步章节。
  • "关于我们"页面:添加中英文版本,以及相应的 VitePress 导航。
  • X (Twitter) 链接添加到项目 README。
  • 文档打磨:Python 导入路径和架构图间距已修正。
  • 微信 / 助手二维码README_zh.md 中刷新。