@google/gemini-cli-core 0.25.0-preview.0 → 0.26.0-nightly.20260119.20580d754

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 (214) hide show
  1. package/dist/docs/CONTRIBUTING.md +12 -4
  2. package/dist/docs/architecture.md +3 -3
  3. package/dist/docs/changelogs/index.md +25 -0
  4. package/dist/docs/changelogs/latest.md +150 -138
  5. package/dist/docs/changelogs/preview.md +211 -118
  6. package/dist/docs/changelogs/releases.md +408 -27
  7. package/dist/docs/cli/commands.md +24 -0
  8. package/dist/docs/cli/custom-commands.md +9 -9
  9. package/dist/docs/cli/index.md +4 -2
  10. package/dist/docs/cli/keyboard-shortcuts.md +40 -52
  11. package/dist/docs/cli/model-routing.md +1 -1
  12. package/dist/docs/cli/sandbox.md +1 -1
  13. package/dist/docs/cli/settings.md +26 -25
  14. package/dist/docs/cli/skills.md +8 -8
  15. package/dist/docs/cli/telemetry.md +3 -3
  16. package/dist/docs/extensions/getting-started-extensions.md +39 -2
  17. package/dist/docs/extensions/index.md +38 -4
  18. package/dist/docs/get-started/configuration.md +28 -13
  19. package/dist/docs/index.md +2 -0
  20. package/dist/docs/local-development.md +1 -1
  21. package/dist/docs/sidebar.json +4 -0
  22. package/dist/docs/tools/index.md +3 -0
  23. package/dist/docs/tools/mcp-server.md +2 -1
  24. package/dist/docs/troubleshooting.md +14 -2
  25. package/dist/google-gemini-cli-core-0.26.0-nightly.20260115.6cb3ae4e0.tgz +0 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/src/agents/a2a-client-manager.d.ts +0 -5
  30. package/dist/src/agents/a2a-client-manager.js +1 -123
  31. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  32. package/dist/src/agents/a2a-client-manager.test.js +1 -62
  33. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  34. package/dist/src/agents/generalist-agent.d.ts +21 -0
  35. package/dist/src/agents/generalist-agent.js +62 -0
  36. package/dist/src/agents/generalist-agent.js.map +1 -0
  37. package/dist/src/agents/generalist-agent.test.d.ts +6 -0
  38. package/dist/src/agents/generalist-agent.test.js +31 -0
  39. package/dist/src/agents/generalist-agent.test.js.map +1 -0
  40. package/dist/src/agents/local-executor.d.ts +1 -0
  41. package/dist/src/agents/local-executor.js +4 -1
  42. package/dist/src/agents/local-executor.js.map +1 -1
  43. package/dist/src/agents/registry.d.ts +1 -0
  44. package/dist/src/agents/registry.js +51 -14
  45. package/dist/src/agents/registry.js.map +1 -1
  46. package/dist/src/agents/registry.test.js +101 -21
  47. package/dist/src/agents/registry.test.js.map +1 -1
  48. package/dist/src/agents/types.d.ts +1 -0
  49. package/dist/src/code_assist/admin/admin_controls.d.ts +23 -0
  50. package/dist/src/code_assist/admin/admin_controls.js +88 -0
  51. package/dist/src/code_assist/admin/admin_controls.js.map +1 -0
  52. package/dist/src/code_assist/admin/admin_controls.test.d.ts +6 -0
  53. package/dist/src/code_assist/admin/admin_controls.test.js +200 -0
  54. package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -0
  55. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  56. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  57. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  58. package/dist/src/code_assist/server.d.ts +2 -1
  59. package/dist/src/code_assist/server.js +3 -0
  60. package/dist/src/code_assist/server.js.map +1 -1
  61. package/dist/src/code_assist/types.d.ts +56 -17
  62. package/dist/src/code_assist/types.js +16 -0
  63. package/dist/src/code_assist/types.js.map +1 -1
  64. package/dist/src/config/config.d.ts +27 -10
  65. package/dist/src/config/config.js +60 -12
  66. package/dist/src/config/config.js.map +1 -1
  67. package/dist/src/config/config.test.js +74 -25
  68. package/dist/src/config/config.test.js.map +1 -1
  69. package/dist/src/config/constants.d.ts +2 -0
  70. package/dist/src/config/constants.js +4 -0
  71. package/dist/src/config/constants.js.map +1 -1
  72. package/dist/src/confirmation-bus/types.d.ts +52 -2
  73. package/dist/src/confirmation-bus/types.js +1 -0
  74. package/dist/src/confirmation-bus/types.js.map +1 -1
  75. package/dist/src/core/client.js +3 -1
  76. package/dist/src/core/client.js.map +1 -1
  77. package/dist/src/core/client.test.js +15 -0
  78. package/dist/src/core/client.test.js.map +1 -1
  79. package/dist/src/core/contentGenerator.js +2 -1
  80. package/dist/src/core/contentGenerator.js.map +1 -1
  81. package/dist/src/core/coreToolScheduler.d.ts +1 -0
  82. package/dist/src/core/coreToolScheduler.js +9 -3
  83. package/dist/src/core/coreToolScheduler.js.map +1 -1
  84. package/dist/src/core/coreToolScheduler.test.js +49 -6
  85. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  86. package/dist/src/core/prompts.d.ts +1 -1
  87. package/dist/src/core/prompts.js +3 -2
  88. package/dist/src/core/prompts.js.map +1 -1
  89. package/dist/src/core/prompts.test.js +1 -0
  90. package/dist/src/core/prompts.test.js.map +1 -1
  91. package/dist/src/generated/git-commit.d.ts +2 -2
  92. package/dist/src/generated/git-commit.js +2 -2
  93. package/dist/src/generated/git-commit.js.map +1 -1
  94. package/dist/src/hooks/hookRegistry.js +5 -2
  95. package/dist/src/hooks/hookRegistry.js.map +1 -1
  96. package/dist/src/hooks/hookRegistry.test.js +30 -1
  97. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  98. package/dist/src/hooks/types.d.ts +4 -0
  99. package/dist/src/hooks/types.js +4 -0
  100. package/dist/src/hooks/types.js.map +1 -1
  101. package/dist/src/index.d.ts +1 -0
  102. package/dist/src/index.js +1 -0
  103. package/dist/src/index.js.map +1 -1
  104. package/dist/src/mcp/oauth-provider.d.ts +9 -1
  105. package/dist/src/mcp/oauth-provider.js +37 -6
  106. package/dist/src/mcp/oauth-provider.js.map +1 -1
  107. package/dist/src/mcp/oauth-provider.test.js +107 -1
  108. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  109. package/dist/src/policy/config.js +9 -0
  110. package/dist/src/policy/config.js.map +1 -1
  111. package/dist/src/policy/policies/plan.toml +70 -0
  112. package/dist/src/policy/policies/read-only.toml +0 -5
  113. package/dist/src/policy/toml-loader.js +1 -0
  114. package/dist/src/policy/toml-loader.js.map +1 -1
  115. package/dist/src/policy/toml-loader.test.js +2 -0
  116. package/dist/src/policy/toml-loader.test.js.map +1 -1
  117. package/dist/src/policy/types.d.ts +7 -1
  118. package/dist/src/policy/types.js +1 -0
  119. package/dist/src/policy/types.js.map +1 -1
  120. package/dist/src/scheduler/confirmation.d.ts +24 -0
  121. package/dist/src/scheduler/confirmation.js +50 -0
  122. package/dist/src/scheduler/confirmation.js.map +1 -0
  123. package/dist/src/scheduler/confirmation.test.d.ts +6 -0
  124. package/dist/src/scheduler/confirmation.test.js +143 -0
  125. package/dist/src/scheduler/confirmation.test.js.map +1 -0
  126. package/dist/src/scheduler/state-manager.d.ts +67 -0
  127. package/dist/src/scheduler/state-manager.js +335 -0
  128. package/dist/src/scheduler/state-manager.js.map +1 -0
  129. package/dist/src/scheduler/state-manager.test.d.ts +6 -0
  130. package/dist/src/scheduler/state-manager.test.js +386 -0
  131. package/dist/src/scheduler/state-manager.test.js.map +1 -0
  132. package/dist/src/scheduler/tool-executor.js +5 -5
  133. package/dist/src/scheduler/tool-executor.js.map +1 -1
  134. package/dist/src/scheduler/tool-executor.test.js +10 -9
  135. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  136. package/dist/src/scheduler/types.d.ts +10 -1
  137. package/dist/src/services/shellExecutionService.js +14 -3
  138. package/dist/src/services/shellExecutionService.js.map +1 -1
  139. package/dist/src/services/shellExecutionService.test.js +30 -1
  140. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  141. package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
  142. package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  143. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +87 -0
  144. package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  145. package/dist/src/skills/skillLoader.js +65 -9
  146. package/dist/src/skills/skillLoader.js.map +1 -1
  147. package/dist/src/skills/skillLoader.test.js +110 -0
  148. package/dist/src/skills/skillLoader.test.js.map +1 -1
  149. package/dist/src/skills/skillManager.d.ts +2 -2
  150. package/dist/src/skills/skillManager.js +17 -6
  151. package/dist/src/skills/skillManager.js.map +1 -1
  152. package/dist/src/skills/skillManager.test.js +91 -4
  153. package/dist/src/skills/skillManager.test.js.map +1 -1
  154. package/dist/src/telemetry/sdk.test.js +2 -1
  155. package/dist/src/telemetry/sdk.test.js.map +1 -1
  156. package/dist/src/telemetry/semantic.js +88 -0
  157. package/dist/src/telemetry/semantic.js.map +1 -1
  158. package/dist/src/telemetry/semantic.truncation.test.d.ts +1 -0
  159. package/dist/src/telemetry/semantic.truncation.test.js +92 -0
  160. package/dist/src/telemetry/semantic.truncation.test.js.map +1 -0
  161. package/dist/src/test-utils/mock-tool.d.ts +1 -0
  162. package/dist/src/test-utils/mock-tool.js +1 -0
  163. package/dist/src/test-utils/mock-tool.js.map +1 -1
  164. package/dist/src/tools/mcp-client-manager.d.ts +1 -0
  165. package/dist/src/tools/mcp-client-manager.js +3 -0
  166. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  167. package/dist/src/tools/mcp-client-manager.test.js +12 -1
  168. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  169. package/dist/src/tools/shell.js +1 -0
  170. package/dist/src/tools/shell.js.map +1 -1
  171. package/dist/src/tools/tools.d.ts +2 -0
  172. package/dist/src/tools/tools.js.map +1 -1
  173. package/dist/src/utils/editCorrector.js +3 -3
  174. package/dist/src/utils/editCorrector.js.map +1 -1
  175. package/dist/src/utils/events.d.ts +6 -0
  176. package/dist/src/utils/events.js +7 -0
  177. package/dist/src/utils/events.js.map +1 -1
  178. package/dist/src/utils/fileUtils.d.ts +11 -3
  179. package/dist/src/utils/fileUtils.js +49 -49
  180. package/dist/src/utils/fileUtils.js.map +1 -1
  181. package/dist/src/utils/fileUtils.test.js +52 -106
  182. package/dist/src/utils/fileUtils.test.js.map +1 -1
  183. package/dist/src/utils/filesearch/crawler.d.ts +1 -0
  184. package/dist/src/utils/filesearch/crawler.js +18 -1
  185. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  186. package/dist/src/utils/filesearch/crawler.test.js +29 -2
  187. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  188. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -1
  189. package/dist/src/utils/filesearch/fileSearch.js +3 -2
  190. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  191. package/dist/src/utils/filesearch/fileSearch.test.js +49 -28
  192. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  193. package/dist/src/utils/llm-edit-fixer.js +2 -2
  194. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  195. package/dist/src/utils/shell-utils.d.ts +1 -0
  196. package/dist/src/utils/shell-utils.js +46 -2
  197. package/dist/src/utils/shell-utils.js.map +1 -1
  198. package/dist/src/utils/shell-utils.test.js +90 -1
  199. package/dist/src/utils/shell-utils.test.js.map +1 -1
  200. package/dist/src/utils/textUtils.d.ts +8 -0
  201. package/dist/src/utils/textUtils.js +13 -0
  202. package/dist/src/utils/textUtils.js.map +1 -1
  203. package/dist/src/utils/textUtils.test.js +18 -1
  204. package/dist/src/utils/textUtils.test.js.map +1 -1
  205. package/dist/src/utils/tokenCalculation.d.ts +1 -1
  206. package/dist/src/utils/tokenCalculation.js +25 -9
  207. package/dist/src/utils/tokenCalculation.js.map +1 -1
  208. package/dist/src/utils/tokenCalculation.test.js +20 -0
  209. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +2 -2
  212. package/dist/src/utils/LruCache.d.ts +0 -13
  213. package/dist/src/utils/LruCache.js +0 -38
  214. package/dist/src/utils/LruCache.js.map +0 -1
@@ -42,8 +42,13 @@ This project follows
42
42
  The process for contributing code is as follows:
43
43
 
44
44
  1. **Find an issue** that you want to work on. If an issue is tagged as
45
- "🔒Maintainers only", this means it is reserved for project maintainers. We
46
- will not accept pull requests related to these issues.
45
+ `🔒Maintainers only`, this means it is reserved for project maintainers. We
46
+ will not accept pull requests related to these issues. In the near future,
47
+ we will explicitly mark issues looking for contributions using the
48
+ `help wanted` label. If you believe an issue is a good candidate for
49
+ community contribution, please leave a comment on the issue. A maintainer
50
+ will review it and apply the `help-wanted` label if appropriate. Only
51
+ maintainers should attempt to add the `help-wanted` label to an issue.
47
52
  2. **Fork the repository** and create a new branch.
48
53
  3. **Make your changes** in the `packages/` directory.
49
54
  4. **Ensure all checks pass** by running `npm run preflight`.
@@ -94,8 +99,11 @@ any code is written.
94
99
  - **For features:** The PR should be linked to the feature request or proposal
95
100
  issue that has been approved by a maintainer.
96
101
 
97
- If an issue for your change doesn't exist, please **open one first** and wait
98
- for feedback before you start coding.
102
+ If an issue for your change doesn't exist, we will automatically close your PR
103
+ along with a comment reminding you to associate the PR with an issue. The ideal
104
+ workflow starts with an issue that has been reviewed and approved by a
105
+ maintainer. Please **open the issue first** and wait for feedback before you
106
+ start coding.
99
107
 
100
108
  #### 2. Keep it small and focused
101
109
 
@@ -13,11 +13,11 @@ input:
13
13
  as handling the initial user input, presenting the final output, and
14
14
  managing the overall user experience.
15
15
  - **Key functions contained in the package:**
16
- - [Input processing](/docs/cli/commands.md)
16
+ - [Input processing](/docs/cli/commands)
17
17
  - History management
18
18
  - Display rendering
19
- - [Theme and UI customization](/docs/cli/themes.md)
20
- - [CLI configuration settings](/docs/get-started/configuration.md)
19
+ - [Theme and UI customization](/docs/cli/themes)
20
+ - [CLI configuration settings](/docs/get-started/configuration)
21
21
 
22
22
  2. **Core package (`packages/core`):**
23
23
  - **Purpose:** This acts as the backend for the Gemini CLI. It receives
@@ -18,6 +18,31 @@ on GitHub.
18
18
  | [Preview](preview.md) | Experimental features ready for early feedback. |
19
19
  | [Stable](latest.md) | Stable, recommended for general use. |
20
20
 
21
+ ## Announcements: v0.23.0 - 2026-01-07
22
+
23
+ - 🎉 **Experimental Agent Skills Support in Preview:** Gemini CLI now supports
24
+ [Agent Skills](https://agentskills.io/home) in our preview builds. This is an
25
+ early preview where we’re looking for feedback!
26
+ - Install Preview: `npm install -g @google/gemini-cli@preview`
27
+ - Enable in `/settings`
28
+ - Docs:
29
+ [https://geminicli.com/docs/cli/skills/](https://geminicli.com/docs/cli/skills/)
30
+ - **Gemini CLI wrapped:** Run `npx gemini-wrapped` to visualize your usage
31
+ stats, top models, languages, and more!
32
+ - **Windows clipboard image support:** Windows users can now paste images
33
+ directly from their clipboard into the CLI using `Alt`+`V`.
34
+ ([pr](https://github.com/google-gemini/gemini-cli/pull/13997) by
35
+ [@sgeraldes](https://github.com/sgeraldes))
36
+ - **Terminal background color detection:** Automatically optimizes your
37
+ terminal's background color to select compatible themes and provide
38
+ accessibility warnings.
39
+ ([pr](https://github.com/google-gemini/gemini-cli/pull/15132) by
40
+ [@jacob314](https://github.com/jacob314))
41
+ - **Session logout:** Use the new `/logout` command to instantly clear
42
+ credentials and reset your authentication state for seamless account
43
+ switching. ([pr](https://github.com/google-gemini/gemini-cli/pull/13383) by
44
+ [@CN-Scars](https://github.com/CN-Scars))
45
+
21
46
  ## Announcements: v0.22.0 - 2025-12-22
22
47
 
23
48
  - 🎉**Free Tier + Gemini 3:** Free tier users now all have access to Gemini 3
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.22.0 - v0.22.5
1
+ # Latest stable release: v0.23.0
2
2
 
3
- Released: December 30, 2025
3
+ Released: January 6, 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,143 +11,155 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Comprehensive quota visibility:** View usage statistics for all available
15
- models in the `/stats` command, even those not yet used in your current
16
- session. ([pic](https://imgur.com/a/cKyDtYh),
17
- [pr](https://github.com/google-gemini/gemini-cli/pull/14764) by
18
- [@sehoon38](https://github.com/sehoon38))
19
- - **Polished CLI statistics:** We’ve cleaned up the `/stats` view to prioritize
20
- actionable quota information while providing a detailed token and
21
- cache-efficiency breakdown in `/stats model`
22
- ([login with Google](https://imgur.com/a/w9xKthm),
23
- [api key](https://imgur.com/a/FjQPHOY),
24
- [model stats](https://imgur.com/a/VfWzVgw),
25
- [pr](https://github.com/google-gemini/gemini-cli/pull/14961) by
14
+ - **Gemini CLI wrapped:** Run `npx gemini-wrapped` to visualize your usage
15
+ stats, top models, languages, and more!
16
+ - **Windows clipboard image support:** Windows users can now paste images
17
+ directly from their clipboard into the CLI using `Alt`+`V`.
18
+ ([pr](https://github.com/google-gemini/gemini-cli/pull/13997) by
19
+ [@sgeraldes](https://github.com/sgeraldes))
20
+ - **Terminal background color detection:** Automatically optimizes your
21
+ terminal's background color to select compatible themes and provide
22
+ accessibility warnings.
23
+ ([pr](https://github.com/google-gemini/gemini-cli/pull/15132) by
26
24
  [@jacob314](https://github.com/jacob314))
27
- - **Multi-file drag & drop:** Multi-file drag & drop is now supported and
28
- properly translated to be prefixed with `@`.
29
- ([pr](https://github.com/google-gemini/gemini-cli/pull/14832) by
30
- [@jackwotherspoon](https://github.com/jackwotherspoon))
25
+ - **Session logout:** Use the new `/logout` command to instantly clear
26
+ credentials and reset your authentication state for seamless account
27
+ switching. ([pr](https://github.com/google-gemini/gemini-cli/pull/13383) by
28
+ [@CN-Scars](https://github.com/CN-Scars))
31
29
 
32
- ## What's Changed
30
+ ## What's changed
33
31
 
34
- - feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var by @skeshive in
35
- https://github.com/google-gemini/gemini-cli/pull/14843
36
- - feat: display quota stats for unused models in /stats by @sehoon38 in
37
- https://github.com/google-gemini/gemini-cli/pull/14764
38
- - feat: ensure codebase investigator uses preview model when main agent does by
39
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14412
40
- - chore: add closing reason to stale bug workflow by @galz10 in
41
- https://github.com/google-gemini/gemini-cli/pull/14861
42
- - Send the model and CLI version with the user agent by @gundermanc in
43
- https://github.com/google-gemini/gemini-cli/pull/14865
44
- - refactor(sessions): move session summary generation to startup by
45
- @jackwotherspoon in https://github.com/google-gemini/gemini-cli/pull/14691
46
- - Limit search depth in path corrector by @scidomino in
47
- https://github.com/google-gemini/gemini-cli/pull/14869
48
- - Fix: Correct typo in code comment by @kuishou68 in
49
- https://github.com/google-gemini/gemini-cli/pull/14671
50
- - feat(core): Plumbing for late resolution of model configs. by @joshualitt in
51
- https://github.com/google-gemini/gemini-cli/pull/14597
52
- - feat: attempt more error parsing by @adamfweidman in
53
- https://github.com/google-gemini/gemini-cli/pull/14899
54
- - Add missing await. by @gundermanc in
55
- https://github.com/google-gemini/gemini-cli/pull/14910
56
- - feat(core): Add support for transcript_path in hooks for git-ai/Gemini
57
- extension by @svarlamov in
58
- https://github.com/google-gemini/gemini-cli/pull/14663
59
- - refactor: implement DelegateToAgentTool with discriminated union by
60
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/14769
61
- - feat: reset availabilityService on /auth by @adamfweidman in
62
- https://github.com/google-gemini/gemini-cli/pull/14911
63
- - chore/release: bump version to 0.21.0-nightly.20251211.8c83e1ea9 by
64
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14924
65
- - Fix: Correctly detect MCP tool errors by @kevin-ramdass in
66
- https://github.com/google-gemini/gemini-cli/pull/14937
67
- - increase labeler timeout by @scidomino in
68
- https://github.com/google-gemini/gemini-cli/pull/14922
69
- - tool(cli): tweak the frontend tool to be aware of more core files from the cli
70
- by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14962
71
- - feat(cli): polish cached token stats and simplify stats display when quota is
72
- present. by @jacob314 in
73
- https://github.com/google-gemini/gemini-cli/pull/14961
74
- - feat(settings-validation): add validation for settings schema by @lifefloating
75
- in https://github.com/google-gemini/gemini-cli/pull/12929
76
- - fix(ide): Update IDE extension to write auth token in env var by @skeshive in
77
- https://github.com/google-gemini/gemini-cli/pull/14999
78
- - Revert "chore(deps): bump express from 5.1.0 to 5.2.0" by @skeshive in
79
- https://github.com/google-gemini/gemini-cli/pull/14998
80
- - feat(a2a): Introduce /init command for a2a server by @cocosheng-g in
81
- https://github.com/google-gemini/gemini-cli/pull/13419
82
- - feat: support multi-file drag and drop of images by @jackwotherspoon in
83
- https://github.com/google-gemini/gemini-cli/pull/14832
84
- - fix(policy): allow codebase_investigator by default in read-only policy by
85
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15000
86
- - refactor(ide ext): Update port file name + switch to 1-based index for
87
- characters + remove truncation text by @skeshive in
88
- https://github.com/google-gemini/gemini-cli/pull/10501
89
- - fix(vscode-ide-companion): correct license generation for workspace
90
- dependencies by @skeshive in
91
- https://github.com/google-gemini/gemini-cli/pull/15004
92
- - fix: temp fix for subagent invocation until subagent delegation is merged to
93
- stable by @abhipatel12 in
94
- https://github.com/google-gemini/gemini-cli/pull/15007
95
- - test: update ide detection tests to make them more robust when run in an ide
96
- by @kevin-ramdass in https://github.com/google-gemini/gemini-cli/pull/15008
97
- - Remove flex from stats display. See snapshots for diffs. by @jacob314 in
98
- https://github.com/google-gemini/gemini-cli/pull/14983
99
- - Add license field into package.json by @jb-perez in
100
- https://github.com/google-gemini/gemini-cli/pull/14473
101
- - feat: Persistent "Always Allow" policies with granular shell & MCP support by
102
- @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/14737
103
- - chore/release: bump version to 0.21.0-nightly.20251212.54de67536 by
104
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/14969
105
- - fix(core): commandPrefix word boundary and compound command safety by
106
- @allenhutchison in https://github.com/google-gemini/gemini-cli/pull/15006
107
- - chore(docs): add 'Maintainers only' label info to CONTRIBUTING.md by @jacob314
108
- in https://github.com/google-gemini/gemini-cli/pull/14914
109
- - Refresh hooks when refreshing extensions. by @scidomino in
110
- https://github.com/google-gemini/gemini-cli/pull/14918
111
- - Add clarity to error messages by @gsehgal in
112
- https://github.com/google-gemini/gemini-cli/pull/14879
113
- - chore : remove a redundant tip by @JayadityaGit in
114
- https://github.com/google-gemini/gemini-cli/pull/14947
115
- - chore/release: bump version to 0.21.0-nightly.20251213.977248e09 by
116
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15029
117
- - Disallow redundant typecasts. by @gundermanc in
118
- https://github.com/google-gemini/gemini-cli/pull/15030
119
- - fix(auth): prioritize GEMINI_API_KEY env var and skip unnecessary key… by
120
- @galz10 in https://github.com/google-gemini/gemini-cli/pull/14745
121
- - fix: use zod for safety check result validation by @allenhutchison in
122
- https://github.com/google-gemini/gemini-cli/pull/15026
123
- - update(telemetry): add hashed_extension_name to field to extension events by
124
- @kiranani in https://github.com/google-gemini/gemini-cli/pull/15025
125
- - fix: similar to policy-engine, throw error in case of requiring tool execution
126
- confirmation for non-interactive mode by @MayV in
127
- https://github.com/google-gemini/gemini-cli/pull/14702
128
- - Clean up processes in integration tests by @scidomino in
129
- https://github.com/google-gemini/gemini-cli/pull/15102
130
- - docs: update policy engine getting started and defaults by @NTaylorMullen in
131
- https://github.com/google-gemini/gemini-cli/pull/15105
132
- - Fix tool output fragmentation by encapsulating content in functionResponse by
133
- @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/13082
134
- - Simplify method signature. by @scidomino in
135
- https://github.com/google-gemini/gemini-cli/pull/15114
136
- - Show raw input token counts in json output. by @jacob314 in
137
- https://github.com/google-gemini/gemini-cli/pull/15021
138
- - fix: Mark A2A requests as interactive by @MayV in
139
- https://github.com/google-gemini/gemini-cli/pull/15108
140
- - use previewFeatures to determine which pro model to use for A2A by @sehoon38
141
- in https://github.com/google-gemini/gemini-cli/pull/15131
142
- - refactor(cli): fix settings merging so that settings using the new json format
143
- take priority over ones using the old format by @jacob314 in
144
- https://github.com/google-gemini/gemini-cli/pull/15116
145
- - fix(patch): cherry-pick a6d1245 to release/v0.22.0-preview.1-pr-15214 to patch
146
- version v0.22.0-preview.1 and create version 0.22.0-preview.2 by
147
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15226
148
- - fix(patch): cherry-pick 9e6914d to release/v0.22.0-preview.2-pr-15288 to patch
149
- version v0.22.0-preview.2 and create version 0.22.0-preview.3 by
150
- @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15294
32
+ - Code assist service metrics. by @gundermanc in
33
+ https://github.com/google-gemini/gemini-cli/pull/15024
34
+ - chore/release: bump version to 0.21.0-nightly.20251216.bb0c0d8ee by
35
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15121
36
+ - Docs by @Roaimkhan in https://github.com/google-gemini/gemini-cli/pull/15103
37
+ - Use official ACP SDK and support HTTP/SSE based MCP servers by @SteffenDE in
38
+ https://github.com/google-gemini/gemini-cli/pull/13856
39
+ - Remove foreground for themes other than shades of purple and holiday. by
40
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/14606
41
+ - chore: remove repo specific tips by @jackwotherspoon in
42
+ https://github.com/google-gemini/gemini-cli/pull/15164
43
+ - chore: remove user query from footer in debug mode by @jackwotherspoon in
44
+ https://github.com/google-gemini/gemini-cli/pull/15169
45
+ - Disallow unnecessary awaits. by @gundermanc in
46
+ https://github.com/google-gemini/gemini-cli/pull/15172
47
+ - Add one to the padding in settings dialog to avoid flicker. by @jacob314 in
48
+ https://github.com/google-gemini/gemini-cli/pull/15173
49
+ - feat(core): introduce remote agent infrastructure and rename local executor by
50
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15110
51
+ - feat(cli): Add `/auth logout` command to clear credentials and auth state by
52
+ @CN-Scars in https://github.com/google-gemini/gemini-cli/pull/13383
53
+ - (fix) Automated pr labeller by @DaanVersavel in
54
+ https://github.com/google-gemini/gemini-cli/pull/14885
55
+ - feat: launch Gemini 3 Flash in Gemini CLI ⚡️⚡️⚡️ by @scidomino in
56
+ https://github.com/google-gemini/gemini-cli/pull/15196
57
+ - Refactor: Migrate console.error in ripGrep.ts to debugLogger by @Adib234 in
58
+ https://github.com/google-gemini/gemini-cli/pull/15201
59
+ - chore: update a2a-js to 0.3.7 by @adamfweidman in
60
+ https://github.com/google-gemini/gemini-cli/pull/15197
61
+ - chore(core): remove redundant isModelAvailabilityServiceEnabled toggle and
62
+ clean up dead code by @adamfweidman in
63
+ https://github.com/google-gemini/gemini-cli/pull/15207
64
+ - feat(core): Late resolve `GenerateContentConfig`s and reduce mutation. by
65
+ @joshualitt in https://github.com/google-gemini/gemini-cli/pull/14920
66
+ - Respect previewFeatures value from the remote flag if undefined by @sehoon38
67
+ in https://github.com/google-gemini/gemini-cli/pull/15214
68
+ - feat(ui): add Windows clipboard image support and Alt+V paste workaround by
69
+ @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15218
70
+ - chore(core): remove legacy fallback flags and migrate loop detection by
71
+ @adamfweidman in https://github.com/google-gemini/gemini-cli/pull/15213
72
+ - fix(ui): Prevent eager slash command completion hiding sibling commands by
73
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15224
74
+ - Docs: Update Changelog for Dec 17, 2025 by @jkcinouye in
75
+ https://github.com/google-gemini/gemini-cli/pull/15204
76
+ - Code Assist backend telemetry for user accept/reject of suggestions by
77
+ @gundermanc in https://github.com/google-gemini/gemini-cli/pull/15206
78
+ - fix(cli): correct initial history length handling for chat commands by
79
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15223
80
+ - chore/release: bump version to 0.21.0-nightly.20251218.739c02bd6 by
81
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15231
82
+ - Change detailed model stats to use a new shared Table class to resolve
83
+ robustness issues. by @jacob314 in
84
+ https://github.com/google-gemini/gemini-cli/pull/15208
85
+ - feat: add agent toml parser by @abhipatel12 in
86
+ https://github.com/google-gemini/gemini-cli/pull/15112
87
+ - Add core tool that adds all context from the core package. by @jacob314 in
88
+ https://github.com/google-gemini/gemini-cli/pull/15238
89
+ - (docs): Add reference section to hooks documentation by @abhipatel12 in
90
+ https://github.com/google-gemini/gemini-cli/pull/15159
91
+ - feat(hooks): add support for friendly names and descriptions by @abhipatel12
92
+ in https://github.com/google-gemini/gemini-cli/pull/15174
93
+ - feat: Detect background color by @jacob314 in
94
+ https://github.com/google-gemini/gemini-cli/pull/15132
95
+ - add 3.0 to allowed sensitive keywords by @scidomino in
96
+ https://github.com/google-gemini/gemini-cli/pull/15276
97
+ - feat: Pass additional environment variables to shell execution by @galz10 in
98
+ https://github.com/google-gemini/gemini-cli/pull/15160
99
+ - Remove unused code by @scidomino in
100
+ https://github.com/google-gemini/gemini-cli/pull/15290
101
+ - Handle all 429 as retryableQuotaError by @sehoon38 in
102
+ https://github.com/google-gemini/gemini-cli/pull/15288
103
+ - Remove unnecessary dependencies by @scidomino in
104
+ https://github.com/google-gemini/gemini-cli/pull/15291
105
+ - fix: prevent infinite loop in prompt completion on error by @galz10 in
106
+ https://github.com/google-gemini/gemini-cli/pull/14548
107
+ - fix(ui): show command suggestions even on perfect match and sort them by
108
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15287
109
+ - feat(hooks): reduce log verbosity and improve error reporting in UI by
110
+ @abhipatel12 in https://github.com/google-gemini/gemini-cli/pull/15297
111
+ - feat: simplify tool confirmation labels for better UX by @NTaylorMullen in
112
+ https://github.com/google-gemini/gemini-cli/pull/15296
113
+ - chore/release: bump version to 0.21.0-nightly.20251219.70696e364 by
114
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15301
115
+ - feat(core): Implement JIT context memory loading and UI sync by @SandyTao520
116
+ in https://github.com/google-gemini/gemini-cli/pull/14469
117
+ - feat(ui): Put "Allow for all future sessions" behind a setting off by default.
118
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15322
119
+ - fix(cli):change the placeholder of input during the shell mode by
120
+ @JayadityaGit in https://github.com/google-gemini/gemini-cli/pull/15135
121
+ - Validate OAuth resource parameter matches MCP server URL by @galz10 in
122
+ https://github.com/google-gemini/gemini-cli/pull/15289
123
+ - docs(cli): add System Prompt Override (GEMINI_SYSTEM_MD) by @ashmod in
124
+ https://github.com/google-gemini/gemini-cli/pull/9515
125
+ - more robust command parsing logs by @scidomino in
126
+ https://github.com/google-gemini/gemini-cli/pull/15339
127
+ - Introspection agent demo by @scidomino in
128
+ https://github.com/google-gemini/gemini-cli/pull/15232
129
+ - fix(core): sanitize hook command expansion and prevent injection by
130
+ @SandyTao520 in https://github.com/google-gemini/gemini-cli/pull/15343
131
+ - fix(folder trust): add validation for trusted folder level by @adamfweidman in
132
+ https://github.com/google-gemini/gemini-cli/pull/12215
133
+ - fix(cli): fix right border overflow in trust dialogs by @galz10 in
134
+ https://github.com/google-gemini/gemini-cli/pull/15350
135
+ - fix(policy): fix bug where accepting-edits continued after it was turned off
136
+ by @jacob314 in https://github.com/google-gemini/gemini-cli/pull/15351
137
+ - fix: prevent infinite relaunch loop when --resume fails (#14941) by @Ying-xi
138
+ in https://github.com/google-gemini/gemini-cli/pull/14951
139
+ - chore/release: bump version to 0.21.0-nightly.20251220.41a1a3eed by
140
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15352
141
+ - feat(telemetry): add clearcut logging for hooks by @abhipatel12 in
142
+ https://github.com/google-gemini/gemini-cli/pull/15405
143
+ - fix(core): Add `.geminiignore` support to SearchText tool by @xyrolle in
144
+ https://github.com/google-gemini/gemini-cli/pull/13763
145
+ - fix(patch): cherry-pick 0843d9a to release/v0.23.0-preview.0-pr-15443 to patch
146
+ version v0.23.0-preview.0 and create version 0.23.0-preview.1 by
147
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15445
148
+ - fix(patch): cherry-pick 9cdb267 to release/v0.23.0-preview.1-pr-15494 to patch
149
+ version v0.23.0-preview.1 and create version 0.23.0-preview.2 by
150
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15592
151
+ - fix(patch): cherry-pick 37be162 to release/v0.23.0-preview.2-pr-15601 to patch
152
+ version v0.23.0-preview.2 and create version 0.23.0-preview.3 by
153
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/15603
154
+ - fix(patch): cherry-pick 07e597d to release/v0.23.0-preview.3-pr-15684
155
+ [CONFLICTS] by @gemini-cli-robot in
156
+ https://github.com/google-gemini/gemini-cli/pull/15734
157
+ - fix(patch): cherry-pick c31f053 to release/v0.23.0-preview.4-pr-16004 to patch
158
+ version v0.23.0-preview.4 and create version 0.23.0-preview.5 by
159
+ @gemini-cli-robot in https://github.com/google-gemini/gemini-cli/pull/16027
160
+ - fix(patch): cherry-pick 788bb04 to release/v0.23.0-preview.5-pr-15817
161
+ [CONFLICTS] by @gemini-cli-robot in
162
+ https://github.com/google-gemini/gemini-cli/pull/16038
151
163
 
152
- **Full Changelog**:
153
- https://github.com/google-gemini/gemini-cli/compare/v0.21.3...v0.22.0
164
+ **Full changelog**:
165
+ https://github.com/google-gemini/gemini-cli/compare/v0.22.5...v0.23.0