@google/gemini-cli-core 0.30.0-preview.6 → 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 (687) 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 +127 -23
  162. package/dist/src/config/config.js.map +1 -1
  163. package/dist/src/config/config.test.js +285 -10
  164. package/dist/src/config/config.test.js.map +1 -1
  165. package/dist/src/config/projectRegistry.js +1 -0
  166. package/dist/src/config/projectRegistry.js.map +1 -1
  167. package/dist/src/config/storage.d.ts +17 -1
  168. package/dist/src/config/storage.js +82 -2
  169. package/dist/src/config/storage.js.map +1 -1
  170. package/dist/src/config/storage.test.js +149 -2
  171. package/dist/src/config/storage.test.js.map +1 -1
  172. package/dist/src/config/userHintService.d.ts +46 -0
  173. package/dist/src/config/userHintService.js +81 -0
  174. package/dist/src/config/userHintService.js.map +1 -0
  175. package/dist/src/config/userHintService.test.d.ts +6 -0
  176. package/dist/src/config/userHintService.test.js +62 -0
  177. package/dist/src/config/userHintService.test.js.map +1 -0
  178. package/dist/src/confirmation-bus/message-bus.js +15 -3
  179. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  180. package/dist/src/confirmation-bus/message-bus.test.js +15 -0
  181. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  182. package/dist/src/confirmation-bus/types.d.ts +7 -0
  183. package/dist/src/confirmation-bus/types.js.map +1 -1
  184. package/dist/src/core/baseLlmClient.d.ts +2 -3
  185. package/dist/src/core/baseLlmClient.js +7 -5
  186. package/dist/src/core/baseLlmClient.js.map +1 -1
  187. package/dist/src/core/baseLlmClient.test.js +45 -20
  188. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  189. package/dist/src/core/client.js +18 -7
  190. package/dist/src/core/client.js.map +1 -1
  191. package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
  192. package/dist/src/core/coreToolHookTriggers.js +8 -3
  193. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  194. package/dist/src/core/coreToolScheduler.js +2 -1
  195. package/dist/src/core/coreToolScheduler.js.map +1 -1
  196. package/dist/src/core/coreToolScheduler.test.js +10 -3
  197. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  198. package/dist/src/core/fakeContentGenerator.js +2 -0
  199. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  200. package/dist/src/core/geminiChat.d.ts +1 -1
  201. package/dist/src/core/geminiChat.js +5 -5
  202. package/dist/src/core/geminiChat.js.map +1 -1
  203. package/dist/src/core/geminiChat.test.js +1 -0
  204. package/dist/src/core/geminiChat.test.js.map +1 -1
  205. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  206. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  207. package/dist/src/core/logger.js +2 -0
  208. package/dist/src/core/logger.js.map +1 -1
  209. package/dist/src/core/loggingContentGenerator.d.ts +14 -2
  210. package/dist/src/core/loggingContentGenerator.js +98 -4
  211. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  212. package/dist/src/core/loggingContentGenerator.test.js +275 -1
  213. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  214. package/dist/src/core/prompts.test.js +55 -27
  215. package/dist/src/core/prompts.test.js.map +1 -1
  216. package/dist/src/core/recordingContentGenerator.test.js +5 -0
  217. package/dist/src/core/recordingContentGenerator.test.js.map +1 -1
  218. package/dist/src/core/turn.d.ts +4 -2
  219. package/dist/src/core/turn.js +2 -0
  220. package/dist/src/core/turn.js.map +1 -1
  221. package/dist/src/core/turn.test.js +4 -1
  222. package/dist/src/core/turn.test.js.map +1 -1
  223. package/dist/src/generated/git-commit.d.ts +2 -2
  224. package/dist/src/generated/git-commit.js +2 -2
  225. package/dist/src/hooks/hookAggregator.d.ts +1 -2
  226. package/dist/src/hooks/hookAggregator.js +1 -2
  227. package/dist/src/hooks/hookAggregator.js.map +1 -1
  228. package/dist/src/hooks/hookEventHandler.d.ts +2 -2
  229. package/dist/src/hooks/hookEventHandler.js +13 -4
  230. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  231. package/dist/src/hooks/hookEventHandler.test.js +1 -2
  232. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  233. package/dist/src/hooks/hookPlanner.d.ts +1 -2
  234. package/dist/src/hooks/hookPlanner.js.map +1 -1
  235. package/dist/src/hooks/hookRegistry.d.ts +8 -0
  236. package/dist/src/hooks/hookRegistry.js +31 -3
  237. package/dist/src/hooks/hookRegistry.js.map +1 -1
  238. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  239. package/dist/src/hooks/hookRunner.d.ts +5 -2
  240. package/dist/src/hooks/hookRunner.js +52 -2
  241. package/dist/src/hooks/hookRunner.js.map +1 -1
  242. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  243. package/dist/src/hooks/hookSystem.d.ts +11 -3
  244. package/dist/src/hooks/hookSystem.js +10 -4
  245. package/dist/src/hooks/hookSystem.js.map +1 -1
  246. package/dist/src/hooks/hookSystem.test.js +1 -0
  247. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  248. package/dist/src/hooks/runtimeHooks.test.d.ts +6 -0
  249. package/dist/src/hooks/runtimeHooks.test.js +100 -0
  250. package/dist/src/hooks/runtimeHooks.test.js.map +1 -0
  251. package/dist/src/hooks/trustedHooks.js +6 -1
  252. package/dist/src/hooks/trustedHooks.js.map +1 -1
  253. package/dist/src/hooks/trustedHooks.test.js +17 -9
  254. package/dist/src/hooks/trustedHooks.test.js.map +1 -1
  255. package/dist/src/hooks/types.d.ts +49 -8
  256. package/dist/src/hooks/types.js +20 -1
  257. package/dist/src/hooks/types.js.map +1 -1
  258. package/dist/src/ide/detect-ide.d.ts +0 -1
  259. package/dist/src/ide/detect-ide.js +1 -1
  260. package/dist/src/ide/detect-ide.js.map +1 -1
  261. package/dist/src/ide/ide-client.js +3 -2
  262. package/dist/src/ide/ide-client.js.map +1 -1
  263. package/dist/src/ide/ide-connection-utils.js +90 -14
  264. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  265. package/dist/src/ide/ide-connection-utils.test.js +78 -0
  266. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  267. package/dist/src/ide/ide-installer.test.js +1 -2
  268. package/dist/src/ide/ide-installer.test.js.map +1 -1
  269. package/dist/src/ide/process-utils.d.ts +7 -0
  270. package/dist/src/ide/process-utils.js +20 -0
  271. package/dist/src/ide/process-utils.js.map +1 -1
  272. package/dist/src/ide/process-utils.test.js +30 -0
  273. package/dist/src/ide/process-utils.test.js.map +1 -1
  274. package/dist/src/index.d.ts +6 -1
  275. package/dist/src/index.js +6 -1
  276. package/dist/src/index.js.map +1 -1
  277. package/dist/src/mcp/oauth-provider.d.ts +1 -1
  278. package/dist/src/mcp/oauth-provider.js +8 -7
  279. package/dist/src/mcp/oauth-provider.js.map +1 -1
  280. package/dist/src/mcp/oauth-provider.test.js +34 -2
  281. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  282. package/dist/src/mcp/oauth-utils.js +2 -0
  283. package/dist/src/mcp/oauth-utils.js.map +1 -1
  284. package/dist/src/mcp/oauth-utils.test.js +12 -0
  285. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  286. package/dist/src/mcp/token-storage/file-token-storage.js +4 -1
  287. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  288. package/dist/src/mcp/token-storage/file-token-storage.test.js +40 -2
  289. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
  290. package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -0
  291. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  292. package/dist/src/policy/config.d.ts +18 -9
  293. package/dist/src/policy/config.js +75 -54
  294. package/dist/src/policy/config.js.map +1 -1
  295. package/dist/src/policy/config.test.js +26 -26
  296. package/dist/src/policy/integrity.d.ts +45 -0
  297. package/dist/src/policy/integrity.js +121 -0
  298. package/dist/src/policy/integrity.js.map +1 -0
  299. package/dist/src/policy/integrity.test.d.ts +6 -0
  300. package/dist/src/policy/integrity.test.js +132 -0
  301. package/dist/src/policy/integrity.test.js.map +1 -0
  302. package/dist/src/policy/persistence.test.js +29 -19
  303. package/dist/src/policy/persistence.test.js.map +1 -1
  304. package/dist/src/policy/policies/conseca.toml +6 -0
  305. package/dist/src/policy/policies/plan.toml +28 -12
  306. package/dist/src/policy/policies/read-only.toml +11 -10
  307. package/dist/src/policy/policies/write.toml +11 -10
  308. package/dist/src/policy/policies/yolo.toml +11 -10
  309. package/dist/src/policy/policy-engine.d.ts +16 -3
  310. package/dist/src/policy/policy-engine.js +154 -29
  311. package/dist/src/policy/policy-engine.js.map +1 -1
  312. package/dist/src/policy/policy-engine.test.js +480 -9
  313. package/dist/src/policy/policy-engine.test.js.map +1 -1
  314. package/dist/src/policy/policy-updater.test.js +11 -6
  315. package/dist/src/policy/policy-updater.test.js.map +1 -1
  316. package/dist/src/policy/toml-loader.d.ts +13 -2
  317. package/dist/src/policy/toml-loader.js +55 -34
  318. package/dist/src/policy/toml-loader.js.map +1 -1
  319. package/dist/src/policy/toml-loader.test.js +115 -7
  320. package/dist/src/policy/toml-loader.test.js.map +1 -1
  321. package/dist/src/policy/types.d.ts +18 -1
  322. package/dist/src/policy/types.js +1 -0
  323. package/dist/src/policy/types.js.map +1 -1
  324. package/dist/src/policy/workspace-policy.test.d.ts +6 -0
  325. package/dist/src/policy/workspace-policy.test.js +231 -0
  326. package/dist/src/policy/workspace-policy.test.js.map +1 -0
  327. package/dist/src/prompts/promptProvider.js +11 -13
  328. package/dist/src/prompts/promptProvider.js.map +1 -1
  329. package/dist/src/prompts/promptProvider.test.js +64 -3
  330. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  331. package/dist/src/prompts/snippets.js +41 -10
  332. package/dist/src/prompts/snippets.js.map +1 -1
  333. package/dist/src/prompts/snippets.legacy.js +1 -0
  334. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  335. package/dist/src/routing/modelRouterService.js +3 -1
  336. package/dist/src/routing/modelRouterService.js.map +1 -1
  337. package/dist/src/routing/modelRouterService.test.js +12 -6
  338. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  339. package/dist/src/routing/strategies/approvalModeStrategy.d.ts +18 -0
  340. package/dist/src/routing/strategies/approvalModeStrategy.js +58 -0
  341. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -0
  342. package/dist/src/routing/strategies/approvalModeStrategy.test.d.ts +6 -0
  343. package/dist/src/routing/strategies/approvalModeStrategy.test.js +110 -0
  344. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -0
  345. package/dist/src/safety/checker-runner.js +1 -0
  346. package/dist/src/safety/checker-runner.js.map +1 -1
  347. package/dist/src/safety/conseca/conseca.d.ts +31 -0
  348. package/dist/src/safety/conseca/conseca.js +105 -0
  349. package/dist/src/safety/conseca/conseca.js.map +1 -0
  350. package/dist/src/safety/conseca/conseca.test.d.ts +6 -0
  351. package/dist/src/safety/conseca/conseca.test.js +226 -0
  352. package/dist/src/safety/conseca/conseca.test.js.map +1 -0
  353. package/dist/src/safety/conseca/integration.test.d.ts +6 -0
  354. package/dist/src/safety/conseca/integration.test.js +19 -0
  355. package/dist/src/safety/conseca/integration.test.js.map +1 -0
  356. package/dist/src/safety/conseca/policy-enforcer.d.ts +13 -0
  357. package/dist/src/safety/conseca/policy-enforcer.js +135 -0
  358. package/dist/src/safety/conseca/policy-enforcer.js.map +1 -0
  359. package/dist/src/safety/conseca/policy-enforcer.test.d.ts +6 -0
  360. package/dist/src/safety/conseca/policy-enforcer.test.js +141 -0
  361. package/dist/src/safety/conseca/policy-enforcer.test.js.map +1 -0
  362. package/dist/src/safety/conseca/policy-generator.d.ts +15 -0
  363. package/dist/src/safety/conseca/policy-generator.js +144 -0
  364. package/dist/src/safety/conseca/policy-generator.js.map +1 -0
  365. package/dist/src/safety/conseca/policy-generator.test.d.ts +6 -0
  366. package/dist/src/safety/conseca/policy-generator.test.js +84 -0
  367. package/dist/src/safety/conseca/policy-generator.test.js.map +1 -0
  368. package/dist/src/safety/conseca/types.d.ts +15 -0
  369. package/dist/src/safety/conseca/types.js +7 -0
  370. package/dist/src/safety/conseca/types.js.map +1 -0
  371. package/dist/src/safety/context-builder.d.ts +3 -3
  372. package/dist/src/safety/context-builder.js +60 -4
  373. package/dist/src/safety/context-builder.js.map +1 -1
  374. package/dist/src/safety/context-builder.test.js +98 -18
  375. package/dist/src/safety/context-builder.test.js.map +1 -1
  376. package/dist/src/safety/protocol.d.ts +4 -0
  377. package/dist/src/safety/registry.d.ts +2 -1
  378. package/dist/src/safety/registry.js +14 -4
  379. package/dist/src/safety/registry.js.map +1 -1
  380. package/dist/src/safety/registry.test.js +5 -2
  381. package/dist/src/safety/registry.test.js.map +1 -1
  382. package/dist/src/scheduler/confirmation.d.ts +0 -13
  383. package/dist/src/scheduler/confirmation.js +1 -1
  384. package/dist/src/scheduler/confirmation.js.map +1 -1
  385. package/dist/src/scheduler/policy.js +6 -2
  386. package/dist/src/scheduler/policy.js.map +1 -1
  387. package/dist/src/scheduler/policy.test.js +4 -3
  388. package/dist/src/scheduler/policy.test.js.map +1 -1
  389. package/dist/src/scheduler/scheduler.d.ts +3 -1
  390. package/dist/src/scheduler/scheduler.js +148 -28
  391. package/dist/src/scheduler/scheduler.js.map +1 -1
  392. package/dist/src/scheduler/scheduler.test.js +341 -242
  393. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  394. package/dist/src/scheduler/scheduler_parallel.test.d.ts +6 -0
  395. package/dist/src/scheduler/scheduler_parallel.test.js +309 -0
  396. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -0
  397. package/dist/src/scheduler/state-manager.d.ts +8 -0
  398. package/dist/src/scheduler/state-manager.js +30 -2
  399. package/dist/src/scheduler/state-manager.js.map +1 -1
  400. package/dist/src/scheduler/state-manager.test.js +61 -0
  401. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  402. package/dist/src/scheduler/tool-executor.js +15 -7
  403. package/dist/src/scheduler/tool-executor.js.map +1 -1
  404. package/dist/src/scheduler/tool-executor.test.js +1 -1
  405. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  406. package/dist/src/scheduler/types.d.ts +23 -0
  407. package/dist/src/services/FolderTrustDiscoveryService.d.ts +32 -0
  408. package/dist/src/services/FolderTrustDiscoveryService.js +167 -0
  409. package/dist/src/services/FolderTrustDiscoveryService.js.map +1 -0
  410. package/dist/src/services/FolderTrustDiscoveryService.test.d.ts +6 -0
  411. package/dist/src/services/FolderTrustDiscoveryService.test.js +118 -0
  412. package/dist/src/services/FolderTrustDiscoveryService.test.js.map +1 -0
  413. package/dist/src/services/chatCompressionService.d.ts +0 -14
  414. package/dist/src/services/chatCompressionService.js +29 -7
  415. package/dist/src/services/chatCompressionService.js.map +1 -1
  416. package/dist/src/services/chatCompressionService.test.js +3 -1
  417. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  418. package/dist/src/services/chatRecordingService.d.ts +7 -1
  419. package/dist/src/services/chatRecordingService.js +12 -1
  420. package/dist/src/services/chatRecordingService.js.map +1 -1
  421. package/dist/src/services/chatRecordingService.test.js +34 -0
  422. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  423. package/dist/src/services/loopDetectionService.js +1 -2
  424. package/dist/src/services/loopDetectionService.js.map +1 -1
  425. package/dist/src/services/sessionSummaryUtils.js +3 -0
  426. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  427. package/dist/src/services/shellExecutionService.js +6 -0
  428. package/dist/src/services/shellExecutionService.js.map +1 -1
  429. package/dist/src/skills/skillLoader.js +2 -2
  430. package/dist/src/skills/skillLoader.js.map +1 -1
  431. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +3 -1
  432. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -4
  433. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  434. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
  435. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +19 -5
  436. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  437. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +14 -1
  438. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +29 -1
  439. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  440. package/dist/src/telemetry/conseca-logger.d.ts +9 -0
  441. package/dist/src/telemetry/conseca-logger.js +91 -0
  442. package/dist/src/telemetry/conseca-logger.js.map +1 -0
  443. package/dist/src/telemetry/conseca-logger.test.d.ts +6 -0
  444. package/dist/src/telemetry/conseca-logger.test.js +89 -0
  445. package/dist/src/telemetry/conseca-logger.test.js.map +1 -0
  446. package/dist/src/telemetry/gcp-exporters.js +1 -2
  447. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  448. package/dist/src/telemetry/index.d.ts +2 -1
  449. package/dist/src/telemetry/index.js +2 -1
  450. package/dist/src/telemetry/index.js.map +1 -1
  451. package/dist/src/telemetry/integration.test.circular.js +3 -0
  452. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  453. package/dist/src/telemetry/loggers.d.ts +1 -2
  454. package/dist/src/telemetry/loggers.js +3 -13
  455. package/dist/src/telemetry/loggers.js.map +1 -1
  456. package/dist/src/telemetry/loggers.test.circular.js +3 -0
  457. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  458. package/dist/src/telemetry/loggers.test.js +6 -5
  459. package/dist/src/telemetry/loggers.test.js.map +1 -1
  460. package/dist/src/telemetry/metrics.d.ts +1 -3
  461. package/dist/src/telemetry/metrics.js +3 -2
  462. package/dist/src/telemetry/metrics.js.map +1 -1
  463. package/dist/src/telemetry/metrics.test.js +7 -3
  464. package/dist/src/telemetry/metrics.test.js.map +1 -1
  465. package/dist/src/telemetry/sanitize.test.js +19 -18
  466. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  467. package/dist/src/telemetry/semantic.d.ts +7 -9
  468. package/dist/src/telemetry/semantic.js +8 -8
  469. package/dist/src/telemetry/semantic.js.map +1 -1
  470. package/dist/src/telemetry/types.d.ts +42 -4
  471. package/dist/src/telemetry/types.js +87 -2
  472. package/dist/src/telemetry/types.js.map +1 -1
  473. package/dist/src/telemetry/uiTelemetry.d.ts +1 -2
  474. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  475. package/dist/src/telemetry/uiTelemetry.test.js +1 -2
  476. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  477. package/dist/src/tools/ask-user.test.js +1 -19
  478. package/dist/src/tools/ask-user.test.js.map +1 -1
  479. package/dist/src/tools/confirmation-policy.test.js +14 -17
  480. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  481. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +1 -1
  482. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  483. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +14 -16
  484. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  485. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +24 -59
  486. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  487. package/dist/src/tools/diff-utils.d.ts +9 -0
  488. package/dist/src/tools/diff-utils.js +66 -0
  489. package/dist/src/tools/diff-utils.js.map +1 -0
  490. package/dist/src/tools/diff-utils.test.d.ts +6 -0
  491. package/dist/src/tools/diff-utils.test.js +53 -0
  492. package/dist/src/tools/diff-utils.test.js.map +1 -0
  493. package/dist/src/tools/edit.d.ts +9 -4
  494. package/dist/src/tools/edit.js +203 -34
  495. package/dist/src/tools/edit.js.map +1 -1
  496. package/dist/src/tools/edit.test.js +225 -10
  497. package/dist/src/tools/edit.test.js.map +1 -1
  498. package/dist/src/tools/enter-plan-mode.js +1 -1
  499. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  500. package/dist/src/tools/enter-plan-mode.test.js +1 -1
  501. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  502. package/dist/src/tools/exit-plan-mode.js +10 -24
  503. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  504. package/dist/src/tools/exit-plan-mode.test.js +1 -1
  505. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  506. package/dist/src/tools/grep-utils.d.ts +49 -0
  507. package/dist/src/tools/grep-utils.js +139 -0
  508. package/dist/src/tools/grep-utils.js.map +1 -0
  509. package/dist/src/tools/grep.js +4 -44
  510. package/dist/src/tools/grep.js.map +1 -1
  511. package/dist/src/tools/grep.test.js +21 -2
  512. package/dist/src/tools/grep.test.js.map +1 -1
  513. package/dist/src/tools/ls.js +6 -1
  514. package/dist/src/tools/ls.js.map +1 -1
  515. package/dist/src/tools/ls.test.js +2 -2
  516. package/dist/src/tools/ls.test.js.map +1 -1
  517. package/dist/src/tools/mcp-client-manager.js +16 -18
  518. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  519. package/dist/src/tools/mcp-client-manager.test.js +51 -0
  520. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  521. package/dist/src/tools/mcp-client.d.ts +22 -1
  522. package/dist/src/tools/mcp-client.js +95 -36
  523. package/dist/src/tools/mcp-client.js.map +1 -1
  524. package/dist/src/tools/mcp-client.test.js +148 -20
  525. package/dist/src/tools/mcp-client.test.js.map +1 -1
  526. package/dist/src/tools/mcp-tool.d.ts +15 -5
  527. package/dist/src/tools/mcp-tool.js +36 -8
  528. package/dist/src/tools/mcp-tool.js.map +1 -1
  529. package/dist/src/tools/memoryTool.js +1 -1
  530. package/dist/src/tools/memoryTool.js.map +1 -1
  531. package/dist/src/tools/memoryTool.test.js +5 -0
  532. package/dist/src/tools/memoryTool.test.js.map +1 -1
  533. package/dist/src/tools/omissionPlaceholderDetector.d.ts +15 -0
  534. package/dist/src/tools/omissionPlaceholderDetector.js +90 -0
  535. package/dist/src/tools/omissionPlaceholderDetector.js.map +1 -0
  536. package/dist/src/tools/omissionPlaceholderDetector.test.d.ts +6 -0
  537. package/dist/src/tools/omissionPlaceholderDetector.test.js +49 -0
  538. package/dist/src/tools/omissionPlaceholderDetector.test.js.map +1 -0
  539. package/dist/src/tools/read-file.d.ts +4 -4
  540. package/dist/src/tools/read-file.js +17 -10
  541. package/dist/src/tools/read-file.js.map +1 -1
  542. package/dist/src/tools/read-file.test.js +20 -10
  543. package/dist/src/tools/read-file.test.js.map +1 -1
  544. package/dist/src/tools/ripGrep.js +49 -46
  545. package/dist/src/tools/ripGrep.js.map +1 -1
  546. package/dist/src/tools/ripGrep.test.js +52 -37
  547. package/dist/src/tools/ripGrep.test.js.map +1 -1
  548. package/dist/src/tools/shell.d.ts +2 -2
  549. package/dist/src/tools/shell.js +2 -2
  550. package/dist/src/tools/shell.js.map +1 -1
  551. package/dist/src/tools/shell.test.js +1 -2
  552. package/dist/src/tools/shell.test.js.map +1 -1
  553. package/dist/src/tools/tool-names.d.ts +0 -6
  554. package/dist/src/tools/tool-names.js +0 -15
  555. package/dist/src/tools/tool-names.js.map +1 -1
  556. package/dist/src/tools/tool-registry.d.ts +1 -0
  557. package/dist/src/tools/tool-registry.js +33 -6
  558. package/dist/src/tools/tool-registry.js.map +1 -1
  559. package/dist/src/tools/tool-registry.test.js +47 -0
  560. package/dist/src/tools/tool-registry.test.js.map +1 -1
  561. package/dist/src/tools/tools.d.ts +21 -1
  562. package/dist/src/tools/tools.js +19 -3
  563. package/dist/src/tools/tools.js.map +1 -1
  564. package/dist/src/tools/tools.test.js +24 -0
  565. package/dist/src/tools/tools.test.js.map +1 -1
  566. package/dist/src/tools/web-fetch.d.ts +9 -1
  567. package/dist/src/tools/web-fetch.js +273 -34
  568. package/dist/src/tools/web-fetch.js.map +1 -1
  569. package/dist/src/tools/web-fetch.test.js +303 -30
  570. package/dist/src/tools/web-fetch.test.js.map +1 -1
  571. package/dist/src/tools/write-file.js +14 -10
  572. package/dist/src/tools/write-file.js.map +1 -1
  573. package/dist/src/tools/write-file.test.js +75 -0
  574. package/dist/src/tools/write-file.test.js.map +1 -1
  575. package/dist/src/tools/write-todos.d.ts +2 -2
  576. package/dist/src/tools/write-todos.js +1 -1
  577. package/dist/src/tools/write-todos.js.map +1 -1
  578. package/dist/src/tools/xcode-mcp-fix-transport.js +4 -1
  579. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  580. package/dist/src/utils/approvalModeUtils.d.ts +14 -0
  581. package/dist/src/utils/approvalModeUtils.js +35 -0
  582. package/dist/src/utils/approvalModeUtils.js.map +1 -0
  583. package/dist/src/utils/approvalModeUtils.test.d.ts +6 -0
  584. package/dist/src/utils/approvalModeUtils.test.js +36 -0
  585. package/dist/src/utils/approvalModeUtils.test.js.map +1 -0
  586. package/dist/src/utils/authConsent.d.ts +1 -1
  587. package/dist/src/utils/authConsent.js +10 -8
  588. package/dist/src/utils/authConsent.js.map +1 -1
  589. package/dist/src/utils/authConsent.test.js +89 -44
  590. package/dist/src/utils/authConsent.test.js.map +1 -1
  591. package/dist/src/utils/compatibility.d.ts +41 -0
  592. package/dist/src/utils/compatibility.js +112 -0
  593. package/dist/src/utils/compatibility.js.map +1 -0
  594. package/dist/src/utils/compatibility.test.d.ts +6 -0
  595. package/dist/src/utils/compatibility.test.js +233 -0
  596. package/dist/src/utils/compatibility.test.js.map +1 -0
  597. package/dist/src/utils/editCorrector.js +22 -29
  598. package/dist/src/utils/editCorrector.js.map +1 -1
  599. package/dist/src/utils/editCorrector.test.js.map +1 -1
  600. package/dist/src/utils/envExpansion.d.ts +18 -0
  601. package/dist/src/utils/envExpansion.js +46 -0
  602. package/dist/src/utils/envExpansion.js.map +1 -0
  603. package/dist/src/utils/envExpansion.test.d.ts +6 -0
  604. package/dist/src/utils/envExpansion.test.js +110 -0
  605. package/dist/src/utils/envExpansion.test.js.map +1 -0
  606. package/dist/src/utils/errors.d.ts +1 -0
  607. package/dist/src/utils/errors.js +55 -10
  608. package/dist/src/utils/errors.js.map +1 -1
  609. package/dist/src/utils/errors.test.js +27 -1
  610. package/dist/src/utils/errors.test.js.map +1 -1
  611. package/dist/src/utils/events.d.ts +17 -0
  612. package/dist/src/utils/events.js +12 -0
  613. package/dist/src/utils/events.js.map +1 -1
  614. package/dist/src/utils/events.test.d.ts +1 -1
  615. package/dist/src/utils/events.test.js +50 -3
  616. package/dist/src/utils/events.test.js.map +1 -1
  617. package/dist/src/utils/fastAckHelper.js +2 -1
  618. package/dist/src/utils/fastAckHelper.js.map +1 -1
  619. package/dist/src/utils/fetch.d.ts +1 -1
  620. package/dist/src/utils/fetch.js +15 -2
  621. package/dist/src/utils/fetch.js.map +1 -1
  622. package/dist/src/utils/fileDiffUtils.d.ts +2 -2
  623. package/dist/src/utils/fileDiffUtils.js +1 -2
  624. package/dist/src/utils/fileDiffUtils.js.map +1 -1
  625. package/dist/src/utils/fileUtils.d.ts +5 -3
  626. package/dist/src/utils/fileUtils.js +25 -16
  627. package/dist/src/utils/fileUtils.js.map +1 -1
  628. package/dist/src/utils/fileUtils.test.js +14 -13
  629. package/dist/src/utils/fileUtils.test.js.map +1 -1
  630. package/dist/src/utils/filesearch/fileSearch.js +4 -1
  631. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  632. package/dist/src/utils/getFolderStructure.test.js +4 -5
  633. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  634. package/dist/src/utils/getPty.js +4 -0
  635. package/dist/src/utils/getPty.js.map +1 -1
  636. package/dist/src/utils/googleErrors.js +29 -5
  637. package/dist/src/utils/googleErrors.js.map +1 -1
  638. package/dist/src/utils/googleQuotaErrors.js +10 -0
  639. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  640. package/dist/src/utils/googleQuotaErrors.test.js +16 -1
  641. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  642. package/dist/src/utils/memoryDiscovery.js +2 -0
  643. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  644. package/dist/src/utils/memoryDiscovery.test.js +1 -2
  645. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  646. package/dist/src/utils/retry.d.ts +1 -1
  647. package/dist/src/utils/retry.js +9 -4
  648. package/dist/src/utils/retry.js.map +1 -1
  649. package/dist/src/utils/retry.test.js +15 -12
  650. package/dist/src/utils/retry.test.js.map +1 -1
  651. package/dist/src/utils/safeJsonStringify.js +3 -0
  652. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  653. package/dist/src/utils/schemaValidator.js +5 -3
  654. package/dist/src/utils/schemaValidator.js.map +1 -1
  655. package/dist/src/utils/session.d.ts +1 -0
  656. package/dist/src/utils/session.js +3 -0
  657. package/dist/src/utils/session.js.map +1 -1
  658. package/dist/src/utils/sessionUtils.d.ts +14 -0
  659. package/dist/src/utils/sessionUtils.js +113 -0
  660. package/dist/src/utils/sessionUtils.js.map +1 -0
  661. package/dist/src/utils/sessionUtils.test.d.ts +1 -0
  662. package/dist/src/utils/sessionUtils.test.js +137 -0
  663. package/dist/src/utils/sessionUtils.test.js.map +1 -0
  664. package/dist/src/utils/shell-utils.js +1 -0
  665. package/dist/src/utils/shell-utils.js.map +1 -1
  666. package/dist/src/utils/stdio.js +6 -0
  667. package/dist/src/utils/stdio.js.map +1 -1
  668. package/dist/src/utils/textUtils.d.ts +9 -0
  669. package/dist/src/utils/textUtils.js +15 -0
  670. package/dist/src/utils/textUtils.js.map +1 -1
  671. package/dist/src/utils/textUtils.test.js +42 -1
  672. package/dist/src/utils/textUtils.test.js.map +1 -1
  673. package/dist/src/utils/toolCallContext.d.ts +0 -5
  674. package/dist/src/utils/toolCallContext.js +1 -1
  675. package/dist/src/utils/toolCallContext.js.map +1 -1
  676. package/dist/src/utils/userAccountManager.js +3 -0
  677. package/dist/src/utils/userAccountManager.js.map +1 -1
  678. package/dist/tsconfig.tsbuildinfo +1 -1
  679. package/package.json +6 -3
  680. package/dist/docs/architecture.md +0 -80
  681. package/dist/docs/cli/index.md +0 -123
  682. package/dist/docs/core/concepts.md +0 -137
  683. package/dist/docs/get-started/configuration-v1.md +0 -882
  684. package/dist/google-gemini-cli-core-0.30.0-preview.5.tgz +0 -0
  685. /package/dist/docs/{core → reference}/memport.md +0 -0
  686. /package/dist/docs/{core → reference}/tools-api.md +0 -0
  687. /package/dist/docs/{cli → resources}/uninstall.md +0 -0
@@ -1,6 +1,6 @@
1
- # Preview release: Release v0.29.0-preview.0
1
+ # Preview release: v0.30.0-preview.5
2
2
 
3
- Released: February 10, 2026
3
+ Released: February 24, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,355 +13,306 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Plan Mode Enhancements**: Significant updates to Plan Mode, including new
17
- commands, support for MCP servers, integration of planning artifacts, and
18
- improved iteration guidance.
19
- - **Core Agent Improvements**: Enhancements to the core agent, including better
20
- system prompt rigor, improved subagent definitions, and enhanced tool
21
- execution limits.
22
- - **CLI UX/UI Updates**: Various UI and UX improvements, such as autocomplete in
23
- the input prompt, updated approval mode labels, DevTools integration, and
24
- improved header spacing.
25
- - **Tooling & Extension Updates**: Improvements to existing tools like
26
- `ask_user` and `grep_search`, and new features for extension management.
27
- - **Bug Fixes**: Numerous bug fixes across the CLI and core, addressing issues
28
- with interactive commands, memory leaks, permission checks, and more.
29
- - **Context and Tool Output Management**: Features for observation masking for
30
- tool outputs, session-linked tool output storage, and persistence for masked
31
- tool outputs.
16
+ - **Initial SDK Package:** Introduced the initial SDK package with support for
17
+ custom skills and dynamic system instructions.
18
+ - **Refined Plan Mode:** Refined Plan Mode with support for enabling skills,
19
+ improved agentic execution, and project exploration without planning.
20
+ - **Enhanced CLI UI:** Enhanced CLI UI with a new clean UI toggle, minimal-mode
21
+ bleed-through, and support for Ctrl-Z suspension.
22
+ - **`--policy` flag:** Added the `--policy` flag to support user-defined
23
+ policies.
24
+ - **New Themes:** Added Solarized Dark and Solarized Light themes.
32
25
 
33
26
  ## What's Changed
34
27
 
35
- - fix: remove ask_user tool from non-interactive modes by jackwotherspoon in
36
- [#18154](https://github.com/google-gemini/gemini-cli/pull/18154)
37
- - fix(cli): allow restricted .env loading in untrusted sandboxed folders by
38
- galz10 in [#17806](https://github.com/google-gemini/gemini-cli/pull/17806)
39
- - Encourage agent to utilize ecosystem tools to perform work by gundermanc in
40
- [#17881](https://github.com/google-gemini/gemini-cli/pull/17881)
41
- - feat(plan): unify workflow location in system prompt to optimize caching by
42
- jerop in [#18258](https://github.com/google-gemini/gemini-cli/pull/18258)
43
- - feat(core): enable getUserTierName in config by sehoon38 in
44
- [#18265](https://github.com/google-gemini/gemini-cli/pull/18265)
45
- - feat(core): add default execution limits for subagents by abhipatel12 in
46
- [#18274](https://github.com/google-gemini/gemini-cli/pull/18274)
47
- - Fix issue where agent gets stuck at interactive commands. by gundermanc in
48
- [#18272](https://github.com/google-gemini/gemini-cli/pull/18272)
49
- - chore(release): bump version to 0.29.0-nightly.20260203.71f46f116 by
50
- gemini-cli-robot in
51
- [#18243](https://github.com/google-gemini/gemini-cli/pull/18243)
52
- - feat(core): remove hardcoded policy bypass for local subagents by abhipatel12
53
- in [#18153](https://github.com/google-gemini/gemini-cli/pull/18153)
54
- - feat(plan): implement plan slash command by Adib234 in
55
- [#17698](https://github.com/google-gemini/gemini-cli/pull/17698)
56
- - feat: increase ask_user label limit to 16 characters by jackwotherspoon in
57
- [#18320](https://github.com/google-gemini/gemini-cli/pull/18320)
58
- - Add information about the agent skills lifecycle and clarify docs-writer skill
59
- metadata. by g-samroberts in
60
- [#18234](https://github.com/google-gemini/gemini-cli/pull/18234)
61
- - feat(core): add enter_plan_mode tool by jerop in
62
- [#18324](https://github.com/google-gemini/gemini-cli/pull/18324)
63
- - Stop showing an error message in /plan by Adib234 in
64
- [#18333](https://github.com/google-gemini/gemini-cli/pull/18333)
65
- - fix(hooks): remove unnecessary logging for hook registration by abhipatel12 in
66
- [#18332](https://github.com/google-gemini/gemini-cli/pull/18332)
67
- - fix(mcp): ensure MCP transport is closed to prevent memory leaks by cbcoutinho
68
- in [#18054](https://github.com/google-gemini/gemini-cli/pull/18054)
69
- - feat(skills): implement linking for agent skills by MushuEE in
70
- [#18295](https://github.com/google-gemini/gemini-cli/pull/18295)
71
- - Changelogs for 0.27.0 and 0.28.0-preview0 by g-samroberts in
72
- [#18336](https://github.com/google-gemini/gemini-cli/pull/18336)
73
- - chore: correct docs as skills and hooks are stable by jackwotherspoon in
74
- [#18358](https://github.com/google-gemini/gemini-cli/pull/18358)
75
- - feat(admin): Implement admin allowlist for MCP server configurations by
76
- skeshive in [#18311](https://github.com/google-gemini/gemini-cli/pull/18311)
77
- - fix(core): add retry logic for transient SSL/TLS errors
78
- ([#17318](https://github.com/google-gemini/gemini-cli/pull/17318)) by
79
- ppgranger in [#18310](https://github.com/google-gemini/gemini-cli/pull/18310)
80
- - Add support for /extensions config command by chrstnb in
81
- [#17895](https://github.com/google-gemini/gemini-cli/pull/17895)
82
- - fix(core): handle non-compliant mcpbridge responses from Xcode 26.3 by
83
- peterfriese in
84
- [#18376](https://github.com/google-gemini/gemini-cli/pull/18376)
85
- - feat(cli): Add W, B, E Vim motions and operator support by ademuri in
86
- [#16209](https://github.com/google-gemini/gemini-cli/pull/16209)
87
- - fix: Windows Specific Agent Quality & System Prompt by scidomino in
88
- [#18351](https://github.com/google-gemini/gemini-cli/pull/18351)
89
- - feat(plan): support replace tool in plan mode to edit plans by jerop in
90
- [#18379](https://github.com/google-gemini/gemini-cli/pull/18379)
91
- - Improving memory tool instructions and eval testing by alisa-alisa in
92
- [#18091](https://github.com/google-gemini/gemini-cli/pull/18091)
93
- - fix(cli): color extension link success message green by MushuEE in
94
- [#18386](https://github.com/google-gemini/gemini-cli/pull/18386)
95
- - undo by jacob314 in
96
- [#18147](https://github.com/google-gemini/gemini-cli/pull/18147)
97
- - feat(plan): add guidance on iterating on approved plans vs creating new plans
98
- by jerop in [#18346](https://github.com/google-gemini/gemini-cli/pull/18346)
99
- - feat(plan): fix invalid tool calls in plan mode by Adib234 in
100
- [#18352](https://github.com/google-gemini/gemini-cli/pull/18352)
101
- - feat(plan): integrate planning artifacts and tools into primary workflows by
102
- jerop in [#18375](https://github.com/google-gemini/gemini-cli/pull/18375)
103
- - Fix permission check by scidomino in
104
- [#18395](https://github.com/google-gemini/gemini-cli/pull/18395)
105
- - ux(polish) autocomplete in the input prompt by jacob314 in
106
- [#18181](https://github.com/google-gemini/gemini-cli/pull/18181)
107
- - fix: resolve infinite loop when using 'Modify with external editor' by
108
- ppgranger in [#17453](https://github.com/google-gemini/gemini-cli/pull/17453)
109
- - feat: expand verify-release to macOS and Windows by yunaseoul in
110
- [#18145](https://github.com/google-gemini/gemini-cli/pull/18145)
111
- - feat(plan): implement support for MCP servers in Plan mode by Adib234 in
112
- [#18229](https://github.com/google-gemini/gemini-cli/pull/18229)
113
- - chore: update folder trust error messaging by galz10 in
114
- [#18402](https://github.com/google-gemini/gemini-cli/pull/18402)
115
- - feat(plan): create a metric for execution of plans generated in plan mode by
116
- Adib234 in [#18236](https://github.com/google-gemini/gemini-cli/pull/18236)
117
- - perf(ui): optimize stripUnsafeCharacters with regex by gsquared94 in
118
- [#18413](https://github.com/google-gemini/gemini-cli/pull/18413)
119
- - feat(context): implement observation masking for tool outputs by abhipatel12
120
- in [#18389](https://github.com/google-gemini/gemini-cli/pull/18389)
121
- - feat(core,cli): implement session-linked tool output storage and cleanup by
122
- abhipatel12 in
123
- [#18416](https://github.com/google-gemini/gemini-cli/pull/18416)
124
- - Shorten temp directory by joshualitt in
125
- [#17901](https://github.com/google-gemini/gemini-cli/pull/17901)
126
- - feat(plan): add behavioral evals for plan mode by jerop in
127
- [#18437](https://github.com/google-gemini/gemini-cli/pull/18437)
128
- - Add extension registry client by chrstnb in
129
- [#18396](https://github.com/google-gemini/gemini-cli/pull/18396)
130
- - Enable extension config by default by chrstnb in
131
- [#18447](https://github.com/google-gemini/gemini-cli/pull/18447)
132
- - Automatically generate change logs on release by g-samroberts in
133
- [#18401](https://github.com/google-gemini/gemini-cli/pull/18401)
134
- - Remove previewFeatures and default to Gemini 3 by sehoon38 in
135
- [#18414](https://github.com/google-gemini/gemini-cli/pull/18414)
136
- - feat(admin): apply MCP allowlist to extensions & gemini mcp list command by
137
- skeshive in [#18442](https://github.com/google-gemini/gemini-cli/pull/18442)
138
- - fix(cli): improve focus navigation for interactive and background shells by
139
- galz10 in [#18343](https://github.com/google-gemini/gemini-cli/pull/18343)
140
- - Add shortcuts hint and panel for discoverability by LyalinDotCom in
141
- [#18035](https://github.com/google-gemini/gemini-cli/pull/18035)
142
- - fix(config): treat system settings as read-only during migration and warn user
143
- by spencer426 in
144
- [#18277](https://github.com/google-gemini/gemini-cli/pull/18277)
145
- - feat(plan): add positive test case and update eval stability policy by jerop
146
- in [#18457](https://github.com/google-gemini/gemini-cli/pull/18457)
147
- - fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by
148
- zackoch in [#18408](https://github.com/google-gemini/gemini-cli/pull/18408)
149
- - bug(core): Fix bug when saving plans. by joshualitt in
150
- [#18465](https://github.com/google-gemini/gemini-cli/pull/18465)
151
- - Refactor atCommandProcessor by scidomino in
152
- [#18461](https://github.com/google-gemini/gemini-cli/pull/18461)
153
- - feat(core): implement persistence and resumption for masked tool outputs by
154
- abhipatel12 in
155
- [#18451](https://github.com/google-gemini/gemini-cli/pull/18451)
156
- - refactor: simplify tool output truncation to single config by SandyTao520 in
157
- [#18446](https://github.com/google-gemini/gemini-cli/pull/18446)
158
- - bug(core): Ensure storage is initialized early, even if config is not. by
159
- joshualitt in [#18471](https://github.com/google-gemini/gemini-cli/pull/18471)
160
- - chore: Update build-and-start script to support argument forwarding by
161
- Abhijit-2592 in
162
- [#18241](https://github.com/google-gemini/gemini-cli/pull/18241)
163
- - fix(core): prevent subagent bypass in plan mode by jerop in
164
- [#18484](https://github.com/google-gemini/gemini-cli/pull/18484)
165
- - feat(cli): add WebSocket-based network logging and streaming chunk support by
166
- SandyTao520 in
167
- [#18383](https://github.com/google-gemini/gemini-cli/pull/18383)
168
- - feat(cli): update approval modes UI by jerop in
169
- [#18476](https://github.com/google-gemini/gemini-cli/pull/18476)
170
- - fix(cli): reload skills and agents on extension restart by NTaylorMullen in
171
- [#18411](https://github.com/google-gemini/gemini-cli/pull/18411)
172
- - fix(core): expand excludeTools with legacy aliases for renamed tools by
173
- SandyTao520 in
174
- [#18498](https://github.com/google-gemini/gemini-cli/pull/18498)
175
- - feat(core): overhaul system prompt for rigor, integrity, and intent alignment
176
- by NTaylorMullen in
177
- [#17263](https://github.com/google-gemini/gemini-cli/pull/17263)
178
- - Patch for generate changelog docs yaml file by g-samroberts in
179
- [#18496](https://github.com/google-gemini/gemini-cli/pull/18496)
180
- - Code review fixes for show question mark pr. by jacob314 in
181
- [#18480](https://github.com/google-gemini/gemini-cli/pull/18480)
182
- - fix(cli): add SS3 Shift+Tab support for Windows terminals by ThanhNguyxn in
183
- [#18187](https://github.com/google-gemini/gemini-cli/pull/18187)
184
- - chore: remove redundant planning prompt from final shell by jerop in
185
- [#18528](https://github.com/google-gemini/gemini-cli/pull/18528)
186
- - docs: require pr-creator skill for PR generation by NTaylorMullen in
187
- [#18536](https://github.com/google-gemini/gemini-cli/pull/18536)
188
- - chore: update colors for ask_user dialog by jackwotherspoon in
189
- [#18543](https://github.com/google-gemini/gemini-cli/pull/18543)
190
- - feat(core): exempt high-signal tools from output masking by abhipatel12 in
191
- [#18545](https://github.com/google-gemini/gemini-cli/pull/18545)
192
- - refactor(core): remove memory tool instructions from Gemini 3 prompt by
193
- NTaylorMullen in
194
- [#18559](https://github.com/google-gemini/gemini-cli/pull/18559)
195
- - chore: remove feedback instruction from system prompt by NTaylorMullen in
196
- [#18560](https://github.com/google-gemini/gemini-cli/pull/18560)
197
- - feat(context): add remote configuration for tool output masking thresholds by
198
- abhipatel12 in
199
- [#18553](https://github.com/google-gemini/gemini-cli/pull/18553)
200
- - feat(core): pause agent timeout budget while waiting for tool confirmation by
201
- abhipatel12 in
202
- [#18415](https://github.com/google-gemini/gemini-cli/pull/18415)
203
- - refactor(config): remove experimental.enableEventDrivenScheduler setting by
204
- abhipatel12 in
205
- [#17924](https://github.com/google-gemini/gemini-cli/pull/17924)
206
- - feat(cli): truncate shell output in UI history and improve active shell
207
- display by jwhelangoog in
208
- [#17438](https://github.com/google-gemini/gemini-cli/pull/17438)
209
- - refactor(cli): switch useToolScheduler to event-driven engine by abhipatel12
210
- in [#18565](https://github.com/google-gemini/gemini-cli/pull/18565)
211
- - fix(core): correct escaped interpolation in system prompt by NTaylorMullen in
212
- [#18557](https://github.com/google-gemini/gemini-cli/pull/18557)
213
- - propagate abortSignal by scidomino in
214
- [#18477](https://github.com/google-gemini/gemini-cli/pull/18477)
215
- - feat(core): conditionally include ctrl+f prompt based on interactive shell
216
- setting by NTaylorMullen in
217
- [#18561](https://github.com/google-gemini/gemini-cli/pull/18561)
218
- - fix(core): ensure enter_plan_mode tool registration respects experimental.plan
219
- by jerop in [#18587](https://github.com/google-gemini/gemini-cli/pull/18587)
220
- - feat(core): transition sub-agents to XML format and improve definitions by
221
- NTaylorMullen in
222
- [#18555](https://github.com/google-gemini/gemini-cli/pull/18555)
223
- - docs: Add Plan Mode documentation by jerop in
224
- [#18582](https://github.com/google-gemini/gemini-cli/pull/18582)
225
- - chore: strengthen validation guidance in system prompt by NTaylorMullen in
226
- [#18544](https://github.com/google-gemini/gemini-cli/pull/18544)
227
- - Fix newline insertion bug in replace tool by werdnum in
228
- [#18595](https://github.com/google-gemini/gemini-cli/pull/18595)
229
- - fix(evals): update save_memory evals and simplify tool description by
230
- NTaylorMullen in
231
- [#18610](https://github.com/google-gemini/gemini-cli/pull/18610)
232
- - chore(evals): update validation_fidelity_pre_existing_errors to USUALLY_PASSES
233
- by NTaylorMullen in
234
- [#18617](https://github.com/google-gemini/gemini-cli/pull/18617)
235
- - fix: shorten tool call IDs and fix duplicate tool name in truncated output
236
- filenames by SandyTao520 in
237
- [#18600](https://github.com/google-gemini/gemini-cli/pull/18600)
238
- - feat(cli): implement atomic writes and safety checks for trusted folders by
239
- galz10 in [#18406](https://github.com/google-gemini/gemini-cli/pull/18406)
240
- - Remove relative docs links by chrstnb in
241
- [#18650](https://github.com/google-gemini/gemini-cli/pull/18650)
242
- - docs: add legacy snippets convention to GEMINI.md by NTaylorMullen in
243
- [#18597](https://github.com/google-gemini/gemini-cli/pull/18597)
244
- - fix(chore): Support linting for cjs by aswinashok44 in
245
- [#18639](https://github.com/google-gemini/gemini-cli/pull/18639)
246
- - feat: move shell efficiency guidelines to tool description by NTaylorMullen in
247
- [#18614](https://github.com/google-gemini/gemini-cli/pull/18614)
248
- - Added "" as default value, since getText() used to expect a string only and
249
- thus crashed when undefined... Fixes #18076 by 019-Abhi in
250
- [#18099](https://github.com/google-gemini/gemini-cli/pull/18099)
251
- - Allow @-includes outside of workspaces (with permission) by scidomino in
252
- [#18470](https://github.com/google-gemini/gemini-cli/pull/18470)
253
- - chore: make ask_user header description more clear by jackwotherspoon in
254
- [#18657](https://github.com/google-gemini/gemini-cli/pull/18657)
255
- - refactor(core): model-dependent tool definitions by aishaneeshah in
256
- [#18563](https://github.com/google-gemini/gemini-cli/pull/18563)
257
- - Harded code assist converter. by jacob314 in
258
- [#18656](https://github.com/google-gemini/gemini-cli/pull/18656)
259
- - bug(core): Fix minor bug in migration logic. by joshualitt in
260
- [#18661](https://github.com/google-gemini/gemini-cli/pull/18661)
261
- - feat: enable plan mode experiment in settings by jerop in
262
- [#18636](https://github.com/google-gemini/gemini-cli/pull/18636)
263
- - refactor: push isValidPath() into parsePastedPaths() by scidomino in
264
- [#18664](https://github.com/google-gemini/gemini-cli/pull/18664)
265
- - fix(cli): correct 'esc to cancel' position and restore duration display by
266
- NTaylorMullen in
267
- [#18534](https://github.com/google-gemini/gemini-cli/pull/18534)
268
- - feat(cli): add DevTools integration with gemini-cli-devtools by SandyTao520 in
269
- [#18648](https://github.com/google-gemini/gemini-cli/pull/18648)
270
- - chore: remove unused exports and redundant hook files by SandyTao520 in
271
- [#18681](https://github.com/google-gemini/gemini-cli/pull/18681)
272
- - Fix number of lines being reported in rewind confirmation dialog by Adib234 in
273
- [#18675](https://github.com/google-gemini/gemini-cli/pull/18675)
274
- - feat(cli): disable folder trust in headless mode by galz10 in
275
- [#18407](https://github.com/google-gemini/gemini-cli/pull/18407)
276
- - Disallow unsafe type assertions by gundermanc in
277
- [#18688](https://github.com/google-gemini/gemini-cli/pull/18688)
278
- - Change event type for release by g-samroberts in
279
- [#18693](https://github.com/google-gemini/gemini-cli/pull/18693)
280
- - feat: handle multiple dynamic context filenames in system prompt by
281
- NTaylorMullen in
282
- [#18598](https://github.com/google-gemini/gemini-cli/pull/18598)
283
- - Properly parse at-commands with narrow non-breaking spaces by scidomino in
284
- [#18677](https://github.com/google-gemini/gemini-cli/pull/18677)
285
- - refactor(core): centralize core tool definitions and support model-specific
286
- schemas by aishaneeshah in
287
- [#18662](https://github.com/google-gemini/gemini-cli/pull/18662)
288
- - feat(core): Render memory hierarchically in context. by joshualitt in
289
- [#18350](https://github.com/google-gemini/gemini-cli/pull/18350)
290
- - feat: Ctrl+O to expand paste placeholder by jackwotherspoon in
291
- [#18103](https://github.com/google-gemini/gemini-cli/pull/18103)
292
- - fix(cli): Improve header spacing by NTaylorMullen in
293
- [#18531](https://github.com/google-gemini/gemini-cli/pull/18531)
294
- - Feature/quota visibility 16795 by spencer426 in
295
- [#18203](https://github.com/google-gemini/gemini-cli/pull/18203)
296
- - Inline thinking bubbles with summary/full modes by LyalinDotCom in
297
- [#18033](https://github.com/google-gemini/gemini-cli/pull/18033)
298
- - docs: remove TOC marker from Plan Mode header by jerop in
299
- [#18678](https://github.com/google-gemini/gemini-cli/pull/18678)
300
- - fix(ui): remove redundant newlines in Gemini messages by NTaylorMullen in
301
- [#18538](https://github.com/google-gemini/gemini-cli/pull/18538)
302
- - test(cli): fix AppContainer act() warnings and improve waitFor resilience by
303
- NTaylorMullen in
304
- [#18676](https://github.com/google-gemini/gemini-cli/pull/18676)
305
- - refactor(core): refine Security & System Integrity section in system prompt by
306
- NTaylorMullen in
307
- [#18601](https://github.com/google-gemini/gemini-cli/pull/18601)
308
- - Fix layout rounding. by gundermanc in
309
- [#18667](https://github.com/google-gemini/gemini-cli/pull/18667)
310
- - docs(skills): enhance pr-creator safety and interactivity by NTaylorMullen in
311
- [#18616](https://github.com/google-gemini/gemini-cli/pull/18616)
312
- - test(core): remove hardcoded model from TestRig by NTaylorMullen in
313
- [#18710](https://github.com/google-gemini/gemini-cli/pull/18710)
314
- - feat(core): optimize sub-agents system prompt intro by NTaylorMullen in
315
- [#18608](https://github.com/google-gemini/gemini-cli/pull/18608)
316
- - feat(cli): update approval mode labels and shortcuts per latest UX spec by
317
- jerop in [#18698](https://github.com/google-gemini/gemini-cli/pull/18698)
318
- - fix(plan): update persistent approval mode setting by Adib234 in
319
- [#18638](https://github.com/google-gemini/gemini-cli/pull/18638)
320
- - fix: move toasts location to left side by jackwotherspoon in
321
- [#18705](https://github.com/google-gemini/gemini-cli/pull/18705)
322
- - feat(routing): restrict numerical routing to Gemini 3 family by mattKorwel in
323
- [#18478](https://github.com/google-gemini/gemini-cli/pull/18478)
324
- - fix(ide): fix ide nudge setting by skeshive in
325
- [#18733](https://github.com/google-gemini/gemini-cli/pull/18733)
326
- - fix(core): standardize tool formatting in system prompts by NTaylorMullen in
327
- [#18615](https://github.com/google-gemini/gemini-cli/pull/18615)
328
- - chore: consolidate to green in ask user dialog by jackwotherspoon in
329
- [#18734](https://github.com/google-gemini/gemini-cli/pull/18734)
330
- - feat: add extensionsExplore setting to enable extensions explore UI. by
331
- sripasg in [#18686](https://github.com/google-gemini/gemini-cli/pull/18686)
332
- - feat(cli): defer devtools startup and integrate with F12 by SandyTao520 in
333
- [#18695](https://github.com/google-gemini/gemini-cli/pull/18695)
334
- - ui: update & subdue footer colors and animate progress indicator by
335
- keithguerin in
336
- [#18570](https://github.com/google-gemini/gemini-cli/pull/18570)
337
- - test: add model-specific snapshots for coreTools by aishaneeshah in
338
- [#18707](https://github.com/google-gemini/gemini-cli/pull/18707)
339
- - ci: shard windows tests and fix event listener leaks by NTaylorMullen in
340
- [#18670](https://github.com/google-gemini/gemini-cli/pull/18670)
341
- - fix: allow ask_user tool in yolo mode by jackwotherspoon in
342
- [#18541](https://github.com/google-gemini/gemini-cli/pull/18541)
343
- - feat: redact disabled tools from system prompt
344
- ([#13597](https://github.com/google-gemini/gemini-cli/pull/13597)) by
345
- NTaylorMullen in
346
- [#18613](https://github.com/google-gemini/gemini-cli/pull/18613)
347
- - Update Gemini.md to use the curent year on creating new files by sehoon38 in
348
- [#18460](https://github.com/google-gemini/gemini-cli/pull/18460)
349
- - Code review cleanup for thinking display by jacob314 in
350
- [#18720](https://github.com/google-gemini/gemini-cli/pull/18720)
351
- - fix(cli): hide scrollbars when in alternate buffer copy mode by werdnum in
352
- [#18354](https://github.com/google-gemini/gemini-cli/pull/18354)
353
- - Fix issues with rip grep by gundermanc in
354
- [#18756](https://github.com/google-gemini/gemini-cli/pull/18756)
355
- - fix(cli): fix history navigation regression after prompt autocomplete by
356
- sehoon38 in [#18752](https://github.com/google-gemini/gemini-cli/pull/18752)
357
- - chore: cleanup unused and add unlisted dependencies in packages/cli by
358
- adamfweidman in
359
- [#18749](https://github.com/google-gemini/gemini-cli/pull/18749)
360
- - Fix issue where Gemini CLI creates tests in a new file by gundermanc in
361
- [#18409](https://github.com/google-gemini/gemini-cli/pull/18409)
362
- - feat(telemetry): Ensure experiment IDs are included in OpenTelemetry logs by
363
- kevin-ramdass in
364
- [#18747](https://github.com/google-gemini/gemini-cli/pull/18747)
28
+ - fix(patch): cherry-pick 2c1d6f8 to release/v0.30.0-preview.4-pr-19369 to patch
29
+ version v0.30.0-preview.4 and create version 0.30.0-preview.5 by
30
+ @gemini-cli-robot in
31
+ [#20086](https://github.com/google-gemini/gemini-cli/pull/20086)
32
+ - fix(patch): cherry-pick 261788c to release/v0.30.0-preview.0-pr-19453 to patch
33
+ version v0.30.0-preview.0 and create version 0.30.0-preview.1 by
34
+ @gemini-cli-robot in
35
+ [#19490](https://github.com/google-gemini/gemini-cli/pull/19490)
36
+ - feat(ux): added text wrapping capabilities to markdown tables by @devr0306 in
37
+ [#18240](https://github.com/google-gemini/gemini-cli/pull/18240)
38
+ - Revert "fix(mcp): ensure MCP transport is closed to prevent memory leaks" by
39
+ @skeshive in [#18771](https://github.com/google-gemini/gemini-cli/pull/18771)
40
+ - chore(release): bump version to 0.30.0-nightly.20260210.a2174751d by
41
+ @gemini-cli-robot in
42
+ [#18772](https://github.com/google-gemini/gemini-cli/pull/18772)
43
+ - chore: cleanup unused and add unlisted dependencies in packages/core by
44
+ @adamfweidman in
45
+ [#18762](https://github.com/google-gemini/gemini-cli/pull/18762)
46
+ - chore(core): update activate_skill prompt verbiage to be more direct by
47
+ @NTaylorMullen in
48
+ [#18605](https://github.com/google-gemini/gemini-cli/pull/18605)
49
+ - Add autoconfigure memory usage setting to the dialog by @jacob314 in
50
+ [#18510](https://github.com/google-gemini/gemini-cli/pull/18510)
51
+ - fix(core): prevent race condition in policy persistence by @braddux in
52
+ [#18506](https://github.com/google-gemini/gemini-cli/pull/18506)
53
+ - fix(evals): prevent false positive in hierarchical memory test by
54
+ @Abhijit-2592 in
55
+ [#18777](https://github.com/google-gemini/gemini-cli/pull/18777)
56
+ - test(evals): mark all `save_memory` evals as `USUALLY_PASSES` due to
57
+ unreliability by @jerop in
58
+ [#18786](https://github.com/google-gemini/gemini-cli/pull/18786)
59
+ - feat(cli): add setting to hide shortcuts hint UI by @LyalinDotCom in
60
+ [#18562](https://github.com/google-gemini/gemini-cli/pull/18562)
61
+ - feat(core): formalize 5-phase sequential planning workflow by @jerop in
62
+ [#18759](https://github.com/google-gemini/gemini-cli/pull/18759)
63
+ - Introduce limits for search results. by @gundermanc in
64
+ [#18767](https://github.com/google-gemini/gemini-cli/pull/18767)
65
+ - fix(cli): allow closing debug console after auto-open via flicker by
66
+ @SandyTao520 in
67
+ [#18795](https://github.com/google-gemini/gemini-cli/pull/18795)
68
+ - feat(masking): enable tool output masking by default by @abhipatel12 in
69
+ [#18564](https://github.com/google-gemini/gemini-cli/pull/18564)
70
+ - perf(ui): optimize table rendering by memoizing styled characters by @devr0306
71
+ in [#18770](https://github.com/google-gemini/gemini-cli/pull/18770)
72
+ - feat: multi-line text answers in ask-user tool by @jackwotherspoon in
73
+ [#18741](https://github.com/google-gemini/gemini-cli/pull/18741)
74
+ - perf(cli): truncate large debug logs and limit message history by @mattKorwel
75
+ in [#18663](https://github.com/google-gemini/gemini-cli/pull/18663)
76
+ - fix(core): complete MCP discovery when configured servers are skipped by
77
+ @LyalinDotCom in
78
+ [#18586](https://github.com/google-gemini/gemini-cli/pull/18586)
79
+ - fix(core): cache CLI version to ensure consistency during sessions by
80
+ @sehoon38 in [#18793](https://github.com/google-gemini/gemini-cli/pull/18793)
81
+ - fix(cli): resolve double rendering in shpool and address vscode lint warnings
82
+ by @braddux in
83
+ [#18704](https://github.com/google-gemini/gemini-cli/pull/18704)
84
+ - feat(plan): document and validate Plan Mode policy overrides by @jerop in
85
+ [#18825](https://github.com/google-gemini/gemini-cli/pull/18825)
86
+ - Fix pressing any key to exit select mode. by @jacob314 in
87
+ [#18421](https://github.com/google-gemini/gemini-cli/pull/18421)
88
+ - fix(cli): update F12 behavior to only open drawer if browser fails by
89
+ @SandyTao520 in
90
+ [#18829](https://github.com/google-gemini/gemini-cli/pull/18829)
91
+ - feat(plan): allow skills to be enabled in plan mode by @Adib234 in
92
+ [#18817](https://github.com/google-gemini/gemini-cli/pull/18817)
93
+ - docs(plan): add documentation for plan mode tools by @jerop in
94
+ [#18827](https://github.com/google-gemini/gemini-cli/pull/18827)
95
+ - Remove experimental note in extension settings docs by @chrstnb in
96
+ [#18822](https://github.com/google-gemini/gemini-cli/pull/18822)
97
+ - Update prompt and grep tool definition to limit context size by @gundermanc in
98
+ [#18780](https://github.com/google-gemini/gemini-cli/pull/18780)
99
+ - docs(plan): add `ask_user` tool documentation by @jerop in
100
+ [#18830](https://github.com/google-gemini/gemini-cli/pull/18830)
101
+ - Revert unintended credentials exposure by @Adib234 in
102
+ [#18840](https://github.com/google-gemini/gemini-cli/pull/18840)
103
+ - feat(core): update internal utility models to Gemini 3 by @SandyTao520 in
104
+ [#18773](https://github.com/google-gemini/gemini-cli/pull/18773)
105
+ - feat(a2a): add value-resolver for auth credential resolution by @adamfweidman
106
+ in [#18653](https://github.com/google-gemini/gemini-cli/pull/18653)
107
+ - Removed getPlainTextLength by @devr0306 in
108
+ [#18848](https://github.com/google-gemini/gemini-cli/pull/18848)
109
+ - More grep prompt tweaks by @gundermanc in
110
+ [#18846](https://github.com/google-gemini/gemini-cli/pull/18846)
111
+ - refactor(cli): Reactive useSettingsStore hook by @psinha40898 in
112
+ [#14915](https://github.com/google-gemini/gemini-cli/pull/14915)
113
+ - fix(mcp): Ensure that stdio MCP server execution has the `GEMINI_CLI=1` env
114
+ variable populated. by @richieforeman in
115
+ [#18832](https://github.com/google-gemini/gemini-cli/pull/18832)
116
+ - fix(core): improve headless mode detection for flags and query args by @galz10
117
+ in [#18855](https://github.com/google-gemini/gemini-cli/pull/18855)
118
+ - refactor(cli): simplify UI and remove legacy inline tool confirmation logic by
119
+ @abhipatel12 in
120
+ [#18566](https://github.com/google-gemini/gemini-cli/pull/18566)
121
+ - feat(cli): deprecate --allowed-tools and excludeTools in favor of policy
122
+ engine by @Abhijit-2592 in
123
+ [#18508](https://github.com/google-gemini/gemini-cli/pull/18508)
124
+ - fix(workflows): improve maintainer detection for automated PR actions by
125
+ @bdmorgan in [#18869](https://github.com/google-gemini/gemini-cli/pull/18869)
126
+ - refactor(cli): consolidate useToolScheduler and delete legacy implementation
127
+ by @abhipatel12 in
128
+ [#18567](https://github.com/google-gemini/gemini-cli/pull/18567)
129
+ - Update changelog for v0.28.0 and v0.29.0-preview0 by @g-samroberts in
130
+ [#18819](https://github.com/google-gemini/gemini-cli/pull/18819)
131
+ - fix(core): ensure sub-agents are registered regardless of tools.allowed by
132
+ @mattKorwel in
133
+ [#18870](https://github.com/google-gemini/gemini-cli/pull/18870)
134
+ - Show notification when there's a conflict with an extensions command by
135
+ @chrstnb in [#17890](https://github.com/google-gemini/gemini-cli/pull/17890)
136
+ - fix(cli): dismiss '?' shortcuts help on hotkeys and active states by
137
+ @LyalinDotCom in
138
+ [#18583](https://github.com/google-gemini/gemini-cli/pull/18583)
139
+ - fix(core): prioritize conditional policy rules and harden Plan Mode by
140
+ @Abhijit-2592 in
141
+ [#18882](https://github.com/google-gemini/gemini-cli/pull/18882)
142
+ - feat(core): refine Plan Mode system prompt for agentic execution by
143
+ @NTaylorMullen in
144
+ [#18799](https://github.com/google-gemini/gemini-cli/pull/18799)
145
+ - feat(plan): create metrics for usage of `AskUser` tool by @Adib234 in
146
+ [#18820](https://github.com/google-gemini/gemini-cli/pull/18820)
147
+ - feat(cli): support Ctrl-Z suspension by @scidomino in
148
+ [#18931](https://github.com/google-gemini/gemini-cli/pull/18931)
149
+ - fix(github-actions): use robot PAT for release creation to trigger release
150
+ notes by @SandyTao520 in
151
+ [#18794](https://github.com/google-gemini/gemini-cli/pull/18794)
152
+ - feat: add strict seatbelt profiles and remove unusable closed profiles by
153
+ @SandyTao520 in
154
+ [#18876](https://github.com/google-gemini/gemini-cli/pull/18876)
155
+ - chore: cleanup unused and add unlisted dependencies in packages/a2a-server by
156
+ @adamfweidman in
157
+ [#18916](https://github.com/google-gemini/gemini-cli/pull/18916)
158
+ - fix(plan): isolate plan files per session by @Adib234 in
159
+ [#18757](https://github.com/google-gemini/gemini-cli/pull/18757)
160
+ - fix: character truncation in raw markdown mode by @jackwotherspoon in
161
+ [#18938](https://github.com/google-gemini/gemini-cli/pull/18938)
162
+ - feat(cli): prototype clean UI toggle and minimal-mode bleed-through by
163
+ @LyalinDotCom in
164
+ [#18683](https://github.com/google-gemini/gemini-cli/pull/18683)
165
+ - ui(polish) blend background color with theme by @jacob314 in
166
+ [#18802](https://github.com/google-gemini/gemini-cli/pull/18802)
167
+ - Add generic searchable list to back settings and extensions by @chrstnb in
168
+ [#18838](https://github.com/google-gemini/gemini-cli/pull/18838)
169
+ - feat(ui): align `AskUser` color scheme with UX spec by @jerop in
170
+ [#18943](https://github.com/google-gemini/gemini-cli/pull/18943)
171
+ - Hide AskUser tool validation errors from UI (agent self-corrects) by @jerop in
172
+ [#18954](https://github.com/google-gemini/gemini-cli/pull/18954)
173
+ - bug(cli) fix flicker due to AppContainer continuous initialization by
174
+ @jacob314 in [#18958](https://github.com/google-gemini/gemini-cli/pull/18958)
175
+ - feat(admin): Add admin controls documentation by @skeshive in
176
+ [#18644](https://github.com/google-gemini/gemini-cli/pull/18644)
177
+ - feat(cli): disable ctrl-s shortcut outside of alternate buffer mode by
178
+ @jacob314 in [#18887](https://github.com/google-gemini/gemini-cli/pull/18887)
179
+ - fix(vim): vim support that feels (more) complete by @ppgranger in
180
+ [#18755](https://github.com/google-gemini/gemini-cli/pull/18755)
181
+ - feat(policy): add --policy flag for user defined policies by @allenhutchison
182
+ in [#18500](https://github.com/google-gemini/gemini-cli/pull/18500)
183
+ - Update installation guide by @g-samroberts in
184
+ [#18823](https://github.com/google-gemini/gemini-cli/pull/18823)
185
+ - refactor(core): centralize tool definitions (Group 1: replace, search, grep)
186
+ by @aishaneeshah in
187
+ [#18944](https://github.com/google-gemini/gemini-cli/pull/18944)
188
+ - refactor(cli): finalize event-driven transition and remove interaction bridge
189
+ by @abhipatel12 in
190
+ [#18569](https://github.com/google-gemini/gemini-cli/pull/18569)
191
+ - Fix drag and drop escaping by @scidomino in
192
+ [#18965](https://github.com/google-gemini/gemini-cli/pull/18965)
193
+ - feat(sdk): initial package bootstrap for SDK by @mbleigh in
194
+ [#18861](https://github.com/google-gemini/gemini-cli/pull/18861)
195
+ - feat(sdk): implements SessionContext for SDK tool calls by @mbleigh in
196
+ [#18862](https://github.com/google-gemini/gemini-cli/pull/18862)
197
+ - fix(plan): make question type required in AskUser tool by @Adib234 in
198
+ [#18959](https://github.com/google-gemini/gemini-cli/pull/18959)
199
+ - fix(core): ensure --yolo does not force headless mode by @NTaylorMullen in
200
+ [#18976](https://github.com/google-gemini/gemini-cli/pull/18976)
201
+ - refactor(core): adopt `CoreToolCallStatus` enum for type safety by @jerop in
202
+ [#18998](https://github.com/google-gemini/gemini-cli/pull/18998)
203
+ - Enable in-CLI extension management commands for team by @chrstnb in
204
+ [#18957](https://github.com/google-gemini/gemini-cli/pull/18957)
205
+ - Adjust lint rules to avoid unnecessary warning. by @scidomino in
206
+ [#18970](https://github.com/google-gemini/gemini-cli/pull/18970)
207
+ - fix(vscode): resolve unsafe type assertion lint errors by @ehedlund in
208
+ [#19006](https://github.com/google-gemini/gemini-cli/pull/19006)
209
+ - Remove unnecessary eslint config file by @scidomino in
210
+ [#19015](https://github.com/google-gemini/gemini-cli/pull/19015)
211
+ - fix(core): Prevent loop detection false positives on lists with long shared
212
+ prefixes by @SandyTao520 in
213
+ [#18975](https://github.com/google-gemini/gemini-cli/pull/18975)
214
+ - feat(core): fallback to chat-base when using unrecognized models for chat by
215
+ @SandyTao520 in
216
+ [#19016](https://github.com/google-gemini/gemini-cli/pull/19016)
217
+ - docs: fix inconsistent commandRegex example in policy engine by @NTaylorMullen
218
+ in [#19027](https://github.com/google-gemini/gemini-cli/pull/19027)
219
+ - fix(plan): persist the approval mode in UI even when agent is thinking by
220
+ @Adib234 in [#18955](https://github.com/google-gemini/gemini-cli/pull/18955)
221
+ - feat(sdk): Implement dynamic system instructions by @mbleigh in
222
+ [#18863](https://github.com/google-gemini/gemini-cli/pull/18863)
223
+ - Docs: Refresh docs to organize and standardize reference materials. by
224
+ @jkcinouye in [#18403](https://github.com/google-gemini/gemini-cli/pull/18403)
225
+ - fix windows escaping (and broken tests) by @scidomino in
226
+ [#19011](https://github.com/google-gemini/gemini-cli/pull/19011)
227
+ - refactor: use `CoreToolCallStatus` in the the history data model by @jerop in
228
+ [#19033](https://github.com/google-gemini/gemini-cli/pull/19033)
229
+ - feat(cleanup): enable 30-day session retention by default by @skeshive in
230
+ [#18854](https://github.com/google-gemini/gemini-cli/pull/18854)
231
+ - feat(plan): hide plan write and edit operations on plans in Plan Mode by
232
+ @jerop in [#19012](https://github.com/google-gemini/gemini-cli/pull/19012)
233
+ - bug(ui) fix flicker refreshing background color by @jacob314 in
234
+ [#19041](https://github.com/google-gemini/gemini-cli/pull/19041)
235
+ - chore: fix dep vulnerabilities by @scidomino in
236
+ [#19036](https://github.com/google-gemini/gemini-cli/pull/19036)
237
+ - Revamp automated changelog skill by @g-samroberts in
238
+ [#18974](https://github.com/google-gemini/gemini-cli/pull/18974)
239
+ - feat(sdk): implement support for custom skills by @mbleigh in
240
+ [#19031](https://github.com/google-gemini/gemini-cli/pull/19031)
241
+ - refactor(core): complete centralization of core tool definitions by
242
+ @aishaneeshah in
243
+ [#18991](https://github.com/google-gemini/gemini-cli/pull/18991)
244
+ - feat: add /commands reload to refresh custom TOML commands by @korade-krushna
245
+ in [#19078](https://github.com/google-gemini/gemini-cli/pull/19078)
246
+ - fix(cli): wrap terminal capability queries in hidden sequence by @srithreepo
247
+ in [#19080](https://github.com/google-gemini/gemini-cli/pull/19080)
248
+ - fix(workflows): fix GitHub App token permissions for maintainer detection by
249
+ @bdmorgan in [#19139](https://github.com/google-gemini/gemini-cli/pull/19139)
250
+ - test: fix hook integration test flakiness on Windows CI by @NTaylorMullen in
251
+ [#18665](https://github.com/google-gemini/gemini-cli/pull/18665)
252
+ - fix(core): Encourage non-interactive flags for scaffolding commands by
253
+ @NTaylorMullen in
254
+ [#18804](https://github.com/google-gemini/gemini-cli/pull/18804)
255
+ - fix(core): propagate User-Agent header to setup-phase CodeAssist API calls by
256
+ @gsquared94 in
257
+ [#19182](https://github.com/google-gemini/gemini-cli/pull/19182)
258
+ - docs: document .agents/skills alias and discovery precedence by @kevmoo in
259
+ [#19166](https://github.com/google-gemini/gemini-cli/pull/19166)
260
+ - feat(cli): add loading state to new agents notification by @sehoon38 in
261
+ [#19190](https://github.com/google-gemini/gemini-cli/pull/19190)
262
+ - Add base branch to workflow. by @g-samroberts in
263
+ [#19189](https://github.com/google-gemini/gemini-cli/pull/19189)
264
+ - feat(cli): handle invalid model names in useQuotaAndFallback by @sehoon38 in
265
+ [#19222](https://github.com/google-gemini/gemini-cli/pull/19222)
266
+ - docs: custom themes in extensions by @jackwotherspoon in
267
+ [#19219](https://github.com/google-gemini/gemini-cli/pull/19219)
268
+ - Disable workspace settings when starting GCLI in the home directory. by
269
+ @kevinjwang1 in
270
+ [#19034](https://github.com/google-gemini/gemini-cli/pull/19034)
271
+ - feat(cli): refactor model command to support set and manage subcommands by
272
+ @sehoon38 in [#19221](https://github.com/google-gemini/gemini-cli/pull/19221)
273
+ - Add refresh/reload aliases to slash command subcommands by @korade-krushna in
274
+ [#19218](https://github.com/google-gemini/gemini-cli/pull/19218)
275
+ - refactor: consolidate development rules and add cli guidelines by @jacob314 in
276
+ [#19214](https://github.com/google-gemini/gemini-cli/pull/19214)
277
+ - chore(ui): remove outdated tip about model routing by @sehoon38 in
278
+ [#19226](https://github.com/google-gemini/gemini-cli/pull/19226)
279
+ - feat(core): support custom reasoning models by default by @NTaylorMullen in
280
+ [#19227](https://github.com/google-gemini/gemini-cli/pull/19227)
281
+ - Add Solarized Dark and Solarized Light themes by @rmedranollamas in
282
+ [#19064](https://github.com/google-gemini/gemini-cli/pull/19064)
283
+ - fix(telemetry): replace JSON.stringify with safeJsonStringify in file
284
+ exporters by @gsquared94 in
285
+ [#19244](https://github.com/google-gemini/gemini-cli/pull/19244)
286
+ - feat(telemetry): add keychain availability and token storage metrics by
287
+ @abhipatel12 in
288
+ [#18971](https://github.com/google-gemini/gemini-cli/pull/18971)
289
+ - feat(cli): update approval mode cycle order by @jerop in
290
+ [#19254](https://github.com/google-gemini/gemini-cli/pull/19254)
291
+ - refactor(cli): code review cleanup fix for tab+tab by @jacob314 in
292
+ [#18967](https://github.com/google-gemini/gemini-cli/pull/18967)
293
+ - feat(plan): support project exploration without planning when in plan mode by
294
+ @Adib234 in [#18992](https://github.com/google-gemini/gemini-cli/pull/18992)
295
+ - feat: add role-specific statistics to telemetry and UI (cont. #15234) by
296
+ @yunaseoul in [#18824](https://github.com/google-gemini/gemini-cli/pull/18824)
297
+ - feat(cli): remove Plan Mode from rotation when actively working by @jerop in
298
+ [#19262](https://github.com/google-gemini/gemini-cli/pull/19262)
299
+ - Fix side breakage where anchors don't work in slugs. by @g-samroberts in
300
+ [#19261](https://github.com/google-gemini/gemini-cli/pull/19261)
301
+ - feat(config): add setting to make directory tree context configurable by
302
+ @kevin-ramdass in
303
+ [#19053](https://github.com/google-gemini/gemini-cli/pull/19053)
304
+ - fix(acp): Wait for mcp initialization in acp (#18893) by @Mervap in
305
+ [#18894](https://github.com/google-gemini/gemini-cli/pull/18894)
306
+ - docs: format UTC times in releases doc by @pavan-sh in
307
+ [#18169](https://github.com/google-gemini/gemini-cli/pull/18169)
308
+ - Docs: Clarify extensions documentation. by @jkcinouye in
309
+ [#19277](https://github.com/google-gemini/gemini-cli/pull/19277)
310
+ - refactor(core): modularize tool definitions by model family by @aishaneeshah
311
+ in [#19269](https://github.com/google-gemini/gemini-cli/pull/19269)
312
+ - fix(paths): Add cross-platform path normalization by @spencer426 in
313
+ [#18939](https://github.com/google-gemini/gemini-cli/pull/18939)
314
+ - feat(core): experimental in-progress steering hints (1 of 3) by @joshualitt in
315
+ [#19008](https://github.com/google-gemini/gemini-cli/pull/19008)
365
316
 
366
317
  **Full changelog**:
367
- https://github.com/google-gemini/gemini-cli/compare/v0.28.0-preview.0...v0.29.0-preview.0
318
+ https://github.com/google-gemini/gemini-cli/compare/v0.29.0-preview.5...v0.30.0-preview.5