@google/gemini-cli-core 0.26.0-preview.4 → 0.27.0-nightly.20260126.cb772a5b7

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 (325) hide show
  1. package/README.md +18 -1
  2. package/dist/docs/changelogs/index.md +87 -0
  3. package/dist/docs/changelogs/latest.md +355 -150
  4. package/dist/docs/changelogs/preview.md +318 -210
  5. package/dist/docs/cli/commands.md +0 -6
  6. package/dist/docs/cli/keyboard-shortcuts.md +32 -31
  7. package/dist/docs/cli/settings.md +16 -18
  8. package/dist/docs/cli/system-prompt.md +32 -0
  9. package/dist/docs/cli/uninstall.md +18 -0
  10. package/dist/docs/extensions/index.md +1 -1
  11. package/dist/docs/get-started/configuration.md +9 -34
  12. package/dist/docs/hooks/best-practices.md +219 -398
  13. package/dist/docs/hooks/index.md +111 -656
  14. package/dist/docs/hooks/reference.md +280 -136
  15. package/dist/docs/hooks/writing-hooks.md +202 -796
  16. package/dist/docs/sidebar.json +1 -5
  17. package/dist/docs/tools/mcp-server.md +24 -1
  18. package/dist/google-gemini-cli-core-0.27.0-nightly.20260121.97aac696f.tgz +0 -0
  19. package/dist/src/agents/agentLoader.js +10 -10
  20. package/dist/src/agents/agentLoader.js.map +1 -1
  21. package/dist/src/agents/agentLoader.test.js +16 -19
  22. package/dist/src/agents/agentLoader.test.js.map +1 -1
  23. package/dist/src/agents/cli-help-agent.js +8 -5
  24. package/dist/src/agents/cli-help-agent.js.map +1 -1
  25. package/dist/src/agents/cli-help-agent.test.js +4 -2
  26. package/dist/src/agents/cli-help-agent.test.js.map +1 -1
  27. package/dist/src/agents/codebase-investigator.d.ts +2 -1
  28. package/dist/src/agents/codebase-investigator.js +62 -41
  29. package/dist/src/agents/codebase-investigator.js.map +1 -1
  30. package/dist/src/agents/codebase-investigator.test.js +15 -8
  31. package/dist/src/agents/codebase-investigator.test.js.map +1 -1
  32. package/dist/src/agents/generalist-agent.js +9 -11
  33. package/dist/src/agents/generalist-agent.js.map +1 -1
  34. package/dist/src/agents/generalist-agent.test.js +3 -3
  35. package/dist/src/agents/generalist-agent.test.js.map +1 -1
  36. package/dist/src/agents/local-executor.js +25 -9
  37. package/dist/src/agents/local-executor.js.map +1 -1
  38. package/dist/src/agents/local-executor.test.js +74 -7
  39. package/dist/src/agents/local-executor.test.js.map +1 -1
  40. package/dist/src/agents/local-invocation.test.js +7 -3
  41. package/dist/src/agents/local-invocation.test.js.map +1 -1
  42. package/dist/src/agents/registry.d.ts +8 -5
  43. package/dist/src/agents/registry.js +31 -75
  44. package/dist/src/agents/registry.js.map +1 -1
  45. package/dist/src/agents/registry.test.js +93 -30
  46. package/dist/src/agents/registry.test.js.map +1 -1
  47. package/dist/src/agents/remote-invocation.js +2 -1
  48. package/dist/src/agents/remote-invocation.js.map +1 -1
  49. package/dist/src/agents/remote-invocation.test.js +15 -3
  50. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  51. package/dist/src/agents/subagent-tool-wrapper.js +1 -3
  52. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  53. package/dist/src/agents/subagent-tool-wrapper.test.js +10 -25
  54. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  55. package/dist/src/agents/subagent-tool.d.ts +15 -0
  56. package/dist/src/agents/subagent-tool.js +61 -0
  57. package/dist/src/agents/subagent-tool.js.map +1 -0
  58. package/dist/src/agents/types.d.ts +6 -9
  59. package/dist/src/agents/types.js +4 -0
  60. package/dist/src/agents/types.js.map +1 -1
  61. package/dist/src/code_assist/codeAssist.js +1 -1
  62. package/dist/src/code_assist/codeAssist.js.map +1 -1
  63. package/dist/src/code_assist/codeAssist.test.js +2 -2
  64. package/dist/src/code_assist/codeAssist.test.js.map +1 -1
  65. package/dist/src/code_assist/experiments/experiments.test.js +1 -0
  66. package/dist/src/code_assist/experiments/experiments.test.js.map +1 -1
  67. package/dist/src/code_assist/experiments/experiments_local.test.js +11 -6
  68. package/dist/src/code_assist/experiments/experiments_local.test.js.map +1 -1
  69. package/dist/src/code_assist/experiments/flagNames.d.ts +2 -0
  70. package/dist/src/code_assist/experiments/flagNames.js +2 -0
  71. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  72. package/dist/src/code_assist/oauth2.js +3 -3
  73. package/dist/src/code_assist/oauth2.test.js +1 -1
  74. package/dist/src/code_assist/server.d.ts +2 -1
  75. package/dist/src/code_assist/server.js +3 -1
  76. package/dist/src/code_assist/server.js.map +1 -1
  77. package/dist/src/code_assist/setup.d.ts +1 -0
  78. package/dist/src/code_assist/setup.js +5 -1
  79. package/dist/src/code_assist/setup.js.map +1 -1
  80. package/dist/src/code_assist/setup.test.js +10 -4
  81. package/dist/src/code_assist/setup.test.js.map +1 -1
  82. package/dist/src/config/config.d.ts +25 -18
  83. package/dist/src/config/config.js +70 -40
  84. package/dist/src/config/config.js.map +1 -1
  85. package/dist/src/config/config.test.js +48 -21
  86. package/dist/src/config/config.test.js.map +1 -1
  87. package/dist/src/confirmation-bus/message-bus.js +2 -32
  88. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  89. package/dist/src/confirmation-bus/types.d.ts +35 -21
  90. package/dist/src/confirmation-bus/types.js +8 -3
  91. package/dist/src/confirmation-bus/types.js.map +1 -1
  92. package/dist/src/core/client.js +25 -7
  93. package/dist/src/core/client.js.map +1 -1
  94. package/dist/src/core/client.test.js +52 -6
  95. package/dist/src/core/client.test.js.map +1 -1
  96. package/dist/src/core/contentGenerator.d.ts +1 -0
  97. package/dist/src/core/contentGenerator.js.map +1 -1
  98. package/dist/src/core/coreToolHookTriggers.d.ts +2 -38
  99. package/dist/src/core/coreToolHookTriggers.js +12 -159
  100. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  101. package/dist/src/core/coreToolHookTriggers.test.js +62 -94
  102. package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
  103. package/dist/src/core/coreToolScheduler.js +3 -5
  104. package/dist/src/core/coreToolScheduler.js.map +1 -1
  105. package/dist/src/core/coreToolScheduler.test.js +3 -0
  106. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  107. package/dist/src/core/fakeContentGenerator.d.ts +1 -0
  108. package/dist/src/core/fakeContentGenerator.js +1 -0
  109. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  110. package/dist/src/core/geminiChat.js +1 -0
  111. package/dist/src/core/geminiChat.js.map +1 -1
  112. package/dist/src/core/geminiChat.test.js +21 -0
  113. package/dist/src/core/geminiChat.test.js.map +1 -1
  114. package/dist/src/core/geminiChat_network_retry.test.js +17 -12
  115. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  116. package/dist/src/core/loggingContentGenerator.d.ts +3 -0
  117. package/dist/src/core/loggingContentGenerator.js +6 -0
  118. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  119. package/dist/src/core/loggingContentGenerator.test.js +11 -0
  120. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  121. package/dist/src/core/prompts-substitution.test.js +101 -0
  122. package/dist/src/core/prompts-substitution.test.js.map +1 -0
  123. package/dist/src/core/prompts.js +115 -31
  124. package/dist/src/core/prompts.js.map +1 -1
  125. package/dist/src/core/prompts.test.js +32 -0
  126. package/dist/src/core/prompts.test.js.map +1 -1
  127. package/dist/src/core/recordingContentGenerator.d.ts +2 -1
  128. package/dist/src/core/recordingContentGenerator.js +6 -1
  129. package/dist/src/core/recordingContentGenerator.js.map +1 -1
  130. package/dist/src/core/turn.d.ts +2 -0
  131. package/dist/src/core/turn.js.map +1 -1
  132. package/dist/src/generated/git-commit.d.ts +2 -2
  133. package/dist/src/generated/git-commit.js +2 -2
  134. package/dist/src/generated/git-commit.js.map +1 -1
  135. package/dist/src/hooks/hookAggregator.js +13 -3
  136. package/dist/src/hooks/hookAggregator.js.map +1 -1
  137. package/dist/src/hooks/hookEventHandler.d.ts +1 -13
  138. package/dist/src/hooks/hookEventHandler.js +1 -289
  139. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  140. package/dist/src/hooks/hookEventHandler.test.js +1 -4
  141. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  142. package/dist/src/hooks/hookSystem.d.ts +47 -3
  143. package/dist/src/hooks/hookSystem.js +90 -6
  144. package/dist/src/hooks/hookSystem.js.map +1 -1
  145. package/dist/src/hooks/hookSystem.test.js +19 -8
  146. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  147. package/dist/src/hooks/types.d.ts +23 -1
  148. package/dist/src/hooks/types.js +28 -2
  149. package/dist/src/hooks/types.js.map +1 -1
  150. package/dist/src/hooks/types.test.js +9 -1
  151. package/dist/src/hooks/types.test.js.map +1 -1
  152. package/dist/src/ide/detect-ide.d.ts +41 -0
  153. package/dist/src/ide/detect-ide.js +47 -3
  154. package/dist/src/ide/detect-ide.js.map +1 -1
  155. package/dist/src/ide/detect-ide.test.js +46 -0
  156. package/dist/src/ide/detect-ide.test.js.map +1 -1
  157. package/dist/src/ide/ide-client.d.ts +1 -0
  158. package/dist/src/ide/ide-client.js +36 -9
  159. package/dist/src/ide/ide-client.js.map +1 -1
  160. package/dist/src/ide/ide-client.test.js +154 -6
  161. package/dist/src/ide/ide-client.test.js.map +1 -1
  162. package/dist/src/index.d.ts +2 -0
  163. package/dist/src/index.js +2 -0
  164. package/dist/src/index.js.map +1 -1
  165. package/dist/src/mcp/oauth-provider.d.ts +1 -2
  166. package/dist/src/mcp/oauth-provider.js +4 -8
  167. package/dist/src/mcp/oauth-provider.js.map +1 -1
  168. package/dist/src/mcp/oauth-provider.test.js +32 -0
  169. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  170. package/dist/src/mcp/oauth-utils.d.ts +13 -4
  171. package/dist/src/mcp/oauth-utils.js +23 -19
  172. package/dist/src/mcp/oauth-utils.js.map +1 -1
  173. package/dist/src/mcp/oauth-utils.test.js +13 -8
  174. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  175. package/dist/src/policy/policy-engine.d.ts +1 -8
  176. package/dist/src/policy/policy-engine.js +1 -75
  177. package/dist/src/policy/policy-engine.js.map +1 -1
  178. package/dist/src/policy/policy-engine.test.js +0 -222
  179. package/dist/src/policy/policy-engine.test.js.map +1 -1
  180. package/dist/src/routing/modelRouterService.js +18 -8
  181. package/dist/src/routing/modelRouterService.js.map +1 -1
  182. package/dist/src/routing/modelRouterService.test.js +14 -6
  183. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  184. package/dist/src/routing/strategies/classifierStrategy.js +4 -7
  185. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  186. package/dist/src/routing/strategies/classifierStrategy.test.js +10 -4
  187. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  188. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +13 -0
  189. package/dist/src/routing/strategies/numericalClassifierStrategy.js +178 -0
  190. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -0
  191. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +347 -0
  192. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -0
  193. package/dist/src/scheduler/confirmation.js +2 -3
  194. package/dist/src/scheduler/confirmation.js.map +1 -1
  195. package/dist/src/scheduler/confirmation.test.js +8 -8
  196. package/dist/src/scheduler/confirmation.test.js.map +1 -1
  197. package/dist/src/scheduler/scheduler.test.js +0 -3
  198. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  199. package/dist/src/scheduler/state-manager.js +4 -0
  200. package/dist/src/scheduler/state-manager.js.map +1 -1
  201. package/dist/src/scheduler/state-manager.test.js +11 -0
  202. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  203. package/dist/src/scheduler/tool-executor.js +2 -4
  204. package/dist/src/scheduler/tool-executor.js.map +1 -1
  205. package/dist/src/scheduler/tool-executor.test.js +1 -1
  206. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  207. package/dist/src/services/chatRecordingService.d.ts +1 -1
  208. package/dist/src/services/chatRecordingService.js +23 -1
  209. package/dist/src/services/chatRecordingService.js.map +1 -1
  210. package/dist/src/services/chatRecordingService.test.js +111 -0
  211. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  212. package/dist/src/services/sessionSummaryService.test.js +1 -1
  213. package/dist/src/services/sessionSummaryService.test.js.map +1 -1
  214. package/dist/src/telemetry/metrics.js +15 -4
  215. package/dist/src/telemetry/metrics.js.map +1 -1
  216. package/dist/src/telemetry/metrics.test.js +7 -0
  217. package/dist/src/telemetry/metrics.test.js.map +1 -1
  218. package/dist/src/telemetry/types.d.ts +3 -1
  219. package/dist/src/telemetry/types.js +19 -4
  220. package/dist/src/telemetry/types.js.map +1 -1
  221. package/dist/src/test-utils/mock-message-bus.d.ts +1 -19
  222. package/dist/src/test-utils/mock-message-bus.js +1 -65
  223. package/dist/src/test-utils/mock-message-bus.js.map +1 -1
  224. package/dist/src/tools/ask-user.d.ts +20 -0
  225. package/dist/src/tools/ask-user.js +142 -0
  226. package/dist/src/tools/ask-user.js.map +1 -0
  227. package/dist/src/{core/geminiChatHookTriggers.test.d.ts → tools/ask-user.test.d.ts} +1 -1
  228. package/dist/src/tools/ask-user.test.js +187 -0
  229. package/dist/src/tools/ask-user.test.js.map +1 -0
  230. package/dist/src/tools/confirmation-policy.test.js +1 -1
  231. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  232. package/dist/src/tools/diffOptions.d.ts +1 -1
  233. package/dist/src/tools/diffOptions.js +7 -3
  234. package/dist/src/tools/diffOptions.js.map +1 -1
  235. package/dist/src/tools/diffOptions.test.js +17 -0
  236. package/dist/src/tools/diffOptions.test.js.map +1 -1
  237. package/dist/src/tools/edit.js +1 -1
  238. package/dist/src/tools/edit.js.map +1 -1
  239. package/dist/src/tools/edit.test.js +11 -3
  240. package/dist/src/tools/edit.test.js.map +1 -1
  241. package/dist/src/tools/mcp-client-manager.d.ts +13 -4
  242. package/dist/src/tools/mcp-client-manager.js +53 -21
  243. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  244. package/dist/src/tools/mcp-client-manager.test.js +1 -0
  245. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  246. package/dist/src/tools/mcp-client.test.js +1 -2
  247. package/dist/src/tools/mcp-client.test.js.map +1 -1
  248. package/dist/src/tools/modifiable-tool.test.js +3 -3
  249. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  250. package/dist/src/tools/read-many-files.js +3 -2
  251. package/dist/src/tools/read-many-files.js.map +1 -1
  252. package/dist/src/tools/ripGrep.js +7 -2
  253. package/dist/src/tools/ripGrep.js.map +1 -1
  254. package/dist/src/tools/ripGrep.test.js +2 -2
  255. package/dist/src/tools/ripGrep.test.js.map +1 -1
  256. package/dist/src/tools/tool-names.d.ts +8 -2
  257. package/dist/src/tools/tool-names.js +14 -2
  258. package/dist/src/tools/tool-names.js.map +1 -1
  259. package/dist/src/tools/tools.d.ts +1 -0
  260. package/dist/src/tools/tools.js +2 -1
  261. package/dist/src/tools/tools.js.map +1 -1
  262. package/dist/src/tools/write-file.test.js +7 -7
  263. package/dist/src/tools/write-file.test.js.map +1 -1
  264. package/dist/src/utils/constants.d.ts +7 -0
  265. package/dist/src/utils/constants.js +8 -0
  266. package/dist/src/utils/constants.js.map +1 -0
  267. package/dist/src/utils/editCorrector.js +1 -1
  268. package/dist/src/utils/editCorrector.js.map +1 -1
  269. package/dist/src/utils/editor.js +4 -1
  270. package/dist/src/utils/editor.js.map +1 -1
  271. package/dist/src/utils/editor.test.js +6 -4
  272. package/dist/src/utils/editor.test.js.map +1 -1
  273. package/dist/src/utils/events.d.ts +2 -0
  274. package/dist/src/utils/events.js +1 -0
  275. package/dist/src/utils/events.js.map +1 -1
  276. package/dist/src/utils/extensionLoader.js +1 -0
  277. package/dist/src/utils/extensionLoader.js.map +1 -1
  278. package/dist/src/utils/extensionLoader.test.js +11 -0
  279. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  280. package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
  281. package/dist/src/utils/googleQuotaErrors.js +6 -17
  282. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  283. package/dist/src/utils/googleQuotaErrors.test.js +4 -22
  284. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  285. package/dist/src/utils/llm-edit-fixer.js +4 -7
  286. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  287. package/dist/src/utils/llm-edit-fixer.test.js +2 -2
  288. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  289. package/dist/src/utils/memoryImportProcessor.js +7 -24
  290. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  291. package/dist/src/utils/promptIdContext.d.ts +6 -0
  292. package/dist/src/utils/promptIdContext.js +15 -0
  293. package/dist/src/utils/promptIdContext.js.map +1 -1
  294. package/dist/src/utils/schemaValidator.d.ts +6 -0
  295. package/dist/src/utils/schemaValidator.js +12 -1
  296. package/dist/src/utils/schemaValidator.js.map +1 -1
  297. package/dist/src/utils/workspaceContext.d.ts +15 -0
  298. package/dist/src/utils/workspaceContext.js +32 -11
  299. package/dist/src/utils/workspaceContext.js.map +1 -1
  300. package/dist/src/utils/workspaceContext.test.js +55 -0
  301. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  302. package/dist/tsconfig.tsbuildinfo +1 -1
  303. package/package.json +2 -3
  304. package/dist/docs/changelogs/releases.md +0 -1543
  305. package/dist/google-gemini-cli-core-0.26.0-preview.3.tgz +0 -0
  306. package/dist/src/agents/delegate-to-agent-tool.d.ts +0 -19
  307. package/dist/src/agents/delegate-to-agent-tool.js +0 -178
  308. package/dist/src/agents/delegate-to-agent-tool.js.map +0 -1
  309. package/dist/src/agents/delegate-to-agent-tool.test.js +0 -213
  310. package/dist/src/agents/delegate-to-agent-tool.test.js.map +0 -1
  311. package/dist/src/agents/schema-utils.d.ts +0 -39
  312. package/dist/src/agents/schema-utils.js +0 -57
  313. package/dist/src/agents/schema-utils.js.map +0 -1
  314. package/dist/src/agents/schema-utils.test.js +0 -144
  315. package/dist/src/agents/schema-utils.test.js.map +0 -1
  316. package/dist/src/core/clientHookTriggers.d.ts +0 -36
  317. package/dist/src/core/clientHookTriggers.js +0 -76
  318. package/dist/src/core/clientHookTriggers.js.map +0 -1
  319. package/dist/src/core/geminiChatHookTriggers.d.ts +0 -68
  320. package/dist/src/core/geminiChatHookTriggers.js +0 -158
  321. package/dist/src/core/geminiChatHookTriggers.js.map +0 -1
  322. package/dist/src/core/geminiChatHookTriggers.test.js +0 -153
  323. package/dist/src/core/geminiChatHookTriggers.test.js.map +0 -1
  324. /package/dist/src/{agents/delegate-to-agent-tool.test.d.ts → core/prompts-substitution.test.d.ts} +0 -0
  325. /package/dist/src/{agents/schema-utils.test.d.ts → routing/strategies/numericalClassifierStrategy.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.23.0
1
+ # Latest stable release: v0.25.0
2
2
 
3
- Released: January 6, 2026
3
+ Released: January 20, 2026
4
4
 
5
5
  For most users, our latest stable release is the recommended release. Install
6
6
  the latest stable version with:
@@ -11,155 +11,360 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Gemini CLI wrapped:** Run `npx gemini-wrapped` to visualize your usage
15
- stats, top models, languages, and more!
16
- - **Windows clipboard image support:** Windows users can now paste images
17
- directly from their clipboard into the CLI using `Alt`+`V`.
18
- ([pr](https://github.com/google-gemini/gemini-cli/pull/13997) by
19
- [@sgeraldes](https://github.com/sgeraldes))
20
- - **Terminal background color detection:** Automatically optimizes your
21
- terminal's background color to select compatible themes and provide
22
- accessibility warnings.
23
- ([pr](https://github.com/google-gemini/gemini-cli/pull/15132) by
24
- [@jacob314](https://github.com/jacob314))
25
- - **Session logout:** Use the new `/logout` command to instantly clear
26
- credentials and reset your authentication state for seamless account
27
- switching. ([pr](https://github.com/google-gemini/gemini-cli/pull/13383) by
28
- [@CN-Scars](https://github.com/CN-Scars))
14
+ - **Skills and Agents Improvements:** Enhanced `activate_skill` tool, new
15
+ `pr-creator` skill, default enablement of skills, improved `cli_help` agent,
16
+ and a new `/agents refresh` command.
17
+ - **UI/UX Refinements:** Transparent feedback for skills, ability to switch
18
+ focus between shell and input with Tab, and dynamic terminal tab titles.
19
+ - **Core Functionality & Performance:** Support for built-in agent skills,
20
+ refined Gemini 3 system instructions, caching ignore instances for
21
+ performance, and improved retry mechanisms.
22
+ - **Bug Fixes and Stability:** Numerous bug fixes across the CLI, core, and
23
+ workflows, including issues with subagent delegation, unicode character
24
+ crashes, and sticky header regressions.
29
25
 
30
- ## What's changed
26
+ ## What's Changed
31
27
 
32
- - Code assist service metrics. by @gundermanc in
33
- https://github.com/google-gemini/gemini-cli/pull/15024
34
- - chore/release: bump version to 0.21.0-nightly.20251216.bb0c0d8ee by
35
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15121
36
- - Docs by @Roaimkhan in https://github.com/google-gemini/gemini-cli/pull/15103
37
- - Use official ACP SDK and support HTTP/SSE based MCP servers by @SteffenDE in
38
- https://github.com/google-gemini/gemini-cli/pull/13856
39
- - Remove foreground for themes other than shades of purple and holiday. by
40
- @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14606
41
- - chore: remove repo specific tips by @jackwotherspoon in
42
- https://github.com/google-gemini/gemini-cli/pull/15164
43
- - chore: remove user query from footer in debug mode by @jackwotherspoon in
44
- https://github.com/google-gemini/gemini-cli/pull/15169
45
- - Disallow unnecessary awaits. by @gundermanc in
46
- https://github.com/google-gemini/gemini-cli/pull/15172
47
- - Add one to the padding in settings dialog to avoid flicker. by @jacob314 in
48
- https://github.com/google-gemini/gemini-cli/pull/15173
49
- - feat(core): introduce remote agent infrastructure and rename local executor by
50
- @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15110
51
- - feat(cli): Add `/auth logout` command to clear credentials and auth state by
52
- @CN-Scars in https://github.com/google-gemini/gemini-cli/pull/13383
53
- - (fix) Automated pr labeller by @DaanVersavel in
54
- https://github.com/google-gemini/gemini-cli/pull/14885
55
- - feat: launch Gemini 3 Flash in Gemini CLI ⚡️⚡️⚡️ by @scidomino in
56
- https://github.com/google-gemini/gemini-cli/pull/15196
57
- - Refactor: Migrate console.error in ripGrep.ts to debugLogger by @Adib234 in
58
- https://github.com/google-gemini/gemini-cli/pull/15201
59
- - chore: update a2a-js to 0.3.7 by @adamfweidman in
60
- https://github.com/google-gemini/gemini-cli/pull/15197
61
- - chore(core): remove redundant isModelAvailabilityServiceEnabled toggle and
62
- clean up dead code by @adamfweidman in
63
- https://github.com/google-gemini/gemini-cli/pull/15207
64
- - feat(core): Late resolve `GenerateContentConfig`s and reduce mutation. by
65
- @joshualitt in https://github.com/google-gemini/gemini-cli/pull/14920
66
- - Respect previewFeatures value from the remote flag if undefined by @sehoon38
67
- in https://github.com/google-gemini/gemini-cli/pull/15214
68
- - feat(ui): add Windows clipboard image support and Alt+V paste workaround by
69
- @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15218
70
- - chore(core): remove legacy fallback flags and migrate loop detection by
71
- @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15213
72
- - fix(ui): Prevent eager slash command completion hiding sibling commands by
73
- @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15224
74
- - Docs: Update Changelog for Dec 17, 2025 by @jkcinouye in
75
- https://github.com/google-gemini/gemini-cli/pull/15204
76
- - Code Assist backend telemetry for user accept/reject of suggestions by
77
- @gundermanc in https://github.com/google-gemini/gemini-cli/pull/15206
78
- - fix(cli): correct initial history length handling for chat commands by
79
- @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15223
80
- - chore/release: bump version to 0.21.0-nightly.20251218.739c02bd6 by
81
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15231
82
- - Change detailed model stats to use a new shared Table class to resolve
83
- robustness issues. by @jacob314 in
84
- https://github.com/google-gemini/gemini-cli/pull/15208
85
- - feat: add agent toml parser by @abhipatel12 in
86
- https://github.com/google-gemini/gemini-cli/pull/15112
87
- - Add core tool that adds all context from the core package. by @jacob314 in
88
- https://github.com/google-gemini/gemini-cli/pull/15238
89
- - (docs): Add reference section to hooks documentation by @abhipatel12 in
90
- https://github.com/google-gemini/gemini-cli/pull/15159
91
- - feat(hooks): add support for friendly names and descriptions by @abhipatel12
92
- in https://github.com/google-gemini/gemini-cli/pull/15174
93
- - feat: Detect background color by @jacob314 in
94
- https://github.com/google-gemini/gemini-cli/pull/15132
95
- - add 3.0 to allowed sensitive keywords by @scidomino in
96
- https://github.com/google-gemini/gemini-cli/pull/15276
97
- - feat: Pass additional environment variables to shell execution by @galz10 in
98
- https://github.com/google-gemini/gemini-cli/pull/15160
99
- - Remove unused code by @scidomino in
100
- https://github.com/google-gemini/gemini-cli/pull/15290
101
- - Handle all 429 as retryableQuotaError by @sehoon38 in
102
- https://github.com/google-gemini/gemini-cli/pull/15288
103
- - Remove unnecessary dependencies by @scidomino in
104
- https://github.com/google-gemini/gemini-cli/pull/15291
105
- - fix: prevent infinite loop in prompt completion on error by @galz10 in
106
- https://github.com/google-gemini/gemini-cli/pull/14548
107
- - fix(ui): show command suggestions even on perfect match and sort them by
108
- @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15287
109
- - feat(hooks): reduce log verbosity and improve error reporting in UI by
110
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15297
111
- - feat: simplify tool confirmation labels for better UX by @NTaylorMullen in
112
- https://github.com/google-gemini/gemini-cli/pull/15296
113
- - chore/release: bump version to 0.21.0-nightly.20251219.70696e364 by
114
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15301
115
- - feat(core): Implement JIT context memory loading and UI sync by @SandyTao520
116
- in https://github.com/google-gemini/gemini-cli/pull/14469
117
- - feat(ui): Put "Allow for all future sessions" behind a setting off by default.
118
- by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15322
119
- - fix(cli):change the placeholder of input during the shell mode by
120
- @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/15135
121
- - Validate OAuth resource parameter matches MCP server URL by @galz10 in
122
- https://github.com/google-gemini/gemini-cli/pull/15289
123
- - docs(cli): add System Prompt Override (GEMINI_SYSTEM_MD) by @ashmod in
124
- https://github.com/google-gemini/gemini-cli/pull/9515
125
- - more robust command parsing logs by @scidomino in
126
- https://github.com/google-gemini/gemini-cli/pull/15339
127
- - Introspection agent demo by @scidomino in
128
- https://github.com/google-gemini/gemini-cli/pull/15232
129
- - fix(core): sanitize hook command expansion and prevent injection by
130
- @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15343
131
- - fix(folder trust): add validation for trusted folder level by @adamfweidman in
132
- https://github.com/google-gemini/gemini-cli/pull/12215
133
- - fix(cli): fix right border overflow in trust dialogs by @galz10 in
134
- https://github.com/google-gemini/gemini-cli/pull/15350
135
- - fix(policy): fix bug where accepting-edits continued after it was turned off
136
- by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15351
137
- - fix: prevent infinite relaunch loop when --resume fails (#14941) by @Ying-xi
138
- in https://github.com/google-gemini/gemini-cli/pull/14951
139
- - chore/release: bump version to 0.21.0-nightly.20251220.41a1a3eed by
140
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15352
141
- - feat(telemetry): add clearcut logging for hooks by @abhipatel12 in
142
- https://github.com/google-gemini/gemini-cli/pull/15405
143
- - fix(core): Add `.geminiignore` support to SearchText tool by @xyrolle in
144
- https://github.com/google-gemini/gemini-cli/pull/13763
145
- - fix(patch): cherry-pick 0843d9a to release/v0.23.0-preview.0-pr-15443 to patch
146
- version v0.23.0-preview.0 and create version 0.23.0-preview.1 by
147
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15445
148
- - fix(patch): cherry-pick 9cdb267 to release/v0.23.0-preview.1-pr-15494 to patch
149
- version v0.23.0-preview.1 and create version 0.23.0-preview.2 by
150
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15592
151
- - fix(patch): cherry-pick 37be162 to release/v0.23.0-preview.2-pr-15601 to patch
152
- version v0.23.0-preview.2 and create version 0.23.0-preview.3 by
153
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15603
154
- - fix(patch): cherry-pick 07e597d to release/v0.23.0-preview.3-pr-15684
155
- [CONFLICTS] by @gemini-cli-robot in
156
- https://github.com/google-gemini/gemini-cli/pull/15734
157
- - fix(patch): cherry-pick c31f053 to release/v0.23.0-preview.4-pr-16004 to patch
158
- version v0.23.0-preview.4 and create version 0.23.0-preview.5 by
159
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/16027
160
- - fix(patch): cherry-pick 788bb04 to release/v0.23.0-preview.5-pr-15817
161
- [CONFLICTS] by @gemini-cli-robot in
162
- https://github.com/google-gemini/gemini-cli/pull/16038
28
+ - feat(core): improve activate_skill tool and use lowercase XML tags by
29
+ @NTaylorMullen in
30
+ [#16009](https://github.com/google-gemini/gemini-cli/pull/16009)
31
+ - Add initiation method telemetry property by @gundermanc in
32
+ [#15818](https://github.com/google-gemini/gemini-cli/pull/15818)
33
+ - chore(release): bump version to 0.25.0-nightly.20260107.59a18e710 by
34
+ @gemini-cli-robot in
35
+ [#16048](https://github.com/google-gemini/gemini-cli/pull/16048)
36
+ - Hx support by @kevinfjiang in
37
+ [#16032](https://github.com/google-gemini/gemini-cli/pull/16032)
38
+ - [Skills] Foundation: Centralize management logic and feedback rendering by
39
+ @NTaylorMullen in
40
+ [#15952](https://github.com/google-gemini/gemini-cli/pull/15952)
41
+ - Introduce GEMINI_CLI_HOME for strict test isolation by @NTaylorMullen in
42
+ [#15907](https://github.com/google-gemini/gemini-cli/pull/15907)
43
+ - [Skills] Multi-scope skill enablement and shadowing fix by @NTaylorMullen in
44
+ [#15953](https://github.com/google-gemini/gemini-cli/pull/15953)
45
+ - policy: extract legacy policy from core tool scheduler to policy engine by
46
+ @abhipatel12 in
47
+ [#15902](https://github.com/google-gemini/gemini-cli/pull/15902)
48
+ - Enhance TestRig with process management and timeouts by @NTaylorMullen in
49
+ [#15908](https://github.com/google-gemini/gemini-cli/pull/15908)
50
+ - Update troubleshooting doc for UNABLE_TO_GET_ISSUER_CERT_LOCALLY by @sehoon38
51
+ in [#16069](https://github.com/google-gemini/gemini-cli/pull/16069)
52
+ - Add keytar to dependencies by @chrstnb in
53
+ [#15928](https://github.com/google-gemini/gemini-cli/pull/15928)
54
+ - Simplify extension settings command by @chrstnb in
55
+ [#16001](https://github.com/google-gemini/gemini-cli/pull/16001)
56
+ - feat(admin): implement extensions disabled by @skeshive in
57
+ [#16024](https://github.com/google-gemini/gemini-cli/pull/16024)
58
+ - Core data structure updates for Rewind functionality by @Adib234 in
59
+ [#15714](https://github.com/google-gemini/gemini-cli/pull/15714)
60
+ - feat(hooks): simplify hook firing with HookSystem wrapper methods by @ved015
61
+ in [#15982](https://github.com/google-gemini/gemini-cli/pull/15982)
62
+ - Add exp.gws_experiment field to LogEventEntry by @gsquared94 in
63
+ [#16062](https://github.com/google-gemini/gemini-cli/pull/16062)
64
+ - Revert "feat(admin): implement extensions disabled" by @chrstnb in
65
+ [#16082](https://github.com/google-gemini/gemini-cli/pull/16082)
66
+ - feat(core): Decouple enabling hooks UI from subsystem. by @joshualitt in
67
+ [#16074](https://github.com/google-gemini/gemini-cli/pull/16074)
68
+ - docs: add docs for hooks + extensions by @abhipatel12 in
69
+ [#16073](https://github.com/google-gemini/gemini-cli/pull/16073)
70
+ - feat(core): Preliminary changes for subagent model routing. by @joshualitt in
71
+ [#16035](https://github.com/google-gemini/gemini-cli/pull/16035)
72
+ - Optimize CI workflow: Parallelize jobs and cache linters by @NTaylorMullen in
73
+ [#16054](https://github.com/google-gemini/gemini-cli/pull/16054)
74
+ - Add option to fallback for capacity errors in ProQuotaDi… by @sehoon38 in
75
+ [#16050](https://github.com/google-gemini/gemini-cli/pull/16050)
76
+ - feat: add confirmation details support + jsonrpc vs http rest support by
77
+ @adamfweidman in
78
+ [#16079](https://github.com/google-gemini/gemini-cli/pull/16079)
79
+ - fix(workflows): fix and limit labels for pr-triage.sh script by @jacob314 in
80
+ [#16096](https://github.com/google-gemini/gemini-cli/pull/16096)
81
+ - Fix and rename introspection agent -> cli help agent by @scidomino in
82
+ [#16097](https://github.com/google-gemini/gemini-cli/pull/16097)
83
+ - Docs: Changelogs update 20260105 by @jkcinouye in
84
+ [#15937](https://github.com/google-gemini/gemini-cli/pull/15937)
85
+ - enable cli_help agent by default by @scidomino in
86
+ [#16100](https://github.com/google-gemini/gemini-cli/pull/16100)
87
+ - Optimize json-output tests with mock responses by @NTaylorMullen in
88
+ [#16102](https://github.com/google-gemini/gemini-cli/pull/16102)
89
+ - Fix CI for forks by @scidomino in
90
+ [#16113](https://github.com/google-gemini/gemini-cli/pull/16113)
91
+ - Reduce nags about PRs that reference issues but don't fix them. by @jacob314
92
+ in [#16112](https://github.com/google-gemini/gemini-cli/pull/16112)
93
+ - feat(cli): add filepath autosuggestion after slash commands by @jasmeetsb in
94
+ [#14738](https://github.com/google-gemini/gemini-cli/pull/14738)
95
+ - Add upgrade option for paid users by @cayden-google in
96
+ [#15978](https://github.com/google-gemini/gemini-cli/pull/15978)
97
+ - [Skills] UX Polishing: Transparent feedback and CLI refinements by
98
+ @NTaylorMullen in
99
+ [#15954](https://github.com/google-gemini/gemini-cli/pull/15954)
100
+ - Polish: Move 'Failed to load skills' warning to debug logs by @NTaylorMullen
101
+ in [#16142](https://github.com/google-gemini/gemini-cli/pull/16142)
102
+ - feat(cli): export chat history in /bug and prefill GitHub issue by
103
+ @NTaylorMullen in
104
+ [#16115](https://github.com/google-gemini/gemini-cli/pull/16115)
105
+ - bug(core): fix issue with overrides to bases. by @joshualitt in
106
+ [#15255](https://github.com/google-gemini/gemini-cli/pull/15255)
107
+ - enableInteractiveShell for external tooling relying on a2a server by
108
+ @DavidAPierce in
109
+ [#16080](https://github.com/google-gemini/gemini-cli/pull/16080)
110
+ - Reapply "feat(admin): implement extensions disabled" (#16082) by @skeshive in
111
+ [#16109](https://github.com/google-gemini/gemini-cli/pull/16109)
112
+ - bug(core): Fix spewie getter in hookTranslator.ts by @joshualitt in
113
+ [#16108](https://github.com/google-gemini/gemini-cli/pull/16108)
114
+ - feat(hooks): add mcp_context to BeforeTool and AfterTool hook inputs by @vrv
115
+ in [#15656](https://github.com/google-gemini/gemini-cli/pull/15656)
116
+ - Add extension linking capabilities in cli by @kevinjwang1 in
117
+ [#16040](https://github.com/google-gemini/gemini-cli/pull/16040)
118
+ - Update the page's title to be consistent and show in site. by @kschaab in
119
+ [#16174](https://github.com/google-gemini/gemini-cli/pull/16174)
120
+ - docs: correct typo in bufferFastReturn JSDoc ("accomodate" → "accommodate") by
121
+ @minglu7 in [#16056](https://github.com/google-gemini/gemini-cli/pull/16056)
122
+ - fix: typo in MCP servers settings description by @alphanota in
123
+ [#15929](https://github.com/google-gemini/gemini-cli/pull/15929)
124
+ - fix: yolo should auto allow redirection by @abhipatel12 in
125
+ [#16183](https://github.com/google-gemini/gemini-cli/pull/16183)
126
+ - fix(cli): disableYoloMode shouldn't enforce default approval mode against args
127
+ by @psinha40898 in
128
+ [#16155](https://github.com/google-gemini/gemini-cli/pull/16155)
129
+ - feat: add native Sublime Text support to IDE detection by @phreakocious in
130
+ [#16083](https://github.com/google-gemini/gemini-cli/pull/16083)
131
+ - refactor(core): extract ToolModificationHandler from scheduler by @abhipatel12
132
+ in [#16118](https://github.com/google-gemini/gemini-cli/pull/16118)
133
+ - Add support for Antigravity terminal in terminal setup utility by @raky291 in
134
+ [#16051](https://github.com/google-gemini/gemini-cli/pull/16051)
135
+ - feat(core): Wire up model routing to subagents. by @joshualitt in
136
+ [#16043](https://github.com/google-gemini/gemini-cli/pull/16043)
137
+ - feat(cli): add /agents slash command to list available agents by @adamfweidman
138
+ in [#16182](https://github.com/google-gemini/gemini-cli/pull/16182)
139
+ - docs(cli): fix includeDirectories nesting in configuration.md by @maru0804 in
140
+ [#15067](https://github.com/google-gemini/gemini-cli/pull/15067)
141
+ - feat: implement file system reversion utilities for rewind by @Adib234 in
142
+ [#15715](https://github.com/google-gemini/gemini-cli/pull/15715)
143
+ - Always enable redaction in GitHub actions. by @gundermanc in
144
+ [#16200](https://github.com/google-gemini/gemini-cli/pull/16200)
145
+ - fix: remove unsupported 'enabled' key from workflow config by @Han5991 in
146
+ [#15611](https://github.com/google-gemini/gemini-cli/pull/15611)
147
+ - docs: Remove redundant and duplicate documentation files by @liqzheng in
148
+ [#14699](https://github.com/google-gemini/gemini-cli/pull/14699)
149
+ - docs: shorten run command and use published version by @dsherret in
150
+ [#16172](https://github.com/google-gemini/gemini-cli/pull/16172)
151
+ - test(command-registry): increase initialization test timeout by @wszqkzqk in
152
+ [#15979](https://github.com/google-gemini/gemini-cli/pull/15979)
153
+ - Ensure TERM is set to xterm-256color by @falouu in
154
+ [#15828](https://github.com/google-gemini/gemini-cli/pull/15828)
155
+ - The telemetry.js script should handle paths that contain spaces by @JohnJAS in
156
+ [#12078](https://github.com/google-gemini/gemini-cli/pull/12078)
157
+ - ci: guard links workflow from running on forks by @wtanaka in
158
+ [#15461](https://github.com/google-gemini/gemini-cli/pull/15461)
159
+ - ci: guard nightly release workflow from running on forks by @wtanaka in
160
+ [#15463](https://github.com/google-gemini/gemini-cli/pull/15463)
161
+ - Support @ suggestions for subagenets by @sehoon38 in
162
+ [#16201](https://github.com/google-gemini/gemini-cli/pull/16201)
163
+ - feat(hooks): Support explicit stop and block execution control in model hooks
164
+ by @SandyTao520 in
165
+ [#15947](https://github.com/google-gemini/gemini-cli/pull/15947)
166
+ - Refine Gemini 3 system instructions to reduce model verbosity by
167
+ @NTaylorMullen in
168
+ [#16139](https://github.com/google-gemini/gemini-cli/pull/16139)
169
+ - chore: clean up unused models and use consts by @sehoon38 in
170
+ [#16246](https://github.com/google-gemini/gemini-cli/pull/16246)
171
+ - Always enable bracketed paste by @scidomino in
172
+ [#16179](https://github.com/google-gemini/gemini-cli/pull/16179)
173
+ - refactor: migrate clearCommand hook calls to HookSystem by @ved015 in
174
+ [#16157](https://github.com/google-gemini/gemini-cli/pull/16157)
175
+ - refactor: migrate app containter hook calls to hook system by @ishaanxgupta in
176
+ [#16161](https://github.com/google-gemini/gemini-cli/pull/16161)
177
+ - Show settings source in extensions lists by @chrstnb in
178
+ [#16207](https://github.com/google-gemini/gemini-cli/pull/16207)
179
+ - feat(skills): add pr-creator skill and enable skills by @NTaylorMullen in
180
+ [#16232](https://github.com/google-gemini/gemini-cli/pull/16232)
181
+ - fix: handle Shift+Space in Kitty keyboard protocol terminals by @tt-a1i in
182
+ [#15767](https://github.com/google-gemini/gemini-cli/pull/15767)
183
+ - feat(core, ui): Add /agents refresh command. by @joshualitt in
184
+ [#16204](https://github.com/google-gemini/gemini-cli/pull/16204)
185
+ - feat(core): add local experiments override via GEMINI_EXP by @kevin-ramdass in
186
+ [#16181](https://github.com/google-gemini/gemini-cli/pull/16181)
187
+ - feat(ui): reduce home directory warning noise and add opt-out setting by
188
+ @NTaylorMullen in
189
+ [#16229](https://github.com/google-gemini/gemini-cli/pull/16229)
190
+ - refactor: migrate chatCompressionService to use HookSystem by @ved015 in
191
+ [#16259](https://github.com/google-gemini/gemini-cli/pull/16259)
192
+ - fix: properly use systemMessage for hooks in UI by @jackwotherspoon in
193
+ [#16250](https://github.com/google-gemini/gemini-cli/pull/16250)
194
+ - Infer modifyOtherKeys support by @scidomino in
195
+ [#16270](https://github.com/google-gemini/gemini-cli/pull/16270)
196
+ - feat(core): Cache ignore instances for performance by @EricRahm in
197
+ [#16185](https://github.com/google-gemini/gemini-cli/pull/16185)
198
+ - feat: apply remote admin settings (no-op) by @skeshive in
199
+ [#16106](https://github.com/google-gemini/gemini-cli/pull/16106)
200
+ - Autogenerate docs/cli/settings.md docs/getting-started/configuration.md was
201
+ already autogenerated but settings.md was not. by @jacob314 in
202
+ [#14408](https://github.com/google-gemini/gemini-cli/pull/14408)
203
+ - refactor(config): remove legacy V1 settings migration logic by @galz10 in
204
+ [#16252](https://github.com/google-gemini/gemini-cli/pull/16252)
205
+ - Fix an issue where the agent stops prematurely by @gundermanc in
206
+ [#16269](https://github.com/google-gemini/gemini-cli/pull/16269)
207
+ - Update system prompt to prefer non-interactive commands by @NTaylorMullen in
208
+ [#16117](https://github.com/google-gemini/gemini-cli/pull/16117)
209
+ - Update ink version to 6.4.7 by @jacob314 in
210
+ [#16284](https://github.com/google-gemini/gemini-cli/pull/16284)
211
+ - Support for Built-in Agent Skills by @NTaylorMullen in
212
+ [#16045](https://github.com/google-gemini/gemini-cli/pull/16045)
213
+ - fix(skills): remove "Restart required" message from non-interactive commands
214
+ by @NTaylorMullen in
215
+ [#16307](https://github.com/google-gemini/gemini-cli/pull/16307)
216
+ - remove unused sessionHookTriggers and exports by @ved015 in
217
+ [#16324](https://github.com/google-gemini/gemini-cli/pull/16324)
218
+ - Triage action cleanup by @bdmorgan in
219
+ [#16319](https://github.com/google-gemini/gemini-cli/pull/16319)
220
+ - fix: Add event-driven trigger to issue triage workflow by @bdmorgan in
221
+ [#16334](https://github.com/google-gemini/gemini-cli/pull/16334)
222
+ - fix(workflows): resolve triage workflow failures and actionlint errors by
223
+ @bdmorgan in [#16338](https://github.com/google-gemini/gemini-cli/pull/16338)
224
+ - docs: add note about experimental hooks by @abhipatel12 in
225
+ [#16337](https://github.com/google-gemini/gemini-cli/pull/16337)
226
+ - feat(cli): implement passive activity logger for session analysis by
227
+ @SandyTao520 in
228
+ [#15829](https://github.com/google-gemini/gemini-cli/pull/15829)
229
+ - feat(cli): add /chat debug command for nightly builds by @abhipatel12 in
230
+ [#16339](https://github.com/google-gemini/gemini-cli/pull/16339)
231
+ - style: format pr-creator skill by @NTaylorMullen in
232
+ [#16381](https://github.com/google-gemini/gemini-cli/pull/16381)
233
+ - feat(cli): Hooks enable-all/disable-all feature with dynamic status by
234
+ @AbdulTawabJuly in
235
+ [#15552](https://github.com/google-gemini/gemini-cli/pull/15552)
236
+ - fix(core): ensure silent local subagent delegation while allowing remote
237
+ confirmation by @adamfweidman in
238
+ [#16395](https://github.com/google-gemini/gemini-cli/pull/16395)
239
+ - Markdown w/ Frontmatter Agent Parser by @sehoon38 in
240
+ [#16094](https://github.com/google-gemini/gemini-cli/pull/16094)
241
+ - Fix crash on unicode character by @chrstnb in
242
+ [#16420](https://github.com/google-gemini/gemini-cli/pull/16420)
243
+ - Attempt to resolve OOM w/ useMemo on history items by @chrstnb in
244
+ [#16424](https://github.com/google-gemini/gemini-cli/pull/16424)
245
+ - fix(core): ensure sub-agent schema and prompt refresh during runtime by
246
+ @adamfweidman in
247
+ [#16409](https://github.com/google-gemini/gemini-cli/pull/16409)
248
+ - Update extension examples by @chrstnb in
249
+ [#16274](https://github.com/google-gemini/gemini-cli/pull/16274)
250
+ - revert the change that was recently added from a fix by @sehoon38 in
251
+ [#16390](https://github.com/google-gemini/gemini-cli/pull/16390)
252
+ - Add other hook wrapper methods to hooksystem by @ved015 in
253
+ [#16361](https://github.com/google-gemini/gemini-cli/pull/16361)
254
+ - feat: introduce useRewindLogic hook for conversation history navigation by
255
+ @Adib234 in [#15716](https://github.com/google-gemini/gemini-cli/pull/15716)
256
+ - docs: Fix formatting issue in memport documentation by @wanglc02 in
257
+ [#14774](https://github.com/google-gemini/gemini-cli/pull/14774)
258
+ - fix(policy): enhance shell command safety and parsing by @allenhutchison in
259
+ [#15034](https://github.com/google-gemini/gemini-cli/pull/15034)
260
+ - fix(core): avoid 'activate_skill' re-registration warning by @NTaylorMullen in
261
+ [#16398](https://github.com/google-gemini/gemini-cli/pull/16398)
262
+ - perf(workflows): optimize PR triage script for faster execution by @bdmorgan
263
+ in [#16355](https://github.com/google-gemini/gemini-cli/pull/16355)
264
+ - feat(admin): prompt user to restart the CLI if they change auth to oauth
265
+ mid-session or don't have auth type selected at start of session by @skeshive
266
+ in [#16426](https://github.com/google-gemini/gemini-cli/pull/16426)
267
+ - Update cli-help agent's system prompt in sub-agents section by @sehoon38 in
268
+ [#16441](https://github.com/google-gemini/gemini-cli/pull/16441)
269
+ - Revert "Update extension examples" by @chrstnb in
270
+ [#16442](https://github.com/google-gemini/gemini-cli/pull/16442)
271
+ - Fix: add back fastreturn support by @scidomino in
272
+ [#16440](https://github.com/google-gemini/gemini-cli/pull/16440)
273
+ - feat(a2a): Introduce /memory command for a2a server by @cocosheng-g in
274
+ [#14456](https://github.com/google-gemini/gemini-cli/pull/14456)
275
+ - docs: fix broken internal link by using relative path by @Gong-Mi in
276
+ [#15371](https://github.com/google-gemini/gemini-cli/pull/15371)
277
+ - migrate yolo/auto-edit keybindings by @scidomino in
278
+ [#16457](https://github.com/google-gemini/gemini-cli/pull/16457)
279
+ - feat(cli): add install and uninstall commands for skills by @NTaylorMullen in
280
+ [#16377](https://github.com/google-gemini/gemini-cli/pull/16377)
281
+ - feat(ui): use Tab to switch focus between shell and input by @jacob314 in
282
+ [#14332](https://github.com/google-gemini/gemini-cli/pull/14332)
283
+ - feat(core): support shipping built-in skills with the CLI by @NTaylorMullen in
284
+ [#16300](https://github.com/google-gemini/gemini-cli/pull/16300)
285
+ - Collect hardware details telemetry. by @gundermanc in
286
+ [#16119](https://github.com/google-gemini/gemini-cli/pull/16119)
287
+ - feat(agents): improve UI feedback and parser reliability by @NTaylorMullen in
288
+ [#16459](https://github.com/google-gemini/gemini-cli/pull/16459)
289
+ - Migrate keybindings by @scidomino in
290
+ [#16460](https://github.com/google-gemini/gemini-cli/pull/16460)
291
+ - feat(cli): cleanup activity logs alongside session files by @SandyTao520 in
292
+ [#16399](https://github.com/google-gemini/gemini-cli/pull/16399)
293
+ - feat(cli): implement dynamic terminal tab titles for CLI status by
294
+ @NTaylorMullen in
295
+ [#16378](https://github.com/google-gemini/gemini-cli/pull/16378)
296
+ - feat(core): add disableLLMCorrection setting to skip auto-correction in edit
297
+ tools by @SandyTao520 in
298
+ [#16000](https://github.com/google-gemini/gemini-cli/pull/16000)
299
+ - fix: Set both tab and window title instead of just window title by
300
+ @NTaylorMullen in
301
+ [#16464](https://github.com/google-gemini/gemini-cli/pull/16464)
302
+ - fix(policy): ensure MCP policies match unqualified names in non-interactive
303
+ mode by @NTaylorMullen in
304
+ [#16490](https://github.com/google-gemini/gemini-cli/pull/16490)
305
+ - fix(cli): refine 'Action Required' indicator and focus hints by @NTaylorMullen
306
+ in [#16497](https://github.com/google-gemini/gemini-cli/pull/16497)
307
+ - Refactor beforeAgent and afterAgent hookEvents to follow desired output by
308
+ @ved015 in [#16495](https://github.com/google-gemini/gemini-cli/pull/16495)
309
+ - feat(agents): clarify mandatory YAML frontmatter for sub-agents by
310
+ @NTaylorMullen in
311
+ [#16515](https://github.com/google-gemini/gemini-cli/pull/16515)
312
+ - docs(telemetry): add Google Cloud Monitoring dashboard documentation by @jerop
313
+ in [#16520](https://github.com/google-gemini/gemini-cli/pull/16520)
314
+ - Implement support for subagents as extensions. by @gundermanc in
315
+ [#16473](https://github.com/google-gemini/gemini-cli/pull/16473)
316
+ - refactor: make baseTimestamp optional in addItem and remove redundant calls by
317
+ @sehoon38 in [#16471](https://github.com/google-gemini/gemini-cli/pull/16471)
318
+ - Improve key binding names and descriptions by @scidomino in
319
+ [#16529](https://github.com/google-gemini/gemini-cli/pull/16529)
320
+ - feat(core, cli): Add support for agents in settings.json. by @joshualitt in
321
+ [#16433](https://github.com/google-gemini/gemini-cli/pull/16433)
322
+ - fix(cli): fix 'gemini skills install' unknown argument error by @NTaylorMullen
323
+ in [#16537](https://github.com/google-gemini/gemini-cli/pull/16537)
324
+ - chore(ui): optimize AgentsStatus layout with dense list style and group
325
+ separation by @adamfweidman in
326
+ [#16545](https://github.com/google-gemini/gemini-cli/pull/16545)
327
+ - fix(cli): allow @ file selector on slash command lines by @galz10 in
328
+ [#16370](https://github.com/google-gemini/gemini-cli/pull/16370)
329
+ - fix(ui): resolve sticky header regression in tool messages by @jacob314 in
330
+ [#16514](https://github.com/google-gemini/gemini-cli/pull/16514)
331
+ - feat(core): Align internal agent settings with configs exposed through
332
+ settings.json by @joshualitt in
333
+ [#16458](https://github.com/google-gemini/gemini-cli/pull/16458)
334
+ - fix(cli): copy uses OSC52 only in SSH/WSL by @assagman in
335
+ [#16554](https://github.com/google-gemini/gemini-cli/pull/16554)
336
+ - docs(skills): clarify skill directory structure and file location by
337
+ @NTaylorMullen in
338
+ [#16532](https://github.com/google-gemini/gemini-cli/pull/16532)
339
+ - Fix: make ctrl+x use preferred editor by @scidomino in
340
+ [#16556](https://github.com/google-gemini/gemini-cli/pull/16556)
341
+ - fix(core): Resolve race condition in tool response reporting by @abhipatel12
342
+ in [#16557](https://github.com/google-gemini/gemini-cli/pull/16557)
343
+ - feat(ui): highlight persist mode status in ModelDialog by @sehoon38 in
344
+ [#16483](https://github.com/google-gemini/gemini-cli/pull/16483)
345
+ - refactor: clean up A2A task output for users and LLMs by @adamfweidman in
346
+ [#16561](https://github.com/google-gemini/gemini-cli/pull/16561)
347
+ - feat(core/ui): enhance retry mechanism and UX by @sehoon38 in
348
+ [#16489](https://github.com/google-gemini/gemini-cli/pull/16489)
349
+ - Modernize MaxSizedBox to use and ResizeObservers by @jacob314 in
350
+ [#16565](https://github.com/google-gemini/gemini-cli/pull/16565)
351
+ - Behavioral evals framework. by @gundermanc in
352
+ [#16047](https://github.com/google-gemini/gemini-cli/pull/16047)
353
+ - Aggregate test results. by @gundermanc in
354
+ [#16581](https://github.com/google-gemini/gemini-cli/pull/16581)
355
+ - feat(admin): support admin-enforced settings for Agent Skills by
356
+ @NTaylorMullen in
357
+ [#16406](https://github.com/google-gemini/gemini-cli/pull/16406)
358
+ - fix(patch): cherry-pick cfdc4cf to release/v0.25.0-preview.0-pr-16759 to patch
359
+ version v0.25.0-preview.0 and create version 0.25.0-preview.1 by
360
+ @gemini-cli-robot in
361
+ [#16866](https://github.com/google-gemini/gemini-cli/pull/16866)
362
+ - Patch #16730 into v0.25.0 preview by @chrstnb in
363
+ [#16882](https://github.com/google-gemini/gemini-cli/pull/16882)
364
+ - fix(patch): cherry-pick 3b55581 to release/v0.25.0-preview.2-pr-16506 to patch
365
+ version v0.25.0-preview.2 and create version 0.25.0-preview.3 by
366
+ @gemini-cli-robot in
367
+ [#17098](https://github.com/google-gemini/gemini-cli/pull/17098)
163
368
 
164
369
  **Full changelog**:
165
- https://github.com/google-gemini/gemini-cli/compare/v0.22.5...v0.23.0
370
+ https://github.com/google-gemini/gemini-cli/compare/v0.24.5...v0.25.0