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

## 2026.05.18 发布 v0.2.2

### 🛡️ 安全修复

* **`hypervisor`: `vmm-sys-util` 升级至 0.12.1**（CVE-2023-50711, GHSA-875g-mfp6-g7f9）：`FamStructWrapper::deserialize` 未验证 header 长度与柔性数组长度是否匹配，可导致 safe Rust 代码触发越界内存访问。现已固定为 hypervisor workspace 所有 crate 共享的版本。
* **`agent` / `hypervisor`: `bytes` 和 `env_logger` 安全依赖升级**，作为同批依赖刷新的一部分。
* **回滚 `time` crate 升级（CVE-2026-25727）**：CubeSandbox 仅使用 `Rfc3339` 进行时间戳格式化输出，从不对不可信输入执行 `Rfc2822` 解析，攻击面不可达。该升级已回滚，待 MSRV 就绪后单独跟进处理。

### 🛠️ 关键修复

* **修复 CubeMaster 模板镜像任务重复创建问题**：在 `template_image_job` 表新增 `request_id` 字段并添加 `(request_id, operation)` 唯一索引，使任务提交具备幂等性，彻底消除并发或重试 API 调用引发的重复构建任务。
* **修复 `cubecli exec` 在 stdin EOF 时的 nil 指针 panic**：`StdinCloser.Read` 在 stdin 到达 EOF 时触发 nil 指针解引用，导致 exec 生命周期被静默中断。修复后改用 `errors.Is(err, io.EOF)` 进行正确的错误包装比对，shim 日志现可正常输出成对的 exec 生命周期记录。
* **修复 PVM 模板的 ext4 artifact 运行时文件物化问题**：简化 `RefreshArtifactRuntimeFiles`、`validateArtifactRuntimeFilesPresent` 和 `ensureArtifactRuntimeFiles`，使其仅处理内核文件；将 `copyKernelFileAtomically` 重命名为 `CopyFileAtomically`，支持在包外复用。

### ✨ 功能增强

* **E2B 兼容默认暴露端口**：默认沙箱暴露端口由 8080/32000 改为 **49983**，与 E2B 沙箱协议对齐。`CubeMaster` 成为默认端口的唯一权威来源，`Cubelet` 和 `network-agent` 中的硬编码默认值已移除。
* **Cubelet 存储插件支持配置 `cmdTimeout`**：在存储插件 TOML 配置中新增可选 `cmd_timeout` 字段，替代原有硬编码的 3 秒超时，允许运维人员在高并发负载下提高大文件 ext4 操作的超时限制，无需重新编译。字段缺省时行为不变。
* **Cubelet `newExt4RawByReflinkCopy` 错误诊断增强**：错误信息现在包含操作耗时、目标/基础文件大小及可用磁盘空间，格式为 `[step=N/4 cmd="…" elapsed=…ms target=size=… base=size=… free=…B]`。
* **部署脚本支持从 `.env` 同步 CubeMaster 自定义端口**：`cubemaster.yaml` 引入 `__CUBE_SANDBOX_MYSQL_PORT__` / `__CUBE_SANDBOX_REDIS_PORT__` 占位符，由 `install.sh` 从 `.env` 文件自动替换，无需手动修改 YAML。

### ⚙️ 工程改进

* **`cubecli`: 移除废弃的 `listmd` 命令**：删除无法访问的 `listmd` 子命令及其 128 行实现代码。

### 🤖 CI / DevOps

* **Claude 驱动的 AI 代码审查与 issue 分类自动化**：在 `.agents/agents/` 下引入五个 AI 审查 Agent（代码质量、性能、安全、测试覆盖率、文档准确性）。自动化工作流负责 PR 代码审查、重复 issue 检测和 issue 标签分类。新增 `scripts/gh.sh` 和 `scripts/edit-issue-labels.sh` 辅助脚本。

### 📚 文档更新

* **新增 `CONTRIBUTING_zh.md`**：`CONTRIBUTING.md` 的完整中文翻译版本。
* **社区文档 PR 要求放宽**：`CONTRIBUTING.md` 和 `CONTRIBUTING_zh.md` 均改为支持单语种提交，双语文档为可选项。
* **计算节点端口分配范围文档化**：`docs/architecture/network.md`（中英文）新增三段端口范围说明：`10000–19999`（network-agent）、`20000–29999`（CubeProxy 沙箱访问）、`30000–65535`（CubeVS SNAT）。
* **新增社区文档章节**：VitePress 新增双语故障排查、用例和集成三个章节，并配置 CI 工作流强制执行双语一致性检查。
* **域名更新**：CNAME 从 `docs.cubesandbox.ai` 切换至 `cubesandbox.com`。
* **修复 `browser-sandbox` 示例**：新增缺失的 `load_dotenv()` 调用和 `python-dotenv` 依赖，确保 `.env` 变量在脚本运行前正确加载。
* **微信群二维码更新**。
