> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.5.0-rc.7

> 2026-05-06

修两个 [#232](https://github.com/mindfold-ai/Trellis/issues/232) 反馈的真实场景 bug：`trellis update` 不再降级 OpenCode plugin；Codex Linux 沙箱里 `python3` 探测的 `EPERM` 不再让 init 挂掉。无新增 migration。

## Bug Fixes

### `@opencode-ai/plugin` 模板版本：`1.1.40` → `^1.14.39`

`packages/cli/src/templates/opencode/package.json` 之前硬编码 `1.1.40`。用户手动升过 `@opencode-ai/plugin` 到 1.14.x 之后，`trellis update` 会把 `.opencode/package.json` 覆盖回 `1.1.40`，下次 `bun install` / `pnpm install` 就静默降级。

改成 caret range 后，安装时取最新 1.x，update 不会再倒退。

升级后进入 `.opencode/` 跑：

```bash theme={null}
bun install   # 或 pnpm/npm 等价命令
```

刷新 lockfile 到最新 1.x。

### Codex Linux 沙箱：`python3 --version` 探测的 `EPERM` / `EACCES` 容错

`packages/cli/src/commands/init.ts` 里的 `requireSupportedPython` 之前把所有 `child_process.execSync` 错误都吞成 "Python not found" 报错，让 `trellis init` 直接挂。Codex 的 Linux 沙箱即使 host PATH 上有 `python3` 也会让 `execSync` 报 `EPERM` —— 是探测失败，不是二进制缺失。

| 错误码                                   | 旧行为                  | 新行为                                                |
| ------------------------------------- | -------------------- | -------------------------------------------------- |
| `ENOENT` 和其他                          | 抛 "Python not found" | 不变 —— 真正的命令缺失仍然 abort                              |
| `EPERM` / `EACCES`                    | 抛 "Python not found" | 黄色警告 + 放行；假定 `python3` 在 PATH；返回 "version unknown" |
| `TRELLIS_SKIP_PYTHON_CHECK=1` env var | （之前没有）               | 完全跳过探测；返回 "version check skipped"                  |

## Upgrade

```bash theme={null}
npm install -g @mindfoldhq/trellis@rc
trellis update
```
