@google/gemini-cli-core 0.42.0 → 0.44.0-nightly.20260513.g5ee05c775

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 (354) hide show
  1. package/dist/docs/changelogs/index.md +30 -0
  2. package/dist/docs/changelogs/latest.md +261 -166
  3. package/dist/docs/changelogs/preview.md +178 -103
  4. package/dist/docs/cli/auto-memory.md +60 -38
  5. package/dist/docs/cli/settings.md +1 -1
  6. package/dist/docs/cli/tutorials/memory-management.md +1 -1
  7. package/dist/docs/extensions/releasing.md +58 -24
  8. package/dist/docs/reference/configuration.md +14 -1
  9. package/dist/docs/reference/keyboard-shortcuts.md +23 -0
  10. package/dist/google-gemini-cli-core-0.44.0-nightly.20260512.g022e8baef.tgz +0 -0
  11. package/dist/src/agent/content-utils.js +2 -0
  12. package/dist/src/agent/content-utils.js.map +1 -1
  13. package/dist/src/agent/content-utils.test.js +5 -1
  14. package/dist/src/agent/content-utils.test.js.map +1 -1
  15. package/dist/src/agent/event-translator.js +7 -6
  16. package/dist/src/agent/event-translator.js.map +1 -1
  17. package/dist/src/agent/legacy-agent-session.js +4 -0
  18. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  19. package/dist/src/agent/legacy-agent-session.test.js +9 -1
  20. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  21. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  22. package/dist/src/agent/tool-display-utils.js +3 -2
  23. package/dist/src/agent/tool-display-utils.js.map +1 -1
  24. package/dist/src/agent/types.d.ts +33 -3
  25. package/dist/src/agents/a2aUtils.d.ts +1 -1
  26. package/dist/src/agents/a2aUtils.js +4 -3
  27. package/dist/src/agents/a2aUtils.js.map +1 -1
  28. package/dist/src/agents/agentLoader.d.ts +2 -2
  29. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  30. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  31. package/dist/src/agents/local-executor.d.ts +1 -0
  32. package/dist/src/agents/local-executor.js +46 -32
  33. package/dist/src/agents/local-executor.js.map +1 -1
  34. package/dist/src/agents/local-executor.test.js +127 -0
  35. package/dist/src/agents/local-executor.test.js.map +1 -1
  36. package/dist/src/agents/local-invocation.js +24 -20
  37. package/dist/src/agents/local-invocation.js.map +1 -1
  38. package/dist/src/agents/local-invocation.test.js +9 -9
  39. package/dist/src/agents/local-invocation.test.js.map +1 -1
  40. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  41. package/dist/src/agents/local-subagent-protocol.js +357 -0
  42. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  43. package/dist/src/agents/local-subagent-protocol.test.d.ts +6 -0
  44. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  45. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  46. package/dist/src/agents/remote-invocation.js +6 -6
  47. package/dist/src/agents/remote-invocation.js.map +1 -1
  48. package/dist/src/agents/remote-invocation.test.js +23 -12
  49. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  50. package/dist/src/agents/remote-subagent-protocol.d.ts +31 -0
  51. package/dist/src/agents/remote-subagent-protocol.js +330 -0
  52. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  53. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  54. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  55. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  56. package/dist/src/agents/skill-extraction-agent.js +1 -0
  57. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  58. package/dist/src/agents/skill-extraction-agent.test.js +1 -0
  59. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  60. package/dist/src/agents/types.d.ts +13 -2
  61. package/dist/src/agents/types.js +7 -0
  62. package/dist/src/agents/types.js.map +1 -1
  63. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  64. package/dist/src/availability/modelAvailabilityService.js +14 -7
  65. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  66. package/dist/src/availability/modelAvailabilityService.test.js +34 -0
  67. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  68. package/dist/src/availability/policyHelpers.js +24 -12
  69. package/dist/src/availability/policyHelpers.js.map +1 -1
  70. package/dist/src/availability/policyHelpers.test.js +3 -2
  71. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  72. package/dist/src/code_assist/oauth2.js +9 -2
  73. package/dist/src/code_assist/oauth2.js.map +1 -1
  74. package/dist/src/code_assist/setup.d.ts +3 -0
  75. package/dist/src/code_assist/setup.js +9 -0
  76. package/dist/src/code_assist/setup.js.map +1 -1
  77. package/dist/src/code_assist/setup.test.js +9 -1
  78. package/dist/src/code_assist/setup.test.js.map +1 -1
  79. package/dist/src/commands/memory.d.ts +5 -14
  80. package/dist/src/commands/memory.js +19 -141
  81. package/dist/src/commands/memory.js.map +1 -1
  82. package/dist/src/commands/memory.test.js +62 -0
  83. package/dist/src/commands/memory.test.js.map +1 -1
  84. package/dist/src/config/config.d.ts +6 -2
  85. package/dist/src/config/config.js +63 -8
  86. package/dist/src/config/config.js.map +1 -1
  87. package/dist/src/config/config.test.js +48 -0
  88. package/dist/src/config/config.test.js.map +1 -1
  89. package/dist/src/config/defaultModelConfigs.js +13 -0
  90. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  91. package/dist/src/config/models.js +1 -1
  92. package/dist/src/config/models.js.map +1 -1
  93. package/dist/src/config/projectRegistry.d.ts +1 -0
  94. package/dist/src/config/projectRegistry.js +14 -3
  95. package/dist/src/config/projectRegistry.js.map +1 -1
  96. package/dist/src/config/projectRegistry.test.js +43 -0
  97. package/dist/src/config/projectRegistry.test.js.map +1 -1
  98. package/dist/src/context/config/profiles.js +4 -0
  99. package/dist/src/context/config/profiles.js.map +1 -1
  100. package/dist/src/context/contextManager.barrier.test.js +4 -3
  101. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  102. package/dist/src/context/contextManager.d.ts +9 -2
  103. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  104. package/dist/src/context/contextManager.hotstart.test.js +61 -0
  105. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  106. package/dist/src/context/contextManager.js +96 -21
  107. package/dist/src/context/contextManager.js.map +1 -1
  108. package/dist/src/context/eventBus.d.ts +6 -0
  109. package/dist/src/context/eventBus.js +6 -0
  110. package/dist/src/context/eventBus.js.map +1 -1
  111. package/dist/src/context/graph/render.d.ts +3 -1
  112. package/dist/src/context/graph/render.js +33 -9
  113. package/dist/src/context/graph/render.js.map +1 -1
  114. package/dist/src/context/graph/render.test.d.ts +6 -0
  115. package/dist/src/context/graph/render.test.js +203 -0
  116. package/dist/src/context/graph/render.test.js.map +1 -0
  117. package/dist/src/context/graph/toGraph.js +3 -3
  118. package/dist/src/context/graph/toGraph.js.map +1 -1
  119. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  120. package/dist/src/context/graph/toGraph.test.js +35 -0
  121. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  122. package/dist/src/context/initializer.js +11 -2
  123. package/dist/src/context/initializer.js.map +1 -1
  124. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -7
  125. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -29
  126. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  127. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +67 -0
  128. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  129. package/dist/src/context/pipeline/environment.d.ts +4 -0
  130. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  131. package/dist/src/context/pipeline/environmentImpl.js +6 -8
  132. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  133. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  134. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  135. package/dist/src/context/pipeline/orchestrator.d.ts +1 -0
  136. package/dist/src/context/pipeline/orchestrator.js +59 -24
  137. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  138. package/dist/src/context/processors/blobDegradationProcessor.test.js +2 -2
  139. package/dist/src/context/processors/rollingSummaryProcessor.js +2 -15
  140. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  141. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  142. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +33 -21
  143. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  144. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +31 -7
  145. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  146. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  147. package/dist/src/context/processors/stateSnapshotProcessor.js +28 -4
  148. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  149. package/dist/src/context/processors/stateSnapshotProcessor.test.js +40 -1
  150. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  151. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  152. package/dist/src/context/system-tests/hysteresis.test.js +98 -0
  153. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  154. package/dist/src/context/system-tests/lifecycle.golden.test.js +90 -69
  155. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  156. package/dist/src/context/system-tests/simulationHarness.d.ts +1 -4
  157. package/dist/src/context/system-tests/simulationHarness.js +16 -30
  158. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  159. package/dist/src/context/testing/contextTestUtils.d.ts +1 -0
  160. package/dist/src/context/testing/contextTestUtils.js +48 -25
  161. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  162. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +61 -0
  163. package/dist/src/context/utils/adaptiveTokenCalculator.js +116 -0
  164. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  165. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  166. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +85 -0
  167. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  168. package/dist/src/context/utils/contextTokenCalculator.d.ts +47 -1
  169. package/dist/src/context/utils/contextTokenCalculator.js +20 -3
  170. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  171. package/dist/src/context/utils/contextTokenCalculator.test.js +8 -8
  172. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -1
  173. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  174. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  175. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  176. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  177. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  178. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  179. package/dist/src/context/utils/snapshotGenerator.d.ts +23 -1
  180. package/dist/src/context/utils/snapshotGenerator.js +249 -31
  181. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  182. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  183. package/dist/src/context/utils/snapshotGenerator.test.js +255 -0
  184. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  185. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  186. package/dist/src/context/utils/tokenCalibration.js +30 -0
  187. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  188. package/dist/src/core/baseLlmClient.d.ts +8 -0
  189. package/dist/src/core/baseLlmClient.js +20 -2
  190. package/dist/src/core/baseLlmClient.js.map +1 -1
  191. package/dist/src/core/client.js +12 -1
  192. package/dist/src/core/client.js.map +1 -1
  193. package/dist/src/core/client.test.js +4 -4
  194. package/dist/src/core/contentGenerator.js +12 -10
  195. package/dist/src/core/contentGenerator.js.map +1 -1
  196. package/dist/src/core/fakeContentGenerator.js +12 -4
  197. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  198. package/dist/src/core/geminiChat.d.ts +2 -0
  199. package/dist/src/core/geminiChat.js +60 -5
  200. package/dist/src/core/geminiChat.js.map +1 -1
  201. package/dist/src/core/geminiChat.test.js +195 -2
  202. package/dist/src/core/geminiChat.test.js.map +1 -1
  203. package/dist/src/core/localLiteRtLmClient.js +6 -2
  204. package/dist/src/core/localLiteRtLmClient.js.map +1 -1
  205. package/dist/src/core/turn.js +30 -2
  206. package/dist/src/core/turn.js.map +1 -1
  207. package/dist/src/core/turn.test.js +13 -8
  208. package/dist/src/core/turn.test.js.map +1 -1
  209. package/dist/src/generated/git-commit.d.ts +2 -2
  210. package/dist/src/generated/git-commit.js +2 -2
  211. package/dist/src/generated/git-commit.js.map +1 -1
  212. package/dist/src/hooks/hookEventHandler.js +3 -2
  213. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  214. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  215. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  216. package/dist/src/ide/ide-client.js +5 -3
  217. package/dist/src/ide/ide-client.js.map +1 -1
  218. package/dist/src/ide/ide-connection-utils.js +12 -10
  219. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  220. package/dist/src/index.d.ts +2 -1
  221. package/dist/src/index.js +2 -2
  222. package/dist/src/index.js.map +1 -1
  223. package/dist/src/prompts/snippets.js +1 -1
  224. package/dist/src/prompts/snippets.js.map +1 -1
  225. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  226. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  227. package/dist/src/routing/strategies/approvalModeStrategy.test.js +2 -0
  228. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  229. package/dist/src/routing/strategies/classifierStrategy.js +8 -1
  230. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  231. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -0
  232. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  233. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  234. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  235. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +4 -0
  236. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  237. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  238. package/dist/src/routing/strategies/numericalClassifierStrategy.js +22 -3
  239. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  240. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +168 -23
  241. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  242. package/dist/src/scheduler/scheduler.js +11 -0
  243. package/dist/src/scheduler/scheduler.js.map +1 -1
  244. package/dist/src/scheduler/scheduler.test.js +1 -1
  245. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  246. package/dist/src/scheduler/state-manager.js +5 -1
  247. package/dist/src/scheduler/state-manager.js.map +1 -1
  248. package/dist/src/scheduler/tool-executor.js +7 -4
  249. package/dist/src/scheduler/tool-executor.js.map +1 -1
  250. package/dist/src/scheduler/types.d.ts +5 -1
  251. package/dist/src/scheduler/types.js.map +1 -1
  252. package/dist/src/services/fileDiscoveryService.js +2 -1
  253. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  254. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  255. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  256. package/dist/src/services/gitService.js +8 -1
  257. package/dist/src/services/gitService.js.map +1 -1
  258. package/dist/src/services/gitService.test.js +104 -0
  259. package/dist/src/services/gitService.test.js.map +1 -1
  260. package/dist/src/services/keychainService.js +14 -5
  261. package/dist/src/services/keychainService.js.map +1 -1
  262. package/dist/src/services/memoryPatchUtils.d.ts +66 -4
  263. package/dist/src/services/memoryPatchUtils.js +267 -5
  264. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  265. package/dist/src/services/memoryService.js +25 -1
  266. package/dist/src/services/memoryService.js.map +1 -1
  267. package/dist/src/services/memoryService.test.js +61 -1
  268. package/dist/src/services/memoryService.test.js.map +1 -1
  269. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +11 -0
  270. package/dist/src/services/test-data/resolved-aliases.golden.json +11 -0
  271. package/dist/src/telemetry/gcp-exporters.d.ts +2 -0
  272. package/dist/src/telemetry/gcp-exporters.js +69 -5
  273. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  274. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  275. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  276. package/dist/src/telemetry/metrics.js +13 -2
  277. package/dist/src/telemetry/metrics.js.map +1 -1
  278. package/dist/src/telemetry/metrics.test.js +61 -1
  279. package/dist/src/telemetry/metrics.test.js.map +1 -1
  280. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +5 -2
  281. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  282. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +7 -4
  283. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  284. package/dist/src/tools/edit.js +19 -0
  285. package/dist/src/tools/edit.js.map +1 -1
  286. package/dist/src/tools/edit.test.js +9 -0
  287. package/dist/src/tools/edit.test.js.map +1 -1
  288. package/dist/src/tools/grep.js +13 -1
  289. package/dist/src/tools/grep.js.map +1 -1
  290. package/dist/src/tools/ls.js +5 -0
  291. package/dist/src/tools/ls.js.map +1 -1
  292. package/dist/src/tools/mcp-client.js +17 -3
  293. package/dist/src/tools/mcp-client.js.map +1 -1
  294. package/dist/src/tools/mcp-client.test.js +24 -0
  295. package/dist/src/tools/mcp-client.test.js.map +1 -1
  296. package/dist/src/tools/read-file.js +11 -6
  297. package/dist/src/tools/read-file.js.map +1 -1
  298. package/dist/src/tools/read-file.test.js +20 -8
  299. package/dist/src/tools/read-file.test.js.map +1 -1
  300. package/dist/src/tools/ripGrep.js +13 -1
  301. package/dist/src/tools/ripGrep.js.map +1 -1
  302. package/dist/src/tools/shell.js +14 -0
  303. package/dist/src/tools/shell.js.map +1 -1
  304. package/dist/src/tools/shell.test.js +5 -0
  305. package/dist/src/tools/shell.test.js.map +1 -1
  306. package/dist/src/tools/tools.d.ts +6 -0
  307. package/dist/src/tools/tools.js.map +1 -1
  308. package/dist/src/tools/topicTool.js +5 -0
  309. package/dist/src/tools/topicTool.js.map +1 -1
  310. package/dist/src/tools/write-file.js +13 -0
  311. package/dist/src/tools/write-file.js.map +1 -1
  312. package/dist/src/tools/write-file.test.js +8 -0
  313. package/dist/src/tools/write-file.test.js.map +1 -1
  314. package/dist/src/utils/errors.js +3 -8
  315. package/dist/src/utils/errors.js.map +1 -1
  316. package/dist/src/utils/filesearch/fileSearch.js +20 -9
  317. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  318. package/dist/src/utils/filesearch/ignore.js +4 -1
  319. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  320. package/dist/src/utils/ignoreFileParser.js +1 -1
  321. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  322. package/dist/src/utils/ignorePatterns.js +2 -0
  323. package/dist/src/utils/ignorePatterns.js.map +1 -1
  324. package/dist/src/utils/ignorePatterns.test.js +1 -0
  325. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  326. package/dist/src/utils/memoryDiscovery.js +55 -40
  327. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  328. package/dist/src/utils/memoryDiscovery.test.js +77 -9
  329. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  330. package/dist/src/utils/modelUtils.d.ts +14 -0
  331. package/dist/src/utils/modelUtils.js +17 -0
  332. package/dist/src/utils/modelUtils.js.map +1 -0
  333. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  334. package/dist/src/utils/modelUtils.test.js +23 -0
  335. package/dist/src/utils/modelUtils.test.js.map +1 -0
  336. package/dist/src/utils/paths.d.ts +15 -1
  337. package/dist/src/utils/paths.js +22 -7
  338. package/dist/src/utils/paths.js.map +1 -1
  339. package/dist/src/utils/paths.test.js +25 -1
  340. package/dist/src/utils/paths.test.js.map +1 -1
  341. package/dist/src/utils/quotaErrorDetection.js +23 -12
  342. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  343. package/dist/src/utils/safeJsonStringify.js +0 -2
  344. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  345. package/dist/src/utils/shell-utils.js +9 -1
  346. package/dist/src/utils/shell-utils.js.map +1 -1
  347. package/dist/src/utils/shell-utils.test.js +7 -3
  348. package/dist/src/utils/shell-utils.test.js.map +1 -1
  349. package/dist/src/utils/tokenCalculation.js +2 -1
  350. package/dist/src/utils/tokenCalculation.js.map +1 -1
  351. package/dist/src/utils/tokenCalculation.test.js +15 -0
  352. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  353. package/dist/tsconfig.tsbuildinfo +1 -1
  354. package/package.json +1 -1
@@ -18,6 +18,36 @@ on GitHub.
18
18
  | [Preview](preview.md) | Experimental features ready for early feedback. |
19
19
  | [Stable](latest.md) | Stable, recommended for general use. |
20
20
 
21
+ ## Announcements: v0.42.0 - 2026-05-12
22
+
23
+ - **Auto Memory Inbox:** Introduced a new inbox flow for Auto Memory with a
24
+ canonical-patch contract for seamless skill management
25
+ ([#26338](https://github.com/google-gemini/gemini-cli/pull/26338) by
26
+ @SandyTao520).
27
+ - **Gemma 4 by Default:** Enabled Gemma 4 models by default via the Gemini API
28
+ for all users
29
+ ([#26307](https://github.com/google-gemini/gemini-cli/pull/26307) by
30
+ @Abhijit-2592).
31
+ - **Voice Mode Enhancements:** Added wave animations and privacy/compliance UX
32
+ warnings for the Gemini Live backend
33
+ ([#26284](https://github.com/google-gemini/gemini-cli/pull/26284) by
34
+ @devr0306, [#26454](https://github.com/google-gemini/gemini-cli/pull/26454) by
35
+ @cocosheng-g).
36
+
37
+ ## Announcements: v0.41.0 - 2026-05-05
38
+
39
+ - **Real-time Voice Mode:** Implemented real-time voice mode with cloud and
40
+ local backends
41
+ ([#24174](https://github.com/google-gemini/gemini-cli/pull/24174) by
42
+ @Abhijit-2592).
43
+ - **Secure Environment Loading:** Enforced workspace trust and secured .env
44
+ loading in headless mode
45
+ ([#25814](https://github.com/google-gemini/gemini-cli/pull/25814) by
46
+ @ehedlund).
47
+ - **Advanced Shell Validation:** Enhanced shell command validation and added
48
+ core tools allowlist for improved security
49
+ ([#25720](https://github.com/google-gemini/gemini-cli/pull/25720) by @galz10).
50
+
21
51
  ## Announcements: v0.40.0 - 2026-04-28
22
52
 
23
53
  - **Offline Search and Themes:** Bundled ripgrep for offline search support and
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.40.0
1
+ # Latest stable release: v0.42.0
2
2
 
3
- Released: April 28, 2026
3
+ Released: May 12, 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,177 +11,272 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Offline Search Support:** Bundled ripgrep binaries into the Single
15
- Executable Application (SEA) to enable powerful codebase searching even in
16
- environments without internet access.
17
- - **Enhanced Theme Customization:** Introduced GitHub-style colorblind-friendly
18
- themes to improve accessibility and provide more personalized visual options.
19
- - **MCP Resource Management:** Added new tools for listing and reading Model
20
- Context Protocol (MCP) resources, enhancing the agent's ability to discover
21
- and utilize external data.
22
- - **Improved Narrative Flow:** Enabled topic update narrations by default to
23
- provide better session structure and a clearer understanding of the agent's
24
- current focus.
25
- - **Streamlined Local Model Setup:** Introduced a simplified `gemini gemma`
26
- command for quickly setting up and running Gemma models locally.
27
- - **Prompt-Driven Memory Management:** Replaced the legacy `MemoryManagerAgent`
28
- with a more efficient prompt-driven memory editing system across four tiers of
29
- context.
14
+ - **Auto Memory Inbox:** Introduced a new inbox flow for Auto Memory using a
15
+ canonical-patch contract, enabling more robust and manageable skill
16
+ extraction.
17
+ - **Gemma 4 Default:** Gemma 4 models are now enabled by default via the Gemini
18
+ API, providing improved performance and capabilities out of the box.
19
+ - **Voice Mode Polish:** Added wave animations for visual feedback and
20
+ privacy/compliance UX warnings specifically for the Gemini Live backend.
21
+ - **Session Management:** Added a `--delete` flag to the `/exit` command for
22
+ instant session deletion and introduced `/bug-memory` for easier heap
23
+ diagnostics.
24
+ - **Improved Reliability:** Reduced default API timeouts to 60s and implemented
25
+ retries for undici and premature stream closure errors.
30
26
 
31
27
  ## What's Changed
32
28
 
33
- - chore(release): bump version to 0.40.0-nightly.20260414.g5b1f7375a by
29
+ - fix(cli): prevent automatic updates from switching to less stable channels by
30
+ @Adib234 in [#26132](https://github.com/google-gemini/gemini-cli/pull/26132)
31
+ - chore(release): bump version to 0.42.0-nightly.20260428.g59b2dea0e by
34
32
  @gemini-cli-robot in
35
- [#25420](https://github.com/google-gemini/gemini-cli/pull/25420)
36
- - Fix(core): retry additional OpenSSL 3.x SSL errors during streaming (#16075)
37
- by @rcleveng in
38
- [#25187](https://github.com/google-gemini/gemini-cli/pull/25187)
39
- - fix(core): prevent YOLO mode from being downgraded by @galz10 in
40
- [#25341](https://github.com/google-gemini/gemini-cli/pull/25341)
41
- - feat: bundle ripgrep binaries into SEA for offline support by @scidomino in
42
- [#25342](https://github.com/google-gemini/gemini-cli/pull/25342)
43
- - Changelog for v0.39.0-preview.0 by @gemini-cli-robot in
44
- [#25417](https://github.com/google-gemini/gemini-cli/pull/25417)
45
- - feat(test): add large conversation scenario for performance test by
46
- @cynthialong0-0 in
47
- [#25331](https://github.com/google-gemini/gemini-cli/pull/25331)
48
- - improve(core): require recurrence evidence before extracting skills by
49
- @SandyTao520 in
50
- [#25147](https://github.com/google-gemini/gemini-cli/pull/25147)
51
- - test(evals): add subagent delegation evaluation tests by @anj-s in
52
- [#24619](https://github.com/google-gemini/gemini-cli/pull/24619)
53
- - feat: add github colorblind themes by @Z1xus in
54
- [#15504](https://github.com/google-gemini/gemini-cli/pull/15504)
55
- - fix(core): honor GOOGLE_GEMINI_BASE_URL and GOOGLE_VERTEX_BASE_URL by
56
- @chrisjcthomas in
57
- [#25357](https://github.com/google-gemini/gemini-cli/pull/25357)
58
- - fix(cli): clean up slash command IDE listeners by @jasonmatthewsuhari in
59
- [#24397](https://github.com/google-gemini/gemini-cli/pull/24397)
60
- - Changelog for v0.38.0 by @gemini-cli-robot in
61
- [#25470](https://github.com/google-gemini/gemini-cli/pull/25470)
62
- - fix(evals): update eval tests for invoke_agent telemetry and project-scoped
63
- memory by @SandyTao520 in
64
- [#25502](https://github.com/google-gemini/gemini-cli/pull/25502)
65
- - Changelog for v0.38.1 by @gemini-cli-robot in
66
- [#25476](https://github.com/google-gemini/gemini-cli/pull/25476)
67
- - feat(core): integrate skill-creator into skill extraction agent by
68
- @SandyTao520 in
69
- [#25421](https://github.com/google-gemini/gemini-cli/pull/25421)
70
- - feat(cli): provide default post-submit prompt for skill command by @ruomengz
71
- in [#25327](https://github.com/google-gemini/gemini-cli/pull/25327)
72
- - feat(core): add tools to list and read MCP resources by @ruomengz in
73
- [#25395](https://github.com/google-gemini/gemini-cli/pull/25395)
74
- - fix(evals): add typecheck coverage for evals, integration-tests, and
75
- memory-tests by @SandyTao520 in
76
- [#25480](https://github.com/google-gemini/gemini-cli/pull/25480)
77
- - Use OSC 777 for terminal notifications by @jackyliuxx in
78
- [#25300](https://github.com/google-gemini/gemini-cli/pull/25300)
79
- - fix(extensions): fix bundling for examples by @abhipatel12 in
80
- [#25542](https://github.com/google-gemini/gemini-cli/pull/25542)
81
- - fix(cli): reset plan session state on /clear by @jasonmatthewsuhari in
82
- [#25515](https://github.com/google-gemini/gemini-cli/pull/25515)
83
- - feat(core): add .mdx support to get-internal-docs tool by @g-samroberts in
84
- [#25090](https://github.com/google-gemini/gemini-cli/pull/25090)
85
- - docs(policy): mention that workspace policies are broken by @6112 in
86
- [#24367](https://github.com/google-gemini/gemini-cli/pull/24367)
87
- - fix(core): allow explicit write permissions to override governance file
88
- protections in sandboxes by @galz10 in
89
- [#25338](https://github.com/google-gemini/gemini-cli/pull/25338)
90
- - feat(sandbox): resolve custom seatbelt profiles from $HOME/.gemini first by
91
- @mvanhorn in [#25427](https://github.com/google-gemini/gemini-cli/pull/25427)
92
- - Reduce blank lines. by @gundermanc in
93
- [#25563](https://github.com/google-gemini/gemini-cli/pull/25563)
94
- - fix(ui): revert preview theme on dialog unmount by @JayadityaGit in
95
- [#22542](https://github.com/google-gemini/gemini-cli/pull/22542)
96
- - fix(core): fix ShellExecutionConfig spread and add ProjectRegistry save
97
- backoff by @mahimashanware in
98
- [#25382](https://github.com/google-gemini/gemini-cli/pull/25382)
99
- - feat(core): Disable topic updates for subagents by @gundermanc in
100
- [#25567](https://github.com/google-gemini/gemini-cli/pull/25567)
101
- - feat(core): enable topic update narration by default and promote to general by
102
- @gundermanc in
103
- [#25586](https://github.com/google-gemini/gemini-cli/pull/25586)
104
- - docs: migrate installation and authentication to mdx with tabbed layouts by
105
- @g-samroberts in
106
- [#25155](https://github.com/google-gemini/gemini-cli/pull/25155)
107
- - feat(config): split memoryManager flag into autoMemory by @SandyTao520 in
108
- [#25601](https://github.com/google-gemini/gemini-cli/pull/25601)
109
- - fix(core): allow Cloud Shell users to use PRO_MODEL_NO_ACCESS experiment by
110
- @sehoon38 in [#25702](https://github.com/google-gemini/gemini-cli/pull/25702)
111
- - fix(cli): round slow render latency to avoid opentelemetry float warning by
112
- @scidomino in [#25709](https://github.com/google-gemini/gemini-cli/pull/25709)
113
- - docs(tracker): introduce experimental task tracker feature by @anj-s in
114
- [#24556](https://github.com/google-gemini/gemini-cli/pull/24556)
115
- - docs(cli): fix inconsistent system.md casing in system prompt docs by @Bodlux
116
- in [#25414](https://github.com/google-gemini/gemini-cli/pull/25414)
117
- - feat(cli): add streamlined `gemini gemma` local model setup by @Samee24 in
118
- [#25498](https://github.com/google-gemini/gemini-cli/pull/25498)
119
- - Changelog for v0.38.2 by @gemini-cli-robot in
120
- [#25593](https://github.com/google-gemini/gemini-cli/pull/25593)
121
- - Fix: Disallow overriding IDE stdio via workspace .env (RCE) by @M0nd0R in
122
- [#25022](https://github.com/google-gemini/gemini-cli/pull/25022)
123
- - feat(test): refactor the memory usage test to use metrics from CLI process
124
- instead of test runner by @cynthialong0-0 in
125
- [#25708](https://github.com/google-gemini/gemini-cli/pull/25708)
126
- - feat(vertex): add settings for Vertex AI request routing by @gordonhwc in
127
- [#25513](https://github.com/google-gemini/gemini-cli/pull/25513)
128
- - Fix/allow for session persistence by @ahsanfarooq210 in
129
- [#25176](https://github.com/google-gemini/gemini-cli/pull/25176)
130
- - Allow dots on GEMINI_API_KEY by @DKbyo in
131
- [#25497](https://github.com/google-gemini/gemini-cli/pull/25497)
132
- - feat(telemetry): add flag for enabling traces specifically by @spencer426 in
133
- [#25343](https://github.com/google-gemini/gemini-cli/pull/25343)
134
- - fix(core): resolve nested plan directory duplication and relative path
135
- policies by @mahimashanware in
136
- [#25138](https://github.com/google-gemini/gemini-cli/pull/25138)
137
- - feat: detect new files in @ recommendations with watcher based updates by
138
- @prassamin in [#25256](https://github.com/google-gemini/gemini-cli/pull/25256)
139
- - fix(cli): use newline in shell command wrapping to avoid breaking heredocs by
33
+ [#26142](https://github.com/google-gemini/gemini-cli/pull/26142)
34
+ - fix(cli): pass node arguments via NODE_OPTIONS during relaunch to support SEA
35
+ by @cocosheng-g in
36
+ [#26130](https://github.com/google-gemini/gemini-cli/pull/26130)
37
+ - fix(cli): handle DECKPAM keypad Enter sequences in terminal by @Gitanaskhan26
38
+ in [#26092](https://github.com/google-gemini/gemini-cli/pull/26092)
39
+ - docs(cli): point plan-mode session retention to actual /settings labels by
40
+ @ifitisit in [#25978](https://github.com/google-gemini/gemini-cli/pull/25978)
41
+ - fix(core): add missing oauth fields support in subagent parsing by
42
+ @abhipatel12 in
43
+ [#26141](https://github.com/google-gemini/gemini-cli/pull/26141)
44
+ - fix(core): disconnect extension-backed MCP clients in stopExtension by
140
45
  @cocosheng-g in
141
- [#25537](https://github.com/google-gemini/gemini-cli/pull/25537)
142
- - fix(cli): ensure theme dialog labels are rendered for all themes by
143
- @JayadityaGit in
144
- [#24599](https://github.com/google-gemini/gemini-cli/pull/24599)
145
- - fix(core): disable detached mode in Bun to prevent immediate SIGHUP of child
146
- processes by @euxaristia in
147
- [#22620](https://github.com/google-gemini/gemini-cli/pull/22620)
148
- - feat: add /new as alias for /clear and refine command description by @ved015
149
- in [#17865](https://github.com/google-gemini/gemini-cli/pull/17865)
150
- - fix(cli): start auto memory in ACP sessions by @jasonmatthewsuhari in
151
- [#25626](https://github.com/google-gemini/gemini-cli/pull/25626)
152
- - fix(core): remove duplicate initialize call on agents refreshed by
46
+ [#26136](https://github.com/google-gemini/gemini-cli/pull/26136)
47
+ - Update documentation workflows with workspace trust by @g-samroberts in
48
+ [#26150](https://github.com/google-gemini/gemini-cli/pull/26150)
49
+ - refactor(acp): modularize monolithic acpClient into specialized files by
50
+ @sripasg in [#26143](https://github.com/google-gemini/gemini-cli/pull/26143)
51
+ - test: fix failures due to antigravity environment leakage by @adamfweidman in
52
+ [#26162](https://github.com/google-gemini/gemini-cli/pull/26162)
53
+ - fix(core): add explicit empty log guard in A2A pushMessage by @adamfweidman in
54
+ [#26198](https://github.com/google-gemini/gemini-cli/pull/26198)
55
+ - feat(cli): add --delete flag to /exit command for session deletion by
56
+ @AbdulTawabJuly in
57
+ [#19332](https://github.com/google-gemini/gemini-cli/pull/19332)
58
+ - test(core): add regression test for issue for ToolConfirmationResponse by
59
+ @Adib234 in [#26194](https://github.com/google-gemini/gemini-cli/pull/26194)
60
+ - Add the ability to @ mention the gemini robot. by @gundermanc in
61
+ [#26207](https://github.com/google-gemini/gemini-cli/pull/26207)
62
+ - test(evals): add EvalMetadata JSDoc annotations to older tests by @akh64bit in
63
+ [#26147](https://github.com/google-gemini/gemini-cli/pull/26147)
64
+ - fix(core): reduce default API timeout to 60s and enable retries for undici
65
+ timeouts by @Adib234 in
66
+ [#26191](https://github.com/google-gemini/gemini-cli/pull/26191)
67
+ - fix(core): distinguish fallback chains and fix maxAttempts for auto vs
68
+ explicit model selection by @adamfweidman in
69
+ [#26163](https://github.com/google-gemini/gemini-cli/pull/26163)
70
+ - fix(cli): handle InvalidStream event gracefully without throwing by
153
71
  @adamfweidman in
154
- [#25670](https://github.com/google-gemini/gemini-cli/pull/25670)
155
- - test(e2e): default integration tests to Flash Preview by @SandyTao520 in
156
- [#25753](https://github.com/google-gemini/gemini-cli/pull/25753)
157
- - refactor(memory): replace MemoryManagerAgent with prompt-driven memory editing
158
- across four tiers by @SandyTao520 in
159
- [#25716](https://github.com/google-gemini/gemini-cli/pull/25716)
160
- - fix(cli): fix "/clear (new)" command by @mini2s in
161
- [#25801](https://github.com/google-gemini/gemini-cli/pull/25801)
162
- - fix(core): use dynamic CLI version for IDE client instead of hardcoded '1.0.0'
163
- by @thekishandev in
164
- [#24414](https://github.com/google-gemini/gemini-cli/pull/24414)
165
- - fix(core): handle line endings in ignore file parsing by @xoma-zver in
166
- [#23895](https://github.com/google-gemini/gemini-cli/pull/23895)
167
- - Fix/command injection shell by @Famous077 in
168
- [#24170](https://github.com/google-gemini/gemini-cli/pull/24170)
169
- - fix(ui): removed background color for input by @devr0306 in
170
- [#25339](https://github.com/google-gemini/gemini-cli/pull/25339)
171
- - fix(devtools): reduce memory usage and defer connection by @SandyTao520 in
172
- [#24496](https://github.com/google-gemini/gemini-cli/pull/24496)
173
- - fix(core): support jsonl session logs in memory and summary services by
72
+ [#26218](https://github.com/google-gemini/gemini-cli/pull/26218)
73
+ - ci(github-actions): switch to github app token and fix bot self-trigger by
74
+ @gundermanc in
75
+ [#26223](https://github.com/google-gemini/gemini-cli/pull/26223)
76
+ - Respect logPrompts flag for logging sensitive fields by @lp-peg in
77
+ [#26153](https://github.com/google-gemini/gemini-cli/pull/26153)
78
+ - fix: correct API key validation logic in handleApiKeySubmit by
79
+ @martin-hsu-test in
80
+ [#25453](https://github.com/google-gemini/gemini-cli/pull/25453)
81
+ - fix(agent): prevent exit_plan_mode from being called via shell by
82
+ @Abhijit-2592 in
83
+ [#26230](https://github.com/google-gemini/gemini-cli/pull/26230)
84
+ - # Fix: Inconsistent Case-Sensitivity in GrepTool by @.github/workflows/gemini-cli-bot-pulse.yml[bot] in [#26235](https://github.com/google-gemini/gemini-cli/pull/26235)
85
+ - docs(core): add automated gemma setup guide by @Samee24 in
86
+ [#26233](https://github.com/google-gemini/gemini-cli/pull/26233)
87
+ - Allow non-https proxy urls to support container environments by @stevemk14ebr
88
+ in [#26234](https://github.com/google-gemini/gemini-cli/pull/26234)
89
+ - fix(bot): productivity and backlog optimizations by @gundermanc in
90
+ [#26236](https://github.com/google-gemini/gemini-cli/pull/26236)
91
+ - refactor(acp): delegate prompt turn processing logic to GeminiClient by
92
+ @sripasg in [#26222](https://github.com/google-gemini/gemini-cli/pull/26222)
93
+ - fix(cli): refine platform-specific undo/redo and smart bubbling for WSL by
94
+ @cocosheng-g in
95
+ [#26202](https://github.com/google-gemini/gemini-cli/pull/26202)
96
+ - fix: suppress duplicate extension warnings during startup by @cocosheng-g in
97
+ [#26208](https://github.com/google-gemini/gemini-cli/pull/26208)
98
+ - fix(cli): use byte length instead of string length for readStdin size limits
99
+ by @Adib234 in
100
+ [#26224](https://github.com/google-gemini/gemini-cli/pull/26224)
101
+ - fix(ui): made shell tool header wrap on Ctrl+O by @devr0306 in
102
+ [#26229](https://github.com/google-gemini/gemini-cli/pull/26229)
103
+ - Changelog for v0.41.0-preview.0 by @gemini-cli-robot in
104
+ [#26244](https://github.com/google-gemini/gemini-cli/pull/26244)
105
+ - Skip binary CLI relaunch by @ruomengz in
106
+ [#26261](https://github.com/google-gemini/gemini-cli/pull/26261)
107
+ - fix(cli): do not override GOOGLE_CLOUD_PROJECT in Cloud Shell when using
108
+ Vertex AI by @jackwotherspoon in
109
+ [#24455](https://github.com/google-gemini/gemini-cli/pull/24455)
110
+ - docs(cli): add skill discovery troubleshooting checklist to tutorial by
111
+ @pmenic in [#26018](https://github.com/google-gemini/gemini-cli/pull/26018)
112
+ - docs(policy-engine): link to tools reference for tool names and args by
113
+ @Aaxhirrr in [#22081](https://github.com/google-gemini/gemini-cli/pull/22081)
114
+ - Fix posting invalid response to a comment by @gundermanc in
115
+ [#26266](https://github.com/google-gemini/gemini-cli/pull/26266)
116
+ - fix(cli): prevent informational logs from polluting json output by
117
+ @cocosheng-g in
118
+ [#26264](https://github.com/google-gemini/gemini-cli/pull/26264)
119
+ - feat(ui): added microphone and updated placeholder for voice mode by @devr0306
120
+ in [#26270](https://github.com/google-gemini/gemini-cli/pull/26270)
121
+ - feat(cli): Add 'list' subcommand to '/commands' by @Jwhyee in
122
+ [#22324](https://github.com/google-gemini/gemini-cli/pull/22324)
123
+ - fix(core): ensure tool output cleanup on session deletion for legacy files by
124
+ @cocosheng-g in
125
+ [#26263](https://github.com/google-gemini/gemini-cli/pull/26263)
126
+ - Docs: Update Agent Skills documentation by @jkcinouye in
127
+ [#22388](https://github.com/google-gemini/gemini-cli/pull/22388)
128
+ - test(acp): add missing coverage for extensions command error paths by
129
+ @sahilkirad in
130
+ [#25313](https://github.com/google-gemini/gemini-cli/pull/25313)
131
+ - Changelog for v0.40.0 by @gemini-cli-robot in
132
+ [#26245](https://github.com/google-gemini/gemini-cli/pull/26245)
133
+ - fix: report AgentExecutionBlocked in non-interactive programmatic modes by
134
+ @cocosheng-g in
135
+ [#26262](https://github.com/google-gemini/gemini-cli/pull/26262)
136
+ - feat(extensions): add 'delete' as an alias for /extensions uninstall by
137
+ @martin-hsu-test in
138
+ [#25660](https://github.com/google-gemini/gemini-cli/pull/25660)
139
+ - fix(core): silently skip GEMINI.md paths that are directories (EISDIR) by
140
+ @martin-hsu-test in
141
+ [#25662](https://github.com/google-gemini/gemini-cli/pull/25662)
142
+ - fix(ci): checkout PR branch instead of main in bot workflow by @gundermanc in
143
+ [#26289](https://github.com/google-gemini/gemini-cli/pull/26289)
144
+ - fix(cli): use resolved sandbox state for auto-update check by @Adib234 in
145
+ [#26285](https://github.com/google-gemini/gemini-cli/pull/26285)
146
+ - # Metrics Integrity & Standardized Reporting (BT-01) by @.github/workflows/gemini-cli-bot-pulse.yml[bot] in [#26240](https://github.com/google-gemini/gemini-cli/pull/26240)
147
+ - Add Star History section to README by @bdmorgan in
148
+ [#26290](https://github.com/google-gemini/gemini-cli/pull/26290)
149
+ - Add Star History section to README by @bdmorgan in
150
+ [#26308](https://github.com/google-gemini/gemini-cli/pull/26308)
151
+ - Remove Star History section from README by @bdmorgan in
152
+ [#26309](https://github.com/google-gemini/gemini-cli/pull/26309)
153
+ - test(evals): add behavioral eval for file creation and write_file tool
154
+ selection by @akh64bit in
155
+ [#26292](https://github.com/google-gemini/gemini-cli/pull/26292)
156
+ - feat(config): enable Gemma 4 models by default via Gemini API by @Abhijit-2592
157
+ in [#26307](https://github.com/google-gemini/gemini-cli/pull/26307)
158
+ - fix(cli): insert voice transcription at cursor position instead of ap… by
159
+ @Zheyuan-Lin in
160
+ [#26287](https://github.com/google-gemini/gemini-cli/pull/26287)
161
+ - fix(ui): fix issue with box edges by @gundermanc in
162
+ [#26148](https://github.com/google-gemini/gemini-cli/pull/26148)
163
+ - fix(cli): respect .env override for GOOGLE_CLOUD_PROJECT by @DavidAPierce in
164
+ [#26288](https://github.com/google-gemini/gemini-cli/pull/26288)
165
+ - fix(ci): robust version checking in release verification by @scidomino in
166
+ [#26337](https://github.com/google-gemini/gemini-cli/pull/26337)
167
+ - fix(cli): enable daemon relaunch in binary and bundle keytar by @ruomengz in
168
+ [#26333](https://github.com/google-gemini/gemini-cli/pull/26333)
169
+ - fix(core): discourage unprompted git add . in prompt snippets by @akh64bit in
170
+ [#26220](https://github.com/google-gemini/gemini-cli/pull/26220)
171
+ - feat(ui): added wave animation for voice mode by @devr0306 in
172
+ [#26284](https://github.com/google-gemini/gemini-cli/pull/26284)
173
+ - fix(cli): prevent Escape from clearing input buffer (#17083) by @cocosheng-g
174
+ in [#26339](https://github.com/google-gemini/gemini-cli/pull/26339)
175
+ - fix(cli): undeprecate --prompt and correct positional query docs by @Adib234
176
+ in [#26329](https://github.com/google-gemini/gemini-cli/pull/26329)
177
+ - Metrics updates by @.github/workflows/gemini-cli-bot-pulse.yml[bot] in
178
+ [#26348](https://github.com/google-gemini/gemini-cli/pull/26348)
179
+ - fix(core): remove "System: Please continue." injection on InvalidStream events
180
+ by @SandyTao520 in
181
+ [#26340](https://github.com/google-gemini/gemini-cli/pull/26340)
182
+ - docs(policy-engine): add tool argument keys reference and shell policy
183
+ cross-links by @harshpujari in
184
+ [#25292](https://github.com/google-gemini/gemini-cli/pull/25292)
185
+ - fix(cli): resolve Ghostty/raw-mode False Cancellation in oauth flow by
186
+ @Aarchi-07 in [#25026](https://github.com/google-gemini/gemini-cli/pull/25026)
187
+ - fix(core): reset session-scoped state on resumption by @cocosheng-g in
188
+ [#26342](https://github.com/google-gemini/gemini-cli/pull/26342)
189
+ - Fix bulk of remaining issues with generalist profile by @joshualitt in
190
+ [#26073](https://github.com/google-gemini/gemini-cli/pull/26073)
191
+ - fix(core): make subagents aware of active approval modes by @akh64bit in
192
+ [#23608](https://github.com/google-gemini/gemini-cli/pull/23608)
193
+ - fix(acp): resolve agent mode disconnect and improve mode awareness by @sripasg
194
+ in [#26332](https://github.com/google-gemini/gemini-cli/pull/26332)
195
+ - docs(sdk): add JSDoc to exported interfaces in packages/sdk/src/types.ts by
196
+ @cocosheng-g in
197
+ [#26441](https://github.com/google-gemini/gemini-cli/pull/26441)
198
+ - perf: skip redundant GEMINI.md loading in partialConfig by @cocosheng-g in
199
+ [#26443](https://github.com/google-gemini/gemini-cli/pull/26443)
200
+ - Enhance React guidelines by @psinha40898 in
201
+ [#22667](https://github.com/google-gemini/gemini-cli/pull/22667)
202
+ - feat(core): reinforce Inquiry constraints to prevent unauthorized changes by
203
+ @akh64bit in [#26310](https://github.com/google-gemini/gemini-cli/pull/26310)
204
+ - revert: fix(ci): robust version checking in release verification (#26337) by
205
+ @scidomino in [#26450](https://github.com/google-gemini/gemini-cli/pull/26450)
206
+ - refactor(UI): created constants file for ThemeDialog by @devr0306 in
207
+ [#26446](https://github.com/google-gemini/gemini-cli/pull/26446)
208
+ - docs: fix GitHub capitalization in releases guide by @haosenwang1018 in
209
+ [#26379](https://github.com/google-gemini/gemini-cli/pull/26379)
210
+ - fix(cli): ensure branch indicator updates in sub-directories and worktrees by
211
+ @Adib234 in [#26330](https://github.com/google-gemini/gemini-cli/pull/26330)
212
+ - feat: add minimal V8 heap snapshot utility for memory diagnostics by
213
+ @cocosheng-g in
214
+ [#26440](https://github.com/google-gemini/gemini-cli/pull/26440)
215
+ - fix(hooks): preserve non-text parts in fromHookLLMRequest by @SandyTao520 in
216
+ [#26275](https://github.com/google-gemini/gemini-cli/pull/26275)
217
+ - fix(cli): allow early stdout when config is undefined by @cocosheng-g in
218
+ [#26453](https://github.com/google-gemini/gemini-cli/pull/26453)
219
+ - fix(cli)#21297: clear skills consent dialog before reload by @manavmax in
220
+ [#26431](https://github.com/google-gemini/gemini-cli/pull/26431)
221
+ - fix(cli): render LaTeX-style output as Unicode in the TUI by @dimssu in
222
+ [#25802](https://github.com/google-gemini/gemini-cli/pull/25802)
223
+ - fix(core): use close event instead of exit in child_process fallback by
224
+ @tusaryan in [#25695](https://github.com/google-gemini/gemini-cli/pull/25695)
225
+ - feat(voice): add privacy and compliance UX warning for Gemini Live backend by
226
+ @cocosheng-g in
227
+ [#26454](https://github.com/google-gemini/gemini-cli/pull/26454)
228
+ - feat(memory): add Auto Memory inbox flow with canonical-patch contract by
229
+ @SandyTao520 in
230
+ [#26338](https://github.com/google-gemini/gemini-cli/pull/26338)
231
+ - test(cleanup): fix temporary directory leaks in test suites by @Adib234 in
232
+ [#26217](https://github.com/google-gemini/gemini-cli/pull/26217)
233
+ - feat: add ignoreLocalEnv setting and --ignore-env flag (#2493) by @cocosheng-g
234
+ in [#26445](https://github.com/google-gemini/gemini-cli/pull/26445)
235
+ - docs(sdk): add JSDoc to all exported interfaces and types by @fauzan171 in
236
+ [#26277](https://github.com/google-gemini/gemini-cli/pull/26277)
237
+ - feat(cli): improve /agents refresh logging by @cocosheng-g in
238
+ [#26442](https://github.com/google-gemini/gemini-cli/pull/26442)
239
+ - Fix: make Dockerfile self-contained with multi-stage build by @Famous077 in
240
+ [#24277](https://github.com/google-gemini/gemini-cli/pull/24277)
241
+ - fix(core): filter unsupported multimodal types from tool responses by
242
+ @aishaneeshah in
243
+ [#26352](https://github.com/google-gemini/gemini-cli/pull/26352)
244
+ - fix(core): properly format markdown in AskUser tool by unescaping newlines by
245
+ @Adib234 in [#26349](https://github.com/google-gemini/gemini-cli/pull/26349)
246
+ - feat(bot): add actions spend metric script by @gundermanc in
247
+ [#26463](https://github.com/google-gemini/gemini-cli/pull/26463)
248
+ - feat(cli): add /bug-memory command and auto-capture heap snapshot in /bug by
249
+ @Anjaligarhwal in
250
+ [#25639](https://github.com/google-gemini/gemini-cli/pull/25639)
251
+ - fix(cli): make SkillInboxDialog fit and scroll in alternate buffer by
174
252
  @SandyTao520 in
175
- [#25816](https://github.com/google-gemini/gemini-cli/pull/25816)
176
- - fix(release): exclude ripgrep binaries from npm tarballs by @SandyTao520 in
177
- [#25841](https://github.com/google-gemini/gemini-cli/pull/25841)
178
- - fix(patch): cherry-pick 048bf6e to release/v0.40.0-preview.3-pr-25941 to patch
179
- version v0.40.0-preview.3 and create version 0.40.0-preview.4 by
253
+ [#26455](https://github.com/google-gemini/gemini-cli/pull/26455)
254
+ - Robust Scale-Safe Lifecycle Consolidation by @gemini-cli-robot in
255
+ [#26355](https://github.com/google-gemini/gemini-cli/pull/26355)
256
+ - fix(ci): respect exempt labels when closing stale items by @gundermanc in
257
+ [#26475](https://github.com/google-gemini/gemini-cli/pull/26475)
258
+ - fix(cli): use os.homedir() for home directory warning check by @TirthNaik-99
259
+ in [#25890](https://github.com/google-gemini/gemini-cli/pull/25890)
260
+ - fix(a2a-server): resolve tool approval race condition and improve status
261
+ reporting by @kschaab in
262
+ [#26479](https://github.com/google-gemini/gemini-cli/pull/26479)
263
+ - fix(cli): prevent settings dialog border clipping using maxHeight by
264
+ @jackwotherspoon in
265
+ [#26507](https://github.com/google-gemini/gemini-cli/pull/26507)
266
+ - feat: allow queuing messages during compression (#24071) by @cocosheng-g in
267
+ [#26506](https://github.com/google-gemini/gemini-cli/pull/26506)
268
+ - fix(core): retry on ERR_STREAM_PREMATURE_CLOSE errors by @cocosheng-g in
269
+ [#26519](https://github.com/google-gemini/gemini-cli/pull/26519)
270
+ - fix(core): Minor fixes for generalist profile. by @joshualitt in
271
+ [#26357](https://github.com/google-gemini/gemini-cli/pull/26357)
272
+ - fix(patch): cherry-pick 3627f47 to release/v0.42.0-preview.0-pr-26542 to patch
273
+ version v0.42.0-preview.0 and create version 0.42.0-preview.1 by
274
+ @gemini-cli-robot in
275
+ [#26544](https://github.com/google-gemini/gemini-cli/pull/26544)
276
+ - fix(patch): cherry-pick 02995ba to release/v0.42.0-preview.1-pr-26568 to patch
277
+ version v0.42.0-preview.1 and create version 0.42.0-preview.2 by
180
278
  @gemini-cli-robot in
181
- [#25942](https://github.com/google-gemini/gemini-cli/pull/25942)
182
- - fix(patch): cherry-pick 54b7586 to release/v0.40.0-preview.4-pr-26066
183
- [CONFLICTS] by @gemini-cli-robot in
184
- [#26124](https://github.com/google-gemini/gemini-cli/pull/26124)
279
+ [#26590](https://github.com/google-gemini/gemini-cli/pull/26590)
185
280
 
186
281
  **Full Changelog**:
187
- https://github.com/google-gemini/gemini-cli/compare/v0.39.1...v0.40.0
282
+ https://github.com/google-gemini/gemini-cli/compare/v0.41.2...v0.42.0