Changelog for v0.30.0-preview.0 (#19364)

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