@google/gemini-cli-core 0.24.0-preview.3 → 0.25.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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
  3. package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
  4. package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
  5. package/dist/docs/changelogs/index.md +22 -0
  6. package/dist/docs/changelogs/latest.md +137 -209
  7. package/dist/docs/changelogs/preview.md +116 -114
  8. package/dist/docs/changelogs/releases.md +273 -7
  9. package/dist/docs/cli/commands.md +3 -0
  10. package/dist/docs/cli/keyboard-shortcuts.md +34 -41
  11. package/dist/docs/cli/model-routing.md +1 -1
  12. package/dist/docs/cli/model.md +1 -1
  13. package/dist/docs/cli/settings.md +69 -53
  14. package/dist/docs/cli/skills.md +35 -3
  15. package/dist/docs/cli/telemetry.md +20 -0
  16. package/dist/docs/core/memport.md +2 -0
  17. package/dist/docs/core/policy-engine.md +3 -2
  18. package/dist/docs/extensions/index.md +57 -7
  19. package/dist/docs/get-started/configuration.md +39 -9
  20. package/dist/docs/get-started/gemini-3.md +2 -17
  21. package/dist/docs/hooks/best-practices.md +1 -1
  22. package/dist/docs/hooks/index.md +47 -11
  23. package/dist/docs/hooks/reference.md +19 -9
  24. package/dist/docs/hooks/writing-hooks.md +19 -1
  25. package/dist/docs/releases.md +1 -1
  26. package/dist/docs/tools/shell.md +1 -1
  27. package/dist/docs/troubleshooting.md +9 -3
  28. package/dist/src/agents/a2a-client-manager.d.ts +4 -0
  29. package/dist/src/agents/a2a-client-manager.js +22 -22
  30. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  31. package/dist/src/agents/a2a-client-manager.test.js +44 -0
  32. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  33. package/dist/src/agents/a2aUtils.d.ts +3 -2
  34. package/dist/src/agents/a2aUtils.js +28 -26
  35. package/dist/src/agents/a2aUtils.js.map +1 -1
  36. package/dist/src/agents/a2aUtils.test.js +9 -9
  37. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  38. package/dist/src/agents/agentLoader.d.ts +68 -0
  39. package/dist/src/agents/{toml-loader.js → agentLoader.js} +86 -79
  40. package/dist/src/agents/agentLoader.js.map +1 -0
  41. package/dist/src/agents/agentLoader.test.js +307 -0
  42. package/dist/src/agents/agentLoader.test.js.map +1 -0
  43. package/dist/src/agents/{introspection-agent.d.ts → cli-help-agent.d.ts} +3 -2
  44. package/dist/src/agents/cli-help-agent.js +85 -0
  45. package/dist/src/agents/cli-help-agent.js.map +1 -0
  46. package/dist/src/agents/{introspection-agent.test.js → cli-help-agent.test.js} +25 -7
  47. package/dist/src/agents/cli-help-agent.test.js.map +1 -0
  48. package/dist/src/agents/codebase-investigator.js +10 -5
  49. package/dist/src/agents/codebase-investigator.js.map +1 -1
  50. package/dist/src/agents/delegate-to-agent-tool.js +17 -10
  51. package/dist/src/agents/delegate-to-agent-tool.js.map +1 -1
  52. package/dist/src/agents/delegate-to-agent-tool.test.js +60 -12
  53. package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -1
  54. package/dist/src/agents/local-executor.js +42 -8
  55. package/dist/src/agents/local-executor.js.map +1 -1
  56. package/dist/src/agents/local-executor.test.js +70 -11
  57. package/dist/src/agents/local-executor.test.js.map +1 -1
  58. package/dist/src/agents/local-invocation.test.js +8 -2
  59. package/dist/src/agents/local-invocation.test.js.map +1 -1
  60. package/dist/src/agents/registry.d.ts +12 -0
  61. package/dist/src/agents/registry.js +111 -42
  62. package/dist/src/agents/registry.js.map +1 -1
  63. package/dist/src/agents/registry.test.js +228 -15
  64. package/dist/src/agents/registry.test.js.map +1 -1
  65. package/dist/src/agents/remote-invocation.js +10 -13
  66. package/dist/src/agents/remote-invocation.js.map +1 -1
  67. package/dist/src/agents/remote-invocation.test.js +1 -1
  68. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  69. package/dist/src/agents/subagent-tool-wrapper.test.js +8 -2
  70. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  71. package/dist/src/agents/types.d.ts +3 -11
  72. package/dist/src/agents/types.js.map +1 -1
  73. package/dist/src/availability/fallbackIntegration.test.js +58 -0
  74. package/dist/src/availability/fallbackIntegration.test.js.map +1 -0
  75. package/dist/src/code_assist/experiments/experiments.d.ts +1 -1
  76. package/dist/src/code_assist/experiments/experiments.js +21 -0
  77. package/dist/src/code_assist/experiments/experiments.js.map +1 -1
  78. package/dist/src/code_assist/experiments/experiments_local.test.d.ts +6 -0
  79. package/dist/src/code_assist/experiments/experiments_local.test.js +110 -0
  80. package/dist/src/code_assist/experiments/experiments_local.test.js.map +1 -0
  81. package/dist/src/code_assist/oauth-credential-storage.js +3 -4
  82. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  83. package/dist/src/code_assist/oauth2.js.map +1 -1
  84. package/dist/src/code_assist/oauth2.test.js +44 -19
  85. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  86. package/dist/src/code_assist/telemetry.js +2 -1
  87. package/dist/src/code_assist/telemetry.js.map +1 -1
  88. package/dist/src/code_assist/telemetry.test.js +2 -1
  89. package/dist/src/code_assist/telemetry.test.js.map +1 -1
  90. package/dist/src/code_assist/types.d.ts +7 -0
  91. package/dist/src/code_assist/types.js +7 -0
  92. package/dist/src/code_assist/types.js.map +1 -1
  93. package/dist/src/commands/memory.d.ts +11 -0
  94. package/dist/src/commands/memory.js +80 -0
  95. package/dist/src/commands/memory.js.map +1 -0
  96. package/dist/src/commands/memory.test.d.ts +6 -0
  97. package/dist/src/commands/memory.test.js +155 -0
  98. package/dist/src/commands/memory.test.js.map +1 -0
  99. package/dist/src/config/config.d.ts +50 -7
  100. package/dist/src/config/config.js +113 -48
  101. package/dist/src/config/config.js.map +1 -1
  102. package/dist/src/config/config.test.js +34 -4
  103. package/dist/src/config/config.test.js.map +1 -1
  104. package/dist/src/config/models.d.ts +7 -0
  105. package/dist/src/config/models.js +11 -0
  106. package/dist/src/config/models.js.map +1 -1
  107. package/dist/src/config/models.test.js +17 -1
  108. package/dist/src/config/models.test.js.map +1 -1
  109. package/dist/src/config/storage.d.ts +1 -0
  110. package/dist/src/config/storage.js +5 -2
  111. package/dist/src/config/storage.js.map +1 -1
  112. package/dist/src/core/client.js +25 -8
  113. package/dist/src/core/client.js.map +1 -1
  114. package/dist/src/core/client.test.js +45 -31
  115. package/dist/src/core/client.test.js.map +1 -1
  116. package/dist/src/core/coreToolHookTriggers.d.ts +8 -4
  117. package/dist/src/core/coreToolHookTriggers.js +43 -5
  118. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  119. package/dist/src/core/coreToolScheduler.d.ts +1 -8
  120. package/dist/src/core/coreToolScheduler.js +58 -60
  121. package/dist/src/core/coreToolScheduler.js.map +1 -1
  122. package/dist/src/core/coreToolScheduler.test.js +215 -8
  123. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  124. package/dist/src/core/geminiChat.d.ts +26 -1
  125. package/dist/src/core/geminiChat.js +91 -8
  126. package/dist/src/core/geminiChat.js.map +1 -1
  127. package/dist/src/core/geminiChat.test.js +109 -0
  128. package/dist/src/core/geminiChat.test.js.map +1 -1
  129. package/dist/src/core/geminiChatHookTriggers.d.ts +8 -4
  130. package/dist/src/core/geminiChatHookTriggers.js +31 -9
  131. package/dist/src/core/geminiChatHookTriggers.js.map +1 -1
  132. package/dist/src/core/geminiChatHookTriggers.test.d.ts +6 -0
  133. package/dist/src/core/geminiChatHookTriggers.test.js +153 -0
  134. package/dist/src/core/geminiChatHookTriggers.test.js.map +1 -0
  135. package/dist/src/core/loggingContentGenerator.js +5 -0
  136. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  137. package/dist/src/core/loggingContentGenerator.test.js +30 -0
  138. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  139. package/dist/src/core/nonInteractiveToolExecutor.test.js +4 -2
  140. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  141. package/dist/src/core/prompts.js +8 -8
  142. package/dist/src/core/prompts.js.map +1 -1
  143. package/dist/src/core/prompts.test.js +4 -2
  144. package/dist/src/core/prompts.test.js.map +1 -1
  145. package/dist/src/core/tokenLimits.js +6 -12
  146. package/dist/src/core/tokenLimits.js.map +1 -1
  147. package/dist/src/core/tokenLimits.test.js +8 -4
  148. package/dist/src/core/tokenLimits.test.js.map +1 -1
  149. package/dist/src/core/turn.d.ts +2 -0
  150. package/dist/src/core/turn.js +14 -0
  151. package/dist/src/core/turn.js.map +1 -1
  152. package/dist/src/generated/git-commit.d.ts +2 -2
  153. package/dist/src/generated/git-commit.js +2 -2
  154. package/dist/src/hooks/hookEventHandler.d.ts +3 -3
  155. package/dist/src/hooks/hookEventHandler.js +27 -8
  156. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  157. package/dist/src/hooks/hookEventHandler.test.js +145 -0
  158. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  159. package/dist/src/hooks/hookSystem.d.ts +12 -0
  160. package/dist/src/hooks/hookSystem.js +38 -0
  161. package/dist/src/hooks/hookSystem.js.map +1 -1
  162. package/dist/src/hooks/hookTranslator.js +2 -1
  163. package/dist/src/hooks/hookTranslator.js.map +1 -1
  164. package/dist/src/hooks/index.d.ts +0 -1
  165. package/dist/src/hooks/index.js +0 -2
  166. package/dist/src/hooks/index.js.map +1 -1
  167. package/dist/src/hooks/types.d.ts +21 -0
  168. package/dist/src/hooks/types.js +0 -15
  169. package/dist/src/hooks/types.js.map +1 -1
  170. package/dist/src/hooks/types.test.js +4 -28
  171. package/dist/src/hooks/types.test.js.map +1 -1
  172. package/dist/src/ide/detect-ide.d.ts +4 -0
  173. package/dist/src/ide/detect-ide.js +7 -2
  174. package/dist/src/ide/detect-ide.js.map +1 -1
  175. package/dist/src/ide/detect-ide.test.js +10 -0
  176. package/dist/src/ide/detect-ide.test.js.map +1 -1
  177. package/dist/src/ide/ide-installer.js +2 -2
  178. package/dist/src/ide/ide-installer.js.map +1 -1
  179. package/dist/src/ide/ide-installer.test.js +11 -2
  180. package/dist/src/ide/ide-installer.test.js.map +1 -1
  181. package/dist/src/index.d.ts +10 -1
  182. package/dist/src/index.js +12 -1
  183. package/dist/src/index.js.map +1 -1
  184. package/dist/src/mcp/token-storage/file-token-storage.js +2 -2
  185. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  186. package/dist/src/policy/config.test.js +3 -2
  187. package/dist/src/policy/config.test.js.map +1 -1
  188. package/dist/src/policy/persistence.test.js +1 -1
  189. package/dist/src/policy/persistence.test.js.map +1 -1
  190. package/dist/src/policy/policies/agent.toml +1 -1
  191. package/dist/src/policy/policy-engine.js +80 -20
  192. package/dist/src/policy/policy-engine.js.map +1 -1
  193. package/dist/src/policy/policy-engine.test.js +17 -0
  194. package/dist/src/policy/policy-engine.test.js.map +1 -1
  195. package/dist/src/policy/policy-updater.test.js +3 -3
  196. package/dist/src/policy/policy-updater.test.js.map +1 -1
  197. package/dist/src/policy/shell-safety.test.js +371 -8
  198. package/dist/src/policy/shell-safety.test.js.map +1 -1
  199. package/dist/src/policy/types.d.ts +4 -0
  200. package/dist/src/policy/utils.js +4 -1
  201. package/dist/src/policy/utils.js.map +1 -1
  202. package/dist/src/policy/utils.test.js +34 -6
  203. package/dist/src/policy/utils.test.js.map +1 -1
  204. package/dist/src/routing/routingStrategy.d.ts +2 -0
  205. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  206. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  207. package/dist/src/routing/strategies/classifierStrategy.test.js +16 -0
  208. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  209. package/dist/src/routing/strategies/fallbackStrategy.d.ts +1 -1
  210. package/dist/src/routing/strategies/fallbackStrategy.js +2 -2
  211. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  212. package/dist/src/routing/strategies/fallbackStrategy.test.js +13 -0
  213. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  214. package/dist/src/routing/strategies/overrideStrategy.d.ts +1 -1
  215. package/dist/src/routing/strategies/overrideStrategy.js +5 -5
  216. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  217. package/dist/src/routing/strategies/overrideStrategy.test.js +14 -0
  218. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  219. package/dist/src/scheduler/tool-executor.js +2 -2
  220. package/dist/src/scheduler/tool-executor.js.map +1 -1
  221. package/dist/src/scheduler/tool-modifier.d.ts +23 -0
  222. package/dist/src/scheduler/tool-modifier.js +50 -0
  223. package/dist/src/scheduler/tool-modifier.js.map +1 -0
  224. package/dist/src/scheduler/tool-modifier.test.d.ts +6 -0
  225. package/dist/src/scheduler/tool-modifier.test.js +159 -0
  226. package/dist/src/scheduler/tool-modifier.test.js.map +1 -0
  227. package/dist/src/services/chatCompressionService.js +3 -10
  228. package/dist/src/services/chatCompressionService.js.map +1 -1
  229. package/dist/src/services/chatCompressionService.test.js +1 -0
  230. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  231. package/dist/src/services/chatRecordingService.d.ts +7 -1
  232. package/dist/src/services/chatRecordingService.js +20 -2
  233. package/dist/src/services/chatRecordingService.js.map +1 -1
  234. package/dist/src/services/chatRecordingService.test.js +43 -0
  235. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  236. package/dist/src/services/environmentSanitization.js +4 -3
  237. package/dist/src/services/environmentSanitization.js.map +1 -1
  238. package/dist/src/services/gitService.test.js +10 -2
  239. package/dist/src/services/gitService.test.js.map +1 -1
  240. package/dist/src/services/modelConfig.integration.test.js +2 -2
  241. package/dist/src/services/modelConfig.integration.test.js.map +1 -1
  242. package/dist/src/services/modelConfigService.d.ts +38 -4
  243. package/dist/src/services/modelConfigService.js +135 -76
  244. package/dist/src/services/modelConfigService.js.map +1 -1
  245. package/dist/src/services/modelConfigService.test.js +116 -0
  246. package/dist/src/services/modelConfigService.test.js.map +1 -1
  247. package/dist/src/services/shellExecutionService.js +1 -1
  248. package/dist/src/services/shellExecutionService.js.map +1 -1
  249. package/dist/src/services/shellExecutionService.test.js +43 -2
  250. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  251. package/dist/src/skills/skillLoader.d.ts +3 -0
  252. package/dist/src/skills/skillLoader.js +3 -3
  253. package/dist/src/skills/skillLoader.js.map +1 -1
  254. package/dist/src/skills/skillLoader.test.js +4 -2
  255. package/dist/src/skills/skillLoader.test.js.map +1 -1
  256. package/dist/src/skills/skillManager.d.ts +18 -0
  257. package/dist/src/skills/skillManager.js +43 -5
  258. package/dist/src/skills/skillManager.js.map +1 -1
  259. package/dist/src/skills/skillManager.test.js +83 -1
  260. package/dist/src/skills/skillManager.test.js.map +1 -1
  261. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +9 -2
  262. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +60 -9
  263. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  264. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +105 -6
  265. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  266. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
  267. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +8 -0
  268. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  269. package/dist/src/telemetry/loggers.js +1 -1
  270. package/dist/src/telemetry/loggers.js.map +1 -1
  271. package/dist/src/telemetry/loggers.test.js +8 -0
  272. package/dist/src/telemetry/loggers.test.js.map +1 -1
  273. package/dist/src/telemetry/types.js +4 -2
  274. package/dist/src/telemetry/types.js.map +1 -1
  275. package/dist/src/tools/activate-skill.js +23 -10
  276. package/dist/src/tools/activate-skill.js.map +1 -1
  277. package/dist/src/tools/activate-skill.test.js +24 -6
  278. package/dist/src/tools/activate-skill.test.js.map +1 -1
  279. package/dist/src/tools/confirmation-policy.test.js +1 -0
  280. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  281. package/dist/src/tools/edit.js +12 -0
  282. package/dist/src/tools/edit.js.map +1 -1
  283. package/dist/src/tools/edit.test.js +34 -0
  284. package/dist/src/tools/edit.test.js.map +1 -1
  285. package/dist/src/tools/get-internal-docs.js +11 -18
  286. package/dist/src/tools/get-internal-docs.js.map +1 -1
  287. package/dist/src/tools/mcp-tool.d.ts +18 -3
  288. package/dist/src/tools/mcp-tool.js +1 -1
  289. package/dist/src/tools/mcp-tool.js.map +1 -1
  290. package/dist/src/tools/tool-error.d.ts +4 -0
  291. package/dist/src/tools/tool-error.js +4 -0
  292. package/dist/src/tools/tool-error.js.map +1 -1
  293. package/dist/src/tools/tools.d.ts +2 -0
  294. package/dist/src/tools/tools.js.map +1 -1
  295. package/dist/src/tools/write-file.js +4 -2
  296. package/dist/src/tools/write-file.js.map +1 -1
  297. package/dist/src/tools/write-file.test.js +45 -6
  298. package/dist/src/tools/write-file.test.js.map +1 -1
  299. package/dist/src/utils/apiConversionUtils.d.ts +12 -0
  300. package/dist/src/utils/apiConversionUtils.js +46 -0
  301. package/dist/src/utils/apiConversionUtils.js.map +1 -0
  302. package/dist/src/utils/apiConversionUtils.test.d.ts +6 -0
  303. package/dist/src/utils/apiConversionUtils.test.js +150 -0
  304. package/dist/src/utils/apiConversionUtils.test.js.map +1 -0
  305. package/dist/src/utils/editCorrector.d.ts +3 -3
  306. package/dist/src/utils/editCorrector.js +21 -5
  307. package/dist/src/utils/editCorrector.js.map +1 -1
  308. package/dist/src/utils/editCorrector.test.js +20 -20
  309. package/dist/src/utils/editCorrector.test.js.map +1 -1
  310. package/dist/src/utils/editor.d.ts +3 -2
  311. package/dist/src/utils/editor.js +26 -6
  312. package/dist/src/utils/editor.js.map +1 -1
  313. package/dist/src/utils/editor.test.js +27 -4
  314. package/dist/src/utils/editor.test.js.map +1 -1
  315. package/dist/src/utils/events.d.ts +23 -1
  316. package/dist/src/utils/events.js +14 -0
  317. package/dist/src/utils/events.js.map +1 -1
  318. package/dist/src/utils/fileDiffUtils.d.ts +18 -0
  319. package/dist/src/utils/fileDiffUtils.js +37 -0
  320. package/dist/src/utils/fileDiffUtils.js.map +1 -0
  321. package/dist/src/utils/fileDiffUtils.test.d.ts +6 -0
  322. package/dist/src/utils/fileDiffUtils.test.js +84 -0
  323. package/dist/src/utils/fileDiffUtils.test.js.map +1 -0
  324. package/dist/src/utils/gitIgnoreParser.js +9 -10
  325. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  326. package/dist/src/utils/installationManager.test.js +11 -3
  327. package/dist/src/utils/installationManager.test.js.map +1 -1
  328. package/dist/src/utils/memoryDiscovery.js +1 -2
  329. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  330. package/dist/src/utils/memoryDiscovery.test.js +9 -0
  331. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  332. package/dist/src/utils/paths.d.ts +10 -0
  333. package/dist/src/utils/paths.js +20 -1
  334. package/dist/src/utils/paths.js.map +1 -1
  335. package/dist/src/utils/retry.d.ts +1 -0
  336. package/dist/src/utils/retry.js +14 -2
  337. package/dist/src/utils/retry.js.map +1 -1
  338. package/dist/src/utils/retry.test.js +11 -11
  339. package/dist/src/utils/retry.test.js.map +1 -1
  340. package/dist/src/utils/userAccountManager.test.js +5 -5
  341. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  342. package/dist/src/utils/workspaceContext.test.js +1 -1
  343. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  344. package/dist/tsconfig.tsbuildinfo +1 -1
  345. package/package.json +4 -2
  346. package/dist/docs/cli/configuration.md +0 -780
  347. package/dist/docs/get-started/deployment.md +0 -143
  348. package/dist/google-gemini-cli-core-0.24.0-preview.2.tgz +0 -0
  349. package/dist/src/agents/introspection-agent.js +0 -72
  350. package/dist/src/agents/introspection-agent.js.map +0 -1
  351. package/dist/src/agents/introspection-agent.test.js.map +0 -1
  352. package/dist/src/agents/toml-loader.d.ts +0 -74
  353. package/dist/src/agents/toml-loader.js.map +0 -1
  354. package/dist/src/agents/toml-loader.test.js +0 -309
  355. package/dist/src/agents/toml-loader.test.js.map +0 -1
  356. package/dist/src/core/sessionHookTriggers.d.ts +0 -29
  357. package/dist/src/core/sessionHookTriggers.js +0 -75
  358. package/dist/src/core/sessionHookTriggers.js.map +0 -1
  359. package/dist/src/utils/shell-permissions.d.ts +0 -52
  360. package/dist/src/utils/shell-permissions.js +0 -188
  361. package/dist/src/utils/shell-permissions.js.map +0 -1
  362. package/dist/src/utils/shell-permissions.test.js +0 -369
  363. package/dist/src/utils/shell-permissions.test.js.map +0 -1
  364. /package/dist/src/agents/{introspection-agent.test.d.ts → agentLoader.test.d.ts} +0 -0
  365. /package/dist/src/agents/{toml-loader.test.d.ts → cli-help-agent.test.d.ts} +0 -0
  366. /package/dist/src/{utils/shell-permissions.test.d.ts → availability/fallbackIntegration.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- # Preview release: Release v0.22.0-preview.0
1
+ # Preview release: Release v0.23.0-preview.0
2
2
 
3
- Released: December 16, 2025
3
+ Released: December 22, 2025
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,117 +13,119 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## What's Changed
15
15
 
16
- - feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var by @skeshive in
17
- https://github.com/google-gemini/gemini-cli/pull/14843
18
- - feat: display quota stats for unused models in /stats by @sehoon38 in
19
- https://github.com/google-gemini/gemini-cli/pull/14764
20
- - feat: ensure codebase investigator uses preview model when main agent does by
21
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14412
22
- - chore: add closing reason to stale bug workflow by @galz10 in
23
- https://github.com/google-gemini/gemini-cli/pull/14861
24
- - Send the model and CLI version with the user agent by @gundermanc in
25
- https://github.com/google-gemini/gemini-cli/pull/14865
26
- - refactor(sessions): move session summary generation to startup by
27
- @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/14691
28
- - Limit search depth in path corrector by @scidomino in
29
- https://github.com/google-gemini/gemini-cli/pull/14869
30
- - Fix: Correct typo in code comment by @kuishou68 in
31
- https://github.com/google-gemini/gemini-cli/pull/14671
32
- - feat(core): Plumbing for late resolution of model configs. by @joshualitt in
33
- https://github.com/google-gemini/gemini-cli/pull/14597
34
- - feat: attempt more error parsing by @adamfweidman in
35
- https://github.com/google-gemini/gemini-cli/pull/14899
36
- - Add missing await. by @gundermanc in
37
- https://github.com/google-gemini/gemini-cli/pull/14910
38
- - feat(core): Add support for transcript_path in hooks for git-ai/Gemini
39
- extension by @svarlamov in
40
- https://github.com/google-gemini/gemini-cli/pull/14663
41
- - refactor: implement DelegateToAgentTool with discriminated union by
42
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14769
43
- - feat: reset availabilityService on /auth by @adamfweidman in
44
- https://github.com/google-gemini/gemini-cli/pull/14911
45
- - chore/release: bump version to 0.21.0-nightly.20251211.8c83e1ea9 by
46
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14924
47
- - Fix: Correctly detect MCP tool errors by @kevin-ramdass in
48
- https://github.com/google-gemini/gemini-cli/pull/14937
49
- - increase labeler timeout by @scidomino in
50
- https://github.com/google-gemini/gemini-cli/pull/14922
51
- - tool(cli): tweak the frontend tool to be aware of more core files from the cli
52
- by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14962
53
- - feat(cli): polish cached token stats and simplify stats display when quota is
54
- present. by @jacob314 in
55
- https://github.com/google-gemini/gemini-cli/pull/14961
56
- - feat(settings-validation): add validation for settings schema by @lifefloating
57
- in https://github.com/google-gemini/gemini-cli/pull/12929
58
- - fix(ide): Update IDE extension to write auth token in env var by @skeshive in
59
- https://github.com/google-gemini/gemini-cli/pull/14999
60
- - Revert "chore(deps): bump express from 5.1.0 to 5.2.0" by @skeshive in
61
- https://github.com/google-gemini/gemini-cli/pull/14998
62
- - feat(a2a): Introduce /init command for a2a server by @cocosheng-g in
63
- https://github.com/google-gemini/gemini-cli/pull/13419
64
- - feat: support multi-file drag and drop of images by @jackwotherspoon in
65
- https://github.com/google-gemini/gemini-cli/pull/14832
66
- - fix(policy): allow codebase_investigator by default in read-only policy by
67
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15000
68
- - refactor(ide ext): Update port file name + switch to 1-based index for
69
- characters + remove truncation text by @skeshive in
70
- https://github.com/google-gemini/gemini-cli/pull/10501
71
- - fix(vscode-ide-companion): correct license generation for workspace
72
- dependencies by @skeshive in
73
- https://github.com/google-gemini/gemini-cli/pull/15004
74
- - fix: temp fix for subagent invocation until subagent delegation is merged to
75
- stable by @abhipatel12 in
76
- https://github.com/google-gemini/gemini-cli/pull/15007
77
- - test: update ide detection tests to make them more robust when run in an ide
78
- by @kevin-ramdass in https://github.com/google-gemini/gemini-cli/pull/15008
79
- - Remove flex from stats display. See snapshots for diffs. by @jacob314 in
80
- https://github.com/google-gemini/gemini-cli/pull/14983
81
- - Add license field into package.json by @jb-perez in
82
- https://github.com/google-gemini/gemini-cli/pull/14473
83
- - feat: Persistent "Always Allow" policies with granular shell & MCP support by
84
- @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/14737
85
- - chore/release: bump version to 0.21.0-nightly.20251212.54de67536 by
86
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14969
87
- - fix(core): commandPrefix word boundary and compound command safety by
88
- @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/15006
89
- - chore(docs): add 'Maintainers only' label info to CONTRIBUTING.md by @jacob314
90
- in https://github.com/google-gemini/gemini-cli/pull/14914
91
- - Refresh hooks when refreshing extensions. by @scidomino in
92
- https://github.com/google-gemini/gemini-cli/pull/14918
93
- - Add clarity to error messages by @gsehgal in
94
- https://github.com/google-gemini/gemini-cli/pull/14879
95
- - chore : remove a redundant tip by @JayadityaGit in
96
- https://github.com/google-gemini/gemini-cli/pull/14947
97
- - chore/release: bump version to 0.21.0-nightly.20251213.977248e09 by
98
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15029
99
- - Disallow redundant typecasts. by @gundermanc in
100
- https://github.com/google-gemini/gemini-cli/pull/15030
101
- - fix(auth): prioritize GEMINI_API_KEY env var and skip unnecessary key… by
102
- @galz10 in https://github.com/google-gemini/gemini-cli/pull/14745
103
- - fix: use zod for safety check result validation by @allenhutchison in
104
- https://github.com/google-gemini/gemini-cli/pull/15026
105
- - update(telemetry): add hashed_extension_name to field to extension events by
106
- @kiranani in https://github.com/google-gemini/gemini-cli/pull/15025
107
- - fix: similar to policy-engine, throw error in case of requiring tool execution
108
- confirmation for non-interactive mode by @MayV in
109
- https://github.com/google-gemini/gemini-cli/pull/14702
110
- - Clean up processes in integration tests by @scidomino in
111
- https://github.com/google-gemini/gemini-cli/pull/15102
112
- - docs: update policy engine getting started and defaults by @NTaylorMullen in
113
- https://github.com/google-gemini/gemini-cli/pull/15105
114
- - Fix tool output fragmentation by encapsulating content in functionResponse by
115
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/13082
116
- - Simplify method signature. by @scidomino in
117
- https://github.com/google-gemini/gemini-cli/pull/15114
118
- - Show raw input token counts in json output. by @jacob314 in
119
- https://github.com/google-gemini/gemini-cli/pull/15021
120
- - fix: Mark A2A requests as interactive by @MayV in
121
- https://github.com/google-gemini/gemini-cli/pull/15108
122
- - use previewFeatures to determine which pro model to use for A2A by @sehoon38
123
- in https://github.com/google-gemini/gemini-cli/pull/15131
124
- - refactor(cli): fix settings merging so that settings using the new json format
125
- take priority over ones using the old format by @jacob314 in
126
- https://github.com/google-gemini/gemini-cli/pull/15116
16
+ - Code assist service metrics. by @gundermanc in
17
+ https://github.com/google-gemini/gemini-cli/pull/15024
18
+ - chore/release: bump version to 0.21.0-nightly.20251216.bb0c0d8ee by
19
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15121
20
+ - Docs by @Roaimkhan in https://github.com/google-gemini/gemini-cli/pull/15103
21
+ - Use official ACP SDK and support HTTP/SSE based MCP servers by @SteffenDE in
22
+ https://github.com/google-gemini/gemini-cli/pull/13856
23
+ - Remove foreground for themes other than shades of purple and holiday. by
24
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14606
25
+ - chore: remove repo specific tips by @jackwotherspoon in
26
+ https://github.com/google-gemini/gemini-cli/pull/15164
27
+ - chore: remove user query from footer in debug mode by @jackwotherspoon in
28
+ https://github.com/google-gemini/gemini-cli/pull/15169
29
+ - Disallow unnecessary awaits. by @gundermanc in
30
+ https://github.com/google-gemini/gemini-cli/pull/15172
31
+ - Add one to the padding in settings dialog to avoid flicker. by @jacob314 in
32
+ https://github.com/google-gemini/gemini-cli/pull/15173
33
+ - feat(core): introduce remote agent infrastructure and rename local executor by
34
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15110
35
+ - feat(cli): Add `/auth logout` command to clear credentials and auth state by
36
+ @CN-Scars in https://github.com/google-gemini/gemini-cli/pull/13383
37
+ - (fix) Automated pr labeler by @DaanVersavel in
38
+ https://github.com/google-gemini/gemini-cli/pull/14885
39
+ - feat: launch Gemini 3 Flash in Gemini CLI ⚡️⚡️⚡️ by @scidomino in
40
+ https://github.com/google-gemini/gemini-cli/pull/15196
41
+ - Refactor: Migrate console.error in ripGrep.ts to debugLogger by @Adib234 in
42
+ https://github.com/google-gemini/gemini-cli/pull/15201
43
+ - chore: update a2a-js to 0.3.7 by @adamfweidman in
44
+ https://github.com/google-gemini/gemini-cli/pull/15197
45
+ - chore(core): remove redundant isModelAvailabilityServiceEnabled toggle and
46
+ clean up dead code by @adamfweidman in
47
+ https://github.com/google-gemini/gemini-cli/pull/15207
48
+ - feat(core): Late resolve `GenerateContentConfig`s and reduce mutation. by
49
+ @joshualitt in https://github.com/google-gemini/gemini-cli/pull/14920
50
+ - Respect previewFeatures value from the remote flag if undefined by @sehoon38
51
+ in https://github.com/google-gemini/gemini-cli/pull/15214
52
+ - feat(ui): add Windows clipboard image support and Alt+V paste workaround by
53
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15218
54
+ - chore(core): remove legacy fallback flags and migrate loop detection by
55
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15213
56
+ - fix(ui): Prevent eager slash command completion hiding sibling commands by
57
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15224
58
+ - Docs: Update Changelog for Dec 17, 2025 by @jkcinouye in
59
+ https://github.com/google-gemini/gemini-cli/pull/15204
60
+ - Code Assist backend telemetry for user accept/reject of suggestions by
61
+ @gundermanc in https://github.com/google-gemini/gemini-cli/pull/15206
62
+ - fix(cli): correct initial history length handling for chat commands by
63
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15223
64
+ - chore/release: bump version to 0.21.0-nightly.20251218.739c02bd6 by
65
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15231
66
+ - Change detailed model stats to use a new shared Table class to resolve
67
+ robustness issues. by @jacob314 in
68
+ https://github.com/google-gemini/gemini-cli/pull/15208
69
+ - feat: add agent toml parser by @abhipatel12 in
70
+ https://github.com/google-gemini/gemini-cli/pull/15112
71
+ - Add core tool that adds all context from the core package. by @jacob314 in
72
+ https://github.com/google-gemini/gemini-cli/pull/15238
73
+ - (docs): Add reference section to hooks documentation by @abhipatel12 in
74
+ https://github.com/google-gemini/gemini-cli/pull/15159
75
+ - feat(hooks): add support for friendly names and descriptions by @abhipatel12
76
+ in https://github.com/google-gemini/gemini-cli/pull/15174
77
+ - feat: Detect background color by @jacob314 in
78
+ https://github.com/google-gemini/gemini-cli/pull/15132
79
+ - add 3.0 to allowed sensitive keywords by @scidomino in
80
+ https://github.com/google-gemini/gemini-cli/pull/15276
81
+ - feat: Pass additional environment variables to shell execution by @galz10 in
82
+ https://github.com/google-gemini/gemini-cli/pull/15160
83
+ - Remove unused code by @scidomino in
84
+ https://github.com/google-gemini/gemini-cli/pull/15290
85
+ - Handle all 429 as retryableQuotaError by @sehoon38 in
86
+ https://github.com/google-gemini/gemini-cli/pull/15288
87
+ - Remove unnecessary dependencies by @scidomino in
88
+ https://github.com/google-gemini/gemini-cli/pull/15291
89
+ - fix: prevent infinite loop in prompt completion on error by @galz10 in
90
+ https://github.com/google-gemini/gemini-cli/pull/14548
91
+ - fix(ui): show command suggestions even on perfect match and sort them by
92
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15287
93
+ - feat(hooks): reduce log verbosity and improve error reporting in UI by
94
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15297
95
+ - feat: simplify tool confirmation labels for better UX by @NTaylorMullen in
96
+ https://github.com/google-gemini/gemini-cli/pull/15296
97
+ - chore/release: bump version to 0.21.0-nightly.20251219.70696e364 by
98
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15301
99
+ - feat(core): Implement JIT context memory loading and UI sync by @SandyTao520
100
+ in https://github.com/google-gemini/gemini-cli/pull/14469
101
+ - feat(ui): Put "Allow for all future sessions" behind a setting off by default.
102
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15322
103
+ - fix(cli):change the placeholder of input during the shell mode by
104
+ @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/15135
105
+ - Validate OAuth resource parameter matches MCP server URL by @galz10 in
106
+ https://github.com/google-gemini/gemini-cli/pull/15289
107
+ - docs(cli): add System Prompt Override (GEMINI_SYSTEM_MD) by @ashmod in
108
+ https://github.com/google-gemini/gemini-cli/pull/9515
109
+ - more robust command parsing logs by @scidomino in
110
+ https://github.com/google-gemini/gemini-cli/pull/15339
111
+ - Introspection agent demo by @scidomino in
112
+ https://github.com/google-gemini/gemini-cli/pull/15232
113
+ - fix(core): sanitize hook command expansion and prevent injection by
114
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15343
115
+ - fix(folder trust): add validation for trusted folder level by @adamfweidman in
116
+ https://github.com/google-gemini/gemini-cli/pull/12215
117
+ - fix(cli): fix right border overflow in trust dialogs by @galz10 in
118
+ https://github.com/google-gemini/gemini-cli/pull/15350
119
+ - fix(policy): fix bug where accepting-edits continued after it was turned off
120
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15351
121
+ - fix: prevent infinite relaunch loop when --resume fails (#14941) by @Ying-xi
122
+ in https://github.com/google-gemini/gemini-cli/pull/14951
123
+ - chore/release: bump version to 0.21.0-nightly.20251220.41a1a3eed by
124
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15352
125
+ - feat(telemetry): add clearcut logging for hooks by @abhipatel12 in
126
+ https://github.com/google-gemini/gemini-cli/pull/15405
127
+ - fix(core): Add `.geminiignore` support to SearchText tool by @xyrolle in
128
+ https://github.com/google-gemini/gemini-cli/pull/13763
127
129
 
128
130
  **Full Changelog**:
129
- https://github.com/google-gemini/gemini-cli/compare/v0.21.0-preview.6...v0.22.0-preview.0
131
+ https://github.com/google-gemini/gemini-cli/compare/v0.22.0-preview.3...v0.23.0-preview.0
@@ -12,13 +12,279 @@ on GitHub.
12
12
 
13
13
  ## Current Releases
14
14
 
15
- | Release channel | Notes |
16
- | :------------------------------------------ | :---------------------------------------------- |
17
- | Nightly | Nightly release with the most recent changes. |
18
- | [Preview](#release-v0220-preview-0-preview) | Experimental features ready for early feedback. |
19
- | [Latest](#release-v0210---v0211-latest) | Stable, recommended for general use. |
15
+ | Release channel | Notes |
16
+ | :---------------------------------------- | :---------------------------------------------- |
17
+ | Nightly | Nightly release with the most recent changes. |
18
+ | [Preview](#release-v0230-preview-preview) | Experimental features ready for early feedback. |
19
+ | [Latest](#release-v0220---v0225-latest) | Stable, recommended for general use. |
20
20
 
21
- ## Release v0.21.0 - v0.21.1 (Latest)
21
+ ## Release v0.23.0-preview (Preview)
22
+
23
+ ## What's Changed
24
+
25
+ - Code assist service metrics. by @gundermanc in
26
+ https://github.com/google-gemini/gemini-cli/pull/15024
27
+ - chore/release: bump version to 0.21.0-nightly.20251216.bb0c0d8ee by
28
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15121
29
+ - Docs by @Roaimkhan in https://github.com/google-gemini/gemini-cli/pull/15103
30
+ - Use official ACP SDK and support HTTP/SSE based MCP servers by @SteffenDE in
31
+ https://github.com/google-gemini/gemini-cli/pull/13856
32
+ - Remove foreground for themes other than shades of purple and holiday. by
33
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14606
34
+ - chore: remove repo specific tips by @jackwotherspoon in
35
+ https://github.com/google-gemini/gemini-cli/pull/15164
36
+ - chore: remove user query from footer in debug mode by @jackwotherspoon in
37
+ https://github.com/google-gemini/gemini-cli/pull/15169
38
+ - Disallow unnecessary awaits. by @gundermanc in
39
+ https://github.com/google-gemini/gemini-cli/pull/15172
40
+ - Add one to the padding in settings dialog to avoid flicker. by @jacob314 in
41
+ https://github.com/google-gemini/gemini-cli/pull/15173
42
+ - feat(core): introduce remote agent infrastructure and rename local executor by
43
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15110
44
+ - feat(cli): Add `/auth logout` command to clear credentials and auth state by
45
+ @CN-Scars in https://github.com/google-gemini/gemini-cli/pull/13383
46
+ - (fix) Automated pr labeler by @DaanVersavel in
47
+ https://github.com/google-gemini/gemini-cli/pull/14885
48
+ - feat: launch Gemini 3 Flash in Gemini CLI ⚡️⚡️⚡️ by @scidomino in
49
+ https://github.com/google-gemini/gemini-cli/pull/15196
50
+ - Refactor: Migrate console.error in ripGrep.ts to debugLogger by @Adib234 in
51
+ https://github.com/google-gemini/gemini-cli/pull/15201
52
+ - chore: update a2a-js to 0.3.7 by @adamfweidman in
53
+ https://github.com/google-gemini/gemini-cli/pull/15197
54
+ - chore(core): remove redundant isModelAvailabilityServiceEnabled toggle and
55
+ clean up dead code by @adamfweidman in
56
+ https://github.com/google-gemini/gemini-cli/pull/15207
57
+ - feat(core): Late resolve `GenerateContentConfig`s and reduce mutation. by
58
+ @joshualitt in https://github.com/google-gemini/gemini-cli/pull/14920
59
+ - Respect previewFeatures value from the remote flag if undefined by @sehoon38
60
+ in https://github.com/google-gemini/gemini-cli/pull/15214
61
+ - feat(ui): add Windows clipboard image support and Alt+V paste workaround by
62
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15218
63
+ - chore(core): remove legacy fallback flags and migrate loop detection by
64
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15213
65
+ - fix(ui): Prevent eager slash command completion hiding sibling commands by
66
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15224
67
+ - Docs: Update Changelog for Dec 17, 2025 by @jkcinouye in
68
+ https://github.com/google-gemini/gemini-cli/pull/15204
69
+ - Code Assist backend telemetry for user accept/reject of suggestions by
70
+ @gundermanc in https://github.com/google-gemini/gemini-cli/pull/15206
71
+ - fix(cli): correct initial history length handling for chat commands by
72
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15223
73
+ - chore/release: bump version to 0.21.0-nightly.20251218.739c02bd6 by
74
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15231
75
+ - Change detailed model stats to use a new shared Table class to resolve
76
+ robustness issues. by @jacob314 in
77
+ https://github.com/google-gemini/gemini-cli/pull/15208
78
+ - feat: add agent toml parser by @abhipatel12 in
79
+ https://github.com/google-gemini/gemini-cli/pull/15112
80
+ - Add core tool that adds all context from the core package. by @jacob314 in
81
+ https://github.com/google-gemini/gemini-cli/pull/15238
82
+ - (docs): Add reference section to hooks documentation by @abhipatel12 in
83
+ https://github.com/google-gemini/gemini-cli/pull/15159
84
+ - feat(hooks): add support for friendly names and descriptions by @abhipatel12
85
+ in https://github.com/google-gemini/gemini-cli/pull/15174
86
+ - feat: Detect background color by @jacob314 in
87
+ https://github.com/google-gemini/gemini-cli/pull/15132
88
+ - add 3.0 to allowed sensitive keywords by @scidomino in
89
+ https://github.com/google-gemini/gemini-cli/pull/15276
90
+ - feat: Pass additional environment variables to shell execution by @galz10 in
91
+ https://github.com/google-gemini/gemini-cli/pull/15160
92
+ - Remove unused code by @scidomino in
93
+ https://github.com/google-gemini/gemini-cli/pull/15290
94
+ - Handle all 429 as retryableQuotaError by @sehoon38 in
95
+ https://github.com/google-gemini/gemini-cli/pull/15288
96
+ - Remove unnecessary dependencies by @scidomino in
97
+ https://github.com/google-gemini/gemini-cli/pull/15291
98
+ - fix: prevent infinite loop in prompt completion on error by @galz10 in
99
+ https://github.com/google-gemini/gemini-cli/pull/14548
100
+ - fix(ui): show command suggestions even on perfect match and sort them by
101
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15287
102
+ - feat(hooks): reduce log verbosity and improve error reporting in UI by
103
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15297
104
+ - feat: simplify tool confirmation labels for better UX by @NTaylorMullen in
105
+ https://github.com/google-gemini/gemini-cli/pull/15296
106
+ - chore/release: bump version to 0.21.0-nightly.20251219.70696e364 by
107
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15301
108
+ - feat(core): Implement JIT context memory loading and UI sync by @SandyTao520
109
+ in https://github.com/google-gemini/gemini-cli/pull/14469
110
+ - feat(ui): Put "Allow for all future sessions" behind a setting off by default.
111
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15322
112
+ - fix(cli):change the placeholder of input during the shell mode by
113
+ @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/15135
114
+ - Validate OAuth resource parameter matches MCP server URL by @galz10 in
115
+ https://github.com/google-gemini/gemini-cli/pull/15289
116
+ - docs(cli): add System Prompt Override (GEMINI_SYSTEM_MD) by @ashmod in
117
+ https://github.com/google-gemini/gemini-cli/pull/9515
118
+ - more robust command parsing logs by @scidomino in
119
+ https://github.com/google-gemini/gemini-cli/pull/15339
120
+ - Introspection agent demo by @scidomino in
121
+ https://github.com/google-gemini/gemini-cli/pull/15232
122
+ - fix(core): sanitize hook command expansion and prevent injection by
123
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15343
124
+ - fix(folder trust): add validation for trusted folder level by @adamfweidman in
125
+ https://github.com/google-gemini/gemini-cli/pull/12215
126
+ - fix(cli): fix right border overflow in trust dialogs by @galz10 in
127
+ https://github.com/google-gemini/gemini-cli/pull/15350
128
+ - fix(policy): fix bug where accepting-edits continued after it was turned off
129
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15351
130
+ - fix: prevent infinite relaunch loop when --resume fails (#14941) by @Ying-xi
131
+ in https://github.com/google-gemini/gemini-cli/pull/14951
132
+ - chore/release: bump version to 0.21.0-nightly.20251220.41a1a3eed by
133
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15352
134
+ - feat(telemetry): add clearcut logging for hooks by @abhipatel12 in
135
+ https://github.com/google-gemini/gemini-cli/pull/15405
136
+ - fix(core): Add `.geminiignore` support to SearchText tool by @xyrolle in
137
+ https://github.com/google-gemini/gemini-cli/pull/13763
138
+
139
+ **Full Changelog**:
140
+ https://github.com/google-gemini/gemini-cli/compare/v0.22.0-preview.3...v0.23.0-preview.0
141
+
142
+ ## Release v0.22.0 - v0.22.5 (Latest)
143
+
144
+ ### Highlights
145
+
146
+ - **Comprehensive quota visibility:** View usage statistics for all available
147
+ models in the `/stats` command, even those not yet used in your current
148
+ session. ([pic](https://imgur.com/a/cKyDtYh),
149
+ [pr](https://github.com/google-gemini/gemini-cli/pull/14764) by
150
+ [@sehoon38](https://github.com/sehoon38))
151
+ - **Polished CLI statistics:** We’ve cleaned up the `/stats` view to prioritize
152
+ actionable quota information while providing a detailed token and
153
+ cache-efficiency breakdown in `/stats model`
154
+ ([login with Google](https://imgur.com/a/w9xKthm),
155
+ [api key](https://imgur.com/a/FjQPHOY),
156
+ [model stats](https://imgur.com/a/VfWzVgw),
157
+ [pr](https://github.com/google-gemini/gemini-cli/pull/14961) by
158
+ [@jacob314](https://github.com/jacob314))
159
+ - **Multi-file drag & drop:** Multi-file drag & drop is now supported and
160
+ properly translated to be prefixed with `@`.
161
+ ([pr](https://github.com/google-gemini/gemini-cli/pull/14832) by
162
+ [@jackwotherspoon](https://github.com/jackwotherspoon))
163
+
164
+ ### What's Changed
165
+
166
+ - feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var by @skeshive in
167
+ https://github.com/google-gemini/gemini-cli/pull/14843
168
+ - feat: display quota stats for unused models in /stats by @sehoon38 in
169
+ https://github.com/google-gemini/gemini-cli/pull/14764
170
+ - feat: ensure codebase investigator uses preview model when main agent does by
171
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14412
172
+ - chore: add closing reason to stale bug workflow by @galz10 in
173
+ https://github.com/google-gemini/gemini-cli/pull/14861
174
+ - Send the model and CLI version with the user agent by @gundermanc in
175
+ https://github.com/google-gemini/gemini-cli/pull/14865
176
+ - refactor(sessions): move session summary generation to startup by
177
+ @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/14691
178
+ - Limit search depth in path corrector by @scidomino in
179
+ https://github.com/google-gemini/gemini-cli/pull/14869
180
+ - Fix: Correct typo in code comment by @kuishou68 in
181
+ https://github.com/google-gemini/gemini-cli/pull/14671
182
+ - feat(core): Plumbing for late resolution of model configs. by @joshualitt in
183
+ https://github.com/google-gemini/gemini-cli/pull/14597
184
+ - feat: attempt more error parsing by @adamfweidman in
185
+ https://github.com/google-gemini/gemini-cli/pull/14899
186
+ - Add missing await. by @gundermanc in
187
+ https://github.com/google-gemini/gemini-cli/pull/14910
188
+ - feat(core): Add support for transcript_path in hooks for git-ai/Gemini
189
+ extension by @svarlamov in
190
+ https://github.com/google-gemini/gemini-cli/pull/14663
191
+ - refactor: implement DelegateToAgentTool with discriminated union by
192
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14769
193
+ - feat: reset availabilityService on /auth by @adamfweidman in
194
+ https://github.com/google-gemini/gemini-cli/pull/14911
195
+ - chore/release: bump version to 0.21.0-nightly.20251211.8c83e1ea9 by
196
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14924
197
+ - Fix: Correctly detect MCP tool errors by @kevin-ramdass in
198
+ https://github.com/google-gemini/gemini-cli/pull/14937
199
+ - increase labeler timeout by @scidomino in
200
+ https://github.com/google-gemini/gemini-cli/pull/14922
201
+ - tool(cli): tweak the frontend tool to be aware of more core files from the cli
202
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14962
203
+ - feat(cli): polish cached token stats and simplify stats display when quota is
204
+ present. by @jacob314 in
205
+ https://github.com/google-gemini/gemini-cli/pull/14961
206
+ - feat(settings-validation): add validation for settings schema by @lifefloating
207
+ in https://github.com/google-gemini/gemini-cli/pull/12929
208
+ - fix(ide): Update IDE extension to write auth token in env var by @skeshive in
209
+ https://github.com/google-gemini/gemini-cli/pull/14999
210
+ - Revert "chore(deps): bump express from 5.1.0 to 5.2.0" by @skeshive in
211
+ https://github.com/google-gemini/gemini-cli/pull/14998
212
+ - feat(a2a): Introduce /init command for a2a server by @cocosheng-g in
213
+ https://github.com/google-gemini/gemini-cli/pull/13419
214
+ - feat: support multi-file drag and drop of images by @jackwotherspoon in
215
+ https://github.com/google-gemini/gemini-cli/pull/14832
216
+ - fix(policy): allow codebase_investigator by default in read-only policy by
217
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15000
218
+ - refactor(ide ext): Update port file name + switch to 1-based index for
219
+ characters + remove truncation text by @skeshive in
220
+ https://github.com/google-gemini/gemini-cli/pull/10501
221
+ - fix(vscode-ide-companion): correct license generation for workspace
222
+ dependencies by @skeshive in
223
+ https://github.com/google-gemini/gemini-cli/pull/15004
224
+ - fix: temp fix for subagent invocation until subagent delegation is merged to
225
+ stable by @abhipatel12 in
226
+ https://github.com/google-gemini/gemini-cli/pull/15007
227
+ - test: update ide detection tests to make them more robust when run in an ide
228
+ by @kevin-ramdass in https://github.com/google-gemini/gemini-cli/pull/15008
229
+ - Remove flex from stats display. See snapshots for diffs. by @jacob314 in
230
+ https://github.com/google-gemini/gemini-cli/pull/14983
231
+ - Add license field into package.json by @jb-perez in
232
+ https://github.com/google-gemini/gemini-cli/pull/14473
233
+ - feat: Persistent "Always Allow" policies with granular shell & MCP support by
234
+ @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/14737
235
+ - chore/release: bump version to 0.21.0-nightly.20251212.54de67536 by
236
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14969
237
+ - fix(core): commandPrefix word boundary and compound command safety by
238
+ @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/15006
239
+ - chore(docs): add 'Maintainers only' label info to CONTRIBUTING.md by @jacob314
240
+ in https://github.com/google-gemini/gemini-cli/pull/14914
241
+ - Refresh hooks when refreshing extensions. by @scidomino in
242
+ https://github.com/google-gemini/gemini-cli/pull/14918
243
+ - Add clarity to error messages by @gsehgal in
244
+ https://github.com/google-gemini/gemini-cli/pull/14879
245
+ - chore : remove a redundant tip by @JayadityaGit in
246
+ https://github.com/google-gemini/gemini-cli/pull/14947
247
+ - chore/release: bump version to 0.21.0-nightly.20251213.977248e09 by
248
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15029
249
+ - Disallow redundant typecasts. by @gundermanc in
250
+ https://github.com/google-gemini/gemini-cli/pull/15030
251
+ - fix(auth): prioritize GEMINI_API_KEY env var and skip unnecessary key… by
252
+ @galz10 in https://github.com/google-gemini/gemini-cli/pull/14745
253
+ - fix: use zod for safety check result validation by @allenhutchison in
254
+ https://github.com/google-gemini/gemini-cli/pull/15026
255
+ - update(telemetry): add hashed_extension_name to field to extension events by
256
+ @kiranani in https://github.com/google-gemini/gemini-cli/pull/15025
257
+ - fix: similar to policy-engine, throw error in case of requiring tool execution
258
+ confirmation for non-interactive mode by @MayV in
259
+ https://github.com/google-gemini/gemini-cli/pull/14702
260
+ - Clean up processes in integration tests by @scidomino in
261
+ https://github.com/google-gemini/gemini-cli/pull/15102
262
+ - docs: update policy engine getting started and defaults by @NTaylorMullen in
263
+ https://github.com/google-gemini/gemini-cli/pull/15105
264
+ - Fix tool output fragmentation by encapsulating content in functionResponse by
265
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/13082
266
+ - Simplify method signature. by @scidomino in
267
+ https://github.com/google-gemini/gemini-cli/pull/15114
268
+ - Show raw input token counts in json output. by @jacob314 in
269
+ https://github.com/google-gemini/gemini-cli/pull/15021
270
+ - fix: Mark A2A requests as interactive by @MayV in
271
+ https://github.com/google-gemini/gemini-cli/pull/15108
272
+ - use previewFeatures to determine which pro model to use for A2A by @sehoon38
273
+ in https://github.com/google-gemini/gemini-cli/pull/15131
274
+ - refactor(cli): fix settings merging so that settings using the new json format
275
+ take priority over ones using the old format by @jacob314 in
276
+ https://github.com/google-gemini/gemini-cli/pull/15116
277
+ - fix(patch): cherry-pick a6d1245 to release/v0.22.0-preview.1-pr-15214 to patch
278
+ version v0.22.0-preview.1 and create version 0.22.0-preview.2 by
279
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15226
280
+ - fix(patch): cherry-pick 9e6914d to release/v0.22.0-preview.2-pr-15288 to patch
281
+ version v0.22.0-preview.2 and create version 0.22.0-preview.3 by
282
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15294
283
+
284
+ **Full Changelog**:
285
+ https://github.com/google-gemini/gemini-cli/compare/v0.21.3...v0.22.0
286
+
287
+ ## Release v0.21.0 - v0.21.1
22
288
 
23
289
  ### Highlights
24
290
 
@@ -206,7 +472,7 @@ on GitHub.
206
472
  https://github.com/google-gemini/gemini-cli/pull/13015
207
473
  - allow final:true to be returned on a2a server edit calls. by @DavidAPierce in
208
474
  https://github.com/google-gemini/gemini-cli/pull/14747
209
- - (fix) Automated pr labeller by @DaanVersavel in
475
+ - (fix) Automated pr labeler by @DaanVersavel in
210
476
  https://github.com/google-gemini/gemini-cli/pull/14788
211
477
  - Update CODEOWNERS by @kklashtorny1 in
212
478
  https://github.com/google-gemini/gemini-cli/pull/14830
@@ -73,6 +73,9 @@ Slash commands provide meta-level control over the CLI itself.
73
73
  - **`/copy`**
74
74
  - **Description:** Copies the last output produced by Gemini CLI to your
75
75
  clipboard, for easy sharing or reuse.
76
+ - **Behavior:**
77
+ - Local sessions use system clipboard tools (pbcopy/xclip/clip).
78
+ - Remote sessions (SSH/WSL) use OSC 52 and require terminal support.
76
79
  - **Note:** This command requires platform-specific clipboard tools to be
77
80
  installed.
78
81
  - On Linux, it requires `xclip` or `xsel`. You can typically install them