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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +49 -46
  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 +43 -13
  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.0-preview.0.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
- # Preview release: v0.36.0-preview.7
1
+ # Preview release: v0.37.0-preview.2
2
2
 
3
- Released: March 31, 2026
3
+ Released: April 07, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,381 +13,414 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Subagent Architecture Enhancements:** Significant updates to subagents,
17
- including local execution, tool isolation, multi-registry discovery, dynamic
18
- tool filtering, and JIT context injection.
19
- - **Enhanced Security & Sandboxing:** Implemented strict macOS sandboxing using
20
- Seatbelt allowlist, native Windows sandboxing, and support for
21
- "Write-Protected" governance files.
22
- - **Agent Context & State Management:** Introduced task tracker protocol
23
- integration, 'blocked' statuses for tasks/todos, and `AgentSession` for
24
- improved state management and replay semantics.
25
- - **Browser & ACP Capabilities:** Added privacy consent for the browser agent,
26
- sensitive action controls, improved API token usage metadata, and gateway auth
27
- support via ACP.
28
- - **CLI & UX Improvements:** Implemented a refreshed Composer layout, expanded
29
- terminal fallback warnings, dynamic model resolution, and Git worktree support
30
- for isolated parallel sessions.
16
+ - **Plan Mode Enhancements**: Plan now includes support for untrusted folders,
17
+ prioritized pre-approval discussions, and a resolve for sandbox-related
18
+ deadlocks during file creation.
19
+ - **Browser Agent Evolved**: Significant updates to the browser agent, including
20
+ persistent session management, dynamic discovery of read-only tools,
21
+ sandbox-aware initialization, and automated reclamation of stale snapshots to
22
+ optimize context window usage.
23
+ - **Advanced Sandbox Security**: Implementation of dynamic sandbox expansion for
24
+ both Linux and Windows, alongside secret visibility lockdown for environment
25
+ files and OS-specific forbidden path support.
26
+ - **Unified Core Architecture**: Centralized context management and a new
27
+ `ModelConfigService` for unified model discovery, complemented by the
28
+ introduction of `AgentHistoryProvider` and tool-based topic grouping
29
+ (Chapters).
30
+ - **UI/UX & Performance Improvements**: New Tokyo Night theme, "tab to queue"
31
+ message support, and compact tool output formatting, plus optimized build
32
+ scripts and improved layout stability for TUI components.
31
33
 
32
34
  ## What's Changed
33
35
 
34
- - fix(patch): cherry-pick 765fb67 to release/v0.36.0-preview.5-pr-24055 to patch
35
- version v0.36.0-preview.5 and create version 0.36.0-preview.6 by
36
+ - fix(patch): cherry-pick cb7f7d6 to release/v0.37.0-preview.1-pr-24342 to patch
37
+ version v0.37.0-preview.1 and create version 0.37.0-preview.2 by
36
38
  @gemini-cli-robot in
37
- [#24061](https://github.com/google-gemini/gemini-cli/pull/24061)
38
- - fix(a2a-server): A2A server should execute ask policies in interactive mode by
39
- @kschaab in [#23831](https://github.com/google-gemini/gemini-cli/pull/23831)
40
- - docs(core): document agent_card_json string literal options for remote agents
41
- by @adamfweidman in
42
- [#23797](https://github.com/google-gemini/gemini-cli/pull/23797)
43
- - feat(core): support inline agentCardJson for remote agents by @adamfweidman in
44
- [#23743](https://github.com/google-gemini/gemini-cli/pull/23743)
45
- - fix(patch): cherry-pick 055ff92 to release/v0.36.0-preview.0-pr-23672 to patch
46
- version v0.36.0-preview.0 and create version 0.36.0-preview.1 by
39
+ [#24842](https://github.com/google-gemini/gemini-cli/pull/24842)
40
+ - fix(patch): cherry-pick 64c928f to release/v0.37.0-preview.0-pr-23257 to patch
41
+ version v0.37.0-preview.0 and create version 0.37.0-preview.1 by
47
42
  @gemini-cli-robot in
48
- [#23723](https://github.com/google-gemini/gemini-cli/pull/23723)
49
- - Changelog for v0.33.2 by @gemini-cli-robot in
50
- [#22730](https://github.com/google-gemini/gemini-cli/pull/22730)
51
- - feat(core): multi-registry architecture and tool filtering for subagents by
52
- @akh64bit in [#22712](https://github.com/google-gemini/gemini-cli/pull/22712)
53
- - Changelog for v0.34.0-preview.4 by @gemini-cli-robot in
54
- [#22752](https://github.com/google-gemini/gemini-cli/pull/22752)
55
- - fix(devtools): use theme-aware text colors for console warnings and errors by
56
- @SandyTao520 in
57
- [#22181](https://github.com/google-gemini/gemini-cli/pull/22181)
58
- - Add support for dynamic model Resolution to ModelConfigService by @kevinjwang1
59
- in [#22578](https://github.com/google-gemini/gemini-cli/pull/22578)
60
- - chore(release): bump version to 0.36.0-nightly.20260317.2f90b4653 by
61
- @gemini-cli-robot in
62
- [#22858](https://github.com/google-gemini/gemini-cli/pull/22858)
63
- - fix(cli): use active sessionId in useLogger and improve resume robustness by
64
- @mattKorwel in
65
- [#22606](https://github.com/google-gemini/gemini-cli/pull/22606)
66
- - fix(cli): expand tilde in policy paths from settings.json by @abhipatel12 in
67
- [#22772](https://github.com/google-gemini/gemini-cli/pull/22772)
68
- - fix(core): add actionable warnings for terminal fallbacks (#14426) by
69
- @spencer426 in
70
- [#22211](https://github.com/google-gemini/gemini-cli/pull/22211)
71
- - feat(tracker): integrate task tracker protocol into core system prompt by
72
- @anj-s in [#22442](https://github.com/google-gemini/gemini-cli/pull/22442)
73
- - chore: add posttest build hooks and fix missing dependencies by @NTaylorMullen
74
- in [#22865](https://github.com/google-gemini/gemini-cli/pull/22865)
75
- - feat(a2a): add agent acknowledgment command and enhance registry discovery by
76
- @alisa-alisa in
77
- [#22389](https://github.com/google-gemini/gemini-cli/pull/22389)
78
- - fix(cli): automatically add all VSCode workspace folders to Gemini context by
79
- @sakshisemalti in
80
- [#21380](https://github.com/google-gemini/gemini-cli/pull/21380)
81
- - feat: add 'blocked' status to tasks and todos by @anj-s in
82
- [#22735](https://github.com/google-gemini/gemini-cli/pull/22735)
83
- - refactor(cli): remove extra newlines in ShellToolMessage.tsx by @NTaylorMullen
84
- in [#22868](https://github.com/google-gemini/gemini-cli/pull/22868)
85
- - fix(cli): lazily load settings in onModelChange to prevent stale closure data
86
- loss by @KumarADITHYA123 in
87
- [#20403](https://github.com/google-gemini/gemini-cli/pull/20403)
88
- - feat(core): subagent local execution and tool isolation by @akh64bit in
89
- [#22718](https://github.com/google-gemini/gemini-cli/pull/22718)
90
- - fix(cli): resolve subagent grouping and UI state persistence by @abhipatel12
91
- in [#22252](https://github.com/google-gemini/gemini-cli/pull/22252)
92
- - refactor(ui): extract SessionBrowser search and navigation components by
93
- @abhipatel12 in
94
- [#22377](https://github.com/google-gemini/gemini-cli/pull/22377)
95
- - fix: updates Docker image reference for GitHub MCP server by @jhhornn in
96
- [#22938](https://github.com/google-gemini/gemini-cli/pull/22938)
97
- - refactor(cli): group subagent trajectory deletion and use native filesystem
98
- testing by @abhipatel12 in
99
- [#22890](https://github.com/google-gemini/gemini-cli/pull/22890)
100
- - refactor(cli): simplify keypress and mouse providers and update tests by
101
- @scidomino in [#22853](https://github.com/google-gemini/gemini-cli/pull/22853)
102
- - Changelog for v0.34.0 by @gemini-cli-robot in
103
- [#22860](https://github.com/google-gemini/gemini-cli/pull/22860)
104
- - test(cli): simplify createMockSettings calls by @scidomino in
105
- [#22952](https://github.com/google-gemini/gemini-cli/pull/22952)
106
- - feat(ui): format multi-line banner warnings with a bold title by @keithguerin
107
- in [#22955](https://github.com/google-gemini/gemini-cli/pull/22955)
108
- - Docs: Remove references to stale Gemini CLI file structure info by
109
- @g-samroberts in
110
- [#22976](https://github.com/google-gemini/gemini-cli/pull/22976)
111
- - feat(ui): remove write todo list tool from UI tips by @aniruddhaadak80 in
112
- [#22281](https://github.com/google-gemini/gemini-cli/pull/22281)
113
- - Fix issue where subagent thoughts are appended. by @gundermanc in
114
- [#22975](https://github.com/google-gemini/gemini-cli/pull/22975)
115
- - Feat/browser privacy consent by @kunal-10-cloud in
116
- [#21119](https://github.com/google-gemini/gemini-cli/pull/21119)
117
- - fix(core): explicitly map execution context in LocalAgentExecutor by @akh64bit
118
- in [#22949](https://github.com/google-gemini/gemini-cli/pull/22949)
119
- - feat(plan): support plan mode in non-interactive mode by @ruomengz in
120
- [#22670](https://github.com/google-gemini/gemini-cli/pull/22670)
121
- - feat(core): implement strict macOS sandboxing using Seatbelt allowlist by
122
- @ehedlund in [#22832](https://github.com/google-gemini/gemini-cli/pull/22832)
123
- - docs: add additional notes by @abhipatel12 in
124
- [#23008](https://github.com/google-gemini/gemini-cli/pull/23008)
125
- - fix(cli): resolve duplicate footer on tool cancel via ESC (#21743) by
126
- @ruomengz in [#21781](https://github.com/google-gemini/gemini-cli/pull/21781)
127
- - Changelog for v0.35.0-preview.1 by @gemini-cli-robot in
128
- [#23012](https://github.com/google-gemini/gemini-cli/pull/23012)
129
- - fix(ui): fix flickering on small terminal heights by @devr0306 in
130
- [#21416](https://github.com/google-gemini/gemini-cli/pull/21416)
131
- - fix(acp): provide more meta in tool_call_update by @Mervap in
132
- [#22663](https://github.com/google-gemini/gemini-cli/pull/22663)
133
- - docs: add FAQ entry for checking Gemini CLI version by @surajsahani in
134
- [#21271](https://github.com/google-gemini/gemini-cli/pull/21271)
135
- - feat(core): resilient subagent tool rejection with contextual feedback by
136
- @abhipatel12 in
137
- [#22951](https://github.com/google-gemini/gemini-cli/pull/22951)
138
- - fix(cli): correctly handle auto-update for standalone binaries by @bdmorgan in
139
- [#23038](https://github.com/google-gemini/gemini-cli/pull/23038)
140
- - feat(core): add content-utils by @adamfweidman in
141
- [#22984](https://github.com/google-gemini/gemini-cli/pull/22984)
142
- - fix: circumvent genai sdk requirement for api key when using gateway auth via
143
- ACP by @sripasg in
144
- [#23042](https://github.com/google-gemini/gemini-cli/pull/23042)
145
- - fix(core): don't persist browser consent sentinel in non-interactive mode by
146
- @jasonmatthewsuhari in
147
- [#23073](https://github.com/google-gemini/gemini-cli/pull/23073)
148
- - fix(core): narrow browser agent description to prevent stealing URL tasks from
149
- web_fetch by @gsquared94 in
150
- [#23086](https://github.com/google-gemini/gemini-cli/pull/23086)
151
- - feat(cli): Partial threading of AgentLoopContext. by @joshualitt in
152
- [#22978](https://github.com/google-gemini/gemini-cli/pull/22978)
153
- - fix(browser-agent): enable "Allow all server tools" session policy by
43
+ [#24561](https://github.com/google-gemini/gemini-cli/pull/24561)
44
+ - feat(evals): centralize test agents into test-utils for reuse by @Samee24 in
45
+ [#23616](https://github.com/google-gemini/gemini-cli/pull/23616)
46
+ - revert: chore(config): disable agents by default by @abhipatel12 in
47
+ [#23672](https://github.com/google-gemini/gemini-cli/pull/23672)
48
+ - fix(plan): update telemetry attribute keys and add timestamp by @Adib234 in
49
+ [#23685](https://github.com/google-gemini/gemini-cli/pull/23685)
50
+ - fix(core): prevent premature MCP discovery completion by @jackwotherspoon in
51
+ [#23637](https://github.com/google-gemini/gemini-cli/pull/23637)
52
+ - feat(browser): add maxActionsPerTask for browser agent setting by
154
53
  @cynthialong0-0 in
155
- [#22343](https://github.com/google-gemini/gemini-cli/pull/22343)
156
- - refactor(cli): integrate real config loading into async test utils by
157
- @scidomino in [#23040](https://github.com/google-gemini/gemini-cli/pull/23040)
158
- - feat(core): inject memory and JIT context into subagents by @abhipatel12 in
159
- [#23032](https://github.com/google-gemini/gemini-cli/pull/23032)
160
- - Fix logging and virtual list. by @jacob314 in
161
- [#23080](https://github.com/google-gemini/gemini-cli/pull/23080)
162
- - feat(core): cap JIT context upward traversal at git root by @SandyTao520 in
163
- [#23074](https://github.com/google-gemini/gemini-cli/pull/23074)
164
- - Docs: Minor style updates from initial docs audit. by @g-samroberts in
165
- [#22872](https://github.com/google-gemini/gemini-cli/pull/22872)
166
- - feat(core): add experimental memory manager agent to replace save_memory tool
167
- by @SandyTao520 in
168
- [#22726](https://github.com/google-gemini/gemini-cli/pull/22726)
169
- - Changelog for v0.35.0-preview.2 by @gemini-cli-robot in
170
- [#23142](https://github.com/google-gemini/gemini-cli/pull/23142)
171
- - Update website issue template for label and title by @g-samroberts in
172
- [#23036](https://github.com/google-gemini/gemini-cli/pull/23036)
173
- - fix: upgrade ACP SDK from 0.12 to 0.16.1 by @sripasg in
174
- [#23132](https://github.com/google-gemini/gemini-cli/pull/23132)
175
- - Update callouts to work on github. by @g-samroberts in
176
- [#22245](https://github.com/google-gemini/gemini-cli/pull/22245)
177
- - feat: ACP: Add token usage metadata to the `send` method's return value by
178
- @sripasg in [#23148](https://github.com/google-gemini/gemini-cli/pull/23148)
179
- - fix(plan): clarify that plan mode policies are combined with normal mode by
180
- @ruomengz in [#23158](https://github.com/google-gemini/gemini-cli/pull/23158)
181
- - Add ModelChain support to ModelConfigService and make ModelDialog dynamic by
182
- @kevinjwang1 in
183
- [#22914](https://github.com/google-gemini/gemini-cli/pull/22914)
184
- - Ensure that copied extensions are writable in the user's local directory by
185
- @kevinjwang1 in
186
- [#23016](https://github.com/google-gemini/gemini-cli/pull/23016)
187
- - feat(core): implement native Windows sandboxing by @mattKorwel in
188
- [#21807](https://github.com/google-gemini/gemini-cli/pull/21807)
189
- - feat(core): add support for admin-forced MCP server installations by
190
- @gsquared94 in
191
- [#23163](https://github.com/google-gemini/gemini-cli/pull/23163)
192
- - chore(lint): ignore .gemini directory and recursive node_modules by
54
+ [#23216](https://github.com/google-gemini/gemini-cli/pull/23216)
55
+ - fix(core): improve agent loader error formatting for empty paths by
56
+ @adamfweidman in
57
+ [#23690](https://github.com/google-gemini/gemini-cli/pull/23690)
58
+ - fix(cli): only show updating spinner when auto-update is in progress by
59
+ @scidomino in [#23709](https://github.com/google-gemini/gemini-cli/pull/23709)
60
+ - Refine onboarding metrics to log the duration explicitly and use the tier
61
+ name. by @yunaseoul in
62
+ [#23678](https://github.com/google-gemini/gemini-cli/pull/23678)
63
+ - chore(tools): add toJSON to tools and invocations to reduce logging verbosity
64
+ by @alisa-alisa in
65
+ [#22899](https://github.com/google-gemini/gemini-cli/pull/22899)
66
+ - fix(cli): stabilize copy mode to prevent flickering and cursor resets by
193
67
  @mattKorwel in
194
- [#23211](https://github.com/google-gemini/gemini-cli/pull/23211)
195
- - feat(cli): conditionally exclude ask_user tool in ACP mode by @nmcnamara-eng
196
- in [#23045](https://github.com/google-gemini/gemini-cli/pull/23045)
197
- - feat(core): introduce AgentSession and rename stream events to agent events by
198
- @mbleigh in [#23159](https://github.com/google-gemini/gemini-cli/pull/23159)
199
- - feat(worktree): add Git worktree support for isolated parallel sessions by
200
- @jerop in [#22973](https://github.com/google-gemini/gemini-cli/pull/22973)
201
- - Add support for linking in the extension registry by @kevinjwang1 in
202
- [#23153](https://github.com/google-gemini/gemini-cli/pull/23153)
203
- - feat(extensions): add --skip-settings flag to install command by @Ratish1 in
204
- [#17212](https://github.com/google-gemini/gemini-cli/pull/17212)
205
- - feat(telemetry): track if session is running in a Git worktree by @jerop in
206
- [#23265](https://github.com/google-gemini/gemini-cli/pull/23265)
207
- - refactor(core): use absolute paths in GEMINI.md context markers by
208
- @SandyTao520 in
209
- [#23135](https://github.com/google-gemini/gemini-cli/pull/23135)
210
- - fix(core): add sanitization to sub agent thoughts and centralize utilities by
211
- @devr0306 in [#22828](https://github.com/google-gemini/gemini-cli/pull/22828)
212
- - feat(core): refine User-Agent for VS Code traffic (unified format) by
213
- @sehoon38 in [#23256](https://github.com/google-gemini/gemini-cli/pull/23256)
214
- - Fix schema for ModelChains by @kevinjwang1 in
215
- [#23284](https://github.com/google-gemini/gemini-cli/pull/23284)
216
- - test(cli): refactor tests for async render utilities by @scidomino in
217
- [#23252](https://github.com/google-gemini/gemini-cli/pull/23252)
218
- - feat(core): add security prompt for browser agent by @cynthialong0-0 in
219
- [#23241](https://github.com/google-gemini/gemini-cli/pull/23241)
220
- - refactor(ide): replace dynamic undici import with static fetch import by
221
- @cocosheng-g in
222
- [#23268](https://github.com/google-gemini/gemini-cli/pull/23268)
223
- - test(cli): address unresolved feedback from PR #23252 by @scidomino in
224
- [#23303](https://github.com/google-gemini/gemini-cli/pull/23303)
225
- - feat(browser): add sensitive action controls and read-only noise reduction by
226
- @cynthialong0-0 in
227
- [#22867](https://github.com/google-gemini/gemini-cli/pull/22867)
228
- - Disabling failing test while investigating by @alisa-alisa in
229
- [#23311](https://github.com/google-gemini/gemini-cli/pull/23311)
230
- - fix broken extension link in hooks guide by @Indrapal-70 in
231
- [#21728](https://github.com/google-gemini/gemini-cli/pull/21728)
232
- - fix(core): fix agent description indentation by @abhipatel12 in
233
- [#23315](https://github.com/google-gemini/gemini-cli/pull/23315)
234
- - Wrap the text under TOML rule for easier readability in policy-engine.md… by
235
- @CogitationOps in
236
- [#23076](https://github.com/google-gemini/gemini-cli/pull/23076)
237
- - fix(extensions): revert broken extension removal behavior by @ehedlund in
238
- [#23317](https://github.com/google-gemini/gemini-cli/pull/23317)
239
- - feat(core): set up onboarding telemetry by @yunaseoul in
240
- [#23118](https://github.com/google-gemini/gemini-cli/pull/23118)
241
- - Retry evals on API error. by @gundermanc in
242
- [#23322](https://github.com/google-gemini/gemini-cli/pull/23322)
243
- - fix(evals): remove tool restrictions and add compile-time guards by
244
- @SandyTao520 in
245
- [#23312](https://github.com/google-gemini/gemini-cli/pull/23312)
246
- - fix(hooks): support 'ask' decision for BeforeTool hooks by @gundermanc in
247
- [#21146](https://github.com/google-gemini/gemini-cli/pull/21146)
248
- - feat(browser): add warning message for session mode 'existing' by
249
- @cynthialong0-0 in
250
- [#23288](https://github.com/google-gemini/gemini-cli/pull/23288)
251
- - chore(lint): enforce zero warnings and cleanup syntax restrictions by
68
+ [#22584](https://github.com/google-gemini/gemini-cli/pull/22584)
69
+ - fix(test): move flaky ctrl-c-exit test to non-blocking suite by @mattKorwel in
70
+ [#23732](https://github.com/google-gemini/gemini-cli/pull/23732)
71
+ - feat(skills): add ci skill for automated failure replication by @mattKorwel in
72
+ [#23720](https://github.com/google-gemini/gemini-cli/pull/23720)
73
+ - feat(sandbox): implement forbiddenPaths for OS-specific sandbox managers by
74
+ @ehedlund in [#23282](https://github.com/google-gemini/gemini-cli/pull/23282)
75
+ - fix(core): conditionally expose additional_permissions in shell tool by
76
+ @galz10 in [#23729](https://github.com/google-gemini/gemini-cli/pull/23729)
77
+ - refactor(core): standardize OS-specific sandbox tests and extract linux helper
78
+ methods by @ehedlund in
79
+ [#23715](https://github.com/google-gemini/gemini-cli/pull/23715)
80
+ - format recently added script by @scidomino in
81
+ [#23739](https://github.com/google-gemini/gemini-cli/pull/23739)
82
+ - fix(ui): prevent over-eager slash subcommand completion by @keithguerin in
83
+ [#20136](https://github.com/google-gemini/gemini-cli/pull/20136)
84
+ - Fix dynamic model routing for gemini 3.1 pro to customtools model by
85
+ @kevinjwang1 in
86
+ [#23641](https://github.com/google-gemini/gemini-cli/pull/23641)
87
+ - feat(core): support inline agentCardJson for remote agents by @adamfweidman in
88
+ [#23743](https://github.com/google-gemini/gemini-cli/pull/23743)
89
+ - fix(cli): skip console log/info in headless mode by @cynthialong0-0 in
90
+ [#22739](https://github.com/google-gemini/gemini-cli/pull/22739)
91
+ - test(core): install bubblewrap on Linux CI for sandbox integration tests by
92
+ @ehedlund in [#23583](https://github.com/google-gemini/gemini-cli/pull/23583)
93
+ - docs(reference): split tools table into category sections by @sheikhlimon in
94
+ [#21516](https://github.com/google-gemini/gemini-cli/pull/21516)
95
+ - fix(browser): detect embedded URLs in query params to prevent allowedDomains
96
+ bypass by @tony-shi in
97
+ [#23225](https://github.com/google-gemini/gemini-cli/pull/23225)
98
+ - fix(browser): add proxy bypass constraint to domain restriction system prompt
99
+ by @tony-shi in
100
+ [#23229](https://github.com/google-gemini/gemini-cli/pull/23229)
101
+ - fix(policy): relax write_file argsPattern in plan mode to allow paths without
102
+ session ID by @Adib234 in
103
+ [#23695](https://github.com/google-gemini/gemini-cli/pull/23695)
104
+ - docs: fix grammar in CONTRIBUTING and numbering in sandbox docs by
105
+ @splint-disk-8i in
106
+ [#23448](https://github.com/google-gemini/gemini-cli/pull/23448)
107
+ - fix(acp): allow attachments by adding a permission prompt by @sripasg in
108
+ [#23680](https://github.com/google-gemini/gemini-cli/pull/23680)
109
+ - fix(core): thread AbortSignal to chat compression requests (#20405) by
110
+ @SH20RAJ in [#20778](https://github.com/google-gemini/gemini-cli/pull/20778)
111
+ - feat(core): implement Windows sandbox dynamic expansion Phase 1 and 2.1 by
112
+ @scidomino in [#23691](https://github.com/google-gemini/gemini-cli/pull/23691)
113
+ - Add note about root privileges in sandbox docs by @diodesign in
114
+ [#23314](https://github.com/google-gemini/gemini-cli/pull/23314)
115
+ - docs(core): document agent_card_json string literal options for remote agents
116
+ by @adamfweidman in
117
+ [#23797](https://github.com/google-gemini/gemini-cli/pull/23797)
118
+ - fix(cli): resolve TTY hang on headless environments by unconditionally
119
+ resuming process.stdin before React Ink launch by @cocosheng-g in
120
+ [#23673](https://github.com/google-gemini/gemini-cli/pull/23673)
121
+ - fix(ui): cleanup estimated string length hacks in composer by @keithguerin in
122
+ [#23694](https://github.com/google-gemini/gemini-cli/pull/23694)
123
+ - feat(browser): dynamically discover read-only tools by @cynthialong0-0 in
124
+ [#23805](https://github.com/google-gemini/gemini-cli/pull/23805)
125
+ - docs: clarify policy requirement for `general.plan.directory` in settings
126
+ schema by @jerop in
127
+ [#23784](https://github.com/google-gemini/gemini-cli/pull/23784)
128
+ - Revert "perf(cli): optimize --version startup time (#23671)" by @scidomino in
129
+ [#23812](https://github.com/google-gemini/gemini-cli/pull/23812)
130
+ - don't silence errors from wombat by @scidomino in
131
+ [#23822](https://github.com/google-gemini/gemini-cli/pull/23822)
132
+ - fix(ui): prevent escape key from cancelling requests in shell mode by
133
+ @PrasannaPal21 in
134
+ [#21245](https://github.com/google-gemini/gemini-cli/pull/21245)
135
+ - Changelog for v0.36.0-preview.0 by @gemini-cli-robot in
136
+ [#23702](https://github.com/google-gemini/gemini-cli/pull/23702)
137
+ - feat(core,ui): Add experiment-gated support for gemini flash 3.1 lite by
138
+ @chrstnb in [#23794](https://github.com/google-gemini/gemini-cli/pull/23794)
139
+ - Changelog for v0.36.0-preview.3 by @gemini-cli-robot in
140
+ [#23827](https://github.com/google-gemini/gemini-cli/pull/23827)
141
+ - new linting check: github-actions-pinning by @alisa-alisa in
142
+ [#23808](https://github.com/google-gemini/gemini-cli/pull/23808)
143
+ - fix(cli): show helpful guidance when no skills are available by @Niralisj in
144
+ [#23785](https://github.com/google-gemini/gemini-cli/pull/23785)
145
+ - fix: Chat logs and errors handle tail tool calls correctly by @googlestrobe in
146
+ [#22460](https://github.com/google-gemini/gemini-cli/pull/22460)
147
+ - Don't try removing a tag from a non-existent release. by @scidomino in
148
+ [#23830](https://github.com/google-gemini/gemini-cli/pull/23830)
149
+ - fix(cli): allow ask question dialog to take full window height by @jacob314 in
150
+ [#23693](https://github.com/google-gemini/gemini-cli/pull/23693)
151
+ - fix(core): strip leading underscores from error types in telemetry by
152
+ @yunaseoul in [#23824](https://github.com/google-gemini/gemini-cli/pull/23824)
153
+ - Changelog for v0.35.0 by @gemini-cli-robot in
154
+ [#23819](https://github.com/google-gemini/gemini-cli/pull/23819)
155
+ - feat(evals): add reliability harvester and 500/503 retry support by
252
156
  @alisa-alisa in
253
- [#22902](https://github.com/google-gemini/gemini-cli/pull/22902)
254
- - fix(cli): add Esc instruction to HooksDialog footer by @abhipatel12 in
255
- [#23258](https://github.com/google-gemini/gemini-cli/pull/23258)
256
- - Disallow and suppress misused spread operator. by @gundermanc in
257
- [#23294](https://github.com/google-gemini/gemini-cli/pull/23294)
258
- - fix(core): refine CliHelpAgent description for better delegation by
259
- @abhipatel12 in
260
- [#23310](https://github.com/google-gemini/gemini-cli/pull/23310)
261
- - fix(core): enable global session and persistent approval for web_fetch by
262
- @NTaylorMullen in
263
- [#23295](https://github.com/google-gemini/gemini-cli/pull/23295)
264
- - fix(plan): add state transition override to prevent plan mode freeze by
265
- @Adib234 in [#23020](https://github.com/google-gemini/gemini-cli/pull/23020)
266
- - fix(cli): record skill activation tool calls in chat history by @NTaylorMullen
267
- in [#23203](https://github.com/google-gemini/gemini-cli/pull/23203)
268
- - fix(core): ensure subagent tool updates apply configuration overrides
269
- immediately by @abhipatel12 in
270
- [#23161](https://github.com/google-gemini/gemini-cli/pull/23161)
271
- - fix(cli): resolve flicker at boundaries of list in BaseSelectionList by
272
- @jackwotherspoon in
273
- [#23298](https://github.com/google-gemini/gemini-cli/pull/23298)
274
- - test(cli): force generic terminal in tests to fix snapshot failures by
275
- @abhipatel12 in
276
- [#23499](https://github.com/google-gemini/gemini-cli/pull/23499)
277
- - Evals: PR Guidance adding workflow by @alisa-alisa in
278
- [#23164](https://github.com/google-gemini/gemini-cli/pull/23164)
279
- - feat(core): refactor SandboxManager to a stateless architecture and introduce
280
- explicit Deny interface by @ehedlund in
281
- [#23141](https://github.com/google-gemini/gemini-cli/pull/23141)
282
- - feat(core): add event-translator and update agent types by @adamfweidman in
283
- [#22985](https://github.com/google-gemini/gemini-cli/pull/22985)
284
- - perf(cli): parallelize and background startup cleanup tasks by @sehoon38 in
285
- [#23545](https://github.com/google-gemini/gemini-cli/pull/23545)
286
- - fix: "allow always" for commands with paths by @scidomino in
287
- [#23558](https://github.com/google-gemini/gemini-cli/pull/23558)
288
- - fix(cli): prevent terminal escape sequences from leaking on exit by
289
- @mattKorwel in
290
- [#22682](https://github.com/google-gemini/gemini-cli/pull/22682)
291
- - feat(cli): implement full "GEMINI CLI" logo for logged-out state by
157
+ [#23626](https://github.com/google-gemini/gemini-cli/pull/23626)
158
+ - feat(sandbox): dynamic Linux sandbox expansion and worktree support by @galz10
159
+ in [#23692](https://github.com/google-gemini/gemini-cli/pull/23692)
160
+ - Merge examples of use into quickstart documentation by @diodesign in
161
+ [#23319](https://github.com/google-gemini/gemini-cli/pull/23319)
162
+ - fix(cli): prioritize primary name matches in slash command search by @sehoon38
163
+ in [#23850](https://github.com/google-gemini/gemini-cli/pull/23850)
164
+ - Changelog for v0.35.1 by @gemini-cli-robot in
165
+ [#23840](https://github.com/google-gemini/gemini-cli/pull/23840)
166
+ - fix(browser): keep input blocker active across navigations by @kunal-10-cloud
167
+ in [#22562](https://github.com/google-gemini/gemini-cli/pull/22562)
168
+ - feat(core): new skill to look for duplicated code while reviewing PRs by
169
+ @devr0306 in [#23704](https://github.com/google-gemini/gemini-cli/pull/23704)
170
+ - fix(core): replace hardcoded non-interactive ASK_USER denial with explicit
171
+ policy rules by @ruomengz in
172
+ [#23668](https://github.com/google-gemini/gemini-cli/pull/23668)
173
+ - fix(plan): after exiting plan mode switches model to a flash model by @Adib234
174
+ in [#23885](https://github.com/google-gemini/gemini-cli/pull/23885)
175
+ - feat(gcp): add development worker infrastructure by @mattKorwel in
176
+ [#23814](https://github.com/google-gemini/gemini-cli/pull/23814)
177
+ - fix(a2a-server): A2A server should execute ask policies in interactive mode by
178
+ @kschaab in [#23831](https://github.com/google-gemini/gemini-cli/pull/23831)
179
+ - feat(core): define TrajectoryProvider interface by @sehoon38 in
180
+ [#23050](https://github.com/google-gemini/gemini-cli/pull/23050)
181
+ - Docs: Update quotas and pricing by @jkcinouye in
182
+ [#23835](https://github.com/google-gemini/gemini-cli/pull/23835)
183
+ - fix(core): allow disabling environment variable redaction by @galz10 in
184
+ [#23927](https://github.com/google-gemini/gemini-cli/pull/23927)
185
+ - feat(cli): enable notifications cross-platform via terminal bell fallback by
186
+ @genneth in [#21618](https://github.com/google-gemini/gemini-cli/pull/21618)
187
+ - feat(sandbox): implement secret visibility lockdown for env files by
188
+ @DavidAPierce in
189
+ [#23712](https://github.com/google-gemini/gemini-cli/pull/23712)
190
+ - fix(core): remove shell outputChunks buffer caching to prevent memory bloat
191
+ and sanitize prompt input by @spencer426 in
192
+ [#23751](https://github.com/google-gemini/gemini-cli/pull/23751)
193
+ - feat(core): implement persistent browser session management by @kunal-10-cloud
194
+ in [#21306](https://github.com/google-gemini/gemini-cli/pull/21306)
195
+ - refactor(core): delegate sandbox denial parsing to SandboxManager by
196
+ @scidomino in [#23928](https://github.com/google-gemini/gemini-cli/pull/23928)
197
+ - dep(update) Update Ink version to 6.5.0 by @jacob314 in
198
+ [#23843](https://github.com/google-gemini/gemini-cli/pull/23843)
199
+ - Docs: Update 'docs-writer' skill for relative links by @jkcinouye in
200
+ [#21463](https://github.com/google-gemini/gemini-cli/pull/21463)
201
+ - Changelog for v0.36.0-preview.4 by @gemini-cli-robot in
202
+ [#23935](https://github.com/google-gemini/gemini-cli/pull/23935)
203
+ - fix(acp): Update allow approval policy flow for ACP clients to fix config
204
+ persistence and compatible with TUI by @sripasg in
205
+ [#23818](https://github.com/google-gemini/gemini-cli/pull/23818)
206
+ - Changelog for v0.35.2 by @gemini-cli-robot in
207
+ [#23960](https://github.com/google-gemini/gemini-cli/pull/23960)
208
+ - ACP integration documents by @g-samroberts in
209
+ [#22254](https://github.com/google-gemini/gemini-cli/pull/22254)
210
+ - fix(core): explicitly set error names to avoid bundling renaming issues by
211
+ @yunaseoul in [#23913](https://github.com/google-gemini/gemini-cli/pull/23913)
212
+ - feat(core): subagent isolation and cleanup hardening by @abhipatel12 in
213
+ [#23903](https://github.com/google-gemini/gemini-cli/pull/23903)
214
+ - disable extension-reload test by @scidomino in
215
+ [#24018](https://github.com/google-gemini/gemini-cli/pull/24018)
216
+ - feat(core): add forbiddenPaths to GlobalSandboxOptions and refactor
217
+ createSandboxManager by @ehedlund in
218
+ [#23936](https://github.com/google-gemini/gemini-cli/pull/23936)
219
+ - refactor(core): improve ignore resolution and fix directory-matching bug by
220
+ @ehedlund in [#23816](https://github.com/google-gemini/gemini-cli/pull/23816)
221
+ - revert(core): support custom base URL via env vars by @spencer426 in
222
+ [#23976](https://github.com/google-gemini/gemini-cli/pull/23976)
223
+ - Increase memory limited for eslint. by @jacob314 in
224
+ [#24022](https://github.com/google-gemini/gemini-cli/pull/24022)
225
+ - fix(acp): prevent crash on empty response in ACP mode by @sripasg in
226
+ [#23952](https://github.com/google-gemini/gemini-cli/pull/23952)
227
+ - feat(core): Land `AgentHistoryProvider`. by @joshualitt in
228
+ [#23978](https://github.com/google-gemini/gemini-cli/pull/23978)
229
+ - fix(core): switch to subshells for shell tool wrapping to fix heredocs and
230
+ edge cases by @abhipatel12 in
231
+ [#24024](https://github.com/google-gemini/gemini-cli/pull/24024)
232
+ - Debug command. by @jacob314 in
233
+ [#23851](https://github.com/google-gemini/gemini-cli/pull/23851)
234
+ - Changelog for v0.36.0-preview.5 by @gemini-cli-robot in
235
+ [#24046](https://github.com/google-gemini/gemini-cli/pull/24046)
236
+ - Fix test flakes by globally mocking ink-spinner by @jacob314 in
237
+ [#24044](https://github.com/google-gemini/gemini-cli/pull/24044)
238
+ - Enable network access in sandbox configuration by @galz10 in
239
+ [#24055](https://github.com/google-gemini/gemini-cli/pull/24055)
240
+ - feat(context): add configurable memoryBoundaryMarkers setting by @SandyTao520
241
+ in [#24020](https://github.com/google-gemini/gemini-cli/pull/24020)
242
+ - feat(core): implement windows sandbox expansion and denial detection by
243
+ @scidomino in [#24027](https://github.com/google-gemini/gemini-cli/pull/24027)
244
+ - fix(core): resolve ACP Operation Aborted Errors in grep_search by @ivanporty
245
+ in [#23821](https://github.com/google-gemini/gemini-cli/pull/23821)
246
+ - fix(hooks): prevent SessionEnd from firing twice in non-interactive mode by
247
+ @krishdef7 in [#22139](https://github.com/google-gemini/gemini-cli/pull/22139)
248
+ - Re-word intro to Gemini 3 page. by @g-samroberts in
249
+ [#24069](https://github.com/google-gemini/gemini-cli/pull/24069)
250
+ - fix(cli): resolve layout contention and flashing loop in StatusRow by
292
251
  @keithguerin in
293
- [#22412](https://github.com/google-gemini/gemini-cli/pull/22412)
294
- - fix(plan): reserve minimum height for selection list in AskUserDialog by
295
- @ruomengz in [#23280](https://github.com/google-gemini/gemini-cli/pull/23280)
296
- - fix(core): harden AgentSession replay semantics by @adamfweidman in
297
- [#23548](https://github.com/google-gemini/gemini-cli/pull/23548)
298
- - test(core): migrate hook tests to scheduler by @abhipatel12 in
299
- [#23496](https://github.com/google-gemini/gemini-cli/pull/23496)
300
- - chore(config): disable agents by default by @abhipatel12 in
301
- [#23546](https://github.com/google-gemini/gemini-cli/pull/23546)
302
- - fix(ui): make tool confirmations take up entire terminal height by @devr0306
303
- in [#22366](https://github.com/google-gemini/gemini-cli/pull/22366)
304
- - fix(core): prevent redundant remote agent loading on model switch by
252
+ [#24065](https://github.com/google-gemini/gemini-cli/pull/24065)
253
+ - fix(sandbox): implement Windows Mandatory Integrity Control for GeminiSandbox
254
+ by @galz10 in [#24057](https://github.com/google-gemini/gemini-cli/pull/24057)
255
+ - feat(core): implement tool-based topic grouping (Chapters) by @Abhijit-2592 in
256
+ [#23150](https://github.com/google-gemini/gemini-cli/pull/23150)
257
+ - feat(cli): support 'tab to queue' for messages while generating by @gundermanc
258
+ in [#24052](https://github.com/google-gemini/gemini-cli/pull/24052)
259
+ - feat(core): agnostic background task UI with CompletionBehavior by
305
260
  @adamfweidman in
306
- [#23576](https://github.com/google-gemini/gemini-cli/pull/23576)
307
- - refactor(core): update production type imports from coreToolScheduler by
308
- @abhipatel12 in
309
- [#23498](https://github.com/google-gemini/gemini-cli/pull/23498)
310
- - feat(cli): always prefix extension skills with colon separator by
311
- @NTaylorMullen in
312
- [#23566](https://github.com/google-gemini/gemini-cli/pull/23566)
313
- - fix(core): properly support allowRedirect in policy engine by @scidomino in
314
- [#23579](https://github.com/google-gemini/gemini-cli/pull/23579)
315
- - fix(cli): prevent subcommand shadowing and skip auth for commands by
261
+ [#22740](https://github.com/google-gemini/gemini-cli/pull/22740)
262
+ - UX for topic narration tool by @gundermanc in
263
+ [#24079](https://github.com/google-gemini/gemini-cli/pull/24079)
264
+ - fix: shellcheck warnings in scripts by @scidomino in
265
+ [#24035](https://github.com/google-gemini/gemini-cli/pull/24035)
266
+ - test(evals): add comprehensive subagent delegation evaluations by @abhipatel12
267
+ in [#24132](https://github.com/google-gemini/gemini-cli/pull/24132)
268
+ - fix(a2a-server): prioritize ADC before evaluating headless constraints for
269
+ auth initialization by @spencer426 in
270
+ [#23614](https://github.com/google-gemini/gemini-cli/pull/23614)
271
+ - Text can be added after /plan command by @rambleraptor in
272
+ [#22833](https://github.com/google-gemini/gemini-cli/pull/22833)
273
+ - fix(cli): resolve missing F12 logs via global console store by @scidomino in
274
+ [#24235](https://github.com/google-gemini/gemini-cli/pull/24235)
275
+ - fix broken tests by @scidomino in
276
+ [#24279](https://github.com/google-gemini/gemini-cli/pull/24279)
277
+ - fix(evals): add update_topic behavioral eval by @gundermanc in
278
+ [#24223](https://github.com/google-gemini/gemini-cli/pull/24223)
279
+ - feat(core): Unified Context Management and Tool Distillation. by @joshualitt
280
+ in [#24157](https://github.com/google-gemini/gemini-cli/pull/24157)
281
+ - Default enable narration for the team. by @gundermanc in
282
+ [#24224](https://github.com/google-gemini/gemini-cli/pull/24224)
283
+ - fix(core): ensure default agents provide tools and use model-specific schemas
284
+ by @abhipatel12 in
285
+ [#24268](https://github.com/google-gemini/gemini-cli/pull/24268)
286
+ - feat(cli): show Flash Lite Preview model regardless of user tier by @sehoon38
287
+ in [#23904](https://github.com/google-gemini/gemini-cli/pull/23904)
288
+ - feat(cli): implement compact tool output by @jwhelangoog in
289
+ [#20974](https://github.com/google-gemini/gemini-cli/pull/20974)
290
+ - Add security settings for tool sandboxing by @galz10 in
291
+ [#23923](https://github.com/google-gemini/gemini-cli/pull/23923)
292
+ - chore(test-utils): switch integration tests to use PREVIEW_GEMINI_MODEL by
293
+ @sehoon38 in [#24276](https://github.com/google-gemini/gemini-cli/pull/24276)
294
+ - feat(core): enable topic update narration for legacy models by @Abhijit-2592
295
+ in [#24241](https://github.com/google-gemini/gemini-cli/pull/24241)
296
+ - feat(core): add project-level memory scope to save_memory tool by @SandyTao520
297
+ in [#24161](https://github.com/google-gemini/gemini-cli/pull/24161)
298
+ - test(integration): fix plan mode write denial test false positive by @sehoon38
299
+ in [#24299](https://github.com/google-gemini/gemini-cli/pull/24299)
300
+ - feat(plan): support `Plan` mode in untrusted folders by @Adib234 in
301
+ [#17586](https://github.com/google-gemini/gemini-cli/pull/17586)
302
+ - fix(core): enable mid-stream retries for all models and re-enable compression
303
+ test by @sehoon38 in
304
+ [#24302](https://github.com/google-gemini/gemini-cli/pull/24302)
305
+ - Changelog for v0.36.0-preview.6 by @gemini-cli-robot in
306
+ [#24082](https://github.com/google-gemini/gemini-cli/pull/24082)
307
+ - Changelog for v0.35.3 by @gemini-cli-robot in
308
+ [#24083](https://github.com/google-gemini/gemini-cli/pull/24083)
309
+ - feat(cli): add auth info to footer by @sehoon38 in
310
+ [#24042](https://github.com/google-gemini/gemini-cli/pull/24042)
311
+ - fix(browser): reset action counter for each agent session and let it ignore
312
+ internal actions by @cynthialong0-0 in
313
+ [#24228](https://github.com/google-gemini/gemini-cli/pull/24228)
314
+ - feat(plan): promote planning feature to stable by @ruomengz in
315
+ [#24282](https://github.com/google-gemini/gemini-cli/pull/24282)
316
+ - fix(browser): terminate subagent immediately on domain restriction violations
317
+ by @gsquared94 in
318
+ [#24313](https://github.com/google-gemini/gemini-cli/pull/24313)
319
+ - feat(cli): add UI to update extensions by @ruomengz in
320
+ [#23682](https://github.com/google-gemini/gemini-cli/pull/23682)
321
+ - Fix(browser): terminate immediately for "browser is already running" error by
322
+ @cynthialong0-0 in
323
+ [#24233](https://github.com/google-gemini/gemini-cli/pull/24233)
324
+ - docs: Add 'plan' option to approval mode in CLI reference by @YifanRuan in
325
+ [#24134](https://github.com/google-gemini/gemini-cli/pull/24134)
326
+ - fix(core): batch macOS seatbelt rules into a profile file to prevent ARG_MAX
327
+ errors by @ehedlund in
328
+ [#24255](https://github.com/google-gemini/gemini-cli/pull/24255)
329
+ - fix(core): fix race condition between browser agent and main closing process
330
+ by @cynthialong0-0 in
331
+ [#24340](https://github.com/google-gemini/gemini-cli/pull/24340)
332
+ - perf(build): optimize build scripts for parallel execution and remove
333
+ redundant checks by @sehoon38 in
334
+ [#24307](https://github.com/google-gemini/gemini-cli/pull/24307)
335
+ - ci: install bubblewrap on Linux for release workflows by @ehedlund in
336
+ [#24347](https://github.com/google-gemini/gemini-cli/pull/24347)
337
+ - chore(release): allow bundling for all builds, including stable by @sehoon38
338
+ in [#24305](https://github.com/google-gemini/gemini-cli/pull/24305)
339
+ - Revert "Add security settings for tool sandboxing" by @jerop in
340
+ [#24357](https://github.com/google-gemini/gemini-cli/pull/24357)
341
+ - docs: update subagents docs to not be experimental by @abhipatel12 in
342
+ [#24343](https://github.com/google-gemini/gemini-cli/pull/24343)
343
+ - fix(core): implement **read and **write commands in sandbox managers by
344
+ @galz10 in [#24283](https://github.com/google-gemini/gemini-cli/pull/24283)
345
+ - don't try to remove tags in dry run by @scidomino in
346
+ [#24356](https://github.com/google-gemini/gemini-cli/pull/24356)
347
+ - fix(config): disable JIT context loading by default by @SandyTao520 in
348
+ [#24364](https://github.com/google-gemini/gemini-cli/pull/24364)
349
+ - test(sandbox): add integration test for dynamic permission expansion by
350
+ @galz10 in [#24359](https://github.com/google-gemini/gemini-cli/pull/24359)
351
+ - docs(policy): remove unsupported mcpName wildcard edge case by @abhipatel12 in
352
+ [#24133](https://github.com/google-gemini/gemini-cli/pull/24133)
353
+ - docs: fix broken GEMINI.md link in CONTRIBUTING.md by @Panchal-Tirth in
354
+ [#24182](https://github.com/google-gemini/gemini-cli/pull/24182)
355
+ - feat(core): infrastructure for event-driven subagent history by @abhipatel12
356
+ in [#23914](https://github.com/google-gemini/gemini-cli/pull/23914)
357
+ - fix(core): resolve Plan Mode deadlock during plan file creation due to sandbox
358
+ restrictions by @DavidAPierce in
359
+ [#24047](https://github.com/google-gemini/gemini-cli/pull/24047)
360
+ - fix(core): fix browser agent UX issues and improve E2E test reliability by
361
+ @gsquared94 in
362
+ [#24312](https://github.com/google-gemini/gemini-cli/pull/24312)
363
+ - fix(ui): wrap topic and intent fields in TopicMessage by @jwhelangoog in
364
+ [#24386](https://github.com/google-gemini/gemini-cli/pull/24386)
365
+ - refactor(core): Centralize context management logic into src/context by
366
+ @joshualitt in
367
+ [#24380](https://github.com/google-gemini/gemini-cli/pull/24380)
368
+ - fix(core): pin AuthType.GATEWAY to use Gemini 3.1 Pro/Flash Lite by default by
369
+ @sripasg in [#24375](https://github.com/google-gemini/gemini-cli/pull/24375)
370
+ - feat(ui): add Tokyo Night theme by @danrneal in
371
+ [#24054](https://github.com/google-gemini/gemini-cli/pull/24054)
372
+ - fix(cli): refactor test config loading and mock debugLogger in test-setup by
316
373
  @mattKorwel in
317
- [#23177](https://github.com/google-gemini/gemini-cli/pull/23177)
318
- - fix(test): move flaky tests to non-blocking suite by @mattKorwel in
319
- [#23259](https://github.com/google-gemini/gemini-cli/pull/23259)
320
- - Changelog for v0.35.0-preview.3 by @gemini-cli-robot in
321
- [#23574](https://github.com/google-gemini/gemini-cli/pull/23574)
322
- - feat(skills): add behavioral-evals skill with fixing and promoting guides by
374
+ [#24389](https://github.com/google-gemini/gemini-cli/pull/24389)
375
+ - Set memoryManager to false in settings.json by @mattKorwel in
376
+ [#24393](https://github.com/google-gemini/gemini-cli/pull/24393)
377
+ - ink 6.6.3 by @jacob314 in
378
+ [#24372](https://github.com/google-gemini/gemini-cli/pull/24372)
379
+ - fix(core): resolve subagent chat recording gaps and directory inheritance by
323
380
  @abhipatel12 in
324
- [#23349](https://github.com/google-gemini/gemini-cli/pull/23349)
325
- - refactor(core): delete obsolete coreToolScheduler by @abhipatel12 in
326
- [#23502](https://github.com/google-gemini/gemini-cli/pull/23502)
327
- - Changelog for v0.35.0-preview.4 by @gemini-cli-robot in
328
- [#23581](https://github.com/google-gemini/gemini-cli/pull/23581)
329
- - feat(core): add LegacyAgentSession by @adamfweidman in
330
- [#22986](https://github.com/google-gemini/gemini-cli/pull/22986)
331
- - feat(test-utils): add TestMcpServerBuilder and support in TestRig by
332
- @abhipatel12 in
333
- [#23491](https://github.com/google-gemini/gemini-cli/pull/23491)
334
- - fix(core)!: Force policy config to specify toolName by @kschaab in
335
- [#23330](https://github.com/google-gemini/gemini-cli/pull/23330)
336
- - eval(save_memory): add multi-turn interactive evals for memoryManager by
337
- @SandyTao520 in
338
- [#23572](https://github.com/google-gemini/gemini-cli/pull/23572)
339
- - fix(telemetry): patch memory leak and enforce logPrompts privacy by
340
- @spencer426 in
341
- [#23281](https://github.com/google-gemini/gemini-cli/pull/23281)
342
- - perf(cli): background IDE client to speed up initialization by @sehoon38 in
343
- [#23603](https://github.com/google-gemini/gemini-cli/pull/23603)
344
- - fix(cli): prevent Ctrl+D exit when input buffer is not empty by @wtanaka in
345
- [#23306](https://github.com/google-gemini/gemini-cli/pull/23306)
346
- - fix: ACP: separate conversational text from execute tool command title by
347
- @sripasg in [#23179](https://github.com/google-gemini/gemini-cli/pull/23179)
348
- - feat(evals): add behavioral evaluations for subagent routing by @Samee24 in
349
- [#23272](https://github.com/google-gemini/gemini-cli/pull/23272)
350
- - refactor(cli,core): foundational layout, identity management, and type safety
351
- by @jwhelangoog in
352
- [#23286](https://github.com/google-gemini/gemini-cli/pull/23286)
353
- - fix(core): accurately reflect subagent tool failure in UI by @abhipatel12 in
354
- [#23187](https://github.com/google-gemini/gemini-cli/pull/23187)
355
- - Changelog for v0.35.0-preview.5 by @gemini-cli-robot in
356
- [#23606](https://github.com/google-gemini/gemini-cli/pull/23606)
357
- - feat(ui): implement refreshed UX for Composer layout by @jwhelangoog in
358
- [#21212](https://github.com/google-gemini/gemini-cli/pull/21212)
359
- - fix: API key input dialog user interaction when selected Gemini API Key by
360
- @kartikangiras in
361
- [#21057](https://github.com/google-gemini/gemini-cli/pull/21057)
362
- - docs: update `/mcp refresh` to `/mcp reload` by @adamfweidman in
363
- [#23631](https://github.com/google-gemini/gemini-cli/pull/23631)
364
- - Implementation of sandbox "Write-Protected" Governance Files by @DavidAPierce
365
- in [#23139](https://github.com/google-gemini/gemini-cli/pull/23139)
366
- - feat(sandbox): dynamic macOS sandbox expansion and worktree support by @galz10
367
- in [#23301](https://github.com/google-gemini/gemini-cli/pull/23301)
368
- - fix(acp): Pass the cwd to `AcpFileSystemService` to avoid looping failures in
369
- asking for perms to write plan md file by @sripasg in
370
- [#23612](https://github.com/google-gemini/gemini-cli/pull/23612)
371
- - fix(plan): sandbox path resolution in Plan Mode to prevent hallucinations by
372
- @Adib234 in [#22737](https://github.com/google-gemini/gemini-cli/pull/22737)
373
- - feat(ui): allow immediate user input during startup by @sehoon38 in
374
- [#23661](https://github.com/google-gemini/gemini-cli/pull/23661)
375
- - refactor(sandbox): reorganize Windows sandbox files by @galz10 in
376
- [#23645](https://github.com/google-gemini/gemini-cli/pull/23645)
377
- - fix(core): improve remote agent streaming UI and UX by @adamfweidman in
378
- [#23633](https://github.com/google-gemini/gemini-cli/pull/23633)
379
- - perf(cli): optimize --version startup time by @sehoon38 in
380
- [#23671](https://github.com/google-gemini/gemini-cli/pull/23671)
381
- - refactor(core): stop gemini CLI from producing unsafe casts by @gundermanc in
382
- [#23611](https://github.com/google-gemini/gemini-cli/pull/23611)
383
- - use enableAutoUpdate in test rig by @scidomino in
384
- [#23681](https://github.com/google-gemini/gemini-cli/pull/23681)
385
- - feat(core): change user-facing auth type from oauth2 to oauth by @adamfweidman
386
- in [#23639](https://github.com/google-gemini/gemini-cli/pull/23639)
387
- - chore(deps): fix npm audit vulnerabilities by @scidomino in
388
- [#23679](https://github.com/google-gemini/gemini-cli/pull/23679)
389
- - test(evals): fix overlapping act() deadlock in app-test-helper by @Adib234 in
390
- [#23666](https://github.com/google-gemini/gemini-cli/pull/23666)
381
+ [#24368](https://github.com/google-gemini/gemini-cli/pull/24368)
382
+ - fix(cli): cap shell output at 10 MB to prevent RangeError crash by @ProthamD
383
+ in [#24168](https://github.com/google-gemini/gemini-cli/pull/24168)
384
+ - feat(plan): conditionally add enter/exit plan mode tools based on current mode
385
+ by @ruomengz in
386
+ [#24378](https://github.com/google-gemini/gemini-cli/pull/24378)
387
+ - feat(core): prioritize discussion before formal plan approval by @jerop in
388
+ [#24423](https://github.com/google-gemini/gemini-cli/pull/24423)
389
+ - fix(ui): add accelerated scrolling on alternate buffer mode by @devr0306 in
390
+ [#23940](https://github.com/google-gemini/gemini-cli/pull/23940)
391
+ - feat(core): populate sandbox forbidden paths with project ignore file contents
392
+ by @ehedlund in
393
+ [#24038](https://github.com/google-gemini/gemini-cli/pull/24038)
394
+ - fix(core): ensure blue border overlay and input blocker to act correctly
395
+ depending on browser agent activities by @cynthialong0-0 in
396
+ [#24385](https://github.com/google-gemini/gemini-cli/pull/24385)
397
+ - fix(ui): removed additional vertical padding for tables by @devr0306 in
398
+ [#24381](https://github.com/google-gemini/gemini-cli/pull/24381)
399
+ - fix(build): upload full bundle directory archive to GitHub releases by
400
+ @sehoon38 in [#24403](https://github.com/google-gemini/gemini-cli/pull/24403)
401
+ - fix(build): wire bundle:browser-mcp into bundle pipeline by @gsquared94 in
402
+ [#24424](https://github.com/google-gemini/gemini-cli/pull/24424)
403
+ - feat(browser): add sandbox-aware browser agent initialization by @gsquared94
404
+ in [#24419](https://github.com/google-gemini/gemini-cli/pull/24419)
405
+ - feat(core): enhance tracker task schemas for detailed titles and descriptions
406
+ by @anj-s in [#23902](https://github.com/google-gemini/gemini-cli/pull/23902)
407
+ - refactor(core): Unified context management settings schema by @joshualitt in
408
+ [#24391](https://github.com/google-gemini/gemini-cli/pull/24391)
409
+ - feat(core): update browser agent prompt to check open pages first when
410
+ bringing up by @cynthialong0-0 in
411
+ [#24431](https://github.com/google-gemini/gemini-cli/pull/24431)
412
+ - fix(acp) refactor(core,cli): centralize model discovery logic in
413
+ ModelConfigService by @sripasg in
414
+ [#24392](https://github.com/google-gemini/gemini-cli/pull/24392)
415
+ - Changelog for v0.36.0-preview.7 by @gemini-cli-robot in
416
+ [#24346](https://github.com/google-gemini/gemini-cli/pull/24346)
417
+ - fix: update task tracker storage location in system prompt by @anj-s in
418
+ [#24034](https://github.com/google-gemini/gemini-cli/pull/24034)
419
+ - feat(browser): supersede stale snapshots to reclaim context-window tokens by
420
+ @gsquared94 in
421
+ [#24440](https://github.com/google-gemini/gemini-cli/pull/24440)
422
+ - docs(core): add subagent tool isolation draft doc by @akh64bit in
423
+ [#23275](https://github.com/google-gemini/gemini-cli/pull/23275)
391
424
 
392
425
  **Full Changelog**:
393
- https://github.com/google-gemini/gemini-cli/compare/v0.35.0-preview.5...v0.36.0-preview.7
426
+ https://github.com/google-gemini/gemini-cli/compare/v0.36.0-preview.8...v0.37.0-preview.2