@google/gemini-cli-core 0.40.0-preview.4 → 0.41.0-nightly.20260427.g42587de73

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 (97) hide show
  1. package/README.md +2 -0
  2. package/dist/docs/changelogs/index.md +18 -0
  3. package/dist/docs/changelogs/latest.md +243 -255
  4. package/dist/docs/cli/settings.md +19 -13
  5. package/dist/docs/reference/configuration.md +71 -0
  6. package/dist/docs/reference/keyboard-shortcuts.md +1 -0
  7. package/dist/{google-gemini-cli-core-0.40.0-preview.3.tgz → google-gemini-cli-core-0.41.0-nightly.20260423.gaa05b4583.tgz} +0 -0
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/src/agents/local-executor.js +8 -0
  12. package/dist/src/agents/local-executor.js.map +1 -1
  13. package/dist/src/agents/skill-extraction-agent.js +5 -4
  14. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  15. package/dist/src/agents/skill-extraction-agent.test.js +4 -2
  16. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  17. package/dist/src/agents/types.d.ts +2 -0
  18. package/dist/src/agents/types.js.map +1 -1
  19. package/dist/src/config/config.d.ts +6 -0
  20. package/dist/src/config/config.js +26 -8
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/config.test.js +39 -1
  23. package/dist/src/config/config.test.js.map +1 -1
  24. package/dist/src/config/defaultModelConfigs.js +34 -0
  25. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  26. package/dist/src/config/models.d.ts +3 -1
  27. package/dist/src/config/models.js +12 -1
  28. package/dist/src/config/models.js.map +1 -1
  29. package/dist/src/config/models.test.js +9 -1
  30. package/dist/src/config/models.test.js.map +1 -1
  31. package/dist/src/core/client.js +3 -7
  32. package/dist/src/core/client.js.map +1 -1
  33. package/dist/src/core/client.test.js +0 -3
  34. package/dist/src/core/client.test.js.map +1 -1
  35. package/dist/src/core/tokenLimits.d.ts +1 -0
  36. package/dist/src/core/tokenLimits.js +5 -1
  37. package/dist/src/core/tokenLimits.js.map +1 -1
  38. package/dist/src/generated/git-commit.d.ts +2 -2
  39. package/dist/src/generated/git-commit.js +2 -2
  40. package/dist/src/generated/git-commit.js.map +1 -1
  41. package/dist/src/index.d.ts +7 -0
  42. package/dist/src/index.js +8 -0
  43. package/dist/src/index.js.map +1 -1
  44. package/dist/src/policy/policy-engine.js +8 -2
  45. package/dist/src/policy/policy-engine.js.map +1 -1
  46. package/dist/src/policy/policy-engine.test.js +52 -1
  47. package/dist/src/policy/policy-engine.test.js.map +1 -1
  48. package/dist/src/services/chatRecordingService.d.ts +1 -0
  49. package/dist/src/services/chatRecordingService.js +23 -0
  50. package/dist/src/services/chatRecordingService.js.map +1 -1
  51. package/dist/src/services/chatRecordingTypes.d.ts +13 -0
  52. package/dist/src/services/memoryService.d.ts +5 -0
  53. package/dist/src/services/memoryService.js +76 -53
  54. package/dist/src/services/memoryService.js.map +1 -1
  55. package/dist/src/services/memoryService.test.js +256 -12
  56. package/dist/src/services/memoryService.test.js.map +1 -1
  57. package/dist/src/services/sessionScratchpadUtils.d.ts +7 -0
  58. package/dist/src/services/sessionScratchpadUtils.js +121 -0
  59. package/dist/src/services/sessionScratchpadUtils.js.map +1 -0
  60. package/dist/src/services/sessionScratchpadUtils.test.d.ts +6 -0
  61. package/dist/src/services/sessionScratchpadUtils.test.js +27 -0
  62. package/dist/src/services/sessionScratchpadUtils.test.js.map +1 -0
  63. package/dist/src/services/sessionSummaryUtils.d.ts +3 -3
  64. package/dist/src/services/sessionSummaryUtils.js +232 -27
  65. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  66. package/dist/src/services/sessionSummaryUtils.test.js +449 -10
  67. package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
  68. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +24 -0
  69. package/dist/src/services/test-data/resolved-aliases.golden.json +24 -0
  70. package/dist/src/tools/trackerTools.test.js +7 -2
  71. package/dist/src/tools/trackerTools.test.js.map +1 -1
  72. package/dist/src/utils/binaryCheck.d.ts +9 -0
  73. package/dist/src/utils/binaryCheck.js +13 -0
  74. package/dist/src/utils/binaryCheck.js.map +1 -0
  75. package/dist/src/voice/audioRecorder.d.ts +27 -0
  76. package/dist/src/voice/audioRecorder.js +95 -0
  77. package/dist/src/voice/audioRecorder.js.map +1 -0
  78. package/dist/src/voice/geminiLiveTranscriptionProvider.d.ts +20 -0
  79. package/dist/src/voice/geminiLiveTranscriptionProvider.js +140 -0
  80. package/dist/src/voice/geminiLiveTranscriptionProvider.js.map +1 -0
  81. package/dist/src/voice/transcriptionFactory.d.ts +12 -0
  82. package/dist/src/voice/transcriptionFactory.js +32 -0
  83. package/dist/src/voice/transcriptionFactory.js.map +1 -0
  84. package/dist/src/voice/transcriptionProvider.d.ts +29 -0
  85. package/dist/src/voice/transcriptionProvider.js +7 -0
  86. package/dist/src/voice/transcriptionProvider.js.map +1 -0
  87. package/dist/src/voice/whisperModelManager.d.ts +26 -0
  88. package/dist/src/voice/whisperModelManager.js +79 -0
  89. package/dist/src/voice/whisperModelManager.js.map +1 -0
  90. package/dist/src/voice/whisperTranscriptionProvider.d.ts +34 -0
  91. package/dist/src/voice/whisperTranscriptionProvider.js +151 -0
  92. package/dist/src/voice/whisperTranscriptionProvider.js.map +1 -0
  93. package/dist/src/voice/whisperTranscriptionProvider.test.d.ts +6 -0
  94. package/dist/src/voice/whisperTranscriptionProvider.test.js +24 -0
  95. package/dist/src/voice/whisperTranscriptionProvider.test.js.map +1 -0
  96. package/dist/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +2 -1
package/README.md CHANGED
@@ -371,6 +371,8 @@ for planned features and priorities.
371
371
 
372
372
  ## 📖 Resources
373
373
 
374
+ - **[Free Course](https://learn.deeplearning.ai/courses/gemini-cli-code-and-create-with-an-open-source-agent/information)** -
375
+ Learn the basics.
374
376
  - **[Official Roadmap](./ROADMAP.md)** - See what's coming next.
375
377
  - **[Changelog](https://www.geminicli.com/docs/changelogs)** - See recent
376
378
  notable updates.
@@ -18,6 +18,24 @@ 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.39.0 - 2026-04-23
22
+
23
+ - **Skill Management:** Added a new `/memory` inbox command for reviewing and
24
+ patching skills extracted during sessions
25
+ ([#24544](https://github.com/google-gemini/gemini-cli/pull/24544) by
26
+ @SandyTao520, [#25148](https://github.com/google-gemini/gemini-cli/pull/25148)
27
+ by @SandyTao520).
28
+ - **Improved Transparency:** Plan Mode now requires confirmation for skill
29
+ activation and allows plan inspection
30
+ ([#24946](https://github.com/google-gemini/gemini-cli/pull/24946),
31
+ [#25058](https://github.com/google-gemini/gemini-cli/pull/25058) by
32
+ @ruomengz).
33
+ - **Architecture & Reliability:** Introduced a decoupled `ContextManager`
34
+ architecture and resolved several critical memory leaks and PTY exhaustion
35
+ issues ([#24752](https://github.com/google-gemini/gemini-cli/pull/24752) by
36
+ @joshualitt, [#25079](https://github.com/google-gemini/gemini-cli/pull/25079)
37
+ by @spencer426).
38
+
21
39
  ## Announcements: v0.38.0 - 2026-04-14
22
40
 
23
41
  - **Chapters Narrative Flow:** Group agent interactions into "Chapters" based on
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.38.2
1
+ # Latest stable release: v0.39.0
2
2
 
3
- Released: April 17, 2026
3
+ Released: April 23, 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,264 +11,252 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Chapters Narrative Flow:** Introduced tool-based topic grouping ("Chapters")
15
- to provide better session structure and narrative continuity in long-running
16
- tasks.
17
- - **Context Compression Service:** Implemented a dedicated service for advanced
18
- context management, efficiently distilling conversation history to preserve
19
- focus and tokens.
20
- - **Enhanced UI Stability & UX:** Introduced a new "Terminal Buffer" mode to
21
- solve rendering flicker, along with selective topic expansion and improved
22
- tool confirmation layouts.
23
- - **Context-Aware Policy Approvals:** Users can now grant persistent,
24
- context-aware approvals for tools, significantly reducing manual confirmation
25
- overhead for trusted workflows.
26
- - **Background Process Monitoring:** New tools for monitoring and inspecting
27
- background shell processes, providing better visibility into asynchronous
28
- tasks.
14
+ - **Skill Extractor & Memory Inbox:** Introduced the `/memory` command to review
15
+ and patch skills extracted during agent sessions, streamlining the continuous
16
+ learning workflow.
17
+ - **Enhanced Plan Mode Security:** Increased transparency in Plan Mode by
18
+ requiring user confirmation for skill activation and allowing users to view
19
+ the full content of generated plans.
20
+ - **Advanced Display Protocol:** Implemented a tool-controlled display protocol,
21
+ enabling agents to provide richer, more structured visual feedback during
22
+ execution.
23
+ - **Core Architecture Refactor:** Introduced a decoupled `ContextManager` and
24
+ `Sidecar` architecture to improve state management and session resilience.
25
+ - **Streamlined Agent Feedback:** Restored the display of model thoughts and raw
26
+ text in responses, ensuring full visibility into the agent's reasoning
27
+ process.
29
28
 
30
29
  ## What's Changed
31
30
 
32
- - fix(patch): cherry-pick 14b2f35 to release/v0.38.1-pr-24974 to patch version
33
- v0.38.1 and create version 0.38.2 by @gemini-cli-robot in
34
- [#25585](https://github.com/google-gemini/gemini-cli/pull/25585)
35
- - fix(patch): cherry-pick 050c303 to release/v0.38.0-pr-25317 to patch version
36
- v0.38.0 and create version 0.38.1 by @gemini-cli-robot in
37
- [#25466](https://github.com/google-gemini/gemini-cli/pull/25466)
38
- - fix(cli): refresh slash command list after /skills reload by @NTaylorMullen in
39
- [#24454](https://github.com/google-gemini/gemini-cli/pull/24454)
40
- - Update README.md for links. by @g-samroberts in
41
- [#22759](https://github.com/google-gemini/gemini-cli/pull/22759)
42
- - fix(core): ensure complete_task tool calls are recorded in chat history by
43
- @abhipatel12 in
44
- [#24437](https://github.com/google-gemini/gemini-cli/pull/24437)
45
- - feat(policy): explicitly allow web_fetch in plan mode with ask_user by
46
- @Adib234 in [#24456](https://github.com/google-gemini/gemini-cli/pull/24456)
47
- - fix(core): refactor linux sandbox to fix ARG_MAX crashes by @ehedlund in
48
- [#24286](https://github.com/google-gemini/gemini-cli/pull/24286)
49
- - feat(config): add experimental.adk.agentSessionNoninteractiveEnabled setting
50
- by @adamfweidman in
51
- [#24439](https://github.com/google-gemini/gemini-cli/pull/24439)
52
- - Changelog for v0.36.0-preview.8 by @gemini-cli-robot in
53
- [#24453](https://github.com/google-gemini/gemini-cli/pull/24453)
54
- - feat(cli): change default loadingPhrases to 'off' to hide tips by @keithguerin
55
- in [#24342](https://github.com/google-gemini/gemini-cli/pull/24342)
56
- - fix(cli): ensure agent stops when all declinable tools are cancelled by
57
- @NTaylorMullen in
58
- [#24479](https://github.com/google-gemini/gemini-cli/pull/24479)
59
- - fix(core): enhance sandbox usability and fix build error by @galz10 in
60
- [#24460](https://github.com/google-gemini/gemini-cli/pull/24460)
61
- - Terminal Serializer Optimization by @jacob314 in
62
- [#24485](https://github.com/google-gemini/gemini-cli/pull/24485)
63
- - Auto configure memory. by @jacob314 in
64
- [#24474](https://github.com/google-gemini/gemini-cli/pull/24474)
65
- - Unused error variables in catch block are not allowed by @alisa-alisa in
66
- [#24487](https://github.com/google-gemini/gemini-cli/pull/24487)
67
- - feat(core): add background memory service for skill extraction by @SandyTao520
68
- in [#24274](https://github.com/google-gemini/gemini-cli/pull/24274)
69
- - feat: implement high-signal PR regression check for evaluations by
70
- @alisa-alisa in
71
- [#23937](https://github.com/google-gemini/gemini-cli/pull/23937)
72
- - Fix shell output display by @jacob314 in
73
- [#24490](https://github.com/google-gemini/gemini-cli/pull/24490)
74
- - fix(ui): resolve unwanted vertical spacing around various tool output
75
- treatments by @jwhelangoog in
76
- [#24449](https://github.com/google-gemini/gemini-cli/pull/24449)
77
- - revert(cli): bring back input box and footer visibility in copy mode by
78
- @sehoon38 in [#24504](https://github.com/google-gemini/gemini-cli/pull/24504)
79
- - fix(cli): prevent crash in AnsiOutputText when handling non-array data by
80
- @sehoon38 in [#24498](https://github.com/google-gemini/gemini-cli/pull/24498)
81
- - feat(cli): support default values for environment variables by @ruomengz in
82
- [#24469](https://github.com/google-gemini/gemini-cli/pull/24469)
83
- - Implement background process monitoring and inspection tools by @cocosheng-g
84
- in [#23799](https://github.com/google-gemini/gemini-cli/pull/23799)
85
- - docs(browser-agent): update stale browser agent documentation by @gsquared94
86
- in [#24463](https://github.com/google-gemini/gemini-cli/pull/24463)
87
- - fix: enable browser_agent in integration tests and add localhost fixture tests
88
- by @gsquared94 in
89
- [#24523](https://github.com/google-gemini/gemini-cli/pull/24523)
90
- - fix(browser): handle computer-use model detection for analyze_screenshot by
91
- @gsquared94 in
92
- [#24502](https://github.com/google-gemini/gemini-cli/pull/24502)
93
- - feat(core): Land ContextCompressionService by @joshualitt in
94
- [#24483](https://github.com/google-gemini/gemini-cli/pull/24483)
95
- - feat(core): scope subagent workspace directories via AsyncLocalStorage by
31
+ - refactor(plan): simplify policy priorities and consolidate read-only rules by
32
+ @ruomengz in [#24849](https://github.com/google-gemini/gemini-cli/pull/24849)
33
+ - feat(test-utils): add memory usage integration test harness by @sripasg in
34
+ [#24876](https://github.com/google-gemini/gemini-cli/pull/24876)
35
+ - feat(memory): add /memory inbox command for reviewing extracted skills by
96
36
  @SandyTao520 in
97
- [#24445](https://github.com/google-gemini/gemini-cli/pull/24445)
98
- - Update ink version to 6.6.7 by @jacob314 in
99
- [#24514](https://github.com/google-gemini/gemini-cli/pull/24514)
100
- - fix(acp): handle all InvalidStreamError types gracefully in prompt by @sripasg
101
- in [#24540](https://github.com/google-gemini/gemini-cli/pull/24540)
102
- - Fix crash when vim editor is not found in PATH on Windows by
103
- @Nagajyothi-tammisetti in
104
- [#22423](https://github.com/google-gemini/gemini-cli/pull/22423)
105
- - fix(core): move project memory dir under tmp directory by @SandyTao520 in
106
- [#24542](https://github.com/google-gemini/gemini-cli/pull/24542)
107
- - Enable 'Other' option for yesno question type by @ruomengz in
108
- [#24545](https://github.com/google-gemini/gemini-cli/pull/24545)
109
- - fix(cli): clear stale retry/loading state after cancellation (#21096) by
110
- @Aaxhirrr in [#21960](https://github.com/google-gemini/gemini-cli/pull/21960)
111
- - Changelog for v0.37.0-preview.0 by @gemini-cli-robot in
112
- [#24464](https://github.com/google-gemini/gemini-cli/pull/24464)
113
- - feat(core): implement context-aware persistent policy approvals by @jerop in
114
- [#23257](https://github.com/google-gemini/gemini-cli/pull/23257)
115
- - docs: move agent disabling instructions and update remote agent status by
116
- @jackwotherspoon in
117
- [#24559](https://github.com/google-gemini/gemini-cli/pull/24559)
118
- - feat(cli): migrate nonInteractiveCli to LegacyAgentSession by @adamfweidman in
119
- [#22987](https://github.com/google-gemini/gemini-cli/pull/22987)
120
- - fix(core): unsafe type assertions in Core File System #19712 by
121
- @aniketsaurav18 in
122
- [#19739](https://github.com/google-gemini/gemini-cli/pull/19739)
123
- - fix(ui): hide model quota in /stats and refactor quota display by @danzaharia1
124
- in [#24206](https://github.com/google-gemini/gemini-cli/pull/24206)
125
- - Changelog for v0.36.0 by @gemini-cli-robot in
126
- [#24558](https://github.com/google-gemini/gemini-cli/pull/24558)
127
- - Changelog for v0.37.0-preview.1 by @gemini-cli-robot in
128
- [#24568](https://github.com/google-gemini/gemini-cli/pull/24568)
129
- - docs: add missing .md extensions to internal doc links by @ishaan-arora-1 in
130
- [#24145](https://github.com/google-gemini/gemini-cli/pull/24145)
131
- - fix(ui): fixed table styling by @devr0306 in
132
- [#24565](https://github.com/google-gemini/gemini-cli/pull/24565)
133
- - fix(core): pass includeDirectories to sandbox configuration by @galz10 in
134
- [#24573](https://github.com/google-gemini/gemini-cli/pull/24573)
135
- - feat(ui): enable "TerminalBuffer" mode to solve flicker by @jacob314 in
136
- [#24512](https://github.com/google-gemini/gemini-cli/pull/24512)
137
- - docs: clarify release coordination by @scidomino in
138
- [#24575](https://github.com/google-gemini/gemini-cli/pull/24575)
139
- - fix(core): remove broken PowerShell translation and fix native \_\_write in
140
- Windows sandbox by @scidomino in
141
- [#24571](https://github.com/google-gemini/gemini-cli/pull/24571)
142
- - Add instructions for how to start react in prod and force react to prod mode
143
- by @jacob314 in
144
- [#24590](https://github.com/google-gemini/gemini-cli/pull/24590)
145
- - feat(cli): minimalist sandbox status labels by @galz10 in
146
- [#24582](https://github.com/google-gemini/gemini-cli/pull/24582)
147
- - Feat/browser agent metrics by @kunal-10-cloud in
148
- [#24210](https://github.com/google-gemini/gemini-cli/pull/24210)
149
- - test: fix Windows CI execution and resolve exposed platform failures by
150
- @ehedlund in [#24476](https://github.com/google-gemini/gemini-cli/pull/24476)
151
- - feat(core,cli): prioritize summary for topics (#24608) by @Abhijit-2592 in
152
- [#24609](https://github.com/google-gemini/gemini-cli/pull/24609)
153
- - show color by @jacob314 in
154
- [#24613](https://github.com/google-gemini/gemini-cli/pull/24613)
155
- - feat(cli): enable compact tool output by default (#24509) by @jwhelangoog in
156
- [#24510](https://github.com/google-gemini/gemini-cli/pull/24510)
157
- - fix(core): inject skill system instructions into subagent prompts if activated
158
- by @abhipatel12 in
159
- [#24620](https://github.com/google-gemini/gemini-cli/pull/24620)
160
- - fix(core): improve windows sandbox reliability and fix integration tests by
161
- @ehedlund in [#24480](https://github.com/google-gemini/gemini-cli/pull/24480)
162
- - fix(core): ensure sandbox approvals are correctly persisted and matched for
163
- proactive expansions by @galz10 in
164
- [#24577](https://github.com/google-gemini/gemini-cli/pull/24577)
165
- - feat(cli) Scrollbar for input prompt by @jacob314 in
166
- [#21992](https://github.com/google-gemini/gemini-cli/pull/21992)
167
- - Do not run pr-eval workflow when no steering changes detected by @alisa-alisa
168
- in [#24621](https://github.com/google-gemini/gemini-cli/pull/24621)
169
- - Fix restoration of topic headers. by @gundermanc in
170
- [#24650](https://github.com/google-gemini/gemini-cli/pull/24650)
171
- - feat(core): discourage update topic tool for simple tasks by @Samee24 in
172
- [#24640](https://github.com/google-gemini/gemini-cli/pull/24640)
173
- - fix(core): ensure global temp directory is always in sandbox allowed paths by
174
- @galz10 in [#24638](https://github.com/google-gemini/gemini-cli/pull/24638)
175
- - fix(core): detect uninitialized lines by @jacob314 in
176
- [#24646](https://github.com/google-gemini/gemini-cli/pull/24646)
177
- - docs: update sandboxing documentation and toolSandboxing settings by @galz10
178
- in [#24655](https://github.com/google-gemini/gemini-cli/pull/24655)
179
- - feat(cli): enhance tool confirmation UI and selection layout by @galz10 in
180
- [#24376](https://github.com/google-gemini/gemini-cli/pull/24376)
181
- - feat(acp): add support for `/about` command by @sripasg in
182
- [#24649](https://github.com/google-gemini/gemini-cli/pull/24649)
183
- - feat(cli): add role specific metrics to /stats by @cynthialong0-0 in
184
- [#24659](https://github.com/google-gemini/gemini-cli/pull/24659)
185
- - split context by @jacob314 in
186
- [#24623](https://github.com/google-gemini/gemini-cli/pull/24623)
187
- - fix(cli): remove -S from shebang to fix Windows and BSD execution by
188
- @scidomino in [#24756](https://github.com/google-gemini/gemini-cli/pull/24756)
189
- - Fix issue where topic headers can be posted back to back by @gundermanc in
190
- [#24759](https://github.com/google-gemini/gemini-cli/pull/24759)
191
- - fix(core): handle partial llm_request in BeforeModel hook override by
192
- @krishdef7 in [#22326](https://github.com/google-gemini/gemini-cli/pull/22326)
193
- - fix(ui): improve narration suppression and reduce flicker by @gundermanc in
194
- [#24635](https://github.com/google-gemini/gemini-cli/pull/24635)
195
- - fix(ui): fixed auth race condition causing logo to flicker by @devr0306 in
196
- [#24652](https://github.com/google-gemini/gemini-cli/pull/24652)
197
- - fix(browser): remove premature browser cleanup after subagent invocation by
198
- @gsquared94 in
199
- [#24753](https://github.com/google-gemini/gemini-cli/pull/24753)
200
- - Revert "feat(core,cli): prioritize summary for topics (#24608)" by
201
- @Abhijit-2592 in
202
- [#24777](https://github.com/google-gemini/gemini-cli/pull/24777)
203
- - relax tool sandboxing overrides for plan mode to match defaults. by
204
- @DavidAPierce in
205
- [#24762](https://github.com/google-gemini/gemini-cli/pull/24762)
206
- - fix(cli): respect global environment variable allowlist by @scidomino in
207
- [#24767](https://github.com/google-gemini/gemini-cli/pull/24767)
208
- - fix(cli): ensure skills list outputs to stdout in non-interactive environments
37
+ [#24544](https://github.com/google-gemini/gemini-cli/pull/24544)
38
+ - chore(release): bump version to 0.39.0-nightly.20260408.e77b22e63 by
39
+ @gemini-cli-robot in
40
+ [#24939](https://github.com/google-gemini/gemini-cli/pull/24939)
41
+ - fix(core): ensure robust sandbox cleanup in all process execution paths by
42
+ @ehedlund in [#24763](https://github.com/google-gemini/gemini-cli/pull/24763)
43
+ - chore: update ink version to 6.6.8 by @jacob314 in
44
+ [#24934](https://github.com/google-gemini/gemini-cli/pull/24934)
45
+ - Changelog for v0.38.0-preview.0 by @gemini-cli-robot in
46
+ [#24938](https://github.com/google-gemini/gemini-cli/pull/24938)
47
+ - chore: ignore conductor directory by @JayadityaGit in
48
+ [#22128](https://github.com/google-gemini/gemini-cli/pull/22128)
49
+ - Changelog for v0.37.0 by @gemini-cli-robot in
50
+ [#24940](https://github.com/google-gemini/gemini-cli/pull/24940)
51
+ - feat(plan): require user confirmation for activate_skill in Plan Mode by
52
+ @ruomengz in [#24946](https://github.com/google-gemini/gemini-cli/pull/24946)
53
+ - feat(test-utils): add CPU performance integration test harness by @sripasg in
54
+ [#24951](https://github.com/google-gemini/gemini-cli/pull/24951)
55
+ - fix(cli-ui): enable Ctrl+Backspace for word deletion in Windows Terminal by
56
+ @dogukanozen in
57
+ [#21447](https://github.com/google-gemini/gemini-cli/pull/21447)
58
+ - test(sdk): add unit tests for GeminiCliSession by @AdamyaSingh7 in
59
+ [#21897](https://github.com/google-gemini/gemini-cli/pull/21897)
60
+ - fix(core): resolve windows symlink bypass and stabilize sandbox integration
61
+ tests by @ehedlund in
62
+ [#24834](https://github.com/google-gemini/gemini-cli/pull/24834)
63
+ - fix(cli): restore file path display in edit and write tool confirmations by
64
+ @jwhelangoog in
65
+ [#24974](https://github.com/google-gemini/gemini-cli/pull/24974)
66
+ - feat(core): refine shell tool description display logic by @jwhelangoog in
67
+ [#24903](https://github.com/google-gemini/gemini-cli/pull/24903)
68
+ - fix(core): dynamic session ID injection to resolve resume bugs by @scidomino
69
+ in [#24972](https://github.com/google-gemini/gemini-cli/pull/24972)
70
+ - Update ink version to 6.6.9 by @jacob314 in
71
+ [#24980](https://github.com/google-gemini/gemini-cli/pull/24980)
72
+ - Generalize evals infra to support more types of evals, organization and
73
+ queuing of named suites by @gundermanc in
74
+ [#24941](https://github.com/google-gemini/gemini-cli/pull/24941)
75
+ - fix(cli): optimize startup with lightweight parent process by @sehoon38 in
76
+ [#24667](https://github.com/google-gemini/gemini-cli/pull/24667)
77
+ - refactor(sandbox): use centralized sandbox paths in macOS Seatbelt
78
+ implementation by @ehedlund in
79
+ [#24984](https://github.com/google-gemini/gemini-cli/pull/24984)
80
+ - feat(cli): refine tool output formatting for compact mode by @jwhelangoog in
81
+ [#24677](https://github.com/google-gemini/gemini-cli/pull/24677)
82
+ - fix(sdk): skip broken sendStream tests to unblock nightly by @SandyTao520 in
83
+ [#25000](https://github.com/google-gemini/gemini-cli/pull/25000)
84
+ - refactor(core): use centralized path resolution for Linux sandbox by @ehedlund
85
+ in [#24985](https://github.com/google-gemini/gemini-cli/pull/24985)
86
+ - Support ctrl+shift+g by @jacob314 in
87
+ [#25035](https://github.com/google-gemini/gemini-cli/pull/25035)
88
+ - feat(core): refactor subagent tool to unified invoke_subagent tool by
89
+ @abhipatel12 in
90
+ [#24489](https://github.com/google-gemini/gemini-cli/pull/24489)
91
+ - fix(core): add explicit git identity env vars to prevent sandbox checkpointing
92
+ error by @mrpmohiburrahman in
93
+ [#19775](https://github.com/google-gemini/gemini-cli/pull/19775)
94
+ - fix: respect hideContextPercentage when FooterConfigDialog is closed without
95
+ changes by @chernistry in
96
+ [#24773](https://github.com/google-gemini/gemini-cli/pull/24773)
97
+ - fix(cli): suppress unhandled AbortError logs during request cancellation by
98
+ @euxaristia in
99
+ [#22621](https://github.com/google-gemini/gemini-cli/pull/22621)
100
+ - Automated documentation audit by @g-samroberts in
101
+ [#24567](https://github.com/google-gemini/gemini-cli/pull/24567)
102
+ - feat(cli): implement useAgentStream hook by @mbleigh in
103
+ [#24292](https://github.com/google-gemini/gemini-cli/pull/24292)
104
+ - refactor(plan) Clean default plan toml by @ruomengz in
105
+ [#25037](https://github.com/google-gemini/gemini-cli/pull/25037)
106
+ - refactor(core): remove legacy subagent wrapping tools by @abhipatel12 in
107
+ [#25053](https://github.com/google-gemini/gemini-cli/pull/25053)
108
+ - fix(core): honor retryDelay in RetryInfo for 503 errors by @yunaseoul in
109
+ [#25057](https://github.com/google-gemini/gemini-cli/pull/25057)
110
+ - fix(core): remediate subagent memory leaks using AbortSignal in MessageBus by
111
+ @abhipatel12 in
112
+ [#25048](https://github.com/google-gemini/gemini-cli/pull/25048)
113
+ - feat(cli): wire up useAgentStream in AppContainer by @mbleigh in
114
+ [#24297](https://github.com/google-gemini/gemini-cli/pull/24297)
115
+ - feat(core): migrate chat recording to JSONL streaming by @spencer426 in
116
+ [#23749](https://github.com/google-gemini/gemini-cli/pull/23749)
117
+ - fix(core): clear 5-minute timeouts in oauth flow to prevent memory leaks by
118
+ @spencer426 in
119
+ [#24968](https://github.com/google-gemini/gemini-cli/pull/24968)
120
+ - fix(sandbox): centralize async git worktree resolution and enforce read-only
121
+ security by @ehedlund in
122
+ [#25040](https://github.com/google-gemini/gemini-cli/pull/25040)
123
+ - feat(test): add high-volume shell test and refine perf harness by @sripasg in
124
+ [#24983](https://github.com/google-gemini/gemini-cli/pull/24983)
125
+ - fix(core): silently handle EPERM when listing dir structure by @scidomino in
126
+ [#25066](https://github.com/google-gemini/gemini-cli/pull/25066)
127
+ - Changelog for v0.37.1 by @gemini-cli-robot in
128
+ [#25055](https://github.com/google-gemini/gemini-cli/pull/25055)
129
+ - fix: decode Uint8Array and multi-byte UTF-8 in API error messages by
130
+ @kimjune01 in [#23341](https://github.com/google-gemini/gemini-cli/pull/23341)
131
+ - Automated documentation audit results by @g-samroberts in
132
+ [#22755](https://github.com/google-gemini/gemini-cli/pull/22755)
133
+ - debugging(ui): add optional debugRainbow setting by @jacob314 in
134
+ [#25088](https://github.com/google-gemini/gemini-cli/pull/25088)
135
+ - fix: resolve lifecycle memory leaks by cleaning up listeners and root closures
209
136
  by @spencer426 in
210
- [#24566](https://github.com/google-gemini/gemini-cli/pull/24566)
211
- - Add an eval for and fix unsafe cloning behavior. by @gundermanc in
212
- [#24457](https://github.com/google-gemini/gemini-cli/pull/24457)
213
- - fix(policy): allow complete_task in plan mode by @abhipatel12 in
214
- [#24771](https://github.com/google-gemini/gemini-cli/pull/24771)
215
- - feat(telemetry): add browser agent clearcut metrics by @gsquared94 in
216
- [#24688](https://github.com/google-gemini/gemini-cli/pull/24688)
217
- - feat(cli): support selective topic expansion and click-to-expand by
218
- @Abhijit-2592 in
219
- [#24793](https://github.com/google-gemini/gemini-cli/pull/24793)
220
- - temporarily disable sandbox integration test on windows by @ehedlund in
221
- [#24786](https://github.com/google-gemini/gemini-cli/pull/24786)
222
- - Remove flakey test by @scidomino in
223
- [#24837](https://github.com/google-gemini/gemini-cli/pull/24837)
224
- - Alisa/approve button by @alisa-alisa in
225
- [#24645](https://github.com/google-gemini/gemini-cli/pull/24645)
226
- - feat(hooks): display hook system messages in UI by @mbleigh in
227
- [#24616](https://github.com/google-gemini/gemini-cli/pull/24616)
228
- - fix(core): propagate BeforeModel hook model override end-to-end by @krishdef7
229
- in [#24784](https://github.com/google-gemini/gemini-cli/pull/24784)
230
- - chore: fix formatting for behavioral eval skill reference file by @abhipatel12
231
- in [#24846](https://github.com/google-gemini/gemini-cli/pull/24846)
232
- - fix: use directory junctions on Windows for skill linking by @enjoykumawat in
233
- [#24823](https://github.com/google-gemini/gemini-cli/pull/24823)
234
- - fix(cli): prevent multiple banner increments on remount by @sehoon38 in
235
- [#24843](https://github.com/google-gemini/gemini-cli/pull/24843)
236
- - feat(acp): add /help command by @sripasg in
237
- [#24839](https://github.com/google-gemini/gemini-cli/pull/24839)
238
- - fix(core): remove tmux alternate buffer warning by @jackwotherspoon in
239
- [#24852](https://github.com/google-gemini/gemini-cli/pull/24852)
240
- - Improve sandbox error matching and caching by @DavidAPierce in
241
- [#24550](https://github.com/google-gemini/gemini-cli/pull/24550)
242
- - feat(core): add agent protocol UI types and experimental flag by @mbleigh in
243
- [#24275](https://github.com/google-gemini/gemini-cli/pull/24275)
244
- - feat(core): use experiment flags for default fetch timeouts by @yunaseoul in
245
- [#24261](https://github.com/google-gemini/gemini-cli/pull/24261)
246
- - Revert "fix(ui): improve narration suppression and reduce flicker (#2… by
137
+ [#25049](https://github.com/google-gemini/gemini-cli/pull/25049)
138
+ - docs(cli): updates f12 description to be more precise by @JayadityaGit in
139
+ [#15816](https://github.com/google-gemini/gemini-cli/pull/15816)
140
+ - fix(cli): mark /settings as unsafe to run concurrently by @jacob314 in
141
+ [#25061](https://github.com/google-gemini/gemini-cli/pull/25061)
142
+ - fix(core): remove buffer slice to prevent OOM on large output streams by
143
+ @spencer426 in
144
+ [#25094](https://github.com/google-gemini/gemini-cli/pull/25094)
145
+ - feat(core): persist subagent agentId in tool call records by @abhipatel12 in
146
+ [#25092](https://github.com/google-gemini/gemini-cli/pull/25092)
147
+ - chore(core): increase codebase investigator turn limits to 50 by @abhipatel12
148
+ in [#25125](https://github.com/google-gemini/gemini-cli/pull/25125)
149
+ - refactor(core): consolidate execute() arguments into ExecuteOptions by
150
+ @mbleigh in [#25101](https://github.com/google-gemini/gemini-cli/pull/25101)
151
+ - feat(core): add Strategic Re-evaluation guidance to system prompt by
152
+ @aishaneeshah in
153
+ [#25062](https://github.com/google-gemini/gemini-cli/pull/25062)
154
+ - fix(core): preserve shell execution config fields on update by
155
+ @jasonmatthewsuhari in
156
+ [#25113](https://github.com/google-gemini/gemini-cli/pull/25113)
157
+ - docs: add vi shortcuts and clarify MCP sandbox setup by @chrisjcthomas in
158
+ [#21679](https://github.com/google-gemini/gemini-cli/pull/21679)
159
+ - fix(cli): pass session id to interactive shell executions by
160
+ @jasonmatthewsuhari in
161
+ [#25114](https://github.com/google-gemini/gemini-cli/pull/25114)
162
+ - fix(cli): resolve text sanitization data loss due to C1 control characters by
163
+ @euxaristia in
164
+ [#22624](https://github.com/google-gemini/gemini-cli/pull/22624)
165
+ - feat(core): add large memory regression test by @cynthialong0-0 in
166
+ [#25059](https://github.com/google-gemini/gemini-cli/pull/25059)
167
+ - fix(core): resolve PTY exhaustion and orphan MCP subprocess leaks by
168
+ @spencer426 in
169
+ [#25079](https://github.com/google-gemini/gemini-cli/pull/25079)
170
+ - chore(deps): update vulnerable dependencies via npm audit fix by @scidomino in
171
+ [#25140](https://github.com/google-gemini/gemini-cli/pull/25140)
172
+ - perf(sandbox): optimize Windows sandbox initialization via native ACL
173
+ application by @ehedlund in
174
+ [#25077](https://github.com/google-gemini/gemini-cli/pull/25077)
175
+ - chore: switch from keytar to @github/keytar by @cocosheng-g in
176
+ [#25143](https://github.com/google-gemini/gemini-cli/pull/25143)
177
+ - fix: improve audio MIME normalization and validation in file reads by
178
+ @junaiddshaukat in
179
+ [#21636](https://github.com/google-gemini/gemini-cli/pull/21636)
180
+ - docs: Update docs-audit to include changes in PR body by @g-samroberts in
181
+ [#25153](https://github.com/google-gemini/gemini-cli/pull/25153)
182
+ - docs: correct documentation for enforced authentication type by @cocosheng-g
183
+ in [#25142](https://github.com/google-gemini/gemini-cli/pull/25142)
184
+ - fix(cli): exclude update_topic from confirmation queue count by @Abhijit-2592
185
+ in [#24945](https://github.com/google-gemini/gemini-cli/pull/24945)
186
+ - Memory fix for trace's streamWrapper. by @anthraxmilkshake in
187
+ [#25089](https://github.com/google-gemini/gemini-cli/pull/25089)
188
+ - fix(core): fix quota footer for non-auto models and improve display by
189
+ @jackwotherspoon in
190
+ [#25121](https://github.com/google-gemini/gemini-cli/pull/25121)
191
+ - docs(contributing): clarify self-assignment policy for issues by @jmr in
192
+ [#23087](https://github.com/google-gemini/gemini-cli/pull/23087)
193
+ - feat(core): add skill patching support with /memory inbox integration by
194
+ @SandyTao520 in
195
+ [#25148](https://github.com/google-gemini/gemini-cli/pull/25148)
196
+ - Stop suppressing thoughts and text in model response by @gundermanc in
197
+ [#25073](https://github.com/google-gemini/gemini-cli/pull/25073)
198
+ - fix(release): prefix git hash in nightly versions to prevent semver
199
+ normalization by @SandyTao520 in
200
+ [#25304](https://github.com/google-gemini/gemini-cli/pull/25304)
201
+ - feat(cli): extract QuotaContext and resolve infinite render loop by @Adib234
202
+ in [#24959](https://github.com/google-gemini/gemini-cli/pull/24959)
203
+ - refactor(core): extract and centralize sandbox path utilities by @ehedlund in
204
+ [#25305](https://github.com/google-gemini/gemini-cli/pull/25305)
205
+ - feat(ui): added enhancements to scroll momentum by @devr0306 in
206
+ [#24447](https://github.com/google-gemini/gemini-cli/pull/24447)
207
+ - fix(core): replace custom binary detection with isbinaryfile to correctly
208
+ handle UTF-8 (U+FFFD) by @Anjaligarhwal in
209
+ [#25297](https://github.com/google-gemini/gemini-cli/pull/25297)
210
+ - feat(agent): implement tool-controlled display protocol (Steps 2-3) by
211
+ @mbleigh in [#25134](https://github.com/google-gemini/gemini-cli/pull/25134)
212
+ - Stop showing scrollbar unless we are in terminalBuffer mode by @jacob314 in
213
+ [#25320](https://github.com/google-gemini/gemini-cli/pull/25320)
214
+ - feat: support auth block in MCP servers config in agents by @TanmayVartak in
215
+ [#24770](https://github.com/google-gemini/gemini-cli/pull/24770)
216
+ - fix(core): expose GEMINI_PLANS_DIR to hook environment by @Adib234 in
217
+ [#25296](https://github.com/google-gemini/gemini-cli/pull/25296)
218
+ - feat(core): implement silent fallback for Plan Mode model routing by @jerop in
219
+ [#25317](https://github.com/google-gemini/gemini-cli/pull/25317)
220
+ - fix: correct redirect count increment in fetchJson by @KevinZhao in
221
+ [#24896](https://github.com/google-gemini/gemini-cli/pull/24896)
222
+ - fix(core): prevent secondary crash in ModelRouterService finally block by
247
223
  @gundermanc in
248
- [#24857](https://github.com/google-gemini/gemini-cli/pull/24857)
249
- - refactor(cli): remove duplication in interactive shell awaiting input hint by
250
- @JayadityaGit in
251
- [#24801](https://github.com/google-gemini/gemini-cli/pull/24801)
252
- - refactor(core): make LegacyAgentSession dependencies optional by @mbleigh in
253
- [#24287](https://github.com/google-gemini/gemini-cli/pull/24287)
254
- - Changelog for v0.37.0-preview.2 by @gemini-cli-robot in
255
- [#24848](https://github.com/google-gemini/gemini-cli/pull/24848)
256
- - fix(cli): always show shell command description or actual command by @jacob314
257
- in [#24774](https://github.com/google-gemini/gemini-cli/pull/24774)
258
- - Added flag for ept size and increased default size by @devr0306 in
259
- [#24859](https://github.com/google-gemini/gemini-cli/pull/24859)
260
- - fix(core): dispose Scheduler to prevent McpProgress listener leak by
261
- @Anjaligarhwal in
262
- [#24870](https://github.com/google-gemini/gemini-cli/pull/24870)
263
- - fix(cli): switch default back to terminalBuffer=false and fix regressions
264
- introduced for that mode by @jacob314 in
265
- [#24873](https://github.com/google-gemini/gemini-cli/pull/24873)
266
- - feat(cli): switch to ctrl+g from ctrl-x by @jacob314 in
267
- [#24861](https://github.com/google-gemini/gemini-cli/pull/24861)
268
- - fix: isolate concurrent browser agent instances by @gsquared94 in
269
- [#24794](https://github.com/google-gemini/gemini-cli/pull/24794)
270
- - docs: update MCP server OAuth redirect port documentation by @adamfweidman in
271
- [#24844](https://github.com/google-gemini/gemini-cli/pull/24844)
224
+ [#25333](https://github.com/google-gemini/gemini-cli/pull/25333)
225
+ - feat(core): introduce decoupled ContextManager and Sidecar architecture by
226
+ @joshualitt in
227
+ [#24752](https://github.com/google-gemini/gemini-cli/pull/24752)
228
+ - docs(core): update generalist agent documentation by @abhipatel12 in
229
+ [#25325](https://github.com/google-gemini/gemini-cli/pull/25325)
230
+ - chore(mcp): check MCP error code over brittle string match by @jackwotherspoon
231
+ in [#25381](https://github.com/google-gemini/gemini-cli/pull/25381)
232
+ - feat(plan): update plan mode prompt to allow showing plan content by @ruomengz
233
+ in [#25058](https://github.com/google-gemini/gemini-cli/pull/25058)
234
+ - test(core): improve sandbox integration test coverage and fix OS-specific
235
+ failures by @ehedlund in
236
+ [#25307](https://github.com/google-gemini/gemini-cli/pull/25307)
237
+ - fix(core): use debug level for keychain fallback logging by @ehedlund in
238
+ [#25398](https://github.com/google-gemini/gemini-cli/pull/25398)
239
+ - feat(test): add a performance test in asian language by @cynthialong0-0 in
240
+ [#25392](https://github.com/google-gemini/gemini-cli/pull/25392)
241
+ - feat(cli): enable mouse clicking for cursor positioning in AskUser multi-line
242
+ answers by @Adib234 in
243
+ [#24630](https://github.com/google-gemini/gemini-cli/pull/24630)
244
+ - fix(core): detect kmscon terminal as supporting true color by @claygeo in
245
+ [#25282](https://github.com/google-gemini/gemini-cli/pull/25282)
246
+ - ci: add agent session drift check workflow by @adamfweidman in
247
+ [#25389](https://github.com/google-gemini/gemini-cli/pull/25389)
248
+ - use macos-latest-large runner where applicable. by @scidomino in
249
+ [#25413](https://github.com/google-gemini/gemini-cli/pull/25413)
250
+ - Changelog for v0.37.2 by @gemini-cli-robot in
251
+ [#25336](https://github.com/google-gemini/gemini-cli/pull/25336)
252
+ - fix(patch): cherry-pick a4e98c0 to release/v0.39.0-preview.0-pr-25138 to patch
253
+ version v0.39.0-preview.0 and create version 0.39.0-preview.1 by
254
+ @gemini-cli-robot in
255
+ [#25766](https://github.com/google-gemini/gemini-cli/pull/25766)
256
+ - fix(patch): cherry-pick d6f88f8 to release/v0.39.0-preview.1-pr-25670 to patch
257
+ version v0.39.0-preview.1 and create version 0.39.0-preview.2 by
258
+ @gemini-cli-robot in
259
+ [#25776](https://github.com/google-gemini/gemini-cli/pull/25776)
272
260
 
273
261
  **Full Changelog**:
274
- https://github.com/google-gemini/gemini-cli/compare/v0.38.0...v0.38.2
262
+ https://github.com/google-gemini/gemini-cli/compare/v0.38.2...v0.39.0