diff --git a/docs/changelogs/index.md b/docs/changelogs/index.md index 537e9d1aee..33c179072a 100644 --- a/docs/changelogs/index.md +++ b/docs/changelogs/index.md @@ -18,6 +18,30 @@ on GitHub. | [Preview](preview.md) | Experimental features ready for early feedback. | | [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 - **Gemini 3.1 Pro Preview:** Gemini CLI now supports the new Gemini 3.1 Pro diff --git a/docs/changelogs/latest.md b/docs/changelogs/latest.md index 760e070bd9..0d2a784096 100644 --- a/docs/changelogs/latest.md +++ b/docs/changelogs/latest.md @@ -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 the latest stable version with: @@ -11,405 +11,195 @@ npm install -g @google/gemini-cli ## Highlights -- **Gemini 3.1 Pro Preview:** Gemini CLI now supports the new Gemini 3.1 Pro - Preview model. -- **Experimental Browser Agent:** We've introduced a new experimental browser - agent to directly interact with web pages and retrieve context. -- **Policy Engine Updates:** The policy engine has been expanded to support - project-level policies, MCP server wildcards, and tool annotation matching, - providing greater control over tool executions. -- **Web Fetch Enhancements:** A new experimental direct web fetch tool has been - implemented, alongside rate-limiting features for enhanced security. -- **Improved Plan Mode:** Plan Mode now includes support for custom storage - directories, automatic model switching, and summarizing work after execution. +- **Plan Mode Enhancements**: Significant updates to Plan Mode, including the + ability to open and modify plans in an external editor, adaptations for + complex tasks with multi-select options, and integration tests for plan mode. +- **Agent and Steering Improvements**: The generalist agent has been enabled to + enhance task delegation, model steering is now supported directly within the + workspace, and contiguous parallel admission is enabled for `Kind.Agent` + tools. +- **Interactive Shell**: Interactive shell autocompletion has been introduced, + significantly enhancing the user experience. +- **Core Stability and Performance**: Extensions are now loaded in parallel, + 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 -- 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 - [#19266](https://github.com/google-gemini/gemini-cli/pull/19266) -- 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 - [#19172](https://github.com/google-gemini/gemini-cli/pull/19172) -- 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 - [#16285](https://github.com/google-gemini/gemini-cli/pull/16285) -- 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 - [#19300](https://github.com/google-gemini/gemini-cli/pull/19300) -- 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 +- feat(plan): add integration tests for plan mode by @Adib234 in + [#20214](https://github.com/google-gemini/gemini-cli/pull/20214) +- fix(acp): update auth handshake to spec by @skeshive in + [#19725](https://github.com/google-gemini/gemini-cli/pull/19725) +- feat(core): implement robust A2A streaming reassembly and fix task continuity + by @adamfweidman in + [#20091](https://github.com/google-gemini/gemini-cli/pull/20091) +- feat(cli): load extensions in parallel by @scidomino in + [#20229](https://github.com/google-gemini/gemini-cli/pull/20229) +- Plumb the maxAttempts setting through Config args by @kevinjwang1 in + [#20239](https://github.com/google-gemini/gemini-cli/pull/20239) +- fix(cli): skip 404 errors in setup-github file downloads by @h30s in + [#20287](https://github.com/google-gemini/gemini-cli/pull/20287) +- fix(cli): expose model.name setting in settings dialog for persistence by + @achaljhawar in + [#19605](https://github.com/google-gemini/gemini-cli/pull/19605) +- docs: remove legacy cmd examples in favor of powershell by @scidomino in + [#20323](https://github.com/google-gemini/gemini-cli/pull/20323) +- feat(core): Enable model steering in workspace. by @joshualitt in + [#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 - [#19369](https://github.com/google-gemini/gemini-cli/pull/19369) -- chore(deps): bump tar from 7.5.7 to 7.5.8 by @.github/dependabot.yml[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 - 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 - [#19460](https://github.com/google-gemini/gemini-cli/pull/19460) -- 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 - [#19438](https://github.com/google-gemini/gemini-cli/pull/19438) -- 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 - [#19361](https://github.com/google-gemini/gemini-cli/pull/19361) -- 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 - [#19364](https://github.com/google-gemini/gemini-cli/pull/19364) -- 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 - @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 - [#17198](https://github.com/google-gemini/gemini-cli/pull/17198) -- 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 - [#19307](https://github.com/google-gemini/gemini-cli/pull/19307) -- 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 - [#18858](https://github.com/google-gemini/gemini-cli/pull/18858) -- 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 - @garrettsparks in - [#17332](https://github.com/google-gemini/gemini-cli/pull/17332) -- 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 = - 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 - [#19484](https://github.com/google-gemini/gemini-cli/pull/19484) -- feat(core): centralize compatibility checks and add TrueColor detection by + [#20328](https://github.com/google-gemini/gemini-cli/pull/20328) +- feat(plan): support opening and modifying plan in external editor by @Adib234 + in [#20348](https://github.com/google-gemini/gemini-cli/pull/20348) +- feat(cli): implement interactive shell autocompletion by @mrpmohiburrahman in + [#20082](https://github.com/google-gemini/gemini-cli/pull/20082) +- fix(core): allow /memory add to work in plan mode by @Jefftree in + [#20353](https://github.com/google-gemini/gemini-cli/pull/20353) +- feat(core): add HTTP 499 to retryable errors and map to RetryableQuotaError by + @bdmorgan in [#20432](https://github.com/google-gemini/gemini-cli/pull/20432) +- feat(core): Enable generalist agent by @joshualitt in + [#19665](https://github.com/google-gemini/gemini-cli/pull/19665) +- Updated tests in TableRenderer.test.tsx to use SVG snapshots by @devr0306 in + [#20450](https://github.com/google-gemini/gemini-cli/pull/20450) +- Refactor Github Action per b/485167538 by @google-admin in + [#19443](https://github.com/google-gemini/gemini-cli/pull/19443) +- fix(github): resolve actionlint and yamllint regressions from #19443 by @jerop + in [#20467](https://github.com/google-gemini/gemini-cli/pull/20467) +- fix: action var usage by @galz10 in + [#20492](https://github.com/google-gemini/gemini-cli/pull/20492) +- feat(core): improve A2A content extraction by @adamfweidman in + [#20487](https://github.com/google-gemini/gemini-cli/pull/20487) +- fix(cli): support quota error fallbacks for all authentication types by + @sehoon38 in [#20475](https://github.com/google-gemini/gemini-cli/pull/20475) +- fix(core): flush transcript for pure tool-call responses to ensure BeforeTool + hooks see complete state by @krishdef7 in + [#20419](https://github.com/google-gemini/gemini-cli/pull/20419) +- feat(plan): adapt planning workflow based on complexity of task by @jerop in + [#20465](https://github.com/google-gemini/gemini-cli/pull/20465) +- fix: prevent orphaned processes from consuming 100% CPU when terminal closes + by @yuvrajangadsingh in + [#16965](https://github.com/google-gemini/gemini-cli/pull/16965) +- feat(core): increase fetch timeout and fix [object Object] error + stringification by @bdmorgan in + [#20441](https://github.com/google-gemini/gemini-cli/pull/20441) +- [Gemma x Gemini CLI] Add an Experimental Gemma Router that uses a LiteRT-LM + shim into the Composite Model Classifier Strategy by @sidwan02 in + [#17231](https://github.com/google-gemini/gemini-cli/pull/17231) +- docs(plan): update documentation regarding supporting editing of plan files + during plan approval by @Adib234 in + [#20452](https://github.com/google-gemini/gemini-cli/pull/20452) +- test(cli): fix flaky ToolResultDisplay overflow test by @jwhelangoog in + [#20518](https://github.com/google-gemini/gemini-cli/pull/20518) +- ui(cli): reduce length of Ctrl+O hint by @jwhelangoog in + [#20490](https://github.com/google-gemini/gemini-cli/pull/20490) +- fix(ui): correct styled table width calculations by @devr0306 in + [#20042](https://github.com/google-gemini/gemini-cli/pull/20042) +- Avoid overaggressive unescaping by @scidomino in + [#20520](https://github.com/google-gemini/gemini-cli/pull/20520) +- feat(telemetry) Instrument traces with more attributes and make them available + to OTEL users by @heaventourist in + [#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 - [#19478](https://github.com/google-gemini/gemini-cli/pull/19478) -- 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 - @jacob314 in [#19044](https://github.com/google-gemini/gemini-cli/pull/19044) -- 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 - in [#19502](https://github.com/google-gemini/gemini-cli/pull/19502) -- 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 - [#19494](https://github.com/google-gemini/gemini-cli/pull/19494) -- 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 - [#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) + [#20232](https://github.com/google-gemini/gemini-cli/pull/20232) +- docs: fix spelling typos in installation guide by @campox747 in + [#20579](https://github.com/google-gemini/gemini-cli/pull/20579) +- Promote stable tests to CI blocking. by @gundermanc in + [#20581](https://github.com/google-gemini/gemini-cli/pull/20581) +- feat(core): enable contiguous parallel admission for Kind.Agent tools by + @abhipatel12 in + [#20583](https://github.com/google-gemini/gemini-cli/pull/20583) +- Enforce import/no-duplicates as error by @Nixxx19 in + [#19797](https://github.com/google-gemini/gemini-cli/pull/19797) +- fix: merge duplicate imports in sdk and test-utils packages (1/4) by @Nixxx19 + in [#19777](https://github.com/google-gemini/gemini-cli/pull/19777) +- fix: merge duplicate imports in a2a-server package (2/4) by @Nixxx19 in + [#19781](https://github.com/google-gemini/gemini-cli/pull/19781) **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