## 变更内容
* feat(cli): 可自定义键盘快捷键 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21945
* feat(core): 将 `AgentLoopContext` 贯穿核心流程 by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/21944
* chore(release): 将版本升级至 0.35.0-nightly.20260311.657f19c1f by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21966
* refactor(a2a): 移除遗留的 CoreToolScheduler by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21955
* feat(ui): 添加缺失的 Vim 模式操作(X, ~, r, f/F/t/T, df/dt 及相关) by @aanari in https://github.com/google-gemini/gemini-cli/pull/21932
* Feat/retry fetch notifications by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/21813
* fix(core): 从 handleFallback 中移除 OAuth 检查并清理杂散文件 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21962
* feat(cli): 支持字面量字符键位绑定和扩展 Kitty 协议键 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21972
* fix(ui): 在所有 NORMAL 模式删除操作后将光标限制在最后一个字符 by @aanari in https://github.com/google-gemini/gemini-cli/pull/21973
* test(core): 为 prompts/utils.ts 添加缺失的测试 by @krrishverma1805-web in https://github.com/google-gemini/gemini-cli/pull/19941
* fix(cli): 在复制模式(Ctrl+S 选择模式)中允许滚动键 by @nsalerni in https://github.com/google-gemini/gemini-cli/pull/19933
* docs(cli): 添加自定义键位绑定文档 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21980
* docs: 修正 defaultApprovalMode 中误导性的 YOLO 模式描述 by @Gyanranjan-Priyam in https://github.com/google-gemini/gemini-cli/pull/21878
* fix: 清理 /clear 和 /resume by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22007
* fix(core)#20941: 在 PTY 中止时清理孤立的子进程 by @manavmax in https://github.com/google-gemini/gemini-cli/pull/21124
* fix(core): 更新语言检测以使用 LSP 3.18 标识符 by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/21931
* feat(cli): 通过 '-' 前缀支持移除键位绑定 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22042
* feat(policy): 为补充管理策略添加 --admin-policy 标志 by @galz10 in https://github.com/google-gemini/gemini-cli/pull/20360
* 合并 packages/cli/src 中的重复导入(子任务1) by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22040
* perf(core): 在 refreshAuth 中并行获取用户配额和实验 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21648
* v0.34.0-preview.0 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21965
* v0.33.0 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21967
* fix(core): 在 Windows 上的 robustRealpath 中处理 EISDIR by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21984
* feat(core): 在会话交互遥测中包含 initiationMethod by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22054
* feat(ui): 使用未命名寄存器添加 Vim 复制/粘贴(y/p/P) by @aanari in https://github.com/google-gemini/gemini-cli/pull/22026
* fix(core): 为 API 密钥用户启用数字路由 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21977
* feat(telemetry): 为网络相关重试实现重试尝试遥测 by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/22027
* fix(policy): 从模式构建器中移除不必要的 escapeRegex by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21921
* fix(core): 在会话恢复时保留动态工具描述 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/18835
* chore: 在敏感关键字 linter 中允许 'gemini-3.1' by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22065
* feat(core): 通过环境变量支持自定义基础 URL by @junaiddshaukat in https://github.com/google-gemini/gemini-cli/pull/21561
* 合并 packages/cli/src 中的重复导入(子任务2) by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22051
* fix(core): 在停止会话前静默重试 API 错误最多 3 次 by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21989
* feat(core): 简化子代理成功 UI 并改进早期终止显示 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/21917
* 合并 packages/cli/src 中的重复导入(子任务3) by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22056
* fix(hooks): 修复 BeforeAgent/AfterAgent 不一致问题 (#18514) by @krishdef7 in https://github.com/google-gemini/gemini-cli/pull/21383
* feat(core): 为沙箱实现 SandboxManager 接口和配置架构 by @galz10 in https://github.com/google-gemini/gemini-cli/pull/21774
* docs: 将 npm 弃用警告文档化为可安全忽略 by @h30s in https://github.com/google-gemini/gemini-cli/pull/20692
* fix: 从仅限维护者的问题中移除 status/need-triage by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22044
* fix(core): 将子代理上下文传播到策略引擎 by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22086
* fix(cli): 当技能名称更新时解决技能卸载失败问题 by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22085
* docs(plan): 阐明使用 Ctrl+X 进行交互式计划编辑 by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22076
* fix(policy): 当 policyPaths 为空时确保加载用户策略 by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22090
* 文档:添加模型导向(实验性)的文档。 by @jkcinouye in https://github.com/google-gemini/gemini-cli/pull/21154
* 为自动化更新日志添加问题 by @g-samroberts in https://github.com/google-gemini/gemini-cli/pull/21912
* fix(core): 保护 argsPattern 并回滚 WEB_FETCH_TOOL_NAME 权限提升 by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/22104
* feat(core): 为 a2a-server 和 ACP 客户端区分 User-Agent by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22059
* refactor(core): 提取 ExecutionLifecycleService 以实现工具后台运行 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21717
* feat: 显示待处理和确认中的工具调用 by @sripasg in https://github.com/google-gemini/gemini-cli/pull/22106
* feat(browser): 在自动化期间实现输入阻止覆盖层 by @kunal-10-cloud in https://github.com/google-gemini/gemini-cli/pull/21132
* fix: 在扩展加载时而非启动时注册主题 by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22148
* feat(ui): 不向 Ultra 用户显示 /upgrade 提示 (#22154) by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22156
* chore: 移除主题的不必要日志 by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22165
* fix(core): 解决 MCP 工具 FQN 验证、架构导出和子代理中的通配符问题 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22069
* fix(cli): 在启动时验证 --model 参数 by @JaisalJain in https://github.com/google-gemini/gemini-cli/pull/21393
* fix(core): 处理策略对 exit_plan_mode 的 ALLOW by @backnotprop in https://github.com/google-gemini/gemini-cli/pull/21802
* feat(telemetry): 为 AI 积分计费事件添加 Clearcut 检测 by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22153
* feat(core): 为远程代理添加 Google 凭据提供程序 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21024
* test(cli): 为节点弃用警告添加集成测试 by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/20215
* feat(cli): 允许安全工具在代理繁忙时并发执行 by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21988
* feat(core): 实现由模型驱动的并行工具调度器 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/21933
* 更新易受攻击的依赖项 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22180
* fix(core): 修复启动统计信息以对时间戳和持续时间使用整数值 by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22201
* fix(core): 防止实例化工具的重复工具架构 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22204
* fix(core): 为远程 A2A 子代理添加代理路由支持 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22199
* fix(core/ide): 添加 Antigravity CLI 回退 by @apfine in https://github.com/google-gemini/gemini-cli/pull/22030
* fix(browser): 修复浏览器代理中的重复函数声明错误 by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22207
* feat(core): 实现 webfetch 工具的第 1 阶段改进 by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/21313
* v0.34.0-preview.1 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22194
* perf(cli): 启用代码分割和延迟 UI 加载 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22117
* fix: 从项目根目录移除未使用的 img.png by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22222
* docs(local model routing): 添加关于如何使用 Gemma 进行本地模型路由的文档 by @douglas-reid in https://github.com/google-gemini/gemini-cli/pull/21365
* feat(a2a): 启用原生 gRPC 支持和协议路由 by @alisa-alisa in https://github.com/google-gemini/gemini-cli/pull/21403
* fix(cli): 转义粘贴时的 @ 符号以防止意外的文件扩展 by @krishdef7 in https://github.com/google-gemini/gemini-cli/pull/21239
* feat(core): 在 ConversationOffered 遥测中添加 trajectoryId by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22214
* docs: 阐明 tools.core 是所有内置工具的白名单 by @hobostay in https://github.com/google-gemini/gemini-cli/pull/18813
* docs(plan): 记录计划模式中的钩子 by @ruomengz in https://github.com/google-gemini/gemini-cli/pull/22197
* v0.33.1 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22235
* build(ci): 修复合并提交上的误触发评估 by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22237
* fix(core): 为 MCP 工具保存显式传递 messageBus 到策略引擎 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22255
* feat(core): 完全将 packages/core 迁移到 AgentLoopContext。 by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/22115
* feat(core): 增加子代理回合和时间限制 by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22196
* feat(core): 为文件系统工具进行 JIT 上下文发现检测 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22082
* refactor(ui): 提取纯会话浏览器工具 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22256
* fix(plan): 修复 AskUser 评估 by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22074
* fix(settings): 防止 j/k 导航键拦截编辑缓冲区输入 by @student-ankitpandit in https://github.com/google-gemini/gemini-cli/pull/21865
* feat(skills): 改进 async-pr-review 工作流和日志 by @mattKorwel in https://github.com/google-gemini/gemini-cli/pull/21790
* refactor(cli): 将 getErrorMessage 实用程序整合到核心 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22190
* fix(core): 在保存设置失败时显示描述性错误消息 by @afarber in https://github.com/google-gemini/gemini-cli/pull/18095
* docs(core): 为远程子代理添加身份验证指南 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22178
* docs: 彻底重写子代理文档并添加 /agents 命令 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22345
* refactor(ui): 提取 SessionBrowser 静态 UI 组件 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22348
* test: 添加 Object.create 上下文回归测试和工具确认集成测试 by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22356
* feat(tracker): 为跟踪工具返回 TodoList 显示 by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22060
* feat(agent): 为浏览器代理添加允许的域名限制 by @cynthialong0-0 in https://github.com/google-gemini/gemini-cli/pull/21775
* chore/release: 将版本升级至 0.35.0-nightly.20260313.bb060d7a9 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22251
* 将密钥链回退移至密钥链服务 by @chrstnb in https://github.com/google-gemini/gemini-cli/pull/22332
* feat(core): 集成 SandboxManager 以沙箱化所有进程生成工具 by @galz10 in https://github.com/google-gemini/gemini-cli/pull/22231
* fix(cli): 支持终端协议中的 CJK 输入和完整 Unicode 标量值 by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22353
* 提升稳定测试。 by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22253
* feat(tracker): 添加跟踪策略 by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22379
* feat(security): 添加 disableAlwaysAllow 设置以禁用自动批准 by @galz10 in https://github.com/google-gemini/gemini-cli/pull/21941
* Revert "fix(cli): validate --model argument at startup" by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22378
* fix(mcp): 在 OAuth 验证中处理等效的根资源 URL by @galz10 in https://github.com/google-gemini/gemini-cli/pull/20231
* fix(core): 为任务跟踪器使用会话特定的临时目录 by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22382
* 修复配置未定义的问题。 by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22397
* fix(core): 在启用 JIT 上下文时去重项目内存 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22234
* feat(prompts): 实现用于减少冗长的 Topic-Action-Summary 模型 by @Abhijit-2592 in https://github.com/google-gemini/gemini-cli/pull/21503
* fix(core): 修复手动删除子代理历史记录的问题 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22407
* 添加注册表变量 by @kevinjwang1 in https://github.com/google-gemini/gemini-cli/pull/22224
* 向 ModelConfigService 添加 ModelDefinitions by @kevinjwang1 in https://github.com/google-gemini/gemini-cli/pull/22302
* fix(cli): 改进技能的命令冲突处理 by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/21942
* fix(core): 将用户设置与扩展提供的 MCP 服务器合并 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22484
* fix(core): 跳过不完整的 MCP 配置的发现并解决合并竞争条件 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22494
* fix(automation): 加强陈旧的 PR 关闭者权限和维护者检测 by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22558
* fix(automation): 在检查受保护标签之前评估陈旧性 by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22561
* feat(agent): 用预构建的捆绑包替换浏览器代理 chrome devtool mcp 的运行时 npx by @cynthialong0-0 in https://github.com/google-gemini/gemini-cli/pull/22213
* perf: 优化 TrackerService 依赖检查 by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22384
* docs(policy): 从 commandPrefix 示例中移除尾随空格 by @kawasin73 in https://github.com/google-gemini/gemini-cli/pull/22264
* fix(a2a-server): 解决不安全的赋值 lint 错误 by @ehedlund in https://github.com/google-gemini/gemini-cli/pull/22661
* fix: 调整 ToolGroupMessage 过滤以隐藏 Confirming 并显示 Canceled 工具调用。 by @sripasg in https://github.com/google-gemini/gemini-cli/pull/22230
* 禁止 Object.create() 和 reflect。 by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22408
* 守卫专业模型使用 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22665
* refactor(core): 创建 AgentSession 抽象以整合代理接口。 by @mbleigh in https://github.com/google-gemini/gemini-cli/pull/22270
* docs(changelog): 从发行说明中移除内部命令 by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22529
* feat: 启用子代理 by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22386
* feat(extensions): 为扩展更新实现加密完整性验证 by @ehedlund in https://github.com/google-gemini/gemini-cli/pull/21772
* feat(tracker): 优化 UI 排序和格式化 by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22437
* v0.34.0-preview.2 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22220
* fix(core): 修复 read_file、read_many_files 和 memoryDiscovery 中的三个 JIT 上下文错误 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22679
* refactor(core): 引入 InjectionService,具备源感知注入和原生后台完成 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22544
* Linux 沙箱 bubblewrap by @DavidAPierce in https://github.com/google-gemini/gemini-cli/pull/22680
* feat(core): 提高思维签名重试弹性 by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22202
* feat(core): 实现 webfetch 工具的第 2 阶段安全性和一致性改进 by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/22217
* refactor(core): 用 ExecuteOptions 包替换位置执行参数 by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22674
* feat(config): 默认启用 JIT 上下文加载 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22736
* fix(config): 确保在初始化期间将 discoveryMaxDirs 传递给全局配置 by @kevin-ramdass in https://github.com/google-gemini/gemini-cli/pull/22744
* fix(plan): 在计划模式中将 get_internal_docs 加入白名单 by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22668
* v0.34.0-preview.3 的更新日志 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22393
* feat(core): 为子代理工具隔离奠定基础 by @akh64bit in https://github.com/google-gemini/gemini-cli/pull/22708
* fix(core): 在 truncateString 中处理代理对 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22754
* fix(cli): 覆盖设置对话框中的 j/k 导航以修复搜索输入冲突 by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22800
* feat(plan): 为多选 AskUser 问题添加“以上全部”选项 by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22365
* docs: 将包特定的 GEMINI.md 上下文分发给每个包 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22734
* fix(cli): 在单词/行删除后清理过时的粘贴占位符元数据 by @Jomak-x in https://github.com/google-gemini/gemini-cli/pull/20375
* refactor(core): 使 JIT 内存放置与分层上下文模型对齐 by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22766
* Linux 沙箱 seccomp by @DavidAPierce in https://github.com/google-gemini/gemini-cli/pull/22815
* fix(patch): cherry-pick 4e5dfd0 到 release/v0.35.0-preview.1-pr-23074 以修补版本 v0.35.0-preview.1 并创建版本 0.35.0-preview.2 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23134
* fix(patch): cherry-pick daf3691 到 release/v0.35.0-preview.2-pr-23558 以修补版本 v0.35.0-preview.2 并创建版本 0.35.0-preview.3 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23565
* fix(patch): cherry-pick b2d6dc4 到 release/v0.35.0-preview.4-pr-23546 [CONFLICTS] by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23585
## 新贡献者
* @aanari 在 https://github.com/google-gemini/gemini-cli/pull/21932 中首次贡献
* @krrishverma1805-web 在 https://github.com/google-gemini/gemini-cli/pull/19941 中首次贡献
* @manavmax 在 https://github.com/google-gemini/gemini-cli/pull/21124 中首次贡献
* @junaiddshaukat 在 https://github.com/google-gemini/gemini-cli/pull/21561 中首次贡献
* @JaisalJain 在 https://github.com/google-gemini/gemini-cli/pull/21393 中首次贡献
* @backnotprop 在 https://github.com/google-gemini/gemini-cli/pull/21802 中首次贡献
* @apfine 在 https://github.com/google-gemini/gemini-cli/pull/22030 中首次贡献
* @douglas-reid 在 https://github.com/google-gemini/gemini-cli/pull/21365 中首次贡献
* @hobostay 在 https://github.com/google-gemini/gemini-cli/pull/18813 中首次贡献
* @student-ankitpandit 在 https://github.com/google-gemini/gemini-cli/pull/21865 中首次贡献
* @kawasin73 在 https://github.com/google-gemini/gemini-cli/pull/22264 中首次贡献
* @Jomak-x 在 https://github.com/google-gemini/gemini-cli/pull/20375 中首次贡献
**完整更新日志**: https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.0
## What's Changed
* feat(cli): customizable keyboard shortcuts by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21945
* feat(core): Thread `AgentLoopContext` through core. by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/21944
* chore(release): bump version to 0.35.0-nightly.20260311.657f19c1f by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21966
* refactor(a2a): remove legacy CoreToolScheduler by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21955
* feat(ui): add missing vim mode motions (X, ~, r, f/F/t/T, df/dt and friends) by @aanari in https://github.com/google-gemini/gemini-cli/pull/21932
* Feat/retry fetch notifications by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/21813
* fix(core): remove OAuth check from handleFallback and clean up stray file by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21962
* feat(cli): support literal character keybindings and extended Kitty protocol keys by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21972
* fix(ui): clamp cursor to last char after all NORMAL mode deletes by @aanari in https://github.com/google-gemini/gemini-cli/pull/21973
* test(core): add missing tests for prompts/utils.ts by @krrishverma1805-web in https://github.com/google-gemini/gemini-cli/pull/19941
* fix(cli): allow scrolling keys in copy mode (Ctrl+S selection mode) by @nsalerni in https://github.com/google-gemini/gemini-cli/pull/19933
* docs(cli): add custom keybinding documentation by @scidomino in https://github.com/google-gemini/gemini-cli/pull/21980
* docs: fix misleading YOLO mode description in defaultApprovalMode by @Gyanranjan-Priyam in https://github.com/google-gemini/gemini-cli/pull/21878
* fix: clean up /clear and /resume by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22007
* fix(core)#20941: reap orphaned descendant processes on PTY abort by @manavmax in https://github.com/google-gemini/gemini-cli/pull/21124
* fix(core): update language detection to use LSP 3.18 identifiers by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/21931
* feat(cli): support removing keybindings via '-' prefix by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22042
* feat(policy): add --admin-policy flag for supplemental admin policies by @galz10 in https://github.com/google-gemini/gemini-cli/pull/20360
* merge duplicate imports packages/cli/src subtask1 by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22040
* perf(core): parallelize user quota and experiments fetching in refreshAuth by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21648
* Changelog for v0.34.0-preview.0 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21965
* Changelog for v0.33.0 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/21967
* fix(core): handle EISDIR in robustRealpath on Windows by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21984
* feat(core): include initiationMethod in conversation interaction telemetry by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22054
* feat(ui): add vim yank/paste (y/p/P) with unnamed register by @aanari in https://github.com/google-gemini/gemini-cli/pull/22026
* fix(core): enable numerical routing for api key users by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/21977
* feat(telemetry): implement retry attempt telemetry for network related retries by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/22027
* fix(policy): remove unnecessary escapeRegex from pattern builders by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21921
* fix(core): preserve dynamic tool descriptions on session resume by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/18835
* chore: allow 'gemini-3.1' in sensitive keyword linter by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22065
* feat(core): support custom base URL via env vars by @junaiddshaukat in https://github.com/google-gemini/gemini-cli/pull/21561
* merge duplicate imports packages/cli/src subtask2 by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22051
* fix(core): silently retry API errors up to 3 times before halting session by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21989
* feat(core): simplify subagent success UI and improve early termination display by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/21917
* merge duplicate imports packages/cli/src subtask3 by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/22056
* fix(hooks): fix BeforeAgent/AfterAgent inconsistencies (#18514) by @krishdef7 in https://github.com/google-gemini/gemini-cli/pull/21383
* feat(core): implement SandboxManager interface and config schema by @galz10 in https://github.com/google-gemini/gemini-cli/pull/21774
* docs: document npm deprecation warnings as safe to ignore by @h30s in https://github.com/google-gemini/gemini-cli/pull/20692
* fix: remove status/need-triage from maintainer-only issues by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22044
* fix(core): propagate subagent context to policy engine by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22086
* fix(cli): resolve skill uninstall failure when skill name is updated by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22085
* docs(plan): clarify interactive plan editing with Ctrl+X by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22076
* fix(policy): ensure user policies are loaded when policyPaths is empty by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/22090
* Docs: Add documentation for model steering (experimental). by @jkcinouye in https://github.com/google-gemini/gemini-cli/pull/21154
* Add issue for automated changelogs by @g-samroberts in https://github.com/google-gemini/gemini-cli/pull/21912
* fix(core): secure argsPattern and revert WEB_FETCH_TOOL_NAME escalation by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/22104
* feat(core): differentiate User-Agent for a2a-server and ACP clients by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22059
* refactor(core): extract ExecutionLifecycleService for tool backgrounding by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21717
* feat: Display pending and confirming tool calls by @sripasg in https://github.com/google-gemini/gemini-cli/pull/22106
* feat(browser): implement input blocker overlay during automation by @kunal-10-cloud in https://github.com/google-gemini/gemini-cli/pull/21132
* fix: register themes on extension load not start by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22148
* feat(ui): Do not show Ultra users /upgrade hint (#22154) by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22156
* chore: remove unnecessary log for themes by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22165
* fix(core): resolve MCP tool FQN validation, schema export, and wildcards in subagents by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22069
* fix(cli): validate --model argument at startup by @JaisalJain in https://github.com/google-gemini/gemini-cli/pull/21393
* fix(core): handle policy ALLOW for exit_plan_mode by @backnotprop in https://github.com/google-gemini/gemini-cli/pull/21802
* feat(telemetry): add Clearcut instrumentation for AI credits billing events by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22153
* feat(core): add google credentials provider for remote agents by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/21024
* test(cli): add integration test for node deprecation warnings by @Nixxx19 in https://github.com/google-gemini/gemini-cli/pull/20215
* feat(cli): allow safe tools to execute concurrently while agent is busy by @spencer426 in https://github.com/google-gemini/gemini-cli/pull/21988
* feat(core): implement model-driven parallel tool scheduler by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/21933
* update vulnerable deps by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22180
* fix(core): fix startup stats to use int values for timestamps and durations by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22201
* fix(core): prevent duplicate tool schemas for instantiated tools by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22204
* fix(core): add proxy routing support for remote A2A subagents by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22199
* fix(core/ide): add Antigravity CLI fallbacks by @apfine in https://github.com/google-gemini/gemini-cli/pull/22030
* fix(browser): fix duplicate function declaration error in browser agent by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22207
* feat(core): implement Stage 1 improvements for webfetch tool by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/21313
* Changelog for v0.34.0-preview.1 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22194
* perf(cli): enable code splitting and deferred UI loading by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22117
* fix: remove unused img.png from project root by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22222
* docs(local model routing): add docs on how to use Gemma for local model routing by @douglas-reid in https://github.com/google-gemini/gemini-cli/pull/21365
* feat(a2a): enable native gRPC support and protocol routing by @alisa-alisa in https://github.com/google-gemini/gemini-cli/pull/21403
* fix(cli): escape @ symbols on paste to prevent unintended file expansion by @krishdef7 in https://github.com/google-gemini/gemini-cli/pull/21239
* feat(core): add trajectoryId to ConversationOffered telemetry by @yunaseoul in https://github.com/google-gemini/gemini-cli/pull/22214
* docs: clarify that tools.core is an allowlist for ALL built-in tools by @hobostay in https://github.com/google-gemini/gemini-cli/pull/18813
* docs(plan): document hooks with plan mode by @ruomengz in https://github.com/google-gemini/gemini-cli/pull/22197
* Changelog for v0.33.1 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22235
* build(ci): fix false positive evals trigger on merge commits by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22237
* fix(core): explicitly pass messageBus to policy engine for MCP tool saves by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22255
* feat(core): Fully migrate packages/core to AgentLoopContext. by @joshualitt in https://github.com/google-gemini/gemini-cli/pull/22115
* feat(core): increase sub-agent turn and time limits by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22196
* feat(core): instrument file system tools for JIT context discovery by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22082
* refactor(ui): extract pure session browser utilities by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22256
* fix(plan): Fix AskUser evals by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22074
* fix(settings): prevent j/k navigation keys from intercepting edit buffer input by @student-ankitpandit in https://github.com/google-gemini/gemini-cli/pull/21865
* feat(skills): improve async-pr-review workflow and logging by @mattKorwel in https://github.com/google-gemini/gemini-cli/pull/21790
* refactor(cli): consolidate getErrorMessage utility to core by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22190
* fix(core): show descriptive error messages when saving settings fails by @afarber in https://github.com/google-gemini/gemini-cli/pull/18095
* docs(core): add authentication guide for remote subagents by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22178
* docs: overhaul subagents documentation and add /agents command by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22345
* refactor(ui): extract SessionBrowser static ui components by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22348
* test: add Object.create context regression test and tool confirmation integration test by @gsquared94 in https://github.com/google-gemini/gemini-cli/pull/22356
* feat(tracker): return TodoList display for tracker tools by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22060
* feat(agent): add allowed domain restrictions for browser agent by @cynthialong0-0 in https://github.com/google-gemini/gemini-cli/pull/21775
* chore/release: bump version to 0.35.0-nightly.20260313.bb060d7a9 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22251
* Move keychain fallback to keychain service by @chrstnb in https://github.com/google-gemini/gemini-cli/pull/22332
* feat(core): integrate SandboxManager to sandbox all process-spawning tools by @galz10 in https://github.com/google-gemini/gemini-cli/pull/22231
* fix(cli): support CJK input and full Unicode scalar values in terminal protocols by @scidomino in https://github.com/google-gemini/gemini-cli/pull/22353
* Promote stable tests. by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22253
* feat(tracker): add tracker policy by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22379
* feat(security): add disableAlwaysAllow setting to disable auto-approvals by @galz10 in https://github.com/google-gemini/gemini-cli/pull/21941
* Revert "fix(cli): validate --model argument at startup" by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22378
* fix(mcp): handle equivalent root resource URLs in OAuth validation by @galz10 in https://github.com/google-gemini/gemini-cli/pull/20231
* fix(core): use session-specific temp directory for task tracker by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22382
* Fix issue where config was undefined. by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22397
* fix(core): deduplicate project memory when JIT context is enabled by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22234
* feat(prompts): implement Topic-Action-Summary model for verbosity reduction by @Abhijit-2592 in https://github.com/google-gemini/gemini-cli/pull/21503
* fix(core): fix manual deletion of subagent histories by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22407
* Add registry var by @kevinjwang1 in https://github.com/google-gemini/gemini-cli/pull/22224
* Add ModelDefinitions to ModelConfigService by @kevinjwang1 in https://github.com/google-gemini/gemini-cli/pull/22302
* fix(cli): improve command conflict handling for skills by @NTaylorMullen in https://github.com/google-gemini/gemini-cli/pull/21942
* fix(core): merge user settings with extension-provided MCP servers by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22484
* fix(core): skip discovery for incomplete MCP configs and resolve merge race condition by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22494
* fix(automation): harden stale PR closer permissions and maintainer detection by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22558
* fix(automation): evaluate staleness before checking protected labels by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22561
* feat(agent): replace the runtime npx for browser agent chrome devtool mcp with pre-built bundle by @cynthialong0-0 in https://github.com/google-gemini/gemini-cli/pull/22213
* perf: optimize TrackerService dependency checks by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22384
* docs(policy): remove trailing space from commandPrefix examples by @kawasin73 in https://github.com/google-gemini/gemini-cli/pull/22264
* fix(a2a-server): resolve unsafe assignment lint errors by @ehedlund in https://github.com/google-gemini/gemini-cli/pull/22661
* fix: Adjust ToolGroupMessage filtering to hide Confirming and show Canceled tool calls. by @sripasg in https://github.com/google-gemini/gemini-cli/pull/22230
* Disallow Object.create() and reflect. by @gundermanc in https://github.com/google-gemini/gemini-cli/pull/22408
* Guard pro model usage by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22665
* refactor(core): Creates AgentSession abstraction for consolidated agent interface. by @mbleigh in https://github.com/google-gemini/gemini-cli/pull/22270
* docs(changelog): remove internal commands from release notes by @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/22529
* feat: enable subagents by @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/22386
* feat(extensions): implement cryptographic integrity verification for extension updates by @ehedlund in https://github.com/google-gemini/gemini-cli/pull/21772
* feat(tracker): polish UI sorting and formatting by @anj-s in https://github.com/google-gemini/gemini-cli/pull/22437
* Changelog for v0.34.0-preview.2 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22220
* fix(core): fix three JIT context bugs in read_file, read_many_files, and memoryDiscovery by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22679
* refactor(core): introduce InjectionService with source-aware injection and backend-native background completions by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22544
* Linux sandbox bubblewrap by @DavidAPierce in https://github.com/google-gemini/gemini-cli/pull/22680
* feat(core): increase thought signature retry resilience by @bdmorgan in https://github.com/google-gemini/gemini-cli/pull/22202
* feat(core): implement Stage 2 security and consistency improvements for web_fetch by @aishaneeshah in https://github.com/google-gemini/gemini-cli/pull/22217
* refactor(core): replace positional execute params with ExecuteOptions bag by @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/22674
* feat(config): enable JIT context loading by default by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22736
* fix(config): ensure discoveryMaxDirs is passed to global config during initialization by @kevin-ramdass in https://github.com/google-gemini/gemini-cli/pull/22744
* fix(plan): allowlist get_internal_docs in Plan Mode by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22668
* Changelog for v0.34.0-preview.3 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/22393
* feat(core): add foundation for subagent tool isolation by @akh64bit in https://github.com/google-gemini/gemini-cli/pull/22708
* fix(core): handle surrogate pairs in truncateString by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22754
* fix(cli): override j/k navigation in settings dialog to fix search input conflict by @sehoon38 in https://github.com/google-gemini/gemini-cli/pull/22800
* feat(plan): add 'All the above' option to multi-select AskUser questions by @Adib234 in https://github.com/google-gemini/gemini-cli/pull/22365
* docs: distribute package-specific GEMINI.md context to each package by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22734
* fix(cli): clean up stale pasted placeholder metadata after word/line deletions by @Jomak-x in https://github.com/google-gemini/gemini-cli/pull/20375
* refactor(core): align JIT memory placement with tiered context model by @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/22766
* Linux sandbox seccomp by @DavidAPierce in https://github.com/google-gemini/gemini-cli/pull/22815
* fix(patch): cherry-pick 4e5dfd0 to release/v0.35.0-preview.1-pr-23074 to patch version v0.35.0-preview.1 and create version 0.35.0-preview.2 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23134
* fix(patch): cherry-pick daf3691 to release/v0.35.0-preview.2-pr-23558 to patch version v0.35.0-preview.2 and create version 0.35.0-preview.3 by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23565
* fix(patch): cherry-pick b2d6dc4 to release/v0.35.0-preview.4-pr-23546 [CONFLICTS] by @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/23585
## New Contributors
* @aanari made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21932
* @krrishverma1805-web made their first contribution in https://github.com/google-gemini/gemini-cli/pull/19941
* @manavmax made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21124
* @junaiddshaukat made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21561
* @JaisalJain made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21393
* @backnotprop made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21802
* @apfine made their first contribution in https://github.com/google-gemini/gemini-cli/pull/22030
* @douglas-reid made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21365
* @hobostay made their first contribution in https://github.com/google-gemini/gemini-cli/pull/18813
* @student-ankitpandit made their first contribution in https://github.com/google-gemini/gemini-cli/pull/21865
* @kawasin73 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/22264
* @Jomak-x made their first contribution in https://github.com/google-gemini/gemini-cli/pull/20375
**Full Changelog**: https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.0