diff --git a/docs/changelogs/index.md b/docs/changelogs/index.md index 3cff4c123b..4a20557df7 100644 --- a/docs/changelogs/index.md +++ b/docs/changelogs/index.md @@ -18,6 +18,28 @@ on GitHub. | [Preview](preview.md) | Experimental features ready for early feedback. | | [Stable](latest.md) | Stable, recommended for general use. | +## Announcements: v0.30.0 - 2026-02-25 + +- **SDK & Custom Skills:** Introduced the initial SDK package, enabling dynamic + system instructions, `SessionContext` for SDK tool calls, and support for + custom skills + ([#18861](https://github.com/google-gemini/gemini-cli/pull/18861) by + @mbleigh). +- **Policy Engine Enhancements:** Added a new `--policy` flag for user-defined + policies, introduced strict seatbelt profiles, and deprecated + `--allowed-tools` in favor of the policy engine + ([#18500](https://github.com/google-gemini/gemini-cli/pull/18500) by + @allenhutchison). +- **UI & Themes:** Added a generic searchable list for settings and extensions, + new Solarized themes, text wrapping for markdown tables, and a clean UI toggle + prototype ([#19064](https://github.com/google-gemini/gemini-cli/pull/19064) by + @rmedranollamas). +- **Vim & Terminal Interaction:** Improved Vim support to feel more complete and + added support for Ctrl-Z terminal suspension + ([#18755](https://github.com/google-gemini/gemini-cli/pull/18755) by + @ppgranger, [#18931](https://github.com/google-gemini/gemini-cli/pull/18931) + by @scidomino). + ## Announcements: v0.29.0 - 2026-02-17 - **Plan Mode:** A new comprehensive planning capability with `/plan`, diff --git a/docs/changelogs/latest.md b/docs/changelogs/latest.md index 91d669ba77..8fb3f6aa87 100644 --- a/docs/changelogs/latest.md +++ b/docs/changelogs/latest.md @@ -1,6 +1,6 @@ -# Latest stable release: v0.29.0 +# Latest stable release: v0.30.0 -Released: February 17, 2026 +Released: February 25, 2026 For most users, our latest stable release is the recommended release. Install the latest stable version with: @@ -11,371 +11,323 @@ npm install -g @google/gemini-cli ## Highlights -- **Plan Mode:** Introduce a dedicated "Plan Mode" to help you architect complex - changes before implementation. Use `/plan` to get started. -- **Gemini 3 by Default:** Gemini 3 is now the default model family, bringing - improved performance and reasoning capabilities to all users without needing a - feature flag. -- **Extension Discovery:** Easily discover and install extensions with the new - exploration features and registry client. -- **Enhanced Admin Controls:** New administrative capabilities allow for - allowlisting MCP server configurations, giving organizations more control over - available tools. -- **Sub-agent Improvements:** Sub-agents have been transitioned to a new format - with improved definitions and system prompts for better reliability. +- **SDK & Custom Skills**: Introduced the initial SDK package, dynamic system + instructions, `SessionContext` for SDK tool calls, and support for custom + skills. +- **Policy Engine Enhancements**: Added a `--policy` flag for user-defined + policies, strict seatbelt profiles, and transitioned away from + `--allowed-tools`. +- **UI & Themes**: Introduced a generic searchable list for settings and + extensions, added Solarized Dark and Light themes, text wrapping capabilities + to markdown tables, and a clean UI toggle prototype. +- **Vim Support & Ctrl-Z**: Improved Vim support to provide a more complete + experience and added support for Ctrl-Z suspension. +- **Plan Mode & Tools**: Plan Mode now supports project exploration without + planning and skills can be enabled in plan mode. Tool output masking is + enabled by default, and core tool definitions have been centralized. ## What's Changed -- fix: remove `ask_user` tool from non-interactive modes by @jackwotherspoon in - [#18154](https://github.com/google-gemini/gemini-cli/pull/18154) -- fix(cli): allow restricted .env loading in untrusted sandboxed folders by - @galz10 in [#17806](https://github.com/google-gemini/gemini-cli/pull/17806) -- Encourage agent to utilize ecosystem tools to perform work by @gundermanc in - [#17881](https://github.com/google-gemini/gemini-cli/pull/17881) -- feat(plan): unify workflow location in system prompt to optimize caching by - @jerop in [#18258](https://github.com/google-gemini/gemini-cli/pull/18258) -- feat(core): enable getUserTierName in config by @sehoon38 in - [#18265](https://github.com/google-gemini/gemini-cli/pull/18265) -- feat(core): add default execution limits for subagents by @abhipatel12 in - [#18274](https://github.com/google-gemini/gemini-cli/pull/18274) -- Fix issue where agent gets stuck at interactive commands. by @gundermanc in - [#18272](https://github.com/google-gemini/gemini-cli/pull/18272) -- chore(release): bump version to 0.29.0-nightly.20260203.71f46f116 by +- feat(ux): added text wrapping capabilities to markdown tables by @devr0306 in + [#18240](https://github.com/google-gemini/gemini-cli/pull/18240) +- Revert "fix(mcp): ensure MCP transport is closed to prevent memory leaks" by + @skeshive in [#18771](https://github.com/google-gemini/gemini-cli/pull/18771) +- chore(release): bump version to 0.30.0-nightly.20260210.a2174751d by @gemini-cli-robot in - [#18243](https://github.com/google-gemini/gemini-cli/pull/18243) -- feat(core): remove hardcoded policy bypass for local subagents by @abhipatel12 - in [#18153](https://github.com/google-gemini/gemini-cli/pull/18153) -- feat(plan): implement `plan` slash command by @Adib234 in - [#17698](https://github.com/google-gemini/gemini-cli/pull/17698) -- feat: increase `ask_user` label limit to 16 characters by @jackwotherspoon in - [#18320](https://github.com/google-gemini/gemini-cli/pull/18320) -- Add information about the agent skills lifecycle and clarify docs-writer skill - metadata. by @g-samroberts in - [#18234](https://github.com/google-gemini/gemini-cli/pull/18234) -- feat(core): add `enter_plan_mode` tool by @jerop in - [#18324](https://github.com/google-gemini/gemini-cli/pull/18324) -- Stop showing an error message in `/plan` by @Adib234 in - [#18333](https://github.com/google-gemini/gemini-cli/pull/18333) -- fix(hooks): remove unnecessary logging for hook registration by @abhipatel12 - in [#18332](https://github.com/google-gemini/gemini-cli/pull/18332) -- fix(mcp): ensure MCP transport is closed to prevent memory leaks by - @cbcoutinho in - [#18054](https://github.com/google-gemini/gemini-cli/pull/18054) -- feat(skills): implement linking for agent skills by @MushuEE in - [#18295](https://github.com/google-gemini/gemini-cli/pull/18295) -- Changelogs for 0.27.0 and 0.28.0-preview0 by @g-samroberts in - [#18336](https://github.com/google-gemini/gemini-cli/pull/18336) -- chore: correct docs as skills and hooks are stable by @jackwotherspoon in - [#18358](https://github.com/google-gemini/gemini-cli/pull/18358) -- feat(admin): Implement admin allowlist for MCP server configurations by - @skeshive in [#18311](https://github.com/google-gemini/gemini-cli/pull/18311) -- fix(core): add retry logic for transient SSL/TLS errors (#17318) by @ppgranger - in [#18310](https://github.com/google-gemini/gemini-cli/pull/18310) -- Add support for /extensions config command by @chrstnb in - [#17895](https://github.com/google-gemini/gemini-cli/pull/17895) -- fix(core): handle non-compliant mcpbridge responses from Xcode 26.3 by - @peterfriese in - [#18376](https://github.com/google-gemini/gemini-cli/pull/18376) -- feat(cli): Add W, B, E Vim motions and operator support by @ademuri in - [#16209](https://github.com/google-gemini/gemini-cli/pull/16209) -- fix: Windows Specific Agent Quality & System Prompt by @scidomino in - [#18351](https://github.com/google-gemini/gemini-cli/pull/18351) -- feat(plan): support `replace` tool in plan mode to edit plans by @jerop in - [#18379](https://github.com/google-gemini/gemini-cli/pull/18379) -- Improving memory tool instructions and eval testing by @alisa-alisa in - [#18091](https://github.com/google-gemini/gemini-cli/pull/18091) -- fix(cli): color extension link success message green by @MushuEE in - [#18386](https://github.com/google-gemini/gemini-cli/pull/18386) -- undo by @jacob314 in - [#18147](https://github.com/google-gemini/gemini-cli/pull/18147) -- feat(plan): add guidance on iterating on approved plans vs creating new plans - by @jerop in [#18346](https://github.com/google-gemini/gemini-cli/pull/18346) -- feat(plan): fix invalid tool calls in plan mode by @Adib234 in - [#18352](https://github.com/google-gemini/gemini-cli/pull/18352) -- feat(plan): integrate planning artifacts and tools into primary workflows by - @jerop in [#18375](https://github.com/google-gemini/gemini-cli/pull/18375) -- Fix permission check by @scidomino in - [#18395](https://github.com/google-gemini/gemini-cli/pull/18395) -- ux(polish) autocomplete in the input prompt by @jacob314 in - [#18181](https://github.com/google-gemini/gemini-cli/pull/18181) -- fix: resolve infinite loop when using 'Modify with external editor' by - @ppgranger in [#17453](https://github.com/google-gemini/gemini-cli/pull/17453) -- feat: expand verify-release to macOS and Windows by @yunaseoul in - [#18145](https://github.com/google-gemini/gemini-cli/pull/18145) -- feat(plan): implement support for MCP servers in Plan mode by @Adib234 in - [#18229](https://github.com/google-gemini/gemini-cli/pull/18229) -- chore: update folder trust error messaging by @galz10 in - [#18402](https://github.com/google-gemini/gemini-cli/pull/18402) -- feat(plan): create a metric for execution of plans generated in plan mode by - @Adib234 in [#18236](https://github.com/google-gemini/gemini-cli/pull/18236) -- perf(ui): optimize stripUnsafeCharacters with regex by @gsquared94 in - [#18413](https://github.com/google-gemini/gemini-cli/pull/18413) -- feat(context): implement observation masking for tool outputs by @abhipatel12 - in [#18389](https://github.com/google-gemini/gemini-cli/pull/18389) -- feat(core,cli): implement session-linked tool output storage and cleanup by - @abhipatel12 in - [#18416](https://github.com/google-gemini/gemini-cli/pull/18416) -- Shorten temp directory by @joshualitt in - [#17901](https://github.com/google-gemini/gemini-cli/pull/17901) -- feat(plan): add behavioral evals for plan mode by @jerop in - [#18437](https://github.com/google-gemini/gemini-cli/pull/18437) -- Add extension registry client by @chrstnb in - [#18396](https://github.com/google-gemini/gemini-cli/pull/18396) -- Enable extension config by default by @chrstnb in - [#18447](https://github.com/google-gemini/gemini-cli/pull/18447) -- Automatically generate change logs on release by @g-samroberts in - [#18401](https://github.com/google-gemini/gemini-cli/pull/18401) -- Remove previewFeatures and default to Gemini 3 by @sehoon38 in - [#18414](https://github.com/google-gemini/gemini-cli/pull/18414) -- feat(admin): apply MCP allowlist to extensions & gemini mcp list command by - @skeshive in [#18442](https://github.com/google-gemini/gemini-cli/pull/18442) -- fix(cli): improve focus navigation for interactive and background shells by - @galz10 in [#18343](https://github.com/google-gemini/gemini-cli/pull/18343) -- Add shortcuts hint and panel for discoverability by @LyalinDotCom in - [#18035](https://github.com/google-gemini/gemini-cli/pull/18035) -- fix(config): treat system settings as read-only during migration and warn user - by @spencer426 in - [#18277](https://github.com/google-gemini/gemini-cli/pull/18277) -- feat(plan): add positive test case and update eval stability policy by @jerop - in [#18457](https://github.com/google-gemini/gemini-cli/pull/18457) -- fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by - @zackoch in [#18408](https://github.com/google-gemini/gemini-cli/pull/18408) -- bug(core): Fix bug when saving plans. by @joshualitt in - [#18465](https://github.com/google-gemini/gemini-cli/pull/18465) -- Refactor atCommandProcessor by @scidomino in - [#18461](https://github.com/google-gemini/gemini-cli/pull/18461) -- feat(core): implement persistence and resumption for masked tool outputs by - @abhipatel12 in - [#18451](https://github.com/google-gemini/gemini-cli/pull/18451) -- refactor: simplify tool output truncation to single config by @SandyTao520 in - [#18446](https://github.com/google-gemini/gemini-cli/pull/18446) -- bug(core): Ensure storage is initialized early, even if config is not. by - @joshualitt in - [#18471](https://github.com/google-gemini/gemini-cli/pull/18471) -- chore: Update build-and-start script to support argument forwarding by - @Abhijit-2592 in - [#18241](https://github.com/google-gemini/gemini-cli/pull/18241) -- fix(core): prevent subagent bypass in plan mode by @jerop in - [#18484](https://github.com/google-gemini/gemini-cli/pull/18484) -- feat(cli): add WebSocket-based network logging and streaming chunk support by - @SandyTao520 in - [#18383](https://github.com/google-gemini/gemini-cli/pull/18383) -- feat(cli): update approval modes UI by @jerop in - [#18476](https://github.com/google-gemini/gemini-cli/pull/18476) -- fix(cli): reload skills and agents on extension restart by @NTaylorMullen in - [#18411](https://github.com/google-gemini/gemini-cli/pull/18411) -- fix(core): expand excludeTools with legacy aliases for renamed tools by - @SandyTao520 in - [#18498](https://github.com/google-gemini/gemini-cli/pull/18498) -- feat(core): overhaul system prompt for rigor, integrity, and intent alignment - by @NTaylorMullen in - [#17263](https://github.com/google-gemini/gemini-cli/pull/17263) -- Patch for generate changelog docs yaml file by @g-samroberts in - [#18496](https://github.com/google-gemini/gemini-cli/pull/18496) -- Code review fixes for show question mark pr. by @jacob314 in - [#18480](https://github.com/google-gemini/gemini-cli/pull/18480) -- fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in - [#18187](https://github.com/google-gemini/gemini-cli/pull/18187) -- chore: remove redundant planning prompt from final shell by @jerop in - [#18528](https://github.com/google-gemini/gemini-cli/pull/18528) -- docs: require pr-creator skill for PR generation by @NTaylorMullen in - [#18536](https://github.com/google-gemini/gemini-cli/pull/18536) -- chore: update colors for ask_user dialog by @jackwotherspoon in - [#18543](https://github.com/google-gemini/gemini-cli/pull/18543) -- feat(core): exempt high-signal tools from output masking by @abhipatel12 in - [#18545](https://github.com/google-gemini/gemini-cli/pull/18545) -- refactor(core): remove memory tool instructions from Gemini 3 prompt by - @NTaylorMullen in - [#18559](https://github.com/google-gemini/gemini-cli/pull/18559) -- chore: remove feedback instruction from system prompt by @NTaylorMullen in - [#18560](https://github.com/google-gemini/gemini-cli/pull/18560) -- feat(context): add remote configuration for tool output masking thresholds by - @abhipatel12 in - [#18553](https://github.com/google-gemini/gemini-cli/pull/18553) -- feat(core): pause agent timeout budget while waiting for tool confirmation by - @abhipatel12 in - [#18415](https://github.com/google-gemini/gemini-cli/pull/18415) -- refactor(config): remove experimental.enableEventDrivenScheduler setting by - @abhipatel12 in - [#17924](https://github.com/google-gemini/gemini-cli/pull/17924) -- feat(cli): truncate shell output in UI history and improve active shell - display by @jwhelangoog in - [#17438](https://github.com/google-gemini/gemini-cli/pull/17438) -- refactor(cli): switch useToolScheduler to event-driven engine by @abhipatel12 - in [#18565](https://github.com/google-gemini/gemini-cli/pull/18565) -- fix(core): correct escaped interpolation in system prompt by @NTaylorMullen in - [#18557](https://github.com/google-gemini/gemini-cli/pull/18557) -- propagate abortSignal by @scidomino in - [#18477](https://github.com/google-gemini/gemini-cli/pull/18477) -- feat(core): conditionally include ctrl+f prompt based on interactive shell - setting by @NTaylorMullen in - [#18561](https://github.com/google-gemini/gemini-cli/pull/18561) -- fix(core): ensure `enter_plan_mode` tool registration respects - `experimental.plan` by @jerop in - [#18587](https://github.com/google-gemini/gemini-cli/pull/18587) -- feat(core): transition sub-agents to XML format and improve definitions by - @NTaylorMullen in - [#18555](https://github.com/google-gemini/gemini-cli/pull/18555) -- docs: Add Plan Mode documentation by @jerop in - [#18582](https://github.com/google-gemini/gemini-cli/pull/18582) -- chore: strengthen validation guidance in system prompt by @NTaylorMullen in - [#18544](https://github.com/google-gemini/gemini-cli/pull/18544) -- Fix newline insertion bug in replace tool by @werdnum in - [#18595](https://github.com/google-gemini/gemini-cli/pull/18595) -- fix(evals): update save_memory evals and simplify tool description by - @NTaylorMullen in - [#18610](https://github.com/google-gemini/gemini-cli/pull/18610) -- chore(evals): update validation_fidelity_pre_existing_errors to USUALLY_PASSES - by @NTaylorMullen in - [#18617](https://github.com/google-gemini/gemini-cli/pull/18617) -- fix: shorten tool call IDs and fix duplicate tool name in truncated output - filenames by @SandyTao520 in - [#18600](https://github.com/google-gemini/gemini-cli/pull/18600) -- feat(cli): implement atomic writes and safety checks for trusted folders by - @galz10 in [#18406](https://github.com/google-gemini/gemini-cli/pull/18406) -- Remove relative docs links by @chrstnb in - [#18650](https://github.com/google-gemini/gemini-cli/pull/18650) -- docs: add legacy snippets convention to GEMINI.md by @NTaylorMullen in - [#18597](https://github.com/google-gemini/gemini-cli/pull/18597) -- fix(chore): Support linting for cjs by @aswinashok44 in - [#18639](https://github.com/google-gemini/gemini-cli/pull/18639) -- feat: move shell efficiency guidelines to tool description by @NTaylorMullen - in [#18614](https://github.com/google-gemini/gemini-cli/pull/18614) -- Added "" as default value, since getText() used to expect a string only and - thus crashed when undefined... Fixes #18076 by @019-Abhi in - [#18099](https://github.com/google-gemini/gemini-cli/pull/18099) -- Allow @-includes outside of workspaces (with permission) by @scidomino in - [#18470](https://github.com/google-gemini/gemini-cli/pull/18470) -- chore: make `ask_user` header description more clear by @jackwotherspoon in - [#18657](https://github.com/google-gemini/gemini-cli/pull/18657) -- refactor(core): model-dependent tool definitions by @aishaneeshah in - [#18563](https://github.com/google-gemini/gemini-cli/pull/18563) -- Harded code assist converter. by @jacob314 in - [#18656](https://github.com/google-gemini/gemini-cli/pull/18656) -- bug(core): Fix minor bug in migration logic. by @joshualitt in - [#18661](https://github.com/google-gemini/gemini-cli/pull/18661) -- feat: enable plan mode experiment in settings by @jerop in - [#18636](https://github.com/google-gemini/gemini-cli/pull/18636) -- refactor: push isValidPath() into parsePastedPaths() by @scidomino in - [#18664](https://github.com/google-gemini/gemini-cli/pull/18664) -- fix(cli): correct 'esc to cancel' position and restore duration display by - @NTaylorMullen in - [#18534](https://github.com/google-gemini/gemini-cli/pull/18534) -- feat(cli): add DevTools integration with gemini-cli-devtools by @SandyTao520 - in [#18648](https://github.com/google-gemini/gemini-cli/pull/18648) -- chore: remove unused exports and redundant hook files by @SandyTao520 in - [#18681](https://github.com/google-gemini/gemini-cli/pull/18681) -- Fix number of lines being reported in rewind confirmation dialog by @Adib234 - in [#18675](https://github.com/google-gemini/gemini-cli/pull/18675) -- feat(cli): disable folder trust in headless mode by @galz10 in - [#18407](https://github.com/google-gemini/gemini-cli/pull/18407) -- Disallow unsafe type assertions by @gundermanc in - [#18688](https://github.com/google-gemini/gemini-cli/pull/18688) -- Change event type for release by @g-samroberts in - [#18693](https://github.com/google-gemini/gemini-cli/pull/18693) -- feat: handle multiple dynamic context filenames in system prompt by - @NTaylorMullen in - [#18598](https://github.com/google-gemini/gemini-cli/pull/18598) -- Properly parse at-commands with narrow non-breaking spaces by @scidomino in - [#18677](https://github.com/google-gemini/gemini-cli/pull/18677) -- refactor(core): centralize core tool definitions and support model-specific - schemas by @aishaneeshah in - [#18662](https://github.com/google-gemini/gemini-cli/pull/18662) -- feat(core): Render memory hierarchically in context. by @joshualitt in - [#18350](https://github.com/google-gemini/gemini-cli/pull/18350) -- feat: Ctrl+O to expand paste placeholder by @jackwotherspoon in - [#18103](https://github.com/google-gemini/gemini-cli/pull/18103) -- fix(cli): Improve header spacing by @NTaylorMullen in - [#18531](https://github.com/google-gemini/gemini-cli/pull/18531) -- Feature/quota visibility 16795 by @spencer426 in - [#18203](https://github.com/google-gemini/gemini-cli/pull/18203) -- Inline thinking bubbles with summary/full modes by @LyalinDotCom in - [#18033](https://github.com/google-gemini/gemini-cli/pull/18033) -- docs: remove TOC marker from Plan Mode header by @jerop in - [#18678](https://github.com/google-gemini/gemini-cli/pull/18678) -- fix(ui): remove redundant newlines in Gemini messages by @NTaylorMullen in - [#18538](https://github.com/google-gemini/gemini-cli/pull/18538) -- test(cli): fix AppContainer act() warnings and improve waitFor resilience by - @NTaylorMullen in - [#18676](https://github.com/google-gemini/gemini-cli/pull/18676) -- refactor(core): refine Security & System Integrity section in system prompt by - @NTaylorMullen in - [#18601](https://github.com/google-gemini/gemini-cli/pull/18601) -- Fix layout rounding. by @gundermanc in - [#18667](https://github.com/google-gemini/gemini-cli/pull/18667) -- docs(skills): enhance pr-creator safety and interactivity by @NTaylorMullen in - [#18616](https://github.com/google-gemini/gemini-cli/pull/18616) -- test(core): remove hardcoded model from TestRig by @NTaylorMullen in - [#18710](https://github.com/google-gemini/gemini-cli/pull/18710) -- feat(core): optimize sub-agents system prompt intro by @NTaylorMullen in - [#18608](https://github.com/google-gemini/gemini-cli/pull/18608) -- feat(cli): update approval mode labels and shortcuts per latest UX spec by - @jerop in [#18698](https://github.com/google-gemini/gemini-cli/pull/18698) -- fix(plan): update persistent approval mode setting by @Adib234 in - [#18638](https://github.com/google-gemini/gemini-cli/pull/18638) -- fix: move toasts location to left side by @jackwotherspoon in - [#18705](https://github.com/google-gemini/gemini-cli/pull/18705) -- feat(routing): restrict numerical routing to Gemini 3 family by @mattKorwel in - [#18478](https://github.com/google-gemini/gemini-cli/pull/18478) -- fix(ide): fix ide nudge setting by @skeshive in - [#18733](https://github.com/google-gemini/gemini-cli/pull/18733) -- fix(core): standardize tool formatting in system prompts by @NTaylorMullen in - [#18615](https://github.com/google-gemini/gemini-cli/pull/18615) -- chore: consolidate to green in ask user dialog by @jackwotherspoon in - [#18734](https://github.com/google-gemini/gemini-cli/pull/18734) -- feat: add `extensionsExplore` setting to enable extensions explore UI. by - @sripasg in [#18686](https://github.com/google-gemini/gemini-cli/pull/18686) -- feat(cli): defer devtools startup and integrate with F12 by @SandyTao520 in - [#18695](https://github.com/google-gemini/gemini-cli/pull/18695) -- ui: update & subdue footer colors and animate progress indicator by - @keithguerin in - [#18570](https://github.com/google-gemini/gemini-cli/pull/18570) -- test: add model-specific snapshots for coreTools by @aishaneeshah in - [#18707](https://github.com/google-gemini/gemini-cli/pull/18707) -- ci: shard windows tests and fix event listener leaks by @NTaylorMullen in - [#18670](https://github.com/google-gemini/gemini-cli/pull/18670) -- fix: allow `ask_user` tool in yolo mode by @jackwotherspoon in - [#18541](https://github.com/google-gemini/gemini-cli/pull/18541) -- feat: redact disabled tools from system prompt (#13597) by @NTaylorMullen in - [#18613](https://github.com/google-gemini/gemini-cli/pull/18613) -- Update Gemini.md to use the curent year on creating new files by @sehoon38 in - [#18460](https://github.com/google-gemini/gemini-cli/pull/18460) -- Code review cleanup for thinking display by @jacob314 in - [#18720](https://github.com/google-gemini/gemini-cli/pull/18720) -- fix(cli): hide scrollbars when in alternate buffer copy mode by @werdnum in - [#18354](https://github.com/google-gemini/gemini-cli/pull/18354) -- Fix issues with rip grep by @gundermanc in - [#18756](https://github.com/google-gemini/gemini-cli/pull/18756) -- fix(cli): fix history navigation regression after prompt autocomplete by - @sehoon38 in [#18752](https://github.com/google-gemini/gemini-cli/pull/18752) -- chore: cleanup unused and add unlisted dependencies in packages/cli by + [#18772](https://github.com/google-gemini/gemini-cli/pull/18772) +- chore: cleanup unused and add unlisted dependencies in packages/core by @adamfweidman in - [#18749](https://github.com/google-gemini/gemini-cli/pull/18749) -- Fix issue where Gemini CLI creates tests in a new file by @gundermanc in - [#18409](https://github.com/google-gemini/gemini-cli/pull/18409) -- feat(telemetry): Ensure experiment IDs are included in OpenTelemetry logs by + [#18762](https://github.com/google-gemini/gemini-cli/pull/18762) +- chore(core): update activate_skill prompt verbiage to be more direct by + @NTaylorMullen in + [#18605](https://github.com/google-gemini/gemini-cli/pull/18605) +- Add autoconfigure memory usage setting to the dialog by @jacob314 in + [#18510](https://github.com/google-gemini/gemini-cli/pull/18510) +- fix(core): prevent race condition in policy persistence by @braddux in + [#18506](https://github.com/google-gemini/gemini-cli/pull/18506) +- fix(evals): prevent false positive in hierarchical memory test by + @Abhijit-2592 in + [#18777](https://github.com/google-gemini/gemini-cli/pull/18777) +- test(evals): mark all `save_memory` evals as `USUALLY_PASSES` due to + unreliability by @jerop in + [#18786](https://github.com/google-gemini/gemini-cli/pull/18786) +- feat(cli): add setting to hide shortcuts hint UI by @LyalinDotCom in + [#18562](https://github.com/google-gemini/gemini-cli/pull/18562) +- feat(core): formalize 5-phase sequential planning workflow by @jerop in + [#18759](https://github.com/google-gemini/gemini-cli/pull/18759) +- Introduce limits for search results. by @gundermanc in + [#18767](https://github.com/google-gemini/gemini-cli/pull/18767) +- fix(cli): allow closing debug console after auto-open via flicker by + @SandyTao520 in + [#18795](https://github.com/google-gemini/gemini-cli/pull/18795) +- feat(masking): enable tool output masking by default by @abhipatel12 in + [#18564](https://github.com/google-gemini/gemini-cli/pull/18564) +- perf(ui): optimize table rendering by memoizing styled characters by @devr0306 + in [#18770](https://github.com/google-gemini/gemini-cli/pull/18770) +- feat: multi-line text answers in ask-user tool by @jackwotherspoon in + [#18741](https://github.com/google-gemini/gemini-cli/pull/18741) +- perf(cli): truncate large debug logs and limit message history by @mattKorwel + in [#18663](https://github.com/google-gemini/gemini-cli/pull/18663) +- fix(core): complete MCP discovery when configured servers are skipped by + @LyalinDotCom in + [#18586](https://github.com/google-gemini/gemini-cli/pull/18586) +- fix(core): cache CLI version to ensure consistency during sessions by + @sehoon38 in [#18793](https://github.com/google-gemini/gemini-cli/pull/18793) +- fix(cli): resolve double rendering in shpool and address vscode lint warnings + by @braddux in + [#18704](https://github.com/google-gemini/gemini-cli/pull/18704) +- feat(plan): document and validate Plan Mode policy overrides by @jerop in + [#18825](https://github.com/google-gemini/gemini-cli/pull/18825) +- Fix pressing any key to exit select mode. by @jacob314 in + [#18421](https://github.com/google-gemini/gemini-cli/pull/18421) +- fix(cli): update F12 behavior to only open drawer if browser fails by + @SandyTao520 in + [#18829](https://github.com/google-gemini/gemini-cli/pull/18829) +- feat(plan): allow skills to be enabled in plan mode by @Adib234 in + [#18817](https://github.com/google-gemini/gemini-cli/pull/18817) +- docs(plan): add documentation for plan mode tools by @jerop in + [#18827](https://github.com/google-gemini/gemini-cli/pull/18827) +- Remove experimental note in extension settings docs by @chrstnb in + [#18822](https://github.com/google-gemini/gemini-cli/pull/18822) +- Update prompt and grep tool definition to limit context size by @gundermanc in + [#18780](https://github.com/google-gemini/gemini-cli/pull/18780) +- docs(plan): add `ask_user` tool documentation by @jerop in + [#18830](https://github.com/google-gemini/gemini-cli/pull/18830) +- Revert unintended credentials exposure by @Adib234 in + [#18840](https://github.com/google-gemini/gemini-cli/pull/18840) +- feat(core): update internal utility models to Gemini 3 by @SandyTao520 in + [#18773](https://github.com/google-gemini/gemini-cli/pull/18773) +- feat(a2a): add value-resolver for auth credential resolution by @adamfweidman + in [#18653](https://github.com/google-gemini/gemini-cli/pull/18653) +- Removed getPlainTextLength by @devr0306 in + [#18848](https://github.com/google-gemini/gemini-cli/pull/18848) +- More grep prompt tweaks by @gundermanc in + [#18846](https://github.com/google-gemini/gemini-cli/pull/18846) +- refactor(cli): Reactive useSettingsStore hook by @psinha40898 in + [#14915](https://github.com/google-gemini/gemini-cli/pull/14915) +- fix(mcp): Ensure that stdio MCP server execution has the `GEMINI_CLI=1` env + variable populated. by @richieforeman in + [#18832](https://github.com/google-gemini/gemini-cli/pull/18832) +- fix(core): improve headless mode detection for flags and query args by @galz10 + in [#18855](https://github.com/google-gemini/gemini-cli/pull/18855) +- refactor(cli): simplify UI and remove legacy inline tool confirmation logic by + @abhipatel12 in + [#18566](https://github.com/google-gemini/gemini-cli/pull/18566) +- feat(cli): deprecate --allowed-tools and excludeTools in favor of policy + engine by @Abhijit-2592 in + [#18508](https://github.com/google-gemini/gemini-cli/pull/18508) +- fix(workflows): improve maintainer detection for automated PR actions by + @bdmorgan in [#18869](https://github.com/google-gemini/gemini-cli/pull/18869) +- refactor(cli): consolidate useToolScheduler and delete legacy implementation + by @abhipatel12 in + [#18567](https://github.com/google-gemini/gemini-cli/pull/18567) +- Update changelog for v0.28.0 and v0.29.0-preview0 by @g-samroberts in + [#18819](https://github.com/google-gemini/gemini-cli/pull/18819) +- fix(core): ensure sub-agents are registered regardless of tools.allowed by + @mattKorwel in + [#18870](https://github.com/google-gemini/gemini-cli/pull/18870) +- Show notification when there's a conflict with an extensions command by + @chrstnb in [#17890](https://github.com/google-gemini/gemini-cli/pull/17890) +- fix(cli): dismiss '?' shortcuts help on hotkeys and active states by + @LyalinDotCom in + [#18583](https://github.com/google-gemini/gemini-cli/pull/18583) +- fix(core): prioritize conditional policy rules and harden Plan Mode by + @Abhijit-2592 in + [#18882](https://github.com/google-gemini/gemini-cli/pull/18882) +- feat(core): refine Plan Mode system prompt for agentic execution by + @NTaylorMullen in + [#18799](https://github.com/google-gemini/gemini-cli/pull/18799) +- feat(plan): create metrics for usage of `AskUser` tool by @Adib234 in + [#18820](https://github.com/google-gemini/gemini-cli/pull/18820) +- feat(cli): support Ctrl-Z suspension by @scidomino in + [#18931](https://github.com/google-gemini/gemini-cli/pull/18931) +- fix(github-actions): use robot PAT for release creation to trigger release + notes by @SandyTao520 in + [#18794](https://github.com/google-gemini/gemini-cli/pull/18794) +- feat: add strict seatbelt profiles and remove unusable closed profiles by + @SandyTao520 in + [#18876](https://github.com/google-gemini/gemini-cli/pull/18876) +- chore: cleanup unused and add unlisted dependencies in packages/a2a-server by + @adamfweidman in + [#18916](https://github.com/google-gemini/gemini-cli/pull/18916) +- fix(plan): isolate plan files per session by @Adib234 in + [#18757](https://github.com/google-gemini/gemini-cli/pull/18757) +- fix: character truncation in raw markdown mode by @jackwotherspoon in + [#18938](https://github.com/google-gemini/gemini-cli/pull/18938) +- feat(cli): prototype clean UI toggle and minimal-mode bleed-through by + @LyalinDotCom in + [#18683](https://github.com/google-gemini/gemini-cli/pull/18683) +- ui(polish) blend background color with theme by @jacob314 in + [#18802](https://github.com/google-gemini/gemini-cli/pull/18802) +- Add generic searchable list to back settings and extensions by @chrstnb in + [#18838](https://github.com/google-gemini/gemini-cli/pull/18838) +- feat(ui): align `AskUser` color scheme with UX spec by @jerop in + [#18943](https://github.com/google-gemini/gemini-cli/pull/18943) +- Hide AskUser tool validation errors from UI (agent self-corrects) by @jerop in + [#18954](https://github.com/google-gemini/gemini-cli/pull/18954) +- bug(cli) fix flicker due to AppContainer continuous initialization by + @jacob314 in [#18958](https://github.com/google-gemini/gemini-cli/pull/18958) +- feat(admin): Add admin controls documentation by @skeshive in + [#18644](https://github.com/google-gemini/gemini-cli/pull/18644) +- feat(cli): disable ctrl-s shortcut outside of alternate buffer mode by + @jacob314 in [#18887](https://github.com/google-gemini/gemini-cli/pull/18887) +- fix(vim): vim support that feels (more) complete by @ppgranger in + [#18755](https://github.com/google-gemini/gemini-cli/pull/18755) +- feat(policy): add --policy flag for user defined policies by @allenhutchison + in [#18500](https://github.com/google-gemini/gemini-cli/pull/18500) +- Update installation guide by @g-samroberts in + [#18823](https://github.com/google-gemini/gemini-cli/pull/18823) +- refactor(core): centralize tool definitions (Group 1: replace, search, grep) + by @aishaneeshah in + [#18944](https://github.com/google-gemini/gemini-cli/pull/18944) +- refactor(cli): finalize event-driven transition and remove interaction bridge + by @abhipatel12 in + [#18569](https://github.com/google-gemini/gemini-cli/pull/18569) +- Fix drag and drop escaping by @scidomino in + [#18965](https://github.com/google-gemini/gemini-cli/pull/18965) +- feat(sdk): initial package bootstrap for SDK by @mbleigh in + [#18861](https://github.com/google-gemini/gemini-cli/pull/18861) +- feat(sdk): implements SessionContext for SDK tool calls by @mbleigh in + [#18862](https://github.com/google-gemini/gemini-cli/pull/18862) +- fix(plan): make question type required in AskUser tool by @Adib234 in + [#18959](https://github.com/google-gemini/gemini-cli/pull/18959) +- fix(core): ensure --yolo does not force headless mode by @NTaylorMullen in + [#18976](https://github.com/google-gemini/gemini-cli/pull/18976) +- refactor(core): adopt `CoreToolCallStatus` enum for type safety by @jerop in + [#18998](https://github.com/google-gemini/gemini-cli/pull/18998) +- Enable in-CLI extension management commands for team by @chrstnb in + [#18957](https://github.com/google-gemini/gemini-cli/pull/18957) +- Adjust lint rules to avoid unnecessary warning. by @scidomino in + [#18970](https://github.com/google-gemini/gemini-cli/pull/18970) +- fix(vscode): resolve unsafe type assertion lint errors by @ehedlund in + [#19006](https://github.com/google-gemini/gemini-cli/pull/19006) +- Remove unnecessary eslint config file by @scidomino in + [#19015](https://github.com/google-gemini/gemini-cli/pull/19015) +- fix(core): Prevent loop detection false positives on lists with long shared + prefixes by @SandyTao520 in + [#18975](https://github.com/google-gemini/gemini-cli/pull/18975) +- feat(core): fallback to chat-base when using unrecognized models for chat by + @SandyTao520 in + [#19016](https://github.com/google-gemini/gemini-cli/pull/19016) +- docs: fix inconsistent commandRegex example in policy engine by @NTaylorMullen + in [#19027](https://github.com/google-gemini/gemini-cli/pull/19027) +- fix(plan): persist the approval mode in UI even when agent is thinking by + @Adib234 in [#18955](https://github.com/google-gemini/gemini-cli/pull/18955) +- feat(sdk): Implement dynamic system instructions by @mbleigh in + [#18863](https://github.com/google-gemini/gemini-cli/pull/18863) +- Docs: Refresh docs to organize and standardize reference materials. by + @jkcinouye in [#18403](https://github.com/google-gemini/gemini-cli/pull/18403) +- fix windows escaping (and broken tests) by @scidomino in + [#19011](https://github.com/google-gemini/gemini-cli/pull/19011) +- refactor: use `CoreToolCallStatus` in the the history data model by @jerop in + [#19033](https://github.com/google-gemini/gemini-cli/pull/19033) +- feat(cleanup): enable 30-day session retention by default by @skeshive in + [#18854](https://github.com/google-gemini/gemini-cli/pull/18854) +- feat(plan): hide plan write and edit operations on plans in Plan Mode by + @jerop in [#19012](https://github.com/google-gemini/gemini-cli/pull/19012) +- bug(ui) fix flicker refreshing background color by @jacob314 in + [#19041](https://github.com/google-gemini/gemini-cli/pull/19041) +- chore: fix dep vulnerabilities by @scidomino in + [#19036](https://github.com/google-gemini/gemini-cli/pull/19036) +- Revamp automated changelog skill by @g-samroberts in + [#18974](https://github.com/google-gemini/gemini-cli/pull/18974) +- feat(sdk): implement support for custom skills by @mbleigh in + [#19031](https://github.com/google-gemini/gemini-cli/pull/19031) +- refactor(core): complete centralization of core tool definitions by + @aishaneeshah in + [#18991](https://github.com/google-gemini/gemini-cli/pull/18991) +- feat: add /commands reload to refresh custom TOML commands by @korade-krushna + in [#19078](https://github.com/google-gemini/gemini-cli/pull/19078) +- fix(cli): wrap terminal capability queries in hidden sequence by @srithreepo + in [#19080](https://github.com/google-gemini/gemini-cli/pull/19080) +- fix(workflows): fix GitHub App token permissions for maintainer detection by + @bdmorgan in [#19139](https://github.com/google-gemini/gemini-cli/pull/19139) +- test: fix hook integration test flakiness on Windows CI by @NTaylorMullen in + [#18665](https://github.com/google-gemini/gemini-cli/pull/18665) +- fix(core): Encourage non-interactive flags for scaffolding commands by + @NTaylorMullen in + [#18804](https://github.com/google-gemini/gemini-cli/pull/18804) +- fix(core): propagate User-Agent header to setup-phase CodeAssist API calls by + @gsquared94 in + [#19182](https://github.com/google-gemini/gemini-cli/pull/19182) +- docs: document .agents/skills alias and discovery precedence by @kevmoo in + [#19166](https://github.com/google-gemini/gemini-cli/pull/19166) +- feat(cli): add loading state to new agents notification by @sehoon38 in + [#19190](https://github.com/google-gemini/gemini-cli/pull/19190) +- Add base branch to workflow. by @g-samroberts in + [#19189](https://github.com/google-gemini/gemini-cli/pull/19189) +- feat(cli): handle invalid model names in useQuotaAndFallback by @sehoon38 in + [#19222](https://github.com/google-gemini/gemini-cli/pull/19222) +- docs: custom themes in extensions by @jackwotherspoon in + [#19219](https://github.com/google-gemini/gemini-cli/pull/19219) +- Disable workspace settings when starting GCLI in the home directory. by + @kevinjwang1 in + [#19034](https://github.com/google-gemini/gemini-cli/pull/19034) +- feat(cli): refactor model command to support set and manage subcommands by + @sehoon38 in [#19221](https://github.com/google-gemini/gemini-cli/pull/19221) +- Add refresh/reload aliases to slash command subcommands by @korade-krushna in + [#19218](https://github.com/google-gemini/gemini-cli/pull/19218) +- refactor: consolidate development rules and add cli guidelines by @jacob314 in + [#19214](https://github.com/google-gemini/gemini-cli/pull/19214) +- chore(ui): remove outdated tip about model routing by @sehoon38 in + [#19226](https://github.com/google-gemini/gemini-cli/pull/19226) +- feat(core): support custom reasoning models by default by @NTaylorMullen in + [#19227](https://github.com/google-gemini/gemini-cli/pull/19227) +- Add Solarized Dark and Solarized Light themes by @rmedranollamas in + [#19064](https://github.com/google-gemini/gemini-cli/pull/19064) +- fix(telemetry): replace JSON.stringify with safeJsonStringify in file + exporters by @gsquared94 in + [#19244](https://github.com/google-gemini/gemini-cli/pull/19244) +- feat(telemetry): add keychain availability and token storage metrics by + @abhipatel12 in + [#18971](https://github.com/google-gemini/gemini-cli/pull/18971) +- feat(cli): update approval mode cycle order by @jerop in + [#19254](https://github.com/google-gemini/gemini-cli/pull/19254) +- refactor(cli): code review cleanup fix for tab+tab by @jacob314 in + [#18967](https://github.com/google-gemini/gemini-cli/pull/18967) +- feat(plan): support project exploration without planning when in plan mode by + @Adib234 in [#18992](https://github.com/google-gemini/gemini-cli/pull/18992) +- feat: add role-specific statistics to telemetry and UI (cont. #15234) by + @yunaseoul in [#18824](https://github.com/google-gemini/gemini-cli/pull/18824) +- feat(cli): remove Plan Mode from rotation when actively working by @jerop in + [#19262](https://github.com/google-gemini/gemini-cli/pull/19262) +- Fix side breakage where anchors don't work in slugs. by @g-samroberts in + [#19261](https://github.com/google-gemini/gemini-cli/pull/19261) +- feat(config): add setting to make directory tree context configurable by @kevin-ramdass in - [#18747](https://github.com/google-gemini/gemini-cli/pull/18747) -- fix(patch): cherry-pick e9a9474 to release/v0.29.0-preview.0-pr-18840 to patch - version v0.29.0-preview.0 and create version 0.29.0-preview.1 by + [#19053](https://github.com/google-gemini/gemini-cli/pull/19053) +- fix(acp): Wait for mcp initialization in acp (#18893) by @Mervap in + [#18894](https://github.com/google-gemini/gemini-cli/pull/18894) +- docs: format UTC times in releases doc by @pavan-sh in + [#18169](https://github.com/google-gemini/gemini-cli/pull/18169) +- Docs: Clarify extensions documentation. by @jkcinouye in + [#19277](https://github.com/google-gemini/gemini-cli/pull/19277) +- refactor(core): modularize tool definitions by model family by @aishaneeshah + in [#19269](https://github.com/google-gemini/gemini-cli/pull/19269) +- fix(paths): Add cross-platform path normalization by @spencer426 in + [#18939](https://github.com/google-gemini/gemini-cli/pull/18939) +- feat(core): experimental in-progress steering hints (1 of 3) by @joshualitt in + [#19008](https://github.com/google-gemini/gemini-cli/pull/19008) +- fix(patch): cherry-pick 261788c to release/v0.30.0-preview.0-pr-19453 to patch + version v0.30.0-preview.0 and create version 0.30.0-preview.1 by @gemini-cli-robot in - [#18841](https://github.com/google-gemini/gemini-cli/pull/18841) -- fix(patch): cherry-pick 08e8eea to release/v0.29.0-preview.1-pr-18855 to patch - version v0.29.0-preview.1 and create version 0.29.0-preview.2 by + [#19490](https://github.com/google-gemini/gemini-cli/pull/19490) +- fix(patch): cherry-pick c43500c to release/v0.30.0-preview.1-pr-19502 to patch + version v0.30.0-preview.1 and create version 0.30.0-preview.2 by @gemini-cli-robot in - [#18905](https://github.com/google-gemini/gemini-cli/pull/18905) -- fix(patch): cherry-pick d0c6a56 to release/v0.29.0-preview.2-pr-18976 to patch - version v0.29.0-preview.2 and create version 0.29.0-preview.3 by + [#19521](https://github.com/google-gemini/gemini-cli/pull/19521) +- fix(patch): cherry-pick aa9163d to release/v0.30.0-preview.3-pr-19991 to patch + version v0.30.0-preview.3 and create version 0.30.0-preview.4 by @gemini-cli-robot in - [#19023](https://github.com/google-gemini/gemini-cli/pull/19023) -- fix(patch): cherry-pick e5ff202 to release/v0.29.0-preview.3-pr-19254 to patch - version v0.29.0-preview.3 and create version 0.29.0-preview.4 by + [#20040](https://github.com/google-gemini/gemini-cli/pull/20040) +- fix(patch): cherry-pick 2c1d6f8 to release/v0.30.0-preview.4-pr-19369 to patch + version v0.30.0-preview.4 and create version 0.30.0-preview.5 by @gemini-cli-robot in - [#19264](https://github.com/google-gemini/gemini-cli/pull/19264) -- fix(patch): cherry-pick 9590a09 to release/v0.29.0-preview.4-pr-18771 to patch - version v0.29.0-preview.4 and create version 0.29.0-preview.5 by + [#20086](https://github.com/google-gemini/gemini-cli/pull/20086) +- fix(patch): cherry-pick d96bd05 to release/v0.30.0-preview.5-pr-19867 to patch + version v0.30.0-preview.5 and create version 0.30.0-preview.6 by @gemini-cli-robot in - [#19274](https://github.com/google-gemini/gemini-cli/pull/19274) + [#20112](https://github.com/google-gemini/gemini-cli/pull/20112) **Full Changelog**: -https://github.com/google-gemini/gemini-cli/compare/v0.28.2...v0.29.0 +https://github.com/google-gemini/gemini-cli/compare/v0.29.7...v0.30.0