@google/gemini-cli-core 0.42.0-preview.1 → 0.43.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/dist/docs/changelogs/index.md +14 -0
  2. package/dist/docs/changelogs/latest.md +108 -166
  3. package/dist/docs/changelogs/preview.md +227 -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/src/agent/content-utils.js +2 -0
  11. package/dist/src/agent/content-utils.js.map +1 -1
  12. package/dist/src/agent/content-utils.test.js +5 -1
  13. package/dist/src/agent/content-utils.test.js.map +1 -1
  14. package/dist/src/agent/event-translator.js +7 -6
  15. package/dist/src/agent/event-translator.js.map +1 -1
  16. package/dist/src/agent/legacy-agent-session.js +4 -0
  17. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  18. package/dist/src/agent/legacy-agent-session.test.js +9 -1
  19. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  20. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  21. package/dist/src/agent/tool-display-utils.js +3 -2
  22. package/dist/src/agent/tool-display-utils.js.map +1 -1
  23. package/dist/src/agent/types.d.ts +33 -3
  24. package/dist/src/agents/a2aUtils.d.ts +1 -1
  25. package/dist/src/agents/a2aUtils.js +4 -3
  26. package/dist/src/agents/a2aUtils.js.map +1 -1
  27. package/dist/src/agents/agentLoader.d.ts +2 -2
  28. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  29. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  30. package/dist/src/agents/local-executor.d.ts +1 -0
  31. package/dist/src/agents/local-executor.js +46 -32
  32. package/dist/src/agents/local-executor.js.map +1 -1
  33. package/dist/src/agents/local-executor.test.js +127 -0
  34. package/dist/src/agents/local-executor.test.js.map +1 -1
  35. package/dist/src/agents/local-invocation.js +24 -20
  36. package/dist/src/agents/local-invocation.js.map +1 -1
  37. package/dist/src/agents/local-invocation.test.js +9 -9
  38. package/dist/src/agents/local-invocation.test.js.map +1 -1
  39. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  40. package/dist/src/agents/local-subagent-protocol.js +357 -0
  41. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  42. package/dist/src/agents/local-subagent-protocol.test.d.ts +6 -0
  43. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  44. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  45. package/dist/src/agents/remote-invocation.js +6 -6
  46. package/dist/src/agents/remote-invocation.js.map +1 -1
  47. package/dist/src/agents/remote-invocation.test.js +23 -12
  48. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  49. package/dist/src/agents/remote-subagent-protocol.d.ts +31 -0
  50. package/dist/src/agents/remote-subagent-protocol.js +330 -0
  51. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  52. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  53. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  54. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  55. package/dist/src/agents/skill-extraction-agent.js +1 -0
  56. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  57. package/dist/src/agents/skill-extraction-agent.test.js +1 -0
  58. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  59. package/dist/src/agents/types.d.ts +13 -2
  60. package/dist/src/agents/types.js +7 -0
  61. package/dist/src/agents/types.js.map +1 -1
  62. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  63. package/dist/src/availability/modelAvailabilityService.js +14 -7
  64. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  65. package/dist/src/availability/modelAvailabilityService.test.js +34 -0
  66. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  67. package/dist/src/availability/policyHelpers.js +24 -12
  68. package/dist/src/availability/policyHelpers.js.map +1 -1
  69. package/dist/src/availability/policyHelpers.test.js +3 -2
  70. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  71. package/dist/src/code_assist/oauth2.js +3 -0
  72. package/dist/src/code_assist/oauth2.js.map +1 -1
  73. package/dist/src/code_assist/setup.d.ts +3 -0
  74. package/dist/src/code_assist/setup.js +9 -0
  75. package/dist/src/code_assist/setup.js.map +1 -1
  76. package/dist/src/code_assist/setup.test.js +9 -1
  77. package/dist/src/code_assist/setup.test.js.map +1 -1
  78. package/dist/src/commands/memory.d.ts +5 -14
  79. package/dist/src/commands/memory.js +19 -141
  80. package/dist/src/commands/memory.js.map +1 -1
  81. package/dist/src/commands/memory.test.js +62 -0
  82. package/dist/src/commands/memory.test.js.map +1 -1
  83. package/dist/src/config/config.d.ts +6 -2
  84. package/dist/src/config/config.js +63 -8
  85. package/dist/src/config/config.js.map +1 -1
  86. package/dist/src/config/config.test.js +48 -0
  87. package/dist/src/config/config.test.js.map +1 -1
  88. package/dist/src/config/defaultModelConfigs.js +13 -0
  89. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  90. package/dist/src/config/models.js +1 -1
  91. package/dist/src/config/models.js.map +1 -1
  92. package/dist/src/config/projectRegistry.d.ts +1 -0
  93. package/dist/src/config/projectRegistry.js +13 -2
  94. package/dist/src/config/projectRegistry.js.map +1 -1
  95. package/dist/src/config/projectRegistry.test.js +43 -0
  96. package/dist/src/config/projectRegistry.test.js.map +1 -1
  97. package/dist/src/context/config/profiles.js +4 -0
  98. package/dist/src/context/config/profiles.js.map +1 -1
  99. package/dist/src/context/contextManager.barrier.test.js +4 -3
  100. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  101. package/dist/src/context/contextManager.d.ts +9 -2
  102. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  103. package/dist/src/context/contextManager.hotstart.test.js +61 -0
  104. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  105. package/dist/src/context/contextManager.js +96 -21
  106. package/dist/src/context/contextManager.js.map +1 -1
  107. package/dist/src/context/eventBus.d.ts +6 -0
  108. package/dist/src/context/eventBus.js +6 -0
  109. package/dist/src/context/eventBus.js.map +1 -1
  110. package/dist/src/context/graph/render.d.ts +3 -1
  111. package/dist/src/context/graph/render.js +33 -9
  112. package/dist/src/context/graph/render.js.map +1 -1
  113. package/dist/src/context/graph/render.test.d.ts +6 -0
  114. package/dist/src/context/graph/render.test.js +203 -0
  115. package/dist/src/context/graph/render.test.js.map +1 -0
  116. package/dist/src/context/graph/toGraph.js +3 -3
  117. package/dist/src/context/graph/toGraph.js.map +1 -1
  118. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  119. package/dist/src/context/graph/toGraph.test.js +35 -0
  120. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  121. package/dist/src/context/initializer.js +11 -2
  122. package/dist/src/context/initializer.js.map +1 -1
  123. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -7
  124. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -29
  125. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  126. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +67 -0
  127. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  128. package/dist/src/context/pipeline/environment.d.ts +4 -0
  129. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  130. package/dist/src/context/pipeline/environmentImpl.js +6 -8
  131. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  132. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  133. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  134. package/dist/src/context/pipeline/orchestrator.d.ts +1 -0
  135. package/dist/src/context/pipeline/orchestrator.js +59 -24
  136. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  137. package/dist/src/context/processors/blobDegradationProcessor.test.js +2 -2
  138. package/dist/src/context/processors/rollingSummaryProcessor.js +2 -15
  139. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  140. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  141. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +33 -21
  142. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  143. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +31 -7
  144. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  145. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  146. package/dist/src/context/processors/stateSnapshotProcessor.js +28 -4
  147. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  148. package/dist/src/context/processors/stateSnapshotProcessor.test.js +40 -1
  149. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  150. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  151. package/dist/src/context/system-tests/hysteresis.test.js +98 -0
  152. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  153. package/dist/src/context/system-tests/lifecycle.golden.test.js +90 -69
  154. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  155. package/dist/src/context/system-tests/simulationHarness.d.ts +1 -4
  156. package/dist/src/context/system-tests/simulationHarness.js +16 -30
  157. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  158. package/dist/src/context/testing/contextTestUtils.d.ts +1 -0
  159. package/dist/src/context/testing/contextTestUtils.js +48 -25
  160. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  161. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +61 -0
  162. package/dist/src/context/utils/adaptiveTokenCalculator.js +116 -0
  163. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  164. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  165. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +85 -0
  166. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  167. package/dist/src/context/utils/contextTokenCalculator.d.ts +47 -1
  168. package/dist/src/context/utils/contextTokenCalculator.js +20 -3
  169. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  170. package/dist/src/context/utils/contextTokenCalculator.test.js +8 -8
  171. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -1
  172. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  173. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  174. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  175. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  176. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  177. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  178. package/dist/src/context/utils/snapshotGenerator.d.ts +23 -1
  179. package/dist/src/context/utils/snapshotGenerator.js +249 -31
  180. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  181. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  182. package/dist/src/context/utils/snapshotGenerator.test.js +255 -0
  183. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  184. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  185. package/dist/src/context/utils/tokenCalibration.js +30 -0
  186. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  187. package/dist/src/core/baseLlmClient.d.ts +8 -0
  188. package/dist/src/core/baseLlmClient.js +14 -0
  189. package/dist/src/core/baseLlmClient.js.map +1 -1
  190. package/dist/src/core/client.js +12 -1
  191. package/dist/src/core/client.js.map +1 -1
  192. package/dist/src/core/client.test.js +4 -4
  193. package/dist/src/core/contentGenerator.js +12 -10
  194. package/dist/src/core/contentGenerator.js.map +1 -1
  195. package/dist/src/core/geminiChat.d.ts +2 -0
  196. package/dist/src/core/geminiChat.js +60 -5
  197. package/dist/src/core/geminiChat.js.map +1 -1
  198. package/dist/src/core/geminiChat.test.js +195 -2
  199. package/dist/src/core/geminiChat.test.js.map +1 -1
  200. package/dist/src/core/turn.js +30 -2
  201. package/dist/src/core/turn.js.map +1 -1
  202. package/dist/src/core/turn.test.js +13 -8
  203. package/dist/src/core/turn.test.js.map +1 -1
  204. package/dist/src/generated/git-commit.d.ts +2 -2
  205. package/dist/src/generated/git-commit.js +2 -2
  206. package/dist/src/hooks/hookEventHandler.js +3 -2
  207. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  208. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  209. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  210. package/dist/src/index.d.ts +2 -1
  211. package/dist/src/index.js +2 -2
  212. package/dist/src/index.js.map +1 -1
  213. package/dist/src/prompts/snippets.js +1 -1
  214. package/dist/src/prompts/snippets.js.map +1 -1
  215. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  216. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  217. package/dist/src/routing/strategies/approvalModeStrategy.test.js +2 -0
  218. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  219. package/dist/src/routing/strategies/classifierStrategy.js +8 -1
  220. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  221. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -0
  222. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  223. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  224. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  225. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +4 -0
  226. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  227. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  228. package/dist/src/routing/strategies/numericalClassifierStrategy.js +22 -3
  229. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  230. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +168 -23
  231. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  232. package/dist/src/scheduler/scheduler.js +11 -0
  233. package/dist/src/scheduler/scheduler.js.map +1 -1
  234. package/dist/src/scheduler/scheduler.test.js +1 -1
  235. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  236. package/dist/src/scheduler/state-manager.js +5 -1
  237. package/dist/src/scheduler/state-manager.js.map +1 -1
  238. package/dist/src/scheduler/tool-executor.js +7 -4
  239. package/dist/src/scheduler/tool-executor.js.map +1 -1
  240. package/dist/src/scheduler/types.d.ts +5 -1
  241. package/dist/src/scheduler/types.js.map +1 -1
  242. package/dist/src/services/fileDiscoveryService.js +2 -1
  243. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  244. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  245. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  246. package/dist/src/services/gitService.js +8 -1
  247. package/dist/src/services/gitService.js.map +1 -1
  248. package/dist/src/services/gitService.test.js +104 -0
  249. package/dist/src/services/gitService.test.js.map +1 -1
  250. package/dist/src/services/keychainService.js +14 -5
  251. package/dist/src/services/keychainService.js.map +1 -1
  252. package/dist/src/services/memoryPatchUtils.d.ts +66 -4
  253. package/dist/src/services/memoryPatchUtils.js +267 -5
  254. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  255. package/dist/src/services/memoryService.js +25 -1
  256. package/dist/src/services/memoryService.js.map +1 -1
  257. package/dist/src/services/memoryService.test.js +61 -1
  258. package/dist/src/services/memoryService.test.js.map +1 -1
  259. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +11 -0
  260. package/dist/src/services/test-data/resolved-aliases.golden.json +11 -0
  261. package/dist/src/telemetry/gcp-exporters.d.ts +2 -0
  262. package/dist/src/telemetry/gcp-exporters.js +69 -5
  263. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  264. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  265. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  266. package/dist/src/telemetry/metrics.js +13 -2
  267. package/dist/src/telemetry/metrics.js.map +1 -1
  268. package/dist/src/telemetry/metrics.test.js +61 -1
  269. package/dist/src/telemetry/metrics.test.js.map +1 -1
  270. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +5 -2
  271. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  272. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +7 -4
  273. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  274. package/dist/src/tools/edit.js +19 -0
  275. package/dist/src/tools/edit.js.map +1 -1
  276. package/dist/src/tools/edit.test.js +9 -0
  277. package/dist/src/tools/edit.test.js.map +1 -1
  278. package/dist/src/tools/grep.js +13 -1
  279. package/dist/src/tools/grep.js.map +1 -1
  280. package/dist/src/tools/ls.js +5 -0
  281. package/dist/src/tools/ls.js.map +1 -1
  282. package/dist/src/tools/mcp-client.js +17 -3
  283. package/dist/src/tools/mcp-client.js.map +1 -1
  284. package/dist/src/tools/mcp-client.test.js +24 -0
  285. package/dist/src/tools/mcp-client.test.js.map +1 -1
  286. package/dist/src/tools/read-file.js +11 -6
  287. package/dist/src/tools/read-file.js.map +1 -1
  288. package/dist/src/tools/read-file.test.js +20 -8
  289. package/dist/src/tools/read-file.test.js.map +1 -1
  290. package/dist/src/tools/ripGrep.js +13 -1
  291. package/dist/src/tools/ripGrep.js.map +1 -1
  292. package/dist/src/tools/shell.js +14 -0
  293. package/dist/src/tools/shell.js.map +1 -1
  294. package/dist/src/tools/shell.test.js +5 -0
  295. package/dist/src/tools/shell.test.js.map +1 -1
  296. package/dist/src/tools/tools.d.ts +6 -0
  297. package/dist/src/tools/tools.js.map +1 -1
  298. package/dist/src/tools/topicTool.js +5 -0
  299. package/dist/src/tools/topicTool.js.map +1 -1
  300. package/dist/src/tools/write-file.js +13 -0
  301. package/dist/src/tools/write-file.js.map +1 -1
  302. package/dist/src/tools/write-file.test.js +8 -0
  303. package/dist/src/tools/write-file.test.js.map +1 -1
  304. package/dist/src/utils/errors.js +3 -8
  305. package/dist/src/utils/errors.js.map +1 -1
  306. package/dist/src/utils/filesearch/ignore.js +4 -1
  307. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  308. package/dist/src/utils/ignoreFileParser.js +1 -1
  309. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  310. package/dist/src/utils/ignorePatterns.js +2 -0
  311. package/dist/src/utils/ignorePatterns.js.map +1 -1
  312. package/dist/src/utils/ignorePatterns.test.js +1 -0
  313. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  314. package/dist/src/utils/memoryDiscovery.js +55 -40
  315. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  316. package/dist/src/utils/memoryDiscovery.test.js +77 -9
  317. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  318. package/dist/src/utils/modelUtils.d.ts +14 -0
  319. package/dist/src/utils/modelUtils.js +17 -0
  320. package/dist/src/utils/modelUtils.js.map +1 -0
  321. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  322. package/dist/src/utils/modelUtils.test.js +23 -0
  323. package/dist/src/utils/modelUtils.test.js.map +1 -0
  324. package/dist/src/utils/paths.d.ts +15 -1
  325. package/dist/src/utils/paths.js +22 -7
  326. package/dist/src/utils/paths.js.map +1 -1
  327. package/dist/src/utils/paths.test.js +25 -1
  328. package/dist/src/utils/paths.test.js.map +1 -1
  329. package/dist/src/utils/quotaErrorDetection.js +23 -12
  330. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  331. package/dist/src/utils/shell-utils.js +9 -1
  332. package/dist/src/utils/shell-utils.js.map +1 -1
  333. package/dist/src/utils/shell-utils.test.js +7 -3
  334. package/dist/src/utils/shell-utils.test.js.map +1 -1
  335. package/dist/src/utils/tokenCalculation.js +2 -1
  336. package/dist/src/utils/tokenCalculation.js.map +1 -1
  337. package/dist/src/utils/tokenCalculation.test.js +15 -0
  338. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +1 -1
  341. package/dist/google-gemini-cli-core-0.42.0-preview.0.tgz +0 -0
@@ -1,6 +1,6 @@
1
- # Preview release: v0.41.0-preview.0
1
+ # Preview release: v0.42.0-preview.2
2
2
 
3
- Released: April 28, 2026
3
+ Released: May 06, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,109 +13,233 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Real-Time Voice Mode:** Implemented a new real-time voice mode supporting
17
- both cloud and local backends for a more interactive experience.
18
- - **Enhanced Security & Trust:** Enforced workspace trust in headless mode and
19
- secured `.env` file loading to improve system integrity.
20
- - **Expanded Model Support:** Added experimental support for Gemma 4 models in
21
- both core and CLI packages.
22
- - **Improved Core Infrastructure:** Wired up new `ContextManager` and
23
- `AgentChatHistory` for better state management, and optimized boot performance
24
- by fetching experiments and quota asynchronously.
25
- - **New Developer Tools & UX:** Added support for output redirection for CLI
26
- commands, manual session UUIDs via command-line arguments, and persistent
27
- auto-memory scratchpad for skill extraction.
16
+ - **Auto Memory Enhancements:** Introduced an Auto Memory inbox flow with a
17
+ canonical-patch contract for better memory management.
18
+ - **Improved Voice Mode:** Added a wave animation, microphone icon updates, and
19
+ privacy/compliance UX warnings for the Gemini Live backend.
20
+ - **New CLI Commands & Flags:** Added a `--delete` flag to the `/exit` command
21
+ for session deletion, a `list` subcommand to `/commands`, and a `/bug-memory`
22
+ command for heap snapshots.
23
+ - **Expanded Model Support:** Gemma 4 models are now enabled by default via the
24
+ Gemini API.
25
+ - **Enhanced Core Resilience:** Improved API resilience with reduced timeouts,
26
+ automatic retries for stream errors, and better handling of invalid stream
27
+ events.
28
28
 
29
29
  ## What's Changed
30
30
 
31
- - chore(release): bump version to 0.41.0-nightly.20260423.gaa05b4583 by
32
- @gemini-cli-robot in
33
- [#25847](https://github.com/google-gemini/gemini-cli/pull/25847)
34
- - fix(core): only show `list` suggestion if the partial input is empty by
35
- @cynthialong0-0 in
36
- [#25821](https://github.com/google-gemini/gemini-cli/pull/25821)
37
- - feat(cli): secure .env loading and enforce workspace trust in headless mode by
38
- @ehedlund in [#25814](https://github.com/google-gemini/gemini-cli/pull/25814)
39
- - fix: fatal hard-crash on loop detection via unhandled AbortError by @hsm207 in
40
- [#20108](https://github.com/google-gemini/gemini-cli/pull/20108)
41
- - update package-lock.json by @ehedlund in
42
- [#25876](https://github.com/google-gemini/gemini-cli/pull/25876)
43
- - feat(core): enhance shell command validation and add core tools allowlist by
44
- @galz10 in [#25720](https://github.com/google-gemini/gemini-cli/pull/25720)
45
- - fix(ui): corrected background color check in user message components by
46
- @devr0306 in [#25880](https://github.com/google-gemini/gemini-cli/pull/25880)
47
- - perf(core): fix slow boot by fetching experiments and quota asynchronously by
48
- @spencer426 in
49
- [#25758](https://github.com/google-gemini/gemini-cli/pull/25758)
50
- - feat(core,cli): add support for Gemma 4 models (experimental) by @Abhijit-2592
51
- in [#25604](https://github.com/google-gemini/gemini-cli/pull/25604)
52
- - update FatalUntrustedWorkspaceError message to include doc link by @ehedlund
53
- in [#25874](https://github.com/google-gemini/gemini-cli/pull/25874)
54
- - docs: add Gemini CLI course link to README by @JayadityaGit in
55
- [#25925](https://github.com/google-gemini/gemini-cli/pull/25925)
56
- - feat(repo): add gemini-cli-bot metrics and workflows by @gundermanc in
57
- [#25888](https://github.com/google-gemini/gemini-cli/pull/25888)
58
- - fix(cli): allow output redirection for cli commands by @spencer426 in
59
- [#25894](https://github.com/google-gemini/gemini-cli/pull/25894)
60
- - fix(core): fail closed in YOLO mode when shell parsing fails for restricted
61
- rules by @ehedlund in
62
- [#25935](https://github.com/google-gemini/gemini-cli/pull/25935)
63
- - fix(cli-ui): revert backspace handling to fix Windows regression by @scidomino
64
- in [#25941](https://github.com/google-gemini/gemini-cli/pull/25941)
65
- - feat(voice): implement real-time voice mode with cloud and local backends by
66
- @Abhijit-2592 in
67
- [#24174](https://github.com/google-gemini/gemini-cli/pull/24174)
68
- - Changelog for v0.39.0 by @gemini-cli-robot in
69
- [#25848](https://github.com/google-gemini/gemini-cli/pull/25848)
70
- - feat(memory): persist auto-memory scratchpad for skill extraction by
71
- @SandyTao520 in
72
- [#25873](https://github.com/google-gemini/gemini-cli/pull/25873)
73
- - fix(cli): add missing response key to custom theme text schema by @gaurav0107
74
- in [#25822](https://github.com/google-gemini/gemini-cli/pull/25822)
75
- - fix(cli): provide manual update command when automatic update fails by
76
- @cocosheng-g in
77
- [#26052](https://github.com/google-gemini/gemini-cli/pull/26052)
78
- - test(cli): add unit tests for restore ACP command (#23402) by @cocosheng-g in
79
- [#26053](https://github.com/google-gemini/gemini-cli/pull/26053)
80
- - fix(ui): better error messages for ECONNRESET and ETIMEDOUT by @devr0306 in
81
- [#26059](https://github.com/google-gemini/gemini-cli/pull/26059)
82
- - feat(core): wire up the new ContextManager and AgentChatHistory by @joshualitt
83
- in [#25409](https://github.com/google-gemini/gemini-cli/pull/25409)
84
- - fix(cli): ensure sandbox proxy cleanup and remove handler leaks by @ehedlund
85
- in [#26065](https://github.com/google-gemini/gemini-cli/pull/26065)
86
- - fix(cli): correct alternate buffer warning logic for JetBrains by @Adib234 in
87
- [#26067](https://github.com/google-gemini/gemini-cli/pull/26067)
88
- - fix(cli): make MCP ping optional in list command and use configured timeout by
89
- @cocosheng-g in
90
- [#26068](https://github.com/google-gemini/gemini-cli/pull/26068)
91
- - fix(core): better error message for failed cloudshell-gca auth by @devr0306 in
92
- [#26079](https://github.com/google-gemini/gemini-cli/pull/26079)
93
- - feat(cli): provide manual session UUID via command line arg by @cocosheng-g in
94
- [#26060](https://github.com/google-gemini/gemini-cli/pull/26060)
95
- - Changelog for v0.40.0-preview.2 by @gemini-cli-robot in
96
- [#25846](https://github.com/google-gemini/gemini-cli/pull/25846)
97
- - (docs) update sandboxing documentation by @g-samroberts in
98
- [#25930](https://github.com/google-gemini/gemini-cli/pull/25930)
99
- - fix(core): enforce parallel task tracker updates by @anj-s in
100
- [#24477](https://github.com/google-gemini/gemini-cli/pull/24477)
101
- - Update policy so transient errors are not marked terminal by @DavidAPierce in
102
- [#26066](https://github.com/google-gemini/gemini-cli/pull/26066)
103
- - Implement bot that performs time-series metric analysis and suggests repo
104
- management improvements by @gundermanc in
105
- [#25945](https://github.com/google-gemini/gemini-cli/pull/25945)
106
- - fix(core): handle non-string model flags in resolution by @Adib234 in
107
- [#26069](https://github.com/google-gemini/gemini-cli/pull/26069)
108
- - fix(ux): added error message for ENOTDIR by @devr0306 in
109
- [#26128](https://github.com/google-gemini/gemini-cli/pull/26128)
110
- - Changelog for v0.40.0-preview.3 by @gemini-cli-robot in
111
- [#25904](https://github.com/google-gemini/gemini-cli/pull/25904)
112
- - fix(cli): prevent ACP stdout pollution from SessionEnd hooks by @cocosheng-g
113
- in [#26125](https://github.com/google-gemini/gemini-cli/pull/26125)
114
- - feat(cli): support boolean and number casting for env vars in settings.json by
115
- @cocosheng-g in
116
- [#26118](https://github.com/google-gemini/gemini-cli/pull/26118)
117
- - fix(cli): preserve Request headers in DevTools activity logger by @Adib234 in
118
- [#26078](https://github.com/google-gemini/gemini-cli/pull/26078)
31
+ - fix(cli): prevent automatic updates from switching to less stable channels in
32
+ [#26132](https://github.com/google-gemini/gemini-cli/pull/26132)
33
+ - chore(release): bump version to 0.42.0-nightly.20260428.g59b2dea0e in
34
+ [#26142](https://github.com/google-gemini/gemini-cli/pull/26142)
35
+ - fix(cli): pass node arguments via NODE_OPTIONS during relaunch to support SEA
36
+ in [#26130](https://github.com/google-gemini/gemini-cli/pull/26130)
37
+ - fix(cli): handle DECKPAM keypad Enter sequences in terminal in
38
+ [#26092](https://github.com/google-gemini/gemini-cli/pull/26092)
39
+ - docs(cli): point plan-mode session retention to actual /settings labels in
40
+ [#25978](https://github.com/google-gemini/gemini-cli/pull/25978)
41
+ - fix(core): add missing oauth fields support in subagent parsing in
42
+ [#26141](https://github.com/google-gemini/gemini-cli/pull/26141)
43
+ - fix(core): disconnect extension-backed MCP clients in stopExtension in
44
+ [#26136](https://github.com/google-gemini/gemini-cli/pull/26136)
45
+ - Update documentation workflows with workspace trust in
46
+ [#26150](https://github.com/google-gemini/gemini-cli/pull/26150)
47
+ - refactor(acp): modularize monolithic acpClient into specialized files in
48
+ [#26143](https://github.com/google-gemini/gemini-cli/pull/26143)
49
+ - test: fix failures due to antigravity environment leakage in
50
+ [#26162](https://github.com/google-gemini/gemini-cli/pull/26162)
51
+ - fix(core): add explicit empty log guard in A2A pushMessage in
52
+ [#26198](https://github.com/google-gemini/gemini-cli/pull/26198)
53
+ - feat(cli): add --delete flag to /exit command for session deletion in
54
+ [#19332](https://github.com/google-gemini/gemini-cli/pull/19332)
55
+ - test(core): add regression test for issue for ToolConfirmationResponse in
56
+ [#26194](https://github.com/google-gemini/gemini-cli/pull/26194)
57
+ - Add the ability to @ mention the gemini robot. in
58
+ [#26207](https://github.com/google-gemini/gemini-cli/pull/26207)
59
+ - test(evals): add EvalMetadata JSDoc annotations to older tests in
60
+ [#26147](https://github.com/google-gemini/gemini-cli/pull/26147)
61
+ - fix(core): reduce default API timeout to 60s and enable retries for undici
62
+ timeouts in [#26191](https://github.com/google-gemini/gemini-cli/pull/26191)
63
+ - fix(core): distinguish fallback chains and fix maxAttempts for auto vs
64
+ explicit model selection in
65
+ [#26163](https://github.com/google-gemini/gemini-cli/pull/26163)
66
+ - fix(cli): handle InvalidStream event gracefully without throwing in
67
+ [#26218](https://github.com/google-gemini/gemini-cli/pull/26218)
68
+ - ci(github-actions): switch to github app token and fix bot self-trigger in
69
+ [#26223](https://github.com/google-gemini/gemini-cli/pull/26223)
70
+ - Respect logPrompts flag for logging sensitive fields in
71
+ [#26153](https://github.com/google-gemini/gemini-cli/pull/26153)
72
+ - fix: correct API key validation logic in handleApiKeySubmit in
73
+ [#25453](https://github.com/google-gemini/gemini-cli/pull/25453)
74
+ - fix(agent): prevent exit_plan_mode from being called via shell in
75
+ [#26230](https://github.com/google-gemini/gemini-cli/pull/26230)
76
+ - # Fix: Inconsistent Case-Sensitivity in GrepTool in [#26235](https://github.com/google-gemini/gemini-cli/pull/26235)
77
+ - docs(core): add automated gemma setup guide in
78
+ [#26233](https://github.com/google-gemini/gemini-cli/pull/26233)
79
+ - Allow non-https proxy urls to support container environments in
80
+ [#26234](https://github.com/google-gemini/gemini-cli/pull/26234)
81
+ - fix(bot): productivity and backlog optimizations in
82
+ [#26236](https://github.com/google-gemini/gemini-cli/pull/26236)
83
+ - refactor(acp): delegate prompt turn processing logic to GeminiClient in
84
+ [#26222](https://github.com/google-gemini/gemini-cli/pull/26222)
85
+ - fix(cli): refine platform-specific undo/redo and smart bubbling for WSL in
86
+ [#26202](https://github.com/google-gemini/gemini-cli/pull/26202)
87
+ - fix: suppress duplicate extension warnings during startup in
88
+ [#26208](https://github.com/google-gemini/gemini-cli/pull/26208)
89
+ - fix(cli): use byte length instead of string length for readStdin size limits
90
+ in [#26224](https://github.com/google-gemini/gemini-cli/pull/26224)
91
+ - fix(ui): made shell tool header wrap on Ctrl+O in
92
+ [#26229](https://github.com/google-gemini/gemini-cli/pull/26229)
93
+ - Changelog for v0.41.0-preview.0 in
94
+ [#26244](https://github.com/google-gemini/gemini-cli/pull/26244)
95
+ - Skip binary CLI relaunch in
96
+ [#26261](https://github.com/google-gemini/gemini-cli/pull/26261)
97
+ - fix(cli): do not override GOOGLE_CLOUD_PROJECT in Cloud Shell when using
98
+ Vertex AI in [#24455](https://github.com/google-gemini/gemini-cli/pull/24455)
99
+ - docs(cli): add skill discovery troubleshooting checklist to tutorial in
100
+ [#26018](https://github.com/google-gemini/gemini-cli/pull/26018)
101
+ - docs(policy-engine): link to tools reference for tool names and args in
102
+ [#22081](https://github.com/google-gemini/gemini-cli/pull/22081)
103
+ - Fix posting invalid response to a comment in
104
+ [#26266](https://github.com/google-gemini/gemini-cli/pull/26266)
105
+ - fix(cli): prevent informational logs from polluting json output in
106
+ [#26264](https://github.com/google-gemini/gemini-cli/pull/26264)
107
+ - feat(ui): added microphone and updated placeholder for voice mode in
108
+ [#26270](https://github.com/google-gemini/gemini-cli/pull/26270)
109
+ - feat(cli): Add 'list' subcommand to '/commands' in
110
+ [#22324](https://github.com/google-gemini/gemini-cli/pull/22324)
111
+ - fix(core): ensure tool output cleanup on session deletion for legacy files in
112
+ [#26263](https://github.com/google-gemini/gemini-cli/pull/26263)
113
+ - Docs: Update Agent Skills documentation in
114
+ [#22388](https://github.com/google-gemini/gemini-cli/pull/22388)
115
+ - test(acp): add missing coverage for extensions command error paths in
116
+ [#25313](https://github.com/google-gemini/gemini-cli/pull/25313)
117
+ - Changelog for v0.40.0 in
118
+ [#26245](https://github.com/google-gemini/gemini-cli/pull/26245)
119
+ - fix: report AgentExecutionBlocked in non-interactive programmatic modes in
120
+ [#26262](https://github.com/google-gemini/gemini-cli/pull/26262)
121
+ - feat(extensions): add 'delete' as an alias for /extensions uninstall in
122
+ [#25660](https://github.com/google-gemini/gemini-cli/pull/25660)
123
+ - fix(core): silently skip GEMINI.md paths that are directories (EISDIR) in
124
+ [#25662](https://github.com/google-gemini/gemini-cli/pull/25662)
125
+ - fix(ci): checkout PR branch instead of main in bot workflow in
126
+ [#26289](https://github.com/google-gemini/gemini-cli/pull/26289)
127
+ - fix(cli): use resolved sandbox state for auto-update check in
128
+ [#26285](https://github.com/google-gemini/gemini-cli/pull/26285)
129
+ - # Metrics Integrity & Standardized Reporting (BT-01) in [#26240](https://github.com/google-gemini/gemini-cli/pull/26240)
130
+ - Add Star History section to README in
131
+ [#26290](https://github.com/google-gemini/gemini-cli/pull/26290)
132
+ - Add Star History section to README in
133
+ [#26308](https://github.com/google-gemini/gemini-cli/pull/26308)
134
+ - Remove Star History section from README in
135
+ [#26309](https://github.com/google-gemini/gemini-cli/pull/26309)
136
+ - test(evals): add behavioral eval for file creation and write_file tool
137
+ selection in [#26292](https://github.com/google-gemini/gemini-cli/pull/26292)
138
+ - feat(config): enable Gemma 4 models by default via Gemini API in
139
+ [#26307](https://github.com/google-gemini/gemini-cli/pull/26307)
140
+ - fix(cli): insert voice transcription at cursor position instead of ap… in
141
+ [#26287](https://github.com/google-gemini/gemini-cli/pull/26287)
142
+ - fix(ui): fix issue with box edges in
143
+ [#26148](https://github.com/google-gemini/gemini-cli/pull/26148)
144
+ - fix(cli): respect .env override for GOOGLE_CLOUD_PROJECT in
145
+ [#26288](https://github.com/google-gemini/gemini-cli/pull/26288)
146
+ - fix(ci): robust version checking in release verification in
147
+ [#26337](https://github.com/google-gemini/gemini-cli/pull/26337)
148
+ - fix(cli): enable daemon relaunch in binary and bundle keytar in
149
+ [#26333](https://github.com/google-gemini/gemini-cli/pull/26333)
150
+ - fix(core): discourage unprompted git add . in prompt snippets in
151
+ [#26220](https://github.com/google-gemini/gemini-cli/pull/26220)
152
+ - feat(ui): added wave animation for voice mode in
153
+ [#26284](https://github.com/google-gemini/gemini-cli/pull/26284)
154
+ - fix(cli): prevent Escape from clearing input buffer (#17083) in
155
+ [#26339](https://github.com/google-gemini/gemini-cli/pull/26339)
156
+ - fix(cli): undeprecate --prompt and correct positional query docs in
157
+ [#26329](https://github.com/google-gemini/gemini-cli/pull/26329)
158
+ - Metrics updates in
159
+ [#26348](https://github.com/google-gemini/gemini-cli/pull/26348)
160
+ - fix(core): remove "System: Please continue." injection on InvalidStream events
161
+ in [#26340](https://github.com/google-gemini/gemini-cli/pull/26340)
162
+ - docs(policy-engine): add tool argument keys reference and shell policy
163
+ cross-links in
164
+ [#25292](https://github.com/google-gemini/gemini-cli/pull/25292)
165
+ - fix(cli): resolve Ghostty/raw-mode False Cancellation in oauth flow in
166
+ [#25026](https://github.com/google-gemini/gemini-cli/pull/25026)
167
+ - fix(core): reset session-scoped state on resumption in
168
+ [#26342](https://github.com/google-gemini/gemini-cli/pull/26342)
169
+ - Fix bulk of remaining issues with generalist profile in
170
+ [#26073](https://github.com/google-gemini/gemini-cli/pull/26073)
171
+ - fix(core): make subagents aware of active approval modes in
172
+ [#23608](https://github.com/google-gemini/gemini-cli/pull/23608)
173
+ - fix(acp): resolve agent mode disconnect and improve mode awareness in
174
+ [#26332](https://github.com/google-gemini/gemini-cli/pull/26332)
175
+ - docs(sdk): add JSDoc to exported interfaces in packages/sdk/src/types.ts in
176
+ [#26441](https://github.com/google-gemini/gemini-cli/pull/26441)
177
+ - perf: skip redundant GEMINI.md loading in partialConfig in
178
+ [#26443](https://github.com/google-gemini/gemini-cli/pull/26443)
179
+ - Enhance React guidelines in
180
+ [#22667](https://github.com/google-gemini/gemini-cli/pull/22667)
181
+ - feat(core): reinforce Inquiry constraints to prevent unauthorized changes in
182
+ [#26310](https://github.com/google-gemini/gemini-cli/pull/26310)
183
+ - revert: fix(ci): robust version checking in release verification (#26337) in
184
+ [#26450](https://github.com/google-gemini/gemini-cli/pull/26450)
185
+ - refactor(UI): created constants file for ThemeDialog in
186
+ [#26446](https://github.com/google-gemini/gemini-cli/pull/26446)
187
+ - docs: fix GitHub capitalization in releases guide in
188
+ [#26379](https://github.com/google-gemini/gemini-cli/pull/26379)
189
+ - fix(cli): ensure branch indicator updates in sub-directories and worktrees in
190
+ [#26330](https://github.com/google-gemini/gemini-cli/pull/26330)
191
+ - feat: add minimal V8 heap snapshot utility for memory diagnostics in
192
+ [#26440](https://github.com/google-gemini/gemini-cli/pull/26440)
193
+ - fix(hooks): preserve non-text parts in fromHookLLMRequest in
194
+ [#26275](https://github.com/google-gemini/gemini-cli/pull/26275)
195
+ - fix(cli): allow early stdout when config is undefined in
196
+ [#26453](https://github.com/google-gemini/gemini-cli/pull/26453)
197
+ - fix(cli)#21297: clear skills consent dialog before reload in
198
+ [#26431](https://github.com/google-gemini/gemini-cli/pull/26431)
199
+ - fix(cli): render LaTeX-style output as Unicode in the TUI in
200
+ [#25802](https://github.com/google-gemini/gemini-cli/pull/25802)
201
+ - fix(core): use close event instead of exit in child_process fallback in
202
+ [#25695](https://github.com/google-gemini/gemini-cli/pull/25695)
203
+ - feat(voice): add privacy and compliance UX warning for Gemini Live backend in
204
+ [#26454](https://github.com/google-gemini/gemini-cli/pull/26454)
205
+ - feat(memory): add Auto Memory inbox flow with canonical-patch contract in
206
+ [#26338](https://github.com/google-gemini/gemini-cli/pull/26338)
207
+ - test(cleanup): fix temporary directory leaks in test suites in
208
+ [#26217](https://github.com/google-gemini/gemini-cli/pull/26217)
209
+ - feat: add ignoreLocalEnv setting and --ignore-env flag (#2493) in
210
+ [#26445](https://github.com/google-gemini/gemini-cli/pull/26445)
211
+ - docs(sdk): add JSDoc to all exported interfaces and types in
212
+ [#26277](https://github.com/google-gemini/gemini-cli/pull/26277)
213
+ - feat(cli): improve /agents refresh logging in
214
+ [#26442](https://github.com/google-gemini/gemini-cli/pull/26442)
215
+ - Fix: make Dockerfile self-contained with multi-stage build in
216
+ [#24277](https://github.com/google-gemini/gemini-cli/pull/24277)
217
+ - fix(core): filter unsupported multimodal types from tool responses in
218
+ [#26352](https://github.com/google-gemini/gemini-cli/pull/26352)
219
+ - fix(core): properly format markdown in AskUser tool by unescaping newlines in
220
+ [#26349](https://github.com/google-gemini/gemini-cli/pull/26349)
221
+ - feat(bot): add actions spend metric script in
222
+ [#26463](https://github.com/google-gemini/gemini-cli/pull/26463)
223
+ - feat(cli): add /bug-memory command and auto-capture heap snapshot in /bug in
224
+ [#25639](https://github.com/google-gemini/gemini-cli/pull/25639)
225
+ - fix(cli): make SkillInboxDialog fit and scroll in alternate buffer in
226
+ [#26455](https://github.com/google-gemini/gemini-cli/pull/26455)
227
+ - Robust Scale-Safe Lifecycle Consolidation in
228
+ [#26355](https://github.com/google-gemini/gemini-cli/pull/26355)
229
+ - fix(ci): respect exempt labels when closing stale items in
230
+ [#26475](https://github.com/google-gemini/gemini-cli/pull/26475)
231
+ - fix(cli): use os.homedir() for home directory warning check in
232
+ [#25890](https://github.com/google-gemini/gemini-cli/pull/25890)
233
+ - fix(a2a-server): resolve tool approval race condition and improve status
234
+ reporting in [#26479](https://github.com/google-gemini/gemini-cli/pull/26479)
235
+ - fix(cli): prevent settings dialog border clipping using maxHeight in
236
+ [#26507](https://github.com/google-gemini/gemini-cli/pull/26507)
237
+ - feat: allow queuing messages during compression (#24071) in
238
+ [#26506](https://github.com/google-gemini/gemini-cli/pull/26506)
239
+ - fix(core): retry on ERR_STREAM_PREMATURE_CLOSE errors in
240
+ [#26519](https://github.com/google-gemini/gemini-cli/pull/26519)
241
+ - fix(core): Minor fixes for generalist profile. in
242
+ [#26357](https://github.com/google-gemini/gemini-cli/pull/26357)
119
243
 
120
244
  **Full Changelog**:
121
- https://github.com/google-gemini/gemini-cli/compare/v0.40.0-preview.5...v0.41.0-preview.0
245
+ https://github.com/google-gemini/gemini-cli/compare/v0.41.0-preview.3...v0.42.0-preview.2
@@ -1,9 +1,10 @@
1
1
  # Auto Memory
2
2
 
3
3
  Auto Memory is an experimental feature that mines your past Gemini CLI sessions
4
- in the background and turns recurring workflows into reusable
5
- [Agent Skills](./skills.md). You review, accept, or discard each extracted skill
6
- before it becomes available to future sessions.
4
+ in the background and proposes durable memory updates and reusable
5
+ [Agent Skills](./skills.md). You review each candidate before it becomes
6
+ available to future sessions: apply memory updates, promote skills, or discard
7
+ anything you do not want.
7
8
 
8
9
  <!-- prettier-ignore -->
9
10
  > [!NOTE]
@@ -12,28 +13,33 @@ before it becomes available to future sessions.
12
13
  ## Overview
13
14
 
14
15
  Every session you run with Gemini CLI is recorded locally as a transcript. Auto
15
- Memory scans those transcripts for procedural patterns that recur across
16
- sessions, then drafts each pattern as a `SKILL.md` file in a project-local
17
- inbox. You inspect the draft, decide whether it captures real expertise, and
18
- promote it to your global or workspace skills directory if you want it.
16
+ Memory scans those transcripts for durable facts, preferences, workflow
17
+ constraints, and procedural patterns that recur across sessions. It can draft
18
+ memory updates as unified diff `.patch` files and draft reusable procedures as
19
+ `SKILL.md` files. All candidates are held in a project-local inbox until you
20
+ approve or discard them.
19
21
 
20
22
  You'll use Auto Memory when you want to:
21
23
 
22
24
  - **Capture team workflows** that you find yourself walking the agent through
23
25
  more than once.
26
+ - **Preserve durable project context** such as repeated verification commands,
27
+ local constraints, or personal project notes.
24
28
  - **Codify hard-won fixes** for project-specific landmines so future sessions
25
29
  avoid them.
26
30
  - **Bootstrap a skills library** without writing every `SKILL.md` by hand.
27
31
 
28
32
  Auto Memory complements—but does not replace—the
29
33
  [`save_memory` tool](../tools/memory.md), which captures single facts into
30
- `GEMINI.md`. Auto Memory captures multi-step procedures into skills.
34
+ `GEMINI.md` when the agent explicitly calls it. Auto Memory infers candidates
35
+ from past sessions, writes reviewable patches or skill drafts, and never applies
36
+ them without your approval.
31
37
 
32
38
  ## Prerequisites
33
39
 
34
40
  - Gemini CLI installed and authenticated.
35
- - At least 10 user messages across recent, idle sessions in the project. Auto
36
- Memory ignores active or trivial sessions.
41
+ - At least one idle project session with 10 or more user messages. Auto Memory
42
+ ignores active, trivial, and sub-agent sessions.
37
43
 
38
44
  ## How to enable Auto Memory
39
45
 
@@ -66,36 +72,45 @@ UI, consume your interactive turns, or surface tool prompts.
66
72
  been idle for at least three hours and contain at least 10 user messages.
67
73
  2. **Lock acquisition.** A lock file in the project's memory directory
68
74
  coordinates across multiple CLI instances so extraction runs at most once at
69
- a time.
70
- 3. **Sub-agent extraction.** A specialized sub-agent (named `confucius`)
71
- reviews the session index, reads any sessions that look like they contain
72
- repeated procedural workflows, and drafts new `SKILL.md` files. Its
73
- instructions tell it to default to creating zero skills unless the evidence
74
- is strong, so most runs produce no inbox items.
75
- 4. **Patch validation.** If the sub-agent proposes edits to skills outside the
76
- inbox (for example, an existing global skill), it writes a unified diff
77
- `.patch` file. Auto Memory dry-runs each patch and discards any that do not
78
- apply cleanly.
79
- 5. **Notification.** When a run produces new skills or patches, Gemini CLI
80
- surfaces an inline message telling you how many items are waiting.
81
-
82
- ## How to review extracted skills
75
+ a time. A state file records processed session versions, and extraction is
76
+ throttled so short back-to-back CLI launches do not repeatedly scan history.
77
+ 3. **Candidate extraction.** A background extraction agent reviews the session
78
+ index, reads any sessions that look like they contain durable memory or
79
+ repeated procedural workflows, and drafts candidates. It defaults to
80
+ creating no artifacts unless the evidence is strong, so many runs produce no
81
+ inbox items.
82
+ 4. **Safety boundaries.** Auto Memory writes candidates to a review inbox. It
83
+ cannot directly edit active memory files, settings, credentials, or project
84
+ `GEMINI.md` files.
85
+ 5. **Patch validation.** Skill update patches are parsed and dry-run before
86
+ they are surfaced. Memory patches are parsed, target-allowlisted, and
87
+ applied atomically only when you approve them from the inbox.
88
+ 6. **Notification.** When a run produces new candidates, Gemini CLI surfaces an
89
+ inline message telling you how many items are waiting.
90
+
91
+ ## How to review extracted items
83
92
 
84
93
  Use the `/memory inbox` slash command to open the inbox dialog at any time:
85
94
 
86
95
  **Command:** `/memory inbox`
87
96
 
88
- The dialog lists each draft skill with its name, description, and source
89
- sessions. From there you can:
97
+ The dialog groups pending items into new skills, skill updates, and memory
98
+ updates. From there you can:
90
99
 
91
100
  - **Read** the full `SKILL.md` body before deciding.
92
101
  - **Promote** a skill to your user (`~/.gemini/skills/`) or workspace
93
102
  (`.gemini/skills/`) directory.
94
103
  - **Discard** a skill you do not want.
95
104
  - **Apply** or reject a `.patch` proposal against an existing skill.
105
+ - **Review** memory diffs before they touch active files.
106
+ - **Apply** or dismiss private and global memory patches. Private patches target
107
+ the project memory directory; global patches target only your personal
108
+ `~/.gemini/GEMINI.md` file.
96
109
 
97
110
  Promoted skills become discoverable in the next session and follow the standard
98
- [skill discovery precedence](./skills.md#skill-discovery-tiers).
111
+ [skill discovery precedence](./skills.md#skill-discovery-tiers). Applied memory
112
+ patches update the underlying memory files and reload memory for the current
113
+ session.
99
114
 
100
115
  ## How to disable Auto Memory
101
116
 
@@ -117,19 +132,26 @@ start. Existing inbox items remain on disk; you can either drain them with
117
132
  ## Data and privacy
118
133
 
119
134
  - Auto Memory only reads session files that already exist locally on your
120
- machine. Nothing is uploaded to Gemini outside the normal API calls the
121
- extraction sub-agent makes during its run.
122
- - The sub-agent is instructed to redact secrets, tokens, and credentials it
123
- encounters and to never copy large tool outputs verbatim.
124
- - Drafted skills live in your project's memory directory until you promote or
125
- discard them. They are not automatically loaded into any session.
135
+ machine.
136
+ - Auto Memory uses model calls to analyze selected local transcript content
137
+ during extraction. No candidates are applied automatically, but transcript
138
+ excerpts may be sent to the configured model as part of those calls.
139
+ - The extraction agent is instructed to redact secrets, tokens, and credentials
140
+ it encounters and to never copy large tool outputs verbatim.
141
+ - Drafted skills and memory patches live in your project's memory directory
142
+ until you promote, apply, dismiss, or discard them. They are not automatically
143
+ loaded into any session.
126
144
 
127
145
  ## Limitations
128
146
 
129
- - The sub-agent runs on a preview Gemini Flash model. Extraction quality depends
130
- on the model's ability to recognize durable patterns versus one-off incidents.
131
- - Auto Memory does not extract skills from the current session. It only
132
- considers sessions that have been idle for three hours or more.
147
+ - The extraction agent runs on a preview Gemini Flash model. Extraction quality
148
+ depends on the model's ability to recognize durable patterns versus one-off
149
+ incidents.
150
+ - Auto Memory does not extract memory or skills from the current session. It
151
+ only considers sessions that have been idle for three hours or more.
152
+ - Project or workspace shared instructions in project `GEMINI.md` files are not
153
+ auto-extractable. Auto Memory can propose private project memory, global
154
+ personal memory, and skills.
133
155
  - Inbox items are stored per project. Skills extracted in one workspace are not
134
156
  visible from another until you promote them to the user-scope skills
135
157
  directory.
@@ -138,6 +160,6 @@ start. Existing inbox items remain on disk; you can either drain them with
138
160
 
139
161
  - Learn how skills are discovered and activated in [Agent Skills](./skills.md).
140
162
  - Explore the [memory management tutorial](./tutorials/memory-management.md) for
141
- the complementary `save_memory` and `GEMINI.md` workflows.
163
+ the complementary explicit-memory and `GEMINI.md` workflows.
142
164
  - Review the experimental settings catalog in
143
165
  [Settings](./settings.md#experimental).
@@ -169,7 +169,7 @@ they appear in the UI.
169
169
  | Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key. | `"push-to-talk"` |
170
170
  | Voice Transcription Backend | `experimental.voice.backend` | The backend to use for voice transcription. Note: When using the Gemini Live backend, voice recordings are sent to Google Cloud for transcription. | `"gemini-live"` |
171
171
  | Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription. | `"ggml-base.en.bin"` |
172
- | Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `1000` |
172
+ | Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `4000` |
173
173
  | Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work. | `false` |
174
174
  | Use OSC 52 Paste | `experimental.useOSC52Paste` | Use OSC 52 for pasting. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
175
175
  | Use OSC 52 Copy | `experimental.useOSC52Copy` | Use OSC 52 for copying. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
@@ -125,4 +125,4 @@ immediately. Force a reload with:
125
125
  `/memory` options.
126
126
  - Read the technical spec for [Project context](../../cli/gemini-md.md).
127
127
  - Try the experimental [Auto Memory](../auto-memory.md) feature to extract
128
- reusable skills from your past sessions automatically.
128
+ memory updates and reusable skills from your past sessions automatically.