Changelog for v0.32.0 (#21033)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>
This commit is contained in:
gemini-cli-robot
2026-03-04 12:15:52 -05:00
committed by GitHub
parent 25e9613594
commit df74b89876
2 changed files with 211 additions and 397 deletions
+24
View File
@@ -18,6 +18,30 @@ on GitHub.
| [Preview](preview.md) | Experimental features ready for early feedback. | | [Preview](preview.md) | Experimental features ready for early feedback. |
| [Stable](latest.md) | Stable, recommended for general use. | | [Stable](latest.md) | Stable, recommended for general use. |
## Announcements: v0.32.0 - 2026-03-03
- **Generalist Agent:** The generalist agent is now enabled to improve task
delegation and routing
([#19665](https://github.com/google-gemini/gemini-cli/pull/19665) by
@joshualitt).
- **Model Steering in Workspace:** Added support for model steering directly in
the workspace
([#20343](https://github.com/google-gemini/gemini-cli/pull/20343) by
@joshualitt).
- **Plan Mode Enhancements:** Users can now open and modify plans in an external
editor, and the planning workflow has been adapted to handle complex tasks
more effectively with multi-select options
([#20348](https://github.com/google-gemini/gemini-cli/pull/20348) by @Adib234,
[#20465](https://github.com/google-gemini/gemini-cli/pull/20465) by @jerop).
- **Interactive Shell Autocompletion:** Introduced interactive shell
autocompletion for a more seamless experience
([#20082](https://github.com/google-gemini/gemini-cli/pull/20082) by
@mrpmohiburrahman).
- **Parallel Extension Loading:** Extensions are now loaded in parallel to
improve startup times
([#20229](https://github.com/google-gemini/gemini-cli/pull/20229) by
@scidomino).
## Announcements: v0.31.0 - 2026-02-27 ## Announcements: v0.31.0 - 2026-02-27
- **Gemini 3.1 Pro Preview:** Gemini CLI now supports the new Gemini 3.1 Pro - **Gemini 3.1 Pro Preview:** Gemini CLI now supports the new Gemini 3.1 Pro
+187 -397
View File
@@ -1,6 +1,6 @@
# Latest stable release: v0.31.0 # Latest stable release: v0.32.0
Released: February 27, 2026 Released: March 03, 2026
For most users, our latest stable release is the recommended release. Install For most users, our latest stable release is the recommended release. Install
the latest stable version with: the latest stable version with:
@@ -11,405 +11,195 @@ npm install -g @google/gemini-cli
## Highlights ## Highlights
- **Gemini 3.1 Pro Preview:** Gemini CLI now supports the new Gemini 3.1 Pro - **Plan Mode Enhancements**: Significant updates to Plan Mode, including the
Preview model. ability to open and modify plans in an external editor, adaptations for
- **Experimental Browser Agent:** We've introduced a new experimental browser complex tasks with multi-select options, and integration tests for plan mode.
agent to directly interact with web pages and retrieve context. - **Agent and Steering Improvements**: The generalist agent has been enabled to
- **Policy Engine Updates:** The policy engine has been expanded to support enhance task delegation, model steering is now supported directly within the
project-level policies, MCP server wildcards, and tool annotation matching, workspace, and contiguous parallel admission is enabled for `Kind.Agent`
providing greater control over tool executions. tools.
- **Web Fetch Enhancements:** A new experimental direct web fetch tool has been - **Interactive Shell**: Interactive shell autocompletion has been introduced,
implemented, alongside rate-limiting features for enhanced security. significantly enhancing the user experience.
- **Improved Plan Mode:** Plan Mode now includes support for custom storage - **Core Stability and Performance**: Extensions are now loaded in parallel,
directories, automatic model switching, and summarizing work after execution. fetch timeouts have been increased, robust A2A streaming reassembly was
implemented, and orphaned processes when terminal closes have been prevented.
- **Billing and Quota Handling**: Implemented G1 AI credits overage flow with
billing telemetry and added support for quota error fallbacks across all
authentication types.
## What's Changed ## What's Changed
- Use ranged reads and limited searches and fuzzy editing improvements by - feat(plan): add integration tests for plan mode by @Adib234 in
@gundermanc in [#20214](https://github.com/google-gemini/gemini-cli/pull/20214)
[#19240](https://github.com/google-gemini/gemini-cli/pull/19240) - fix(acp): update auth handshake to spec by @skeshive in
- Fix bottom border color by @jacob314 in [#19725](https://github.com/google-gemini/gemini-cli/pull/19725)
[#19266](https://github.com/google-gemini/gemini-cli/pull/19266) - feat(core): implement robust A2A streaming reassembly and fix task continuity
- Release note generator fix by @g-samroberts in by @adamfweidman in
[#19363](https://github.com/google-gemini/gemini-cli/pull/19363) [#20091](https://github.com/google-gemini/gemini-cli/pull/20091)
- test(evals): add behavioral tests for tool output masking by @NTaylorMullen in - feat(cli): load extensions in parallel by @scidomino in
[#19172](https://github.com/google-gemini/gemini-cli/pull/19172) [#20229](https://github.com/google-gemini/gemini-cli/pull/20229)
- docs: clarify preflight instructions in GEMINI.md by @NTaylorMullen in - Plumb the maxAttempts setting through Config args by @kevinjwang1 in
[#19377](https://github.com/google-gemini/gemini-cli/pull/19377) [#20239](https://github.com/google-gemini/gemini-cli/pull/20239)
- feat(cli): add gemini --resume hint on exit by @Mag1ck in - fix(cli): skip 404 errors in setup-github file downloads by @h30s in
[#16285](https://github.com/google-gemini/gemini-cli/pull/16285) [#20287](https://github.com/google-gemini/gemini-cli/pull/20287)
- fix: optimize height calculations for ask_user dialog by @jackwotherspoon in - fix(cli): expose model.name setting in settings dialog for persistence by
[#19017](https://github.com/google-gemini/gemini-cli/pull/19017) @achaljhawar in
- feat(cli): add Alt+D for forward word deletion by @scidomino in [#19605](https://github.com/google-gemini/gemini-cli/pull/19605)
[#19300](https://github.com/google-gemini/gemini-cli/pull/19300) - docs: remove legacy cmd examples in favor of powershell by @scidomino in
- Disable failing eval test by @chrstnb in [#20323](https://github.com/google-gemini/gemini-cli/pull/20323)
[#19455](https://github.com/google-gemini/gemini-cli/pull/19455) - feat(core): Enable model steering in workspace. by @joshualitt in
- fix(cli): support legacy onConfirm callback in ToolActionsContext by [#20343](https://github.com/google-gemini/gemini-cli/pull/20343)
- fix: remove trailing comma in issue triage workflow settings json by @Nixxx19
in [#20265](https://github.com/google-gemini/gemini-cli/pull/20265)
- feat(core): implement task tracker foundation and service by @anj-s in
[#19464](https://github.com/google-gemini/gemini-cli/pull/19464)
- test: support tests that include color information by @jacob314 in
[#20220](https://github.com/google-gemini/gemini-cli/pull/20220)
- feat(core): introduce Kind.Agent for sub-agent classification by @abhipatel12
in [#20369](https://github.com/google-gemini/gemini-cli/pull/20369)
- Changelog for v0.30.0 by @gemini-cli-robot in
[#20252](https://github.com/google-gemini/gemini-cli/pull/20252)
- Update changelog workflow to reject nightly builds by @g-samroberts in
[#20248](https://github.com/google-gemini/gemini-cli/pull/20248)
- Changelog for v0.31.0-preview.0 by @gemini-cli-robot in
[#20249](https://github.com/google-gemini/gemini-cli/pull/20249)
- feat(cli): hide workspace policy update dialog and auto-accept by default by
@Abhijit-2592 in
[#20351](https://github.com/google-gemini/gemini-cli/pull/20351)
- feat(core): rename grep_search include parameter to include_pattern by
@SandyTao520 in @SandyTao520 in
[#19369](https://github.com/google-gemini/gemini-cli/pull/19369) [#20328](https://github.com/google-gemini/gemini-cli/pull/20328)
- chore(deps): bump tar from 7.5.7 to 7.5.8 by @.github/dependabot.yml[bot] in - feat(plan): support opening and modifying plan in external editor by @Adib234
[#19367](https://github.com/google-gemini/gemini-cli/pull/19367) in [#20348](https://github.com/google-gemini/gemini-cli/pull/20348)
- fix(plan): allow safe fallback when experiment setting for plan is not enabled - feat(cli): implement interactive shell autocompletion by @mrpmohiburrahman in
but approval mode at startup is plan by @Adib234 in [#20082](https://github.com/google-gemini/gemini-cli/pull/20082)
[#19439](https://github.com/google-gemini/gemini-cli/pull/19439) - fix(core): allow /memory add to work in plan mode by @Jefftree in
- Add explicit color-convert dependency by @chrstnb in [#20353](https://github.com/google-gemini/gemini-cli/pull/20353)
[#19460](https://github.com/google-gemini/gemini-cli/pull/19460) - feat(core): add HTTP 499 to retryable errors and map to RetryableQuotaError by
- feat(devtools): migrate devtools package into monorepo by @SandyTao520 in @bdmorgan in [#20432](https://github.com/google-gemini/gemini-cli/pull/20432)
[#18936](https://github.com/google-gemini/gemini-cli/pull/18936) - feat(core): Enable generalist agent by @joshualitt in
- fix(core): clarify plan mode constraints and exit mechanism by @jerop in [#19665](https://github.com/google-gemini/gemini-cli/pull/19665)
[#19438](https://github.com/google-gemini/gemini-cli/pull/19438) - Updated tests in TableRenderer.test.tsx to use SVG snapshots by @devr0306 in
- feat(cli): add macOS run-event notifications (interactive only) by [#20450](https://github.com/google-gemini/gemini-cli/pull/20450)
@LyalinDotCom in - Refactor Github Action per b/485167538 by @google-admin in
[#19056](https://github.com/google-gemini/gemini-cli/pull/19056) [#19443](https://github.com/google-gemini/gemini-cli/pull/19443)
- Changelog for v0.29.0 by @gemini-cli-robot in - fix(github): resolve actionlint and yamllint regressions from #19443 by @jerop
[#19361](https://github.com/google-gemini/gemini-cli/pull/19361) in [#20467](https://github.com/google-gemini/gemini-cli/pull/20467)
- fix(ui): preventing empty history items from being added by @devr0306 in - fix: action var usage by @galz10 in
[#19014](https://github.com/google-gemini/gemini-cli/pull/19014) [#20492](https://github.com/google-gemini/gemini-cli/pull/20492)
- Changelog for v0.30.0-preview.0 by @gemini-cli-robot in - feat(core): improve A2A content extraction by @adamfweidman in
[#19364](https://github.com/google-gemini/gemini-cli/pull/19364) [#20487](https://github.com/google-gemini/gemini-cli/pull/20487)
- feat(core): add support for MCP progress updates by @NTaylorMullen in - fix(cli): support quota error fallbacks for all authentication types by
[#19046](https://github.com/google-gemini/gemini-cli/pull/19046) @sehoon38 in [#20475](https://github.com/google-gemini/gemini-cli/pull/20475)
- fix(core): ensure directory exists before writing conversation file by - fix(core): flush transcript for pure tool-call responses to ensure BeforeTool
@godwiniheuwa in hooks see complete state by @krishdef7 in
[#18429](https://github.com/google-gemini/gemini-cli/pull/18429) [#20419](https://github.com/google-gemini/gemini-cli/pull/20419)
- fix(ui): move margin from top to bottom in ToolGroupMessage by @imadraude in - feat(plan): adapt planning workflow based on complexity of task by @jerop in
[#17198](https://github.com/google-gemini/gemini-cli/pull/17198) [#20465](https://github.com/google-gemini/gemini-cli/pull/20465)
- fix(cli): treat unknown slash commands as regular input instead of showing - fix: prevent orphaned processes from consuming 100% CPU when terminal closes
error by @skyvanguard in by @yuvrajangadsingh in
[#17393](https://github.com/google-gemini/gemini-cli/pull/17393) [#16965](https://github.com/google-gemini/gemini-cli/pull/16965)
- feat(core): experimental in-progress steering hints (2 of 2) by @joshualitt in - feat(core): increase fetch timeout and fix [object Object] error
[#19307](https://github.com/google-gemini/gemini-cli/pull/19307) stringification by @bdmorgan in
- docs(plan): add documentation for plan mode command by @Adib234 in [#20441](https://github.com/google-gemini/gemini-cli/pull/20441)
[#19467](https://github.com/google-gemini/gemini-cli/pull/19467) - [Gemma x Gemini CLI] Add an Experimental Gemma Router that uses a LiteRT-LM
- fix(core): ripgrep fails when pattern looks like ripgrep flag by @syvb in shim into the Composite Model Classifier Strategy by @sidwan02 in
[#18858](https://github.com/google-gemini/gemini-cli/pull/18858) [#17231](https://github.com/google-gemini/gemini-cli/pull/17231)
- fix(cli): disable auto-completion on Shift+Tab to preserve mode cycling by - docs(plan): update documentation regarding supporting editing of plan files
@NTaylorMullen in during plan approval by @Adib234 in
[#19451](https://github.com/google-gemini/gemini-cli/pull/19451) [#20452](https://github.com/google-gemini/gemini-cli/pull/20452)
- use issuer instead of authorization_endpoint for oauth discovery by - test(cli): fix flaky ToolResultDisplay overflow test by @jwhelangoog in
@garrettsparks in [#20518](https://github.com/google-gemini/gemini-cli/pull/20518)
[#17332](https://github.com/google-gemini/gemini-cli/pull/17332) - ui(cli): reduce length of Ctrl+O hint by @jwhelangoog in
- feat(cli): include `/dir add` directories in @ autocomplete suggestions by [#20490](https://github.com/google-gemini/gemini-cli/pull/20490)
@jasmeetsb in [#19246](https://github.com/google-gemini/gemini-cli/pull/19246) - fix(ui): correct styled table width calculations by @devr0306 in
- feat(admin): Admin settings should only apply if adminControlsApplicable = [#20042](https://github.com/google-gemini/gemini-cli/pull/20042)
true and fetch errors should be fatal by @skeshive in - Avoid overaggressive unescaping by @scidomino in
[#19453](https://github.com/google-gemini/gemini-cli/pull/19453) [#20520](https://github.com/google-gemini/gemini-cli/pull/20520)
- Format strict-development-rules command by @g-samroberts in - feat(telemetry) Instrument traces with more attributes and make them available
[#19484](https://github.com/google-gemini/gemini-cli/pull/19484) to OTEL users by @heaventourist in
- feat(core): centralize compatibility checks and add TrueColor detection by [#20237](https://github.com/google-gemini/gemini-cli/pull/20237)
- Add support for policy engine in extensions by @chrstnb in
[#20049](https://github.com/google-gemini/gemini-cli/pull/20049)
- Docs: Update to Terms of Service & FAQ by @jkcinouye in
[#20488](https://github.com/google-gemini/gemini-cli/pull/20488)
- Fix bottom border rendering for search and add a regression test. by @jacob314
in [#20517](https://github.com/google-gemini/gemini-cli/pull/20517)
- fix(core): apply retry logic to CodeAssistServer for all users by @bdmorgan in
[#20507](https://github.com/google-gemini/gemini-cli/pull/20507)
- Fix extension MCP server env var loading by @chrstnb in
[#20374](https://github.com/google-gemini/gemini-cli/pull/20374)
- feat(ui): add 'ctrl+o' hint to truncated content message by @jerop in
[#20529](https://github.com/google-gemini/gemini-cli/pull/20529)
- Fix flicker showing message to press ctrl-O again to collapse. by @jacob314 in
[#20414](https://github.com/google-gemini/gemini-cli/pull/20414)
- fix(cli): hide shortcuts hint while model is thinking or the user has typed a
prompt + add debounce to avoid flicker by @jacob314 in
[#19389](https://github.com/google-gemini/gemini-cli/pull/19389)
- feat(plan): update planning workflow to encourage multi-select with
descriptions of options by @Adib234 in
[#20491](https://github.com/google-gemini/gemini-cli/pull/20491)
- refactor(core,cli): useAlternateBuffer read from config by @psinha40898 in
[#20346](https://github.com/google-gemini/gemini-cli/pull/20346)
- fix(cli): ensure dialogs stay scrolled to bottom in alternate buffer mode by
@jacob314 in [#20527](https://github.com/google-gemini/gemini-cli/pull/20527)
- fix(core): revert auto-save of policies to user space by @Abhijit-2592 in
[#20531](https://github.com/google-gemini/gemini-cli/pull/20531)
- Demote unreliable test. by @gundermanc in
[#20571](https://github.com/google-gemini/gemini-cli/pull/20571)
- fix(core): handle optional response fields from code assist API by @sehoon38
in [#20345](https://github.com/google-gemini/gemini-cli/pull/20345)
- fix(cli): keep thought summary when loading phrases are off by @LyalinDotCom
in [#20497](https://github.com/google-gemini/gemini-cli/pull/20497)
- feat(cli): add temporary flag to disable workspace policies by @Abhijit-2592
in [#20523](https://github.com/google-gemini/gemini-cli/pull/20523)
- Disable expensive and scheduled workflows on personal forks by @dewitt in
[#20449](https://github.com/google-gemini/gemini-cli/pull/20449)
- Moved markdown parsing logic to a separate util file by @devr0306 in
[#20526](https://github.com/google-gemini/gemini-cli/pull/20526)
- fix(plan): prevent agent from using ask_user for shell command confirmation by
@Adib234 in [#20504](https://github.com/google-gemini/gemini-cli/pull/20504)
- fix(core): disable retries for code assist streaming requests by @sehoon38 in
[#20561](https://github.com/google-gemini/gemini-cli/pull/20561)
- feat(billing): implement G1 AI credits overage flow with billing telemetry by
@gsquared94 in
[#18590](https://github.com/google-gemini/gemini-cli/pull/18590)
- feat: better error messages by @gsquared94 in
[#20577](https://github.com/google-gemini/gemini-cli/pull/20577)
- fix(ui): persist expansion in AskUser dialog when navigating options by @jerop
in [#20559](https://github.com/google-gemini/gemini-cli/pull/20559)
- fix(cli): prevent sub-agent tool calls from leaking into UI by @abhipatel12 in
[#20580](https://github.com/google-gemini/gemini-cli/pull/20580)
- fix(cli): Shell autocomplete polish by @jacob314 in
[#20411](https://github.com/google-gemini/gemini-cli/pull/20411)
- Changelog for v0.31.0-preview.1 by @gemini-cli-robot in
[#20590](https://github.com/google-gemini/gemini-cli/pull/20590)
- Add slash command for promoting behavioral evals to CI blocking by @gundermanc
in [#20575](https://github.com/google-gemini/gemini-cli/pull/20575)
- Changelog for v0.30.1 by @gemini-cli-robot in
[#20589](https://github.com/google-gemini/gemini-cli/pull/20589)
- Add low/full CLI error verbosity mode for cleaner UI by @LyalinDotCom in
[#20399](https://github.com/google-gemini/gemini-cli/pull/20399)
- Disable Gemini PR reviews on draft PRs. by @gundermanc in
[#20362](https://github.com/google-gemini/gemini-cli/pull/20362)
- Docs: FAQ update by @jkcinouye in
[#20585](https://github.com/google-gemini/gemini-cli/pull/20585)
- fix(core): reduce intrusive MCP errors and deduplicate diagnostics by
@spencer426 in @spencer426 in
[#19478](https://github.com/google-gemini/gemini-cli/pull/19478) [#20232](https://github.com/google-gemini/gemini-cli/pull/20232)
- Remove unused files and update index and sidebar. by @g-samroberts in - docs: fix spelling typos in installation guide by @campox747 in
[#19479](https://github.com/google-gemini/gemini-cli/pull/19479) [#20579](https://github.com/google-gemini/gemini-cli/pull/20579)
- Migrate core render util to use xterm.js as part of the rendering loop. by - Promote stable tests to CI blocking. by @gundermanc in
@jacob314 in [#19044](https://github.com/google-gemini/gemini-cli/pull/19044) [#20581](https://github.com/google-gemini/gemini-cli/pull/20581)
- Changelog for v0.30.0-preview.1 by @gemini-cli-robot in - feat(core): enable contiguous parallel admission for Kind.Agent tools by
[#19496](https://github.com/google-gemini/gemini-cli/pull/19496) @abhipatel12 in
- build: replace deprecated built-in punycode with userland package by @jacob314 [#20583](https://github.com/google-gemini/gemini-cli/pull/20583)
in [#19502](https://github.com/google-gemini/gemini-cli/pull/19502) - Enforce import/no-duplicates as error by @Nixxx19 in
- Speculative fixes to try to fix react error. by @jacob314 in [#19797](https://github.com/google-gemini/gemini-cli/pull/19797)
[#19508](https://github.com/google-gemini/gemini-cli/pull/19508) - fix: merge duplicate imports in sdk and test-utils packages (1/4) by @Nixxx19
- fix spacing by @jacob314 in in [#19777](https://github.com/google-gemini/gemini-cli/pull/19777)
[#19494](https://github.com/google-gemini/gemini-cli/pull/19494) - fix: merge duplicate imports in a2a-server package (2/4) by @Nixxx19 in
- fix(core): ensure user rejections update tool outcome for telemetry by [#19781](https://github.com/google-gemini/gemini-cli/pull/19781)
@abhiasap in [#18982](https://github.com/google-gemini/gemini-cli/pull/18982)
- 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
[#17981](https://github.com/google-gemini/gemini-cli/pull/17981)
- 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
[#18443](https://github.com/google-gemini/gemini-cli/pull/18443)
- 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
@pdHaku0 in [#17955](https://github.com/google-gemini/gemini-cli/pull/17955)
- 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
[#19488](https://github.com/google-gemini/gemini-cli/pull/19488)
- 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
[#19500](https://github.com/google-gemini/gemini-cli/pull/19500)
- 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
@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
in [#19555](https://github.com/google-gemini/gemini-cli/pull/19555)
- 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
@chrstnb in [#19434](https://github.com/google-gemini/gemini-cli/pull/19434)
- 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
[#19529](https://github.com/google-gemini/gemini-cli/pull/19529)
- 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
[#19503](https://github.com/google-gemini/gemini-cli/pull/19503)
- 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
[#18791](https://github.com/google-gemini/gemini-cli/pull/18791)
- 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
[#19180](https://github.com/google-gemini/gemini-cli/pull/19180)
- 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
@SandyTao520 in
[#19476](https://github.com/google-gemini/gemini-cli/pull/19476)
- 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
[#19570](https://github.com/google-gemini/gemini-cli/pull/19570)
- 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
[#18839](https://github.com/google-gemini/gemini-cli/pull/18839)
- 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
[#19568](https://github.com/google-gemini/gemini-cli/pull/19568)
- 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
[#19029](https://github.com/google-gemini/gemini-cli/pull/19029)
- 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
[#19482](https://github.com/google-gemini/gemini-cli/pull/19482)
- 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
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
@spencer426 in
[#19584](https://github.com/google-gemini/gemini-cli/pull/19584)
- 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
[#19670](https://github.com/google-gemini/gemini-cli/pull/19670)
- 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
[#19433](https://github.com/google-gemini/gemini-cli/pull/19433)
- 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
in [#19642](https://github.com/google-gemini/gemini-cli/pull/19642)
- 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
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
[#19691](https://github.com/google-gemini/gemini-cli/pull/19691)
- 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
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
@ehedlund in [#19689](https://github.com/google-gemini/gemini-cli/pull/19689)
- 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
[#19687](https://github.com/google-gemini/gemini-cli/pull/19687)
- 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
@sehoon38 in [#19726](https://github.com/google-gemini/gemini-cli/pull/19726)
- 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
[#19741](https://github.com/google-gemini/gemini-cli/pull/19741)
- 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
@adamfweidman in
[#19526](https://github.com/google-gemini/gemini-cli/pull/19526)
- 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
@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
@mattKorwel in
[#19750](https://github.com/google-gemini/gemini-cli/pull/19750)
- 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
[#19698](https://github.com/google-gemini/gemini-cli/pull/19698)
- 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
@NTaylorMullen in
[#19861](https://github.com/google-gemini/gemini-cli/pull/19861)
- 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
[#19867](https://github.com/google-gemini/gemini-cli/pull/19867)
- 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
[#19890](https://github.com/google-gemini/gemini-cli/pull/19890)
- 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
[#19972](https://github.com/google-gemini/gemini-cli/pull/19972)
- 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
@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
[#19991](https://github.com/google-gemini/gemini-cli/pull/19991)
- 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
[#19905](https://github.com/google-gemini/gemini-cli/pull/19905)
- 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
in [#19668](https://github.com/google-gemini/gemini-cli/pull/19668)
- 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
[#20047](https://github.com/google-gemini/gemini-cli/pull/20047)
- 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
in [#19782](https://github.com/google-gemini/gemini-cli/pull/19782)
- 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
[#20024](https://github.com/google-gemini/gemini-cli/pull/20024)
- 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
@aishaneeshah in
[#19643](https://github.com/google-gemini/gemini-cli/pull/19643)
- 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
by @SandyTao520 in
[#20033](https://github.com/google-gemini/gemini-cli/pull/20033)
- 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
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
[#20029](https://github.com/google-gemini/gemini-cli/pull/20029)
- 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
@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
[#16193](https://github.com/google-gemini/gemini-cli/pull/16193)
- 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)
by @Nixxx19 in
[#19850](https://github.com/google-gemini/gemini-cli/pull/19850)
- 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
[#20064](https://github.com/google-gemini/gemini-cli/pull/20064)
- Stabilize tests. by @gundermanc in
[#20095](https://github.com/google-gemini/gemini-cli/pull/20095)
- 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
[#20088](https://github.com/google-gemini/gemini-cli/pull/20088)
- 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
[#19916](https://github.com/google-gemini/gemini-cli/pull/19916)
- 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
in [#19745](https://github.com/google-gemini/gemini-cli/pull/19745)
- 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
[#20117](https://github.com/google-gemini/gemini-cli/pull/20117)
- 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
in [#20141](https://github.com/google-gemini/gemini-cli/pull/20141)
- 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
@kiryltech in [#15842](https://github.com/google-gemini/gemini-cli/pull/15842)
- 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
[#19680](https://github.com/google-gemini/gemini-cli/pull/19680)
- 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
in [#20178](https://github.com/google-gemini/gemini-cli/pull/20178)
- 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
[#19432](https://github.com/google-gemini/gemini-cli/pull/19432)
- 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
[#20107](https://github.com/google-gemini/gemini-cli/pull/20107)
- Update packages. by @jacob314 in
[#20152](https://github.com/google-gemini/gemini-cli/pull/20152)
- 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
[#20207](https://github.com/google-gemini/gemini-cli/pull/20207)
- 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
in [#19703](https://github.com/google-gemini/gemini-cli/pull/19703)
- 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
[#20224](https://github.com/google-gemini/gemini-cli/pull/20224)
- 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
in [#20221](https://github.com/google-gemini/gemini-cli/pull/20221)
- 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
[#20235](https://github.com/google-gemini/gemini-cli/pull/20235)
- feat(plan): support automatic model switching for Plan Mode by @jerop in
[#20240](https://github.com/google-gemini/gemini-cli/pull/20240)
- 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)
- 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 32e777f to release/v0.31.0-preview.2-pr-20531 to patch
version v0.31.0-preview.2 and create version 0.31.0-preview.3 by
@gemini-cli-robot in
[#20607](https://github.com/google-gemini/gemini-cli/pull/20607)
**Full Changelog**: **Full Changelog**:
https://github.com/google-gemini/gemini-cli/compare/v0.30.1...v0.31.0 https://github.com/google-gemini/gemini-cli/compare/v0.31.0...v0.32.0