@google/gemini-cli-core 0.31.0-preview.2 → 0.32.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/dist/docs/changelogs/index.md +22 -0
  2. package/dist/docs/changelogs/latest.md +307 -352
  3. package/dist/docs/changelogs/preview.md +391 -293
  4. package/dist/docs/cli/plan-mode.md +29 -7
  5. package/dist/docs/cli/settings.md +15 -6
  6. package/dist/docs/cli/telemetry.md +39 -11
  7. package/dist/docs/extensions/reference.md +36 -0
  8. package/dist/docs/get-started/installation.md +1 -1
  9. package/dist/docs/local-development.md +49 -43
  10. package/dist/docs/reference/configuration.md +32 -0
  11. package/dist/docs/reference/keyboard-shortcuts.md +6 -6
  12. package/dist/docs/reference/policy-engine.md +4 -3
  13. package/dist/docs/resources/faq.md +13 -0
  14. package/dist/docs/resources/tos-privacy.md +6 -0
  15. package/dist/docs/resources/uninstall.md +1 -10
  16. package/dist/docs/tools/mcp-server.md +22 -0
  17. package/dist/src/agents/a2a-client-manager.d.ts +7 -6
  18. package/dist/src/agents/a2a-client-manager.js +8 -9
  19. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  20. package/dist/src/agents/a2a-client-manager.test.js +45 -31
  21. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  22. package/dist/src/agents/a2aUtils.d.ts +25 -7
  23. package/dist/src/agents/a2aUtils.js +165 -58
  24. package/dist/src/agents/a2aUtils.js.map +1 -1
  25. package/dist/src/agents/a2aUtils.test.js +170 -27
  26. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  27. package/dist/src/agents/generalist-agent.js +1 -2
  28. package/dist/src/agents/generalist-agent.js.map +1 -1
  29. package/dist/src/agents/registry.test.js +4 -2
  30. package/dist/src/agents/registry.test.js.map +1 -1
  31. package/dist/src/agents/remote-invocation.d.ts +2 -1
  32. package/dist/src/agents/remote-invocation.js +41 -22
  33. package/dist/src/agents/remote-invocation.js.map +1 -1
  34. package/dist/src/agents/remote-invocation.test.js +196 -56
  35. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  36. package/dist/src/agents/subagent-tool-wrapper.js +1 -1
  37. package/dist/src/agents/subagent-tool-wrapper.test.js +1 -1
  38. package/dist/src/agents/subagent-tool.js +15 -2
  39. package/dist/src/agents/subagent-tool.js.map +1 -1
  40. package/dist/src/agents/subagent-tool.test.js +31 -0
  41. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  42. package/dist/src/billing/billing.d.ts +80 -0
  43. package/dist/src/billing/billing.js +127 -0
  44. package/dist/src/billing/billing.js.map +1 -0
  45. package/dist/src/billing/billing.test.d.ts +6 -0
  46. package/dist/src/billing/billing.test.js +182 -0
  47. package/dist/src/billing/billing.test.js.map +1 -0
  48. package/dist/src/billing/index.d.ts +6 -0
  49. package/dist/src/billing/index.js +7 -0
  50. package/dist/src/billing/index.js.map +1 -0
  51. package/dist/src/code_assist/codeAssist.js +1 -1
  52. package/dist/src/code_assist/codeAssist.js.map +1 -1
  53. package/dist/src/code_assist/codeAssist.test.js +2 -2
  54. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  55. package/dist/src/code_assist/converter.d.ts +9 -4
  56. package/dist/src/code_assist/converter.js +17 -2
  57. package/dist/src/code_assist/converter.js.map +1 -1
  58. package/dist/src/code_assist/converter.test.js.map +1 -1
  59. package/dist/src/code_assist/oauth2.js +6 -3
  60. package/dist/src/code_assist/oauth2.js.map +1 -1
  61. package/dist/src/code_assist/oauth2.test.js +1 -0
  62. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  63. package/dist/src/code_assist/server.d.ts +9 -4
  64. package/dist/src/code_assist/server.js +86 -5
  65. package/dist/src/code_assist/server.js.map +1 -1
  66. package/dist/src/code_assist/server.test.js +11 -0
  67. package/dist/src/code_assist/server.test.js.map +1 -1
  68. package/dist/src/code_assist/setup.d.ts +2 -1
  69. package/dist/src/code_assist/setup.js +15 -4
  70. package/dist/src/code_assist/setup.js.map +1 -1
  71. package/dist/src/code_assist/types.d.ts +33 -10
  72. package/dist/src/code_assist/types.js.map +1 -1
  73. package/dist/src/config/config.d.ts +50 -4
  74. package/dist/src/config/config.js +77 -3
  75. package/dist/src/config/config.js.map +1 -1
  76. package/dist/src/config/config.test.js +151 -1
  77. package/dist/src/config/config.test.js.map +1 -1
  78. package/dist/src/config/storage.d.ts +1 -0
  79. package/dist/src/config/storage.js +4 -1
  80. package/dist/src/config/storage.js.map +1 -1
  81. package/dist/src/core/contentGenerator.d.ts +3 -2
  82. package/dist/src/core/contentGenerator.js +9 -2
  83. package/dist/src/core/contentGenerator.js.map +1 -1
  84. package/dist/src/core/coreToolScheduler.js +2 -1
  85. package/dist/src/core/coreToolScheduler.js.map +1 -1
  86. package/dist/src/core/coreToolScheduler.test.js +21 -2
  87. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  88. package/dist/src/core/fakeContentGenerator.d.ts +2 -1
  89. package/dist/src/core/fakeContentGenerator.js +1 -0
  90. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  91. package/dist/src/core/geminiChat.js +6 -2
  92. package/dist/src/core/geminiChat.js.map +1 -1
  93. package/dist/src/core/geminiChat.test.js +34 -0
  94. package/dist/src/core/geminiChat.test.js.map +1 -1
  95. package/dist/src/core/localLiteRtLmClient.d.ts +24 -0
  96. package/dist/src/core/localLiteRtLmClient.js +77 -0
  97. package/dist/src/core/localLiteRtLmClient.js.map +1 -0
  98. package/dist/src/core/localLiteRtLmClient.test.d.ts +6 -0
  99. package/dist/src/core/localLiteRtLmClient.test.js +87 -0
  100. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -0
  101. package/dist/src/core/loggingContentGenerator.d.ts +2 -1
  102. package/dist/src/core/loggingContentGenerator.js +39 -17
  103. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  104. package/dist/src/core/loggingContentGenerator.test.js +122 -5
  105. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  106. package/dist/src/core/prompts.test.js +1 -1
  107. package/dist/src/core/prompts.test.js.map +1 -1
  108. package/dist/src/fallback/handler.js +2 -0
  109. package/dist/src/fallback/handler.js.map +1 -1
  110. package/dist/src/fallback/types.d.ts +1 -1
  111. package/dist/src/generated/git-commit.d.ts +2 -2
  112. package/dist/src/generated/git-commit.js +2 -2
  113. package/dist/src/index.d.ts +5 -0
  114. package/dist/src/index.js +5 -0
  115. package/dist/src/index.js.map +1 -1
  116. package/dist/src/policy/config.d.ts +18 -6
  117. package/dist/src/policy/config.js +51 -14
  118. package/dist/src/policy/config.js.map +1 -1
  119. package/dist/src/policy/config.test.js +26 -26
  120. package/dist/src/policy/config.test.js.map +1 -1
  121. package/dist/src/policy/persistence.test.js +9 -14
  122. package/dist/src/policy/persistence.test.js.map +1 -1
  123. package/dist/src/policy/policies/plan.toml +1 -1
  124. package/dist/src/policy/policy-engine.d.ts +8 -0
  125. package/dist/src/policy/policy-engine.js +12 -0
  126. package/dist/src/policy/policy-engine.js.map +1 -1
  127. package/dist/src/policy/policy-engine.test.js +93 -0
  128. package/dist/src/policy/policy-engine.test.js.map +1 -1
  129. package/dist/src/policy/policy-updater.test.js +1 -1
  130. package/dist/src/policy/policy-updater.test.js.map +1 -1
  131. package/dist/src/policy/toml-loader.d.ts +1 -1
  132. package/dist/src/policy/toml-loader.js +4 -2
  133. package/dist/src/policy/toml-loader.js.map +1 -1
  134. package/dist/src/policy/toml-loader.test.js +15 -12
  135. package/dist/src/policy/toml-loader.test.js.map +1 -1
  136. package/dist/src/policy/workspace-policy.test.js +10 -10
  137. package/dist/src/prompts/snippets.js +43 -27
  138. package/dist/src/prompts/snippets.js.map +1 -1
  139. package/dist/src/routing/modelRouterService.js +19 -11
  140. package/dist/src/routing/modelRouterService.js.map +1 -1
  141. package/dist/src/routing/modelRouterService.test.js +38 -1
  142. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  143. package/dist/src/routing/routingStrategy.d.ts +3 -2
  144. package/dist/src/routing/strategies/classifierStrategy.d.ts +2 -1
  145. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  146. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  147. package/dist/src/routing/strategies/classifierStrategy.test.js +15 -13
  148. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  149. package/dist/src/routing/strategies/compositeStrategy.d.ts +2 -1
  150. package/dist/src/routing/strategies/compositeStrategy.js +3 -3
  151. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
  152. package/dist/src/routing/strategies/compositeStrategy.test.js +10 -8
  153. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
  154. package/dist/src/routing/strategies/defaultStrategy.d.ts +2 -1
  155. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  156. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  157. package/dist/src/routing/strategies/defaultStrategy.test.js +8 -4
  158. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -1
  159. package/dist/src/routing/strategies/fallbackStrategy.d.ts +2 -1
  160. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  161. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  162. package/dist/src/routing/strategies/fallbackStrategy.test.js +6 -5
  163. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  164. package/dist/src/routing/strategies/gemmaClassifierStrategy.d.ts +14 -0
  165. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +182 -0
  166. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -0
  167. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.d.ts +6 -0
  168. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +218 -0
  169. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -0
  170. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +2 -1
  171. package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
  172. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  173. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +24 -22
  174. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  175. package/dist/src/routing/strategies/overrideStrategy.d.ts +2 -1
  176. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  177. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  178. package/dist/src/routing/strategies/overrideStrategy.test.js +5 -4
  179. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  180. package/dist/src/scheduler/scheduler.d.ts +1 -0
  181. package/dist/src/scheduler/scheduler.js +18 -7
  182. package/dist/src/scheduler/scheduler.js.map +1 -1
  183. package/dist/src/scheduler/scheduler.test.js +19 -1
  184. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  185. package/dist/src/scheduler/scheduler_parallel.test.js +94 -3
  186. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  187. package/dist/src/scheduler/tool-executor.js +21 -12
  188. package/dist/src/scheduler/tool-executor.js.map +1 -1
  189. package/dist/src/scheduler/tool-executor.test.js +54 -0
  190. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  191. package/dist/src/services/trackerService.d.ts +49 -0
  192. package/dist/src/services/trackerService.js +172 -0
  193. package/dist/src/services/trackerService.js.map +1 -0
  194. package/dist/src/services/trackerService.test.d.ts +6 -0
  195. package/dist/src/services/trackerService.test.js +117 -0
  196. package/dist/src/services/trackerService.test.js.map +1 -0
  197. package/dist/src/services/trackerTypes.d.ts +51 -0
  198. package/dist/src/services/trackerTypes.js +33 -0
  199. package/dist/src/services/trackerTypes.js.map +1 -0
  200. package/dist/src/telemetry/billingEvents.d.ts +75 -0
  201. package/dist/src/telemetry/billingEvents.js +181 -0
  202. package/dist/src/telemetry/billingEvents.js.map +1 -0
  203. package/dist/src/telemetry/billingEvents.test.d.ts +6 -0
  204. package/dist/src/telemetry/billingEvents.test.js +139 -0
  205. package/dist/src/telemetry/billingEvents.test.js.map +1 -0
  206. package/dist/src/telemetry/conseca-logger.test.js +1 -0
  207. package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
  208. package/dist/src/telemetry/constants.d.ts +25 -0
  209. package/dist/src/telemetry/constants.js +29 -0
  210. package/dist/src/telemetry/constants.js.map +1 -1
  211. package/dist/src/telemetry/index.d.ts +3 -1
  212. package/dist/src/telemetry/index.js +5 -1
  213. package/dist/src/telemetry/index.js.map +1 -1
  214. package/dist/src/telemetry/loggers.d.ts +2 -0
  215. package/dist/src/telemetry/loggers.js +10 -0
  216. package/dist/src/telemetry/loggers.js.map +1 -1
  217. package/dist/src/telemetry/loggers.test.js +16 -0
  218. package/dist/src/telemetry/loggers.test.js.map +1 -1
  219. package/dist/src/telemetry/metrics.d.ts +28 -0
  220. package/dist/src/telemetry/metrics.js +40 -0
  221. package/dist/src/telemetry/metrics.js.map +1 -1
  222. package/dist/src/telemetry/sanitize.test.js +1 -0
  223. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  224. package/dist/src/telemetry/sdk.test.js +1 -0
  225. package/dist/src/telemetry/sdk.test.js.map +1 -1
  226. package/dist/src/telemetry/telemetryAttributes.js +2 -0
  227. package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
  228. package/dist/src/telemetry/trace.d.ts +2 -1
  229. package/dist/src/telemetry/trace.js +13 -18
  230. package/dist/src/telemetry/trace.js.map +1 -1
  231. package/dist/src/telemetry/trace.test.d.ts +6 -0
  232. package/dist/src/telemetry/trace.test.js +116 -0
  233. package/dist/src/telemetry/trace.test.js.map +1 -0
  234. package/dist/src/tools/confirmation-policy.test.js +1 -0
  235. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  236. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +2 -2
  237. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  238. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  239. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  240. package/dist/src/tools/grep-utils.d.ts +1 -1
  241. package/dist/src/tools/grep-utils.js +4 -4
  242. package/dist/src/tools/grep-utils.js.map +1 -1
  243. package/dist/src/tools/grep.d.ts +1 -1
  244. package/dist/src/tools/grep.js +9 -9
  245. package/dist/src/tools/grep.js.map +1 -1
  246. package/dist/src/tools/grep.test.js +8 -5
  247. package/dist/src/tools/grep.test.js.map +1 -1
  248. package/dist/src/tools/line-endings.test.js +3 -11
  249. package/dist/src/tools/line-endings.test.js.map +1 -1
  250. package/dist/src/tools/mcp-client-manager.d.ts +25 -0
  251. package/dist/src/tools/mcp-client-manager.js +66 -3
  252. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  253. package/dist/src/tools/mcp-client-manager.test.js +47 -0
  254. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  255. package/dist/src/tools/mcp-client.d.ts +20 -9
  256. package/dist/src/tools/mcp-client.js +50 -46
  257. package/dist/src/tools/mcp-client.js.map +1 -1
  258. package/dist/src/tools/mcp-client.test.js +96 -84
  259. package/dist/src/tools/mcp-client.test.js.map +1 -1
  260. package/dist/src/tools/mcp-tool.d.ts +3 -3
  261. package/dist/src/tools/mcp-tool.js +1 -0
  262. package/dist/src/tools/mcp-tool.js.map +1 -1
  263. package/dist/src/tools/ripGrep.d.ts +1 -1
  264. package/dist/src/tools/ripGrep.js +7 -7
  265. package/dist/src/tools/ripGrep.js.map +1 -1
  266. package/dist/src/tools/ripGrep.test.js +10 -7
  267. package/dist/src/tools/ripGrep.test.js.map +1 -1
  268. package/dist/src/tools/tools.d.ts +1 -0
  269. package/dist/src/tools/tools.js +1 -0
  270. package/dist/src/tools/tools.js.map +1 -1
  271. package/dist/src/tools/write-file.js +4 -17
  272. package/dist/src/tools/write-file.js.map +1 -1
  273. package/dist/src/tools/write-file.test.js +29 -83
  274. package/dist/src/tools/write-file.test.js.map +1 -1
  275. package/dist/src/utils/editCorrector.d.ts +1 -42
  276. package/dist/src/utils/editCorrector.js +9 -461
  277. package/dist/src/utils/editCorrector.js.map +1 -1
  278. package/dist/src/utils/editCorrector.test.js +17 -421
  279. package/dist/src/utils/editCorrector.test.js.map +1 -1
  280. package/dist/src/utils/envExpansion.js.map +1 -1
  281. package/dist/src/utils/errors.js +7 -0
  282. package/dist/src/utils/errors.js.map +1 -1
  283. package/dist/src/utils/errors_timeout.test.d.ts +6 -0
  284. package/dist/src/utils/errors_timeout.test.js +40 -0
  285. package/dist/src/utils/errors_timeout.test.js.map +1 -0
  286. package/dist/src/utils/extensionLoader.js +35 -0
  287. package/dist/src/utils/extensionLoader.js.map +1 -1
  288. package/dist/src/utils/extensionLoader.test.js +36 -0
  289. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  290. package/dist/src/utils/fetch.js +13 -2
  291. package/dist/src/utils/fetch.js.map +1 -1
  292. package/dist/src/utils/fileUtils.js +0 -1
  293. package/dist/src/utils/fileUtils.js.map +1 -1
  294. package/dist/src/utils/fileUtils.test.js +0 -1
  295. package/dist/src/utils/fileUtils.test.js.map +1 -1
  296. package/dist/src/utils/flashFallback.test.js +24 -0
  297. package/dist/src/utils/flashFallback.test.js.map +1 -1
  298. package/dist/src/utils/googleErrors.d.ts +2 -2
  299. package/dist/src/utils/googleQuotaErrors.d.ts +3 -1
  300. package/dist/src/utils/googleQuotaErrors.js +22 -12
  301. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  302. package/dist/src/utils/googleQuotaErrors.test.js +33 -1
  303. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  304. package/dist/src/utils/retry.js +4 -2
  305. package/dist/src/utils/retry.js.map +1 -1
  306. package/dist/src/utils/retry.test.js +20 -0
  307. package/dist/src/utils/retry.test.js.map +1 -1
  308. package/dist/src/utils/schemaValidator.js +0 -1
  309. package/dist/src/utils/schemaValidator.js.map +1 -1
  310. package/dist/tsconfig.tsbuildinfo +1 -1
  311. package/package.json +1 -1
  312. package/dist/google-gemini-cli-core-0.31.0-preview.1.tgz +0 -0
@@ -1,6 +1,6 @@
1
- # Preview release: v0.30.0-preview.5
1
+ # Preview release: v0.31.0-preview.1
2
2
 
3
- Released: February 24, 2026
3
+ Released: February 27, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,306 +13,404 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Initial SDK Package:** Introduced the initial SDK package with support for
17
- custom skills and dynamic system instructions.
18
- - **Refined Plan Mode:** Refined Plan Mode with support for enabling skills,
19
- improved agentic execution, and project exploration without planning.
20
- - **Enhanced CLI UI:** Enhanced CLI UI with a new clean UI toggle, minimal-mode
21
- bleed-through, and support for Ctrl-Z suspension.
22
- - **`--policy` flag:** Added the `--policy` flag to support user-defined
23
- policies.
24
- - **New Themes:** Added Solarized Dark and Solarized Light themes.
16
+ - **Plan Mode Enhancements**: Numerous additions including automatic model
17
+ switching, custom storage directory configuration, message injection upon
18
+ manual exit, enforcement of read-only constraints, and centralized tool
19
+ visibility in the policy engine.
20
+ - **Policy Engine Updates**: Project-level policy support added, alongside MCP
21
+ server wildcard support, tool annotation propagation and matching, and
22
+ workspace-level "Always Allow" persistence.
23
+ - **MCP Integration Improvements**: Better integration through support for MCP
24
+ progress updates with input validation and throttling, environment variable
25
+ expansion for servers, and full details expansion on tool approval.
26
+ - **CLI & Core UX Enhancements**: Several UI and quality-of-life updates such as
27
+ Alt+D for forward word deletion, macOS run-event notifications, enhanced
28
+ folder trust configurations with security warnings, improved startup warnings,
29
+ and a new experimental browser agent.
30
+ - **Security & Stability**: Introduced the Conseca framework, deceptive URL and
31
+ Unicode character detection, stricter access checks, rate limits on web fetch,
32
+ and resolved multiple dependency vulnerabilities.
25
33
 
26
34
  ## What's Changed
27
35
 
28
- - fix(patch): cherry-pick 2c1d6f8 to release/v0.30.0-preview.4-pr-19369 to patch
29
- version v0.30.0-preview.4 and create version 0.30.0-preview.5 by
36
+ - fix(patch): cherry-pick 58df1c6 to release/v0.31.0-preview.0-pr-20374 to patch
37
+ version v0.31.0-preview.0 and create version 0.31.0-preview.1 by
30
38
  @gemini-cli-robot in
31
- [#20086](https://github.com/google-gemini/gemini-cli/pull/20086)
32
- - fix(patch): cherry-pick 261788c to release/v0.30.0-preview.0-pr-19453 to patch
33
- version v0.30.0-preview.0 and create version 0.30.0-preview.1 by
34
- @gemini-cli-robot in
35
- [#19490](https://github.com/google-gemini/gemini-cli/pull/19490)
36
- - feat(ux): added text wrapping capabilities to markdown tables by @devr0306 in
37
- [#18240](https://github.com/google-gemini/gemini-cli/pull/18240)
38
- - Revert "fix(mcp): ensure MCP transport is closed to prevent memory leaks" by
39
- @skeshive in [#18771](https://github.com/google-gemini/gemini-cli/pull/18771)
40
- - chore(release): bump version to 0.30.0-nightly.20260210.a2174751d by
41
- @gemini-cli-robot in
42
- [#18772](https://github.com/google-gemini/gemini-cli/pull/18772)
43
- - chore: cleanup unused and add unlisted dependencies in packages/core by
44
- @adamfweidman in
45
- [#18762](https://github.com/google-gemini/gemini-cli/pull/18762)
46
- - chore(core): update activate_skill prompt verbiage to be more direct by
47
- @NTaylorMullen in
48
- [#18605](https://github.com/google-gemini/gemini-cli/pull/18605)
49
- - Add autoconfigure memory usage setting to the dialog by @jacob314 in
50
- [#18510](https://github.com/google-gemini/gemini-cli/pull/18510)
51
- - fix(core): prevent race condition in policy persistence by @braddux in
52
- [#18506](https://github.com/google-gemini/gemini-cli/pull/18506)
53
- - fix(evals): prevent false positive in hierarchical memory test by
54
- @Abhijit-2592 in
55
- [#18777](https://github.com/google-gemini/gemini-cli/pull/18777)
56
- - test(evals): mark all `save_memory` evals as `USUALLY_PASSES` due to
57
- unreliability by @jerop in
58
- [#18786](https://github.com/google-gemini/gemini-cli/pull/18786)
59
- - feat(cli): add setting to hide shortcuts hint UI by @LyalinDotCom in
60
- [#18562](https://github.com/google-gemini/gemini-cli/pull/18562)
61
- - feat(core): formalize 5-phase sequential planning workflow by @jerop in
62
- [#18759](https://github.com/google-gemini/gemini-cli/pull/18759)
63
- - Introduce limits for search results. by @gundermanc in
64
- [#18767](https://github.com/google-gemini/gemini-cli/pull/18767)
65
- - fix(cli): allow closing debug console after auto-open via flicker by
39
+ [#20568](https://github.com/google-gemini/gemini-cli/pull/20568)
40
+ - Use ranged reads and limited searches and fuzzy editing improvements by
41
+ @gundermanc in
42
+ [#19240](https://github.com/google-gemini/gemini-cli/pull/19240)
43
+ - Fix bottom border color by @jacob314 in
44
+ [#19266](https://github.com/google-gemini/gemini-cli/pull/19266)
45
+ - Release note generator fix by @g-samroberts in
46
+ [#19363](https://github.com/google-gemini/gemini-cli/pull/19363)
47
+ - test(evals): add behavioral tests for tool output masking by @NTaylorMullen in
48
+ [#19172](https://github.com/google-gemini/gemini-cli/pull/19172)
49
+ - docs: clarify preflight instructions in GEMINI.md by @NTaylorMullen in
50
+ [#19377](https://github.com/google-gemini/gemini-cli/pull/19377)
51
+ - feat(cli): add gemini --resume hint on exit by @Mag1ck in
52
+ [#16285](https://github.com/google-gemini/gemini-cli/pull/16285)
53
+ - fix: optimize height calculations for ask_user dialog by @jackwotherspoon in
54
+ [#19017](https://github.com/google-gemini/gemini-cli/pull/19017)
55
+ - feat(cli): add Alt+D for forward word deletion by @scidomino in
56
+ [#19300](https://github.com/google-gemini/gemini-cli/pull/19300)
57
+ - Disable failing eval test by @chrstnb in
58
+ [#19455](https://github.com/google-gemini/gemini-cli/pull/19455)
59
+ - fix(cli): support legacy onConfirm callback in ToolActionsContext by
66
60
  @SandyTao520 in
67
- [#18795](https://github.com/google-gemini/gemini-cli/pull/18795)
68
- - feat(masking): enable tool output masking by default by @abhipatel12 in
69
- [#18564](https://github.com/google-gemini/gemini-cli/pull/18564)
70
- - perf(ui): optimize table rendering by memoizing styled characters by @devr0306
71
- in [#18770](https://github.com/google-gemini/gemini-cli/pull/18770)
72
- - feat: multi-line text answers in ask-user tool by @jackwotherspoon in
73
- [#18741](https://github.com/google-gemini/gemini-cli/pull/18741)
74
- - perf(cli): truncate large debug logs and limit message history by @mattKorwel
75
- in [#18663](https://github.com/google-gemini/gemini-cli/pull/18663)
76
- - fix(core): complete MCP discovery when configured servers are skipped by
61
+ [#19369](https://github.com/google-gemini/gemini-cli/pull/19369)
62
+ - chore(deps): bump tar from 7.5.7 to 7.5.8 by dependabot[bot] in
63
+ [#19367](https://github.com/google-gemini/gemini-cli/pull/19367)
64
+ - fix(plan): allow safe fallback when experiment setting for plan is not enabled
65
+ but approval mode at startup is plan by @Adib234 in
66
+ [#19439](https://github.com/google-gemini/gemini-cli/pull/19439)
67
+ - Add explicit color-convert dependency by @chrstnb in
68
+ [#19460](https://github.com/google-gemini/gemini-cli/pull/19460)
69
+ - feat(devtools): migrate devtools package into monorepo by @SandyTao520 in
70
+ [#18936](https://github.com/google-gemini/gemini-cli/pull/18936)
71
+ - fix(core): clarify plan mode constraints and exit mechanism by @jerop in
72
+ [#19438](https://github.com/google-gemini/gemini-cli/pull/19438)
73
+ - feat(cli): add macOS run-event notifications (interactive only) by
77
74
  @LyalinDotCom in
78
- [#18586](https://github.com/google-gemini/gemini-cli/pull/18586)
79
- - fix(core): cache CLI version to ensure consistency during sessions by
80
- @sehoon38 in [#18793](https://github.com/google-gemini/gemini-cli/pull/18793)
81
- - fix(cli): resolve double rendering in shpool and address vscode lint warnings
82
- by @braddux in
83
- [#18704](https://github.com/google-gemini/gemini-cli/pull/18704)
84
- - feat(plan): document and validate Plan Mode policy overrides by @jerop in
85
- [#18825](https://github.com/google-gemini/gemini-cli/pull/18825)
86
- - Fix pressing any key to exit select mode. by @jacob314 in
87
- [#18421](https://github.com/google-gemini/gemini-cli/pull/18421)
88
- - fix(cli): update F12 behavior to only open drawer if browser fails by
89
- @SandyTao520 in
90
- [#18829](https://github.com/google-gemini/gemini-cli/pull/18829)
91
- - feat(plan): allow skills to be enabled in plan mode by @Adib234 in
92
- [#18817](https://github.com/google-gemini/gemini-cli/pull/18817)
93
- - docs(plan): add documentation for plan mode tools by @jerop in
94
- [#18827](https://github.com/google-gemini/gemini-cli/pull/18827)
95
- - Remove experimental note in extension settings docs by @chrstnb in
96
- [#18822](https://github.com/google-gemini/gemini-cli/pull/18822)
97
- - Update prompt and grep tool definition to limit context size by @gundermanc in
98
- [#18780](https://github.com/google-gemini/gemini-cli/pull/18780)
99
- - docs(plan): add `ask_user` tool documentation by @jerop in
100
- [#18830](https://github.com/google-gemini/gemini-cli/pull/18830)
101
- - Revert unintended credentials exposure by @Adib234 in
102
- [#18840](https://github.com/google-gemini/gemini-cli/pull/18840)
103
- - feat(core): update internal utility models to Gemini 3 by @SandyTao520 in
104
- [#18773](https://github.com/google-gemini/gemini-cli/pull/18773)
105
- - feat(a2a): add value-resolver for auth credential resolution by @adamfweidman
106
- in [#18653](https://github.com/google-gemini/gemini-cli/pull/18653)
107
- - Removed getPlainTextLength by @devr0306 in
108
- [#18848](https://github.com/google-gemini/gemini-cli/pull/18848)
109
- - More grep prompt tweaks by @gundermanc in
110
- [#18846](https://github.com/google-gemini/gemini-cli/pull/18846)
111
- - refactor(cli): Reactive useSettingsStore hook by @psinha40898 in
112
- [#14915](https://github.com/google-gemini/gemini-cli/pull/14915)
113
- - fix(mcp): Ensure that stdio MCP server execution has the `GEMINI_CLI=1` env
114
- variable populated. by @richieforeman in
115
- [#18832](https://github.com/google-gemini/gemini-cli/pull/18832)
116
- - fix(core): improve headless mode detection for flags and query args by @galz10
117
- in [#18855](https://github.com/google-gemini/gemini-cli/pull/18855)
118
- - refactor(cli): simplify UI and remove legacy inline tool confirmation logic by
119
- @abhipatel12 in
120
- [#18566](https://github.com/google-gemini/gemini-cli/pull/18566)
121
- - feat(cli): deprecate --allowed-tools and excludeTools in favor of policy
122
- engine by @Abhijit-2592 in
123
- [#18508](https://github.com/google-gemini/gemini-cli/pull/18508)
124
- - fix(workflows): improve maintainer detection for automated PR actions by
125
- @bdmorgan in [#18869](https://github.com/google-gemini/gemini-cli/pull/18869)
126
- - refactor(cli): consolidate useToolScheduler and delete legacy implementation
127
- by @abhipatel12 in
128
- [#18567](https://github.com/google-gemini/gemini-cli/pull/18567)
129
- - Update changelog for v0.28.0 and v0.29.0-preview0 by @g-samroberts in
130
- [#18819](https://github.com/google-gemini/gemini-cli/pull/18819)
131
- - fix(core): ensure sub-agents are registered regardless of tools.allowed by
132
- @mattKorwel in
133
- [#18870](https://github.com/google-gemini/gemini-cli/pull/18870)
134
- - Show notification when there's a conflict with an extensions command by
135
- @chrstnb in [#17890](https://github.com/google-gemini/gemini-cli/pull/17890)
136
- - fix(cli): dismiss '?' shortcuts help on hotkeys and active states by
137
- @LyalinDotCom in
138
- [#18583](https://github.com/google-gemini/gemini-cli/pull/18583)
139
- - fix(core): prioritize conditional policy rules and harden Plan Mode by
140
- @Abhijit-2592 in
141
- [#18882](https://github.com/google-gemini/gemini-cli/pull/18882)
142
- - feat(core): refine Plan Mode system prompt for agentic execution by
75
+ [#19056](https://github.com/google-gemini/gemini-cli/pull/19056)
76
+ - Changelog for v0.29.0 by @gemini-cli-robot in
77
+ [#19361](https://github.com/google-gemini/gemini-cli/pull/19361)
78
+ - fix(ui): preventing empty history items from being added by @devr0306 in
79
+ [#19014](https://github.com/google-gemini/gemini-cli/pull/19014)
80
+ - Changelog for v0.30.0-preview.0 by @gemini-cli-robot in
81
+ [#19364](https://github.com/google-gemini/gemini-cli/pull/19364)
82
+ - feat(core): add support for MCP progress updates by @NTaylorMullen in
83
+ [#19046](https://github.com/google-gemini/gemini-cli/pull/19046)
84
+ - fix(core): ensure directory exists before writing conversation file by
85
+ @godwiniheuwa in
86
+ [#18429](https://github.com/google-gemini/gemini-cli/pull/18429)
87
+ - fix(ui): move margin from top to bottom in ToolGroupMessage by @imadraude in
88
+ [#17198](https://github.com/google-gemini/gemini-cli/pull/17198)
89
+ - fix(cli): treat unknown slash commands as regular input instead of showing
90
+ error by @skyvanguard in
91
+ [#17393](https://github.com/google-gemini/gemini-cli/pull/17393)
92
+ - feat(core): experimental in-progress steering hints (2 of 2) by @joshualitt in
93
+ [#19307](https://github.com/google-gemini/gemini-cli/pull/19307)
94
+ - docs(plan): add documentation for plan mode command by @Adib234 in
95
+ [#19467](https://github.com/google-gemini/gemini-cli/pull/19467)
96
+ - fix(core): ripgrep fails when pattern looks like ripgrep flag by @syvb in
97
+ [#18858](https://github.com/google-gemini/gemini-cli/pull/18858)
98
+ - fix(cli): disable auto-completion on Shift+Tab to preserve mode cycling by
143
99
  @NTaylorMullen in
144
- [#18799](https://github.com/google-gemini/gemini-cli/pull/18799)
145
- - feat(plan): create metrics for usage of `AskUser` tool by @Adib234 in
146
- [#18820](https://github.com/google-gemini/gemini-cli/pull/18820)
147
- - feat(cli): support Ctrl-Z suspension by @scidomino in
148
- [#18931](https://github.com/google-gemini/gemini-cli/pull/18931)
149
- - fix(github-actions): use robot PAT for release creation to trigger release
150
- notes by @SandyTao520 in
151
- [#18794](https://github.com/google-gemini/gemini-cli/pull/18794)
152
- - feat: add strict seatbelt profiles and remove unusable closed profiles by
100
+ [#19451](https://github.com/google-gemini/gemini-cli/pull/19451)
101
+ - use issuer instead of authorization_endpoint for oauth discovery by
102
+ @garrettsparks in
103
+ [#17332](https://github.com/google-gemini/gemini-cli/pull/17332)
104
+ - feat(cli): include `/dir add` directories in @ autocomplete suggestions by
105
+ @jasmeetsb in [#19246](https://github.com/google-gemini/gemini-cli/pull/19246)
106
+ - feat(admin): Admin settings should only apply if adminControlsApplicable =
107
+ true and fetch errors should be fatal by @skeshive in
108
+ [#19453](https://github.com/google-gemini/gemini-cli/pull/19453)
109
+ - Format strict-development-rules command by @g-samroberts in
110
+ [#19484](https://github.com/google-gemini/gemini-cli/pull/19484)
111
+ - feat(core): centralize compatibility checks and add TrueColor detection by
112
+ @spencer426 in
113
+ [#19478](https://github.com/google-gemini/gemini-cli/pull/19478)
114
+ - Remove unused files and update index and sidebar. by @g-samroberts in
115
+ [#19479](https://github.com/google-gemini/gemini-cli/pull/19479)
116
+ - Migrate core render util to use xterm.js as part of the rendering loop. by
117
+ @jacob314 in [#19044](https://github.com/google-gemini/gemini-cli/pull/19044)
118
+ - Changelog for v0.30.0-preview.1 by @gemini-cli-robot in
119
+ [#19496](https://github.com/google-gemini/gemini-cli/pull/19496)
120
+ - build: replace deprecated built-in punycode with userland package by @jacob314
121
+ in [#19502](https://github.com/google-gemini/gemini-cli/pull/19502)
122
+ - Speculative fixes to try to fix react error. by @jacob314 in
123
+ [#19508](https://github.com/google-gemini/gemini-cli/pull/19508)
124
+ - fix spacing by @jacob314 in
125
+ [#19494](https://github.com/google-gemini/gemini-cli/pull/19494)
126
+ - fix(core): ensure user rejections update tool outcome for telemetry by
127
+ @abhiasap in [#18982](https://github.com/google-gemini/gemini-cli/pull/18982)
128
+ - fix(acp): Initialize config (#18897) by @Mervap in
129
+ [#18898](https://github.com/google-gemini/gemini-cli/pull/18898)
130
+ - fix(core): add error logging for IDE fetch failures by @yuvrajangadsingh in
131
+ [#17981](https://github.com/google-gemini/gemini-cli/pull/17981)
132
+ - feat(acp): support set_mode interface (#18890) by @Mervap in
133
+ [#18891](https://github.com/google-gemini/gemini-cli/pull/18891)
134
+ - fix(core): robust workspace-based IDE connection discovery by @ehedlund in
135
+ [#18443](https://github.com/google-gemini/gemini-cli/pull/18443)
136
+ - Deflake windows tests. by @jacob314 in
137
+ [#19511](https://github.com/google-gemini/gemini-cli/pull/19511)
138
+ - Fix: Avoid tool confirmation timeout when no UI listeners are present by
139
+ @pdHaku0 in [#17955](https://github.com/google-gemini/gemini-cli/pull/17955)
140
+ - format md file by @scidomino in
141
+ [#19474](https://github.com/google-gemini/gemini-cli/pull/19474)
142
+ - feat(cli): add experimental.useOSC52Copy setting by @scidomino in
143
+ [#19488](https://github.com/google-gemini/gemini-cli/pull/19488)
144
+ - feat(cli): replace loading phrases boolean with enum setting by @LyalinDotCom
145
+ in [#19347](https://github.com/google-gemini/gemini-cli/pull/19347)
146
+ - Update skill to adjust for generated results. by @g-samroberts in
147
+ [#19500](https://github.com/google-gemini/gemini-cli/pull/19500)
148
+ - Fix message too large issue. by @gundermanc in
149
+ [#19499](https://github.com/google-gemini/gemini-cli/pull/19499)
150
+ - fix(core): prevent duplicate tool approval entries in auto-saved.toml by
151
+ @Abhijit-2592 in
152
+ [#19487](https://github.com/google-gemini/gemini-cli/pull/19487)
153
+ - fix(core): resolve crash in ClearcutLogger when os.cpus() is empty by @Adib234
154
+ in [#19555](https://github.com/google-gemini/gemini-cli/pull/19555)
155
+ - chore(core): improve encapsulation and remove unused exports by @adamfweidman
156
+ in [#19556](https://github.com/google-gemini/gemini-cli/pull/19556)
157
+ - Revert "Add generic searchable list to back settings and extensions (… by
158
+ @chrstnb in [#19434](https://github.com/google-gemini/gemini-cli/pull/19434)
159
+ - fix(core): improve error type extraction for telemetry by @yunaseoul in
160
+ [#19565](https://github.com/google-gemini/gemini-cli/pull/19565)
161
+ - fix: remove extra padding in Composer by @jackwotherspoon in
162
+ [#19529](https://github.com/google-gemini/gemini-cli/pull/19529)
163
+ - feat(plan): support configuring custom plans storage directory by @jerop in
164
+ [#19577](https://github.com/google-gemini/gemini-cli/pull/19577)
165
+ - Migrate files to resource or references folder. by @g-samroberts in
166
+ [#19503](https://github.com/google-gemini/gemini-cli/pull/19503)
167
+ - feat(policy): implement project-level policy support by @Abhijit-2592 in
168
+ [#18682](https://github.com/google-gemini/gemini-cli/pull/18682)
169
+ - feat(core): Implement parallel FC for read only tools. by @joshualitt in
170
+ [#18791](https://github.com/google-gemini/gemini-cli/pull/18791)
171
+ - chore(skills): adds pr-address-comments skill to work on PR feedback by
172
+ @mbleigh in [#19576](https://github.com/google-gemini/gemini-cli/pull/19576)
173
+ - refactor(sdk): introduce session-based architecture by @mbleigh in
174
+ [#19180](https://github.com/google-gemini/gemini-cli/pull/19180)
175
+ - fix(ci): add fallback JSON extraction to issue triage workflow by @bdmorgan in
176
+ [#19593](https://github.com/google-gemini/gemini-cli/pull/19593)
177
+ - feat(core): refine Edit and WriteFile tool schemas for Gemini 3 by
153
178
  @SandyTao520 in
154
- [#18876](https://github.com/google-gemini/gemini-cli/pull/18876)
155
- - chore: cleanup unused and add unlisted dependencies in packages/a2a-server by
179
+ [#19476](https://github.com/google-gemini/gemini-cli/pull/19476)
180
+ - Changelog for v0.30.0-preview.3 by @gemini-cli-robot in
181
+ [#19585](https://github.com/google-gemini/gemini-cli/pull/19585)
182
+ - fix(plan): exclude EnterPlanMode tool from YOLO mode by @Adib234 in
183
+ [#19570](https://github.com/google-gemini/gemini-cli/pull/19570)
184
+ - chore: resolve build warnings and update dependencies by @mattKorwel in
185
+ [#18880](https://github.com/google-gemini/gemini-cli/pull/18880)
186
+ - feat(ui): add source indicators to slash commands by @ehedlund in
187
+ [#18839](https://github.com/google-gemini/gemini-cli/pull/18839)
188
+ - docs: refine Plan Mode documentation structure and workflow by @jerop in
189
+ [#19644](https://github.com/google-gemini/gemini-cli/pull/19644)
190
+ - Docs: Update release information regarding Gemini 3.1 by @jkcinouye in
191
+ [#19568](https://github.com/google-gemini/gemini-cli/pull/19568)
192
+ - fix(security): rate limit web_fetch tool to mitigate DDoS via prompt injection
193
+ by @mattKorwel in
194
+ [#19567](https://github.com/google-gemini/gemini-cli/pull/19567)
195
+ - Add initial implementation of /extensions explore command by @chrstnb in
196
+ [#19029](https://github.com/google-gemini/gemini-cli/pull/19029)
197
+ - fix: use discoverOAuthFromWWWAuthenticate for reactive OAuth flow (#18760) by
198
+ @maximus12793 in
199
+ [#19038](https://github.com/google-gemini/gemini-cli/pull/19038)
200
+ - Search updates by @alisa-alisa in
201
+ [#19482](https://github.com/google-gemini/gemini-cli/pull/19482)
202
+ - feat(cli): add support for numpad SS3 sequences by @scidomino in
203
+ [#19659](https://github.com/google-gemini/gemini-cli/pull/19659)
204
+ - feat(cli): enhance folder trust with configuration discovery and security
205
+ warnings by @galz10 in
206
+ [#19492](https://github.com/google-gemini/gemini-cli/pull/19492)
207
+ - feat(ui): improve startup warnings UX with dismissal and show-count limits by
208
+ @spencer426 in
209
+ [#19584](https://github.com/google-gemini/gemini-cli/pull/19584)
210
+ - feat(a2a): Add API key authentication provider by @adamfweidman in
211
+ [#19548](https://github.com/google-gemini/gemini-cli/pull/19548)
212
+ - Send accepted/removed lines with ACCEPT_FILE telemetry. by @gundermanc in
213
+ [#19670](https://github.com/google-gemini/gemini-cli/pull/19670)
214
+ - feat(models): support Gemini 3.1 Pro Preview and fixes by @sehoon38 in
215
+ [#19676](https://github.com/google-gemini/gemini-cli/pull/19676)
216
+ - feat(plan): enforce read-only constraints in Plan Mode by @mattKorwel in
217
+ [#19433](https://github.com/google-gemini/gemini-cli/pull/19433)
218
+ - fix(cli): allow perfect match @scripts/test-windows-paths.js completions to
219
+ submit on Enter by @spencer426 in
220
+ [#19562](https://github.com/google-gemini/gemini-cli/pull/19562)
221
+ - fix(core): treat 503 Service Unavailable as retryable quota error by @sehoon38
222
+ in [#19642](https://github.com/google-gemini/gemini-cli/pull/19642)
223
+ - Update sidebar.json for to allow top nav tabs. by @g-samroberts in
224
+ [#19595](https://github.com/google-gemini/gemini-cli/pull/19595)
225
+ - security: strip deceptive Unicode characters from terminal output by @ehedlund
226
+ in [#19026](https://github.com/google-gemini/gemini-cli/pull/19026)
227
+ - Fixes 'input.on' is not a function error in Gemini CLI by @gundermanc in
228
+ [#19691](https://github.com/google-gemini/gemini-cli/pull/19691)
229
+ - Revert "feat(ui): add source indicators to slash commands" by @ehedlund in
230
+ [#19695](https://github.com/google-gemini/gemini-cli/pull/19695)
231
+ - security: implement deceptive URL detection and disclosure in tool
232
+ confirmations by @ehedlund in
233
+ [#19288](https://github.com/google-gemini/gemini-cli/pull/19288)
234
+ - fix(core): restore auth consent in headless mode and add unit tests by
235
+ @ehedlund in [#19689](https://github.com/google-gemini/gemini-cli/pull/19689)
236
+ - Fix unsafe assertions in code_assist folder. by @gundermanc in
237
+ [#19706](https://github.com/google-gemini/gemini-cli/pull/19706)
238
+ - feat(cli): make JetBrains warning more specific by @jacob314 in
239
+ [#19687](https://github.com/google-gemini/gemini-cli/pull/19687)
240
+ - fix(cli): extensions dialog UX polish by @jacob314 in
241
+ [#19685](https://github.com/google-gemini/gemini-cli/pull/19685)
242
+ - fix(cli): use getDisplayString for manual model selection in dialog by
243
+ @sehoon38 in [#19726](https://github.com/google-gemini/gemini-cli/pull/19726)
244
+ - feat(policy): repurpose "Always Allow" persistence to workspace level by
245
+ @Abhijit-2592 in
246
+ [#19707](https://github.com/google-gemini/gemini-cli/pull/19707)
247
+ - fix(cli): re-enable CLI banner by @sehoon38 in
248
+ [#19741](https://github.com/google-gemini/gemini-cli/pull/19741)
249
+ - Disallow and suppress unsafe assignment by @gundermanc in
250
+ [#19736](https://github.com/google-gemini/gemini-cli/pull/19736)
251
+ - feat(core): migrate read_file to 1-based start_line/end_line parameters by
156
252
  @adamfweidman in
157
- [#18916](https://github.com/google-gemini/gemini-cli/pull/18916)
158
- - fix(plan): isolate plan files per session by @Adib234 in
159
- [#18757](https://github.com/google-gemini/gemini-cli/pull/18757)
160
- - fix: character truncation in raw markdown mode by @jackwotherspoon in
161
- [#18938](https://github.com/google-gemini/gemini-cli/pull/18938)
162
- - feat(cli): prototype clean UI toggle and minimal-mode bleed-through by
163
- @LyalinDotCom in
164
- [#18683](https://github.com/google-gemini/gemini-cli/pull/18683)
165
- - ui(polish) blend background color with theme by @jacob314 in
166
- [#18802](https://github.com/google-gemini/gemini-cli/pull/18802)
167
- - Add generic searchable list to back settings and extensions by @chrstnb in
168
- [#18838](https://github.com/google-gemini/gemini-cli/pull/18838)
169
- - feat(ui): align `AskUser` color scheme with UX spec by @jerop in
170
- [#18943](https://github.com/google-gemini/gemini-cli/pull/18943)
171
- - Hide AskUser tool validation errors from UI (agent self-corrects) by @jerop in
172
- [#18954](https://github.com/google-gemini/gemini-cli/pull/18954)
173
- - bug(cli) fix flicker due to AppContainer continuous initialization by
174
- @jacob314 in [#18958](https://github.com/google-gemini/gemini-cli/pull/18958)
175
- - feat(admin): Add admin controls documentation by @skeshive in
176
- [#18644](https://github.com/google-gemini/gemini-cli/pull/18644)
177
- - feat(cli): disable ctrl-s shortcut outside of alternate buffer mode by
178
- @jacob314 in [#18887](https://github.com/google-gemini/gemini-cli/pull/18887)
179
- - fix(vim): vim support that feels (more) complete by @ppgranger in
180
- [#18755](https://github.com/google-gemini/gemini-cli/pull/18755)
181
- - feat(policy): add --policy flag for user defined policies by @allenhutchison
182
- in [#18500](https://github.com/google-gemini/gemini-cli/pull/18500)
183
- - Update installation guide by @g-samroberts in
184
- [#18823](https://github.com/google-gemini/gemini-cli/pull/18823)
185
- - refactor(core): centralize tool definitions (Group 1: replace, search, grep)
186
- by @aishaneeshah in
187
- [#18944](https://github.com/google-gemini/gemini-cli/pull/18944)
188
- - refactor(cli): finalize event-driven transition and remove interaction bridge
189
- by @abhipatel12 in
190
- [#18569](https://github.com/google-gemini/gemini-cli/pull/18569)
191
- - Fix drag and drop escaping by @scidomino in
192
- [#18965](https://github.com/google-gemini/gemini-cli/pull/18965)
193
- - feat(sdk): initial package bootstrap for SDK by @mbleigh in
194
- [#18861](https://github.com/google-gemini/gemini-cli/pull/18861)
195
- - feat(sdk): implements SessionContext for SDK tool calls by @mbleigh in
196
- [#18862](https://github.com/google-gemini/gemini-cli/pull/18862)
197
- - fix(plan): make question type required in AskUser tool by @Adib234 in
198
- [#18959](https://github.com/google-gemini/gemini-cli/pull/18959)
199
- - fix(core): ensure --yolo does not force headless mode by @NTaylorMullen in
200
- [#18976](https://github.com/google-gemini/gemini-cli/pull/18976)
201
- - refactor(core): adopt `CoreToolCallStatus` enum for type safety by @jerop in
202
- [#18998](https://github.com/google-gemini/gemini-cli/pull/18998)
203
- - Enable in-CLI extension management commands for team by @chrstnb in
204
- [#18957](https://github.com/google-gemini/gemini-cli/pull/18957)
205
- - Adjust lint rules to avoid unnecessary warning. by @scidomino in
206
- [#18970](https://github.com/google-gemini/gemini-cli/pull/18970)
207
- - fix(vscode): resolve unsafe type assertion lint errors by @ehedlund in
208
- [#19006](https://github.com/google-gemini/gemini-cli/pull/19006)
209
- - Remove unnecessary eslint config file by @scidomino in
210
- [#19015](https://github.com/google-gemini/gemini-cli/pull/19015)
211
- - fix(core): Prevent loop detection false positives on lists with long shared
212
- prefixes by @SandyTao520 in
213
- [#18975](https://github.com/google-gemini/gemini-cli/pull/18975)
214
- - feat(core): fallback to chat-base when using unrecognized models for chat by
253
+ [#19526](https://github.com/google-gemini/gemini-cli/pull/19526)
254
+ - feat(cli): improve CTRL+O experience for both standard and alternate screen
255
+ buffer (ASB) modes by @jwhelangoog in
256
+ [#19010](https://github.com/google-gemini/gemini-cli/pull/19010)
257
+ - Utilize pipelining of grep_search -> read_file to eliminate turns by
258
+ @gundermanc in
259
+ [#19574](https://github.com/google-gemini/gemini-cli/pull/19574)
260
+ - refactor(core): remove unsafe type assertions in error utils (Phase 1.1) by
261
+ @mattKorwel in
262
+ [#19750](https://github.com/google-gemini/gemini-cli/pull/19750)
263
+ - Disallow unsafe returns. by @gundermanc in
264
+ [#19767](https://github.com/google-gemini/gemini-cli/pull/19767)
265
+ - fix(cli): filter subagent sessions from resume history by @abhipatel12 in
266
+ [#19698](https://github.com/google-gemini/gemini-cli/pull/19698)
267
+ - chore(lint): fix lint errors seen when running npm run lint by @abhipatel12 in
268
+ [#19844](https://github.com/google-gemini/gemini-cli/pull/19844)
269
+ - feat(core): remove unnecessary login verbiage from Code Assist auth by
270
+ @NTaylorMullen in
271
+ [#19861](https://github.com/google-gemini/gemini-cli/pull/19861)
272
+ - fix(plan): time share by approval mode dashboard reporting negative time
273
+ shares by @Adib234 in
274
+ [#19847](https://github.com/google-gemini/gemini-cli/pull/19847)
275
+ - fix(core): allow any preview model in quota access check by @bdmorgan in
276
+ [#19867](https://github.com/google-gemini/gemini-cli/pull/19867)
277
+ - fix(core): prevent omission placeholder deletions in replace/write_file by
278
+ @nsalerni in [#19870](https://github.com/google-gemini/gemini-cli/pull/19870)
279
+ - fix(core): add uniqueness guard to edit tool by @Shivangisharma4 in
280
+ [#19890](https://github.com/google-gemini/gemini-cli/pull/19890)
281
+ - refactor(config): remove enablePromptCompletion from settings by @sehoon38 in
282
+ [#19974](https://github.com/google-gemini/gemini-cli/pull/19974)
283
+ - refactor(core): move session conversion logic to core by @abhipatel12 in
284
+ [#19972](https://github.com/google-gemini/gemini-cli/pull/19972)
285
+ - Fix: Persist manual model selection on restart #19864 by @Nixxx19 in
286
+ [#19891](https://github.com/google-gemini/gemini-cli/pull/19891)
287
+ - fix(core): increase default retry attempts and add quota error backoff by
288
+ @sehoon38 in [#19949](https://github.com/google-gemini/gemini-cli/pull/19949)
289
+ - feat(core): add policy chain support for Gemini 3.1 by @sehoon38 in
290
+ [#19991](https://github.com/google-gemini/gemini-cli/pull/19991)
291
+ - Updates command reference and /stats command. by @g-samroberts in
292
+ [#19794](https://github.com/google-gemini/gemini-cli/pull/19794)
293
+ - Fix for silent failures in non-interactive mode by @owenofbrien in
294
+ [#19905](https://github.com/google-gemini/gemini-cli/pull/19905)
295
+ - fix(plan): allow plan mode writes on Windows and fix prompt paths by @Adib234
296
+ in [#19658](https://github.com/google-gemini/gemini-cli/pull/19658)
297
+ - fix(core): prevent OAuth server crash on unexpected requests by @reyyanxahmed
298
+ in [#19668](https://github.com/google-gemini/gemini-cli/pull/19668)
299
+ - feat: Map tool kinds to explicit ACP.ToolKind values and update test … by
300
+ @sripasg in [#19547](https://github.com/google-gemini/gemini-cli/pull/19547)
301
+ - chore: restrict gemini-automted-issue-triage to only allow echo by @galz10 in
302
+ [#20047](https://github.com/google-gemini/gemini-cli/pull/20047)
303
+ - Allow ask headers longer than 16 chars by @scidomino in
304
+ [#20041](https://github.com/google-gemini/gemini-cli/pull/20041)
305
+ - fix(core): prevent state corruption in McpClientManager during collis by @h30s
306
+ in [#19782](https://github.com/google-gemini/gemini-cli/pull/19782)
307
+ - fix(bundling): copy devtools package to bundle for runtime resolution by
215
308
  @SandyTao520 in
216
- [#19016](https://github.com/google-gemini/gemini-cli/pull/19016)
217
- - docs: fix inconsistent commandRegex example in policy engine by @NTaylorMullen
218
- in [#19027](https://github.com/google-gemini/gemini-cli/pull/19027)
219
- - fix(plan): persist the approval mode in UI even when agent is thinking by
220
- @Adib234 in [#18955](https://github.com/google-gemini/gemini-cli/pull/18955)
221
- - feat(sdk): Implement dynamic system instructions by @mbleigh in
222
- [#18863](https://github.com/google-gemini/gemini-cli/pull/18863)
223
- - Docs: Refresh docs to organize and standardize reference materials. by
224
- @jkcinouye in [#18403](https://github.com/google-gemini/gemini-cli/pull/18403)
225
- - fix windows escaping (and broken tests) by @scidomino in
226
- [#19011](https://github.com/google-gemini/gemini-cli/pull/19011)
227
- - refactor: use `CoreToolCallStatus` in the the history data model by @jerop in
228
- [#19033](https://github.com/google-gemini/gemini-cli/pull/19033)
229
- - feat(cleanup): enable 30-day session retention by default by @skeshive in
230
- [#18854](https://github.com/google-gemini/gemini-cli/pull/18854)
231
- - feat(plan): hide plan write and edit operations on plans in Plan Mode by
232
- @jerop in [#19012](https://github.com/google-gemini/gemini-cli/pull/19012)
233
- - bug(ui) fix flicker refreshing background color by @jacob314 in
234
- [#19041](https://github.com/google-gemini/gemini-cli/pull/19041)
235
- - chore: fix dep vulnerabilities by @scidomino in
236
- [#19036](https://github.com/google-gemini/gemini-cli/pull/19036)
237
- - Revamp automated changelog skill by @g-samroberts in
238
- [#18974](https://github.com/google-gemini/gemini-cli/pull/18974)
239
- - feat(sdk): implement support for custom skills by @mbleigh in
240
- [#19031](https://github.com/google-gemini/gemini-cli/pull/19031)
241
- - refactor(core): complete centralization of core tool definitions by
309
+ [#19766](https://github.com/google-gemini/gemini-cli/pull/19766)
310
+ - feat(policy): Support MCP Server Wildcards in Policy Engine by @jerop in
311
+ [#20024](https://github.com/google-gemini/gemini-cli/pull/20024)
312
+ - docs(CONTRIBUTING): update React DevTools version to 6 by @mmgok in
313
+ [#20014](https://github.com/google-gemini/gemini-cli/pull/20014)
314
+ - feat(core): optimize tool descriptions and schemas for Gemini 3 by
242
315
  @aishaneeshah in
243
- [#18991](https://github.com/google-gemini/gemini-cli/pull/18991)
244
- - feat: add /commands reload to refresh custom TOML commands by @korade-krushna
245
- in [#19078](https://github.com/google-gemini/gemini-cli/pull/19078)
246
- - fix(cli): wrap terminal capability queries in hidden sequence by @srithreepo
247
- in [#19080](https://github.com/google-gemini/gemini-cli/pull/19080)
248
- - fix(workflows): fix GitHub App token permissions for maintainer detection by
249
- @bdmorgan in [#19139](https://github.com/google-gemini/gemini-cli/pull/19139)
250
- - test: fix hook integration test flakiness on Windows CI by @NTaylorMullen in
251
- [#18665](https://github.com/google-gemini/gemini-cli/pull/18665)
252
- - fix(core): Encourage non-interactive flags for scaffolding commands by
253
- @NTaylorMullen in
254
- [#18804](https://github.com/google-gemini/gemini-cli/pull/18804)
255
- - fix(core): propagate User-Agent header to setup-phase CodeAssist API calls by
256
- @gsquared94 in
257
- [#19182](https://github.com/google-gemini/gemini-cli/pull/19182)
258
- - docs: document .agents/skills alias and discovery precedence by @kevmoo in
259
- [#19166](https://github.com/google-gemini/gemini-cli/pull/19166)
260
- - feat(cli): add loading state to new agents notification by @sehoon38 in
261
- [#19190](https://github.com/google-gemini/gemini-cli/pull/19190)
262
- - Add base branch to workflow. by @g-samroberts in
263
- [#19189](https://github.com/google-gemini/gemini-cli/pull/19189)
264
- - feat(cli): handle invalid model names in useQuotaAndFallback by @sehoon38 in
265
- [#19222](https://github.com/google-gemini/gemini-cli/pull/19222)
266
- - docs: custom themes in extensions by @jackwotherspoon in
267
- [#19219](https://github.com/google-gemini/gemini-cli/pull/19219)
268
- - Disable workspace settings when starting GCLI in the home directory. by
269
- @kevinjwang1 in
270
- [#19034](https://github.com/google-gemini/gemini-cli/pull/19034)
271
- - feat(cli): refactor model command to support set and manage subcommands by
272
- @sehoon38 in [#19221](https://github.com/google-gemini/gemini-cli/pull/19221)
273
- - Add refresh/reload aliases to slash command subcommands by @korade-krushna in
274
- [#19218](https://github.com/google-gemini/gemini-cli/pull/19218)
275
- - refactor: consolidate development rules and add cli guidelines by @jacob314 in
276
- [#19214](https://github.com/google-gemini/gemini-cli/pull/19214)
277
- - chore(ui): remove outdated tip about model routing by @sehoon38 in
278
- [#19226](https://github.com/google-gemini/gemini-cli/pull/19226)
279
- - feat(core): support custom reasoning models by default by @NTaylorMullen in
280
- [#19227](https://github.com/google-gemini/gemini-cli/pull/19227)
281
- - Add Solarized Dark and Solarized Light themes by @rmedranollamas in
282
- [#19064](https://github.com/google-gemini/gemini-cli/pull/19064)
283
- - fix(telemetry): replace JSON.stringify with safeJsonStringify in file
284
- exporters by @gsquared94 in
285
- [#19244](https://github.com/google-gemini/gemini-cli/pull/19244)
286
- - feat(telemetry): add keychain availability and token storage metrics by
287
- @abhipatel12 in
288
- [#18971](https://github.com/google-gemini/gemini-cli/pull/18971)
289
- - feat(cli): update approval mode cycle order by @jerop in
290
- [#19254](https://github.com/google-gemini/gemini-cli/pull/19254)
291
- - refactor(cli): code review cleanup fix for tab+tab by @jacob314 in
292
- [#18967](https://github.com/google-gemini/gemini-cli/pull/18967)
293
- - feat(plan): support project exploration without planning when in plan mode by
294
- @Adib234 in [#18992](https://github.com/google-gemini/gemini-cli/pull/18992)
295
- - feat: add role-specific statistics to telemetry and UI (cont. #15234) by
296
- @yunaseoul in [#18824](https://github.com/google-gemini/gemini-cli/pull/18824)
297
- - feat(cli): remove Plan Mode from rotation when actively working by @jerop in
298
- [#19262](https://github.com/google-gemini/gemini-cli/pull/19262)
299
- - Fix side breakage where anchors don't work in slugs. by @g-samroberts in
300
- [#19261](https://github.com/google-gemini/gemini-cli/pull/19261)
301
- - feat(config): add setting to make directory tree context configurable by
302
- @kevin-ramdass in
303
- [#19053](https://github.com/google-gemini/gemini-cli/pull/19053)
304
- - fix(acp): Wait for mcp initialization in acp (#18893) by @Mervap in
305
- [#18894](https://github.com/google-gemini/gemini-cli/pull/18894)
306
- - docs: format UTC times in releases doc by @pavan-sh in
307
- [#18169](https://github.com/google-gemini/gemini-cli/pull/18169)
308
- - Docs: Clarify extensions documentation. by @jkcinouye in
309
- [#19277](https://github.com/google-gemini/gemini-cli/pull/19277)
310
- - refactor(core): modularize tool definitions by model family by @aishaneeshah
311
- in [#19269](https://github.com/google-gemini/gemini-cli/pull/19269)
312
- - fix(paths): Add cross-platform path normalization by @spencer426 in
313
- [#18939](https://github.com/google-gemini/gemini-cli/pull/18939)
314
- - feat(core): experimental in-progress steering hints (1 of 3) by @joshualitt in
315
- [#19008](https://github.com/google-gemini/gemini-cli/pull/19008)
316
+ [#19643](https://github.com/google-gemini/gemini-cli/pull/19643)
317
+ - feat(core): implement experimental direct web fetch by @mbleigh in
318
+ [#19557](https://github.com/google-gemini/gemini-cli/pull/19557)
319
+ - feat(core): replace expected_replacements with allow_multiple in replace tool
320
+ by @SandyTao520 in
321
+ [#20033](https://github.com/google-gemini/gemini-cli/pull/20033)
322
+ - fix(sandbox): harden image packaging integrity checks by @aviralgarg05 in
323
+ [#19552](https://github.com/google-gemini/gemini-cli/pull/19552)
324
+ - fix(core): allow environment variable expansion and explicit overrides for MCP
325
+ servers by @galz10 in
326
+ [#18837](https://github.com/google-gemini/gemini-cli/pull/18837)
327
+ - feat(policy): Implement Tool Annotation Matching in Policy Engine by @jerop in
328
+ [#20029](https://github.com/google-gemini/gemini-cli/pull/20029)
329
+ - fix(core): prevent utility calls from changing session active model by
330
+ @adamfweidman in
331
+ [#20035](https://github.com/google-gemini/gemini-cli/pull/20035)
332
+ - fix(cli): skip workspace policy loading when in home directory by
333
+ @Abhijit-2592 in
334
+ [#20054](https://github.com/google-gemini/gemini-cli/pull/20054)
335
+ - fix(scripts): Add Windows (win32/x64) support to lint.js by @ZafeerMahmood in
336
+ [#16193](https://github.com/google-gemini/gemini-cli/pull/16193)
337
+ - fix(a2a-server): Remove unsafe type assertions in agent by @Nixxx19 in
338
+ [#19723](https://github.com/google-gemini/gemini-cli/pull/19723)
339
+ - Fix: Handle corrupted token file gracefully when switching auth types (#19845)
340
+ by @Nixxx19 in
341
+ [#19850](https://github.com/google-gemini/gemini-cli/pull/19850)
342
+ - fix critical dep vulnerability by @scidomino in
343
+ [#20087](https://github.com/google-gemini/gemini-cli/pull/20087)
344
+ - Add new setting to configure maxRetries by @kevinjwang1 in
345
+ [#20064](https://github.com/google-gemini/gemini-cli/pull/20064)
346
+ - Stabilize tests. by @gundermanc in
347
+ [#20095](https://github.com/google-gemini/gemini-cli/pull/20095)
348
+ - make windows tests mandatory by @scidomino in
349
+ [#20096](https://github.com/google-gemini/gemini-cli/pull/20096)
350
+ - Add 3.1 pro preview to behavioral evals. by @gundermanc in
351
+ [#20088](https://github.com/google-gemini/gemini-cli/pull/20088)
352
+ - feat:PR-rate-limit by @JagjeevanAK in
353
+ [#19804](https://github.com/google-gemini/gemini-cli/pull/19804)
354
+ - feat(cli): allow expanding full details of MCP tool on approval by @y-okt in
355
+ [#19916](https://github.com/google-gemini/gemini-cli/pull/19916)
356
+ - feat(security): Introduce Conseca framework by @shrishabh in
357
+ [#13193](https://github.com/google-gemini/gemini-cli/pull/13193)
358
+ - fix(cli): Remove unsafe type assertions in activityLogger #19713 by @Nixxx19
359
+ in [#19745](https://github.com/google-gemini/gemini-cli/pull/19745)
360
+ - feat: implement AfterTool tail tool calls by @googlestrobe in
361
+ [#18486](https://github.com/google-gemini/gemini-cli/pull/18486)
362
+ - ci(actions): fix PR rate limiter excluding maintainers by @scidomino in
363
+ [#20117](https://github.com/google-gemini/gemini-cli/pull/20117)
364
+ - Shortcuts: Move SectionHeader title below top line and refine styling by
365
+ @keithguerin in
366
+ [#18721](https://github.com/google-gemini/gemini-cli/pull/18721)
367
+ - refactor(ui): Update and simplify use of gray colors in themes by @keithguerin
368
+ in [#20141](https://github.com/google-gemini/gemini-cli/pull/20141)
369
+ - fix punycode2 by @jacob314 in
370
+ [#20154](https://github.com/google-gemini/gemini-cli/pull/20154)
371
+ - feat(ide): add GEMINI_CLI_IDE_PID env var to override IDE process detection by
372
+ @kiryltech in [#15842](https://github.com/google-gemini/gemini-cli/pull/15842)
373
+ - feat(policy): Propagate Tool Annotations for MCP Servers by @jerop in
374
+ [#20083](https://github.com/google-gemini/gemini-cli/pull/20083)
375
+ - fix(a2a-server): pass allowedTools settings to core Config by @reyyanxahmed in
376
+ [#19680](https://github.com/google-gemini/gemini-cli/pull/19680)
377
+ - feat(mcp): add progress bar, throttling, and input validation for MCP tool
378
+ progress by @jasmeetsb in
379
+ [#19772](https://github.com/google-gemini/gemini-cli/pull/19772)
380
+ - feat(policy): centralize plan mode tool visibility in policy engine by @jerop
381
+ in [#20178](https://github.com/google-gemini/gemini-cli/pull/20178)
382
+ - feat(browser): implement experimental browser agent by @gsquared94 in
383
+ [#19284](https://github.com/google-gemini/gemini-cli/pull/19284)
384
+ - feat(plan): summarize work after executing a plan by @jerop in
385
+ [#19432](https://github.com/google-gemini/gemini-cli/pull/19432)
386
+ - fix(core): create new McpClient on restart to apply updated config by @h30s in
387
+ [#20126](https://github.com/google-gemini/gemini-cli/pull/20126)
388
+ - Changelog for v0.30.0-preview.5 by @gemini-cli-robot in
389
+ [#20107](https://github.com/google-gemini/gemini-cli/pull/20107)
390
+ - Update packages. by @jacob314 in
391
+ [#20152](https://github.com/google-gemini/gemini-cli/pull/20152)
392
+ - Fix extension env dir loading issue by @chrstnb in
393
+ [#20198](https://github.com/google-gemini/gemini-cli/pull/20198)
394
+ - restrict /assign to help-wanted issues by @scidomino in
395
+ [#20207](https://github.com/google-gemini/gemini-cli/pull/20207)
396
+ - feat(plan): inject message when user manually exits Plan mode by @jerop in
397
+ [#20203](https://github.com/google-gemini/gemini-cli/pull/20203)
398
+ - feat(extensions): enforce folder trust for local extension install by @galz10
399
+ in [#19703](https://github.com/google-gemini/gemini-cli/pull/19703)
400
+ - feat(hooks): adds support for RuntimeHook functions. by @mbleigh in
401
+ [#19598](https://github.com/google-gemini/gemini-cli/pull/19598)
402
+ - Docs: Update UI links. by @jkcinouye in
403
+ [#20224](https://github.com/google-gemini/gemini-cli/pull/20224)
404
+ - feat: prompt users to run /terminal-setup with yes/no by @ishaanxgupta in
405
+ [#16235](https://github.com/google-gemini/gemini-cli/pull/16235)
406
+ - fix: additional high vulnerabilities (minimatch, cross-spawn) by @adamfweidman
407
+ in [#20221](https://github.com/google-gemini/gemini-cli/pull/20221)
408
+ - feat(telemetry): Add context breakdown to API response event by @SandyTao520
409
+ in [#19699](https://github.com/google-gemini/gemini-cli/pull/19699)
410
+ - Docs: Add nested sub-folders for related topics by @g-samroberts in
411
+ [#20235](https://github.com/google-gemini/gemini-cli/pull/20235)
412
+ - feat(plan): support automatic model switching for Plan Mode by @jerop in
413
+ [#20240](https://github.com/google-gemini/gemini-cli/pull/20240)
316
414
 
317
- **Full changelog**:
318
- https://github.com/google-gemini/gemini-cli/compare/v0.29.0-preview.5...v0.30.0-preview.5
415
+ **Full Changelog**:
416
+ https://github.com/google-gemini/gemini-cli/compare/v0.30.0-preview.6...v0.31.0-preview.1