diff --git a/docs/changelogs/preview.md b/docs/changelogs/preview.md index cf43e62c45..737b0917b4 100644 --- a/docs/changelogs/preview.md +++ b/docs/changelogs/preview.md @@ -1,6 +1,6 @@ -# Preview release: v0.38.0-preview.0 +# Preview release: v0.39.0-preview.0 -Released: April 08, 2026 +Released: April 14, 2026 Our preview release includes the latest, new, and experimental features. This release may not be as stable as our [latest weekly release](latest.md). @@ -13,256 +13,245 @@ npm install -g @google/gemini-cli@preview ## Highlights -- **Context Management:** Introduced a Context Compression Service to optimize - context window usage and landed a background memory service for skill - extraction. -- **Enhanced Security:** Implemented context-aware persistent policy approvals - for smarter tool permissions and enabled `web_fetch` in plan mode with user - confirmation. -- **Workflow Monitoring:** Added background process monitoring and inspection - tools for better visibility into long-running tasks. -- **UI/UX Refinements:** Enhanced the tool confirmation UI, selection layout, - and added support for selective topic expansion and click-to-expand. -- **Core Stability:** Improved sandbox reliability on Linux and Windows, - resolved shebang compatibility issues, and fixed various crashes in the CLI - and core services. +- **Refactored Subagents and Unified Tooling:** Consolidate subagent tools into + a single `invoke_subagent` tool, removed legacy wrapping tools, and improved + turn limits for codebase investigator. +- **Advanced Memory and Skill Management:** Introduced `/memory` inbox for + reviewing extracted skills and added skill patching support, enhancing agent + learning and persistence. +- **Expanded Test and Evaluation Infrastructure:** Added memory and CPU + performance integration test harnesses and generalized evaluation + infrastructure for better suite organization. +- **Sandbox and Security Hardening:** Centralized sandbox paths for Linux and + macOS, enforced read-only security for async git worktree resolution, and + optimized Windows sandbox initialization. +- **Enhanced CLI UX and UI Stability:** Improved scroll momentum, added a + `debugRainbow` setting, and resolved various memory leaks and PTY exhaustion + issues for a smoother terminal experience. ## What's Changed -- fix(cli): refresh slash command list after /skills reload by @NTaylorMullen in - [#24454](https://github.com/google-gemini/gemini-cli/pull/24454) -- Update README.md for links. by @g-samroberts in - [#22759](https://github.com/google-gemini/gemini-cli/pull/22759) -- fix(core): ensure complete_task tool calls are recorded in chat history by - @abhipatel12 in - [#24437](https://github.com/google-gemini/gemini-cli/pull/24437) -- feat(policy): explicitly allow web_fetch in plan mode with ask_user by - @Adib234 in [#24456](https://github.com/google-gemini/gemini-cli/pull/24456) -- fix(core): refactor linux sandbox to fix ARG_MAX crashes by @ehedlund in - [#24286](https://github.com/google-gemini/gemini-cli/pull/24286) -- feat(config): add experimental.adk.agentSessionNoninteractiveEnabled setting - by @adamfweidman in - [#24439](https://github.com/google-gemini/gemini-cli/pull/24439) -- Changelog for v0.36.0-preview.8 by @gemini-cli-robot in - [#24453](https://github.com/google-gemini/gemini-cli/pull/24453) -- feat(cli): change default loadingPhrases to 'off' to hide tips by @keithguerin - in [#24342](https://github.com/google-gemini/gemini-cli/pull/24342) -- fix(cli): ensure agent stops when all declinable tools are cancelled by - @NTaylorMullen in - [#24479](https://github.com/google-gemini/gemini-cli/pull/24479) -- fix(core): enhance sandbox usability and fix build error by @galz10 in - [#24460](https://github.com/google-gemini/gemini-cli/pull/24460) -- Terminal Serializer Optimization by @jacob314 in - [#24485](https://github.com/google-gemini/gemini-cli/pull/24485) -- Auto configure memory. by @jacob314 in - [#24474](https://github.com/google-gemini/gemini-cli/pull/24474) -- Unused error variables in catch block are not allowed by @alisa-alisa in - [#24487](https://github.com/google-gemini/gemini-cli/pull/24487) -- feat(core): add background memory service for skill extraction by @SandyTao520 - in [#24274](https://github.com/google-gemini/gemini-cli/pull/24274) -- feat: implement high-signal PR regression check for evaluations by - @alisa-alisa in - [#23937](https://github.com/google-gemini/gemini-cli/pull/23937) -- Fix shell output display by @jacob314 in - [#24490](https://github.com/google-gemini/gemini-cli/pull/24490) -- fix(ui): resolve unwanted vertical spacing around various tool output - treatments by @jwhelangoog in - [#24449](https://github.com/google-gemini/gemini-cli/pull/24449) -- revert(cli): bring back input box and footer visibility in copy mode by - @sehoon38 in [#24504](https://github.com/google-gemini/gemini-cli/pull/24504) -- fix(cli): prevent crash in AnsiOutputText when handling non-array data by - @sehoon38 in [#24498](https://github.com/google-gemini/gemini-cli/pull/24498) -- feat(cli): support default values for environment variables by @ruomengz in - [#24469](https://github.com/google-gemini/gemini-cli/pull/24469) -- Implement background process monitoring and inspection tools by @cocosheng-g - in [#23799](https://github.com/google-gemini/gemini-cli/pull/23799) -- docs(browser-agent): update stale browser agent documentation by @gsquared94 - in [#24463](https://github.com/google-gemini/gemini-cli/pull/24463) -- fix: enable browser_agent in integration tests and add localhost fixture tests - by @gsquared94 in - [#24523](https://github.com/google-gemini/gemini-cli/pull/24523) -- fix(browser): handle computer-use model detection for analyze_screenshot by - @gsquared94 in - [#24502](https://github.com/google-gemini/gemini-cli/pull/24502) -- feat(core): Land ContextCompressionService by @joshualitt in - [#24483](https://github.com/google-gemini/gemini-cli/pull/24483) -- feat(core): scope subagent workspace directories via AsyncLocalStorage by +- refactor(plan): simplify policy priorities and consolidate read-only rules by + @ruomengz in [#24849](https://github.com/google-gemini/gemini-cli/pull/24849) +- feat(test-utils): add memory usage integration test harness by @sripasg in + [#24876](https://github.com/google-gemini/gemini-cli/pull/24876) +- feat(memory): add /memory inbox command for reviewing extracted skills by @SandyTao520 in - [#24445](https://github.com/google-gemini/gemini-cli/pull/24445) -- Update ink version to 6.6.7 by @jacob314 in - [#24514](https://github.com/google-gemini/gemini-cli/pull/24514) -- fix(acp): handle all InvalidStreamError types gracefully in prompt by @sripasg - in [#24540](https://github.com/google-gemini/gemini-cli/pull/24540) -- Fix crash when vim editor is not found in PATH on Windows by - @Nagajyothi-tammisetti in - [#22423](https://github.com/google-gemini/gemini-cli/pull/22423) -- fix(core): move project memory dir under tmp directory by @SandyTao520 in - [#24542](https://github.com/google-gemini/gemini-cli/pull/24542) -- Enable 'Other' option for yesno question type by @ruomengz in - [#24545](https://github.com/google-gemini/gemini-cli/pull/24545) -- fix(cli): clear stale retry/loading state after cancellation (#21096) by - @Aaxhirrr in [#21960](https://github.com/google-gemini/gemini-cli/pull/21960) -- Changelog for v0.37.0-preview.0 by @gemini-cli-robot in - [#24464](https://github.com/google-gemini/gemini-cli/pull/24464) -- feat(core): implement context-aware persistent policy approvals by @jerop in - [#23257](https://github.com/google-gemini/gemini-cli/pull/23257) -- docs: move agent disabling instructions and update remote agent status by - @jackwotherspoon in - [#24559](https://github.com/google-gemini/gemini-cli/pull/24559) -- feat(cli): migrate nonInteractiveCli to LegacyAgentSession by @adamfweidman in - [#22987](https://github.com/google-gemini/gemini-cli/pull/22987) -- fix(core): unsafe type assertions in Core File System #19712 by - @aniketsaurav18 in - [#19739](https://github.com/google-gemini/gemini-cli/pull/19739) -- fix(ui): hide model quota in /stats and refactor quota display by @danzaharia1 - in [#24206](https://github.com/google-gemini/gemini-cli/pull/24206) -- Changelog for v0.36.0 by @gemini-cli-robot in - [#24558](https://github.com/google-gemini/gemini-cli/pull/24558) -- Changelog for v0.37.0-preview.1 by @gemini-cli-robot in - [#24568](https://github.com/google-gemini/gemini-cli/pull/24568) -- docs: add missing .md extensions to internal doc links by @ishaan-arora-1 in - [#24145](https://github.com/google-gemini/gemini-cli/pull/24145) -- fix(ui): fixed table styling by @devr0306 in - [#24565](https://github.com/google-gemini/gemini-cli/pull/24565) -- fix(core): pass includeDirectories to sandbox configuration by @galz10 in - [#24573](https://github.com/google-gemini/gemini-cli/pull/24573) -- feat(ui): enable "TerminalBuffer" mode to solve flicker by @jacob314 in - [#24512](https://github.com/google-gemini/gemini-cli/pull/24512) -- docs: clarify release coordination by @scidomino in - [#24575](https://github.com/google-gemini/gemini-cli/pull/24575) -- fix(core): remove broken PowerShell translation and fix native \_\_write in - Windows sandbox by @scidomino in - [#24571](https://github.com/google-gemini/gemini-cli/pull/24571) -- Add instructions for how to start react in prod and force react to prod mode - by @jacob314 in - [#24590](https://github.com/google-gemini/gemini-cli/pull/24590) -- feat(cli): minimalist sandbox status labels by @galz10 in - [#24582](https://github.com/google-gemini/gemini-cli/pull/24582) -- Feat/browser agent metrics by @kunal-10-cloud in - [#24210](https://github.com/google-gemini/gemini-cli/pull/24210) -- test: fix Windows CI execution and resolve exposed platform failures by - @ehedlund in [#24476](https://github.com/google-gemini/gemini-cli/pull/24476) -- feat(core,cli): prioritize summary for topics (#24608) by @Abhijit-2592 in - [#24609](https://github.com/google-gemini/gemini-cli/pull/24609) -- show color by @jacob314 in - [#24613](https://github.com/google-gemini/gemini-cli/pull/24613) -- feat(cli): enable compact tool output by default (#24509) by @jwhelangoog in - [#24510](https://github.com/google-gemini/gemini-cli/pull/24510) -- fix(core): inject skill system instructions into subagent prompts if activated - by @abhipatel12 in - [#24620](https://github.com/google-gemini/gemini-cli/pull/24620) -- fix(core): improve windows sandbox reliability and fix integration tests by - @ehedlund in [#24480](https://github.com/google-gemini/gemini-cli/pull/24480) -- fix(core): ensure sandbox approvals are correctly persisted and matched for - proactive expansions by @galz10 in - [#24577](https://github.com/google-gemini/gemini-cli/pull/24577) -- feat(cli) Scrollbar for input prompt by @jacob314 in - [#21992](https://github.com/google-gemini/gemini-cli/pull/21992) -- Do not run pr-eval workflow when no steering changes detected by @alisa-alisa - in [#24621](https://github.com/google-gemini/gemini-cli/pull/24621) -- Fix restoration of topic headers. by @gundermanc in - [#24650](https://github.com/google-gemini/gemini-cli/pull/24650) -- feat(core): discourage update topic tool for simple tasks by @Samee24 in - [#24640](https://github.com/google-gemini/gemini-cli/pull/24640) -- fix(core): ensure global temp directory is always in sandbox allowed paths by - @galz10 in [#24638](https://github.com/google-gemini/gemini-cli/pull/24638) -- fix(core): detect uninitialized lines by @jacob314 in - [#24646](https://github.com/google-gemini/gemini-cli/pull/24646) -- docs: update sandboxing documentation and toolSandboxing settings by @galz10 - in [#24655](https://github.com/google-gemini/gemini-cli/pull/24655) -- feat(cli): enhance tool confirmation UI and selection layout by @galz10 in - [#24376](https://github.com/google-gemini/gemini-cli/pull/24376) -- feat(acp): add support for `/about` command by @sripasg in - [#24649](https://github.com/google-gemini/gemini-cli/pull/24649) -- feat(cli): add role specific metrics to /stats by @cynthialong0-0 in - [#24659](https://github.com/google-gemini/gemini-cli/pull/24659) -- split context by @jacob314 in - [#24623](https://github.com/google-gemini/gemini-cli/pull/24623) -- fix(cli): remove -S from shebang to fix Windows and BSD execution by - @scidomino in [#24756](https://github.com/google-gemini/gemini-cli/pull/24756) -- Fix issue where topic headers can be posted back to back by @gundermanc in - [#24759](https://github.com/google-gemini/gemini-cli/pull/24759) -- fix(core): handle partial llm_request in BeforeModel hook override by - @krishdef7 in [#22326](https://github.com/google-gemini/gemini-cli/pull/22326) -- fix(ui): improve narration suppression and reduce flicker by @gundermanc in - [#24635](https://github.com/google-gemini/gemini-cli/pull/24635) -- fix(ui): fixed auth race condition causing logo to flicker by @devr0306 in - [#24652](https://github.com/google-gemini/gemini-cli/pull/24652) -- fix(browser): remove premature browser cleanup after subagent invocation by - @gsquared94 in - [#24753](https://github.com/google-gemini/gemini-cli/pull/24753) -- Revert "feat(core,cli): prioritize summary for topics (#24608)" by - @Abhijit-2592 in - [#24777](https://github.com/google-gemini/gemini-cli/pull/24777) -- relax tool sandboxing overrides for plan mode to match defaults. by - @DavidAPierce in - [#24762](https://github.com/google-gemini/gemini-cli/pull/24762) -- fix(cli): respect global environment variable allowlist by @scidomino in - [#24767](https://github.com/google-gemini/gemini-cli/pull/24767) -- fix(cli): ensure skills list outputs to stdout in non-interactive environments + [#24544](https://github.com/google-gemini/gemini-cli/pull/24544) +- chore(release): bump version to 0.39.0-nightly.20260408.e77b22e63 by + @gemini-cli-robot in + [#24939](https://github.com/google-gemini/gemini-cli/pull/24939) +- fix(core): ensure robust sandbox cleanup in all process execution paths by + @ehedlund in [#24763](https://github.com/google-gemini/gemini-cli/pull/24763) +- chore: update ink version to 6.6.8 by @jacob314 in + [#24934](https://github.com/google-gemini/gemini-cli/pull/24934) +- Changelog for v0.38.0-preview.0 by @gemini-cli-robot in + [#24938](https://github.com/google-gemini/gemini-cli/pull/24938) +- chore: ignore conductor directory by @JayadityaGit in + [#22128](https://github.com/google-gemini/gemini-cli/pull/22128) +- Changelog for v0.37.0 by @gemini-cli-robot in + [#24940](https://github.com/google-gemini/gemini-cli/pull/24940) +- feat(plan): require user confirmation for activate_skill in Plan Mode by + @ruomengz in [#24946](https://github.com/google-gemini/gemini-cli/pull/24946) +- feat(test-utils): add CPU performance integration test harness by @sripasg in + [#24951](https://github.com/google-gemini/gemini-cli/pull/24951) +- fix(cli-ui): enable Ctrl+Backspace for word deletion in Windows Terminal by + @dogukanozen in + [#21447](https://github.com/google-gemini/gemini-cli/pull/21447) +- test(sdk): add unit tests for GeminiCliSession by @AdamyaSingh7 in + [#21897](https://github.com/google-gemini/gemini-cli/pull/21897) +- fix(core): resolve windows symlink bypass and stabilize sandbox integration + tests by @ehedlund in + [#24834](https://github.com/google-gemini/gemini-cli/pull/24834) +- fix(cli): restore file path display in edit and write tool confirmations by + @jwhelangoog in + [#24974](https://github.com/google-gemini/gemini-cli/pull/24974) +- feat(core): refine shell tool description display logic by @jwhelangoog in + [#24903](https://github.com/google-gemini/gemini-cli/pull/24903) +- fix(core): dynamic session ID injection to resolve resume bugs by @scidomino + in [#24972](https://github.com/google-gemini/gemini-cli/pull/24972) +- Update ink version to 6.6.9 by @jacob314 in + [#24980](https://github.com/google-gemini/gemini-cli/pull/24980) +- Generalize evals infra to support more types of evals, organization and + queuing of named suites by @gundermanc in + [#24941](https://github.com/google-gemini/gemini-cli/pull/24941) +- fix(cli): optimize startup with lightweight parent process by @sehoon38 in + [#24667](https://github.com/google-gemini/gemini-cli/pull/24667) +- refactor(sandbox): use centralized sandbox paths in macOS Seatbelt + implementation by @ehedlund in + [#24984](https://github.com/google-gemini/gemini-cli/pull/24984) +- feat(cli): refine tool output formatting for compact mode by @jwhelangoog in + [#24677](https://github.com/google-gemini/gemini-cli/pull/24677) +- fix(sdk): skip broken sendStream tests to unblock nightly by @SandyTao520 in + [#25000](https://github.com/google-gemini/gemini-cli/pull/25000) +- refactor(core): use centralized path resolution for Linux sandbox by @ehedlund + in [#24985](https://github.com/google-gemini/gemini-cli/pull/24985) +- Support ctrl+shift+g by @jacob314 in + [#25035](https://github.com/google-gemini/gemini-cli/pull/25035) +- feat(core): refactor subagent tool to unified invoke_subagent tool by + @abhipatel12 in + [#24489](https://github.com/google-gemini/gemini-cli/pull/24489) +- fix(core): add explicit git identity env vars to prevent sandbox checkpointing + error by @mrpmohiburrahman in + [#19775](https://github.com/google-gemini/gemini-cli/pull/19775) +- fix: respect hideContextPercentage when FooterConfigDialog is closed without + changes by @chernistry in + [#24773](https://github.com/google-gemini/gemini-cli/pull/24773) +- fix(cli): suppress unhandled AbortError logs during request cancellation by + @euxaristia in + [#22621](https://github.com/google-gemini/gemini-cli/pull/22621) +- Automated documentation audit by @g-samroberts in + [#24567](https://github.com/google-gemini/gemini-cli/pull/24567) +- feat(cli): implement useAgentStream hook by @mbleigh in + [#24292](https://github.com/google-gemini/gemini-cli/pull/24292) +- refactor(plan) Clean default plan toml by @ruomengz in + [#25037](https://github.com/google-gemini/gemini-cli/pull/25037) +- refactor(core): remove legacy subagent wrapping tools by @abhipatel12 in + [#25053](https://github.com/google-gemini/gemini-cli/pull/25053) +- fix(core): honor retryDelay in RetryInfo for 503 errors by @yunaseoul in + [#25057](https://github.com/google-gemini/gemini-cli/pull/25057) +- fix(core): remediate subagent memory leaks using AbortSignal in MessageBus by + @abhipatel12 in + [#25048](https://github.com/google-gemini/gemini-cli/pull/25048) +- feat(cli): wire up useAgentStream in AppContainer by @mbleigh in + [#24297](https://github.com/google-gemini/gemini-cli/pull/24297) +- feat(core): migrate chat recording to JSONL streaming by @spencer426 in + [#23749](https://github.com/google-gemini/gemini-cli/pull/23749) +- fix(core): clear 5-minute timeouts in oauth flow to prevent memory leaks by + @spencer426 in + [#24968](https://github.com/google-gemini/gemini-cli/pull/24968) +- fix(sandbox): centralize async git worktree resolution and enforce read-only + security by @ehedlund in + [#25040](https://github.com/google-gemini/gemini-cli/pull/25040) +- feat(test): add high-volume shell test and refine perf harness by @sripasg in + [#24983](https://github.com/google-gemini/gemini-cli/pull/24983) +- fix(core): silently handle EPERM when listing dir structure by @scidomino in + [#25066](https://github.com/google-gemini/gemini-cli/pull/25066) +- Changelog for v0.37.1 by @gemini-cli-robot in + [#25055](https://github.com/google-gemini/gemini-cli/pull/25055) +- fix: decode Uint8Array and multi-byte UTF-8 in API error messages by + @kimjune01 in [#23341](https://github.com/google-gemini/gemini-cli/pull/23341) +- Automated documentation audit results by @g-samroberts in + [#22755](https://github.com/google-gemini/gemini-cli/pull/22755) +- debugging(ui): add optional debugRainbow setting by @jacob314 in + [#25088](https://github.com/google-gemini/gemini-cli/pull/25088) +- fix: resolve lifecycle memory leaks by cleaning up listeners and root closures by @spencer426 in - [#24566](https://github.com/google-gemini/gemini-cli/pull/24566) -- Add an eval for and fix unsafe cloning behavior. by @gundermanc in - [#24457](https://github.com/google-gemini/gemini-cli/pull/24457) -- fix(policy): allow complete_task in plan mode by @abhipatel12 in - [#24771](https://github.com/google-gemini/gemini-cli/pull/24771) -- feat(telemetry): add browser agent clearcut metrics by @gsquared94 in - [#24688](https://github.com/google-gemini/gemini-cli/pull/24688) -- feat(cli): support selective topic expansion and click-to-expand by - @Abhijit-2592 in - [#24793](https://github.com/google-gemini/gemini-cli/pull/24793) -- temporarily disable sandbox integration test on windows by @ehedlund in - [#24786](https://github.com/google-gemini/gemini-cli/pull/24786) -- Remove flakey test by @scidomino in - [#24837](https://github.com/google-gemini/gemini-cli/pull/24837) -- Alisa/approve button by @alisa-alisa in - [#24645](https://github.com/google-gemini/gemini-cli/pull/24645) -- feat(hooks): display hook system messages in UI by @mbleigh in - [#24616](https://github.com/google-gemini/gemini-cli/pull/24616) -- fix(core): propagate BeforeModel hook model override end-to-end by @krishdef7 - in [#24784](https://github.com/google-gemini/gemini-cli/pull/24784) -- chore: fix formatting for behavioral eval skill reference file by @abhipatel12 - in [#24846](https://github.com/google-gemini/gemini-cli/pull/24846) -- fix: use directory junctions on Windows for skill linking by @enjoykumawat in - [#24823](https://github.com/google-gemini/gemini-cli/pull/24823) -- fix(cli): prevent multiple banner increments on remount by @sehoon38 in - [#24843](https://github.com/google-gemini/gemini-cli/pull/24843) -- feat(acp): add /help command by @sripasg in - [#24839](https://github.com/google-gemini/gemini-cli/pull/24839) -- fix(core): remove tmux alternate buffer warning by @jackwotherspoon in - [#24852](https://github.com/google-gemini/gemini-cli/pull/24852) -- Improve sandbox error matching and caching by @DavidAPierce in - [#24550](https://github.com/google-gemini/gemini-cli/pull/24550) -- feat(core): add agent protocol UI types and experimental flag by @mbleigh in - [#24275](https://github.com/google-gemini/gemini-cli/pull/24275) -- feat(core): use experiment flags for default fetch timeouts by @yunaseoul in - [#24261](https://github.com/google-gemini/gemini-cli/pull/24261) -- Revert "fix(ui): improve narration suppression and reduce flicker (#2… by + [#25049](https://github.com/google-gemini/gemini-cli/pull/25049) +- docs(cli): updates f12 description to be more precise by @JayadityaGit in + [#15816](https://github.com/google-gemini/gemini-cli/pull/15816) +- fix(cli): mark /settings as unsafe to run concurrently by @jacob314 in + [#25061](https://github.com/google-gemini/gemini-cli/pull/25061) +- fix(core): remove buffer slice to prevent OOM on large output streams by + @spencer426 in + [#25094](https://github.com/google-gemini/gemini-cli/pull/25094) +- feat(core): persist subagent agentId in tool call records by @abhipatel12 in + [#25092](https://github.com/google-gemini/gemini-cli/pull/25092) +- chore(core): increase codebase investigator turn limits to 50 by @abhipatel12 + in [#25125](https://github.com/google-gemini/gemini-cli/pull/25125) +- refactor(core): consolidate execute() arguments into ExecuteOptions by + @mbleigh in [#25101](https://github.com/google-gemini/gemini-cli/pull/25101) +- feat(core): add Strategic Re-evaluation guidance to system prompt by + @aishaneeshah in + [#25062](https://github.com/google-gemini/gemini-cli/pull/25062) +- fix(core): preserve shell execution config fields on update by + @jasonmatthewsuhari in + [#25113](https://github.com/google-gemini/gemini-cli/pull/25113) +- docs: add vi shortcuts and clarify MCP sandbox setup by @chrisjcthomas in + [#21679](https://github.com/google-gemini/gemini-cli/pull/21679) +- fix(cli): pass session id to interactive shell executions by + @jasonmatthewsuhari in + [#25114](https://github.com/google-gemini/gemini-cli/pull/25114) +- fix(cli): resolve text sanitization data loss due to C1 control characters by + @euxaristia in + [#22624](https://github.com/google-gemini/gemini-cli/pull/22624) +- feat(core): add large memory regression test by @cynthialong0-0 in + [#25059](https://github.com/google-gemini/gemini-cli/pull/25059) +- fix(core): resolve PTY exhaustion and orphan MCP subprocess leaks by + @spencer426 in + [#25079](https://github.com/google-gemini/gemini-cli/pull/25079) +- chore(deps): update vulnerable dependencies via npm audit fix by @scidomino in + [#25140](https://github.com/google-gemini/gemini-cli/pull/25140) +- perf(sandbox): optimize Windows sandbox initialization via native ACL + application by @ehedlund in + [#25077](https://github.com/google-gemini/gemini-cli/pull/25077) +- chore: switch from keytar to @github/keytar by @cocosheng-g in + [#25143](https://github.com/google-gemini/gemini-cli/pull/25143) +- fix: improve audio MIME normalization and validation in file reads by + @junaiddshaukat in + [#21636](https://github.com/google-gemini/gemini-cli/pull/21636) +- docs: Update docs-audit to include changes in PR body by @g-samroberts in + [#25153](https://github.com/google-gemini/gemini-cli/pull/25153) +- docs: correct documentation for enforced authentication type by @cocosheng-g + in [#25142](https://github.com/google-gemini/gemini-cli/pull/25142) +- fix(cli): exclude update_topic from confirmation queue count by @Abhijit-2592 + in [#24945](https://github.com/google-gemini/gemini-cli/pull/24945) +- Memory fix for trace's streamWrapper. by @anthraxmilkshake in + [#25089](https://github.com/google-gemini/gemini-cli/pull/25089) +- fix(core): fix quota footer for non-auto models and improve display by + @jackwotherspoon in + [#25121](https://github.com/google-gemini/gemini-cli/pull/25121) +- docs(contributing): clarify self-assignment policy for issues by @jmr in + [#23087](https://github.com/google-gemini/gemini-cli/pull/23087) +- feat(core): add skill patching support with /memory inbox integration by + @SandyTao520 in + [#25148](https://github.com/google-gemini/gemini-cli/pull/25148) +- Stop suppressing thoughts and text in model response by @gundermanc in + [#25073](https://github.com/google-gemini/gemini-cli/pull/25073) +- fix(release): prefix git hash in nightly versions to prevent semver + normalization by @SandyTao520 in + [#25304](https://github.com/google-gemini/gemini-cli/pull/25304) +- feat(cli): extract QuotaContext and resolve infinite render loop by @Adib234 + in [#24959](https://github.com/google-gemini/gemini-cli/pull/24959) +- refactor(core): extract and centralize sandbox path utilities by @ehedlund in + [#25305](https://github.com/google-gemini/gemini-cli/pull/25305) +- feat(ui): added enhancements to scroll momentum by @devr0306 in + [#24447](https://github.com/google-gemini/gemini-cli/pull/24447) +- fix(core): replace custom binary detection with isbinaryfile to correctly + handle UTF-8 (U+FFFD) by @Anjaligarhwal in + [#25297](https://github.com/google-gemini/gemini-cli/pull/25297) +- feat(agent): implement tool-controlled display protocol (Steps 2-3) by + @mbleigh in [#25134](https://github.com/google-gemini/gemini-cli/pull/25134) +- Stop showing scrollbar unless we are in terminalBuffer mode by @jacob314 in + [#25320](https://github.com/google-gemini/gemini-cli/pull/25320) +- feat: support auth block in MCP servers config in agents by @TanmayVartak in + [#24770](https://github.com/google-gemini/gemini-cli/pull/24770) +- fix(core): expose GEMINI_PLANS_DIR to hook environment by @Adib234 in + [#25296](https://github.com/google-gemini/gemini-cli/pull/25296) +- feat(core): implement silent fallback for Plan Mode model routing by @jerop in + [#25317](https://github.com/google-gemini/gemini-cli/pull/25317) +- fix: correct redirect count increment in fetchJson by @KevinZhao in + [#24896](https://github.com/google-gemini/gemini-cli/pull/24896) +- fix(core): prevent secondary crash in ModelRouterService finally block by @gundermanc in - [#24857](https://github.com/google-gemini/gemini-cli/pull/24857) -- refactor(cli): remove duplication in interactive shell awaiting input hint by - @JayadityaGit in - [#24801](https://github.com/google-gemini/gemini-cli/pull/24801) -- refactor(core): make LegacyAgentSession dependencies optional by @mbleigh in - [#24287](https://github.com/google-gemini/gemini-cli/pull/24287) -- Changelog for v0.37.0-preview.2 by @gemini-cli-robot in - [#24848](https://github.com/google-gemini/gemini-cli/pull/24848) -- fix(cli): always show shell command description or actual command by @jacob314 - in [#24774](https://github.com/google-gemini/gemini-cli/pull/24774) -- Added flag for ept size and increased default size by @devr0306 in - [#24859](https://github.com/google-gemini/gemini-cli/pull/24859) -- fix(core): dispose Scheduler to prevent McpProgress listener leak by - @Anjaligarhwal in - [#24870](https://github.com/google-gemini/gemini-cli/pull/24870) -- fix(cli): switch default back to terminalBuffer=false and fix regressions - introduced for that mode by @jacob314 in - [#24873](https://github.com/google-gemini/gemini-cli/pull/24873) -- feat(cli): switch to ctrl+g from ctrl-x by @jacob314 in - [#24861](https://github.com/google-gemini/gemini-cli/pull/24861) -- fix: isolate concurrent browser agent instances by @gsquared94 in - [#24794](https://github.com/google-gemini/gemini-cli/pull/24794) -- docs: update MCP server OAuth redirect port documentation by @adamfweidman in - [#24844](https://github.com/google-gemini/gemini-cli/pull/24844) + [#25333](https://github.com/google-gemini/gemini-cli/pull/25333) +- feat(core): introduce decoupled ContextManager and Sidecar architecture by + @joshualitt in + [#24752](https://github.com/google-gemini/gemini-cli/pull/24752) +- docs(core): update generalist agent documentation by @abhipatel12 in + [#25325](https://github.com/google-gemini/gemini-cli/pull/25325) +- chore(mcp): check MCP error code over brittle string match by @jackwotherspoon + in [#25381](https://github.com/google-gemini/gemini-cli/pull/25381) +- feat(plan): update plan mode prompt to allow showing plan content by @ruomengz + in [#25058](https://github.com/google-gemini/gemini-cli/pull/25058) +- test(core): improve sandbox integration test coverage and fix OS-specific + failures by @ehedlund in + [#25307](https://github.com/google-gemini/gemini-cli/pull/25307) +- fix(core): use debug level for keychain fallback logging by @ehedlund in + [#25398](https://github.com/google-gemini/gemini-cli/pull/25398) +- feat(test): add a performance test in asian language by @cynthialong0-0 in + [#25392](https://github.com/google-gemini/gemini-cli/pull/25392) +- feat(cli): enable mouse clicking for cursor positioning in AskUser multi-line + answers by @Adib234 in + [#24630](https://github.com/google-gemini/gemini-cli/pull/24630) +- fix(core): detect kmscon terminal as supporting true color by @claygeo in + [#25282](https://github.com/google-gemini/gemini-cli/pull/25282) +- ci: add agent session drift check workflow by @adamfweidman in + [#25389](https://github.com/google-gemini/gemini-cli/pull/25389) +- use macos-latest-large runner where applicable. by @scidomino in + [#25413](https://github.com/google-gemini/gemini-cli/pull/25413) +- Changelog for v0.37.2 by @gemini-cli-robot in + [#25336](https://github.com/google-gemini/gemini-cli/pull/25336) **Full Changelog**: -https://github.com/google-gemini/gemini-cli/compare/v0.37.0-preview.2...v0.38.0-preview.0 +https://github.com/google-gemini/gemini-cli/compare/v0.38.0-preview.0...v0.39.0-preview.0