Skip to content2026.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-protos、containerd-shim 和 nix。cubeapi / agent / shim / hypervisor:rand 从 0.8.5 升级到 0.8.6(GHSA-cq8v-f236-94qc,ThreadRng 重新播种的 soundness 问题)。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 播种 RNG,防止同步的缓存过期风暴。 - 修复 dev-env sync 覆盖
cube-shim 符号链接的问题:cube-runtime 和 containerd-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-mount 和 network-policy 目录(每个目录有自己的 README);注释翻译为英文。 cube-bench 提升为 examples/cube-bench:现在是独立的 Go 模块,有自己的 Makefile。- Go 工具链对齐:
CubeVS 和 network-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 中刷新。