@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
- # Latest stable release: v0.29.0
1
+ # Latest stable release: v0.30.1
2
2
 
3
- Released: February 17, 2026
3
+ Released: February 27, 2026
4
4
 
5
5
  For most users, our latest stable release is the recommended release. Install
6
6
  the latest stable version with:
@@ -11,371 +11,326 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Plan Mode:** Introduce a dedicated "Plan Mode" to help you architect complex
15
- changes before implementation. Use `/plan` to get started.
16
- - **Gemini 3 by Default:** Gemini 3 is now the default model family, bringing
17
- improved performance and reasoning capabilities to all users without needing a
18
- feature flag.
19
- - **Extension Discovery:** Easily discover and install extensions with the new
20
- exploration features and registry client.
21
- - **Enhanced Admin Controls:** New administrative capabilities allow for
22
- allowlisting MCP server configurations, giving organizations more control over
23
- available tools.
24
- - **Sub-agent Improvements:** Sub-agents have been transitioned to a new format
25
- with improved definitions and system prompts for better reliability.
14
+ - **SDK & Custom Skills**: Introduced the initial SDK package, dynamic system
15
+ instructions, `SessionContext` for SDK tool calls, and support for custom
16
+ skills.
17
+ - **Policy Engine Enhancements**: Added a `--policy` flag for user-defined
18
+ policies, strict seatbelt profiles, and transitioned away from
19
+ `--allowed-tools`.
20
+ - **UI & Themes**: Introduced a generic searchable list for settings and
21
+ extensions, added Solarized Dark and Light themes, text wrapping capabilities
22
+ to markdown tables, and a clean UI toggle prototype.
23
+ - **Vim Support & Ctrl-Z**: Improved Vim support to provide a more complete
24
+ experience and added support for Ctrl-Z suspension.
25
+ - **Plan Mode & Tools**: Plan Mode now supports project exploration without
26
+ planning and skills can be enabled in plan mode. Tool output masking is
27
+ enabled by default, and core tool definitions have been centralized.
26
28
 
27
29
  ## What's Changed
28
30
 
29
- - fix: remove `ask_user` tool from non-interactive modes by @jackwotherspoon in
30
- [#18154](https://github.com/google-gemini/gemini-cli/pull/18154)
31
- - fix(cli): allow restricted .env loading in untrusted sandboxed folders by
32
- @galz10 in [#17806](https://github.com/google-gemini/gemini-cli/pull/17806)
33
- - Encourage agent to utilize ecosystem tools to perform work by @gundermanc in
34
- [#17881](https://github.com/google-gemini/gemini-cli/pull/17881)
35
- - feat(plan): unify workflow location in system prompt to optimize caching by
36
- @jerop in [#18258](https://github.com/google-gemini/gemini-cli/pull/18258)
37
- - feat(core): enable getUserTierName in config by @sehoon38 in
38
- [#18265](https://github.com/google-gemini/gemini-cli/pull/18265)
39
- - feat(core): add default execution limits for subagents by @abhipatel12 in
40
- [#18274](https://github.com/google-gemini/gemini-cli/pull/18274)
41
- - Fix issue where agent gets stuck at interactive commands. by @gundermanc in
42
- [#18272](https://github.com/google-gemini/gemini-cli/pull/18272)
43
- - chore(release): bump version to 0.29.0-nightly.20260203.71f46f116 by
31
+ - fix(patch): cherry-pick 58df1c6 to release/v0.30.0-pr-20374 [CONFLICTS] by
44
32
  @gemini-cli-robot in
45
- [#18243](https://github.com/google-gemini/gemini-cli/pull/18243)
46
- - feat(core): remove hardcoded policy bypass for local subagents by @abhipatel12
47
- in [#18153](https://github.com/google-gemini/gemini-cli/pull/18153)
48
- - feat(plan): implement `plan` slash command by @Adib234 in
49
- [#17698](https://github.com/google-gemini/gemini-cli/pull/17698)
50
- - feat: increase `ask_user` label limit to 16 characters by @jackwotherspoon in
51
- [#18320](https://github.com/google-gemini/gemini-cli/pull/18320)
52
- - Add information about the agent skills lifecycle and clarify docs-writer skill
53
- metadata. by @g-samroberts in
54
- [#18234](https://github.com/google-gemini/gemini-cli/pull/18234)
55
- - feat(core): add `enter_plan_mode` tool by @jerop in
56
- [#18324](https://github.com/google-gemini/gemini-cli/pull/18324)
57
- - Stop showing an error message in `/plan` by @Adib234 in
58
- [#18333](https://github.com/google-gemini/gemini-cli/pull/18333)
59
- - fix(hooks): remove unnecessary logging for hook registration by @abhipatel12
60
- in [#18332](https://github.com/google-gemini/gemini-cli/pull/18332)
61
- - fix(mcp): ensure MCP transport is closed to prevent memory leaks by
62
- @cbcoutinho in
63
- [#18054](https://github.com/google-gemini/gemini-cli/pull/18054)
64
- - feat(skills): implement linking for agent skills by @MushuEE in
65
- [#18295](https://github.com/google-gemini/gemini-cli/pull/18295)
66
- - Changelogs for 0.27.0 and 0.28.0-preview0 by @g-samroberts in
67
- [#18336](https://github.com/google-gemini/gemini-cli/pull/18336)
68
- - chore: correct docs as skills and hooks are stable by @jackwotherspoon in
69
- [#18358](https://github.com/google-gemini/gemini-cli/pull/18358)
70
- - feat(admin): Implement admin allowlist for MCP server configurations by
71
- @skeshive in [#18311](https://github.com/google-gemini/gemini-cli/pull/18311)
72
- - fix(core): add retry logic for transient SSL/TLS errors (#17318) by @ppgranger
73
- in [#18310](https://github.com/google-gemini/gemini-cli/pull/18310)
74
- - Add support for /extensions config command by @chrstnb in
75
- [#17895](https://github.com/google-gemini/gemini-cli/pull/17895)
76
- - fix(core): handle non-compliant mcpbridge responses from Xcode 26.3 by
77
- @peterfriese in
78
- [#18376](https://github.com/google-gemini/gemini-cli/pull/18376)
79
- - feat(cli): Add W, B, E Vim motions and operator support by @ademuri in
80
- [#16209](https://github.com/google-gemini/gemini-cli/pull/16209)
81
- - fix: Windows Specific Agent Quality & System Prompt by @scidomino in
82
- [#18351](https://github.com/google-gemini/gemini-cli/pull/18351)
83
- - feat(plan): support `replace` tool in plan mode to edit plans by @jerop in
84
- [#18379](https://github.com/google-gemini/gemini-cli/pull/18379)
85
- - Improving memory tool instructions and eval testing by @alisa-alisa in
86
- [#18091](https://github.com/google-gemini/gemini-cli/pull/18091)
87
- - fix(cli): color extension link success message green by @MushuEE in
88
- [#18386](https://github.com/google-gemini/gemini-cli/pull/18386)
89
- - undo by @jacob314 in
90
- [#18147](https://github.com/google-gemini/gemini-cli/pull/18147)
91
- - feat(plan): add guidance on iterating on approved plans vs creating new plans
92
- by @jerop in [#18346](https://github.com/google-gemini/gemini-cli/pull/18346)
93
- - feat(plan): fix invalid tool calls in plan mode by @Adib234 in
94
- [#18352](https://github.com/google-gemini/gemini-cli/pull/18352)
95
- - feat(plan): integrate planning artifacts and tools into primary workflows by
96
- @jerop in [#18375](https://github.com/google-gemini/gemini-cli/pull/18375)
97
- - Fix permission check by @scidomino in
98
- [#18395](https://github.com/google-gemini/gemini-cli/pull/18395)
99
- - ux(polish) autocomplete in the input prompt by @jacob314 in
100
- [#18181](https://github.com/google-gemini/gemini-cli/pull/18181)
101
- - fix: resolve infinite loop when using 'Modify with external editor' by
102
- @ppgranger in [#17453](https://github.com/google-gemini/gemini-cli/pull/17453)
103
- - feat: expand verify-release to macOS and Windows by @yunaseoul in
104
- [#18145](https://github.com/google-gemini/gemini-cli/pull/18145)
105
- - feat(plan): implement support for MCP servers in Plan mode by @Adib234 in
106
- [#18229](https://github.com/google-gemini/gemini-cli/pull/18229)
107
- - chore: update folder trust error messaging by @galz10 in
108
- [#18402](https://github.com/google-gemini/gemini-cli/pull/18402)
109
- - feat(plan): create a metric for execution of plans generated in plan mode by
110
- @Adib234 in [#18236](https://github.com/google-gemini/gemini-cli/pull/18236)
111
- - perf(ui): optimize stripUnsafeCharacters with regex by @gsquared94 in
112
- [#18413](https://github.com/google-gemini/gemini-cli/pull/18413)
113
- - feat(context): implement observation masking for tool outputs by @abhipatel12
114
- in [#18389](https://github.com/google-gemini/gemini-cli/pull/18389)
115
- - feat(core,cli): implement session-linked tool output storage and cleanup by
116
- @abhipatel12 in
117
- [#18416](https://github.com/google-gemini/gemini-cli/pull/18416)
118
- - Shorten temp directory by @joshualitt in
119
- [#17901](https://github.com/google-gemini/gemini-cli/pull/17901)
120
- - feat(plan): add behavioral evals for plan mode by @jerop in
121
- [#18437](https://github.com/google-gemini/gemini-cli/pull/18437)
122
- - Add extension registry client by @chrstnb in
123
- [#18396](https://github.com/google-gemini/gemini-cli/pull/18396)
124
- - Enable extension config by default by @chrstnb in
125
- [#18447](https://github.com/google-gemini/gemini-cli/pull/18447)
126
- - Automatically generate change logs on release by @g-samroberts in
127
- [#18401](https://github.com/google-gemini/gemini-cli/pull/18401)
128
- - Remove previewFeatures and default to Gemini 3 by @sehoon38 in
129
- [#18414](https://github.com/google-gemini/gemini-cli/pull/18414)
130
- - feat(admin): apply MCP allowlist to extensions & gemini mcp list command by
131
- @skeshive in [#18442](https://github.com/google-gemini/gemini-cli/pull/18442)
132
- - fix(cli): improve focus navigation for interactive and background shells by
133
- @galz10 in [#18343](https://github.com/google-gemini/gemini-cli/pull/18343)
134
- - Add shortcuts hint and panel for discoverability by @LyalinDotCom in
135
- [#18035](https://github.com/google-gemini/gemini-cli/pull/18035)
136
- - fix(config): treat system settings as read-only during migration and warn user
137
- by @spencer426 in
138
- [#18277](https://github.com/google-gemini/gemini-cli/pull/18277)
139
- - feat(plan): add positive test case and update eval stability policy by @jerop
140
- in [#18457](https://github.com/google-gemini/gemini-cli/pull/18457)
141
- - fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by
142
- @zackoch in [#18408](https://github.com/google-gemini/gemini-cli/pull/18408)
143
- - bug(core): Fix bug when saving plans. by @joshualitt in
144
- [#18465](https://github.com/google-gemini/gemini-cli/pull/18465)
145
- - Refactor atCommandProcessor by @scidomino in
146
- [#18461](https://github.com/google-gemini/gemini-cli/pull/18461)
147
- - feat(core): implement persistence and resumption for masked tool outputs by
148
- @abhipatel12 in
149
- [#18451](https://github.com/google-gemini/gemini-cli/pull/18451)
150
- - refactor: simplify tool output truncation to single config by @SandyTao520 in
151
- [#18446](https://github.com/google-gemini/gemini-cli/pull/18446)
152
- - bug(core): Ensure storage is initialized early, even if config is not. by
153
- @joshualitt in
154
- [#18471](https://github.com/google-gemini/gemini-cli/pull/18471)
155
- - chore: Update build-and-start script to support argument forwarding by
33
+ [#20567](https://github.com/google-gemini/gemini-cli/pull/20567)
34
+ - feat(ux): added text wrapping capabilities to markdown tables by @devr0306 in
35
+ [#18240](https://github.com/google-gemini/gemini-cli/pull/18240)
36
+ - Revert "fix(mcp): ensure MCP transport is closed to prevent memory leaks" by
37
+ @skeshive in [#18771](https://github.com/google-gemini/gemini-cli/pull/18771)
38
+ - chore(release): bump version to 0.30.0-nightly.20260210.a2174751d by
39
+ @gemini-cli-robot in
40
+ [#18772](https://github.com/google-gemini/gemini-cli/pull/18772)
41
+ - chore: cleanup unused and add unlisted dependencies in packages/core by
42
+ @adamfweidman in
43
+ [#18762](https://github.com/google-gemini/gemini-cli/pull/18762)
44
+ - chore(core): update activate_skill prompt verbiage to be more direct by
45
+ @NTaylorMullen in
46
+ [#18605](https://github.com/google-gemini/gemini-cli/pull/18605)
47
+ - Add autoconfigure memory usage setting to the dialog by @jacob314 in
48
+ [#18510](https://github.com/google-gemini/gemini-cli/pull/18510)
49
+ - fix(core): prevent race condition in policy persistence by @braddux in
50
+ [#18506](https://github.com/google-gemini/gemini-cli/pull/18506)
51
+ - fix(evals): prevent false positive in hierarchical memory test by
156
52
  @Abhijit-2592 in
157
- [#18241](https://github.com/google-gemini/gemini-cli/pull/18241)
158
- - fix(core): prevent subagent bypass in plan mode by @jerop in
159
- [#18484](https://github.com/google-gemini/gemini-cli/pull/18484)
160
- - feat(cli): add WebSocket-based network logging and streaming chunk support by
53
+ [#18777](https://github.com/google-gemini/gemini-cli/pull/18777)
54
+ - test(evals): mark all `save_memory` evals as `USUALLY_PASSES` due to
55
+ unreliability by @jerop in
56
+ [#18786](https://github.com/google-gemini/gemini-cli/pull/18786)
57
+ - feat(cli): add setting to hide shortcuts hint UI by @LyalinDotCom in
58
+ [#18562](https://github.com/google-gemini/gemini-cli/pull/18562)
59
+ - feat(core): formalize 5-phase sequential planning workflow by @jerop in
60
+ [#18759](https://github.com/google-gemini/gemini-cli/pull/18759)
61
+ - Introduce limits for search results. by @gundermanc in
62
+ [#18767](https://github.com/google-gemini/gemini-cli/pull/18767)
63
+ - fix(cli): allow closing debug console after auto-open via flicker by
161
64
  @SandyTao520 in
162
- [#18383](https://github.com/google-gemini/gemini-cli/pull/18383)
163
- - feat(cli): update approval modes UI by @jerop in
164
- [#18476](https://github.com/google-gemini/gemini-cli/pull/18476)
165
- - fix(cli): reload skills and agents on extension restart by @NTaylorMullen in
166
- [#18411](https://github.com/google-gemini/gemini-cli/pull/18411)
167
- - fix(core): expand excludeTools with legacy aliases for renamed tools by
65
+ [#18795](https://github.com/google-gemini/gemini-cli/pull/18795)
66
+ - feat(masking): enable tool output masking by default by @abhipatel12 in
67
+ [#18564](https://github.com/google-gemini/gemini-cli/pull/18564)
68
+ - perf(ui): optimize table rendering by memoizing styled characters by @devr0306
69
+ in [#18770](https://github.com/google-gemini/gemini-cli/pull/18770)
70
+ - feat: multi-line text answers in ask-user tool by @jackwotherspoon in
71
+ [#18741](https://github.com/google-gemini/gemini-cli/pull/18741)
72
+ - perf(cli): truncate large debug logs and limit message history by @mattKorwel
73
+ in [#18663](https://github.com/google-gemini/gemini-cli/pull/18663)
74
+ - fix(core): complete MCP discovery when configured servers are skipped by
75
+ @LyalinDotCom in
76
+ [#18586](https://github.com/google-gemini/gemini-cli/pull/18586)
77
+ - fix(core): cache CLI version to ensure consistency during sessions by
78
+ @sehoon38 in [#18793](https://github.com/google-gemini/gemini-cli/pull/18793)
79
+ - fix(cli): resolve double rendering in shpool and address vscode lint warnings
80
+ by @braddux in
81
+ [#18704](https://github.com/google-gemini/gemini-cli/pull/18704)
82
+ - feat(plan): document and validate Plan Mode policy overrides by @jerop in
83
+ [#18825](https://github.com/google-gemini/gemini-cli/pull/18825)
84
+ - Fix pressing any key to exit select mode. by @jacob314 in
85
+ [#18421](https://github.com/google-gemini/gemini-cli/pull/18421)
86
+ - fix(cli): update F12 behavior to only open drawer if browser fails by
168
87
  @SandyTao520 in
169
- [#18498](https://github.com/google-gemini/gemini-cli/pull/18498)
170
- - feat(core): overhaul system prompt for rigor, integrity, and intent alignment
171
- by @NTaylorMullen in
172
- [#17263](https://github.com/google-gemini/gemini-cli/pull/17263)
173
- - Patch for generate changelog docs yaml file by @g-samroberts in
174
- [#18496](https://github.com/google-gemini/gemini-cli/pull/18496)
175
- - Code review fixes for show question mark pr. by @jacob314 in
176
- [#18480](https://github.com/google-gemini/gemini-cli/pull/18480)
177
- - fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in
178
- [#18187](https://github.com/google-gemini/gemini-cli/pull/18187)
179
- - chore: remove redundant planning prompt from final shell by @jerop in
180
- [#18528](https://github.com/google-gemini/gemini-cli/pull/18528)
181
- - docs: require pr-creator skill for PR generation by @NTaylorMullen in
182
- [#18536](https://github.com/google-gemini/gemini-cli/pull/18536)
183
- - chore: update colors for ask_user dialog by @jackwotherspoon in
184
- [#18543](https://github.com/google-gemini/gemini-cli/pull/18543)
185
- - feat(core): exempt high-signal tools from output masking by @abhipatel12 in
186
- [#18545](https://github.com/google-gemini/gemini-cli/pull/18545)
187
- - refactor(core): remove memory tool instructions from Gemini 3 prompt by
188
- @NTaylorMullen in
189
- [#18559](https://github.com/google-gemini/gemini-cli/pull/18559)
190
- - chore: remove feedback instruction from system prompt by @NTaylorMullen in
191
- [#18560](https://github.com/google-gemini/gemini-cli/pull/18560)
192
- - feat(context): add remote configuration for tool output masking thresholds by
193
- @abhipatel12 in
194
- [#18553](https://github.com/google-gemini/gemini-cli/pull/18553)
195
- - feat(core): pause agent timeout budget while waiting for tool confirmation by
88
+ [#18829](https://github.com/google-gemini/gemini-cli/pull/18829)
89
+ - feat(plan): allow skills to be enabled in plan mode by @Adib234 in
90
+ [#18817](https://github.com/google-gemini/gemini-cli/pull/18817)
91
+ - docs(plan): add documentation for plan mode tools by @jerop in
92
+ [#18827](https://github.com/google-gemini/gemini-cli/pull/18827)
93
+ - Remove experimental note in extension settings docs by @chrstnb in
94
+ [#18822](https://github.com/google-gemini/gemini-cli/pull/18822)
95
+ - Update prompt and grep tool definition to limit context size by @gundermanc in
96
+ [#18780](https://github.com/google-gemini/gemini-cli/pull/18780)
97
+ - docs(plan): add `ask_user` tool documentation by @jerop in
98
+ [#18830](https://github.com/google-gemini/gemini-cli/pull/18830)
99
+ - Revert unintended credentials exposure by @Adib234 in
100
+ [#18840](https://github.com/google-gemini/gemini-cli/pull/18840)
101
+ - feat(core): update internal utility models to Gemini 3 by @SandyTao520 in
102
+ [#18773](https://github.com/google-gemini/gemini-cli/pull/18773)
103
+ - feat(a2a): add value-resolver for auth credential resolution by @adamfweidman
104
+ in [#18653](https://github.com/google-gemini/gemini-cli/pull/18653)
105
+ - Removed getPlainTextLength by @devr0306 in
106
+ [#18848](https://github.com/google-gemini/gemini-cli/pull/18848)
107
+ - More grep prompt tweaks by @gundermanc in
108
+ [#18846](https://github.com/google-gemini/gemini-cli/pull/18846)
109
+ - refactor(cli): Reactive useSettingsStore hook by @psinha40898 in
110
+ [#14915](https://github.com/google-gemini/gemini-cli/pull/14915)
111
+ - fix(mcp): Ensure that stdio MCP server execution has the `GEMINI_CLI=1` env
112
+ variable populated. by @richieforeman in
113
+ [#18832](https://github.com/google-gemini/gemini-cli/pull/18832)
114
+ - fix(core): improve headless mode detection for flags and query args by @galz10
115
+ in [#18855](https://github.com/google-gemini/gemini-cli/pull/18855)
116
+ - refactor(cli): simplify UI and remove legacy inline tool confirmation logic by
196
117
  @abhipatel12 in
197
- [#18415](https://github.com/google-gemini/gemini-cli/pull/18415)
198
- - refactor(config): remove experimental.enableEventDrivenScheduler setting by
199
- @abhipatel12 in
200
- [#17924](https://github.com/google-gemini/gemini-cli/pull/17924)
201
- - feat(cli): truncate shell output in UI history and improve active shell
202
- display by @jwhelangoog in
203
- [#17438](https://github.com/google-gemini/gemini-cli/pull/17438)
204
- - refactor(cli): switch useToolScheduler to event-driven engine by @abhipatel12
205
- in [#18565](https://github.com/google-gemini/gemini-cli/pull/18565)
206
- - fix(core): correct escaped interpolation in system prompt by @NTaylorMullen in
207
- [#18557](https://github.com/google-gemini/gemini-cli/pull/18557)
208
- - propagate abortSignal by @scidomino in
209
- [#18477](https://github.com/google-gemini/gemini-cli/pull/18477)
210
- - feat(core): conditionally include ctrl+f prompt based on interactive shell
211
- setting by @NTaylorMullen in
212
- [#18561](https://github.com/google-gemini/gemini-cli/pull/18561)
213
- - fix(core): ensure `enter_plan_mode` tool registration respects
214
- `experimental.plan` by @jerop in
215
- [#18587](https://github.com/google-gemini/gemini-cli/pull/18587)
216
- - feat(core): transition sub-agents to XML format and improve definitions by
217
- @NTaylorMullen in
218
- [#18555](https://github.com/google-gemini/gemini-cli/pull/18555)
219
- - docs: Add Plan Mode documentation by @jerop in
220
- [#18582](https://github.com/google-gemini/gemini-cli/pull/18582)
221
- - chore: strengthen validation guidance in system prompt by @NTaylorMullen in
222
- [#18544](https://github.com/google-gemini/gemini-cli/pull/18544)
223
- - Fix newline insertion bug in replace tool by @werdnum in
224
- [#18595](https://github.com/google-gemini/gemini-cli/pull/18595)
225
- - fix(evals): update save_memory evals and simplify tool description by
226
- @NTaylorMullen in
227
- [#18610](https://github.com/google-gemini/gemini-cli/pull/18610)
228
- - chore(evals): update validation_fidelity_pre_existing_errors to USUALLY_PASSES
229
- by @NTaylorMullen in
230
- [#18617](https://github.com/google-gemini/gemini-cli/pull/18617)
231
- - fix: shorten tool call IDs and fix duplicate tool name in truncated output
232
- filenames by @SandyTao520 in
233
- [#18600](https://github.com/google-gemini/gemini-cli/pull/18600)
234
- - feat(cli): implement atomic writes and safety checks for trusted folders by
235
- @galz10 in [#18406](https://github.com/google-gemini/gemini-cli/pull/18406)
236
- - Remove relative docs links by @chrstnb in
237
- [#18650](https://github.com/google-gemini/gemini-cli/pull/18650)
238
- - docs: add legacy snippets convention to GEMINI.md by @NTaylorMullen in
239
- [#18597](https://github.com/google-gemini/gemini-cli/pull/18597)
240
- - fix(chore): Support linting for cjs by @aswinashok44 in
241
- [#18639](https://github.com/google-gemini/gemini-cli/pull/18639)
242
- - feat: move shell efficiency guidelines to tool description by @NTaylorMullen
243
- in [#18614](https://github.com/google-gemini/gemini-cli/pull/18614)
244
- - Added "" as default value, since getText() used to expect a string only and
245
- thus crashed when undefined... Fixes #18076 by @019-Abhi in
246
- [#18099](https://github.com/google-gemini/gemini-cli/pull/18099)
247
- - Allow @-includes outside of workspaces (with permission) by @scidomino in
248
- [#18470](https://github.com/google-gemini/gemini-cli/pull/18470)
249
- - chore: make `ask_user` header description more clear by @jackwotherspoon in
250
- [#18657](https://github.com/google-gemini/gemini-cli/pull/18657)
251
- - refactor(core): model-dependent tool definitions by @aishaneeshah in
252
- [#18563](https://github.com/google-gemini/gemini-cli/pull/18563)
253
- - Harded code assist converter. by @jacob314 in
254
- [#18656](https://github.com/google-gemini/gemini-cli/pull/18656)
255
- - bug(core): Fix minor bug in migration logic. by @joshualitt in
256
- [#18661](https://github.com/google-gemini/gemini-cli/pull/18661)
257
- - feat: enable plan mode experiment in settings by @jerop in
258
- [#18636](https://github.com/google-gemini/gemini-cli/pull/18636)
259
- - refactor: push isValidPath() into parsePastedPaths() by @scidomino in
260
- [#18664](https://github.com/google-gemini/gemini-cli/pull/18664)
261
- - fix(cli): correct 'esc to cancel' position and restore duration display by
262
- @NTaylorMullen in
263
- [#18534](https://github.com/google-gemini/gemini-cli/pull/18534)
264
- - feat(cli): add DevTools integration with gemini-cli-devtools by @SandyTao520
265
- in [#18648](https://github.com/google-gemini/gemini-cli/pull/18648)
266
- - chore: remove unused exports and redundant hook files by @SandyTao520 in
267
- [#18681](https://github.com/google-gemini/gemini-cli/pull/18681)
268
- - Fix number of lines being reported in rewind confirmation dialog by @Adib234
269
- in [#18675](https://github.com/google-gemini/gemini-cli/pull/18675)
270
- - feat(cli): disable folder trust in headless mode by @galz10 in
271
- [#18407](https://github.com/google-gemini/gemini-cli/pull/18407)
272
- - Disallow unsafe type assertions by @gundermanc in
273
- [#18688](https://github.com/google-gemini/gemini-cli/pull/18688)
274
- - Change event type for release by @g-samroberts in
275
- [#18693](https://github.com/google-gemini/gemini-cli/pull/18693)
276
- - feat: handle multiple dynamic context filenames in system prompt by
277
- @NTaylorMullen in
278
- [#18598](https://github.com/google-gemini/gemini-cli/pull/18598)
279
- - Properly parse at-commands with narrow non-breaking spaces by @scidomino in
280
- [#18677](https://github.com/google-gemini/gemini-cli/pull/18677)
281
- - refactor(core): centralize core tool definitions and support model-specific
282
- schemas by @aishaneeshah in
283
- [#18662](https://github.com/google-gemini/gemini-cli/pull/18662)
284
- - feat(core): Render memory hierarchically in context. by @joshualitt in
285
- [#18350](https://github.com/google-gemini/gemini-cli/pull/18350)
286
- - feat: Ctrl+O to expand paste placeholder by @jackwotherspoon in
287
- [#18103](https://github.com/google-gemini/gemini-cli/pull/18103)
288
- - fix(cli): Improve header spacing by @NTaylorMullen in
289
- [#18531](https://github.com/google-gemini/gemini-cli/pull/18531)
290
- - Feature/quota visibility 16795 by @spencer426 in
291
- [#18203](https://github.com/google-gemini/gemini-cli/pull/18203)
292
- - Inline thinking bubbles with summary/full modes by @LyalinDotCom in
293
- [#18033](https://github.com/google-gemini/gemini-cli/pull/18033)
294
- - docs: remove TOC marker from Plan Mode header by @jerop in
295
- [#18678](https://github.com/google-gemini/gemini-cli/pull/18678)
296
- - fix(ui): remove redundant newlines in Gemini messages by @NTaylorMullen in
297
- [#18538](https://github.com/google-gemini/gemini-cli/pull/18538)
298
- - test(cli): fix AppContainer act() warnings and improve waitFor resilience by
299
- @NTaylorMullen in
300
- [#18676](https://github.com/google-gemini/gemini-cli/pull/18676)
301
- - refactor(core): refine Security & System Integrity section in system prompt by
118
+ [#18566](https://github.com/google-gemini/gemini-cli/pull/18566)
119
+ - feat(cli): deprecate --allowed-tools and excludeTools in favor of policy
120
+ engine by @Abhijit-2592 in
121
+ [#18508](https://github.com/google-gemini/gemini-cli/pull/18508)
122
+ - fix(workflows): improve maintainer detection for automated PR actions by
123
+ @bdmorgan in [#18869](https://github.com/google-gemini/gemini-cli/pull/18869)
124
+ - refactor(cli): consolidate useToolScheduler and delete legacy implementation
125
+ by @abhipatel12 in
126
+ [#18567](https://github.com/google-gemini/gemini-cli/pull/18567)
127
+ - Update changelog for v0.28.0 and v0.29.0-preview0 by @g-samroberts in
128
+ [#18819](https://github.com/google-gemini/gemini-cli/pull/18819)
129
+ - fix(core): ensure sub-agents are registered regardless of tools.allowed by
130
+ @mattKorwel in
131
+ [#18870](https://github.com/google-gemini/gemini-cli/pull/18870)
132
+ - Show notification when there's a conflict with an extensions command by
133
+ @chrstnb in [#17890](https://github.com/google-gemini/gemini-cli/pull/17890)
134
+ - fix(cli): dismiss '?' shortcuts help on hotkeys and active states by
135
+ @LyalinDotCom in
136
+ [#18583](https://github.com/google-gemini/gemini-cli/pull/18583)
137
+ - fix(core): prioritize conditional policy rules and harden Plan Mode by
138
+ @Abhijit-2592 in
139
+ [#18882](https://github.com/google-gemini/gemini-cli/pull/18882)
140
+ - feat(core): refine Plan Mode system prompt for agentic execution by
302
141
  @NTaylorMullen in
303
- [#18601](https://github.com/google-gemini/gemini-cli/pull/18601)
304
- - Fix layout rounding. by @gundermanc in
305
- [#18667](https://github.com/google-gemini/gemini-cli/pull/18667)
306
- - docs(skills): enhance pr-creator safety and interactivity by @NTaylorMullen in
307
- [#18616](https://github.com/google-gemini/gemini-cli/pull/18616)
308
- - test(core): remove hardcoded model from TestRig by @NTaylorMullen in
309
- [#18710](https://github.com/google-gemini/gemini-cli/pull/18710)
310
- - feat(core): optimize sub-agents system prompt intro by @NTaylorMullen in
311
- [#18608](https://github.com/google-gemini/gemini-cli/pull/18608)
312
- - feat(cli): update approval mode labels and shortcuts per latest UX spec by
313
- @jerop in [#18698](https://github.com/google-gemini/gemini-cli/pull/18698)
314
- - fix(plan): update persistent approval mode setting by @Adib234 in
315
- [#18638](https://github.com/google-gemini/gemini-cli/pull/18638)
316
- - fix: move toasts location to left side by @jackwotherspoon in
317
- [#18705](https://github.com/google-gemini/gemini-cli/pull/18705)
318
- - feat(routing): restrict numerical routing to Gemini 3 family by @mattKorwel in
319
- [#18478](https://github.com/google-gemini/gemini-cli/pull/18478)
320
- - fix(ide): fix ide nudge setting by @skeshive in
321
- [#18733](https://github.com/google-gemini/gemini-cli/pull/18733)
322
- - fix(core): standardize tool formatting in system prompts by @NTaylorMullen in
323
- [#18615](https://github.com/google-gemini/gemini-cli/pull/18615)
324
- - chore: consolidate to green in ask user dialog by @jackwotherspoon in
325
- [#18734](https://github.com/google-gemini/gemini-cli/pull/18734)
326
- - feat: add `extensionsExplore` setting to enable extensions explore UI. by
327
- @sripasg in [#18686](https://github.com/google-gemini/gemini-cli/pull/18686)
328
- - feat(cli): defer devtools startup and integrate with F12 by @SandyTao520 in
329
- [#18695](https://github.com/google-gemini/gemini-cli/pull/18695)
330
- - ui: update & subdue footer colors and animate progress indicator by
331
- @keithguerin in
332
- [#18570](https://github.com/google-gemini/gemini-cli/pull/18570)
333
- - test: add model-specific snapshots for coreTools by @aishaneeshah in
334
- [#18707](https://github.com/google-gemini/gemini-cli/pull/18707)
335
- - ci: shard windows tests and fix event listener leaks by @NTaylorMullen in
336
- [#18670](https://github.com/google-gemini/gemini-cli/pull/18670)
337
- - fix: allow `ask_user` tool in yolo mode by @jackwotherspoon in
338
- [#18541](https://github.com/google-gemini/gemini-cli/pull/18541)
339
- - feat: redact disabled tools from system prompt (#13597) by @NTaylorMullen in
340
- [#18613](https://github.com/google-gemini/gemini-cli/pull/18613)
341
- - Update Gemini.md to use the curent year on creating new files by @sehoon38 in
342
- [#18460](https://github.com/google-gemini/gemini-cli/pull/18460)
343
- - Code review cleanup for thinking display by @jacob314 in
344
- [#18720](https://github.com/google-gemini/gemini-cli/pull/18720)
345
- - fix(cli): hide scrollbars when in alternate buffer copy mode by @werdnum in
346
- [#18354](https://github.com/google-gemini/gemini-cli/pull/18354)
347
- - Fix issues with rip grep by @gundermanc in
348
- [#18756](https://github.com/google-gemini/gemini-cli/pull/18756)
349
- - fix(cli): fix history navigation regression after prompt autocomplete by
350
- @sehoon38 in [#18752](https://github.com/google-gemini/gemini-cli/pull/18752)
351
- - chore: cleanup unused and add unlisted dependencies in packages/cli by
142
+ [#18799](https://github.com/google-gemini/gemini-cli/pull/18799)
143
+ - feat(plan): create metrics for usage of `AskUser` tool by @Adib234 in
144
+ [#18820](https://github.com/google-gemini/gemini-cli/pull/18820)
145
+ - feat(cli): support Ctrl-Z suspension by @scidomino in
146
+ [#18931](https://github.com/google-gemini/gemini-cli/pull/18931)
147
+ - fix(github-actions): use robot PAT for release creation to trigger release
148
+ notes by @SandyTao520 in
149
+ [#18794](https://github.com/google-gemini/gemini-cli/pull/18794)
150
+ - feat: add strict seatbelt profiles and remove unusable closed profiles by
151
+ @SandyTao520 in
152
+ [#18876](https://github.com/google-gemini/gemini-cli/pull/18876)
153
+ - chore: cleanup unused and add unlisted dependencies in packages/a2a-server by
352
154
  @adamfweidman in
353
- [#18749](https://github.com/google-gemini/gemini-cli/pull/18749)
354
- - Fix issue where Gemini CLI creates tests in a new file by @gundermanc in
355
- [#18409](https://github.com/google-gemini/gemini-cli/pull/18409)
356
- - feat(telemetry): Ensure experiment IDs are included in OpenTelemetry logs by
155
+ [#18916](https://github.com/google-gemini/gemini-cli/pull/18916)
156
+ - fix(plan): isolate plan files per session by @Adib234 in
157
+ [#18757](https://github.com/google-gemini/gemini-cli/pull/18757)
158
+ - fix: character truncation in raw markdown mode by @jackwotherspoon in
159
+ [#18938](https://github.com/google-gemini/gemini-cli/pull/18938)
160
+ - feat(cli): prototype clean UI toggle and minimal-mode bleed-through by
161
+ @LyalinDotCom in
162
+ [#18683](https://github.com/google-gemini/gemini-cli/pull/18683)
163
+ - ui(polish) blend background color with theme by @jacob314 in
164
+ [#18802](https://github.com/google-gemini/gemini-cli/pull/18802)
165
+ - Add generic searchable list to back settings and extensions by @chrstnb in
166
+ [#18838](https://github.com/google-gemini/gemini-cli/pull/18838)
167
+ - feat(ui): align `AskUser` color scheme with UX spec by @jerop in
168
+ [#18943](https://github.com/google-gemini/gemini-cli/pull/18943)
169
+ - Hide AskUser tool validation errors from UI (agent self-corrects) by @jerop in
170
+ [#18954](https://github.com/google-gemini/gemini-cli/pull/18954)
171
+ - bug(cli) fix flicker due to AppContainer continuous initialization by
172
+ @jacob314 in [#18958](https://github.com/google-gemini/gemini-cli/pull/18958)
173
+ - feat(admin): Add admin controls documentation by @skeshive in
174
+ [#18644](https://github.com/google-gemini/gemini-cli/pull/18644)
175
+ - feat(cli): disable ctrl-s shortcut outside of alternate buffer mode by
176
+ @jacob314 in [#18887](https://github.com/google-gemini/gemini-cli/pull/18887)
177
+ - fix(vim): vim support that feels (more) complete by @ppgranger in
178
+ [#18755](https://github.com/google-gemini/gemini-cli/pull/18755)
179
+ - feat(policy): add --policy flag for user defined policies by @allenhutchison
180
+ in [#18500](https://github.com/google-gemini/gemini-cli/pull/18500)
181
+ - Update installation guide by @g-samroberts in
182
+ [#18823](https://github.com/google-gemini/gemini-cli/pull/18823)
183
+ - refactor(core): centralize tool definitions (Group 1: replace, search, grep)
184
+ by @aishaneeshah in
185
+ [#18944](https://github.com/google-gemini/gemini-cli/pull/18944)
186
+ - refactor(cli): finalize event-driven transition and remove interaction bridge
187
+ by @abhipatel12 in
188
+ [#18569](https://github.com/google-gemini/gemini-cli/pull/18569)
189
+ - Fix drag and drop escaping by @scidomino in
190
+ [#18965](https://github.com/google-gemini/gemini-cli/pull/18965)
191
+ - feat(sdk): initial package bootstrap for SDK by @mbleigh in
192
+ [#18861](https://github.com/google-gemini/gemini-cli/pull/18861)
193
+ - feat(sdk): implements SessionContext for SDK tool calls by @mbleigh in
194
+ [#18862](https://github.com/google-gemini/gemini-cli/pull/18862)
195
+ - fix(plan): make question type required in AskUser tool by @Adib234 in
196
+ [#18959](https://github.com/google-gemini/gemini-cli/pull/18959)
197
+ - fix(core): ensure --yolo does not force headless mode by @NTaylorMullen in
198
+ [#18976](https://github.com/google-gemini/gemini-cli/pull/18976)
199
+ - refactor(core): adopt `CoreToolCallStatus` enum for type safety by @jerop in
200
+ [#18998](https://github.com/google-gemini/gemini-cli/pull/18998)
201
+ - Enable in-CLI extension management commands for team by @chrstnb in
202
+ [#18957](https://github.com/google-gemini/gemini-cli/pull/18957)
203
+ - Adjust lint rules to avoid unnecessary warning. by @scidomino in
204
+ [#18970](https://github.com/google-gemini/gemini-cli/pull/18970)
205
+ - fix(vscode): resolve unsafe type assertion lint errors by @ehedlund in
206
+ [#19006](https://github.com/google-gemini/gemini-cli/pull/19006)
207
+ - Remove unnecessary eslint config file by @scidomino in
208
+ [#19015](https://github.com/google-gemini/gemini-cli/pull/19015)
209
+ - fix(core): Prevent loop detection false positives on lists with long shared
210
+ prefixes by @SandyTao520 in
211
+ [#18975](https://github.com/google-gemini/gemini-cli/pull/18975)
212
+ - feat(core): fallback to chat-base when using unrecognized models for chat by
213
+ @SandyTao520 in
214
+ [#19016](https://github.com/google-gemini/gemini-cli/pull/19016)
215
+ - docs: fix inconsistent commandRegex example in policy engine by @NTaylorMullen
216
+ in [#19027](https://github.com/google-gemini/gemini-cli/pull/19027)
217
+ - fix(plan): persist the approval mode in UI even when agent is thinking by
218
+ @Adib234 in [#18955](https://github.com/google-gemini/gemini-cli/pull/18955)
219
+ - feat(sdk): Implement dynamic system instructions by @mbleigh in
220
+ [#18863](https://github.com/google-gemini/gemini-cli/pull/18863)
221
+ - Docs: Refresh docs to organize and standardize reference materials. by
222
+ @jkcinouye in [#18403](https://github.com/google-gemini/gemini-cli/pull/18403)
223
+ - fix windows escaping (and broken tests) by @scidomino in
224
+ [#19011](https://github.com/google-gemini/gemini-cli/pull/19011)
225
+ - refactor: use `CoreToolCallStatus` in the the history data model by @jerop in
226
+ [#19033](https://github.com/google-gemini/gemini-cli/pull/19033)
227
+ - feat(cleanup): enable 30-day session retention by default by @skeshive in
228
+ [#18854](https://github.com/google-gemini/gemini-cli/pull/18854)
229
+ - feat(plan): hide plan write and edit operations on plans in Plan Mode by
230
+ @jerop in [#19012](https://github.com/google-gemini/gemini-cli/pull/19012)
231
+ - bug(ui) fix flicker refreshing background color by @jacob314 in
232
+ [#19041](https://github.com/google-gemini/gemini-cli/pull/19041)
233
+ - chore: fix dep vulnerabilities by @scidomino in
234
+ [#19036](https://github.com/google-gemini/gemini-cli/pull/19036)
235
+ - Revamp automated changelog skill by @g-samroberts in
236
+ [#18974](https://github.com/google-gemini/gemini-cli/pull/18974)
237
+ - feat(sdk): implement support for custom skills by @mbleigh in
238
+ [#19031](https://github.com/google-gemini/gemini-cli/pull/19031)
239
+ - refactor(core): complete centralization of core tool definitions by
240
+ @aishaneeshah in
241
+ [#18991](https://github.com/google-gemini/gemini-cli/pull/18991)
242
+ - feat: add /commands reload to refresh custom TOML commands by @korade-krushna
243
+ in [#19078](https://github.com/google-gemini/gemini-cli/pull/19078)
244
+ - fix(cli): wrap terminal capability queries in hidden sequence by @srithreepo
245
+ in [#19080](https://github.com/google-gemini/gemini-cli/pull/19080)
246
+ - fix(workflows): fix GitHub App token permissions for maintainer detection by
247
+ @bdmorgan in [#19139](https://github.com/google-gemini/gemini-cli/pull/19139)
248
+ - test: fix hook integration test flakiness on Windows CI by @NTaylorMullen in
249
+ [#18665](https://github.com/google-gemini/gemini-cli/pull/18665)
250
+ - fix(core): Encourage non-interactive flags for scaffolding commands by
251
+ @NTaylorMullen in
252
+ [#18804](https://github.com/google-gemini/gemini-cli/pull/18804)
253
+ - fix(core): propagate User-Agent header to setup-phase CodeAssist API calls by
254
+ @gsquared94 in
255
+ [#19182](https://github.com/google-gemini/gemini-cli/pull/19182)
256
+ - docs: document .agents/skills alias and discovery precedence by @kevmoo in
257
+ [#19166](https://github.com/google-gemini/gemini-cli/pull/19166)
258
+ - feat(cli): add loading state to new agents notification by @sehoon38 in
259
+ [#19190](https://github.com/google-gemini/gemini-cli/pull/19190)
260
+ - Add base branch to workflow. by @g-samroberts in
261
+ [#19189](https://github.com/google-gemini/gemini-cli/pull/19189)
262
+ - feat(cli): handle invalid model names in useQuotaAndFallback by @sehoon38 in
263
+ [#19222](https://github.com/google-gemini/gemini-cli/pull/19222)
264
+ - docs: custom themes in extensions by @jackwotherspoon in
265
+ [#19219](https://github.com/google-gemini/gemini-cli/pull/19219)
266
+ - Disable workspace settings when starting GCLI in the home directory. by
267
+ @kevinjwang1 in
268
+ [#19034](https://github.com/google-gemini/gemini-cli/pull/19034)
269
+ - feat(cli): refactor model command to support set and manage subcommands by
270
+ @sehoon38 in [#19221](https://github.com/google-gemini/gemini-cli/pull/19221)
271
+ - Add refresh/reload aliases to slash command subcommands by @korade-krushna in
272
+ [#19218](https://github.com/google-gemini/gemini-cli/pull/19218)
273
+ - refactor: consolidate development rules and add cli guidelines by @jacob314 in
274
+ [#19214](https://github.com/google-gemini/gemini-cli/pull/19214)
275
+ - chore(ui): remove outdated tip about model routing by @sehoon38 in
276
+ [#19226](https://github.com/google-gemini/gemini-cli/pull/19226)
277
+ - feat(core): support custom reasoning models by default by @NTaylorMullen in
278
+ [#19227](https://github.com/google-gemini/gemini-cli/pull/19227)
279
+ - Add Solarized Dark and Solarized Light themes by @rmedranollamas in
280
+ [#19064](https://github.com/google-gemini/gemini-cli/pull/19064)
281
+ - fix(telemetry): replace JSON.stringify with safeJsonStringify in file
282
+ exporters by @gsquared94 in
283
+ [#19244](https://github.com/google-gemini/gemini-cli/pull/19244)
284
+ - feat(telemetry): add keychain availability and token storage metrics by
285
+ @abhipatel12 in
286
+ [#18971](https://github.com/google-gemini/gemini-cli/pull/18971)
287
+ - feat(cli): update approval mode cycle order by @jerop in
288
+ [#19254](https://github.com/google-gemini/gemini-cli/pull/19254)
289
+ - refactor(cli): code review cleanup fix for tab+tab by @jacob314 in
290
+ [#18967](https://github.com/google-gemini/gemini-cli/pull/18967)
291
+ - feat(plan): support project exploration without planning when in plan mode by
292
+ @Adib234 in [#18992](https://github.com/google-gemini/gemini-cli/pull/18992)
293
+ - feat: add role-specific statistics to telemetry and UI (cont. #15234) by
294
+ @yunaseoul in [#18824](https://github.com/google-gemini/gemini-cli/pull/18824)
295
+ - feat(cli): remove Plan Mode from rotation when actively working by @jerop in
296
+ [#19262](https://github.com/google-gemini/gemini-cli/pull/19262)
297
+ - Fix side breakage where anchors don't work in slugs. by @g-samroberts in
298
+ [#19261](https://github.com/google-gemini/gemini-cli/pull/19261)
299
+ - feat(config): add setting to make directory tree context configurable by
357
300
  @kevin-ramdass in
358
- [#18747](https://github.com/google-gemini/gemini-cli/pull/18747)
359
- - fix(patch): cherry-pick e9a9474 to release/v0.29.0-preview.0-pr-18840 to patch
360
- version v0.29.0-preview.0 and create version 0.29.0-preview.1 by
301
+ [#19053](https://github.com/google-gemini/gemini-cli/pull/19053)
302
+ - fix(acp): Wait for mcp initialization in acp (#18893) by @Mervap in
303
+ [#18894](https://github.com/google-gemini/gemini-cli/pull/18894)
304
+ - docs: format UTC times in releases doc by @pavan-sh in
305
+ [#18169](https://github.com/google-gemini/gemini-cli/pull/18169)
306
+ - Docs: Clarify extensions documentation. by @jkcinouye in
307
+ [#19277](https://github.com/google-gemini/gemini-cli/pull/19277)
308
+ - refactor(core): modularize tool definitions by model family by @aishaneeshah
309
+ in [#19269](https://github.com/google-gemini/gemini-cli/pull/19269)
310
+ - fix(paths): Add cross-platform path normalization by @spencer426 in
311
+ [#18939](https://github.com/google-gemini/gemini-cli/pull/18939)
312
+ - feat(core): experimental in-progress steering hints (1 of 3) by @joshualitt in
313
+ [#19008](https://github.com/google-gemini/gemini-cli/pull/19008)
314
+ - fix(patch): cherry-pick 261788c to release/v0.30.0-preview.0-pr-19453 to patch
315
+ version v0.30.0-preview.0 and create version 0.30.0-preview.1 by
361
316
  @gemini-cli-robot in
362
- [#18841](https://github.com/google-gemini/gemini-cli/pull/18841)
363
- - fix(patch): cherry-pick 08e8eea to release/v0.29.0-preview.1-pr-18855 to patch
364
- version v0.29.0-preview.1 and create version 0.29.0-preview.2 by
317
+ [#19490](https://github.com/google-gemini/gemini-cli/pull/19490)
318
+ - fix(patch): cherry-pick c43500c to release/v0.30.0-preview.1-pr-19502 to patch
319
+ version v0.30.0-preview.1 and create version 0.30.0-preview.2 by
365
320
  @gemini-cli-robot in
366
- [#18905](https://github.com/google-gemini/gemini-cli/pull/18905)
367
- - fix(patch): cherry-pick d0c6a56 to release/v0.29.0-preview.2-pr-18976 to patch
368
- version v0.29.0-preview.2 and create version 0.29.0-preview.3 by
321
+ [#19521](https://github.com/google-gemini/gemini-cli/pull/19521)
322
+ - fix(patch): cherry-pick aa9163d to release/v0.30.0-preview.3-pr-19991 to patch
323
+ version v0.30.0-preview.3 and create version 0.30.0-preview.4 by
369
324
  @gemini-cli-robot in
370
- [#19023](https://github.com/google-gemini/gemini-cli/pull/19023)
371
- - fix(patch): cherry-pick e5ff202 to release/v0.29.0-preview.3-pr-19254 to patch
372
- version v0.29.0-preview.3 and create version 0.29.0-preview.4 by
325
+ [#20040](https://github.com/google-gemini/gemini-cli/pull/20040)
326
+ - fix(patch): cherry-pick 2c1d6f8 to release/v0.30.0-preview.4-pr-19369 to patch
327
+ version v0.30.0-preview.4 and create version 0.30.0-preview.5 by
373
328
  @gemini-cli-robot in
374
- [#19264](https://github.com/google-gemini/gemini-cli/pull/19264)
375
- - fix(patch): cherry-pick 9590a09 to release/v0.29.0-preview.4-pr-18771 to patch
376
- version v0.29.0-preview.4 and create version 0.29.0-preview.5 by
329
+ [#20086](https://github.com/google-gemini/gemini-cli/pull/20086)
330
+ - fix(patch): cherry-pick d96bd05 to release/v0.30.0-preview.5-pr-19867 to patch
331
+ version v0.30.0-preview.5 and create version 0.30.0-preview.6 by
377
332
  @gemini-cli-robot in
378
- [#19274](https://github.com/google-gemini/gemini-cli/pull/19274)
333
+ [#20112](https://github.com/google-gemini/gemini-cli/pull/20112)
379
334
 
380
335
  **Full Changelog**:
381
- https://github.com/google-gemini/gemini-cli/compare/v0.28.2...v0.29.0
336
+ https://github.com/google-gemini/gemini-cli/compare/v0.29.7...v0.30.1