@google/gemini-cli-core 0.36.0 → 0.37.0-preview.1

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 (480) hide show
  1. package/dist/docs/CONTRIBUTING.md +10 -7
  2. package/dist/docs/assets/theme-tokyonight-dark.png +0 -0
  3. package/dist/docs/changelogs/index.md +24 -0
  4. package/dist/docs/changelogs/latest.md +366 -459
  5. package/dist/docs/changelogs/preview.md +362 -356
  6. package/dist/docs/cli/acp-mode.md +126 -0
  7. package/dist/docs/cli/cli-reference.md +1 -1
  8. package/dist/docs/cli/notifications.md +5 -5
  9. package/dist/docs/cli/plan-mode.md +22 -11
  10. package/dist/docs/cli/sandbox.md +1 -1
  11. package/dist/docs/cli/settings.md +14 -13
  12. package/dist/docs/cli/themes.md +5 -0
  13. package/dist/docs/core/index.md +2 -2
  14. package/dist/docs/core/subagents.md +134 -23
  15. package/dist/docs/get-started/gemini-3.md +1 -1
  16. package/dist/docs/get-started/index.md +127 -1
  17. package/dist/docs/ide-integration/index.md +99 -24
  18. package/dist/docs/index.md +0 -2
  19. package/dist/docs/redirects.json +1 -0
  20. package/dist/docs/reference/commands.md +1 -3
  21. package/dist/docs/reference/configuration.md +182 -91
  22. package/dist/docs/reference/keyboard-shortcuts.md +14 -6
  23. package/dist/docs/reference/policy-engine.md +36 -31
  24. package/dist/docs/reference/tools.md +56 -23
  25. package/dist/docs/resources/quota-and-pricing.md +23 -9
  26. package/dist/docs/sidebar.json +11 -4
  27. package/dist/docs/tools/planning.md +6 -4
  28. package/dist/google-gemini-cli-core-0.37.0-preview.0.tgz +0 -0
  29. package/dist/src/agents/agentLoader.d.ts +12 -12
  30. package/dist/src/agents/agentLoader.js +1 -0
  31. package/dist/src/agents/agentLoader.js.map +1 -1
  32. package/dist/src/agents/browser/automationOverlay.js +2 -10
  33. package/dist/src/agents/browser/automationOverlay.js.map +1 -1
  34. package/dist/src/agents/browser/browserAgentDefinition.js +10 -3
  35. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
  36. package/dist/src/agents/browser/browserAgentFactory.d.ts +4 -4
  37. package/dist/src/agents/browser/browserAgentFactory.js +15 -29
  38. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  39. package/dist/src/agents/browser/browserAgentFactory.test.js +41 -24
  40. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  41. package/dist/src/agents/browser/browserAgentInvocation.d.ts +1 -0
  42. package/dist/src/agents/browser/browserAgentInvocation.js +60 -27
  43. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  44. package/dist/src/agents/browser/browserAgentInvocation.test.js +59 -5
  45. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  46. package/dist/src/agents/browser/browserManager.d.ts +51 -8
  47. package/dist/src/agents/browser/browserManager.js +242 -70
  48. package/dist/src/agents/browser/browserManager.js.map +1 -1
  49. package/dist/src/agents/browser/browserManager.test.js +384 -17
  50. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  51. package/dist/src/agents/browser/inputBlocker.d.ts +4 -4
  52. package/dist/src/agents/browser/inputBlocker.js +8 -18
  53. package/dist/src/agents/browser/inputBlocker.js.map +1 -1
  54. package/dist/src/agents/browser/inputBlocker.test.js +31 -3
  55. package/dist/src/agents/browser/inputBlocker.test.js.map +1 -1
  56. package/dist/src/agents/browser/mcpToolWrapper.d.ts +1 -1
  57. package/dist/src/agents/browser/mcpToolWrapper.js +9 -6
  58. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  59. package/dist/src/agents/browser/mcpToolWrapper.test.js +2 -2
  60. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  61. package/dist/src/agents/browser/snapshotSuperseder.d.ts +31 -0
  62. package/dist/src/agents/browser/snapshotSuperseder.js +101 -0
  63. package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -0
  64. package/dist/src/agents/browser/snapshotSuperseder.test.js +158 -0
  65. package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -0
  66. package/dist/src/agents/local-executor.d.ts +4 -0
  67. package/dist/src/agents/local-executor.js +46 -19
  68. package/dist/src/agents/local-executor.js.map +1 -1
  69. package/dist/src/agents/local-executor.test.js +118 -18
  70. package/dist/src/agents/local-executor.test.js.map +1 -1
  71. package/dist/src/agents/local-invocation.d.ts +1 -0
  72. package/dist/src/agents/local-invocation.js +19 -9
  73. package/dist/src/agents/local-invocation.js.map +1 -1
  74. package/dist/src/agents/local-invocation.test.js +24 -0
  75. package/dist/src/agents/local-invocation.test.js.map +1 -1
  76. package/dist/src/agents/registry.js +16 -1
  77. package/dist/src/agents/registry.js.map +1 -1
  78. package/dist/src/agents/registry.test.js +67 -0
  79. package/dist/src/agents/registry.test.js.map +1 -1
  80. package/dist/src/agents/types.d.ts +9 -0
  81. package/dist/src/agents/types.js.map +1 -1
  82. package/dist/src/code_assist/oauth2.js +8 -3
  83. package/dist/src/code_assist/oauth2.js.map +1 -1
  84. package/dist/src/code_assist/oauth2.test.js +57 -0
  85. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  86. package/dist/src/code_assist/setup.js +5 -2
  87. package/dist/src/code_assist/setup.js.map +1 -1
  88. package/dist/src/code_assist/setup.test.js +27 -1
  89. package/dist/src/code_assist/setup.test.js.map +1 -1
  90. package/dist/src/code_assist/types.d.ts +80 -80
  91. package/dist/src/config/agent-loop-context.d.ts +2 -0
  92. package/dist/src/config/config.d.ts +81 -16
  93. package/dist/src/config/config.js +146 -50
  94. package/dist/src/config/config.js.map +1 -1
  95. package/dist/src/config/config.test.js +89 -2
  96. package/dist/src/config/config.test.js.map +1 -1
  97. package/dist/src/config/defaultModelConfigs.js +9 -0
  98. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  99. package/dist/src/config/memory.d.ts +1 -0
  100. package/dist/src/config/memory.js +6 -0
  101. package/dist/src/config/memory.js.map +1 -1
  102. package/dist/src/config/storage.d.ts +1 -0
  103. package/dist/src/config/storage.js +4 -0
  104. package/dist/src/config/storage.js.map +1 -1
  105. package/dist/src/config/storage.test.js +5 -0
  106. package/dist/src/config/storage.test.js.map +1 -1
  107. package/dist/src/config/topicState.d.ts +21 -0
  108. package/dist/src/config/topicState.js +41 -0
  109. package/dist/src/config/topicState.js.map +1 -0
  110. package/dist/src/confirmation-bus/types.d.ts +11 -2
  111. package/dist/src/confirmation-bus/types.js +2 -0
  112. package/dist/src/confirmation-bus/types.js.map +1 -1
  113. package/dist/src/context/agentHistoryProvider.d.ts +45 -0
  114. package/dist/src/context/agentHistoryProvider.js +298 -0
  115. package/dist/src/context/agentHistoryProvider.js.map +1 -0
  116. package/dist/src/context/agentHistoryProvider.test.d.ts +6 -0
  117. package/dist/src/context/agentHistoryProvider.test.js +394 -0
  118. package/dist/src/context/agentHistoryProvider.test.js.map +1 -0
  119. package/dist/src/context/chatCompressionService.js.map +1 -0
  120. package/dist/src/context/chatCompressionService.test.js.map +1 -0
  121. package/dist/src/{services → context}/contextManager.d.ts +2 -0
  122. package/dist/src/{services → context}/contextManager.js +18 -9
  123. package/dist/src/context/contextManager.js.map +1 -0
  124. package/dist/src/{services → context}/contextManager.test.js +21 -6
  125. package/dist/src/context/contextManager.test.js.map +1 -0
  126. package/dist/src/context/toolDistillationService.d.ts +38 -0
  127. package/dist/src/context/toolDistillationService.js +170 -0
  128. package/dist/src/context/toolDistillationService.js.map +1 -0
  129. package/dist/src/context/toolDistillationService.test.d.ts +6 -0
  130. package/dist/src/context/toolDistillationService.test.js +83 -0
  131. package/dist/src/context/toolDistillationService.test.js.map +1 -0
  132. package/dist/src/{services → context}/toolOutputMaskingService.d.ts +2 -2
  133. package/dist/src/{services → context}/toolOutputMaskingService.js +7 -7
  134. package/dist/src/context/toolOutputMaskingService.js.map +1 -0
  135. package/dist/src/context/toolOutputMaskingService.test.d.ts +6 -0
  136. package/dist/src/{services → context}/toolOutputMaskingService.test.js +4 -5
  137. package/dist/src/context/toolOutputMaskingService.test.js.map +1 -0
  138. package/dist/src/context/truncation.d.ts +26 -0
  139. package/dist/src/context/truncation.js +102 -0
  140. package/dist/src/context/truncation.js.map +1 -0
  141. package/dist/src/core/client.d.ts +3 -1
  142. package/dist/src/core/client.js +23 -13
  143. package/dist/src/core/client.js.map +1 -1
  144. package/dist/src/core/client.test.js +29 -34
  145. package/dist/src/core/client.test.js.map +1 -1
  146. package/dist/src/core/contentGenerator.d.ts +0 -1
  147. package/dist/src/core/contentGenerator.js +2 -28
  148. package/dist/src/core/contentGenerator.js.map +1 -1
  149. package/dist/src/core/contentGenerator.test.js +1 -101
  150. package/dist/src/core/contentGenerator.test.js.map +1 -1
  151. package/dist/src/core/geminiChat.js +4 -5
  152. package/dist/src/core/geminiChat.js.map +1 -1
  153. package/dist/src/core/geminiChat.test.js +71 -18
  154. package/dist/src/core/geminiChat.test.js.map +1 -1
  155. package/dist/src/core/prompts-substitution.test.js +5 -0
  156. package/dist/src/core/prompts-substitution.test.js.map +1 -1
  157. package/dist/src/core/prompts.test.js +3 -0
  158. package/dist/src/core/prompts.test.js.map +1 -1
  159. package/dist/src/generated/git-commit.d.ts +2 -2
  160. package/dist/src/generated/git-commit.js +2 -2
  161. package/dist/src/generated/git-commit.js.map +1 -1
  162. package/dist/src/index.d.ts +7 -3
  163. package/dist/src/index.js +9 -5
  164. package/dist/src/index.js.map +1 -1
  165. package/dist/src/policy/config.d.ts +1 -1
  166. package/dist/src/policy/config.js +61 -24
  167. package/dist/src/policy/config.js.map +1 -1
  168. package/dist/src/policy/persistence.test.js +42 -0
  169. package/dist/src/policy/persistence.test.js.map +1 -1
  170. package/dist/src/policy/policies/discovered.toml +7 -0
  171. package/dist/src/policy/policies/non-interactive.toml +7 -0
  172. package/dist/src/policy/policies/plan.toml +25 -0
  173. package/dist/src/policy/policies/read-only.toml +6 -0
  174. package/dist/src/policy/policies/sandbox-default.toml +3 -2
  175. package/dist/src/policy/policies/write.toml +21 -0
  176. package/dist/src/policy/policies/yolo.toml +1 -1
  177. package/dist/src/policy/policy-engine.d.ts +2 -4
  178. package/dist/src/policy/policy-engine.js +24 -37
  179. package/dist/src/policy/policy-engine.js.map +1 -1
  180. package/dist/src/policy/policy-engine.test.js +107 -29
  181. package/dist/src/policy/policy-engine.test.js.map +1 -1
  182. package/dist/src/policy/topic-policy.test.d.ts +6 -0
  183. package/dist/src/policy/topic-policy.test.js +48 -0
  184. package/dist/src/policy/topic-policy.test.js.map +1 -0
  185. package/dist/src/policy/types.d.ts +9 -6
  186. package/dist/src/policy/types.js +11 -0
  187. package/dist/src/policy/types.js.map +1 -1
  188. package/dist/src/prompts/promptProvider.js +20 -4
  189. package/dist/src/prompts/promptProvider.js.map +1 -1
  190. package/dist/src/prompts/promptProvider.test.js +84 -1
  191. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  192. package/dist/src/prompts/snippets-memory-manager.test.js +1 -1
  193. package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -1
  194. package/dist/src/prompts/snippets.d.ts +3 -4
  195. package/dist/src/prompts/snippets.js +33 -51
  196. package/dist/src/prompts/snippets.js.map +1 -1
  197. package/dist/src/prompts/snippets.legacy.d.ts +6 -4
  198. package/dist/src/prompts/snippets.legacy.js +32 -7
  199. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  200. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +11 -1
  201. package/dist/src/sandbox/linux/LinuxSandboxManager.js +261 -27
  202. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  203. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +430 -125
  204. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  205. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +7 -22
  206. package/dist/src/sandbox/macos/MacOsSandboxManager.js +58 -57
  207. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  208. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +148 -103
  209. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  210. package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
  211. package/dist/src/sandbox/macos/baseProfile.js +0 -6
  212. package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
  213. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +10 -10
  214. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +80 -92
  215. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  216. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +135 -99
  217. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  218. package/dist/src/sandbox/{macos → utils}/commandSafety.d.ts +11 -0
  219. package/dist/src/sandbox/{macos → utils}/commandSafety.js +47 -14
  220. package/dist/src/sandbox/utils/commandSafety.js.map +1 -0
  221. package/dist/src/sandbox/utils/commandUtils.d.ts +9 -0
  222. package/dist/src/sandbox/utils/commandUtils.js +57 -0
  223. package/dist/src/sandbox/utils/commandUtils.js.map +1 -0
  224. package/dist/src/sandbox/utils/fsUtils.d.ts +11 -0
  225. package/dist/src/sandbox/utils/fsUtils.js +82 -0
  226. package/dist/src/sandbox/utils/fsUtils.js.map +1 -0
  227. package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +12 -0
  228. package/dist/src/sandbox/utils/sandboxDenialUtils.js +68 -0
  229. package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -0
  230. package/dist/src/sandbox/utils/sandboxDenialUtils.test.d.ts +6 -0
  231. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +37 -0
  232. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -0
  233. package/dist/src/sandbox/utils/sandboxReadWriteUtils.d.ts +5 -0
  234. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +60 -0
  235. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -0
  236. package/dist/src/sandbox/windows/GeminiSandbox.cs +257 -216
  237. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +12 -2
  238. package/dist/src/sandbox/windows/WindowsSandboxManager.js +250 -38
  239. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  240. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +326 -9
  241. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  242. package/dist/src/sandbox/windows/commandSafety.d.ts +19 -0
  243. package/dist/src/sandbox/windows/commandSafety.js +128 -0
  244. package/dist/src/sandbox/windows/commandSafety.js.map +1 -0
  245. package/dist/src/sandbox/windows/commandSafety.test.d.ts +6 -0
  246. package/dist/src/sandbox/windows/commandSafety.test.js +42 -0
  247. package/dist/src/sandbox/windows/commandSafety.test.js.map +1 -0
  248. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +12 -0
  249. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +68 -0
  250. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -0
  251. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.d.ts +6 -0
  252. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js +68 -0
  253. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js.map +1 -0
  254. package/dist/src/scheduler/policy.js +20 -5
  255. package/dist/src/scheduler/policy.js.map +1 -1
  256. package/dist/src/scheduler/policy.test.js +80 -0
  257. package/dist/src/scheduler/policy.test.js.map +1 -1
  258. package/dist/src/scheduler/scheduler.js +12 -2
  259. package/dist/src/scheduler/scheduler.js.map +1 -1
  260. package/dist/src/scheduler/scheduler.test.js +52 -0
  261. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  262. package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
  263. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  264. package/dist/src/scheduler/state-manager.js +1 -1
  265. package/dist/src/scheduler/state-manager.js.map +1 -1
  266. package/dist/src/scheduler/state-manager.test.js +10 -0
  267. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  268. package/dist/src/scheduler/tool-executor.js +7 -2
  269. package/dist/src/scheduler/tool-executor.js.map +1 -1
  270. package/dist/src/scheduler/tool-executor.test.js +38 -0
  271. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  272. package/dist/src/scheduler/types.d.ts +4 -2
  273. package/dist/src/services/chatRecordingService.d.ts +1 -13
  274. package/dist/src/services/chatRecordingService.js +45 -46
  275. package/dist/src/services/chatRecordingService.js.map +1 -1
  276. package/dist/src/services/chatRecordingService.test.js +79 -10
  277. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  278. package/dist/src/services/executionLifecycleService.d.ts +43 -6
  279. package/dist/src/services/executionLifecycleService.js +49 -12
  280. package/dist/src/services/executionLifecycleService.js.map +1 -1
  281. package/dist/src/services/executionLifecycleService.test.js +157 -3
  282. package/dist/src/services/executionLifecycleService.test.js.map +1 -1
  283. package/dist/src/services/fileDiscoveryService.d.ts +17 -2
  284. package/dist/src/services/fileDiscoveryService.js +84 -20
  285. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  286. package/dist/src/services/fileDiscoveryService.test.js +67 -1
  287. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  288. package/dist/src/services/modelConfigService.d.ts +11 -0
  289. package/dist/src/services/modelConfigService.js +67 -0
  290. package/dist/src/services/modelConfigService.js.map +1 -1
  291. package/dist/src/services/modelConfigService.test.js +30 -0
  292. package/dist/src/services/modelConfigService.test.js.map +1 -1
  293. package/dist/src/services/sandboxManager.d.ts +90 -8
  294. package/dist/src/services/sandboxManager.integration.test.js +438 -0
  295. package/dist/src/services/sandboxManager.integration.test.js.map +1 -0
  296. package/dist/src/services/sandboxManager.js +156 -13
  297. package/dist/src/services/sandboxManager.js.map +1 -1
  298. package/dist/src/services/sandboxManager.test.js +373 -117
  299. package/dist/src/services/sandboxManager.test.js.map +1 -1
  300. package/dist/src/services/sandboxManagerFactory.d.ts +2 -3
  301. package/dist/src/services/sandboxManagerFactory.js +10 -17
  302. package/dist/src/services/sandboxManagerFactory.js.map +1 -1
  303. package/dist/src/services/sandboxedFileSystemService.d.ts +1 -0
  304. package/dist/src/services/sandboxedFileSystemService.js +32 -3
  305. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  306. package/dist/src/services/sandboxedFileSystemService.test.js +83 -12
  307. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
  308. package/dist/src/services/shellExecutionService.d.ts +2 -0
  309. package/dist/src/services/shellExecutionService.js +45 -16
  310. package/dist/src/services/shellExecutionService.js.map +1 -1
  311. package/dist/src/services/shellExecutionService.test.js +5 -4
  312. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  313. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +4 -0
  314. package/dist/src/services/test-data/resolved-aliases.golden.json +4 -0
  315. package/dist/src/services/types.d.ts +14 -0
  316. package/dist/src/services/types.js +7 -0
  317. package/dist/src/services/types.js.map +1 -0
  318. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +6 -0
  319. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  320. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +5 -1
  321. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  322. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +2 -1
  323. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
  324. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  325. package/dist/src/telemetry/loggers.js +1 -1
  326. package/dist/src/telemetry/loggers.js.map +1 -1
  327. package/dist/src/telemetry/loggers.test.js +8 -3
  328. package/dist/src/telemetry/loggers.test.js.map +1 -1
  329. package/dist/src/telemetry/metrics.d.ts +10 -1
  330. package/dist/src/telemetry/metrics.js +19 -4
  331. package/dist/src/telemetry/metrics.js.map +1 -1
  332. package/dist/src/telemetry/metrics.test.js +44 -0
  333. package/dist/src/telemetry/metrics.test.js.map +1 -1
  334. package/dist/src/telemetry/types.d.ts +3 -3
  335. package/dist/src/telemetry/types.js +9 -4
  336. package/dist/src/telemetry/types.js.map +1 -1
  337. package/dist/src/test-utils/mock-message-bus.d.ts +1 -1
  338. package/dist/src/test-utils/mock-message-bus.js +1 -1
  339. package/dist/src/test-utils/mock-message-bus.js.map +1 -1
  340. package/dist/src/tools/definitions/base-declarations.d.ts +6 -0
  341. package/dist/src/tools/definitions/base-declarations.js +7 -0
  342. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  343. package/dist/src/tools/definitions/coreTools.d.ts +2 -1
  344. package/dist/src/tools/definitions/coreTools.js +9 -3
  345. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  346. package/dist/src/tools/definitions/dynamic-declaration-helpers.d.ts +4 -0
  347. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +29 -2
  348. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  349. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +11 -6
  350. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  351. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +10 -4
  352. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  353. package/dist/src/tools/definitions/trackerTools.js +3 -3
  354. package/dist/src/tools/definitions/trackerTools.js.map +1 -1
  355. package/dist/src/tools/definitions/types.d.ts +1 -0
  356. package/dist/src/tools/enter-plan-mode.js +15 -0
  357. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  358. package/dist/src/tools/enter-plan-mode.test.js +25 -0
  359. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  360. package/dist/src/tools/grep-utils.d.ts +2 -1
  361. package/dist/src/tools/grep-utils.js +22 -3
  362. package/dist/src/tools/grep-utils.js.map +1 -1
  363. package/dist/src/tools/grep.js +16 -3
  364. package/dist/src/tools/grep.js.map +1 -1
  365. package/dist/src/tools/grep.test.js +34 -6
  366. package/dist/src/tools/grep.test.js.map +1 -1
  367. package/dist/src/tools/ls.js +6 -4
  368. package/dist/src/tools/ls.js.map +1 -1
  369. package/dist/src/tools/ls.test.js +22 -7
  370. package/dist/src/tools/ls.test.js.map +1 -1
  371. package/dist/src/tools/mcp-client-manager.js +6 -3
  372. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  373. package/dist/src/tools/mcp-client-manager.test.js +35 -0
  374. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  375. package/dist/src/tools/memoryTool.d.ts +9 -2
  376. package/dist/src/tools/memoryTool.js +39 -15
  377. package/dist/src/tools/memoryTool.js.map +1 -1
  378. package/dist/src/tools/memoryTool.test.js +61 -2
  379. package/dist/src/tools/memoryTool.test.js.map +1 -1
  380. package/dist/src/tools/read-many-files.js +12 -4
  381. package/dist/src/tools/read-many-files.js.map +1 -1
  382. package/dist/src/tools/read-many-files.test.js +17 -17
  383. package/dist/src/tools/read-many-files.test.js.map +1 -1
  384. package/dist/src/tools/ripGrep.js +14 -1
  385. package/dist/src/tools/ripGrep.js.map +1 -1
  386. package/dist/src/tools/ripGrep.test.js +9 -9
  387. package/dist/src/tools/ripGrep.test.js.map +1 -1
  388. package/dist/src/tools/shell.d.ts +10 -0
  389. package/dist/src/tools/shell.js +97 -124
  390. package/dist/src/tools/shell.js.map +1 -1
  391. package/dist/src/tools/shell.test.js +22 -3
  392. package/dist/src/tools/shell.test.js.map +1 -1
  393. package/dist/src/tools/tool-names.d.ts +4 -4
  394. package/dist/src/tools/tool-names.js +5 -3
  395. package/dist/src/tools/tool-names.js.map +1 -1
  396. package/dist/src/tools/tool-registry.js +11 -1
  397. package/dist/src/tools/tool-registry.js.map +1 -1
  398. package/dist/src/tools/tool-registry.test.js +43 -1
  399. package/dist/src/tools/tool-registry.test.js.map +1 -1
  400. package/dist/src/tools/tools.d.ts +12 -1
  401. package/dist/src/tools/tools.js +15 -0
  402. package/dist/src/tools/tools.js.map +1 -1
  403. package/dist/src/tools/tools.test.js +42 -1
  404. package/dist/src/tools/tools.test.js.map +1 -1
  405. package/dist/src/tools/topicTool.d.ts +29 -0
  406. package/dist/src/tools/topicTool.js +72 -0
  407. package/dist/src/tools/topicTool.js.map +1 -0
  408. package/dist/src/tools/topicTool.test.d.ts +6 -0
  409. package/dist/src/tools/topicTool.test.js +105 -0
  410. package/dist/src/tools/topicTool.test.js.map +1 -0
  411. package/dist/src/tools/web-fetch.js +38 -20
  412. package/dist/src/tools/web-fetch.js.map +1 -1
  413. package/dist/src/tools/web-fetch.test.js +28 -0
  414. package/dist/src/tools/web-fetch.test.js.map +1 -1
  415. package/dist/src/utils/checkpointUtils.d.ts +4 -4
  416. package/dist/src/utils/errors.d.ts +3 -0
  417. package/dist/src/utils/errors.js +28 -6
  418. package/dist/src/utils/errors.js.map +1 -1
  419. package/dist/src/utils/errors.test.js +23 -0
  420. package/dist/src/utils/errors.test.js.map +1 -1
  421. package/dist/src/utils/getFolderStructure.js +1 -1
  422. package/dist/src/utils/getFolderStructure.js.map +1 -1
  423. package/dist/src/utils/gitIgnoreParser.d.ts +2 -2
  424. package/dist/src/utils/gitIgnoreParser.js +28 -50
  425. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  426. package/dist/src/utils/gitIgnoreParser.test.js +51 -185
  427. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  428. package/dist/src/utils/ignoreFileParser.d.ts +2 -2
  429. package/dist/src/utils/ignoreFileParser.js +6 -17
  430. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  431. package/dist/src/utils/ignoreFileParser.test.js +40 -132
  432. package/dist/src/utils/ignoreFileParser.test.js.map +1 -1
  433. package/dist/src/utils/ignorePathUtils.d.ts +11 -0
  434. package/dist/src/utils/ignorePathUtils.js +39 -0
  435. package/dist/src/utils/ignorePathUtils.js.map +1 -0
  436. package/dist/src/utils/ignorePathUtils.test.d.ts +6 -0
  437. package/dist/src/utils/ignorePathUtils.test.js +70 -0
  438. package/dist/src/utils/ignorePathUtils.test.js.map +1 -0
  439. package/dist/src/utils/memoryDiscovery.d.ts +6 -4
  440. package/dist/src/utils/memoryDiscovery.js +66 -41
  441. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  442. package/dist/src/utils/memoryDiscovery.test.js +40 -0
  443. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  444. package/dist/src/utils/memoryImportProcessor.d.ts +1 -1
  445. package/dist/src/utils/memoryImportProcessor.js +24 -15
  446. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  447. package/dist/src/utils/sessionOperations.d.ts +19 -0
  448. package/dist/src/utils/sessionOperations.js +101 -0
  449. package/dist/src/utils/sessionOperations.js.map +1 -0
  450. package/dist/src/utils/sessionOperations.test.d.ts +6 -0
  451. package/dist/src/utils/sessionOperations.test.js +92 -0
  452. package/dist/src/utils/sessionOperations.test.js.map +1 -0
  453. package/dist/src/utils/shell-utils.d.ts +15 -0
  454. package/dist/src/utils/shell-utils.js +43 -2
  455. package/dist/src/utils/shell-utils.js.map +1 -1
  456. package/dist/src/utils/textUtils.d.ts +8 -0
  457. package/dist/src/utils/textUtils.js +16 -0
  458. package/dist/src/utils/textUtils.js.map +1 -1
  459. package/dist/src/utils/tokenCalculation.d.ts +2 -0
  460. package/dist/src/utils/tokenCalculation.js +2 -2
  461. package/dist/src/utils/tokenCalculation.js.map +1 -1
  462. package/dist/tsconfig.tsbuildinfo +1 -1
  463. package/package.json +1 -1
  464. package/dist/docs/get-started/examples.md +0 -141
  465. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +0 -164
  466. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +0 -1
  467. package/dist/src/sandbox/macos/commandSafety.js.map +0 -1
  468. package/dist/src/services/chatCompressionService.js.map +0 -1
  469. package/dist/src/services/chatCompressionService.test.js.map +0 -1
  470. package/dist/src/services/contextManager.js.map +0 -1
  471. package/dist/src/services/contextManager.test.js.map +0 -1
  472. package/dist/src/services/toolOutputMaskingService.js.map +0 -1
  473. package/dist/src/services/toolOutputMaskingService.test.js.map +0 -1
  474. /package/dist/src/{services/toolOutputMaskingService.test.d.ts → agents/browser/snapshotSuperseder.test.d.ts} +0 -0
  475. /package/dist/src/{services → context}/chatCompressionService.d.ts +0 -0
  476. /package/dist/src/{services → context}/chatCompressionService.js +0 -0
  477. /package/dist/src/{services → context}/chatCompressionService.test.d.ts +0 -0
  478. /package/dist/src/{services → context}/chatCompressionService.test.js +0 -0
  479. /package/dist/src/{services → context}/contextManager.test.d.ts +0 -0
  480. /package/dist/src/{sandbox/macos/MacOsSandboxManager.integration.test.d.ts → services/sandboxManager.integration.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.34.0
1
+ # Latest stable release: v0.35.3
2
2
 
3
- Released: March 17, 2026
3
+ Released: March 28, 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,474 +11,381 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Plan Mode Enabled by Default**: The comprehensive planning capability is now
15
- enabled by default, allowing for better structured task management and
16
- execution.
17
- - **Enhanced Sandboxing Capabilities**: Added support for native gVisor (runsc)
18
- sandboxing as well as experimental LXC container sandboxing to provide more
19
- robust and isolated execution environments.
20
- - **Improved Loop Detection & Recovery**: Implemented iterative loop detection
21
- and model feedback mechanisms to prevent the CLI from getting stuck in
22
- repetitive actions.
23
- - **Customizable UI Elements**: You can now configure a custom footer using the
24
- new `/footer` command, and enjoy standardized semantic focus colors for better
25
- history visibility.
26
- - **Extensive Subagent Updates**: Refinements across the tracker visualization
27
- tools, background process logging, and broader fallback support for models in
28
- tool execution scenarios.
14
+ - **Customizable Keyboard Shortcuts:** Significant improvements to input
15
+ flexibility with support for custom keybindings, literal character bindings,
16
+ and extended terminal protocol keys.
17
+ - **Vim Mode Enhancements:** Further refinement of the Vim modal editing
18
+ experience, adding common motions like \`X\`, \`~\`, \`r\`, and \`f/F/t/T\`,
19
+ along with yank and paste support.
20
+ - **Enhanced Security through Sandboxing:** Introduction of a unified
21
+ \`SandboxManager\` and integration of Linux-native sandboxing (bubblewrap and
22
+ seccomp) to isolate tool execution and improve system security.
23
+ - **JIT Context Discovery:** Improved performance and accuracy by enabling
24
+ Just-In-Time context loading for file system tools, ensuring the model has the
25
+ most relevant information without overwhelming the context.
26
+ - **Subagent & Performance Updates:** Subagents are now enabled by default,
27
+ supported by a model-driven parallel tool scheduler and code splitting for
28
+ faster startup and more efficient task execution.
29
29
 
30
30
  ## What's Changed
31
31
 
32
- - feat(cli): add chat resume footer on session quit by @lordshashank in
33
- [#20667](https://github.com/google-gemini/gemini-cli/pull/20667)
34
- - Support bold and other styles in svg snapshots by @jacob314 in
35
- [#20937](https://github.com/google-gemini/gemini-cli/pull/20937)
36
- - fix(core): increase A2A agent timeout to 30 minutes by @adamfweidman in
37
- [#21028](https://github.com/google-gemini/gemini-cli/pull/21028)
38
- - Cleanup old branches. by @jacob314 in
39
- [#19354](https://github.com/google-gemini/gemini-cli/pull/19354)
40
- - chore(release): bump version to 0.34.0-nightly.20260303.34f0c1538 by
32
+ - fix(patch): cherry-pick 765fb67 to release/v0.35.2-pr-24055 [CONFLICTS] by
41
33
  @gemini-cli-robot in
42
- [#21034](https://github.com/google-gemini/gemini-cli/pull/21034)
43
- - feat(ui): standardize semantic focus colors and enhance history visibility by
44
- @keithguerin in
45
- [#20745](https://github.com/google-gemini/gemini-cli/pull/20745)
46
- - fix: merge duplicate imports in packages/core (3/4) by @Nixxx19 in
47
- [#20928](https://github.com/google-gemini/gemini-cli/pull/20928)
48
- - Add extra safety checks for proto pollution by @jacob314 in
49
- [#20396](https://github.com/google-gemini/gemini-cli/pull/20396)
50
- - feat(core): Add tracker CRUD tools & visualization by @anj-s in
51
- [#19489](https://github.com/google-gemini/gemini-cli/pull/19489)
52
- - Revert "fix(ui): persist expansion in AskUser dialog when navigating options"
53
- by @jacob314 in
54
- [#21042](https://github.com/google-gemini/gemini-cli/pull/21042)
55
- - Changelog for v0.33.0-preview.0 by @gemini-cli-robot in
56
- [#21030](https://github.com/google-gemini/gemini-cli/pull/21030)
57
- - fix: model persistence for all scenarios by @sripasg in
58
- [#21051](https://github.com/google-gemini/gemini-cli/pull/21051)
59
- - chore/release: bump version to 0.34.0-nightly.20260304.28af4e127 by
34
+ [#24063](https://github.com/google-gemini/gemini-cli/pull/24063)
35
+ - fix(core): allow disabling environment variable redaction by @galz10 in
36
+ [#23927](https://github.com/google-gemini/gemini-cli/pull/23927)
37
+ - fix(a2a-server): A2A server should execute ask policies in interactive mode by
38
+ @keith.schaab in
39
+ [#23831](https://github.com/google-gemini/gemini-cli/pull/23831)
40
+ - feat(cli): customizable keyboard shortcuts by @scidomino in
41
+ [#21945](https://github.com/google-gemini/gemini-cli/pull/21945)
42
+ - feat(core): Thread `AgentLoopContext` through core. by @joshualitt in
43
+ [#21944](https://github.com/google-gemini/gemini-cli/pull/21944)
44
+ - chore(release): bump version to 0.35.0-nightly.20260311.657f19c1f by
60
45
  @gemini-cli-robot in
61
- [#21054](https://github.com/google-gemini/gemini-cli/pull/21054)
62
- - Consistently guard restarts against concurrent auto updates by @scidomino in
63
- [#21016](https://github.com/google-gemini/gemini-cli/pull/21016)
64
- - Defensive coding to reduce the risk of Maximum update depth errors by
65
- @jacob314 in [#20940](https://github.com/google-gemini/gemini-cli/pull/20940)
66
- - fix(cli): Polish shell autocomplete rendering to be a little more shell native
67
- feeling. by @jacob314 in
68
- [#20931](https://github.com/google-gemini/gemini-cli/pull/20931)
69
- - Docs: Update plan mode docs by @jkcinouye in
70
- [#19682](https://github.com/google-gemini/gemini-cli/pull/19682)
71
- - fix(mcp): Notifications/tools/list_changed support not working by @jacob314 in
72
- [#21050](https://github.com/google-gemini/gemini-cli/pull/21050)
73
- - fix(cli): register extension lifecycle events in DebugProfiler by
74
- @fayerman-source in
75
- [#20101](https://github.com/google-gemini/gemini-cli/pull/20101)
76
- - chore(dev): update vscode settings for typescriptreact by @rohit-4321 in
77
- [#19907](https://github.com/google-gemini/gemini-cli/pull/19907)
78
- - fix(cli): enable multi-arch docker builds for sandbox by @ru-aish in
79
- [#19821](https://github.com/google-gemini/gemini-cli/pull/19821)
80
- - Changelog for v0.32.0 by @gemini-cli-robot in
81
- [#21033](https://github.com/google-gemini/gemini-cli/pull/21033)
82
- - Changelog for v0.33.0-preview.1 by @gemini-cli-robot in
83
- [#21058](https://github.com/google-gemini/gemini-cli/pull/21058)
84
- - feat(core): improve @scripts/copy_files.js autocomplete to prioritize
85
- filenames by @sehoon38 in
86
- [#21064](https://github.com/google-gemini/gemini-cli/pull/21064)
87
- - feat(sandbox): add experimental LXC container sandbox support by @h30s in
88
- [#20735](https://github.com/google-gemini/gemini-cli/pull/20735)
89
- - feat(evals): add overall pass rate row to eval nightly summary table by
90
- @gundermanc in
91
- [#20905](https://github.com/google-gemini/gemini-cli/pull/20905)
92
- - feat(telemetry): include language in telemetry and fix accepted lines
93
- computation by @gundermanc in
94
- [#21126](https://github.com/google-gemini/gemini-cli/pull/21126)
95
- - Changelog for v0.32.1 by @gemini-cli-robot in
96
- [#21055](https://github.com/google-gemini/gemini-cli/pull/21055)
97
- - feat(core): add robustness tests, logging, and metrics for CodeAssistServer
98
- SSE parsing by @yunaseoul in
99
- [#21013](https://github.com/google-gemini/gemini-cli/pull/21013)
100
- - feat: add issue assignee workflow by @kartikangiras in
101
- [#21003](https://github.com/google-gemini/gemini-cli/pull/21003)
102
- - fix: improve error message when OAuth succeeds but project ID is required by
103
- @Nixxx19 in [#21070](https://github.com/google-gemini/gemini-cli/pull/21070)
104
- - feat(loop-reduction): implement iterative loop detection and model feedback by
105
- @aishaneeshah in
106
- [#20763](https://github.com/google-gemini/gemini-cli/pull/20763)
107
- - chore(github): require prompt approvers for agent prompt files by @gundermanc
108
- in [#20896](https://github.com/google-gemini/gemini-cli/pull/20896)
109
- - Docs: Create tools reference by @jkcinouye in
110
- [#19470](https://github.com/google-gemini/gemini-cli/pull/19470)
111
- - fix(core, a2a-server): prevent hang during OAuth in non-interactive sessions
112
- by @spencer426 in
113
- [#21045](https://github.com/google-gemini/gemini-cli/pull/21045)
114
- - chore(cli): enable deprecated settings removal by default by @yashodipmore in
115
- [#20682](https://github.com/google-gemini/gemini-cli/pull/20682)
116
- - feat(core): Disable fast ack helper for hints. by @joshualitt in
117
- [#21011](https://github.com/google-gemini/gemini-cli/pull/21011)
118
- - fix(ui): suppress redundant failure note when tool error note is shown by
119
- @NTaylorMullen in
120
- [#21078](https://github.com/google-gemini/gemini-cli/pull/21078)
121
- - docs: document planning workflows with Conductor example by @jerop in
122
- [#21166](https://github.com/google-gemini/gemini-cli/pull/21166)
123
- - feat(release): ship esbuild bundle in npm package by @genneth in
124
- [#19171](https://github.com/google-gemini/gemini-cli/pull/19171)
125
- - fix(extensions): preserve symlinks in extension source path while enforcing
126
- folder trust by @galz10 in
127
- [#20867](https://github.com/google-gemini/gemini-cli/pull/20867)
128
- - fix(cli): defer tool exclusions to policy engine in non-interactive mode by
129
- @EricRahm in [#20639](https://github.com/google-gemini/gemini-cli/pull/20639)
130
- - fix(ui): removed double padding on rendered content by @devr0306 in
131
- [#21029](https://github.com/google-gemini/gemini-cli/pull/21029)
132
- - fix(core): truncate excessively long lines in grep search output by
133
- @gundermanc in
134
- [#21147](https://github.com/google-gemini/gemini-cli/pull/21147)
135
- - feat: add custom footer configuration via `/footer` by @jackwotherspoon in
136
- [#19001](https://github.com/google-gemini/gemini-cli/pull/19001)
137
- - perf(core): fix OOM crash in long-running sessions by @WizardsForgeGames in
138
- [#19608](https://github.com/google-gemini/gemini-cli/pull/19608)
139
- - refactor(cli): categorize built-in themes into dark/ and light/ directories by
140
- @JayadityaGit in
141
- [#18634](https://github.com/google-gemini/gemini-cli/pull/18634)
142
- - fix(core): explicitly allow codebase_investigator and cli_help in read-only
143
- mode by @Adib234 in
144
- [#21157](https://github.com/google-gemini/gemini-cli/pull/21157)
145
- - test: add browser agent integration tests by @kunal-10-cloud in
146
- [#21151](https://github.com/google-gemini/gemini-cli/pull/21151)
147
- - fix(cli): fix enabling kitty codes on Windows Terminal by @scidomino in
148
- [#21136](https://github.com/google-gemini/gemini-cli/pull/21136)
149
- - refactor(core): extract shared OAuth flow primitives from MCPOAuthProvider by
150
- @SandyTao520 in
151
- [#20895](https://github.com/google-gemini/gemini-cli/pull/20895)
152
- - fix(ui): add partial output to cancelled shell UI by @devr0306 in
153
- [#21178](https://github.com/google-gemini/gemini-cli/pull/21178)
154
- - fix(cli): replace hardcoded keybinding strings with dynamic formatters by
155
- @scidomino in [#21159](https://github.com/google-gemini/gemini-cli/pull/21159)
156
- - DOCS: Update quota and pricing page by @g-samroberts in
157
- [#21194](https://github.com/google-gemini/gemini-cli/pull/21194)
158
- - feat(telemetry): implement Clearcut logging for startup statistics by
159
- @yunaseoul in [#21172](https://github.com/google-gemini/gemini-cli/pull/21172)
160
- - feat(triage): add area/documentation to issue triage by @g-samroberts in
161
- [#21222](https://github.com/google-gemini/gemini-cli/pull/21222)
162
- - Fix so shell calls are formatted by @jacob314 in
163
- [#21237](https://github.com/google-gemini/gemini-cli/pull/21237)
164
- - feat(cli): add native gVisor (runsc) sandboxing support by @Zheyuan-Lin in
165
- [#21062](https://github.com/google-gemini/gemini-cli/pull/21062)
166
- - docs: use absolute paths for internal links in plan-mode.md by @jerop in
167
- [#21299](https://github.com/google-gemini/gemini-cli/pull/21299)
168
- - fix(core): prevent unhandled AbortError crash during stream loop detection by
169
- @7hokerz in [#21123](https://github.com/google-gemini/gemini-cli/pull/21123)
170
- - fix:reorder env var redaction checks to scan values first by @kartikangiras in
171
- [#21059](https://github.com/google-gemini/gemini-cli/pull/21059)
172
- - fix(acp): rename --experimental-acp to --acp & remove Zed-specific refrences
173
- by @skeshive in
174
- [#21171](https://github.com/google-gemini/gemini-cli/pull/21171)
175
- - feat(core): fallback to 2.5 models with no access for toolcalls by @sehoon38
176
- in [#21283](https://github.com/google-gemini/gemini-cli/pull/21283)
177
- - test(core): improve testing for API request/response parsing by @sehoon38 in
178
- [#21227](https://github.com/google-gemini/gemini-cli/pull/21227)
179
- - docs(links): update docs-writer skill and fix broken link by @g-samroberts in
180
- [#21314](https://github.com/google-gemini/gemini-cli/pull/21314)
181
- - Fix code colorizer ansi escape bug. by @jacob314 in
182
- [#21321](https://github.com/google-gemini/gemini-cli/pull/21321)
183
- - remove wildcard behavior on keybindings by @scidomino in
184
- [#21315](https://github.com/google-gemini/gemini-cli/pull/21315)
185
- - feat(acp): Add support for AI Gateway auth by @skeshive in
186
- [#21305](https://github.com/google-gemini/gemini-cli/pull/21305)
187
- - fix(theme): improve theme color contrast for macOS Terminal.app by @clocky in
188
- [#21175](https://github.com/google-gemini/gemini-cli/pull/21175)
189
- - feat (core): Implement tracker related SI changes by @anj-s in
190
- [#19964](https://github.com/google-gemini/gemini-cli/pull/19964)
191
- - Changelog for v0.33.0-preview.2 by @gemini-cli-robot in
192
- [#21333](https://github.com/google-gemini/gemini-cli/pull/21333)
193
- - Changelog for v0.33.0-preview.3 by @gemini-cli-robot in
194
- [#21347](https://github.com/google-gemini/gemini-cli/pull/21347)
195
- - docs: format release times as HH:MM UTC by @pavan-sh in
196
- [#20726](https://github.com/google-gemini/gemini-cli/pull/20726)
197
- - fix(cli): implement --all flag for extensions uninstall by @sehoon38 in
198
- [#21319](https://github.com/google-gemini/gemini-cli/pull/21319)
199
- - docs: fix incorrect relative links to command reference by @kanywst in
200
- [#20964](https://github.com/google-gemini/gemini-cli/pull/20964)
201
- - documentiong ensures ripgrep by @Jatin24062005 in
202
- [#21298](https://github.com/google-gemini/gemini-cli/pull/21298)
203
- - fix(core): handle AbortError thrown during processTurn by @MumuTW in
204
- [#21296](https://github.com/google-gemini/gemini-cli/pull/21296)
205
- - docs(cli): clarify ! command output visibility in shell commands tutorial by
206
- @MohammedADev in
207
- [#21041](https://github.com/google-gemini/gemini-cli/pull/21041)
208
- - fix: logic for task tracker strategy and remove tracker tools by @anj-s in
209
- [#21355](https://github.com/google-gemini/gemini-cli/pull/21355)
210
- - fix(partUtils): display media type and size for inline data parts by @Aboudjem
211
- in [#21358](https://github.com/google-gemini/gemini-cli/pull/21358)
212
- - Fix(accessibility): add screen reader support to RewindViewer by @Famous077 in
213
- [#20750](https://github.com/google-gemini/gemini-cli/pull/20750)
214
- - fix(hooks): propagate stopHookActive in AfterAgent retry path (#20426) by
215
- @Aarchi-07 in [#20439](https://github.com/google-gemini/gemini-cli/pull/20439)
216
- - fix(core): deduplicate GEMINI.md files by device/inode on case-insensitive
217
- filesystems (#19904) by @Nixxx19 in
218
- [#19915](https://github.com/google-gemini/gemini-cli/pull/19915)
219
- - feat(core): add concurrency safety guidance for subagent delegation (#17753)
220
- by @abhipatel12 in
221
- [#21278](https://github.com/google-gemini/gemini-cli/pull/21278)
222
- - feat(ui): dynamically generate all keybinding hints by @scidomino in
223
- [#21346](https://github.com/google-gemini/gemini-cli/pull/21346)
224
- - feat(core): implement unified KeychainService and migrate token storage by
225
- @ehedlund in [#21344](https://github.com/google-gemini/gemini-cli/pull/21344)
226
- - fix(cli): gracefully handle --resume when no sessions exist by @SandyTao520 in
227
- [#21429](https://github.com/google-gemini/gemini-cli/pull/21429)
228
- - fix(plan): keep approved plan during chat compression by @ruomengz in
229
- [#21284](https://github.com/google-gemini/gemini-cli/pull/21284)
230
- - feat(core): implement generic CacheService and optimize setupUser by @sehoon38
231
- in [#21374](https://github.com/google-gemini/gemini-cli/pull/21374)
232
- - Update quota and pricing documentation with subscription tiers by @srithreepo
233
- in [#21351](https://github.com/google-gemini/gemini-cli/pull/21351)
234
- - fix(core): append correct OTLP paths for HTTP exporters by
235
- @sebastien-prudhomme in
236
- [#16836](https://github.com/google-gemini/gemini-cli/pull/16836)
237
- - Changelog for v0.33.0-preview.4 by @gemini-cli-robot in
238
- [#21354](https://github.com/google-gemini/gemini-cli/pull/21354)
239
- - feat(cli): implement dot-prefixing for slash command conflicts by @ehedlund in
240
- [#20979](https://github.com/google-gemini/gemini-cli/pull/20979)
241
- - refactor(core): standardize MCP tool naming to mcp\_ FQN format by
242
- @abhipatel12 in
243
- [#21425](https://github.com/google-gemini/gemini-cli/pull/21425)
244
- - feat(cli): hide gemma settings from display and mark as experimental by
245
- @abhipatel12 in
246
- [#21471](https://github.com/google-gemini/gemini-cli/pull/21471)
247
- - feat(skills): refine string-reviewer guidelines and description by @clocky in
248
- [#20368](https://github.com/google-gemini/gemini-cli/pull/20368)
249
- - fix(core): whitelist TERM and COLORTERM in environment sanitization by
250
- @deadsmash07 in
251
- [#20514](https://github.com/google-gemini/gemini-cli/pull/20514)
252
- - fix(billing): fix overage strategy lifecycle and settings integration by
253
- @gsquared94 in
254
- [#21236](https://github.com/google-gemini/gemini-cli/pull/21236)
255
- - fix: expand paste placeholders in TextInput on submit by @Jefftree in
256
- [#19946](https://github.com/google-gemini/gemini-cli/pull/19946)
257
- - fix(core): add in-memory cache to ChatRecordingService to prevent OOM by
258
- @SandyTao520 in
259
- [#21502](https://github.com/google-gemini/gemini-cli/pull/21502)
260
- - feat(cli): overhaul thinking UI by @keithguerin in
261
- [#18725](https://github.com/google-gemini/gemini-cli/pull/18725)
262
- - fix(ui): unify Ctrl+O expansion hint experience across buffer modes by
263
- @jwhelangoog in
264
- [#21474](https://github.com/google-gemini/gemini-cli/pull/21474)
265
- - fix(cli): correct shell height reporting by @jacob314 in
266
- [#21492](https://github.com/google-gemini/gemini-cli/pull/21492)
267
- - Make test suite pass when the GEMINI_SYSTEM_MD env variable or
268
- GEMINI_WRITE_SYSTEM_MD variable happens to be set locally/ by @jacob314 in
269
- [#21480](https://github.com/google-gemini/gemini-cli/pull/21480)
270
- - Disallow underspecified types by @gundermanc in
271
- [#21485](https://github.com/google-gemini/gemini-cli/pull/21485)
272
- - refactor(cli): standardize on 'reload' verb for all components by @keithguerin
273
- in [#20654](https://github.com/google-gemini/gemini-cli/pull/20654)
274
- - feat(cli): Invert quota language to 'percent used' by @keithguerin in
275
- [#20100](https://github.com/google-gemini/gemini-cli/pull/20100)
276
- - Docs: Add documentation for notifications (experimental)(macOS) by @jkcinouye
277
- in [#21163](https://github.com/google-gemini/gemini-cli/pull/21163)
278
- - Code review comments as a pr by @jacob314 in
279
- [#21209](https://github.com/google-gemini/gemini-cli/pull/21209)
280
- - feat(cli): unify /chat and /resume command UX by @LyalinDotCom in
281
- [#20256](https://github.com/google-gemini/gemini-cli/pull/20256)
282
- - docs: fix typo 'allowslisted' -> 'allowlisted' in mcp-server.md by
46
+ [#21966](https://github.com/google-gemini/gemini-cli/pull/21966)
47
+ - refactor(a2a): remove legacy CoreToolScheduler by @adamfweidman in
48
+ [#21955](https://github.com/google-gemini/gemini-cli/pull/21955)
49
+ - feat(ui): add missing vim mode motions (X, ~, r, f/F/t/T, df/dt and friends)
50
+ by @aanari in [#21932](https://github.com/google-gemini/gemini-cli/pull/21932)
51
+ - Feat/retry fetch notifications by @aishaneeshah in
52
+ [#21813](https://github.com/google-gemini/gemini-cli/pull/21813)
53
+ - fix(core): remove OAuth check from handle fallback and clean up stray file by
54
+ @sehoon38 in [#21962](https://github.com/google-gemini/gemini-cli/pull/21962)
55
+ - feat(cli): support literal character keybindings and extended Kitty protocol
56
+ keys by @scidomino in
57
+ [#21972](https://github.com/google-gemini/gemini-cli/pull/21972)
58
+ - fix(ui): clamp cursor to last char after all NORMAL mode deletes by @aanari in
59
+ [#21973](https://github.com/google-gemini/gemini-cli/pull/21973)
60
+ - test(core): add missing tests for prompts/utils.ts by @krrishverma1805-web in
61
+ [#19941](https://github.com/google-gemini/gemini-cli/pull/19941)
62
+ - fix(cli): allow scrolling keys in copy mode (Ctrl+S selection mode) by
63
+ @nsalerni in [#19933](https://github.com/google-gemini/gemini-cli/pull/19933)
64
+ - docs(cli): add custom keybinding documentation by @scidomino in
65
+ [#21980](https://github.com/google-gemini/gemini-cli/pull/21980)
66
+ - docs: fix misleading YOLO mode description in defaultApprovalMode by
283
67
  @Gyanranjan-Priyam in
284
- [#21665](https://github.com/google-gemini/gemini-cli/pull/21665)
285
- - fix(core): display actual graph output in tracker_visualize tool by @anj-s in
286
- [#21455](https://github.com/google-gemini/gemini-cli/pull/21455)
287
- - fix(core): sanitize SSE-corrupted JSON and domain strings in error
288
- classification by @gsquared94 in
289
- [#21702](https://github.com/google-gemini/gemini-cli/pull/21702)
290
- - Docs: Make documentation links relative by @diodesign in
291
- [#21490](https://github.com/google-gemini/gemini-cli/pull/21490)
292
- - feat(cli): expose /tools desc as explicit subcommand for discoverability by
293
- @aworki in [#21241](https://github.com/google-gemini/gemini-cli/pull/21241)
294
- - feat(cli): add /compact alias for /compress command by @jackwotherspoon in
295
- [#21711](https://github.com/google-gemini/gemini-cli/pull/21711)
296
- - feat(plan): enable Plan Mode by default by @jerop in
297
- [#21713](https://github.com/google-gemini/gemini-cli/pull/21713)
298
- - feat(core): Introduce `AgentLoopContext`. by @joshualitt in
299
- [#21198](https://github.com/google-gemini/gemini-cli/pull/21198)
300
- - fix(core): resolve symlinks for non-existent paths during validation by
301
- @Adib234 in [#21487](https://github.com/google-gemini/gemini-cli/pull/21487)
302
- - docs: document tool exclusion from memory via deny policy by @Abhijit-2592 in
303
- [#21428](https://github.com/google-gemini/gemini-cli/pull/21428)
304
- - perf(core): cache loadApiKey to reduce redundant keychain access by @sehoon38
305
- in [#21520](https://github.com/google-gemini/gemini-cli/pull/21520)
306
- - feat(cli): implement /upgrade command by @sehoon38 in
307
- [#21511](https://github.com/google-gemini/gemini-cli/pull/21511)
308
- - Feat/browser agent progress emission by @kunal-10-cloud in
309
- [#21218](https://github.com/google-gemini/gemini-cli/pull/21218)
310
- - fix(settings): display objects as JSON instead of [object Object] by
311
- @Zheyuan-Lin in
312
- [#21458](https://github.com/google-gemini/gemini-cli/pull/21458)
313
- - Unmarshall update by @DavidAPierce in
314
- [#21721](https://github.com/google-gemini/gemini-cli/pull/21721)
315
- - Update mcp's list function to check for disablement. by @DavidAPierce in
316
- [#21148](https://github.com/google-gemini/gemini-cli/pull/21148)
317
- - robustness(core): static checks to validate history is immutable by @jacob314
318
- in [#21228](https://github.com/google-gemini/gemini-cli/pull/21228)
319
- - refactor(cli): better react patterns for BaseSettingsDialog by @psinha40898 in
320
- [#21206](https://github.com/google-gemini/gemini-cli/pull/21206)
321
- - feat(security): implement robust IP validation and safeFetch foundation by
322
- @alisa-alisa in
323
- [#21401](https://github.com/google-gemini/gemini-cli/pull/21401)
324
- - feat(core): improve subagent result display by @joshualitt in
325
- [#20378](https://github.com/google-gemini/gemini-cli/pull/20378)
326
- - docs: fix broken markdown syntax and anchor links in /tools by @campox747 in
327
- [#20902](https://github.com/google-gemini/gemini-cli/pull/20902)
328
- - feat(policy): support subagent-specific policies in TOML by @akh64bit in
329
- [#21431](https://github.com/google-gemini/gemini-cli/pull/21431)
330
- - Add script to speed up reviewing PRs adding a worktree. by @jacob314 in
331
- [#21748](https://github.com/google-gemini/gemini-cli/pull/21748)
332
- - fix(core): prevent infinite recursion in symlink resolution by @Adib234 in
333
- [#21750](https://github.com/google-gemini/gemini-cli/pull/21750)
334
- - fix(docs): fix headless mode docs by @ame2en in
335
- [#21287](https://github.com/google-gemini/gemini-cli/pull/21287)
336
- - feat/redesign header compact by @jacob314 in
337
- [#20922](https://github.com/google-gemini/gemini-cli/pull/20922)
338
- - refactor: migrate to useKeyMatchers hook by @scidomino in
339
- [#21753](https://github.com/google-gemini/gemini-cli/pull/21753)
340
- - perf(cli): cache loadSettings to reduce redundant disk I/O at startup by
341
- @sehoon38 in [#21521](https://github.com/google-gemini/gemini-cli/pull/21521)
342
- - fix(core): resolve Windows line ending and path separation bugs across CLI by
343
- @muhammadusman586 in
344
- [#21068](https://github.com/google-gemini/gemini-cli/pull/21068)
345
- - docs: fix heading formatting in commands.md and phrasing in tools-api.md by
346
- @campox747 in [#20679](https://github.com/google-gemini/gemini-cli/pull/20679)
347
- - refactor(ui): unify keybinding infrastructure and support string
348
- initialization by @scidomino in
349
- [#21776](https://github.com/google-gemini/gemini-cli/pull/21776)
350
- - Add support for updating extension sources and names by @chrstnb in
351
- [#21715](https://github.com/google-gemini/gemini-cli/pull/21715)
352
- - fix(core): handle GUI editor non-zero exit codes gracefully by @reyyanxahmed
353
- in [#20376](https://github.com/google-gemini/gemini-cli/pull/20376)
354
- - fix(core): destroy PTY on kill() and exception to prevent fd leak by @nbardy
355
- in [#21693](https://github.com/google-gemini/gemini-cli/pull/21693)
356
- - fix(docs): update theme screenshots and add missing themes by @ashmod in
357
- [#20689](https://github.com/google-gemini/gemini-cli/pull/20689)
358
- - refactor(cli): rename 'return' key to 'enter' internally by @scidomino in
359
- [#21796](https://github.com/google-gemini/gemini-cli/pull/21796)
360
- - build(release): restrict npm bundling to non-stable tags by @sehoon38 in
361
- [#21821](https://github.com/google-gemini/gemini-cli/pull/21821)
362
- - fix(core): override toolRegistry property for sub-agent schedulers by
68
+ [#21878](https://github.com/google-gemini/gemini-cli/pull/21878)
69
+ - fix: clean up /clear and /resume by @jackwotherspoon in
70
+ [#22007](https://github.com/google-gemini/gemini-cli/pull/22007)
71
+ - fix(core)#20941: reap orphaned descendant processes on PTY abort by @manavmax
72
+ in [#21124](https://github.com/google-gemini/gemini-cli/pull/21124)
73
+ - fix(core): update language detection to use LSP 3.18 identifiers by @yunaseoul
74
+ in [#21931](https://github.com/google-gemini/gemini-cli/pull/21931)
75
+ - feat(cli): support removing keybindings via '-' prefix by @scidomino in
76
+ [#22042](https://github.com/google-gemini/gemini-cli/pull/22042)
77
+ - feat(policy): add --admin-policy flag for supplemental admin policies by
78
+ @galz10 in [#20360](https://github.com/google-gemini/gemini-cli/pull/20360)
79
+ - merge duplicate imports packages/cli/src subtask1 by @Nixxx19 in
80
+ [#22040](https://github.com/google-gemini/gemini-cli/pull/22040)
81
+ - perf(core): parallelize user quota and experiments fetching in refreshAuth by
82
+ @sehoon38 in [#21648](https://github.com/google-gemini/gemini-cli/pull/21648)
83
+ - Changelog for v0.34.0-preview.0 by @gemini-cli-robot in
84
+ [#21965](https://github.com/google-gemini/gemini-cli/pull/21965)
85
+ - Changelog for v0.33.0 by @gemini-cli-robot in
86
+ [#21967](https://github.com/google-gemini/gemini-cli/pull/21967)
87
+ - fix(core): handle EISDIR in robustRealpath on Windows by @sehoon38 in
88
+ [#21984](https://github.com/google-gemini/gemini-cli/pull/21984)
89
+ - feat(core): include initiationMethod in conversation interaction telemetry by
90
+ @yunaseoul in [#22054](https://github.com/google-gemini/gemini-cli/pull/22054)
91
+ - feat(ui): add vim yank/paste (y/p/P) with unnamed register by @aanari in
92
+ [#22026](https://github.com/google-gemini/gemini-cli/pull/22026)
93
+ - fix(core): enable numerical routing for api key users by @sehoon38 in
94
+ [#21977](https://github.com/google-gemini/gemini-cli/pull/21977)
95
+ - feat(telemetry): implement retry attempt telemetry for network related retries
96
+ by @aishaneeshah in
97
+ [#22027](https://github.com/google-gemini/gemini-cli/pull/22027)
98
+ - fix(policy): remove unnecessary escapeRegex from pattern builders by
99
+ @spencer426 in
100
+ [#21921](https://github.com/google-gemini/gemini-cli/pull/21921)
101
+ - fix(core): preserve dynamic tool descriptions on session resume by @sehoon38
102
+ in [#18835](https://github.com/google-gemini/gemini-cli/pull/18835)
103
+ - chore: allow 'gemini-3.1' in sensitive keyword linter by @scidomino in
104
+ [#22065](https://github.com/google-gemini/gemini-cli/pull/22065)
105
+ - feat(core): support custom base URL via env vars by @junaiddshaukat in
106
+ [#21561](https://github.com/google-gemini/gemini-cli/pull/21561)
107
+ - merge duplicate imports packages/cli/src subtask2 by @Nixxx19 in
108
+ [#22051](https://github.com/google-gemini/gemini-cli/pull/22051)
109
+ - fix(core): silently retry API errors up to 3 times before halting session by
110
+ @spencer426 in
111
+ [#21989](https://github.com/google-gemini/gemini-cli/pull/21989)
112
+ - feat(core): simplify subagent success UI and improve early termination display
113
+ by @abhipatel12 in
114
+ [#21917](https://github.com/google-gemini/gemini-cli/pull/21917)
115
+ - merge duplicate imports packages/cli/src subtask3 by @Nixxx19 in
116
+ [#22056](https://github.com/google-gemini/gemini-cli/pull/22056)
117
+ - fix(hooks): fix BeforeAgent/AfterAgent inconsistencies (#18514) by @krishdef7
118
+ in [#21383](https://github.com/google-gemini/gemini-cli/pull/21383)
119
+ - feat(core): implement SandboxManager interface and config schema by @galz10 in
120
+ [#21774](https://github.com/google-gemini/gemini-cli/pull/21774)
121
+ - docs: document npm deprecation warnings as safe to ignore by @h30s in
122
+ [#20692](https://github.com/google-gemini/gemini-cli/pull/20692)
123
+ - fix: remove status/need-triage from maintainer-only issues by @SandyTao520 in
124
+ [#22044](https://github.com/google-gemini/gemini-cli/pull/22044)
125
+ - fix(core): propagate subagent context to policy engine by @NTaylorMullen in
126
+ [#22086](https://github.com/google-gemini/gemini-cli/pull/22086)
127
+ - fix(cli): resolve skill uninstall failure when skill name is updated by
128
+ @NTaylorMullen in
129
+ [#22085](https://github.com/google-gemini/gemini-cli/pull/22085)
130
+ - docs(plan): clarify interactive plan editing with Ctrl+X by @Adib234 in
131
+ [#22076](https://github.com/google-gemini/gemini-cli/pull/22076)
132
+ - fix(policy): ensure user policies are loaded when policyPaths is empty by
133
+ @NTaylorMullen in
134
+ [#22090](https://github.com/google-gemini/gemini-cli/pull/22090)
135
+ - Docs: Add documentation for model steering (experimental). by @jkcinouye in
136
+ [#21154](https://github.com/google-gemini/gemini-cli/pull/21154)
137
+ - Add issue for automated changelogs by @g-samroberts in
138
+ [#21912](https://github.com/google-gemini/gemini-cli/pull/21912)
139
+ - fix(core): secure argsPattern and revert WEB_FETCH_TOOL_NAME escalation by
140
+ @spencer426 in
141
+ [#22104](https://github.com/google-gemini/gemini-cli/pull/22104)
142
+ - feat(core): differentiate User-Agent for a2a-server and ACP clients by
143
+ @bdmorgan in [#22059](https://github.com/google-gemini/gemini-cli/pull/22059)
144
+ - refactor(core): extract ExecutionLifecycleService for tool backgrounding by
145
+ @adamfweidman in
146
+ [#21717](https://github.com/google-gemini/gemini-cli/pull/21717)
147
+ - feat: Display pending and confirming tool calls by @sripasg in
148
+ [#22106](https://github.com/google-gemini/gemini-cli/pull/22106)
149
+ - feat(browser): implement input blocker overlay during automation by
150
+ @kunal-10-cloud in
151
+ [#21132](https://github.com/google-gemini/gemini-cli/pull/21132)
152
+ - fix: register themes on extension load not start by @jackwotherspoon in
153
+ [#22148](https://github.com/google-gemini/gemini-cli/pull/22148)
154
+ - feat(ui): Do not show Ultra users /upgrade hint (#22154) by @sehoon38 in
155
+ [#22156](https://github.com/google-gemini/gemini-cli/pull/22156)
156
+ - chore: remove unnecessary log for themes by @jackwotherspoon in
157
+ [#22165](https://github.com/google-gemini/gemini-cli/pull/22165)
158
+ - fix(core): resolve MCP tool FQN validation, schema export, and wildcards in
159
+ subagents by @abhipatel12 in
160
+ [#22069](https://github.com/google-gemini/gemini-cli/pull/22069)
161
+ - fix(cli): validate --model argument at startup by @JaisalJain in
162
+ [#21393](https://github.com/google-gemini/gemini-cli/pull/21393)
163
+ - fix(core): handle policy ALLOW for exit_plan_mode by @backnotprop in
164
+ [#21802](https://github.com/google-gemini/gemini-cli/pull/21802)
165
+ - feat(telemetry): add Clearcut instrumentation for AI credits billing events by
363
166
  @gsquared94 in
364
- [#21766](https://github.com/google-gemini/gemini-cli/pull/21766)
365
- - fix(cli): make footer items equally spaced by @jacob314 in
366
- [#21843](https://github.com/google-gemini/gemini-cli/pull/21843)
367
- - docs: clarify global policy rules application in plan mode by @jerop in
368
- [#21864](https://github.com/google-gemini/gemini-cli/pull/21864)
369
- - fix(core): ensure correct flash model steering in plan mode implementation
370
- phase by @jerop in
371
- [#21871](https://github.com/google-gemini/gemini-cli/pull/21871)
372
- - fix(core): update @a2a-js/sdk to 0.3.11 by @adamfweidman in
373
- [#21875](https://github.com/google-gemini/gemini-cli/pull/21875)
374
- - refactor(core): improve API response error logging when retry by @yunaseoul in
375
- [#21784](https://github.com/google-gemini/gemini-cli/pull/21784)
376
- - fix(ui): handle headless execution in credits and upgrade dialogs by
167
+ [#22153](https://github.com/google-gemini/gemini-cli/pull/22153)
168
+ - feat(core): add google credentials provider for remote agents by @adamfweidman
169
+ in [#21024](https://github.com/google-gemini/gemini-cli/pull/21024)
170
+ - test(cli): add integration test for node deprecation warnings by @Nixxx19 in
171
+ [#20215](https://github.com/google-gemini/gemini-cli/pull/20215)
172
+ - feat(cli): allow safe tools to execute concurrently while agent is busy by
173
+ @spencer426 in
174
+ [#21988](https://github.com/google-gemini/gemini-cli/pull/21988)
175
+ - feat(core): implement model-driven parallel tool scheduler by @abhipatel12 in
176
+ [#21933](https://github.com/google-gemini/gemini-cli/pull/21933)
177
+ - update vulnerable deps by @scidomino in
178
+ [#22180](https://github.com/google-gemini/gemini-cli/pull/22180)
179
+ - fix(core): fix startup stats to use int values for timestamps and durations by
180
+ @yunaseoul in [#22201](https://github.com/google-gemini/gemini-cli/pull/22201)
181
+ - fix(core): prevent duplicate tool schemas for instantiated tools by
182
+ @abhipatel12 in
183
+ [#22204](https://github.com/google-gemini/gemini-cli/pull/22204)
184
+ - fix(core): add proxy routing support for remote A2A subagents by @adamfweidman
185
+ in [#22199](https://github.com/google-gemini/gemini-cli/pull/22199)
186
+ - fix(core/ide): add Antigravity CLI fallbacks by @apfine in
187
+ [#22030](https://github.com/google-gemini/gemini-cli/pull/22030)
188
+ - fix(browser): fix duplicate function declaration error in browser agent by
377
189
  @gsquared94 in
378
- [#21850](https://github.com/google-gemini/gemini-cli/pull/21850)
379
- - fix(core): treat retryable errors with >5 min delay as terminal quota errors
380
- by @gsquared94 in
381
- [#21881](https://github.com/google-gemini/gemini-cli/pull/21881)
382
- - feat(telemetry): add specific PR, issue, and custom tracking IDs for GitHub
383
- Actions by @cocosheng-g in
384
- [#21129](https://github.com/google-gemini/gemini-cli/pull/21129)
385
- - feat(core): add OAuth2 Authorization Code auth provider for A2A agents by
190
+ [#22207](https://github.com/google-gemini/gemini-cli/pull/22207)
191
+ - feat(core): implement Stage 1 improvements for webfetch tool by @aishaneeshah
192
+ in [#21313](https://github.com/google-gemini/gemini-cli/pull/21313)
193
+ - Changelog for v0.34.0-preview.1 by @gemini-cli-robot in
194
+ [#22194](https://github.com/google-gemini/gemini-cli/pull/22194)
195
+ - perf(cli): enable code splitting and deferred UI loading by @sehoon38 in
196
+ [#22117](https://github.com/google-gemini/gemini-cli/pull/22117)
197
+ - fix: remove unused img.png from project root by @SandyTao520 in
198
+ [#22222](https://github.com/google-gemini/gemini-cli/pull/22222)
199
+ - docs(local model routing): add docs on how to use Gemma for local model
200
+ routing by @douglas-reid in
201
+ [#21365](https://github.com/google-gemini/gemini-cli/pull/21365)
202
+ - feat(a2a): enable native gRPC support and protocol routing by @alisa-alisa in
203
+ [#21403](https://github.com/google-gemini/gemini-cli/pull/21403)
204
+ - fix(cli): escape @ symbols on paste to prevent unintended file expansion by
205
+ @krishdef7 in [#21239](https://github.com/google-gemini/gemini-cli/pull/21239)
206
+ - feat(core): add trajectoryId to ConversationOffered telemetry by @yunaseoul in
207
+ [#22214](https://github.com/google-gemini/gemini-cli/pull/22214)
208
+ - docs: clarify that tools.core is an allowlist for ALL built-in tools by
209
+ @hobostay in [#18813](https://github.com/google-gemini/gemini-cli/pull/18813)
210
+ - docs(plan): document hooks with plan mode by @ruomengz in
211
+ [#22197](https://github.com/google-gemini/gemini-cli/pull/22197)
212
+ - Changelog for v0.33.1 by @gemini-cli-robot in
213
+ [#22235](https://github.com/google-gemini/gemini-cli/pull/22235)
214
+ - build(ci): fix false positive evals trigger on merge commits by @gundermanc in
215
+ [#22237](https://github.com/google-gemini/gemini-cli/pull/22237)
216
+ - fix(core): explicitly pass messageBus to policy engine for MCP tool saves by
217
+ @abhipatel12 in
218
+ [#22255](https://github.com/google-gemini/gemini-cli/pull/22255)
219
+ - feat(core): Fully migrate packages/core to AgentLoopContext. by @joshualitt in
220
+ [#22115](https://github.com/google-gemini/gemini-cli/pull/22115)
221
+ - feat(core): increase sub-agent turn and time limits by @bdmorgan in
222
+ [#22196](https://github.com/google-gemini/gemini-cli/pull/22196)
223
+ - feat(core): instrument file system tools for JIT context discovery by
386
224
  @SandyTao520 in
387
- [#21496](https://github.com/google-gemini/gemini-cli/pull/21496)
388
- - feat(cli): give visibility to /tools list command in the TUI and follow the
389
- subcommand pattern of other commands by @JayadityaGit in
390
- [#21213](https://github.com/google-gemini/gemini-cli/pull/21213)
391
- - Handle dirty worktrees better and warn about running scripts/review.sh on
392
- untrusted code. by @jacob314 in
393
- [#21791](https://github.com/google-gemini/gemini-cli/pull/21791)
394
- - feat(policy): support auto-add to policy by default and scoped persistence by
395
- @spencer426 in
396
- [#20361](https://github.com/google-gemini/gemini-cli/pull/20361)
397
- - fix(core): handle AbortError when ESC cancels tool execution by @PrasannaPal21
398
- in [#20863](https://github.com/google-gemini/gemini-cli/pull/20863)
399
- - fix(release): Improve Patch Release Workflow Comments: Clearer Approval
400
- Guidance by @jerop in
401
- [#21894](https://github.com/google-gemini/gemini-cli/pull/21894)
402
- - docs: clarify telemetry setup and comprehensive data map by @jerop in
403
- [#21879](https://github.com/google-gemini/gemini-cli/pull/21879)
404
- - feat(core): add per-model token usage to stream-json output by @yongruilin in
405
- [#21839](https://github.com/google-gemini/gemini-cli/pull/21839)
406
- - docs: remove experimental badge from plan mode in sidebar by @jerop in
407
- [#21906](https://github.com/google-gemini/gemini-cli/pull/21906)
408
- - fix(cli): prevent race condition in loop detection retry by @skyvanguard in
409
- [#17916](https://github.com/google-gemini/gemini-cli/pull/17916)
410
- - Add behavioral evals for tracker by @anj-s in
411
- [#20069](https://github.com/google-gemini/gemini-cli/pull/20069)
412
- - fix(auth): update terminology to 'sign in' and 'sign out' by @clocky in
413
- [#20892](https://github.com/google-gemini/gemini-cli/pull/20892)
414
- - docs(mcp): standardize mcp tool fqn documentation by @abhipatel12 in
415
- [#21664](https://github.com/google-gemini/gemini-cli/pull/21664)
416
- - fix(ui): prevent empty tool-group border stubs after filtering by @Aaxhirrr in
417
- [#21852](https://github.com/google-gemini/gemini-cli/pull/21852)
418
- - make command names consistent by @scidomino in
419
- [#21907](https://github.com/google-gemini/gemini-cli/pull/21907)
420
- - refactor: remove agent_card_requires_auth config flag by @adamfweidman in
421
- [#21914](https://github.com/google-gemini/gemini-cli/pull/21914)
422
- - feat(a2a): implement standardized normalization and streaming reassembly by
423
- @alisa-alisa in
424
- [#21402](https://github.com/google-gemini/gemini-cli/pull/21402)
425
- - feat(cli): enable skill activation via slash commands by @NTaylorMullen in
426
- [#21758](https://github.com/google-gemini/gemini-cli/pull/21758)
427
- - docs(cli): mention per-model token usage in stream-json result event by
428
- @yongruilin in
429
- [#21908](https://github.com/google-gemini/gemini-cli/pull/21908)
430
- - fix(plan): prevent plan truncation in approval dialog by supporting
431
- unconstrained heights by @Adib234 in
432
- [#21037](https://github.com/google-gemini/gemini-cli/pull/21037)
433
- - feat(a2a): switch from callback-based to event-driven tool scheduler by
434
- @cocosheng-g in
435
- [#21467](https://github.com/google-gemini/gemini-cli/pull/21467)
436
- - feat(voice): implement speech-friendly response formatter by @ayush31010 in
437
- [#20989](https://github.com/google-gemini/gemini-cli/pull/20989)
438
- - feat: add pulsating blue border automation overlay to browser agent by
439
- @kunal-10-cloud in
440
- [#21173](https://github.com/google-gemini/gemini-cli/pull/21173)
441
- - Add extensionRegistryURI setting to change where the registry is read from by
442
- @kevinjwang1 in
443
- [#20463](https://github.com/google-gemini/gemini-cli/pull/20463)
444
- - fix: patch gaxios v7 Array.toString() stream corruption by @gsquared94 in
445
- [#21884](https://github.com/google-gemini/gemini-cli/pull/21884)
446
- - fix: prevent hangs in non-interactive mode and improve agent guidance by
447
- @cocosheng-g in
448
- [#20893](https://github.com/google-gemini/gemini-cli/pull/20893)
449
- - Add ExtensionDetails dialog and support install by @chrstnb in
450
- [#20845](https://github.com/google-gemini/gemini-cli/pull/20845)
451
- - chore/release: bump version to 0.34.0-nightly.20260310.4653b126f by
225
+ [#22082](https://github.com/google-gemini/gemini-cli/pull/22082)
226
+ - refactor(ui): extract pure session browser utilities by @abhipatel12 in
227
+ [#22256](https://github.com/google-gemini/gemini-cli/pull/22256)
228
+ - fix(plan): Fix AskUser evals by @Adib234 in
229
+ [#22074](https://github.com/google-gemini/gemini-cli/pull/22074)
230
+ - fix(settings): prevent j/k navigation keys from intercepting edit buffer input
231
+ by @student-ankitpandit in
232
+ [#21865](https://github.com/google-gemini/gemini-cli/pull/21865)
233
+ - feat(skills): improve async-pr-review workflow and logging by @mattKorwel in
234
+ [#21790](https://github.com/google-gemini/gemini-cli/pull/21790)
235
+ - refactor(cli): consolidate getErrorMessage utility to core by @scidomino in
236
+ [#22190](https://github.com/google-gemini/gemini-cli/pull/22190)
237
+ - fix(core): show descriptive error messages when saving settings fails by
238
+ @afarber in [#18095](https://github.com/google-gemini/gemini-cli/pull/18095)
239
+ - docs(core): add authentication guide for remote subagents by @adamfweidman in
240
+ [#22178](https://github.com/google-gemini/gemini-cli/pull/22178)
241
+ - docs: overhaul subagents documentation and add /agents command by @abhipatel12
242
+ in [#22345](https://github.com/google-gemini/gemini-cli/pull/22345)
243
+ - refactor(ui): extract SessionBrowser static ui components by @abhipatel12 in
244
+ [#22348](https://github.com/google-gemini/gemini-cli/pull/22348)
245
+ - test: add Object.create context regression test and tool confirmation
246
+ integration test by @gsquared94 in
247
+ [#22356](https://github.com/google-gemini/gemini-cli/pull/22356)
248
+ - feat(tracker): return TodoList display for tracker tools by @anj-s in
249
+ [#22060](https://github.com/google-gemini/gemini-cli/pull/22060)
250
+ - feat(agent): add allowed domain restrictions for browser agent by
251
+ @cynthialong0-0 in
252
+ [#21775](https://github.com/google-gemini/gemini-cli/pull/21775)
253
+ - chore/release: bump version to 0.35.0-nightly.20260313.bb060d7a9 by
452
254
  @gemini-cli-robot in
453
- [#21816](https://github.com/google-gemini/gemini-cli/pull/21816)
454
- - Changelog for v0.33.0-preview.13 by @gemini-cli-robot in
455
- [#21927](https://github.com/google-gemini/gemini-cli/pull/21927)
456
- - fix(cli): stabilize prompt layout to prevent jumping when typing by
457
- @NTaylorMullen in
458
- [#21081](https://github.com/google-gemini/gemini-cli/pull/21081)
459
- - fix: preserve prompt text when cancelling streaming by @Nixxx19 in
460
- [#21103](https://github.com/google-gemini/gemini-cli/pull/21103)
461
- - fix: robust UX for remote agent errors by @Shyam-Raghuwanshi in
462
- [#20307](https://github.com/google-gemini/gemini-cli/pull/20307)
463
- - feat: implement background process logging and cleanup by @galz10 in
464
- [#21189](https://github.com/google-gemini/gemini-cli/pull/21189)
465
- - Changelog for v0.33.0-preview.14 by @gemini-cli-robot in
466
- [#21938](https://github.com/google-gemini/gemini-cli/pull/21938)
467
- - fix(patch): cherry-pick 45faf4d to release/v0.34.0-preview.0-pr-22148
468
- [CONFLICTS] by @gemini-cli-robot in
469
- [#22174](https://github.com/google-gemini/gemini-cli/pull/22174)
470
- - fix(patch): cherry-pick 8432bce to release/v0.34.0-preview.1-pr-22069 to patch
471
- version v0.34.0-preview.1 and create version 0.34.0-preview.2 by
472
- @gemini-cli-robot in
473
- [#22205](https://github.com/google-gemini/gemini-cli/pull/22205)
474
- - fix(patch): cherry-pick 24adacd to release/v0.34.0-preview.2-pr-22332 to patch
475
- version v0.34.0-preview.2 and create version 0.34.0-preview.3 by
255
+ [#22251](https://github.com/google-gemini/gemini-cli/pull/22251)
256
+ - Move keychain fallback to keychain service by @chrstnb in
257
+ [#22332](https://github.com/google-gemini/gemini-cli/pull/22332)
258
+ - feat(core): integrate SandboxManager to sandbox all process-spawning tools by
259
+ @galz10 in [#22231](https://github.com/google-gemini/gemini-cli/pull/22231)
260
+ - fix(cli): support CJK input and full Unicode scalar values in terminal
261
+ protocols by @scidomino in
262
+ [#22353](https://github.com/google-gemini/gemini-cli/pull/22353)
263
+ - Promote stable tests. by @gundermanc in
264
+ [#22253](https://github.com/google-gemini/gemini-cli/pull/22253)
265
+ - feat(tracker): add tracker policy by @anj-s in
266
+ [#22379](https://github.com/google-gemini/gemini-cli/pull/22379)
267
+ - feat(security): add disableAlwaysAllow setting to disable auto-approvals by
268
+ @galz10 in [#21941](https://github.com/google-gemini/gemini-cli/pull/21941)
269
+ - Revert "fix(cli): validate --model argument at startup" by @sehoon38 in
270
+ [#22378](https://github.com/google-gemini/gemini-cli/pull/22378)
271
+ - fix(mcp): handle equivalent root resource URLs in OAuth validation by @galz10
272
+ in [#20231](https://github.com/google-gemini/gemini-cli/pull/20231)
273
+ - fix(core): use session-specific temp directory for task tracker by @anj-s in
274
+ [#22382](https://github.com/google-gemini/gemini-cli/pull/22382)
275
+ - Fix issue where config was undefined. by @gundermanc in
276
+ [#22397](https://github.com/google-gemini/gemini-cli/pull/22397)
277
+ - fix(core): deduplicate project memory when JIT context is enabled by
278
+ @SandyTao520 in
279
+ [#22234](https://github.com/google-gemini/gemini-cli/pull/22234)
280
+ - feat(prompts): implement Topic-Action-Summary model for verbosity reduction by
281
+ @Abhijit-2592 in
282
+ [#21503](https://github.com/google-gemini/gemini-cli/pull/21503)
283
+ - fix(core): fix manual deletion of subagent histories by @abhipatel12 in
284
+ [#22407](https://github.com/google-gemini/gemini-cli/pull/22407)
285
+ - Add registry var by @kevinjwang1 in
286
+ [#22224](https://github.com/google-gemini/gemini-cli/pull/22224)
287
+ - Add ModelDefinitions to ModelConfigService by @kevinjwang1 in
288
+ [#22302](https://github.com/google-gemini/gemini-cli/pull/22302)
289
+ - fix(cli): improve command conflict handling for skills by @NTaylorMullen in
290
+ [#21942](https://github.com/google-gemini/gemini-cli/pull/21942)
291
+ - fix(core): merge user settings with extension-provided MCP servers by
292
+ @abhipatel12 in
293
+ [#22484](https://github.com/google-gemini/gemini-cli/pull/22484)
294
+ - fix(core): skip discovery for incomplete MCP configs and resolve merge race
295
+ condition by @abhipatel12 in
296
+ [#22494](https://github.com/google-gemini/gemini-cli/pull/22494)
297
+ - fix(automation): harden stale PR closer permissions and maintainer detection
298
+ by @bdmorgan in
299
+ [#22558](https://github.com/google-gemini/gemini-cli/pull/22558)
300
+ - fix(automation): evaluate staleness before checking protected labels by
301
+ @bdmorgan in [#22561](https://github.com/google-gemini/gemini-cli/pull/22561)
302
+ - feat(agent): replace the runtime npx for browser agent chrome devtool mcp with
303
+ pre-built bundle by @cynthialong0-0 in
304
+ [#22213](https://github.com/google-gemini/gemini-cli/pull/22213)
305
+ - perf: optimize TrackerService dependency checks by @anj-s in
306
+ [#22384](https://github.com/google-gemini/gemini-cli/pull/22384)
307
+ - docs(policy): remove trailing space from commandPrefix examples by @kawasin73
308
+ in [#22264](https://github.com/google-gemini/gemini-cli/pull/22264)
309
+ - fix(a2a-server): resolve unsafe assignment lint errors by @ehedlund in
310
+ [#22661](https://github.com/google-gemini/gemini-cli/pull/22661)
311
+ - fix: Adjust ToolGroupMessage filtering to hide Confirming and show Canceled
312
+ tool calls. by @sripasg in
313
+ [#22230](https://github.com/google-gemini/gemini-cli/pull/22230)
314
+ - Disallow Object.create() and reflect. by @gundermanc in
315
+ [#22408](https://github.com/google-gemini/gemini-cli/pull/22408)
316
+ - Guard pro model usage by @sehoon38 in
317
+ [#22665](https://github.com/google-gemini/gemini-cli/pull/22665)
318
+ - refactor(core): Creates AgentSession abstraction for consolidated agent
319
+ interface. by @mbleigh in
320
+ [#22270](https://github.com/google-gemini/gemini-cli/pull/22270)
321
+ - docs(changelog): remove internal commands from release notes by
322
+ @jackwotherspoon in
323
+ [#22529](https://github.com/google-gemini/gemini-cli/pull/22529)
324
+ - feat: enable subagents by @abhipatel12 in
325
+ [#22386](https://github.com/google-gemini/gemini-cli/pull/22386)
326
+ - feat(extensions): implement cryptographic integrity verification for extension
327
+ updates by @ehedlund in
328
+ [#21772](https://github.com/google-gemini/gemini-cli/pull/21772)
329
+ - feat(tracker): polish UI sorting and formatting by @anj-s in
330
+ [#22437](https://github.com/google-gemini/gemini-cli/pull/22437)
331
+ - Changelog for v0.34.0-preview.2 by @gemini-cli-robot in
332
+ [#22220](https://github.com/google-gemini/gemini-cli/pull/22220)
333
+ - fix(core): fix three JIT context bugs in read_file, read_many_files, and
334
+ memoryDiscovery by @SandyTao520 in
335
+ [#22679](https://github.com/google-gemini/gemini-cli/pull/22679)
336
+ - refactor(core): introduce InjectionService with source-aware injection and
337
+ backend-native background completions by @adamfweidman in
338
+ [#22544](https://github.com/google-gemini/gemini-cli/pull/22544)
339
+ - Linux sandbox bubblewrap by @DavidAPierce in
340
+ [#22680](https://github.com/google-gemini/gemini-cli/pull/22680)
341
+ - feat(core): increase thought signature retry resilience by @bdmorgan in
342
+ [#22202](https://github.com/google-gemini/gemini-cli/pull/22202)
343
+ - feat(core): implement Stage 2 security and consistency improvements for
344
+ web_fetch by @aishaneeshah in
345
+ [#22217](https://github.com/google-gemini/gemini-cli/pull/22217)
346
+ - refactor(core): replace positional execute params with ExecuteOptions bag by
347
+ @adamfweidman in
348
+ [#22674](https://github.com/google-gemini/gemini-cli/pull/22674)
349
+ - feat(config): enable JIT context loading by default by @SandyTao520 in
350
+ [#22736](https://github.com/google-gemini/gemini-cli/pull/22736)
351
+ - fix(config): ensure discoveryMaxDirs is passed to global config during
352
+ initialization by @kevin-ramdass in
353
+ [#22744](https://github.com/google-gemini/gemini-cli/pull/22744)
354
+ - fix(plan): allowlist get_internal_docs in Plan Mode by @Adib234 in
355
+ [#22668](https://github.com/google-gemini/gemini-cli/pull/22668)
356
+ - Changelog for v0.34.0-preview.3 by @gemini-cli-robot in
357
+ [#22393](https://github.com/google-gemini/gemini-cli/pull/22393)
358
+ - feat(core): add foundation for subagent tool isolation by @akh64bit in
359
+ [#22708](https://github.com/google-gemini/gemini-cli/pull/22708)
360
+ - fix(core): handle surrogate pairs in truncateString by @sehoon38 in
361
+ [#22754](https://github.com/google-gemini/gemini-cli/pull/22754)
362
+ - fix(cli): override j/k navigation in settings dialog to fix search input
363
+ conflict by @sehoon38 in
364
+ [#22800](https://github.com/google-gemini/gemini-cli/pull/22800)
365
+ - feat(plan): add 'All the above' option to multi-select AskUser questions by
366
+ @Adib234 in [#22365](https://github.com/google-gemini/gemini-cli/pull/22365)
367
+ - docs: distribute package-specific GEMINI.md context to each package by
368
+ @SandyTao520 in
369
+ [#22734](https://github.com/google-gemini/gemini-cli/pull/22734)
370
+ - fix(cli): clean up stale pasted placeholder metadata after word/line deletions
371
+ by @Jomak-x in
372
+ [#20375](https://github.com/google-gemini/gemini-cli/pull/20375)
373
+ - refactor(core): align JIT memory placement with tiered context model by
374
+ @SandyTao520 in
375
+ [#22766](https://github.com/google-gemini/gemini-cli/pull/22766)
376
+ - Linux sandbox seccomp by @DavidAPierce in
377
+ [#22815](https://github.com/google-gemini/gemini-cli/pull/22815)
378
+ - fix(patch): cherry-pick 4e5dfd0 to release/v0.35.0-preview.1-pr-23074 to patch
379
+ version v0.35.0-preview.1 and create version 0.35.0-preview.2 by
476
380
  @gemini-cli-robot in
477
- [#22391](https://github.com/google-gemini/gemini-cli/pull/22391)
478
- - fix(patch): cherry-pick 48130eb to release/v0.34.0-preview.3-pr-22665 to patch
479
- version v0.34.0-preview.3 and create version 0.34.0-preview.4 by
381
+ [#23134](https://github.com/google-gemini/gemini-cli/pull/23134)
382
+ - fix(patch): cherry-pick daf3691 to release/v0.35.0-preview.2-pr-23558 to patch
383
+ version v0.35.0-preview.2 and create version 0.35.0-preview.3 by
480
384
  @gemini-cli-robot in
481
- [#22719](https://github.com/google-gemini/gemini-cli/pull/22719)
385
+ [#23565](https://github.com/google-gemini/gemini-cli/pull/23565)
386
+ - fix(patch): cherry-pick b2d6dc4 to release/v0.35.0-preview.4-pr-23546
387
+ [CONFLICTS] by @gemini-cli-robot in
388
+ [#23585](https://github.com/google-gemini/gemini-cli/pull/23585)
482
389
 
483
390
  **Full Changelog**:
484
- https://github.com/google-gemini/gemini-cli/compare/v0.33.2...v0.34.0
391
+ https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.3