@google/gemini-cli-core 0.30.0-preview.5 → 0.31.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 (691) hide show
  1. package/README.md +1 -1
  2. package/dist/docs/CONTRIBUTING.md +6 -7
  3. package/dist/docs/changelogs/index.md +22 -2
  4. package/dist/docs/changelogs/latest.md +359 -293
  5. package/dist/docs/changelogs/preview.md +300 -349
  6. package/dist/docs/cli/cli-reference.md +23 -23
  7. package/dist/docs/cli/enterprise.md +7 -7
  8. package/dist/docs/cli/gemini-md.md +1 -1
  9. package/dist/docs/cli/model.md +1 -1
  10. package/dist/docs/cli/plan-mode.md +180 -80
  11. package/dist/docs/cli/sandbox.md +3 -3
  12. package/dist/docs/cli/settings.md +59 -51
  13. package/dist/docs/cli/telemetry.md +4 -1
  14. package/dist/docs/cli/themes.md +3 -3
  15. package/dist/docs/cli/trusted-folders.md +31 -0
  16. package/dist/docs/cli/tutorials/memory-management.md +2 -2
  17. package/dist/docs/cli/tutorials/session-management.md +1 -1
  18. package/dist/docs/core/index.md +7 -7
  19. package/dist/docs/core/subagents.md +155 -39
  20. package/dist/docs/extensions/reference.md +38 -14
  21. package/dist/docs/get-started/authentication.md +4 -4
  22. package/dist/docs/get-started/examples.md +2 -2
  23. package/dist/docs/get-started/gemini-3.md +17 -3
  24. package/dist/docs/get-started/index.md +11 -2
  25. package/dist/docs/hooks/best-practices.md +1 -1
  26. package/dist/docs/hooks/reference.md +8 -0
  27. package/dist/docs/ide-integration/index.md +14 -0
  28. package/dist/docs/index.md +62 -67
  29. package/dist/docs/redirects.json +19 -0
  30. package/dist/docs/{cli → reference}/commands.md +67 -11
  31. package/dist/docs/{get-started → reference}/configuration.md +93 -24
  32. package/dist/docs/{cli → reference}/keyboard-shortcuts.md +3 -3
  33. package/dist/docs/{core → reference}/policy-engine.md +63 -27
  34. package/dist/docs/{faq.md → resources/faq.md} +1 -1
  35. package/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
  36. package/dist/docs/{tos-privacy.md → resources/tos-privacy.md} +2 -2
  37. package/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
  38. package/dist/docs/sidebar.json +203 -166
  39. package/dist/docs/tools/file-system.md +7 -4
  40. package/dist/docs/tools/index.md +5 -2
  41. package/dist/docs/tools/internal-docs.md +5 -5
  42. package/dist/docs/tools/mcp-server.md +62 -2
  43. package/dist/docs/tools/planning.md +2 -0
  44. package/dist/docs/tools/shell.md +3 -3
  45. package/dist/src/agents/a2a-client-manager.test.js +1 -2
  46. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  47. package/dist/src/agents/a2aUtils.d.ts +1 -5
  48. package/dist/src/agents/a2aUtils.js +1 -1
  49. package/dist/src/agents/a2aUtils.js.map +1 -1
  50. package/dist/src/agents/acknowledgedAgents.js +1 -0
  51. package/dist/src/agents/acknowledgedAgents.js.map +1 -1
  52. package/dist/src/agents/agent-scheduler.js +1 -0
  53. package/dist/src/agents/agent-scheduler.js.map +1 -1
  54. package/dist/src/agents/agentLoader.d.ts +0 -1
  55. package/dist/src/agents/agentLoader.js +22 -21
  56. package/dist/src/agents/agentLoader.js.map +1 -1
  57. package/dist/src/agents/agentLoader.test.js +1 -5
  58. package/dist/src/agents/agentLoader.test.js.map +1 -1
  59. package/dist/src/agents/auth-provider/api-key-provider.d.ts +30 -0
  60. package/dist/src/agents/auth-provider/api-key-provider.js +66 -0
  61. package/dist/src/agents/auth-provider/api-key-provider.js.map +1 -0
  62. package/dist/src/agents/auth-provider/api-key-provider.test.d.ts +6 -0
  63. package/dist/src/agents/auth-provider/api-key-provider.test.js +130 -0
  64. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -0
  65. package/dist/src/agents/auth-provider/base-provider.d.ts +2 -2
  66. package/dist/src/agents/auth-provider/base-provider.js.map +1 -1
  67. package/dist/src/agents/auth-provider/factory.js +6 -3
  68. package/dist/src/agents/auth-provider/factory.js.map +1 -1
  69. package/dist/src/agents/auth-provider/factory.test.js +12 -0
  70. package/dist/src/agents/auth-provider/factory.test.js.map +1 -1
  71. package/dist/src/agents/auth-provider/types.d.ts +2 -4
  72. package/dist/src/agents/browser/analyzeScreenshot.d.ts +35 -0
  73. package/dist/src/agents/browser/analyzeScreenshot.js +183 -0
  74. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -0
  75. package/dist/src/agents/browser/analyzeScreenshot.test.d.ts +6 -0
  76. package/dist/src/agents/browser/analyzeScreenshot.test.js +161 -0
  77. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -0
  78. package/dist/src/agents/browser/browserAgentDefinition.d.ts +50 -0
  79. package/dist/src/agents/browser/browserAgentDefinition.js +141 -0
  80. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -0
  81. package/dist/src/agents/browser/browserAgentFactory.d.ts +42 -0
  82. package/dist/src/agents/browser/browserAgentFactory.js +107 -0
  83. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -0
  84. package/dist/src/agents/browser/browserAgentFactory.test.d.ts +6 -0
  85. package/dist/src/agents/browser/browserAgentFactory.test.js +186 -0
  86. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -0
  87. package/dist/src/agents/browser/browserAgentInvocation.d.ts +44 -0
  88. package/dist/src/agents/browser/browserAgentInvocation.js +109 -0
  89. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -0
  90. package/dist/src/agents/browser/browserAgentInvocation.test.d.ts +6 -0
  91. package/dist/src/agents/browser/browserAgentInvocation.test.js +87 -0
  92. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -0
  93. package/dist/src/agents/browser/browserManager.d.ts +110 -0
  94. package/dist/src/agents/browser/browserManager.js +323 -0
  95. package/dist/src/agents/browser/browserManager.js.map +1 -0
  96. package/dist/src/agents/browser/browserManager.test.d.ts +6 -0
  97. package/dist/src/agents/browser/browserManager.test.js +314 -0
  98. package/dist/src/agents/browser/browserManager.test.js.map +1 -0
  99. package/dist/src/agents/browser/mcpToolWrapper.d.ts +45 -0
  100. package/dist/src/agents/browser/mcpToolWrapper.js +356 -0
  101. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -0
  102. package/dist/src/agents/browser/mcpToolWrapper.test.d.ts +6 -0
  103. package/dist/src/agents/browser/mcpToolWrapper.test.js +126 -0
  104. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -0
  105. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.d.ts +6 -0
  106. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +57 -0
  107. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js.map +1 -0
  108. package/dist/src/agents/browser/modelAvailability.d.ts +23 -0
  109. package/dist/src/agents/browser/modelAvailability.js +23 -0
  110. package/dist/src/agents/browser/modelAvailability.js.map +1 -0
  111. package/dist/src/agents/local-executor.js +73 -31
  112. package/dist/src/agents/local-executor.js.map +1 -1
  113. package/dist/src/agents/local-executor.test.js +157 -4
  114. package/dist/src/agents/local-executor.test.js.map +1 -1
  115. package/dist/src/agents/local-invocation.test.js.map +1 -1
  116. package/dist/src/agents/registry.js +8 -0
  117. package/dist/src/agents/registry.js.map +1 -1
  118. package/dist/src/agents/registry.test.js.map +1 -1
  119. package/dist/src/agents/remote-invocation.d.ts +2 -1
  120. package/dist/src/agents/remote-invocation.js +3 -3
  121. package/dist/src/agents/remote-invocation.js.map +1 -1
  122. package/dist/src/agents/subagent-tool-wrapper.js +6 -0
  123. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  124. package/dist/src/agents/subagent-tool.d.ts +3 -0
  125. package/dist/src/agents/subagent-tool.js +62 -3
  126. package/dist/src/agents/subagent-tool.js.map +1 -1
  127. package/dist/src/agents/subagent-tool.test.js +143 -0
  128. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  129. package/dist/src/availability/fallbackIntegration.test.js +4 -1
  130. package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
  131. package/dist/src/availability/policyHelpers.js +3 -1
  132. package/dist/src/availability/policyHelpers.js.map +1 -1
  133. package/dist/src/availability/policyHelpers.test.js +51 -5
  134. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  135. package/dist/src/code_assist/admin/admin_controls.js +1 -0
  136. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  137. package/dist/src/code_assist/converter.js +8 -2
  138. package/dist/src/code_assist/converter.js.map +1 -1
  139. package/dist/src/code_assist/converter.test.js.map +1 -1
  140. package/dist/src/code_assist/experiments/experiments.js +1 -1
  141. package/dist/src/code_assist/experiments/experiments.js.map +1 -1
  142. package/dist/src/code_assist/oauth-credential-storage.js +1 -1
  143. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  144. package/dist/src/code_assist/oauth-credential-storage.test.js +5 -0
  145. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  146. package/dist/src/code_assist/oauth2.js +11 -8
  147. package/dist/src/code_assist/oauth2.js.map +1 -1
  148. package/dist/src/code_assist/oauth2.test.js +55 -0
  149. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  150. package/dist/src/code_assist/server.js +22 -13
  151. package/dist/src/code_assist/server.js.map +1 -1
  152. package/dist/src/code_assist/server.test.js +26 -0
  153. package/dist/src/code_assist/server.test.js.map +1 -1
  154. package/dist/src/code_assist/telemetry.js +16 -3
  155. package/dist/src/code_assist/telemetry.js.map +1 -1
  156. package/dist/src/code_assist/telemetry.test.js +10 -0
  157. package/dist/src/code_assist/telemetry.test.js.map +1 -1
  158. package/dist/src/code_assist/types.d.ts +13 -12
  159. package/dist/src/code_assist/types.js.map +1 -1
  160. package/dist/src/config/config.d.ts +83 -8
  161. package/dist/src/config/config.js +129 -24
  162. package/dist/src/config/config.js.map +1 -1
  163. package/dist/src/config/config.test.js +298 -10
  164. package/dist/src/config/config.test.js.map +1 -1
  165. package/dist/src/config/models.js +1 -0
  166. package/dist/src/config/models.js.map +1 -1
  167. package/dist/src/config/models.test.js +1 -0
  168. package/dist/src/config/models.test.js.map +1 -1
  169. package/dist/src/config/projectRegistry.js +1 -0
  170. package/dist/src/config/projectRegistry.js.map +1 -1
  171. package/dist/src/config/storage.d.ts +17 -1
  172. package/dist/src/config/storage.js +82 -2
  173. package/dist/src/config/storage.js.map +1 -1
  174. package/dist/src/config/storage.test.js +149 -2
  175. package/dist/src/config/storage.test.js.map +1 -1
  176. package/dist/src/config/userHintService.d.ts +46 -0
  177. package/dist/src/config/userHintService.js +81 -0
  178. package/dist/src/config/userHintService.js.map +1 -0
  179. package/dist/src/config/userHintService.test.d.ts +6 -0
  180. package/dist/src/config/userHintService.test.js +62 -0
  181. package/dist/src/config/userHintService.test.js.map +1 -0
  182. package/dist/src/confirmation-bus/message-bus.js +15 -3
  183. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  184. package/dist/src/confirmation-bus/message-bus.test.js +15 -0
  185. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  186. package/dist/src/confirmation-bus/types.d.ts +7 -0
  187. package/dist/src/confirmation-bus/types.js.map +1 -1
  188. package/dist/src/core/baseLlmClient.d.ts +2 -3
  189. package/dist/src/core/baseLlmClient.js +7 -5
  190. package/dist/src/core/baseLlmClient.js.map +1 -1
  191. package/dist/src/core/baseLlmClient.test.js +45 -20
  192. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  193. package/dist/src/core/client.js +18 -7
  194. package/dist/src/core/client.js.map +1 -1
  195. package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
  196. package/dist/src/core/coreToolHookTriggers.js +8 -3
  197. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  198. package/dist/src/core/coreToolScheduler.js +2 -1
  199. package/dist/src/core/coreToolScheduler.js.map +1 -1
  200. package/dist/src/core/coreToolScheduler.test.js +10 -3
  201. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  202. package/dist/src/core/fakeContentGenerator.js +2 -0
  203. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  204. package/dist/src/core/geminiChat.d.ts +1 -1
  205. package/dist/src/core/geminiChat.js +5 -5
  206. package/dist/src/core/geminiChat.js.map +1 -1
  207. package/dist/src/core/geminiChat.test.js +1 -0
  208. package/dist/src/core/geminiChat.test.js.map +1 -1
  209. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  210. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  211. package/dist/src/core/logger.js +2 -0
  212. package/dist/src/core/logger.js.map +1 -1
  213. package/dist/src/core/loggingContentGenerator.d.ts +14 -2
  214. package/dist/src/core/loggingContentGenerator.js +98 -4
  215. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  216. package/dist/src/core/loggingContentGenerator.test.js +275 -1
  217. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  218. package/dist/src/core/prompts.test.js +55 -27
  219. package/dist/src/core/prompts.test.js.map +1 -1
  220. package/dist/src/core/recordingContentGenerator.test.js +5 -0
  221. package/dist/src/core/recordingContentGenerator.test.js.map +1 -1
  222. package/dist/src/core/turn.d.ts +4 -2
  223. package/dist/src/core/turn.js +2 -0
  224. package/dist/src/core/turn.js.map +1 -1
  225. package/dist/src/core/turn.test.js +4 -1
  226. package/dist/src/core/turn.test.js.map +1 -1
  227. package/dist/src/generated/git-commit.d.ts +2 -2
  228. package/dist/src/generated/git-commit.js +2 -2
  229. package/dist/src/hooks/hookAggregator.d.ts +1 -2
  230. package/dist/src/hooks/hookAggregator.js +1 -2
  231. package/dist/src/hooks/hookAggregator.js.map +1 -1
  232. package/dist/src/hooks/hookEventHandler.d.ts +2 -2
  233. package/dist/src/hooks/hookEventHandler.js +13 -4
  234. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  235. package/dist/src/hooks/hookEventHandler.test.js +1 -2
  236. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  237. package/dist/src/hooks/hookPlanner.d.ts +1 -2
  238. package/dist/src/hooks/hookPlanner.js.map +1 -1
  239. package/dist/src/hooks/hookRegistry.d.ts +8 -0
  240. package/dist/src/hooks/hookRegistry.js +31 -3
  241. package/dist/src/hooks/hookRegistry.js.map +1 -1
  242. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  243. package/dist/src/hooks/hookRunner.d.ts +5 -2
  244. package/dist/src/hooks/hookRunner.js +52 -2
  245. package/dist/src/hooks/hookRunner.js.map +1 -1
  246. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  247. package/dist/src/hooks/hookSystem.d.ts +11 -3
  248. package/dist/src/hooks/hookSystem.js +10 -4
  249. package/dist/src/hooks/hookSystem.js.map +1 -1
  250. package/dist/src/hooks/hookSystem.test.js +1 -0
  251. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  252. package/dist/src/hooks/runtimeHooks.test.d.ts +6 -0
  253. package/dist/src/hooks/runtimeHooks.test.js +100 -0
  254. package/dist/src/hooks/runtimeHooks.test.js.map +1 -0
  255. package/dist/src/hooks/trustedHooks.js +6 -1
  256. package/dist/src/hooks/trustedHooks.js.map +1 -1
  257. package/dist/src/hooks/trustedHooks.test.js +17 -9
  258. package/dist/src/hooks/trustedHooks.test.js.map +1 -1
  259. package/dist/src/hooks/types.d.ts +49 -8
  260. package/dist/src/hooks/types.js +20 -1
  261. package/dist/src/hooks/types.js.map +1 -1
  262. package/dist/src/ide/detect-ide.d.ts +0 -1
  263. package/dist/src/ide/detect-ide.js +1 -1
  264. package/dist/src/ide/detect-ide.js.map +1 -1
  265. package/dist/src/ide/ide-client.js +3 -2
  266. package/dist/src/ide/ide-client.js.map +1 -1
  267. package/dist/src/ide/ide-connection-utils.js +90 -14
  268. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  269. package/dist/src/ide/ide-connection-utils.test.js +78 -0
  270. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  271. package/dist/src/ide/ide-installer.test.js +1 -2
  272. package/dist/src/ide/ide-installer.test.js.map +1 -1
  273. package/dist/src/ide/process-utils.d.ts +7 -0
  274. package/dist/src/ide/process-utils.js +20 -0
  275. package/dist/src/ide/process-utils.js.map +1 -1
  276. package/dist/src/ide/process-utils.test.js +30 -0
  277. package/dist/src/ide/process-utils.test.js.map +1 -1
  278. package/dist/src/index.d.ts +6 -1
  279. package/dist/src/index.js +6 -1
  280. package/dist/src/index.js.map +1 -1
  281. package/dist/src/mcp/oauth-provider.d.ts +1 -1
  282. package/dist/src/mcp/oauth-provider.js +8 -7
  283. package/dist/src/mcp/oauth-provider.js.map +1 -1
  284. package/dist/src/mcp/oauth-provider.test.js +34 -2
  285. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  286. package/dist/src/mcp/oauth-utils.js +2 -0
  287. package/dist/src/mcp/oauth-utils.js.map +1 -1
  288. package/dist/src/mcp/oauth-utils.test.js +12 -0
  289. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  290. package/dist/src/mcp/token-storage/file-token-storage.js +4 -1
  291. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  292. package/dist/src/mcp/token-storage/file-token-storage.test.js +40 -2
  293. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
  294. package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -0
  295. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  296. package/dist/src/policy/config.d.ts +18 -9
  297. package/dist/src/policy/config.js +75 -54
  298. package/dist/src/policy/config.js.map +1 -1
  299. package/dist/src/policy/config.test.js +26 -26
  300. package/dist/src/policy/integrity.d.ts +45 -0
  301. package/dist/src/policy/integrity.js +121 -0
  302. package/dist/src/policy/integrity.js.map +1 -0
  303. package/dist/src/policy/integrity.test.d.ts +6 -0
  304. package/dist/src/policy/integrity.test.js +132 -0
  305. package/dist/src/policy/integrity.test.js.map +1 -0
  306. package/dist/src/policy/persistence.test.js +29 -19
  307. package/dist/src/policy/persistence.test.js.map +1 -1
  308. package/dist/src/policy/policies/conseca.toml +6 -0
  309. package/dist/src/policy/policies/plan.toml +28 -12
  310. package/dist/src/policy/policies/read-only.toml +11 -10
  311. package/dist/src/policy/policies/write.toml +11 -10
  312. package/dist/src/policy/policies/yolo.toml +11 -10
  313. package/dist/src/policy/policy-engine.d.ts +16 -3
  314. package/dist/src/policy/policy-engine.js +154 -29
  315. package/dist/src/policy/policy-engine.js.map +1 -1
  316. package/dist/src/policy/policy-engine.test.js +480 -9
  317. package/dist/src/policy/policy-engine.test.js.map +1 -1
  318. package/dist/src/policy/policy-updater.test.js +11 -6
  319. package/dist/src/policy/policy-updater.test.js.map +1 -1
  320. package/dist/src/policy/toml-loader.d.ts +13 -2
  321. package/dist/src/policy/toml-loader.js +55 -34
  322. package/dist/src/policy/toml-loader.js.map +1 -1
  323. package/dist/src/policy/toml-loader.test.js +115 -7
  324. package/dist/src/policy/toml-loader.test.js.map +1 -1
  325. package/dist/src/policy/types.d.ts +18 -1
  326. package/dist/src/policy/types.js +1 -0
  327. package/dist/src/policy/types.js.map +1 -1
  328. package/dist/src/policy/workspace-policy.test.d.ts +6 -0
  329. package/dist/src/policy/workspace-policy.test.js +231 -0
  330. package/dist/src/policy/workspace-policy.test.js.map +1 -0
  331. package/dist/src/prompts/promptProvider.js +11 -13
  332. package/dist/src/prompts/promptProvider.js.map +1 -1
  333. package/dist/src/prompts/promptProvider.test.js +64 -3
  334. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  335. package/dist/src/prompts/snippets.js +41 -10
  336. package/dist/src/prompts/snippets.js.map +1 -1
  337. package/dist/src/prompts/snippets.legacy.js +1 -0
  338. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  339. package/dist/src/routing/modelRouterService.js +3 -1
  340. package/dist/src/routing/modelRouterService.js.map +1 -1
  341. package/dist/src/routing/modelRouterService.test.js +12 -6
  342. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  343. package/dist/src/routing/strategies/approvalModeStrategy.d.ts +18 -0
  344. package/dist/src/routing/strategies/approvalModeStrategy.js +58 -0
  345. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -0
  346. package/dist/src/routing/strategies/approvalModeStrategy.test.d.ts +6 -0
  347. package/dist/src/routing/strategies/approvalModeStrategy.test.js +110 -0
  348. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -0
  349. package/dist/src/safety/checker-runner.js +1 -0
  350. package/dist/src/safety/checker-runner.js.map +1 -1
  351. package/dist/src/safety/conseca/conseca.d.ts +31 -0
  352. package/dist/src/safety/conseca/conseca.js +105 -0
  353. package/dist/src/safety/conseca/conseca.js.map +1 -0
  354. package/dist/src/safety/conseca/conseca.test.d.ts +6 -0
  355. package/dist/src/safety/conseca/conseca.test.js +226 -0
  356. package/dist/src/safety/conseca/conseca.test.js.map +1 -0
  357. package/dist/src/safety/conseca/integration.test.d.ts +6 -0
  358. package/dist/src/safety/conseca/integration.test.js +19 -0
  359. package/dist/src/safety/conseca/integration.test.js.map +1 -0
  360. package/dist/src/safety/conseca/policy-enforcer.d.ts +13 -0
  361. package/dist/src/safety/conseca/policy-enforcer.js +135 -0
  362. package/dist/src/safety/conseca/policy-enforcer.js.map +1 -0
  363. package/dist/src/safety/conseca/policy-enforcer.test.d.ts +6 -0
  364. package/dist/src/safety/conseca/policy-enforcer.test.js +141 -0
  365. package/dist/src/safety/conseca/policy-enforcer.test.js.map +1 -0
  366. package/dist/src/safety/conseca/policy-generator.d.ts +15 -0
  367. package/dist/src/safety/conseca/policy-generator.js +144 -0
  368. package/dist/src/safety/conseca/policy-generator.js.map +1 -0
  369. package/dist/src/safety/conseca/policy-generator.test.d.ts +6 -0
  370. package/dist/src/safety/conseca/policy-generator.test.js +84 -0
  371. package/dist/src/safety/conseca/policy-generator.test.js.map +1 -0
  372. package/dist/src/safety/conseca/types.d.ts +15 -0
  373. package/dist/src/safety/conseca/types.js +7 -0
  374. package/dist/src/safety/conseca/types.js.map +1 -0
  375. package/dist/src/safety/context-builder.d.ts +3 -3
  376. package/dist/src/safety/context-builder.js +60 -4
  377. package/dist/src/safety/context-builder.js.map +1 -1
  378. package/dist/src/safety/context-builder.test.js +98 -18
  379. package/dist/src/safety/context-builder.test.js.map +1 -1
  380. package/dist/src/safety/protocol.d.ts +4 -0
  381. package/dist/src/safety/registry.d.ts +2 -1
  382. package/dist/src/safety/registry.js +14 -4
  383. package/dist/src/safety/registry.js.map +1 -1
  384. package/dist/src/safety/registry.test.js +5 -2
  385. package/dist/src/safety/registry.test.js.map +1 -1
  386. package/dist/src/scheduler/confirmation.d.ts +0 -13
  387. package/dist/src/scheduler/confirmation.js +1 -1
  388. package/dist/src/scheduler/confirmation.js.map +1 -1
  389. package/dist/src/scheduler/policy.js +6 -2
  390. package/dist/src/scheduler/policy.js.map +1 -1
  391. package/dist/src/scheduler/policy.test.js +4 -3
  392. package/dist/src/scheduler/policy.test.js.map +1 -1
  393. package/dist/src/scheduler/scheduler.d.ts +3 -1
  394. package/dist/src/scheduler/scheduler.js +148 -28
  395. package/dist/src/scheduler/scheduler.js.map +1 -1
  396. package/dist/src/scheduler/scheduler.test.js +341 -242
  397. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  398. package/dist/src/scheduler/scheduler_parallel.test.d.ts +6 -0
  399. package/dist/src/scheduler/scheduler_parallel.test.js +309 -0
  400. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -0
  401. package/dist/src/scheduler/state-manager.d.ts +8 -0
  402. package/dist/src/scheduler/state-manager.js +30 -2
  403. package/dist/src/scheduler/state-manager.js.map +1 -1
  404. package/dist/src/scheduler/state-manager.test.js +61 -0
  405. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  406. package/dist/src/scheduler/tool-executor.js +15 -7
  407. package/dist/src/scheduler/tool-executor.js.map +1 -1
  408. package/dist/src/scheduler/tool-executor.test.js +1 -1
  409. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  410. package/dist/src/scheduler/types.d.ts +23 -0
  411. package/dist/src/services/FolderTrustDiscoveryService.d.ts +32 -0
  412. package/dist/src/services/FolderTrustDiscoveryService.js +167 -0
  413. package/dist/src/services/FolderTrustDiscoveryService.js.map +1 -0
  414. package/dist/src/services/FolderTrustDiscoveryService.test.d.ts +6 -0
  415. package/dist/src/services/FolderTrustDiscoveryService.test.js +118 -0
  416. package/dist/src/services/FolderTrustDiscoveryService.test.js.map +1 -0
  417. package/dist/src/services/chatCompressionService.d.ts +0 -14
  418. package/dist/src/services/chatCompressionService.js +29 -7
  419. package/dist/src/services/chatCompressionService.js.map +1 -1
  420. package/dist/src/services/chatCompressionService.test.js +3 -1
  421. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  422. package/dist/src/services/chatRecordingService.d.ts +7 -1
  423. package/dist/src/services/chatRecordingService.js +12 -1
  424. package/dist/src/services/chatRecordingService.js.map +1 -1
  425. package/dist/src/services/chatRecordingService.test.js +34 -0
  426. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  427. package/dist/src/services/loopDetectionService.js +1 -2
  428. package/dist/src/services/loopDetectionService.js.map +1 -1
  429. package/dist/src/services/sessionSummaryUtils.js +3 -0
  430. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  431. package/dist/src/services/shellExecutionService.js +6 -0
  432. package/dist/src/services/shellExecutionService.js.map +1 -1
  433. package/dist/src/skills/skillLoader.js +2 -2
  434. package/dist/src/skills/skillLoader.js.map +1 -1
  435. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +3 -1
  436. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -4
  437. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  438. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
  439. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +19 -5
  440. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  441. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +14 -1
  442. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +29 -1
  443. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  444. package/dist/src/telemetry/conseca-logger.d.ts +9 -0
  445. package/dist/src/telemetry/conseca-logger.js +91 -0
  446. package/dist/src/telemetry/conseca-logger.js.map +1 -0
  447. package/dist/src/telemetry/conseca-logger.test.d.ts +6 -0
  448. package/dist/src/telemetry/conseca-logger.test.js +89 -0
  449. package/dist/src/telemetry/conseca-logger.test.js.map +1 -0
  450. package/dist/src/telemetry/gcp-exporters.js +1 -2
  451. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  452. package/dist/src/telemetry/index.d.ts +2 -1
  453. package/dist/src/telemetry/index.js +2 -1
  454. package/dist/src/telemetry/index.js.map +1 -1
  455. package/dist/src/telemetry/integration.test.circular.js +3 -0
  456. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  457. package/dist/src/telemetry/loggers.d.ts +1 -2
  458. package/dist/src/telemetry/loggers.js +3 -13
  459. package/dist/src/telemetry/loggers.js.map +1 -1
  460. package/dist/src/telemetry/loggers.test.circular.js +3 -0
  461. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  462. package/dist/src/telemetry/loggers.test.js +6 -5
  463. package/dist/src/telemetry/loggers.test.js.map +1 -1
  464. package/dist/src/telemetry/metrics.d.ts +1 -3
  465. package/dist/src/telemetry/metrics.js +3 -2
  466. package/dist/src/telemetry/metrics.js.map +1 -1
  467. package/dist/src/telemetry/metrics.test.js +7 -3
  468. package/dist/src/telemetry/metrics.test.js.map +1 -1
  469. package/dist/src/telemetry/sanitize.test.js +19 -18
  470. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  471. package/dist/src/telemetry/semantic.d.ts +7 -9
  472. package/dist/src/telemetry/semantic.js +8 -8
  473. package/dist/src/telemetry/semantic.js.map +1 -1
  474. package/dist/src/telemetry/types.d.ts +42 -4
  475. package/dist/src/telemetry/types.js +87 -2
  476. package/dist/src/telemetry/types.js.map +1 -1
  477. package/dist/src/telemetry/uiTelemetry.d.ts +1 -2
  478. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  479. package/dist/src/telemetry/uiTelemetry.test.js +1 -2
  480. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  481. package/dist/src/tools/ask-user.test.js +1 -19
  482. package/dist/src/tools/ask-user.test.js.map +1 -1
  483. package/dist/src/tools/confirmation-policy.test.js +14 -17
  484. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  485. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +1 -1
  486. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  487. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +14 -16
  488. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  489. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +24 -59
  490. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  491. package/dist/src/tools/diff-utils.d.ts +9 -0
  492. package/dist/src/tools/diff-utils.js +66 -0
  493. package/dist/src/tools/diff-utils.js.map +1 -0
  494. package/dist/src/tools/diff-utils.test.d.ts +6 -0
  495. package/dist/src/tools/diff-utils.test.js +53 -0
  496. package/dist/src/tools/diff-utils.test.js.map +1 -0
  497. package/dist/src/tools/edit.d.ts +9 -4
  498. package/dist/src/tools/edit.js +203 -34
  499. package/dist/src/tools/edit.js.map +1 -1
  500. package/dist/src/tools/edit.test.js +225 -10
  501. package/dist/src/tools/edit.test.js.map +1 -1
  502. package/dist/src/tools/enter-plan-mode.js +1 -1
  503. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  504. package/dist/src/tools/enter-plan-mode.test.js +1 -1
  505. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  506. package/dist/src/tools/exit-plan-mode.js +10 -24
  507. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  508. package/dist/src/tools/exit-plan-mode.test.js +1 -1
  509. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  510. package/dist/src/tools/grep-utils.d.ts +49 -0
  511. package/dist/src/tools/grep-utils.js +139 -0
  512. package/dist/src/tools/grep-utils.js.map +1 -0
  513. package/dist/src/tools/grep.js +4 -44
  514. package/dist/src/tools/grep.js.map +1 -1
  515. package/dist/src/tools/grep.test.js +21 -2
  516. package/dist/src/tools/grep.test.js.map +1 -1
  517. package/dist/src/tools/ls.js +6 -1
  518. package/dist/src/tools/ls.js.map +1 -1
  519. package/dist/src/tools/ls.test.js +2 -2
  520. package/dist/src/tools/ls.test.js.map +1 -1
  521. package/dist/src/tools/mcp-client-manager.js +16 -18
  522. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  523. package/dist/src/tools/mcp-client-manager.test.js +51 -0
  524. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  525. package/dist/src/tools/mcp-client.d.ts +22 -1
  526. package/dist/src/tools/mcp-client.js +95 -36
  527. package/dist/src/tools/mcp-client.js.map +1 -1
  528. package/dist/src/tools/mcp-client.test.js +148 -20
  529. package/dist/src/tools/mcp-client.test.js.map +1 -1
  530. package/dist/src/tools/mcp-tool.d.ts +15 -5
  531. package/dist/src/tools/mcp-tool.js +36 -8
  532. package/dist/src/tools/mcp-tool.js.map +1 -1
  533. package/dist/src/tools/memoryTool.js +1 -1
  534. package/dist/src/tools/memoryTool.js.map +1 -1
  535. package/dist/src/tools/memoryTool.test.js +5 -0
  536. package/dist/src/tools/memoryTool.test.js.map +1 -1
  537. package/dist/src/tools/omissionPlaceholderDetector.d.ts +15 -0
  538. package/dist/src/tools/omissionPlaceholderDetector.js +90 -0
  539. package/dist/src/tools/omissionPlaceholderDetector.js.map +1 -0
  540. package/dist/src/tools/omissionPlaceholderDetector.test.d.ts +6 -0
  541. package/dist/src/tools/omissionPlaceholderDetector.test.js +49 -0
  542. package/dist/src/tools/omissionPlaceholderDetector.test.js.map +1 -0
  543. package/dist/src/tools/read-file.d.ts +4 -4
  544. package/dist/src/tools/read-file.js +17 -10
  545. package/dist/src/tools/read-file.js.map +1 -1
  546. package/dist/src/tools/read-file.test.js +20 -10
  547. package/dist/src/tools/read-file.test.js.map +1 -1
  548. package/dist/src/tools/ripGrep.js +49 -46
  549. package/dist/src/tools/ripGrep.js.map +1 -1
  550. package/dist/src/tools/ripGrep.test.js +52 -37
  551. package/dist/src/tools/ripGrep.test.js.map +1 -1
  552. package/dist/src/tools/shell.d.ts +2 -2
  553. package/dist/src/tools/shell.js +2 -2
  554. package/dist/src/tools/shell.js.map +1 -1
  555. package/dist/src/tools/shell.test.js +1 -2
  556. package/dist/src/tools/shell.test.js.map +1 -1
  557. package/dist/src/tools/tool-names.d.ts +0 -6
  558. package/dist/src/tools/tool-names.js +0 -15
  559. package/dist/src/tools/tool-names.js.map +1 -1
  560. package/dist/src/tools/tool-registry.d.ts +1 -0
  561. package/dist/src/tools/tool-registry.js +33 -6
  562. package/dist/src/tools/tool-registry.js.map +1 -1
  563. package/dist/src/tools/tool-registry.test.js +47 -0
  564. package/dist/src/tools/tool-registry.test.js.map +1 -1
  565. package/dist/src/tools/tools.d.ts +21 -1
  566. package/dist/src/tools/tools.js +19 -3
  567. package/dist/src/tools/tools.js.map +1 -1
  568. package/dist/src/tools/tools.test.js +24 -0
  569. package/dist/src/tools/tools.test.js.map +1 -1
  570. package/dist/src/tools/web-fetch.d.ts +9 -1
  571. package/dist/src/tools/web-fetch.js +273 -34
  572. package/dist/src/tools/web-fetch.js.map +1 -1
  573. package/dist/src/tools/web-fetch.test.js +303 -30
  574. package/dist/src/tools/web-fetch.test.js.map +1 -1
  575. package/dist/src/tools/write-file.js +14 -10
  576. package/dist/src/tools/write-file.js.map +1 -1
  577. package/dist/src/tools/write-file.test.js +75 -0
  578. package/dist/src/tools/write-file.test.js.map +1 -1
  579. package/dist/src/tools/write-todos.d.ts +2 -2
  580. package/dist/src/tools/write-todos.js +1 -1
  581. package/dist/src/tools/write-todos.js.map +1 -1
  582. package/dist/src/tools/xcode-mcp-fix-transport.js +4 -1
  583. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  584. package/dist/src/utils/approvalModeUtils.d.ts +14 -0
  585. package/dist/src/utils/approvalModeUtils.js +35 -0
  586. package/dist/src/utils/approvalModeUtils.js.map +1 -0
  587. package/dist/src/utils/approvalModeUtils.test.d.ts +6 -0
  588. package/dist/src/utils/approvalModeUtils.test.js +36 -0
  589. package/dist/src/utils/approvalModeUtils.test.js.map +1 -0
  590. package/dist/src/utils/authConsent.d.ts +1 -1
  591. package/dist/src/utils/authConsent.js +10 -8
  592. package/dist/src/utils/authConsent.js.map +1 -1
  593. package/dist/src/utils/authConsent.test.js +89 -44
  594. package/dist/src/utils/authConsent.test.js.map +1 -1
  595. package/dist/src/utils/compatibility.d.ts +41 -0
  596. package/dist/src/utils/compatibility.js +112 -0
  597. package/dist/src/utils/compatibility.js.map +1 -0
  598. package/dist/src/utils/compatibility.test.d.ts +6 -0
  599. package/dist/src/utils/compatibility.test.js +233 -0
  600. package/dist/src/utils/compatibility.test.js.map +1 -0
  601. package/dist/src/utils/editCorrector.js +22 -29
  602. package/dist/src/utils/editCorrector.js.map +1 -1
  603. package/dist/src/utils/editCorrector.test.js.map +1 -1
  604. package/dist/src/utils/envExpansion.d.ts +18 -0
  605. package/dist/src/utils/envExpansion.js +46 -0
  606. package/dist/src/utils/envExpansion.js.map +1 -0
  607. package/dist/src/utils/envExpansion.test.d.ts +6 -0
  608. package/dist/src/utils/envExpansion.test.js +110 -0
  609. package/dist/src/utils/envExpansion.test.js.map +1 -0
  610. package/dist/src/utils/errors.d.ts +1 -0
  611. package/dist/src/utils/errors.js +55 -10
  612. package/dist/src/utils/errors.js.map +1 -1
  613. package/dist/src/utils/errors.test.js +27 -1
  614. package/dist/src/utils/errors.test.js.map +1 -1
  615. package/dist/src/utils/events.d.ts +17 -0
  616. package/dist/src/utils/events.js +12 -0
  617. package/dist/src/utils/events.js.map +1 -1
  618. package/dist/src/utils/events.test.d.ts +1 -1
  619. package/dist/src/utils/events.test.js +50 -3
  620. package/dist/src/utils/events.test.js.map +1 -1
  621. package/dist/src/utils/fastAckHelper.js +2 -1
  622. package/dist/src/utils/fastAckHelper.js.map +1 -1
  623. package/dist/src/utils/fetch.d.ts +1 -1
  624. package/dist/src/utils/fetch.js +15 -2
  625. package/dist/src/utils/fetch.js.map +1 -1
  626. package/dist/src/utils/fileDiffUtils.d.ts +2 -2
  627. package/dist/src/utils/fileDiffUtils.js +1 -2
  628. package/dist/src/utils/fileDiffUtils.js.map +1 -1
  629. package/dist/src/utils/fileUtils.d.ts +5 -3
  630. package/dist/src/utils/fileUtils.js +25 -16
  631. package/dist/src/utils/fileUtils.js.map +1 -1
  632. package/dist/src/utils/fileUtils.test.js +14 -13
  633. package/dist/src/utils/fileUtils.test.js.map +1 -1
  634. package/dist/src/utils/filesearch/fileSearch.js +4 -1
  635. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  636. package/dist/src/utils/getFolderStructure.test.js +4 -5
  637. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  638. package/dist/src/utils/getPty.js +4 -0
  639. package/dist/src/utils/getPty.js.map +1 -1
  640. package/dist/src/utils/googleErrors.js +29 -5
  641. package/dist/src/utils/googleErrors.js.map +1 -1
  642. package/dist/src/utils/googleQuotaErrors.js +10 -0
  643. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  644. package/dist/src/utils/googleQuotaErrors.test.js +16 -1
  645. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  646. package/dist/src/utils/memoryDiscovery.js +2 -0
  647. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  648. package/dist/src/utils/memoryDiscovery.test.js +1 -2
  649. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  650. package/dist/src/utils/retry.d.ts +1 -1
  651. package/dist/src/utils/retry.js +9 -4
  652. package/dist/src/utils/retry.js.map +1 -1
  653. package/dist/src/utils/retry.test.js +15 -12
  654. package/dist/src/utils/retry.test.js.map +1 -1
  655. package/dist/src/utils/safeJsonStringify.js +3 -0
  656. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  657. package/dist/src/utils/schemaValidator.js +5 -3
  658. package/dist/src/utils/schemaValidator.js.map +1 -1
  659. package/dist/src/utils/session.d.ts +1 -0
  660. package/dist/src/utils/session.js +3 -0
  661. package/dist/src/utils/session.js.map +1 -1
  662. package/dist/src/utils/sessionUtils.d.ts +14 -0
  663. package/dist/src/utils/sessionUtils.js +113 -0
  664. package/dist/src/utils/sessionUtils.js.map +1 -0
  665. package/dist/src/utils/sessionUtils.test.d.ts +1 -0
  666. package/dist/src/utils/sessionUtils.test.js +137 -0
  667. package/dist/src/utils/sessionUtils.test.js.map +1 -0
  668. package/dist/src/utils/shell-utils.js +1 -0
  669. package/dist/src/utils/shell-utils.js.map +1 -1
  670. package/dist/src/utils/stdio.js +6 -0
  671. package/dist/src/utils/stdio.js.map +1 -1
  672. package/dist/src/utils/textUtils.d.ts +9 -0
  673. package/dist/src/utils/textUtils.js +15 -0
  674. package/dist/src/utils/textUtils.js.map +1 -1
  675. package/dist/src/utils/textUtils.test.js +42 -1
  676. package/dist/src/utils/textUtils.test.js.map +1 -1
  677. package/dist/src/utils/toolCallContext.d.ts +0 -5
  678. package/dist/src/utils/toolCallContext.js +1 -1
  679. package/dist/src/utils/toolCallContext.js.map +1 -1
  680. package/dist/src/utils/userAccountManager.js +3 -0
  681. package/dist/src/utils/userAccountManager.js.map +1 -1
  682. package/dist/tsconfig.tsbuildinfo +1 -1
  683. package/package.json +6 -3
  684. package/dist/docs/architecture.md +0 -80
  685. package/dist/docs/cli/index.md +0 -123
  686. package/dist/docs/core/concepts.md +0 -137
  687. package/dist/docs/get-started/configuration-v1.md +0 -882
  688. package/dist/google-gemini-cli-core-0.30.0-preview.4.tgz +0 -0
  689. /package/dist/docs/{core → reference}/memport.md +0 -0
  690. /package/dist/docs/{core → reference}/tools-api.md +0 -0
  691. /package/dist/docs/{cli → resources}/uninstall.md +0 -0
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.28.0
1
+ # Latest stable release: v0.29.0
2
2
 
3
- Released: February 10, 2026
3
+ Released: February 17, 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,305 +11,371 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Commands & UX Enhancements:** Introduced `/prompt-suggest` command,
15
- alongside updated undo/redo keybindings and automatic theme switching.
16
- - **Expanded IDE Support:** Now offering compatibility with Positron IDE,
17
- expanding integration options for developers.
18
- - **Enhanced Security & Authentication:** Implemented interactive and
19
- non-interactive OAuth consent, improving both security and diagnostic
20
- capabilities for bug reports.
21
- - **Advanced Planning & Agent Tools:** Integrated a generic Checklist component
22
- for structured task management and evolved subagent capabilities with dynamic
23
- policy registration.
24
- - **Improved Core Stability & Reliability:** Resolved critical environment
25
- loading, authentication, and session management issues, ensuring a more robust
26
- experience.
27
- - **Background Shell Commands:** Enabled the execution of shell commands in the
28
- background for increased workflow efficiency.
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.
29
26
 
30
27
  ## What's Changed
31
28
 
32
- - feat(commands): add /prompt-suggest slash command by @NTaylorMullen in
33
- [#17264](https://github.com/google-gemini/gemini-cli/pull/17264)
34
- - feat(cli): align hooks enable/disable with skills and improve completion by
35
- @sehoon38 in [#16822](https://github.com/google-gemini/gemini-cli/pull/16822)
36
- - docs: add CLI reference documentation by @leochiu-a in
37
- [#17504](https://github.com/google-gemini/gemini-cli/pull/17504)
38
- - chore(release): bump version to 0.28.0-nightly.20260128.adc8e11bb by
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
39
44
  @gemini-cli-robot in
40
- [#17725](https://github.com/google-gemini/gemini-cli/pull/17725)
41
- - feat(skills): final stable promotion cleanup by @abhipatel12 in
42
- [#17726](https://github.com/google-gemini/gemini-cli/pull/17726)
43
- - test(core): mock fetch in OAuth transport fallback tests by @jw409 in
44
- [#17059](https://github.com/google-gemini/gemini-cli/pull/17059)
45
- - feat(cli): include auth method in /bug by @erikus in
46
- [#17569](https://github.com/google-gemini/gemini-cli/pull/17569)
47
- - Add a email privacy note to bug_report template by @nemyung in
48
- [#17474](https://github.com/google-gemini/gemini-cli/pull/17474)
49
- - Rewind documentation by @Adib234 in
50
- [#17446](https://github.com/google-gemini/gemini-cli/pull/17446)
51
- - fix: verify audio/video MIME types with content check by @maru0804 in
52
- [#16907](https://github.com/google-gemini/gemini-cli/pull/16907)
53
- - feat(core): add support for positron ide
54
- ([#15045](https://github.com/google-gemini/gemini-cli/pull/15045)) by @kapsner
55
- in [#15047](https://github.com/google-gemini/gemini-cli/pull/15047)
56
- - /oncall dedup - wrap texts to nextlines by @sehoon38 in
57
- [#17782](https://github.com/google-gemini/gemini-cli/pull/17782)
58
- - fix(admin): rename advanced features admin setting by @skeshive in
59
- [#17786](https://github.com/google-gemini/gemini-cli/pull/17786)
60
- - [extension config] Make breaking optional value non-optional by @chrstnb in
61
- [#17785](https://github.com/google-gemini/gemini-cli/pull/17785)
62
- - Fix docs-writer skill issues by @g-samroberts in
63
- [#17734](https://github.com/google-gemini/gemini-cli/pull/17734)
64
- - fix(core): suppress duplicate hook failure warnings during streaming by
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
65
116
  @abhipatel12 in
66
- [#17727](https://github.com/google-gemini/gemini-cli/pull/17727)
67
- - test: add more tests for AskUser by @jackwotherspoon in
68
- [#17720](https://github.com/google-gemini/gemini-cli/pull/17720)
69
- - feat(cli): enable activity logging for non-interactive mode and evals by
70
- @SandyTao520 in
71
- [#17703](https://github.com/google-gemini/gemini-cli/pull/17703)
72
- - feat(core): add support for custom deny messages in policy rules by
73
- @allenhutchison in
74
- [#17427](https://github.com/google-gemini/gemini-cli/pull/17427)
75
- - Fix unintended credential exposure to MCP Servers by @Adib234 in
76
- [#17311](https://github.com/google-gemini/gemini-cli/pull/17311)
77
- - feat(extensions): add support for custom themes in extensions by @spencer426
78
- in [#17327](https://github.com/google-gemini/gemini-cli/pull/17327)
79
- - fix: persist and restore workspace directories on session resume by
80
- @korade-krushna in
81
- [#17454](https://github.com/google-gemini/gemini-cli/pull/17454)
82
- - Update release notes pages for 0.26.0 and 0.27.0-preview. by @g-samroberts in
83
- [#17744](https://github.com/google-gemini/gemini-cli/pull/17744)
84
- - feat(ux): update cell border color and created test file for table rendering
85
- by @devr0306 in
86
- [#17798](https://github.com/google-gemini/gemini-cli/pull/17798)
87
- - Change height for the ToolConfirmationQueue. by @jacob314 in
88
- [#17799](https://github.com/google-gemini/gemini-cli/pull/17799)
89
- - feat(cli): add user identity info to stats command by @sehoon38 in
90
- [#17612](https://github.com/google-gemini/gemini-cli/pull/17612)
91
- - fix(ux): fixed off-by-some wrapping caused by fixed-width characters by
92
- @devr0306 in [#17816](https://github.com/google-gemini/gemini-cli/pull/17816)
93
- - feat(cli): update undo/redo keybindings to Cmd+Z/Alt+Z and
94
- Shift+Cmd+Z/Shift+Alt+Z by @scidomino in
95
- [#17800](https://github.com/google-gemini/gemini-cli/pull/17800)
96
- - fix(evals): use absolute path for activity log directory by @SandyTao520 in
97
- [#17830](https://github.com/google-gemini/gemini-cli/pull/17830)
98
- - test: add integration test to verify stdout/stderr routing by @ved015 in
99
- [#17280](https://github.com/google-gemini/gemini-cli/pull/17280)
100
- - fix(cli): list installed extensions when update target missing by @tt-a1i in
101
- [#17082](https://github.com/google-gemini/gemini-cli/pull/17082)
102
- - fix(cli): handle PAT tokens and credentials in git remote URL parsing by
103
- @afarber in [#14650](https://github.com/google-gemini/gemini-cli/pull/14650)
104
- - fix(core): use returnDisplay for error result display by @Nubebuster in
105
- [#14994](https://github.com/google-gemini/gemini-cli/pull/14994)
106
- - Fix detection of bun as package manager by @Randomblock1 in
107
- [#17462](https://github.com/google-gemini/gemini-cli/pull/17462)
108
- - feat(cli): show hooksConfig.enabled in settings dialog by @abhipatel12 in
109
- [#17810](https://github.com/google-gemini/gemini-cli/pull/17810)
110
- - feat(cli): Display user identity (auth, email, tier) on startup by @yunaseoul
111
- in [#17591](https://github.com/google-gemini/gemini-cli/pull/17591)
112
- - fix: prevent ghost border for AskUserDialog by @jackwotherspoon in
113
- [#17788](https://github.com/google-gemini/gemini-cli/pull/17788)
114
- - docs: mark A2A subagents as experimental in subagents.md by @adamfweidman in
115
- [#17863](https://github.com/google-gemini/gemini-cli/pull/17863)
116
- - Resolve error thrown for sensitive values by @chrstnb in
117
- [#17826](https://github.com/google-gemini/gemini-cli/pull/17826)
118
- - fix(admin): Rename secureModeEnabled to strictModeDisabled by @skeshive in
119
- [#17789](https://github.com/google-gemini/gemini-cli/pull/17789)
120
- - feat(ux): update truncate dots to be shorter in tables by @devr0306 in
121
- [#17825](https://github.com/google-gemini/gemini-cli/pull/17825)
122
- - fix(core): resolve DEP0040 punycode deprecation via patch-package by
123
- @ATHARVA262005 in
124
- [#17692](https://github.com/google-gemini/gemini-cli/pull/17692)
125
- - feat(plan): create generic Checklist component and refactor Todo by @Adib234
126
- in [#17741](https://github.com/google-gemini/gemini-cli/pull/17741)
127
- - Cleanup post delegate_to_agent removal by @gundermanc in
128
- [#17875](https://github.com/google-gemini/gemini-cli/pull/17875)
129
- - fix(core): use GIT_CONFIG_GLOBAL to isolate shadow git repo configuration -
130
- Fixes [#17877](https://github.com/google-gemini/gemini-cli/pull/17877) by
131
- @cocosheng-g in
132
- [#17803](https://github.com/google-gemini/gemini-cli/pull/17803)
133
- - Disable mouse tracking e2e by @alisa-alisa in
134
- [#17880](https://github.com/google-gemini/gemini-cli/pull/17880)
135
- - fix(cli): use correct setting key for Cloud Shell auth by @sehoon38 in
136
- [#17884](https://github.com/google-gemini/gemini-cli/pull/17884)
137
- - chore: revert IDE specific ASCII logo by @jackwotherspoon in
138
- [#17887](https://github.com/google-gemini/gemini-cli/pull/17887)
139
- - Revert "fix(core): resolve DEP0040 punycode deprecation via patch-package" by
140
- @sehoon38 in [#17898](https://github.com/google-gemini/gemini-cli/pull/17898)
141
- - Refactoring of disabling of mouse tracking in e2e tests by @alisa-alisa in
142
- [#17902](https://github.com/google-gemini/gemini-cli/pull/17902)
143
- - feat(core): Add GOOGLE_GENAI_API_VERSION environment variable support by
144
- @deyim in [#16177](https://github.com/google-gemini/gemini-cli/pull/16177)
145
- - feat(core): Isolate and cleanup truncated tool outputs by @SandyTao520 in
146
- [#17594](https://github.com/google-gemini/gemini-cli/pull/17594)
147
- - Create skills page, update commands, refine docs by @g-samroberts in
148
- [#17842](https://github.com/google-gemini/gemini-cli/pull/17842)
149
- - feat: preserve EOL in files by @Thomas-Shephard in
150
- [#16087](https://github.com/google-gemini/gemini-cli/pull/16087)
151
- - Fix HalfLinePaddedBox in screenreader mode. by @jacob314 in
152
- [#17914](https://github.com/google-gemini/gemini-cli/pull/17914)
153
- - bug(ux) vim mode fixes. Start in insert mode. Fix bug blocking F12 and ctrl-X
154
- in vim mode. by @jacob314 in
155
- [#17938](https://github.com/google-gemini/gemini-cli/pull/17938)
156
- - feat(core): implement interactive and non-interactive consent for OAuth by
157
- @ehedlund in [#17699](https://github.com/google-gemini/gemini-cli/pull/17699)
158
- - perf(core): optimize token calculation and add support for multimodal tool
159
- responses by @abhipatel12 in
160
- [#17835](https://github.com/google-gemini/gemini-cli/pull/17835)
161
- - refactor(hooks): remove legacy tools.enableHooks setting by @abhipatel12 in
162
- [#17867](https://github.com/google-gemini/gemini-cli/pull/17867)
163
- - feat(ci): add npx smoke test to verify installability by @bdmorgan in
164
- [#17927](https://github.com/google-gemini/gemini-cli/pull/17927)
165
- - feat(core): implement dynamic policy registration for subagents by
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
166
148
  @abhipatel12 in
167
- [#17838](https://github.com/google-gemini/gemini-cli/pull/17838)
168
- - feat: Implement background shell commands by @galz10 in
169
- [#14849](https://github.com/google-gemini/gemini-cli/pull/14849)
170
- - feat(admin): provide actionable error messages for disabled features by
171
- @skeshive in [#17815](https://github.com/google-gemini/gemini-cli/pull/17815)
172
- - Fix bugs where Rewind and Resume showed Ugly and 100X too verbose content. by
173
- @jacob314 in [#17940](https://github.com/google-gemini/gemini-cli/pull/17940)
174
- - Fix broken link in docs by @chrstnb in
175
- [#17959](https://github.com/google-gemini/gemini-cli/pull/17959)
176
- - feat(plan): reuse standard tool confirmation for AskUser tool by @jerop in
177
- [#17864](https://github.com/google-gemini/gemini-cli/pull/17864)
178
- - feat(core): enable overriding CODE_ASSIST_API_VERSION with env var by
179
- @lottielin in [#17942](https://github.com/google-gemini/gemini-cli/pull/17942)
180
- - run npx pointing to the specific commit SHA by @sehoon38 in
181
- [#17970](https://github.com/google-gemini/gemini-cli/pull/17970)
182
- - Add allowedExtensions setting by @kevinjwang1 in
183
- [#17695](https://github.com/google-gemini/gemini-cli/pull/17695)
184
- - feat(plan): refactor ToolConfirmationPayload to union type by @jerop in
185
- [#17980](https://github.com/google-gemini/gemini-cli/pull/17980)
186
- - lower the default max retries to reduce contention by @sehoon38 in
187
- [#17975](https://github.com/google-gemini/gemini-cli/pull/17975)
188
- - fix(core): ensure YOLO mode auto-approves complex shell commands when parsing
189
- fails by @abhipatel12 in
190
- [#17920](https://github.com/google-gemini/gemini-cli/pull/17920)
191
- - Fix broken link. by @g-samroberts in
192
- [#17972](https://github.com/google-gemini/gemini-cli/pull/17972)
193
- - Support ctrl-C and Ctrl-D correctly Refactor so InputPrompt has priority over
194
- AppContainer for input handling. by @jacob314 in
195
- [#17993](https://github.com/google-gemini/gemini-cli/pull/17993)
196
- - Fix truncation for AskQuestion by @jacob314 in
197
- [#18001](https://github.com/google-gemini/gemini-cli/pull/18001)
198
- - fix(workflow): update maintainer check logic to be inclusive and
199
- case-insensitive by @bdmorgan in
200
- [#18009](https://github.com/google-gemini/gemini-cli/pull/18009)
201
- - Fix Esc cancel during streaming by @LyalinDotCom in
202
- [#18039](https://github.com/google-gemini/gemini-cli/pull/18039)
203
- - feat(acp): add session resume support by @bdmorgan in
204
- [#18043](https://github.com/google-gemini/gemini-cli/pull/18043)
205
- - fix(ci): prevent stale PR closer from incorrectly closing new PRs by @bdmorgan
206
- in [#18069](https://github.com/google-gemini/gemini-cli/pull/18069)
207
- - chore: delete autoAccept setting unused in production by @victorvianna in
208
- [#17862](https://github.com/google-gemini/gemini-cli/pull/17862)
209
- - feat(plan): use placeholder for choice question "Other" option by @jerop in
210
- [#18101](https://github.com/google-gemini/gemini-cli/pull/18101)
211
- - docs: update clearContext to hookSpecificOutput by @jackwotherspoon in
212
- [#18024](https://github.com/google-gemini/gemini-cli/pull/18024)
213
- - docs-writer skill: Update docs writer skill by @jkcinouye in
214
- [#17928](https://github.com/google-gemini/gemini-cli/pull/17928)
215
- - Sehoon/oncall filter by @sehoon38 in
216
- [#18105](https://github.com/google-gemini/gemini-cli/pull/18105)
217
- - feat(core): add setting to disable loop detection by @SandyTao520 in
218
- [#18008](https://github.com/google-gemini/gemini-cli/pull/18008)
219
- - Docs: Revise docs/index.md by @jkcinouye in
220
- [#17879](https://github.com/google-gemini/gemini-cli/pull/17879)
221
- - Fix up/down arrow regression and add test. by @jacob314 in
222
- [#18108](https://github.com/google-gemini/gemini-cli/pull/18108)
223
- - fix(ui): prevent content leak in MaxSizedBox bottom overflow by @jerop in
224
- [#17991](https://github.com/google-gemini/gemini-cli/pull/17991)
225
- - refactor: migrate checks.ts utility to core and deduplicate by @jerop in
226
- [#18139](https://github.com/google-gemini/gemini-cli/pull/18139)
227
- - feat(core): implement tool name aliasing for backward compatibility by
228
- @SandyTao520 in
229
- [#17974](https://github.com/google-gemini/gemini-cli/pull/17974)
230
- - docs: fix help-wanted label spelling by @pavan-sh in
231
- [#18114](https://github.com/google-gemini/gemini-cli/pull/18114)
232
- - feat(cli): implement automatic theme switching based on terminal background by
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
233
156
  @Abhijit-2592 in
234
- [#17976](https://github.com/google-gemini/gemini-cli/pull/17976)
235
- - fix(ide): no-op refactoring that moves the connection logic to helper
236
- functions by @skeshive in
237
- [#18118](https://github.com/google-gemini/gemini-cli/pull/18118)
238
- - feat: update review-frontend-and-fix slash command to review-and-fix by
239
- @galz10 in [#18146](https://github.com/google-gemini/gemini-cli/pull/18146)
240
- - fix: improve Ctrl+R reverse search by @jackwotherspoon in
241
- [#18075](https://github.com/google-gemini/gemini-cli/pull/18075)
242
- - feat(plan): handle inconsistency in schedulers by @Adib234 in
243
- [#17813](https://github.com/google-gemini/gemini-cli/pull/17813)
244
- - feat(plan): add core logic and exit_plan_mode tool definition by @jerop in
245
- [#18110](https://github.com/google-gemini/gemini-cli/pull/18110)
246
- - feat(core): rename search_file_content tool to grep_search and add legacy
247
- alias by @SandyTao520 in
248
- [#18003](https://github.com/google-gemini/gemini-cli/pull/18003)
249
- - fix(core): prioritize detailed error messages for code assist setup by
250
- @gsquared94 in
251
- [#17852](https://github.com/google-gemini/gemini-cli/pull/17852)
252
- - fix(cli): resolve environment loading and auth validation issues in ACP mode
253
- by @bdmorgan in
254
- [#18025](https://github.com/google-gemini/gemini-cli/pull/18025)
255
- - feat(core): add .agents/skills directory alias for skill discovery by
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
161
+ @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
168
+ @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
196
+ @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
256
226
  @NTaylorMullen in
257
- [#18151](https://github.com/google-gemini/gemini-cli/pull/18151)
258
- - chore(core): reassign telemetry keys to avoid server conflict by @mattKorwel
259
- in [#18161](https://github.com/google-gemini/gemini-cli/pull/18161)
260
- - Add link to rewind doc in commands.md by @Adib234 in
261
- [#17961](https://github.com/google-gemini/gemini-cli/pull/17961)
262
- - feat(core): add draft-2020-12 JSON Schema support with lenient fallback by
263
- @afarber in [#15060](https://github.com/google-gemini/gemini-cli/pull/15060)
264
- - refactor(core): robust trimPreservingTrailingNewline and regression test by
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
302
+ @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
265
352
  @adamfweidman in
266
- [#18196](https://github.com/google-gemini/gemini-cli/pull/18196)
267
- - Remove MCP servers on extension uninstall by @chrstnb in
268
- [#18121](https://github.com/google-gemini/gemini-cli/pull/18121)
269
- - refactor: localize ACP error parsing logic to cli package by @bdmorgan in
270
- [#18193](https://github.com/google-gemini/gemini-cli/pull/18193)
271
- - feat(core): Add A2A auth config types by @adamfweidman in
272
- [#18205](https://github.com/google-gemini/gemini-cli/pull/18205)
273
- - Set default max attempts to 3 and use the common variable by @sehoon38 in
274
- [#18209](https://github.com/google-gemini/gemini-cli/pull/18209)
275
- - feat(plan): add exit_plan_mode ui and prompt by @jerop in
276
- [#18162](https://github.com/google-gemini/gemini-cli/pull/18162)
277
- - fix(test): improve test isolation and enable subagent evaluations by
278
- @cocosheng-g in
279
- [#18138](https://github.com/google-gemini/gemini-cli/pull/18138)
280
- - feat(plan): use custom deny messages in plan mode policies by @Adib234 in
281
- [#18195](https://github.com/google-gemini/gemini-cli/pull/18195)
282
- - Match on extension ID when stopping extensions by @chrstnb in
283
- [#18218](https://github.com/google-gemini/gemini-cli/pull/18218)
284
- - fix(core): Respect user's .gitignore preference by @xyrolle in
285
- [#15482](https://github.com/google-gemini/gemini-cli/pull/15482)
286
- - docs: document GEMINI_CLI_HOME environment variable by @adamfweidman in
287
- [#18219](https://github.com/google-gemini/gemini-cli/pull/18219)
288
- - chore(core): explicitly state plan storage path in prompt by @jerop in
289
- [#18222](https://github.com/google-gemini/gemini-cli/pull/18222)
290
- - A2a admin setting by @DavidAPierce in
291
- [#17868](https://github.com/google-gemini/gemini-cli/pull/17868)
292
- - feat(a2a): Add pluggable auth provider infrastructure by @adamfweidman in
293
- [#17934](https://github.com/google-gemini/gemini-cli/pull/17934)
294
- - Fix handling of empty settings by @chrstnb in
295
- [#18131](https://github.com/google-gemini/gemini-cli/pull/18131)
296
- - Reload skills when extensions change by @chrstnb in
297
- [#18225](https://github.com/google-gemini/gemini-cli/pull/18225)
298
- - feat: Add markdown rendering to ask_user tool by @jackwotherspoon in
299
- [#18211](https://github.com/google-gemini/gemini-cli/pull/18211)
300
- - Add telemetry to rewind by @Adib234 in
301
- [#18122](https://github.com/google-gemini/gemini-cli/pull/18122)
302
- - feat(admin): add support for MCP configuration via admin controls (pt1) by
303
- @skeshive in [#18223](https://github.com/google-gemini/gemini-cli/pull/18223)
304
- - feat(core): require user consent before MCP server OAuth by @ehedlund in
305
- [#18132](https://github.com/google-gemini/gemini-cli/pull/18132)
306
- - fix(sandbox): propagate GOOGLE_GEMINI_BASE_URL&GOOGLE_VERTEX_BASE_URL env vars
307
- by @skeshive in
308
- [#18231](https://github.com/google-gemini/gemini-cli/pull/18231)
309
- - feat(ui): move user identity display to header by @sehoon38 in
310
- [#18216](https://github.com/google-gemini/gemini-cli/pull/18216)
311
- - fix: enforce folder trust for workspace settings, skills, and context by
312
- @galz10 in [#17596](https://github.com/google-gemini/gemini-cli/pull/17596)
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
357
+ @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
361
+ @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
365
+ @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
369
+ @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
373
+ @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
377
+ @gemini-cli-robot in
378
+ [#19274](https://github.com/google-gemini/gemini-cli/pull/19274)
313
379
 
314
380
  **Full Changelog**:
315
- https://github.com/google-gemini/gemini-cli/compare/v0.27.0...v0.28.0
381
+ https://github.com/google-gemini/gemini-cli/compare/v0.28.2...v0.29.0