@google/gemini-cli-core 0.37.2 → 0.38.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 (449) hide show
  1. package/README.md +58 -50
  2. package/dist/docs/changelogs/index.md +25 -0
  3. package/dist/docs/changelogs/latest.md +353 -362
  4. package/dist/docs/changelogs/preview.md +399 -366
  5. package/dist/docs/cli/plan-mode.md +1 -0
  6. package/dist/docs/cli/sandbox.md +52 -0
  7. package/dist/docs/cli/settings.md +17 -14
  8. package/dist/docs/core/remote-agents.md +14 -18
  9. package/dist/docs/core/subagents.md +63 -27
  10. package/dist/docs/get-started/authentication.md +2 -2
  11. package/dist/docs/get-started/installation.md +7 -0
  12. package/dist/docs/hooks/index.md +6 -6
  13. package/dist/docs/reference/configuration.md +41 -11
  14. package/dist/docs/reference/keyboard-shortcuts.md +14 -9
  15. package/dist/docs/reference/tools.md +4 -4
  16. package/dist/docs/release-confidence.md +0 -6
  17. package/dist/docs/releases.md +4 -0
  18. package/dist/docs/tools/mcp-server.md +3 -3
  19. package/dist/docs/tools/web-fetch.md +3 -0
  20. package/dist/src/agent/agent-session.test.js +14 -6
  21. package/dist/src/agent/agent-session.test.js.map +1 -1
  22. package/dist/src/agent/event-translator.js +2 -1
  23. package/dist/src/agent/event-translator.js.map +1 -1
  24. package/dist/src/agent/event-translator.test.js +1 -0
  25. package/dist/src/agent/event-translator.test.js.map +1 -1
  26. package/dist/src/agent/legacy-agent-session.d.ts +47 -4
  27. package/dist/src/agent/legacy-agent-session.js +38 -15
  28. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  29. package/dist/src/agent/legacy-agent-session.test.js +60 -73
  30. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  31. package/dist/src/agent/mock.js +7 -1
  32. package/dist/src/agent/mock.js.map +1 -1
  33. package/dist/src/agent/mock.test.js +1 -1
  34. package/dist/src/agent/mock.test.js.map +1 -1
  35. package/dist/src/agent/types.d.ts +34 -1
  36. package/dist/src/agents/agent-scheduler.js +6 -1
  37. package/dist/src/agents/agent-scheduler.js.map +1 -1
  38. package/dist/src/agents/agent-scheduler.test.js +38 -0
  39. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  40. package/dist/src/agents/auth-provider/api-key-provider.test.js +18 -2
  41. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -1
  42. package/dist/src/agents/auth-provider/value-resolver.test.js +30 -0
  43. package/dist/src/agents/auth-provider/value-resolver.test.js.map +1 -1
  44. package/dist/src/agents/browser/analyzeScreenshot.js +36 -6
  45. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
  46. package/dist/src/agents/browser/analyzeScreenshot.test.js +35 -3
  47. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
  48. package/dist/src/agents/browser/browserAgentFactory.d.ts +8 -0
  49. package/dist/src/agents/browser/browserAgentFactory.js +174 -118
  50. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  51. package/dist/src/agents/browser/browserAgentFactory.test.js +70 -1
  52. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  53. package/dist/src/agents/browser/browserAgentInvocation.js +29 -2
  54. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  55. package/dist/src/agents/browser/browserAgentInvocation.test.js +51 -5
  56. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  57. package/dist/src/agents/browser/browserManager.d.ts +38 -0
  58. package/dist/src/agents/browser/browserManager.js +117 -6
  59. package/dist/src/agents/browser/browserManager.js.map +1 -1
  60. package/dist/src/agents/browser/browserManager.test.js +156 -2
  61. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  62. package/dist/src/agents/browser/modelAvailability.d.ts +5 -0
  63. package/dist/src/agents/browser/modelAvailability.js +12 -0
  64. package/dist/src/agents/browser/modelAvailability.js.map +1 -1
  65. package/dist/src/agents/local-executor.d.ts +5 -0
  66. package/dist/src/agents/local-executor.js +98 -181
  67. package/dist/src/agents/local-executor.js.map +1 -1
  68. package/dist/src/agents/local-executor.test.js +386 -101
  69. package/dist/src/agents/local-executor.test.js.map +1 -1
  70. package/dist/src/agents/memory-manager-agent.js +1 -0
  71. package/dist/src/agents/memory-manager-agent.js.map +1 -1
  72. package/dist/src/agents/memory-manager-agent.test.js +6 -0
  73. package/dist/src/agents/memory-manager-agent.test.js.map +1 -1
  74. package/dist/src/agents/registry.js +3 -10
  75. package/dist/src/agents/registry.js.map +1 -1
  76. package/dist/src/agents/skill-extraction-agent.d.ts +24 -0
  77. package/dist/src/agents/skill-extraction-agent.js +269 -0
  78. package/dist/src/agents/skill-extraction-agent.js.map +1 -0
  79. package/dist/src/agents/types.d.ts +11 -0
  80. package/dist/src/code_assist/admin/admin_controls.js +1 -1
  81. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  82. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  83. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  84. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  85. package/dist/src/code_assist/server.js +1 -1
  86. package/dist/src/code_assist/server.js.map +1 -1
  87. package/dist/src/commands/memory.js +1 -1
  88. package/dist/src/commands/memory.js.map +1 -1
  89. package/dist/src/config/config.d.ts +34 -31
  90. package/dist/src/config/config.js +101 -38
  91. package/dist/src/config/config.js.map +1 -1
  92. package/dist/src/config/config.test.js +102 -15
  93. package/dist/src/config/config.test.js.map +1 -1
  94. package/dist/src/config/extensions/integrity.js +1 -1
  95. package/dist/src/config/extensions/integrity.js.map +1 -1
  96. package/dist/src/config/projectRegistry.js +5 -3
  97. package/dist/src/config/projectRegistry.js.map +1 -1
  98. package/dist/src/config/scoped-config.d.ts +30 -0
  99. package/dist/src/config/scoped-config.js +69 -0
  100. package/dist/src/config/scoped-config.js.map +1 -0
  101. package/dist/src/config/scoped-config.test.d.ts +6 -0
  102. package/dist/src/config/scoped-config.test.js +161 -0
  103. package/dist/src/config/scoped-config.test.js.map +1 -0
  104. package/dist/src/config/storage.d.ts +2 -0
  105. package/dist/src/config/storage.js +7 -2
  106. package/dist/src/config/storage.js.map +1 -1
  107. package/dist/src/config/storage.test.js +7 -7
  108. package/dist/src/config/storage.test.js.map +1 -1
  109. package/dist/src/confirmation-bus/types.d.ts +2 -2
  110. package/dist/src/context/agentHistoryProvider.d.ts +1 -1
  111. package/dist/src/context/agentHistoryProvider.js +1 -5
  112. package/dist/src/context/agentHistoryProvider.js.map +1 -1
  113. package/dist/src/context/agentHistoryProvider.test.js +2 -39
  114. package/dist/src/context/agentHistoryProvider.test.js.map +1 -1
  115. package/dist/src/context/contextCompressionService.d.ts +30 -0
  116. package/dist/src/context/contextCompressionService.js +405 -0
  117. package/dist/src/context/contextCompressionService.js.map +1 -0
  118. package/dist/src/context/contextCompressionService.test.d.ts +1 -0
  119. package/dist/src/context/contextCompressionService.test.js +253 -0
  120. package/dist/src/context/contextCompressionService.test.js.map +1 -0
  121. package/dist/src/context/{contextManager.d.ts → memoryContextManager.d.ts} +1 -1
  122. package/dist/src/context/{contextManager.js → memoryContextManager.js} +2 -2
  123. package/dist/src/context/memoryContextManager.js.map +1 -0
  124. package/dist/src/context/{contextManager.test.js → memoryContextManager.test.js} +22 -28
  125. package/dist/src/context/memoryContextManager.test.js.map +1 -0
  126. package/dist/src/context/profiles.d.ts +7 -0
  127. package/dist/src/context/profiles.js +21 -0
  128. package/dist/src/context/profiles.js.map +1 -0
  129. package/dist/src/context/toolDistillationService.test.js +3 -0
  130. package/dist/src/context/toolDistillationService.test.js.map +1 -1
  131. package/dist/src/context/types.d.ts +36 -0
  132. package/dist/src/context/types.js.map +1 -0
  133. package/dist/src/core/baseLlmClient.js +1 -1
  134. package/dist/src/core/baseLlmClient.js.map +1 -1
  135. package/dist/src/core/baseLlmClient.test.js +1 -0
  136. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  137. package/dist/src/core/client.js +1 -1
  138. package/dist/src/core/client.js.map +1 -1
  139. package/dist/src/core/client.test.js +7 -6
  140. package/dist/src/core/client.test.js.map +1 -1
  141. package/dist/src/core/geminiChat.js +8 -0
  142. package/dist/src/core/geminiChat.js.map +1 -1
  143. package/dist/src/core/geminiChat.test.js +1 -0
  144. package/dist/src/core/geminiChat.test.js.map +1 -1
  145. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  146. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  147. package/dist/src/core/logger.js +4 -4
  148. package/dist/src/core/logger.js.map +1 -1
  149. package/dist/src/core/logger.test.js +1 -1
  150. package/dist/src/core/logger.test.js.map +1 -1
  151. package/dist/src/core/loggingContentGenerator.js +1 -1
  152. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  153. package/dist/src/generated/git-commit.d.ts +2 -2
  154. package/dist/src/generated/git-commit.js +2 -2
  155. package/dist/src/hooks/hookEventHandler.js +8 -0
  156. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  157. package/dist/src/hooks/hookRunner.js +9 -5
  158. package/dist/src/hooks/hookRunner.js.map +1 -1
  159. package/dist/src/hooks/hookRunner.test.js +20 -3
  160. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  161. package/dist/src/hooks/hookSystem.d.ts +2 -0
  162. package/dist/src/hooks/hookSystem.js +1 -0
  163. package/dist/src/hooks/hookSystem.js.map +1 -1
  164. package/dist/src/hooks/hookTranslator.js +20 -13
  165. package/dist/src/hooks/hookTranslator.js.map +1 -1
  166. package/dist/src/hooks/hookTranslator.test.js +36 -0
  167. package/dist/src/hooks/hookTranslator.test.js.map +1 -1
  168. package/dist/src/hooks/types.d.ts +2 -0
  169. package/dist/src/ide/ide-client.js +3 -3
  170. package/dist/src/ide/ide-client.js.map +1 -1
  171. package/dist/src/ide/ide-connection-utils.js +1 -1
  172. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  173. package/dist/src/ide/ide-installer.js +3 -3
  174. package/dist/src/ide/ide-installer.js.map +1 -1
  175. package/dist/src/ide/process-utils.js +3 -3
  176. package/dist/src/ide/process-utils.js.map +1 -1
  177. package/dist/src/index.d.ts +4 -1
  178. package/dist/src/index.js +5 -1
  179. package/dist/src/index.js.map +1 -1
  180. package/dist/src/output/json-formatter.js +2 -1
  181. package/dist/src/output/json-formatter.js.map +1 -1
  182. package/dist/src/policy/config.test.js +21 -20
  183. package/dist/src/policy/config.test.js.map +1 -1
  184. package/dist/src/policy/policies/memory-manager.toml +11 -1
  185. package/dist/src/policy/policies/plan.toml +4 -3
  186. package/dist/src/policy/policies/read-only.toml +6 -0
  187. package/dist/src/policy/policies/sandbox-default.toml +2 -3
  188. package/dist/src/policy/policy-engine.js +23 -0
  189. package/dist/src/policy/policy-engine.js.map +1 -1
  190. package/dist/src/policy/policy-engine.test.js +129 -1
  191. package/dist/src/policy/policy-engine.test.js.map +1 -1
  192. package/dist/src/policy/sandboxPolicyManager.d.ts +26 -1
  193. package/dist/src/policy/sandboxPolicyManager.js +41 -12
  194. package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
  195. package/dist/src/policy/sandboxPolicyManager.test.d.ts +6 -0
  196. package/dist/src/policy/sandboxPolicyManager.test.js +61 -0
  197. package/dist/src/policy/sandboxPolicyManager.test.js.map +1 -0
  198. package/dist/src/policy/workspace-policy.test.js +18 -15
  199. package/dist/src/policy/workspace-policy.test.js.map +1 -1
  200. package/dist/src/prompts/snippets.js +6 -3
  201. package/dist/src/prompts/snippets.js.map +1 -1
  202. package/dist/src/prompts/snippets.legacy.js +6 -2
  203. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  204. package/dist/src/prompts/utils.test.js +7 -5
  205. package/dist/src/prompts/utils.test.js.map +1 -1
  206. package/dist/src/safety/built-in.js +1 -1
  207. package/dist/src/safety/built-in.js.map +1 -1
  208. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +4 -4
  209. package/dist/src/sandbox/linux/LinuxSandboxManager.js +47 -191
  210. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  211. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +33 -395
  212. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  213. package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +24 -0
  214. package/dist/src/sandbox/linux/bwrapArgsBuilder.js +200 -0
  215. package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -0
  216. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.d.ts +6 -0
  217. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +247 -0
  218. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -0
  219. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +3 -0
  220. package/dist/src/sandbox/macos/MacOsSandboxManager.js +12 -5
  221. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  222. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +20 -0
  223. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  224. package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
  225. package/dist/src/sandbox/macos/baseProfile.js +28 -4
  226. package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
  227. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +1 -1
  228. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  229. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +2 -1
  230. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  231. package/dist/src/sandbox/utils/fsUtils.js +8 -6
  232. package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
  233. package/dist/src/sandbox/utils/fsUtils.test.d.ts +6 -0
  234. package/dist/src/sandbox/utils/fsUtils.test.js +43 -0
  235. package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -0
  236. package/dist/src/sandbox/utils/proactivePermissions.d.ts +19 -0
  237. package/dist/src/sandbox/utils/proactivePermissions.js +163 -0
  238. package/dist/src/sandbox/utils/proactivePermissions.js.map +1 -0
  239. package/dist/src/sandbox/utils/proactivePermissions.test.d.ts +6 -0
  240. package/dist/src/sandbox/utils/proactivePermissions.test.js +145 -0
  241. package/dist/src/sandbox/utils/proactivePermissions.test.js.map +1 -0
  242. package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +16 -1
  243. package/dist/src/sandbox/utils/sandboxDenialUtils.js +98 -24
  244. package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -1
  245. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +152 -1
  246. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -1
  247. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +4 -0
  248. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -1
  249. package/dist/src/sandbox/windows/GeminiSandbox.cs +90 -42
  250. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -0
  251. package/dist/src/sandbox/windows/WindowsSandboxManager.js +65 -60
  252. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  253. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +99 -54
  254. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  255. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +2 -1
  256. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +19 -18
  257. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -1
  258. package/dist/src/scheduler/scheduler.js +1 -1
  259. package/dist/src/scheduler/scheduler.js.map +1 -1
  260. package/dist/src/scheduler/scheduler_hooks.test.js +1 -1
  261. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  262. package/dist/src/scheduler/tool-executor.js +1 -1
  263. package/dist/src/scheduler/tool-executor.js.map +1 -1
  264. package/dist/src/scheduler/tool-executor.test.js +1 -1
  265. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  266. package/dist/src/services/executionLifecycleService.d.ts +1 -0
  267. package/dist/src/services/executionLifecycleService.js +3 -0
  268. package/dist/src/services/executionLifecycleService.js.map +1 -1
  269. package/dist/src/services/gitService.js +1 -1
  270. package/dist/src/services/gitService.js.map +1 -1
  271. package/dist/src/services/memoryService.d.ts +65 -0
  272. package/dist/src/services/memoryService.js +511 -0
  273. package/dist/src/services/memoryService.js.map +1 -0
  274. package/dist/src/services/memoryService.test.d.ts +6 -0
  275. package/dist/src/services/memoryService.test.js +563 -0
  276. package/dist/src/services/memoryService.test.js.map +1 -0
  277. package/dist/src/services/sandboxManager.d.ts +17 -0
  278. package/dist/src/services/sandboxManager.integration.test.js +18 -11
  279. package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
  280. package/dist/src/services/sandboxManager.js +20 -0
  281. package/dist/src/services/sandboxManager.js.map +1 -1
  282. package/dist/src/services/sandboxManager.test.js +84 -56
  283. package/dist/src/services/sandboxManager.test.js.map +1 -1
  284. package/dist/src/services/sandboxManagerFactory.js +2 -5
  285. package/dist/src/services/sandboxManagerFactory.js.map +1 -1
  286. package/dist/src/services/sandboxedFileSystemService.js +14 -3
  287. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  288. package/dist/src/services/sandboxedFileSystemService.test.js +29 -14
  289. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
  290. package/dist/src/services/shellExecutionService.d.ts +16 -1
  291. package/dist/src/services/shellExecutionService.js +70 -10
  292. package/dist/src/services/shellExecutionService.js.map +1 -1
  293. package/dist/src/services/shellExecutionService.test.js +65 -4
  294. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  295. package/dist/src/services/worktreeService.test.js +7 -7
  296. package/dist/src/services/worktreeService.test.js.map +1 -1
  297. package/dist/src/skills/skillLoader.d.ts +8 -0
  298. package/dist/src/skills/skillLoader.js +1 -1
  299. package/dist/src/skills/skillLoader.js.map +1 -1
  300. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +29 -1
  301. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +101 -0
  302. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  303. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +167 -0
  304. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  305. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -1
  306. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -1
  307. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  308. package/dist/src/telemetry/loggers.d.ts +22 -0
  309. package/dist/src/telemetry/loggers.js +40 -1
  310. package/dist/src/telemetry/loggers.js.map +1 -1
  311. package/dist/src/telemetry/metrics.d.ts +108 -0
  312. package/dist/src/telemetry/metrics.js +177 -0
  313. package/dist/src/telemetry/metrics.js.map +1 -1
  314. package/dist/src/telemetry/metrics.test.js +254 -0
  315. package/dist/src/telemetry/metrics.test.js.map +1 -1
  316. package/dist/src/tools/complete-task.d.ts +29 -0
  317. package/dist/src/tools/complete-task.js +123 -0
  318. package/dist/src/tools/complete-task.js.map +1 -0
  319. package/dist/src/tools/complete-task.test.d.ts +6 -0
  320. package/dist/src/tools/complete-task.test.js +114 -0
  321. package/dist/src/tools/complete-task.test.js.map +1 -0
  322. package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
  323. package/dist/src/tools/definitions/base-declarations.js +3 -0
  324. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  325. package/dist/src/tools/definitions/coreTools.d.ts +1 -1
  326. package/dist/src/tools/definitions/coreTools.js +1 -1
  327. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  328. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +4 -0
  329. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  330. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +3 -3
  331. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  332. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  333. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  334. package/dist/src/tools/grep.test.js +2 -2
  335. package/dist/src/tools/grep.test.js.map +1 -1
  336. package/dist/src/tools/jit-context.js +3 -3
  337. package/dist/src/tools/jit-context.js.map +1 -1
  338. package/dist/src/tools/jit-context.test.js +15 -13
  339. package/dist/src/tools/jit-context.test.js.map +1 -1
  340. package/dist/src/tools/mcp-client.js +1 -1
  341. package/dist/src/tools/mcp-client.js.map +1 -1
  342. package/dist/src/tools/mcp-tool.test.js +1 -1
  343. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  344. package/dist/src/tools/ripGrep.test.js +1 -1
  345. package/dist/src/tools/ripGrep.test.js.map +1 -1
  346. package/dist/src/tools/shell.d.ts +7 -4
  347. package/dist/src/tools/shell.js +255 -37
  348. package/dist/src/tools/shell.js.map +1 -1
  349. package/dist/src/tools/shell.test.js +182 -8
  350. package/dist/src/tools/shell.test.js.map +1 -1
  351. package/dist/src/tools/shellBackgroundTools.d.ts +38 -0
  352. package/dist/src/tools/shellBackgroundTools.integration.test.d.ts +6 -0
  353. package/dist/src/tools/shellBackgroundTools.integration.test.js +86 -0
  354. package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -0
  355. package/dist/src/tools/shellBackgroundTools.js +186 -0
  356. package/dist/src/tools/shellBackgroundTools.js.map +1 -0
  357. package/dist/src/tools/shellBackgroundTools.test.d.ts +6 -0
  358. package/dist/src/tools/shellBackgroundTools.test.js +230 -0
  359. package/dist/src/tools/shellBackgroundTools.test.js.map +1 -0
  360. package/dist/src/tools/shell_proactive.test.d.ts +6 -0
  361. package/dist/src/tools/shell_proactive.test.js +122 -0
  362. package/dist/src/tools/shell_proactive.test.js.map +1 -0
  363. package/dist/src/tools/tool-names.d.ts +3 -3
  364. package/dist/src/tools/tool-names.js +3 -2
  365. package/dist/src/tools/tool-names.js.map +1 -1
  366. package/dist/src/tools/tools.js +1 -1
  367. package/dist/src/tools/tools.js.map +1 -1
  368. package/dist/src/tools/web-fetch.js +8 -8
  369. package/dist/src/tools/web-fetch.js.map +1 -1
  370. package/dist/src/tools/web-fetch.test.js +5 -5
  371. package/dist/src/tools/web-fetch.test.js.map +1 -1
  372. package/dist/src/tools/xcode-mcp-fix-transport.js +1 -1
  373. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  374. package/dist/src/utils/bfsFileSearch.js +3 -6
  375. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  376. package/dist/src/utils/checkpointUtils.js +11 -8
  377. package/dist/src/utils/checkpointUtils.js.map +1 -1
  378. package/dist/src/utils/compatibility.js +0 -7
  379. package/dist/src/utils/compatibility.js.map +1 -1
  380. package/dist/src/utils/compatibility.test.js +0 -9
  381. package/dist/src/utils/compatibility.test.js.map +1 -1
  382. package/dist/src/utils/editor.js +3 -0
  383. package/dist/src/utils/editor.js.map +1 -1
  384. package/dist/src/utils/errorParsing.js +2 -2
  385. package/dist/src/utils/errorParsing.js.map +1 -1
  386. package/dist/src/utils/events.d.ts +12 -0
  387. package/dist/src/utils/events.js +7 -0
  388. package/dist/src/utils/events.js.map +1 -1
  389. package/dist/src/utils/fetch.d.ts +1 -0
  390. package/dist/src/utils/fetch.js +22 -6
  391. package/dist/src/utils/fetch.js.map +1 -1
  392. package/dist/src/utils/fetch.test.js +26 -1
  393. package/dist/src/utils/fetch.test.js.map +1 -1
  394. package/dist/src/utils/fileUtils.js +1 -1
  395. package/dist/src/utils/fileUtils.js.map +1 -1
  396. package/dist/src/utils/filesearch/crawler.js +1 -1
  397. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  398. package/dist/src/utils/filesearch/fileSearch.test.js +7 -2
  399. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  400. package/dist/src/utils/getPty.js +2 -2
  401. package/dist/src/utils/getPty.js.map +1 -1
  402. package/dist/src/utils/gitIgnoreParser.js +2 -2
  403. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  404. package/dist/src/utils/gitUtils.js +2 -2
  405. package/dist/src/utils/gitUtils.js.map +1 -1
  406. package/dist/src/utils/googleErrors.js +5 -5
  407. package/dist/src/utils/googleErrors.js.map +1 -1
  408. package/dist/src/utils/ignoreFileParser.js +1 -1
  409. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  410. package/dist/src/utils/memoryDiscovery.js +3 -7
  411. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  412. package/dist/src/utils/paths.d.ts +8 -0
  413. package/dist/src/utils/paths.js +37 -6
  414. package/dist/src/utils/paths.js.map +1 -1
  415. package/dist/src/utils/paths.test.js +61 -3
  416. package/dist/src/utils/paths.test.js.map +1 -1
  417. package/dist/src/utils/process-utils.js +2 -2
  418. package/dist/src/utils/process-utils.js.map +1 -1
  419. package/dist/src/utils/retry.js +7 -0
  420. package/dist/src/utils/retry.js.map +1 -1
  421. package/dist/src/utils/retry.test.js +41 -0
  422. package/dist/src/utils/retry.test.js.map +1 -1
  423. package/dist/src/utils/secure-browser-launcher.js +1 -1
  424. package/dist/src/utils/secure-browser-launcher.js.map +1 -1
  425. package/dist/src/utils/shell-utils.d.ts +9 -0
  426. package/dist/src/utils/shell-utils.integration.test.js +1 -1
  427. package/dist/src/utils/shell-utils.integration.test.js.map +1 -1
  428. package/dist/src/utils/shell-utils.js +43 -4
  429. package/dist/src/utils/shell-utils.js.map +1 -1
  430. package/dist/src/utils/shell-utils.test.js +13 -1
  431. package/dist/src/utils/shell-utils.test.js.map +1 -1
  432. package/dist/src/utils/systemEncoding.js +1 -1
  433. package/dist/src/utils/systemEncoding.js.map +1 -1
  434. package/dist/src/utils/terminalSerializer.d.ts +1 -0
  435. package/dist/src/utils/terminalSerializer.js +31 -8
  436. package/dist/src/utils/terminalSerializer.js.map +1 -1
  437. package/dist/src/utils/terminalSerializer.test.js +3 -2
  438. package/dist/src/utils/terminalSerializer.test.js.map +1 -1
  439. package/dist/src/utils/workspaceContext.js +2 -2
  440. package/dist/src/utils/workspaceContext.js.map +1 -1
  441. package/dist/tsconfig.tsbuildinfo +1 -1
  442. package/package.json +1 -1
  443. package/dist/google-gemini-cli-core-0.37.1.tgz +0 -0
  444. package/dist/src/context/contextManager.js.map +0 -1
  445. package/dist/src/context/contextManager.test.js.map +0 -1
  446. package/dist/src/services/types.d.ts +0 -14
  447. package/dist/src/services/types.js.map +0 -1
  448. /package/dist/src/context/{contextManager.test.d.ts → memoryContextManager.test.d.ts} +0 -0
  449. /package/dist/src/{services → context}/types.js +0 -0
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.35.3
1
+ # Latest stable release: v0.36.0
2
2
 
3
- Released: March 28, 2026
3
+ Released: April 1, 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,381 +11,372 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
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.
14
+ - **Multi-Registry Architecture and Tool Isolation:** Introduced a
15
+ multi-registry architecture for subagents and implemented strict sandboxing
16
+ for macOS (Seatbelt) and Windows to enhance security and isolation.
17
+ - **Improved Subagent Coordination:** Enhanced subagents with local execution
18
+ capabilities, JIT context injection (upward traversal capped at git root), and
19
+ resilient tool rejection with contextual feedback.
20
+ - **Enhanced UI and UX:** Implemented a refreshed UX for the Composer layout,
21
+ improved terminal fallback warnings, and resolved various UI flickering and
22
+ state persistence issues.
23
+ - **Git Worktree Support:** Added support for Git worktrees to enable isolated
24
+ parallel sessions within the same repository.
25
+ - **Plan Mode Improvements:** Plan mode now supports non-interactive execution
26
+ and includes hardened sandbox path resolution to prevent hallucinations.
29
27
 
30
28
  ## What's Changed
31
29
 
32
- - fix(patch): cherry-pick 765fb67 to release/v0.35.2-pr-24055 [CONFLICTS] by
33
- @gemini-cli-robot in
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
30
+ - Changelog for v0.33.2 by @gemini-cli-robot in
31
+ [#22730](https://github.com/google-gemini/gemini-cli/pull/22730)
32
+ - feat(core): multi-registry architecture and tool filtering for subagents by
33
+ @akh64bit in [#22712](https://github.com/google-gemini/gemini-cli/pull/22712)
34
+ - Changelog for v0.34.0-preview.4 by @gemini-cli-robot in
35
+ [#22752](https://github.com/google-gemini/gemini-cli/pull/22752)
36
+ - fix(devtools): use theme-aware text colors for console warnings and errors by
37
+ @SandyTao520 in
38
+ [#22181](https://github.com/google-gemini/gemini-cli/pull/22181)
39
+ - Add support for dynamic model Resolution to ModelConfigService by @kevinjwang1
40
+ in [#22578](https://github.com/google-gemini/gemini-cli/pull/22578)
41
+ - chore(release): bump version to 0.36.0-nightly.20260317.2f90b4653 by
45
42
  @gemini-cli-robot in
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
67
- @Gyanranjan-Priyam in
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
43
+ [#22858](https://github.com/google-gemini/gemini-cli/pull/22858)
44
+ - fix(cli): use active sessionId in useLogger and improve resume robustness by
45
+ @mattKorwel in
46
+ [#22606](https://github.com/google-gemini/gemini-cli/pull/22606)
47
+ - fix(cli): expand tilde in policy paths from settings.json by @abhipatel12 in
48
+ [#22772](https://github.com/google-gemini/gemini-cli/pull/22772)
49
+ - fix(core): add actionable warnings for terminal fallbacks (#14426) by
140
50
  @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
166
- @gsquared94 in
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
51
+ [#22211](https://github.com/google-gemini/gemini-cli/pull/22211)
52
+ - feat(tracker): integrate task tracker protocol into core system prompt by
53
+ @anj-s in [#22442](https://github.com/google-gemini/gemini-cli/pull/22442)
54
+ - chore: add posttest build hooks and fix missing dependencies by @NTaylorMullen
55
+ in [#22865](https://github.com/google-gemini/gemini-cli/pull/22865)
56
+ - feat(a2a): add agent acknowledgment command and enhance registry discovery by
57
+ @alisa-alisa in
58
+ [#22389](https://github.com/google-gemini/gemini-cli/pull/22389)
59
+ - fix(cli): automatically add all VSCode workspace folders to Gemini context by
60
+ @sakshisemalti in
61
+ [#21380](https://github.com/google-gemini/gemini-cli/pull/21380)
62
+ - feat: add 'blocked' status to tasks and todos by @anj-s in
63
+ [#22735](https://github.com/google-gemini/gemini-cli/pull/22735)
64
+ - refactor(cli): remove extra newlines in ShellToolMessage.tsx by @NTaylorMullen
65
+ in [#22868](https://github.com/google-gemini/gemini-cli/pull/22868)
66
+ - fix(cli): lazily load settings in onModelChange to prevent stale closure data
67
+ loss by @KumarADITHYA123 in
68
+ [#20403](https://github.com/google-gemini/gemini-cli/pull/20403)
69
+ - feat(core): subagent local execution and tool isolation by @akh64bit in
70
+ [#22718](https://github.com/google-gemini/gemini-cli/pull/22718)
71
+ - fix(cli): resolve subagent grouping and UI state persistence by @abhipatel12
72
+ in [#22252](https://github.com/google-gemini/gemini-cli/pull/22252)
73
+ - refactor(ui): extract SessionBrowser search and navigation components by
182
74
  @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
189
- @gsquared94 in
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
75
+ [#22377](https://github.com/google-gemini/gemini-cli/pull/22377)
76
+ - fix: updates Docker image reference for GitHub MCP server by @jhhornn in
77
+ [#22938](https://github.com/google-gemini/gemini-cli/pull/22938)
78
+ - refactor(cli): group subagent trajectory deletion and use native filesystem
79
+ testing by @abhipatel12 in
80
+ [#22890](https://github.com/google-gemini/gemini-cli/pull/22890)
81
+ - refactor(cli): simplify keypress and mouse providers and update tests by
82
+ @scidomino in [#22853](https://github.com/google-gemini/gemini-cli/pull/22853)
83
+ - Changelog for v0.34.0 by @gemini-cli-robot in
84
+ [#22860](https://github.com/google-gemini/gemini-cli/pull/22860)
85
+ - test(cli): simplify createMockSettings calls by @scidomino in
86
+ [#22952](https://github.com/google-gemini/gemini-cli/pull/22952)
87
+ - feat(ui): format multi-line banner warnings with a bold title by @keithguerin
88
+ in [#22955](https://github.com/google-gemini/gemini-cli/pull/22955)
89
+ - Docs: Remove references to stale Gemini CLI file structure info by
90
+ @g-samroberts in
91
+ [#22976](https://github.com/google-gemini/gemini-cli/pull/22976)
92
+ - feat(ui): remove write todo list tool from UI tips by @aniruddhaadak80 in
93
+ [#22281](https://github.com/google-gemini/gemini-cli/pull/22281)
94
+ - Fix issue where subagent thoughts are appended. by @gundermanc in
95
+ [#22975](https://github.com/google-gemini/gemini-cli/pull/22975)
96
+ - Feat/browser privacy consent by @kunal-10-cloud in
97
+ [#21119](https://github.com/google-gemini/gemini-cli/pull/21119)
98
+ - fix(core): explicitly map execution context in LocalAgentExecutor by @akh64bit
99
+ in [#22949](https://github.com/google-gemini/gemini-cli/pull/22949)
100
+ - feat(plan): support plan mode in non-interactive mode by @ruomengz in
101
+ [#22670](https://github.com/google-gemini/gemini-cli/pull/22670)
102
+ - feat(core): implement strict macOS sandboxing using Seatbelt allowlist by
103
+ @ehedlund in [#22832](https://github.com/google-gemini/gemini-cli/pull/22832)
104
+ - docs: add additional notes by @abhipatel12 in
105
+ [#23008](https://github.com/google-gemini/gemini-cli/pull/23008)
106
+ - fix(cli): resolve duplicate footer on tool cancel via ESC (#21743) by
107
+ @ruomengz in [#21781](https://github.com/google-gemini/gemini-cli/pull/21781)
108
+ - Changelog for v0.35.0-preview.1 by @gemini-cli-robot in
109
+ [#23012](https://github.com/google-gemini/gemini-cli/pull/23012)
110
+ - fix(ui): fix flickering on small terminal heights by @devr0306 in
111
+ [#21416](https://github.com/google-gemini/gemini-cli/pull/21416)
112
+ - fix(acp): provide more meta in tool_call_update by @Mervap in
113
+ [#22663](https://github.com/google-gemini/gemini-cli/pull/22663)
114
+ - docs: add FAQ entry for checking Gemini CLI version by @surajsahani in
115
+ [#21271](https://github.com/google-gemini/gemini-cli/pull/21271)
116
+ - feat(core): resilient subagent tool rejection with contextual feedback by
217
117
  @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
118
+ [#22951](https://github.com/google-gemini/gemini-cli/pull/22951)
119
+ - fix(cli): correctly handle auto-update for standalone binaries by @bdmorgan in
120
+ [#23038](https://github.com/google-gemini/gemini-cli/pull/23038)
121
+ - feat(core): add content-utils by @adamfweidman in
122
+ [#22984](https://github.com/google-gemini/gemini-cli/pull/22984)
123
+ - fix: circumvent genai sdk requirement for api key when using gateway auth via
124
+ ACP by @sripasg in
125
+ [#23042](https://github.com/google-gemini/gemini-cli/pull/23042)
126
+ - fix(core): don't persist browser consent sentinel in non-interactive mode by
127
+ @jasonmatthewsuhari in
128
+ [#23073](https://github.com/google-gemini/gemini-cli/pull/23073)
129
+ - fix(core): narrow browser agent description to prevent stealing URL tasks from
130
+ web_fetch by @gsquared94 in
131
+ [#23086](https://github.com/google-gemini/gemini-cli/pull/23086)
132
+ - feat(cli): Partial threading of AgentLoopContext. by @joshualitt in
133
+ [#22978](https://github.com/google-gemini/gemini-cli/pull/22978)
134
+ - fix(browser-agent): enable "Allow all server tools" session policy by
135
+ @cynthialong0-0 in
136
+ [#22343](https://github.com/google-gemini/gemini-cli/pull/22343)
137
+ - refactor(cli): integrate real config loading into async test utils by
138
+ @scidomino in [#23040](https://github.com/google-gemini/gemini-cli/pull/23040)
139
+ - feat(core): inject memory and JIT context into subagents by @abhipatel12 in
140
+ [#23032](https://github.com/google-gemini/gemini-cli/pull/23032)
141
+ - Fix logging and virtual list. by @jacob314 in
142
+ [#23080](https://github.com/google-gemini/gemini-cli/pull/23080)
143
+ - feat(core): cap JIT context upward traversal at git root by @SandyTao520 in
144
+ [#23074](https://github.com/google-gemini/gemini-cli/pull/23074)
145
+ - Docs: Minor style updates from initial docs audit. by @g-samroberts in
146
+ [#22872](https://github.com/google-gemini/gemini-cli/pull/22872)
147
+ - feat(core): add experimental memory manager agent to replace save_memory tool
148
+ by @SandyTao520 in
149
+ [#22726](https://github.com/google-gemini/gemini-cli/pull/22726)
150
+ - Changelog for v0.35.0-preview.2 by @gemini-cli-robot in
151
+ [#23142](https://github.com/google-gemini/gemini-cli/pull/23142)
152
+ - Update website issue template for label and title by @g-samroberts in
153
+ [#23036](https://github.com/google-gemini/gemini-cli/pull/23036)
154
+ - fix: upgrade ACP SDK from 0.12 to 0.16.1 by @sripasg in
155
+ [#23132](https://github.com/google-gemini/gemini-cli/pull/23132)
156
+ - Update callouts to work on github. by @g-samroberts in
157
+ [#22245](https://github.com/google-gemini/gemini-cli/pull/22245)
158
+ - feat: ACP: Add token usage metadata to the `send` method's return value by
159
+ @sripasg in [#23148](https://github.com/google-gemini/gemini-cli/pull/23148)
160
+ - fix(plan): clarify that plan mode policies are combined with normal mode by
161
+ @ruomengz in [#23158](https://github.com/google-gemini/gemini-cli/pull/23158)
162
+ - Add ModelChain support to ModelConfigService and make ModelDialog dynamic by
163
+ @kevinjwang1 in
164
+ [#22914](https://github.com/google-gemini/gemini-cli/pull/22914)
165
+ - Ensure that copied extensions are writable in the user's local directory by
166
+ @kevinjwang1 in
167
+ [#23016](https://github.com/google-gemini/gemini-cli/pull/23016)
168
+ - feat(core): implement native Windows sandboxing by @mattKorwel in
169
+ [#21807](https://github.com/google-gemini/gemini-cli/pull/21807)
170
+ - feat(core): add support for admin-forced MCP server installations by
171
+ @gsquared94 in
172
+ [#23163](https://github.com/google-gemini/gemini-cli/pull/23163)
173
+ - chore(lint): ignore .gemini directory and recursive node_modules by
174
+ @mattKorwel in
175
+ [#23211](https://github.com/google-gemini/gemini-cli/pull/23211)
176
+ - feat(cli): conditionally exclude ask_user tool in ACP mode by @nmcnamara-eng
177
+ in [#23045](https://github.com/google-gemini/gemini-cli/pull/23045)
178
+ - feat(core): introduce AgentSession and rename stream events to agent events by
179
+ @mbleigh in [#23159](https://github.com/google-gemini/gemini-cli/pull/23159)
180
+ - feat(worktree): add Git worktree support for isolated parallel sessions by
181
+ @jerop in [#22973](https://github.com/google-gemini/gemini-cli/pull/22973)
182
+ - Add support for linking in the extension registry by @kevinjwang1 in
183
+ [#23153](https://github.com/google-gemini/gemini-cli/pull/23153)
184
+ - feat(extensions): add --skip-settings flag to install command by @Ratish1 in
185
+ [#17212](https://github.com/google-gemini/gemini-cli/pull/17212)
186
+ - feat(telemetry): track if session is running in a Git worktree by @jerop in
187
+ [#23265](https://github.com/google-gemini/gemini-cli/pull/23265)
188
+ - refactor(core): use absolute paths in GEMINI.md context markers by
224
189
  @SandyTao520 in
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
190
+ [#23135](https://github.com/google-gemini/gemini-cli/pull/23135)
191
+ - fix(core): add sanitization to sub agent thoughts and centralize utilities by
192
+ @devr0306 in [#22828](https://github.com/google-gemini/gemini-cli/pull/22828)
193
+ - feat(core): refine User-Agent for VS Code traffic (unified format) by
194
+ @sehoon38 in [#23256](https://github.com/google-gemini/gemini-cli/pull/23256)
195
+ - Fix schema for ModelChains by @kevinjwang1 in
196
+ [#23284](https://github.com/google-gemini/gemini-cli/pull/23284)
197
+ - test(cli): refactor tests for async render utilities by @scidomino in
198
+ [#23252](https://github.com/google-gemini/gemini-cli/pull/23252)
199
+ - feat(core): add security prompt for browser agent by @cynthialong0-0 in
200
+ [#23241](https://github.com/google-gemini/gemini-cli/pull/23241)
201
+ - refactor(ide): replace dynamic undici import with static fetch import by
202
+ @cocosheng-g in
203
+ [#23268](https://github.com/google-gemini/gemini-cli/pull/23268)
204
+ - test(cli): address unresolved feedback from PR #23252 by @scidomino in
205
+ [#23303](https://github.com/google-gemini/gemini-cli/pull/23303)
206
+ - feat(browser): add sensitive action controls and read-only noise reduction by
251
207
  @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
254
- @gemini-cli-robot in
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
208
+ [#22867](https://github.com/google-gemini/gemini-cli/pull/22867)
209
+ - Disabling failing test while investigating by @alisa-alisa in
210
+ [#23311](https://github.com/google-gemini/gemini-cli/pull/23311)
211
+ - fix broken extension link in hooks guide by @Indrapal-70 in
212
+ [#21728](https://github.com/google-gemini/gemini-cli/pull/21728)
213
+ - fix(core): fix agent description indentation by @abhipatel12 in
214
+ [#23315](https://github.com/google-gemini/gemini-cli/pull/23315)
215
+ - Wrap the text under TOML rule for easier readability in policy-engine.md… by
216
+ @CogitationOps in
217
+ [#23076](https://github.com/google-gemini/gemini-cli/pull/23076)
218
+ - fix(extensions): revert broken extension removal behavior by @ehedlund in
219
+ [#23317](https://github.com/google-gemini/gemini-cli/pull/23317)
220
+ - feat(core): set up onboarding telemetry by @yunaseoul in
221
+ [#23118](https://github.com/google-gemini/gemini-cli/pull/23118)
222
+ - Retry evals on API error. by @gundermanc in
223
+ [#23322](https://github.com/google-gemini/gemini-cli/pull/23322)
224
+ - fix(evals): remove tool restrictions and add compile-time guards by
278
225
  @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
226
+ [#23312](https://github.com/google-gemini/gemini-cli/pull/23312)
227
+ - fix(hooks): support 'ask' decision for BeforeTool hooks by @gundermanc in
228
+ [#21146](https://github.com/google-gemini/gemini-cli/pull/21146)
229
+ - feat(browser): add warning message for session mode 'existing' by
230
+ @cynthialong0-0 in
231
+ [#23288](https://github.com/google-gemini/gemini-cli/pull/23288)
232
+ - chore(lint): enforce zero warnings and cleanup syntax restrictions by
233
+ @alisa-alisa in
234
+ [#22902](https://github.com/google-gemini/gemini-cli/pull/22902)
235
+ - fix(cli): add Esc instruction to HooksDialog footer by @abhipatel12 in
236
+ [#23258](https://github.com/google-gemini/gemini-cli/pull/23258)
237
+ - Disallow and suppress misused spread operator. by @gundermanc in
238
+ [#23294](https://github.com/google-gemini/gemini-cli/pull/23294)
239
+ - fix(core): refine CliHelpAgent description for better delegation by
292
240
  @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
241
+ [#23310](https://github.com/google-gemini/gemini-cli/pull/23310)
242
+ - fix(core): enable global session and persistent approval for web_fetch by
243
+ @NTaylorMullen in
244
+ [#23295](https://github.com/google-gemini/gemini-cli/pull/23295)
245
+ - fix(plan): add state transition override to prevent plan mode freeze by
246
+ @Adib234 in [#23020](https://github.com/google-gemini/gemini-cli/pull/23020)
247
+ - fix(cli): record skill activation tool calls in chat history by @NTaylorMullen
248
+ in [#23203](https://github.com/google-gemini/gemini-cli/pull/23203)
249
+ - fix(core): ensure subagent tool updates apply configuration overrides
250
+ immediately by @abhipatel12 in
251
+ [#23161](https://github.com/google-gemini/gemini-cli/pull/23161)
252
+ - fix(cli): resolve flicker at boundaries of list in BaseSelectionList by
322
253
  @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
254
+ [#23298](https://github.com/google-gemini/gemini-cli/pull/23298)
255
+ - test(cli): force generic terminal in tests to fix snapshot failures by
256
+ @abhipatel12 in
257
+ [#23499](https://github.com/google-gemini/gemini-cli/pull/23499)
258
+ - Evals: PR Guidance adding workflow by @alisa-alisa in
259
+ [#23164](https://github.com/google-gemini/gemini-cli/pull/23164)
260
+ - feat(core): refactor SandboxManager to a stateless architecture and introduce
261
+ explicit Deny interface by @ehedlund in
262
+ [#23141](https://github.com/google-gemini/gemini-cli/pull/23141)
263
+ - feat(core): add event-translator and update agent types by @adamfweidman in
264
+ [#22985](https://github.com/google-gemini/gemini-cli/pull/22985)
265
+ - perf(cli): parallelize and background startup cleanup tasks by @sehoon38 in
266
+ [#23545](https://github.com/google-gemini/gemini-cli/pull/23545)
267
+ - fix: "allow always" for commands with paths by @scidomino in
268
+ [#23558](https://github.com/google-gemini/gemini-cli/pull/23558)
269
+ - fix(cli): prevent terminal escape sequences from leaking on exit by
270
+ @mattKorwel in
271
+ [#22682](https://github.com/google-gemini/gemini-cli/pull/22682)
272
+ - feat(cli): implement full "GEMINI CLI" logo for logged-out state by
273
+ @keithguerin in
274
+ [#22412](https://github.com/google-gemini/gemini-cli/pull/22412)
275
+ - fix(plan): reserve minimum height for selection list in AskUserDialog by
276
+ @ruomengz in [#23280](https://github.com/google-gemini/gemini-cli/pull/23280)
277
+ - fix(core): harden AgentSession replay semantics by @adamfweidman in
278
+ [#23548](https://github.com/google-gemini/gemini-cli/pull/23548)
279
+ - test(core): migrate hook tests to scheduler by @abhipatel12 in
280
+ [#23496](https://github.com/google-gemini/gemini-cli/pull/23496)
281
+ - chore(config): disable agents by default by @abhipatel12 in
282
+ [#23546](https://github.com/google-gemini/gemini-cli/pull/23546)
283
+ - fix(ui): make tool confirmations take up entire terminal height by @devr0306
284
+ in [#22366](https://github.com/google-gemini/gemini-cli/pull/22366)
285
+ - fix(core): prevent redundant remote agent loading on model switch by
347
286
  @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
287
+ [#23576](https://github.com/google-gemini/gemini-cli/pull/23576)
288
+ - refactor(core): update production type imports from coreToolScheduler by
289
+ @abhipatel12 in
290
+ [#23498](https://github.com/google-gemini/gemini-cli/pull/23498)
291
+ - feat(cli): always prefix extension skills with colon separator by
292
+ @NTaylorMullen in
293
+ [#23566](https://github.com/google-gemini/gemini-cli/pull/23566)
294
+ - fix(core): properly support allowRedirect in policy engine by @scidomino in
295
+ [#23579](https://github.com/google-gemini/gemini-cli/pull/23579)
296
+ - fix(cli): prevent subcommand shadowing and skip auth for commands by
297
+ @mattKorwel in
298
+ [#23177](https://github.com/google-gemini/gemini-cli/pull/23177)
299
+ - fix(test): move flaky tests to non-blocking suite by @mattKorwel in
300
+ [#23259](https://github.com/google-gemini/gemini-cli/pull/23259)
301
+ - Changelog for v0.35.0-preview.3 by @gemini-cli-robot in
302
+ [#23574](https://github.com/google-gemini/gemini-cli/pull/23574)
303
+ - feat(skills): add behavioral-evals skill with fixing and promoting guides by
304
+ @abhipatel12 in
305
+ [#23349](https://github.com/google-gemini/gemini-cli/pull/23349)
306
+ - refactor(core): delete obsolete coreToolScheduler by @abhipatel12 in
307
+ [#23502](https://github.com/google-gemini/gemini-cli/pull/23502)
308
+ - Changelog for v0.35.0-preview.4 by @gemini-cli-robot in
309
+ [#23581](https://github.com/google-gemini/gemini-cli/pull/23581)
310
+ - feat(core): add LegacyAgentSession by @adamfweidman in
311
+ [#22986](https://github.com/google-gemini/gemini-cli/pull/22986)
312
+ - feat(test-utils): add TestMcpServerBuilder and support in TestRig by
313
+ @abhipatel12 in
314
+ [#23491](https://github.com/google-gemini/gemini-cli/pull/23491)
315
+ - fix(core)!: Force policy config to specify toolName by @kschaab in
316
+ [#23330](https://github.com/google-gemini/gemini-cli/pull/23330)
317
+ - eval(save_memory): add multi-turn interactive evals for memoryManager by
374
318
  @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
319
+ [#23572](https://github.com/google-gemini/gemini-cli/pull/23572)
320
+ - fix(telemetry): patch memory leak and enforce logPrompts privacy by
321
+ @spencer426 in
322
+ [#23281](https://github.com/google-gemini/gemini-cli/pull/23281)
323
+ - perf(cli): background IDE client to speed up initialization by @sehoon38 in
324
+ [#23603](https://github.com/google-gemini/gemini-cli/pull/23603)
325
+ - fix(cli): prevent Ctrl+D exit when input buffer is not empty by @wtanaka in
326
+ [#23306](https://github.com/google-gemini/gemini-cli/pull/23306)
327
+ - fix: ACP: separate conversational text from execute tool command title by
328
+ @sripasg in [#23179](https://github.com/google-gemini/gemini-cli/pull/23179)
329
+ - feat(evals): add behavioral evaluations for subagent routing by @Samee24 in
330
+ [#23272](https://github.com/google-gemini/gemini-cli/pull/23272)
331
+ - refactor(cli,core): foundational layout, identity management, and type safety
332
+ by @jwhelangoog in
333
+ [#23286](https://github.com/google-gemini/gemini-cli/pull/23286)
334
+ - fix(core): accurately reflect subagent tool failure in UI by @abhipatel12 in
335
+ [#23187](https://github.com/google-gemini/gemini-cli/pull/23187)
336
+ - Changelog for v0.35.0-preview.5 by @gemini-cli-robot in
337
+ [#23606](https://github.com/google-gemini/gemini-cli/pull/23606)
338
+ - feat(ui): implement refreshed UX for Composer layout by @jwhelangoog in
339
+ [#21212](https://github.com/google-gemini/gemini-cli/pull/21212)
340
+ - fix: API key input dialog user interaction when selected Gemini API Key by
341
+ @kartikangiras in
342
+ [#21057](https://github.com/google-gemini/gemini-cli/pull/21057)
343
+ - docs: update `/mcp refresh` to `/mcp reload` by @adamfweidman in
344
+ [#23631](https://github.com/google-gemini/gemini-cli/pull/23631)
345
+ - Implementation of sandbox "Write-Protected" Governance Files by @DavidAPierce
346
+ in [#23139](https://github.com/google-gemini/gemini-cli/pull/23139)
347
+ - feat(sandbox): dynamic macOS sandbox expansion and worktree support by @galz10
348
+ in [#23301](https://github.com/google-gemini/gemini-cli/pull/23301)
349
+ - fix(acp): Pass the cwd to `AcpFileSystemService` to avoid looping failures in
350
+ asking for perms to write plan md file by @sripasg in
351
+ [#23612](https://github.com/google-gemini/gemini-cli/pull/23612)
352
+ - fix(plan): sandbox path resolution in Plan Mode to prevent hallucinations by
353
+ @Adib234 in [#22737](https://github.com/google-gemini/gemini-cli/pull/22737)
354
+ - feat(ui): allow immediate user input during startup by @sehoon38 in
355
+ [#23661](https://github.com/google-gemini/gemini-cli/pull/23661)
356
+ - refactor(sandbox): reorganize Windows sandbox files by @galz10 in
357
+ [#23645](https://github.com/google-gemini/gemini-cli/pull/23645)
358
+ - fix(core): improve remote agent streaming UI and UX by @adamfweidman in
359
+ [#23633](https://github.com/google-gemini/gemini-cli/pull/23633)
360
+ - perf(cli): optimize --version startup time by @sehoon38 in
361
+ [#23671](https://github.com/google-gemini/gemini-cli/pull/23671)
362
+ - refactor(core): stop gemini CLI from producing unsafe casts by @gundermanc in
363
+ [#23611](https://github.com/google-gemini/gemini-cli/pull/23611)
364
+ - use enableAutoUpdate in test rig by @scidomino in
365
+ [#23681](https://github.com/google-gemini/gemini-cli/pull/23681)
366
+ - feat(core): change user-facing auth type from oauth2 to oauth by @adamfweidman
367
+ in [#23639](https://github.com/google-gemini/gemini-cli/pull/23639)
368
+ - chore(deps): fix npm audit vulnerabilities by @scidomino in
369
+ [#23679](https://github.com/google-gemini/gemini-cli/pull/23679)
370
+ - test(evals): fix overlapping act() deadlock in app-test-helper by @Adib234 in
371
+ [#23666](https://github.com/google-gemini/gemini-cli/pull/23666)
372
+ - fix(patch): cherry-pick 055ff92 to release/v0.36.0-preview.0-pr-23672 to patch
373
+ version v0.36.0-preview.0 and create version 0.36.0-preview.1 by
380
374
  @gemini-cli-robot in
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
375
+ [#23723](https://github.com/google-gemini/gemini-cli/pull/23723)
376
+ - fix(patch): cherry-pick 765fb67 to release/v0.36.0-preview.5-pr-24055 to patch
377
+ version v0.36.0-preview.5 and create version 0.36.0-preview.6 by
384
378
  @gemini-cli-robot in
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)
379
+ [#24061](https://github.com/google-gemini/gemini-cli/pull/24061)
389
380
 
390
381
  **Full Changelog**:
391
- https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.3
382
+ https://github.com/google-gemini/gemini-cli/compare/v0.35.3...v0.36.0