From c32ea6cfd1cc1a66452bf2d1bd05a0768a2e0d88 Mon Sep 17 00:00:00 2001 From: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com> Date: Fri, 27 Feb 2026 20:49:41 +0000 Subject: [PATCH] docs(changelog): update for v0.31.0-preview.2 --- docs/changelogs/preview.md | 350 +++++++++++++++++++------------------ 1 file changed, 177 insertions(+), 173 deletions(-) diff --git a/docs/changelogs/preview.md b/docs/changelogs/preview.md index e855c7913b..741212af5e 100644 --- a/docs/changelogs/preview.md +++ b/docs/changelogs/preview.md @@ -1,4 +1,4 @@ -# Preview release: v0.31.0-preview.1 +# Preview release: v0.31.0-preview.2 Released: February 27, 2026 @@ -33,384 +33,388 @@ npm install -g @google/gemini-cli@preview ## What's Changed -- fix(patch): cherry-pick 58df1c6 to release/v0.31.0-preview.0-pr-20374 to patch +- fix(patch): cherry-pick ea48bd9 to release/v0.31.0-preview.1-pr-20577 + [CONFLICTS] by @gemini-cli-robot in + [#20592](https://github.com/google-gemini/gemini-cli/pull/20592) + +* fix(patch): cherry-pick 58df1c6 to release/v0.31.0-preview.0-pr-20374 to patch version v0.31.0-preview.0 and create version 0.31.0-preview.1 by @gemini-cli-robot in [#20568](https://github.com/google-gemini/gemini-cli/pull/20568) -- Use ranged reads and limited searches and fuzzy editing improvements by +* Use ranged reads and limited searches and fuzzy editing improvements by @gundermanc in [#19240](https://github.com/google-gemini/gemini-cli/pull/19240) -- Fix bottom border color by @jacob314 in +* Fix bottom border color by @jacob314 in [#19266](https://github.com/google-gemini/gemini-cli/pull/19266) -- Release note generator fix by @g-samroberts in +* Release note generator fix by @g-samroberts in [#19363](https://github.com/google-gemini/gemini-cli/pull/19363) -- test(evals): add behavioral tests for tool output masking by @NTaylorMullen in +* test(evals): add behavioral tests for tool output masking by @NTaylorMullen in [#19172](https://github.com/google-gemini/gemini-cli/pull/19172) -- docs: clarify preflight instructions in GEMINI.md by @NTaylorMullen in +* docs: clarify preflight instructions in GEMINI.md by @NTaylorMullen in [#19377](https://github.com/google-gemini/gemini-cli/pull/19377) -- feat(cli): add gemini --resume hint on exit by @Mag1ck in +* feat(cli): add gemini --resume hint on exit by @Mag1ck in [#16285](https://github.com/google-gemini/gemini-cli/pull/16285) -- fix: optimize height calculations for ask_user dialog by @jackwotherspoon in +* fix: optimize height calculations for ask_user dialog by @jackwotherspoon in [#19017](https://github.com/google-gemini/gemini-cli/pull/19017) -- feat(cli): add Alt+D for forward word deletion by @scidomino in +* feat(cli): add Alt+D for forward word deletion by @scidomino in [#19300](https://github.com/google-gemini/gemini-cli/pull/19300) -- Disable failing eval test by @chrstnb in +* Disable failing eval test by @chrstnb in [#19455](https://github.com/google-gemini/gemini-cli/pull/19455) -- fix(cli): support legacy onConfirm callback in ToolActionsContext by +* fix(cli): support legacy onConfirm callback in ToolActionsContext by @SandyTao520 in [#19369](https://github.com/google-gemini/gemini-cli/pull/19369) -- chore(deps): bump tar from 7.5.7 to 7.5.8 by dependabot[bot] in +* chore(deps): bump tar from 7.5.7 to 7.5.8 by dependabot[bot] in [#19367](https://github.com/google-gemini/gemini-cli/pull/19367) -- fix(plan): allow safe fallback when experiment setting for plan is not enabled +* fix(plan): allow safe fallback when experiment setting for plan is not enabled but approval mode at startup is plan by @Adib234 in [#19439](https://github.com/google-gemini/gemini-cli/pull/19439) -- Add explicit color-convert dependency by @chrstnb in +* Add explicit color-convert dependency by @chrstnb in [#19460](https://github.com/google-gemini/gemini-cli/pull/19460) -- feat(devtools): migrate devtools package into monorepo by @SandyTao520 in +* feat(devtools): migrate devtools package into monorepo by @SandyTao520 in [#18936](https://github.com/google-gemini/gemini-cli/pull/18936) -- fix(core): clarify plan mode constraints and exit mechanism by @jerop in +* fix(core): clarify plan mode constraints and exit mechanism by @jerop in [#19438](https://github.com/google-gemini/gemini-cli/pull/19438) -- feat(cli): add macOS run-event notifications (interactive only) by +* feat(cli): add macOS run-event notifications (interactive only) by @LyalinDotCom in [#19056](https://github.com/google-gemini/gemini-cli/pull/19056) -- Changelog for v0.29.0 by @gemini-cli-robot in +* Changelog for v0.29.0 by @gemini-cli-robot in [#19361](https://github.com/google-gemini/gemini-cli/pull/19361) -- fix(ui): preventing empty history items from being added by @devr0306 in +* fix(ui): preventing empty history items from being added by @devr0306 in [#19014](https://github.com/google-gemini/gemini-cli/pull/19014) -- Changelog for v0.30.0-preview.0 by @gemini-cli-robot in +* Changelog for v0.30.0-preview.0 by @gemini-cli-robot in [#19364](https://github.com/google-gemini/gemini-cli/pull/19364) -- feat(core): add support for MCP progress updates by @NTaylorMullen in +* feat(core): add support for MCP progress updates by @NTaylorMullen in [#19046](https://github.com/google-gemini/gemini-cli/pull/19046) -- fix(core): ensure directory exists before writing conversation file by +* fix(core): ensure directory exists before writing conversation file by @godwiniheuwa in [#18429](https://github.com/google-gemini/gemini-cli/pull/18429) -- fix(ui): move margin from top to bottom in ToolGroupMessage by @imadraude in +* fix(ui): move margin from top to bottom in ToolGroupMessage by @imadraude in [#17198](https://github.com/google-gemini/gemini-cli/pull/17198) -- fix(cli): treat unknown slash commands as regular input instead of showing +* fix(cli): treat unknown slash commands as regular input instead of showing error by @skyvanguard in [#17393](https://github.com/google-gemini/gemini-cli/pull/17393) -- feat(core): experimental in-progress steering hints (2 of 2) by @joshualitt in +* feat(core): experimental in-progress steering hints (2 of 2) by @joshualitt in [#19307](https://github.com/google-gemini/gemini-cli/pull/19307) -- docs(plan): add documentation for plan mode command by @Adib234 in +* docs(plan): add documentation for plan mode command by @Adib234 in [#19467](https://github.com/google-gemini/gemini-cli/pull/19467) -- fix(core): ripgrep fails when pattern looks like ripgrep flag by @syvb in +* fix(core): ripgrep fails when pattern looks like ripgrep flag by @syvb in [#18858](https://github.com/google-gemini/gemini-cli/pull/18858) -- fix(cli): disable auto-completion on Shift+Tab to preserve mode cycling by +* fix(cli): disable auto-completion on Shift+Tab to preserve mode cycling by @NTaylorMullen in [#19451](https://github.com/google-gemini/gemini-cli/pull/19451) -- use issuer instead of authorization_endpoint for oauth discovery by +* use issuer instead of authorization_endpoint for oauth discovery by @garrettsparks in [#17332](https://github.com/google-gemini/gemini-cli/pull/17332) -- feat(cli): include `/dir add` directories in @ autocomplete suggestions by +* feat(cli): include `/dir add` directories in @ autocomplete suggestions by @jasmeetsb in [#19246](https://github.com/google-gemini/gemini-cli/pull/19246) -- feat(admin): Admin settings should only apply if adminControlsApplicable = +* feat(admin): Admin settings should only apply if adminControlsApplicable = true and fetch errors should be fatal by @skeshive in [#19453](https://github.com/google-gemini/gemini-cli/pull/19453) -- Format strict-development-rules command by @g-samroberts in +* Format strict-development-rules command by @g-samroberts in [#19484](https://github.com/google-gemini/gemini-cli/pull/19484) -- feat(core): centralize compatibility checks and add TrueColor detection by +* feat(core): centralize compatibility checks and add TrueColor detection by @spencer426 in [#19478](https://github.com/google-gemini/gemini-cli/pull/19478) -- Remove unused files and update index and sidebar. by @g-samroberts in +* Remove unused files and update index and sidebar. by @g-samroberts in [#19479](https://github.com/google-gemini/gemini-cli/pull/19479) -- Migrate core render util to use xterm.js as part of the rendering loop. by +* Migrate core render util to use xterm.js as part of the rendering loop. by @jacob314 in [#19044](https://github.com/google-gemini/gemini-cli/pull/19044) -- Changelog for v0.30.0-preview.1 by @gemini-cli-robot in +* Changelog for v0.30.0-preview.1 by @gemini-cli-robot in [#19496](https://github.com/google-gemini/gemini-cli/pull/19496) -- build: replace deprecated built-in punycode with userland package by @jacob314 +* build: replace deprecated built-in punycode with userland package by @jacob314 in [#19502](https://github.com/google-gemini/gemini-cli/pull/19502) -- Speculative fixes to try to fix react error. by @jacob314 in +* Speculative fixes to try to fix react error. by @jacob314 in [#19508](https://github.com/google-gemini/gemini-cli/pull/19508) -- fix spacing by @jacob314 in +* fix spacing by @jacob314 in [#19494](https://github.com/google-gemini/gemini-cli/pull/19494) -- fix(core): ensure user rejections update tool outcome for telemetry by +* fix(core): ensure user rejections update tool outcome for telemetry by @abhiasap in [#18982](https://github.com/google-gemini/gemini-cli/pull/18982) -- fix(acp): Initialize config (#18897) by @Mervap in +* fix(acp): Initialize config (#18897) by @Mervap in [#18898](https://github.com/google-gemini/gemini-cli/pull/18898) -- fix(core): add error logging for IDE fetch failures by @yuvrajangadsingh in +* fix(core): add error logging for IDE fetch failures by @yuvrajangadsingh in [#17981](https://github.com/google-gemini/gemini-cli/pull/17981) -- feat(acp): support set_mode interface (#18890) by @Mervap in +* feat(acp): support set_mode interface (#18890) by @Mervap in [#18891](https://github.com/google-gemini/gemini-cli/pull/18891) -- fix(core): robust workspace-based IDE connection discovery by @ehedlund in +* fix(core): robust workspace-based IDE connection discovery by @ehedlund in [#18443](https://github.com/google-gemini/gemini-cli/pull/18443) -- Deflake windows tests. by @jacob314 in +* Deflake windows tests. by @jacob314 in [#19511](https://github.com/google-gemini/gemini-cli/pull/19511) -- Fix: Avoid tool confirmation timeout when no UI listeners are present by +* Fix: Avoid tool confirmation timeout when no UI listeners are present by @pdHaku0 in [#17955](https://github.com/google-gemini/gemini-cli/pull/17955) -- format md file by @scidomino in +* format md file by @scidomino in [#19474](https://github.com/google-gemini/gemini-cli/pull/19474) -- feat(cli): add experimental.useOSC52Copy setting by @scidomino in +* feat(cli): add experimental.useOSC52Copy setting by @scidomino in [#19488](https://github.com/google-gemini/gemini-cli/pull/19488) -- feat(cli): replace loading phrases boolean with enum setting by @LyalinDotCom +* feat(cli): replace loading phrases boolean with enum setting by @LyalinDotCom in [#19347](https://github.com/google-gemini/gemini-cli/pull/19347) -- Update skill to adjust for generated results. by @g-samroberts in +* Update skill to adjust for generated results. by @g-samroberts in [#19500](https://github.com/google-gemini/gemini-cli/pull/19500) -- Fix message too large issue. by @gundermanc in +* Fix message too large issue. by @gundermanc in [#19499](https://github.com/google-gemini/gemini-cli/pull/19499) -- fix(core): prevent duplicate tool approval entries in auto-saved.toml by +* fix(core): prevent duplicate tool approval entries in auto-saved.toml by @Abhijit-2592 in [#19487](https://github.com/google-gemini/gemini-cli/pull/19487) -- fix(core): resolve crash in ClearcutLogger when os.cpus() is empty by @Adib234 +* fix(core): resolve crash in ClearcutLogger when os.cpus() is empty by @Adib234 in [#19555](https://github.com/google-gemini/gemini-cli/pull/19555) -- chore(core): improve encapsulation and remove unused exports by @adamfweidman +* chore(core): improve encapsulation and remove unused exports by @adamfweidman in [#19556](https://github.com/google-gemini/gemini-cli/pull/19556) -- Revert "Add generic searchable list to back settings and extensions (… by +* Revert "Add generic searchable list to back settings and extensions (… by @chrstnb in [#19434](https://github.com/google-gemini/gemini-cli/pull/19434) -- fix(core): improve error type extraction for telemetry by @yunaseoul in +* fix(core): improve error type extraction for telemetry by @yunaseoul in [#19565](https://github.com/google-gemini/gemini-cli/pull/19565) -- fix: remove extra padding in Composer by @jackwotherspoon in +* fix: remove extra padding in Composer by @jackwotherspoon in [#19529](https://github.com/google-gemini/gemini-cli/pull/19529) -- feat(plan): support configuring custom plans storage directory by @jerop in +* feat(plan): support configuring custom plans storage directory by @jerop in [#19577](https://github.com/google-gemini/gemini-cli/pull/19577) -- Migrate files to resource or references folder. by @g-samroberts in +* Migrate files to resource or references folder. by @g-samroberts in [#19503](https://github.com/google-gemini/gemini-cli/pull/19503) -- feat(policy): implement project-level policy support by @Abhijit-2592 in +* feat(policy): implement project-level policy support by @Abhijit-2592 in [#18682](https://github.com/google-gemini/gemini-cli/pull/18682) -- feat(core): Implement parallel FC for read only tools. by @joshualitt in +* feat(core): Implement parallel FC for read only tools. by @joshualitt in [#18791](https://github.com/google-gemini/gemini-cli/pull/18791) -- chore(skills): adds pr-address-comments skill to work on PR feedback by +* chore(skills): adds pr-address-comments skill to work on PR feedback by @mbleigh in [#19576](https://github.com/google-gemini/gemini-cli/pull/19576) -- refactor(sdk): introduce session-based architecture by @mbleigh in +* refactor(sdk): introduce session-based architecture by @mbleigh in [#19180](https://github.com/google-gemini/gemini-cli/pull/19180) -- fix(ci): add fallback JSON extraction to issue triage workflow by @bdmorgan in +* fix(ci): add fallback JSON extraction to issue triage workflow by @bdmorgan in [#19593](https://github.com/google-gemini/gemini-cli/pull/19593) -- feat(core): refine Edit and WriteFile tool schemas for Gemini 3 by +* feat(core): refine Edit and WriteFile tool schemas for Gemini 3 by @SandyTao520 in [#19476](https://github.com/google-gemini/gemini-cli/pull/19476) -- Changelog for v0.30.0-preview.3 by @gemini-cli-robot in +* Changelog for v0.30.0-preview.3 by @gemini-cli-robot in [#19585](https://github.com/google-gemini/gemini-cli/pull/19585) -- fix(plan): exclude EnterPlanMode tool from YOLO mode by @Adib234 in +* fix(plan): exclude EnterPlanMode tool from YOLO mode by @Adib234 in [#19570](https://github.com/google-gemini/gemini-cli/pull/19570) -- chore: resolve build warnings and update dependencies by @mattKorwel in +* chore: resolve build warnings and update dependencies by @mattKorwel in [#18880](https://github.com/google-gemini/gemini-cli/pull/18880) -- feat(ui): add source indicators to slash commands by @ehedlund in +* feat(ui): add source indicators to slash commands by @ehedlund in [#18839](https://github.com/google-gemini/gemini-cli/pull/18839) -- docs: refine Plan Mode documentation structure and workflow by @jerop in +* docs: refine Plan Mode documentation structure and workflow by @jerop in [#19644](https://github.com/google-gemini/gemini-cli/pull/19644) -- Docs: Update release information regarding Gemini 3.1 by @jkcinouye in +* Docs: Update release information regarding Gemini 3.1 by @jkcinouye in [#19568](https://github.com/google-gemini/gemini-cli/pull/19568) -- fix(security): rate limit web_fetch tool to mitigate DDoS via prompt injection +* fix(security): rate limit web_fetch tool to mitigate DDoS via prompt injection by @mattKorwel in [#19567](https://github.com/google-gemini/gemini-cli/pull/19567) -- Add initial implementation of /extensions explore command by @chrstnb in +* Add initial implementation of /extensions explore command by @chrstnb in [#19029](https://github.com/google-gemini/gemini-cli/pull/19029) -- fix: use discoverOAuthFromWWWAuthenticate for reactive OAuth flow (#18760) by +* fix: use discoverOAuthFromWWWAuthenticate for reactive OAuth flow (#18760) by @maximus12793 in [#19038](https://github.com/google-gemini/gemini-cli/pull/19038) -- Search updates by @alisa-alisa in +* Search updates by @alisa-alisa in [#19482](https://github.com/google-gemini/gemini-cli/pull/19482) -- feat(cli): add support for numpad SS3 sequences by @scidomino in +* feat(cli): add support for numpad SS3 sequences by @scidomino in [#19659](https://github.com/google-gemini/gemini-cli/pull/19659) -- feat(cli): enhance folder trust with configuration discovery and security +* feat(cli): enhance folder trust with configuration discovery and security warnings by @galz10 in [#19492](https://github.com/google-gemini/gemini-cli/pull/19492) -- feat(ui): improve startup warnings UX with dismissal and show-count limits by +* feat(ui): improve startup warnings UX with dismissal and show-count limits by @spencer426 in [#19584](https://github.com/google-gemini/gemini-cli/pull/19584) -- feat(a2a): Add API key authentication provider by @adamfweidman in +* feat(a2a): Add API key authentication provider by @adamfweidman in [#19548](https://github.com/google-gemini/gemini-cli/pull/19548) -- Send accepted/removed lines with ACCEPT_FILE telemetry. by @gundermanc in +* Send accepted/removed lines with ACCEPT_FILE telemetry. by @gundermanc in [#19670](https://github.com/google-gemini/gemini-cli/pull/19670) -- feat(models): support Gemini 3.1 Pro Preview and fixes by @sehoon38 in +* feat(models): support Gemini 3.1 Pro Preview and fixes by @sehoon38 in [#19676](https://github.com/google-gemini/gemini-cli/pull/19676) -- feat(plan): enforce read-only constraints in Plan Mode by @mattKorwel in +* feat(plan): enforce read-only constraints in Plan Mode by @mattKorwel in [#19433](https://github.com/google-gemini/gemini-cli/pull/19433) -- fix(cli): allow perfect match @scripts/test-windows-paths.js completions to +* fix(cli): allow perfect match @scripts/test-windows-paths.js completions to submit on Enter by @spencer426 in [#19562](https://github.com/google-gemini/gemini-cli/pull/19562) -- fix(core): treat 503 Service Unavailable as retryable quota error by @sehoon38 +* fix(core): treat 503 Service Unavailable as retryable quota error by @sehoon38 in [#19642](https://github.com/google-gemini/gemini-cli/pull/19642) -- Update sidebar.json for to allow top nav tabs. by @g-samroberts in +* Update sidebar.json for to allow top nav tabs. by @g-samroberts in [#19595](https://github.com/google-gemini/gemini-cli/pull/19595) -- security: strip deceptive Unicode characters from terminal output by @ehedlund +* security: strip deceptive Unicode characters from terminal output by @ehedlund in [#19026](https://github.com/google-gemini/gemini-cli/pull/19026) -- Fixes 'input.on' is not a function error in Gemini CLI by @gundermanc in +* Fixes 'input.on' is not a function error in Gemini CLI by @gundermanc in [#19691](https://github.com/google-gemini/gemini-cli/pull/19691) -- Revert "feat(ui): add source indicators to slash commands" by @ehedlund in +* Revert "feat(ui): add source indicators to slash commands" by @ehedlund in [#19695](https://github.com/google-gemini/gemini-cli/pull/19695) -- security: implement deceptive URL detection and disclosure in tool +* security: implement deceptive URL detection and disclosure in tool confirmations by @ehedlund in [#19288](https://github.com/google-gemini/gemini-cli/pull/19288) -- fix(core): restore auth consent in headless mode and add unit tests by +* fix(core): restore auth consent in headless mode and add unit tests by @ehedlund in [#19689](https://github.com/google-gemini/gemini-cli/pull/19689) -- Fix unsafe assertions in code_assist folder. by @gundermanc in +* Fix unsafe assertions in code_assist folder. by @gundermanc in [#19706](https://github.com/google-gemini/gemini-cli/pull/19706) -- feat(cli): make JetBrains warning more specific by @jacob314 in +* feat(cli): make JetBrains warning more specific by @jacob314 in [#19687](https://github.com/google-gemini/gemini-cli/pull/19687) -- fix(cli): extensions dialog UX polish by @jacob314 in +* fix(cli): extensions dialog UX polish by @jacob314 in [#19685](https://github.com/google-gemini/gemini-cli/pull/19685) -- fix(cli): use getDisplayString for manual model selection in dialog by +* fix(cli): use getDisplayString for manual model selection in dialog by @sehoon38 in [#19726](https://github.com/google-gemini/gemini-cli/pull/19726) -- feat(policy): repurpose "Always Allow" persistence to workspace level by +* feat(policy): repurpose "Always Allow" persistence to workspace level by @Abhijit-2592 in [#19707](https://github.com/google-gemini/gemini-cli/pull/19707) -- fix(cli): re-enable CLI banner by @sehoon38 in +* fix(cli): re-enable CLI banner by @sehoon38 in [#19741](https://github.com/google-gemini/gemini-cli/pull/19741) -- Disallow and suppress unsafe assignment by @gundermanc in +* Disallow and suppress unsafe assignment by @gundermanc in [#19736](https://github.com/google-gemini/gemini-cli/pull/19736) -- feat(core): migrate read_file to 1-based start_line/end_line parameters by +* feat(core): migrate read_file to 1-based start_line/end_line parameters by @adamfweidman in [#19526](https://github.com/google-gemini/gemini-cli/pull/19526) -- feat(cli): improve CTRL+O experience for both standard and alternate screen +* feat(cli): improve CTRL+O experience for both standard and alternate screen buffer (ASB) modes by @jwhelangoog in [#19010](https://github.com/google-gemini/gemini-cli/pull/19010) -- Utilize pipelining of grep_search -> read_file to eliminate turns by +* Utilize pipelining of grep_search -> read_file to eliminate turns by @gundermanc in [#19574](https://github.com/google-gemini/gemini-cli/pull/19574) -- refactor(core): remove unsafe type assertions in error utils (Phase 1.1) by +* refactor(core): remove unsafe type assertions in error utils (Phase 1.1) by @mattKorwel in [#19750](https://github.com/google-gemini/gemini-cli/pull/19750) -- Disallow unsafe returns. by @gundermanc in +* Disallow unsafe returns. by @gundermanc in [#19767](https://github.com/google-gemini/gemini-cli/pull/19767) -- fix(cli): filter subagent sessions from resume history by @abhipatel12 in +* fix(cli): filter subagent sessions from resume history by @abhipatel12 in [#19698](https://github.com/google-gemini/gemini-cli/pull/19698) -- chore(lint): fix lint errors seen when running npm run lint by @abhipatel12 in +* chore(lint): fix lint errors seen when running npm run lint by @abhipatel12 in [#19844](https://github.com/google-gemini/gemini-cli/pull/19844) -- feat(core): remove unnecessary login verbiage from Code Assist auth by +* feat(core): remove unnecessary login verbiage from Code Assist auth by @NTaylorMullen in [#19861](https://github.com/google-gemini/gemini-cli/pull/19861) -- fix(plan): time share by approval mode dashboard reporting negative time +* fix(plan): time share by approval mode dashboard reporting negative time shares by @Adib234 in [#19847](https://github.com/google-gemini/gemini-cli/pull/19847) -- fix(core): allow any preview model in quota access check by @bdmorgan in +* fix(core): allow any preview model in quota access check by @bdmorgan in [#19867](https://github.com/google-gemini/gemini-cli/pull/19867) -- fix(core): prevent omission placeholder deletions in replace/write_file by +* fix(core): prevent omission placeholder deletions in replace/write_file by @nsalerni in [#19870](https://github.com/google-gemini/gemini-cli/pull/19870) -- fix(core): add uniqueness guard to edit tool by @Shivangisharma4 in +* fix(core): add uniqueness guard to edit tool by @Shivangisharma4 in [#19890](https://github.com/google-gemini/gemini-cli/pull/19890) -- refactor(config): remove enablePromptCompletion from settings by @sehoon38 in +* refactor(config): remove enablePromptCompletion from settings by @sehoon38 in [#19974](https://github.com/google-gemini/gemini-cli/pull/19974) -- refactor(core): move session conversion logic to core by @abhipatel12 in +* refactor(core): move session conversion logic to core by @abhipatel12 in [#19972](https://github.com/google-gemini/gemini-cli/pull/19972) -- Fix: Persist manual model selection on restart #19864 by @Nixxx19 in +* Fix: Persist manual model selection on restart #19864 by @Nixxx19 in [#19891](https://github.com/google-gemini/gemini-cli/pull/19891) -- fix(core): increase default retry attempts and add quota error backoff by +* fix(core): increase default retry attempts and add quota error backoff by @sehoon38 in [#19949](https://github.com/google-gemini/gemini-cli/pull/19949) -- feat(core): add policy chain support for Gemini 3.1 by @sehoon38 in +* feat(core): add policy chain support for Gemini 3.1 by @sehoon38 in [#19991](https://github.com/google-gemini/gemini-cli/pull/19991) -- Updates command reference and /stats command. by @g-samroberts in +* Updates command reference and /stats command. by @g-samroberts in [#19794](https://github.com/google-gemini/gemini-cli/pull/19794) -- Fix for silent failures in non-interactive mode by @owenofbrien in +* Fix for silent failures in non-interactive mode by @owenofbrien in [#19905](https://github.com/google-gemini/gemini-cli/pull/19905) -- fix(plan): allow plan mode writes on Windows and fix prompt paths by @Adib234 +* fix(plan): allow plan mode writes on Windows and fix prompt paths by @Adib234 in [#19658](https://github.com/google-gemini/gemini-cli/pull/19658) -- fix(core): prevent OAuth server crash on unexpected requests by @reyyanxahmed +* fix(core): prevent OAuth server crash on unexpected requests by @reyyanxahmed in [#19668](https://github.com/google-gemini/gemini-cli/pull/19668) -- feat: Map tool kinds to explicit ACP.ToolKind values and update test … by +* feat: Map tool kinds to explicit ACP.ToolKind values and update test … by @sripasg in [#19547](https://github.com/google-gemini/gemini-cli/pull/19547) -- chore: restrict gemini-automted-issue-triage to only allow echo by @galz10 in +* chore: restrict gemini-automted-issue-triage to only allow echo by @galz10 in [#20047](https://github.com/google-gemini/gemini-cli/pull/20047) -- Allow ask headers longer than 16 chars by @scidomino in +* Allow ask headers longer than 16 chars by @scidomino in [#20041](https://github.com/google-gemini/gemini-cli/pull/20041) -- fix(core): prevent state corruption in McpClientManager during collis by @h30s +* fix(core): prevent state corruption in McpClientManager during collis by @h30s in [#19782](https://github.com/google-gemini/gemini-cli/pull/19782) -- fix(bundling): copy devtools package to bundle for runtime resolution by +* fix(bundling): copy devtools package to bundle for runtime resolution by @SandyTao520 in [#19766](https://github.com/google-gemini/gemini-cli/pull/19766) -- feat(policy): Support MCP Server Wildcards in Policy Engine by @jerop in +* feat(policy): Support MCP Server Wildcards in Policy Engine by @jerop in [#20024](https://github.com/google-gemini/gemini-cli/pull/20024) -- docs(CONTRIBUTING): update React DevTools version to 6 by @mmgok in +* docs(CONTRIBUTING): update React DevTools version to 6 by @mmgok in [#20014](https://github.com/google-gemini/gemini-cli/pull/20014) -- feat(core): optimize tool descriptions and schemas for Gemini 3 by +* feat(core): optimize tool descriptions and schemas for Gemini 3 by @aishaneeshah in [#19643](https://github.com/google-gemini/gemini-cli/pull/19643) -- feat(core): implement experimental direct web fetch by @mbleigh in +* feat(core): implement experimental direct web fetch by @mbleigh in [#19557](https://github.com/google-gemini/gemini-cli/pull/19557) -- feat(core): replace expected_replacements with allow_multiple in replace tool +* feat(core): replace expected_replacements with allow_multiple in replace tool by @SandyTao520 in [#20033](https://github.com/google-gemini/gemini-cli/pull/20033) -- fix(sandbox): harden image packaging integrity checks by @aviralgarg05 in +* fix(sandbox): harden image packaging integrity checks by @aviralgarg05 in [#19552](https://github.com/google-gemini/gemini-cli/pull/19552) -- fix(core): allow environment variable expansion and explicit overrides for MCP +* fix(core): allow environment variable expansion and explicit overrides for MCP servers by @galz10 in [#18837](https://github.com/google-gemini/gemini-cli/pull/18837) -- feat(policy): Implement Tool Annotation Matching in Policy Engine by @jerop in +* feat(policy): Implement Tool Annotation Matching in Policy Engine by @jerop in [#20029](https://github.com/google-gemini/gemini-cli/pull/20029) -- fix(core): prevent utility calls from changing session active model by +* fix(core): prevent utility calls from changing session active model by @adamfweidman in [#20035](https://github.com/google-gemini/gemini-cli/pull/20035) -- fix(cli): skip workspace policy loading when in home directory by +* fix(cli): skip workspace policy loading when in home directory by @Abhijit-2592 in [#20054](https://github.com/google-gemini/gemini-cli/pull/20054) -- fix(scripts): Add Windows (win32/x64) support to lint.js by @ZafeerMahmood in +* fix(scripts): Add Windows (win32/x64) support to lint.js by @ZafeerMahmood in [#16193](https://github.com/google-gemini/gemini-cli/pull/16193) -- fix(a2a-server): Remove unsafe type assertions in agent by @Nixxx19 in +* fix(a2a-server): Remove unsafe type assertions in agent by @Nixxx19 in [#19723](https://github.com/google-gemini/gemini-cli/pull/19723) -- Fix: Handle corrupted token file gracefully when switching auth types (#19845) +* Fix: Handle corrupted token file gracefully when switching auth types (#19845) by @Nixxx19 in [#19850](https://github.com/google-gemini/gemini-cli/pull/19850) -- fix critical dep vulnerability by @scidomino in +* fix critical dep vulnerability by @scidomino in [#20087](https://github.com/google-gemini/gemini-cli/pull/20087) -- Add new setting to configure maxRetries by @kevinjwang1 in +* Add new setting to configure maxRetries by @kevinjwang1 in [#20064](https://github.com/google-gemini/gemini-cli/pull/20064) -- Stabilize tests. by @gundermanc in +* Stabilize tests. by @gundermanc in [#20095](https://github.com/google-gemini/gemini-cli/pull/20095) -- make windows tests mandatory by @scidomino in +* make windows tests mandatory by @scidomino in [#20096](https://github.com/google-gemini/gemini-cli/pull/20096) -- Add 3.1 pro preview to behavioral evals. by @gundermanc in +* Add 3.1 pro preview to behavioral evals. by @gundermanc in [#20088](https://github.com/google-gemini/gemini-cli/pull/20088) -- feat:PR-rate-limit by @JagjeevanAK in +* feat:PR-rate-limit by @JagjeevanAK in [#19804](https://github.com/google-gemini/gemini-cli/pull/19804) -- feat(cli): allow expanding full details of MCP tool on approval by @y-okt in +* feat(cli): allow expanding full details of MCP tool on approval by @y-okt in [#19916](https://github.com/google-gemini/gemini-cli/pull/19916) -- feat(security): Introduce Conseca framework by @shrishabh in +* feat(security): Introduce Conseca framework by @shrishabh in [#13193](https://github.com/google-gemini/gemini-cli/pull/13193) -- fix(cli): Remove unsafe type assertions in activityLogger #19713 by @Nixxx19 +* fix(cli): Remove unsafe type assertions in activityLogger #19713 by @Nixxx19 in [#19745](https://github.com/google-gemini/gemini-cli/pull/19745) -- feat: implement AfterTool tail tool calls by @googlestrobe in +* feat: implement AfterTool tail tool calls by @googlestrobe in [#18486](https://github.com/google-gemini/gemini-cli/pull/18486) -- ci(actions): fix PR rate limiter excluding maintainers by @scidomino in +* ci(actions): fix PR rate limiter excluding maintainers by @scidomino in [#20117](https://github.com/google-gemini/gemini-cli/pull/20117) -- Shortcuts: Move SectionHeader title below top line and refine styling by +* Shortcuts: Move SectionHeader title below top line and refine styling by @keithguerin in [#18721](https://github.com/google-gemini/gemini-cli/pull/18721) -- refactor(ui): Update and simplify use of gray colors in themes by @keithguerin +* refactor(ui): Update and simplify use of gray colors in themes by @keithguerin in [#20141](https://github.com/google-gemini/gemini-cli/pull/20141) -- fix punycode2 by @jacob314 in +* fix punycode2 by @jacob314 in [#20154](https://github.com/google-gemini/gemini-cli/pull/20154) -- feat(ide): add GEMINI_CLI_IDE_PID env var to override IDE process detection by +* feat(ide): add GEMINI_CLI_IDE_PID env var to override IDE process detection by @kiryltech in [#15842](https://github.com/google-gemini/gemini-cli/pull/15842) -- feat(policy): Propagate Tool Annotations for MCP Servers by @jerop in +* feat(policy): Propagate Tool Annotations for MCP Servers by @jerop in [#20083](https://github.com/google-gemini/gemini-cli/pull/20083) -- fix(a2a-server): pass allowedTools settings to core Config by @reyyanxahmed in +* fix(a2a-server): pass allowedTools settings to core Config by @reyyanxahmed in [#19680](https://github.com/google-gemini/gemini-cli/pull/19680) -- feat(mcp): add progress bar, throttling, and input validation for MCP tool +* feat(mcp): add progress bar, throttling, and input validation for MCP tool progress by @jasmeetsb in [#19772](https://github.com/google-gemini/gemini-cli/pull/19772) -- feat(policy): centralize plan mode tool visibility in policy engine by @jerop +* feat(policy): centralize plan mode tool visibility in policy engine by @jerop in [#20178](https://github.com/google-gemini/gemini-cli/pull/20178) -- feat(browser): implement experimental browser agent by @gsquared94 in +* feat(browser): implement experimental browser agent by @gsquared94 in [#19284](https://github.com/google-gemini/gemini-cli/pull/19284) -- feat(plan): summarize work after executing a plan by @jerop in +* feat(plan): summarize work after executing a plan by @jerop in [#19432](https://github.com/google-gemini/gemini-cli/pull/19432) -- fix(core): create new McpClient on restart to apply updated config by @h30s in +* fix(core): create new McpClient on restart to apply updated config by @h30s in [#20126](https://github.com/google-gemini/gemini-cli/pull/20126) -- Changelog for v0.30.0-preview.5 by @gemini-cli-robot in +* Changelog for v0.30.0-preview.5 by @gemini-cli-robot in [#20107](https://github.com/google-gemini/gemini-cli/pull/20107) -- Update packages. by @jacob314 in +* Update packages. by @jacob314 in [#20152](https://github.com/google-gemini/gemini-cli/pull/20152) -- Fix extension env dir loading issue by @chrstnb in +* Fix extension env dir loading issue by @chrstnb in [#20198](https://github.com/google-gemini/gemini-cli/pull/20198) -- restrict /assign to help-wanted issues by @scidomino in +* restrict /assign to help-wanted issues by @scidomino in [#20207](https://github.com/google-gemini/gemini-cli/pull/20207) -- feat(plan): inject message when user manually exits Plan mode by @jerop in +* feat(plan): inject message when user manually exits Plan mode by @jerop in [#20203](https://github.com/google-gemini/gemini-cli/pull/20203) -- feat(extensions): enforce folder trust for local extension install by @galz10 +* feat(extensions): enforce folder trust for local extension install by @galz10 in [#19703](https://github.com/google-gemini/gemini-cli/pull/19703) -- feat(hooks): adds support for RuntimeHook functions. by @mbleigh in +* feat(hooks): adds support for RuntimeHook functions. by @mbleigh in [#19598](https://github.com/google-gemini/gemini-cli/pull/19598) -- Docs: Update UI links. by @jkcinouye in +* Docs: Update UI links. by @jkcinouye in [#20224](https://github.com/google-gemini/gemini-cli/pull/20224) -- feat: prompt users to run /terminal-setup with yes/no by @ishaanxgupta in +* feat: prompt users to run /terminal-setup with yes/no by @ishaanxgupta in [#16235](https://github.com/google-gemini/gemini-cli/pull/16235) -- fix: additional high vulnerabilities (minimatch, cross-spawn) by @adamfweidman +* fix: additional high vulnerabilities (minimatch, cross-spawn) by @adamfweidman in [#20221](https://github.com/google-gemini/gemini-cli/pull/20221) -- feat(telemetry): Add context breakdown to API response event by @SandyTao520 +* feat(telemetry): Add context breakdown to API response event by @SandyTao520 in [#19699](https://github.com/google-gemini/gemini-cli/pull/19699) -- Docs: Add nested sub-folders for related topics by @g-samroberts in +* Docs: Add nested sub-folders for related topics by @g-samroberts in [#20235](https://github.com/google-gemini/gemini-cli/pull/20235) -- feat(plan): support automatic model switching for Plan Mode by @jerop in +* feat(plan): support automatic model switching for Plan Mode by @jerop in [#20240](https://github.com/google-gemini/gemini-cli/pull/20240) **Full Changelog**: -https://github.com/google-gemini/gemini-cli/compare/v0.30.0-preview.6...v0.31.0-preview.1 +https://github.com/google-gemini/gemini-cli/compare/v0.30.0-preview.6...v0.31.0-preview.2