← 返回更新日志

Gemini CLI v0.12.0

2025-11-04 · GitHub 原文
## 更新内容 * chore(release): 版本号提升至 0.12.0-nightly.20251022.0542de95,由 @gemini-cli-robot 在 https://github.com/google-gemini/gemini-cli/pull/11672 提交 * fix(test): 取消跳过并修复 useToolScheduler 测试,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11671 提交 * 为 extensions 命令添加扩展别名,由 @kevinjwang1 在 https://github.com/google-gemini/gemini-cli/pull/11622 提交 * feat(infra) - 创建用于消除测试不稳定的工作流,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11535 提交 * 添加禁用 YOLO 模式的设置,由 @Adib234 在 https://github.com/google-gemini/gemini-cli/pull/11609 提交 * feat(infra) - 更新链式端到端测试的状态,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11651 提交 * 将控制台错误提取为工具函数,由 @abhipatel12 在 https://github.com/google-gemini/gemini-cli/pull/11675 提交 * 记录 todo 工具文档,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/11695 提交 * feat(infra) - 当用户尝试多次退出时添加日志记录,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11218 提交 * fix(ui): 修复并取消跳过 InputPrompt 测试,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11700 提交 * Docs: 添加 2025-10-13 更新日志,由 @jkcinouye 在 https://github.com/google-gemini/gemini-cli/pull/11751 提交 * feat(preflight): 使用 venv 安装 yamllint,由 @JayadityaGit 在 https://github.com/google-gemini/gemini-cli/pull/11694 提交 * fix(a2a-server): 修复并取消跳过 GCS 持久化测试,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11755 提交 * fix(cli): 修复 useGitBranchName 中的竞态条件并取消跳过测试,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11759 提交 * refactor: 简化 FilterReport 并移除未使用的代码,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11681 提交 * refactor(core): 清理排除描述,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11678 提交 * 重构 KeypressContext,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/11677 提交 * fix(ui): 解决双转义处理程序中的竞态条件,由 @Lyonk71 在 https://github.com/google-gemini/gemini-cli/pull/8913 提交 * refactor(cli): 参数化 InputPrompt 中的测试,由 @MJjainam 在 https://github.com/google-gemini/gemini-cli/pull/11776 提交 * Docs: 修复 docs/cli/configuration.md 中的损坏链接,由 @Smetalo 在 https://github.com/google-gemini/gemini-cli/pull/11655 提交 * 添加 executeCommand 端点,支持 /extensions list,由 @jdgarrido1105 在 https://github.com/google-gemini/gemini-cli/pull/11515 提交 * 修复文档中的损坏链接,由 @Smetalo 在 https://github.com/google-gemini/gemini-cli/pull/11789 提交 * 重新启用测试,由 @cornmander 在 https://github.com/google-gemini/gemini-cli/pull/11628 提交 * 添加扩展设置以便在安装时请求,由 @chrstnb 在 https://github.com/google-gemini/gemini-cli/pull/9802 提交 * feat: 添加 lychee-action 以检查损坏链接,由 @Smetalo 在 https://github.com/google-gemini/gemini-cli/pull/11781 提交 * fix(infra) - 移除设置状态时的上下文输入,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11734 提交 * 修复工具调度器被重复创建的 bug,由 @jacob314 在 https://github.com/google-gemini/gemini-cli/pull/11767 提交 * feat(infra) - 使合并组和推送运行链式端到端测试,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11796 提交 * feat(ux): 通过统一事件系统呈现内部错误,由 @abhipatel12 在 https://github.com/google-gemini/gemini-cli/pull/11803 提交 * 创建管理所有高级扩展任务的 ExtensionManager 类,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11667 提交 * fix(infra) - 修复链式端到端测试的合并队列跳过器问题,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11810 提交 * fix: 对齐 shell 白名单处理 (#11510),由 @cornmander 在 https://github.com/google-gemini/gemini-cli/pull/11813 提交 * 在测试中尽可能使用原始写入到 stdin,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/11837 提交 * 为 base-storage-token.test 和 prompts.test.ts 添加参数化,由 @IamRiddhi 在 https://github.com/google-gemini/gemini-cli/pull/11821 提交 * feat(core) 提升 get-ripgrep 版本,由 @joshualitt 在 https://github.com/google-gemini/gemini-cli/pull/11698 提交 * 首次尝试在集成测试中模拟 gemini cli 响应,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11156 提交 * 在测试中使用原始写入到 stdin,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/11871 提交 * fix(cli): 在非交互模式下重新抛出错误,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11849 提交 * 添加参数化测试,由 @IamRiddhi 在 https://github.com/google-gemini/gemini-cli/pull/11930 提交 * chore(core): 在 google auth provider 中添加令牌缓存,由 @adamfweidman 在 https://github.com/google-gemini/gemini-cli/pull/11946 提交 * docs(cli): 更新遥测文档,由 @jerop 在 https://github.com/google-gemini/gemini-cli/pull/11806 提交 * 在 Windows 上运行 bom 测试,由 @sehoon38 在 https://github.com/google-gemini/gemini-cli/pull/11828 提交 * 停止在扩展事件上记录会话 ID,由 @owenofbrien 在 https://github.com/google-gemini/gemini-cli/pull/11941 提交 * Fix(cli): 使用正确的 extensionPath,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11896 提交 * fix(security) - 使用 emitFeedback,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11961 提交 * fix(security) - 使用 emitFeedback 替代 console error,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11948 提交 * fix: 正确处理请求重试和模型回退,由 @gsquared94 在 https://github.com/google-gemini/gemini-cli/pull/11624 提交 * fix(infra) - 简化进行中的取消操作,并为设置状态步骤添加权限,由 @shishu314 在 https://github.com/google-gemini/gemini-cli/pull/11835 提交 * 为 shell 命令解析添加回归测试,由 @cornmander 在 https://github.com/google-gemini/gemini-cli/pull/11962 提交 * Fix(cli): 在扩展测试中使用跨平台路径分隔符,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11970 提交 * 修复 Windows 上的链接扩展测试,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11973 提交 * feat(core): 为工具执行确认引入消息总线,由 @allenhutchison 在 https://github.com/google-gemini/gemini-cli/pull/11544 提交 * fix(cli): 为文件过滤使用正确的默认值,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11426 提交 * fix(core): 对循环检测错误使用 debugLogger.warn,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11986 提交 * fix(update): 用 latest-version 替换 update-notifier,由 @galz10 在 https://github.com/google-gemini/gemini-cli/pull/11989 提交 * 在扩展启用中使用 coreEvents.emitFeedback,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11985 提交 * 修复测试,由 @abhipatel12 在 https://github.com/google-gemini/gemini-cli/pull/11998 提交 * 在 fetchJson 中支持重定向,并为其添加测试,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11993 提交 * fix(tools): 当消息总线关闭时,ReadFile 不再显示确认信息,由 @allenhutchison 在 https://github.com/google-gemini/gemini-cli/pull/12003 提交 * 使用 debugLogger 替代 console.error,由 @jakemac53 在 https://github.com/google-gemini/gemini-cli/pull/11990 提交 * 支持跨多次写入的粘贴标记分割,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/11977 提交 * refactor: 切换到统一的 shouldIgnoreFile,由 @EricRahm 在 https://github.com/google-gemini/gemini-cli/pull/11815 提交 * 修复 packages/cli/src/utils/handleAutoUpdate.ts 中的拼写错误,由 @Qiyu-Wei 在 https://github.com/google-gemini/gemini-cli/pull/11809 提交 * docs(contributing): 使用缺失的包更新项目结构部分,由 @0xlakshan 在 https://github.com/google-gemini/gemini-cli/pull/11599 提交 * 使 PASTE_WORKAROUND 成为默认设置,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/12008 提交 * refactor(cli): 在 InputPrompt 测试中用 vi.waitFor 替换自定义等待,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/12005 提交 * 修复 shortenPath 函数以正确插入省略号,由 @ph-sp 在 https://github.com/google-gemini/gemini-cli/pull/12004 提交 * fix(core): 如果用户消息以函数调用开头,则将其前置到循环检测历史记录中,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/11860 提交 * 移除不存在的并行标志,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/12018 提交 * 首批修复测试以使用最佳实践,由 @jacob314 在 https://github.com/google-gemini/gemini-cli/pull/11964 提交 * 为 Windows 添加绝对文件路径描述,由 @gsehgal 在 https://github.com/google-gemini/gemini-cli/pull/12007 提交 * fix(cli): 在非交互模式下打印工具响应前添加分隔符,由 @krishna-kb 在 https://github.com/google-gemini/gemini-cli/pull/11351 提交 * fix: 用户配置的 oauth 范围应优先于发现的范围,由 @jackwotherspoon 在 https://github.com/google-gemini/gemini-cli/pull/12088 提交 * feat(core, cli): 实现顺序批准,由 @joshualitt 在 https://github.com/google-gemini/gemini-cli/pull/11593 提交 * 重构 vim.test.ts:使用参数化测试,由 @IamRiddhi 在 https://github.com/google-gemini/gemini-cli/pull/11969 提交 * docs(github): 改进拉取请求模板,由 @jerop 在 https://github.com/google-gemini/gemini-cli/pull/11949 提交 * 使用 debugLogger 替代 console,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/12095 提交 * 在 A2A Server 的响应中实现对 recitations 事件的支持,由 @alisa-alisa 在 https://github.com/google-gemini/gemini-cli/pull/12067 提交 * fix(core): 更新循环检测 LLM 模式字段,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/12091 提交 * Docs: 贡献指南,由 @jkcinouye 在 https://github.com/google-gemini/gemini-cli/pull/12012 提交 * 检测到 BYOID 凭据时创建 BYOID 认证客户端,由 @cocosheng-g 在 https://github.com/google-gemini/gemini-cli/pull/11592 提交 * feat(ID token support): 添加 ID 令牌支持以向 MC 进行身份验证,由 @RuchikaGoel 在 https://github.com/google-gemini/gemini-cli/pull/12031 提交 * fix(telemetry): 防止重复记录 StartSessionEvent,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/12090 提交 * refactor(core): 从 GeminiClient 中提取 ChatCompressionService,由 @SandyTao520 在 https://github.com/google-gemini/gemini-cli/pull/12001 提交 * fix(ci): package/core 的 tsc 构建是幂等的,由 @mattKorwel 在 https://github.com/google-gemini/gemini-cli/pull/12112 提交 * (fix): appcontainer 不应轮询,页脚应使用 ui 状态中的 currentModel,由 @psinha40898 在 https://github.com/google-gemini/gemini-cli/pull/11923 提交 * feat: 添加基本的开发 otel 跟踪插装,由 @pavelgj 在 https://github.com/google-gemini/gemini-cli/pull/11690 提交 * 修复配置测试,使其即使用户运行测试时恰好将 GEMINI_MODEL 设置为 flash 也能通过,由 @jacob314 在 https://github.com/google-gemini/gemini-cli/pull/12114 提交 * 迁移到 coreEvents/debugLogger,由 @scidomino 在 https://github.com/google-gemini/gemini-cli/pull/12107 提交 * 添加用于设置和运行 genkit 遥测和开发 UI 的脚本,由 @pavelgj 在 https://github.com/google-gemini/gemini-cli/pull/12120 提交 * refactor(core): 参数化 glob.test.ts 中的测试,由 @MJjainam 在 https://github.com/google-gemini/gemini-cli/pull/12061 提交 * docs: 更新 README 中的安装部分,由 @Tekrah123 在 https://github.com/google-gemini/gemini-cli/pull/12035 提交