Changelog for v0.29.0 (#19361)

Co-authored-by: g-samroberts <158088236+g-samroberts@users.noreply.github.com>
This commit is contained in:
gemini-cli-robot
2026-02-18 15:30:52 -05:00
committed by GitHub
parent 78de533c48
commit 758d419e33
2 changed files with 379 additions and 294 deletions
+20 -1
View File
@@ -18,7 +18,26 @@ on GitHub.
| [Preview](preview.md) | Experimental features ready for early feedback. | | [Preview](preview.md) | Experimental features ready for early feedback. |
| [Stable](latest.md) | Stable, recommended for general use. | | [Stable](latest.md) | Stable, recommended for general use. |
## Announcements: v0.28.0 - 2026-02-03 ## Announcements: v0.29.0 - 2026-02-17
- **Plan Mode:** A new comprehensive planning capability with `/plan`,
`enter_plan_mode` tool, and dedicated documentation
([#17698](https://github.com/google-gemini/gemini-cli/pull/17698) by @Adib234,
[#18324](https://github.com/google-gemini/gemini-cli/pull/18324) by @jerop).
- **Gemini 3 Default:** We've removed the preview flag and enabled Gemini 3 by
default for all users
([#18414](https://github.com/google-gemini/gemini-cli/pull/18414) by
@sehoon38).
- **Extension Exploration:** New UI and settings to explore and manage
extensions more easily
([#18686](https://github.com/google-gemini/gemini-cli/pull/18686) by
@sripasg).
- **Admin Control:** Administrators can now allowlist specific MCP server
configurations
([#18311](https://github.com/google-gemini/gemini-cli/pull/18311) by
@skeshive).
## Announcements: v0.28.0 - 2026-02-10
- **Slash Command:** We've added a new `/prompt-suggest` slash command to help - **Slash Command:** We've added a new `/prompt-suggest` slash command to help
you generate prompt suggestions you generate prompt suggestions
+359 -293
View File
@@ -1,6 +1,6 @@
# Latest stable release: v0.28.0 # Latest stable release: v0.29.0
Released: February 10, 2026 Released: February 17, 2026
For most users, our latest stable release is the recommended release. Install For most users, our latest stable release is the recommended release. Install
the latest stable version with: the latest stable version with:
@@ -11,305 +11,371 @@ npm install -g @google/gemini-cli
## Highlights ## Highlights
- **Commands & UX Enhancements:** Introduced `/prompt-suggest` command, - **Plan Mode:** Introduce a dedicated "Plan Mode" to help you architect complex
alongside updated undo/redo keybindings and automatic theme switching. changes before implementation. Use `/plan` to get started.
- **Expanded IDE Support:** Now offering compatibility with Positron IDE, - **Gemini 3 by Default:** Gemini 3 is now the default model family, bringing
expanding integration options for developers. improved performance and reasoning capabilities to all users without needing a
- **Enhanced Security & Authentication:** Implemented interactive and feature flag.
non-interactive OAuth consent, improving both security and diagnostic - **Extension Discovery:** Easily discover and install extensions with the new
capabilities for bug reports. exploration features and registry client.
- **Advanced Planning & Agent Tools:** Integrated a generic Checklist component - **Enhanced Admin Controls:** New administrative capabilities allow for
for structured task management and evolved subagent capabilities with dynamic allowlisting MCP server configurations, giving organizations more control over
policy registration. available tools.
- **Improved Core Stability & Reliability:** Resolved critical environment - **Sub-agent Improvements:** Sub-agents have been transitioned to a new format
loading, authentication, and session management issues, ensuring a more robust with improved definitions and system prompts for better reliability.
experience.
- **Background Shell Commands:** Enabled the execution of shell commands in the
background for increased workflow efficiency.
## What's Changed ## What's Changed
- feat(commands): add /prompt-suggest slash command by @NTaylorMullen in - fix: remove `ask_user` tool from non-interactive modes by @jackwotherspoon in
[#17264](https://github.com/google-gemini/gemini-cli/pull/17264) [#18154](https://github.com/google-gemini/gemini-cli/pull/18154)
- feat(cli): align hooks enable/disable with skills and improve completion by - fix(cli): allow restricted .env loading in untrusted sandboxed folders by
@sehoon38 in [#16822](https://github.com/google-gemini/gemini-cli/pull/16822) @galz10 in [#17806](https://github.com/google-gemini/gemini-cli/pull/17806)
- docs: add CLI reference documentation by @leochiu-a in - Encourage agent to utilize ecosystem tools to perform work by @gundermanc in
[#17504](https://github.com/google-gemini/gemini-cli/pull/17504) [#17881](https://github.com/google-gemini/gemini-cli/pull/17881)
- chore(release): bump version to 0.28.0-nightly.20260128.adc8e11bb by - 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
@gemini-cli-robot in @gemini-cli-robot in
[#17725](https://github.com/google-gemini/gemini-cli/pull/17725) [#18243](https://github.com/google-gemini/gemini-cli/pull/18243)
- feat(skills): final stable promotion cleanup by @abhipatel12 in - feat(core): remove hardcoded policy bypass for local subagents by @abhipatel12
[#17726](https://github.com/google-gemini/gemini-cli/pull/17726) in [#18153](https://github.com/google-gemini/gemini-cli/pull/18153)
- test(core): mock fetch in OAuth transport fallback tests by @jw409 in - feat(plan): implement `plan` slash command by @Adib234 in
[#17059](https://github.com/google-gemini/gemini-cli/pull/17059) [#17698](https://github.com/google-gemini/gemini-cli/pull/17698)
- feat(cli): include auth method in /bug by @erikus in - feat: increase `ask_user` label limit to 16 characters by @jackwotherspoon in
[#17569](https://github.com/google-gemini/gemini-cli/pull/17569) [#18320](https://github.com/google-gemini/gemini-cli/pull/18320)
- Add a email privacy note to bug_report template by @nemyung in - Add information about the agent skills lifecycle and clarify docs-writer skill
[#17474](https://github.com/google-gemini/gemini-cli/pull/17474) metadata. by @g-samroberts in
- Rewind documentation by @Adib234 in [#18234](https://github.com/google-gemini/gemini-cli/pull/18234)
[#17446](https://github.com/google-gemini/gemini-cli/pull/17446) - feat(core): add `enter_plan_mode` tool by @jerop in
- fix: verify audio/video MIME types with content check by @maru0804 in [#18324](https://github.com/google-gemini/gemini-cli/pull/18324)
[#16907](https://github.com/google-gemini/gemini-cli/pull/16907) - Stop showing an error message in `/plan` by @Adib234 in
- feat(core): add support for positron ide [#18333](https://github.com/google-gemini/gemini-cli/pull/18333)
([#15045](https://github.com/google-gemini/gemini-cli/pull/15045)) by @kapsner - fix(hooks): remove unnecessary logging for hook registration by @abhipatel12
in [#15047](https://github.com/google-gemini/gemini-cli/pull/15047) in [#18332](https://github.com/google-gemini/gemini-cli/pull/18332)
- /oncall dedup - wrap texts to nextlines by @sehoon38 in - fix(mcp): ensure MCP transport is closed to prevent memory leaks by
[#17782](https://github.com/google-gemini/gemini-cli/pull/17782) @cbcoutinho in
- fix(admin): rename advanced features admin setting by @skeshive in [#18054](https://github.com/google-gemini/gemini-cli/pull/18054)
[#17786](https://github.com/google-gemini/gemini-cli/pull/17786) - feat(skills): implement linking for agent skills by @MushuEE in
- [extension config] Make breaking optional value non-optional by @chrstnb in [#18295](https://github.com/google-gemini/gemini-cli/pull/18295)
[#17785](https://github.com/google-gemini/gemini-cli/pull/17785) - Changelogs for 0.27.0 and 0.28.0-preview0 by @g-samroberts in
- Fix docs-writer skill issues by @g-samroberts in [#18336](https://github.com/google-gemini/gemini-cli/pull/18336)
[#17734](https://github.com/google-gemini/gemini-cli/pull/17734) - chore: correct docs as skills and hooks are stable by @jackwotherspoon in
- fix(core): suppress duplicate hook failure warnings during streaming by [#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 @abhipatel12 in
[#17727](https://github.com/google-gemini/gemini-cli/pull/17727) [#18416](https://github.com/google-gemini/gemini-cli/pull/18416)
- test: add more tests for AskUser by @jackwotherspoon in - Shorten temp directory by @joshualitt in
[#17720](https://github.com/google-gemini/gemini-cli/pull/17720) [#17901](https://github.com/google-gemini/gemini-cli/pull/17901)
- feat(cli): enable activity logging for non-interactive mode and evals by - feat(plan): add behavioral evals for plan mode by @jerop in
@SandyTao520 in [#18437](https://github.com/google-gemini/gemini-cli/pull/18437)
[#17703](https://github.com/google-gemini/gemini-cli/pull/17703) - Add extension registry client by @chrstnb in
- feat(core): add support for custom deny messages in policy rules by [#18396](https://github.com/google-gemini/gemini-cli/pull/18396)
@allenhutchison in - Enable extension config by default by @chrstnb in
[#17427](https://github.com/google-gemini/gemini-cli/pull/17427) [#18447](https://github.com/google-gemini/gemini-cli/pull/18447)
- Fix unintended credential exposure to MCP Servers by @Adib234 in - Automatically generate change logs on release by @g-samroberts in
[#17311](https://github.com/google-gemini/gemini-cli/pull/17311) [#18401](https://github.com/google-gemini/gemini-cli/pull/18401)
- feat(extensions): add support for custom themes in extensions by @spencer426 - Remove previewFeatures and default to Gemini 3 by @sehoon38 in
in [#17327](https://github.com/google-gemini/gemini-cli/pull/17327) [#18414](https://github.com/google-gemini/gemini-cli/pull/18414)
- fix: persist and restore workspace directories on session resume by - feat(admin): apply MCP allowlist to extensions & gemini mcp list command by
@korade-krushna in @skeshive in [#18442](https://github.com/google-gemini/gemini-cli/pull/18442)
[#17454](https://github.com/google-gemini/gemini-cli/pull/17454) - fix(cli): improve focus navigation for interactive and background shells by
- Update release notes pages for 0.26.0 and 0.27.0-preview. by @g-samroberts in @galz10 in [#18343](https://github.com/google-gemini/gemini-cli/pull/18343)
[#17744](https://github.com/google-gemini/gemini-cli/pull/17744) - Add shortcuts hint and panel for discoverability by @LyalinDotCom in
- feat(ux): update cell border color and created test file for table rendering [#18035](https://github.com/google-gemini/gemini-cli/pull/18035)
by @devr0306 in - fix(config): treat system settings as read-only during migration and warn user
[#17798](https://github.com/google-gemini/gemini-cli/pull/17798) by @spencer426 in
- Change height for the ToolConfirmationQueue. by @jacob314 in [#18277](https://github.com/google-gemini/gemini-cli/pull/18277)
[#17799](https://github.com/google-gemini/gemini-cli/pull/17799) - feat(plan): add positive test case and update eval stability policy by @jerop
- feat(cli): add user identity info to stats command by @sehoon38 in in [#18457](https://github.com/google-gemini/gemini-cli/pull/18457)
[#17612](https://github.com/google-gemini/gemini-cli/pull/17612) - fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by
- fix(ux): fixed off-by-some wrapping caused by fixed-width characters by @zackoch in [#18408](https://github.com/google-gemini/gemini-cli/pull/18408)
@devr0306 in [#17816](https://github.com/google-gemini/gemini-cli/pull/17816) - bug(core): Fix bug when saving plans. by @joshualitt in
- feat(cli): update undo/redo keybindings to Cmd+Z/Alt+Z and [#18465](https://github.com/google-gemini/gemini-cli/pull/18465)
Shift+Cmd+Z/Shift+Alt+Z by @scidomino in - Refactor atCommandProcessor by @scidomino in
[#17800](https://github.com/google-gemini/gemini-cli/pull/17800) [#18461](https://github.com/google-gemini/gemini-cli/pull/18461)
- fix(evals): use absolute path for activity log directory by @SandyTao520 in - feat(core): implement persistence and resumption for masked tool outputs by
[#17830](https://github.com/google-gemini/gemini-cli/pull/17830)
- test: add integration test to verify stdout/stderr routing by @ved015 in
[#17280](https://github.com/google-gemini/gemini-cli/pull/17280)
- fix(cli): list installed extensions when update target missing by @tt-a1i in
[#17082](https://github.com/google-gemini/gemini-cli/pull/17082)
- fix(cli): handle PAT tokens and credentials in git remote URL parsing by
@afarber in [#14650](https://github.com/google-gemini/gemini-cli/pull/14650)
- fix(core): use returnDisplay for error result display by @Nubebuster in
[#14994](https://github.com/google-gemini/gemini-cli/pull/14994)
- Fix detection of bun as package manager by @Randomblock1 in
[#17462](https://github.com/google-gemini/gemini-cli/pull/17462)
- feat(cli): show hooksConfig.enabled in settings dialog by @abhipatel12 in
[#17810](https://github.com/google-gemini/gemini-cli/pull/17810)
- feat(cli): Display user identity (auth, email, tier) on startup by @yunaseoul
in [#17591](https://github.com/google-gemini/gemini-cli/pull/17591)
- fix: prevent ghost border for AskUserDialog by @jackwotherspoon in
[#17788](https://github.com/google-gemini/gemini-cli/pull/17788)
- docs: mark A2A subagents as experimental in subagents.md by @adamfweidman in
[#17863](https://github.com/google-gemini/gemini-cli/pull/17863)
- Resolve error thrown for sensitive values by @chrstnb in
[#17826](https://github.com/google-gemini/gemini-cli/pull/17826)
- fix(admin): Rename secureModeEnabled to strictModeDisabled by @skeshive in
[#17789](https://github.com/google-gemini/gemini-cli/pull/17789)
- feat(ux): update truncate dots to be shorter in tables by @devr0306 in
[#17825](https://github.com/google-gemini/gemini-cli/pull/17825)
- fix(core): resolve DEP0040 punycode deprecation via patch-package by
@ATHARVA262005 in
[#17692](https://github.com/google-gemini/gemini-cli/pull/17692)
- feat(plan): create generic Checklist component and refactor Todo by @Adib234
in [#17741](https://github.com/google-gemini/gemini-cli/pull/17741)
- Cleanup post delegate_to_agent removal by @gundermanc in
[#17875](https://github.com/google-gemini/gemini-cli/pull/17875)
- fix(core): use GIT_CONFIG_GLOBAL to isolate shadow git repo configuration -
Fixes [#17877](https://github.com/google-gemini/gemini-cli/pull/17877) by
@cocosheng-g in
[#17803](https://github.com/google-gemini/gemini-cli/pull/17803)
- Disable mouse tracking e2e by @alisa-alisa in
[#17880](https://github.com/google-gemini/gemini-cli/pull/17880)
- fix(cli): use correct setting key for Cloud Shell auth by @sehoon38 in
[#17884](https://github.com/google-gemini/gemini-cli/pull/17884)
- chore: revert IDE specific ASCII logo by @jackwotherspoon in
[#17887](https://github.com/google-gemini/gemini-cli/pull/17887)
- Revert "fix(core): resolve DEP0040 punycode deprecation via patch-package" by
@sehoon38 in [#17898](https://github.com/google-gemini/gemini-cli/pull/17898)
- Refactoring of disabling of mouse tracking in e2e tests by @alisa-alisa in
[#17902](https://github.com/google-gemini/gemini-cli/pull/17902)
- feat(core): Add GOOGLE_GENAI_API_VERSION environment variable support by
@deyim in [#16177](https://github.com/google-gemini/gemini-cli/pull/16177)
- feat(core): Isolate and cleanup truncated tool outputs by @SandyTao520 in
[#17594](https://github.com/google-gemini/gemini-cli/pull/17594)
- Create skills page, update commands, refine docs by @g-samroberts in
[#17842](https://github.com/google-gemini/gemini-cli/pull/17842)
- feat: preserve EOL in files by @Thomas-Shephard in
[#16087](https://github.com/google-gemini/gemini-cli/pull/16087)
- Fix HalfLinePaddedBox in screenreader mode. by @jacob314 in
[#17914](https://github.com/google-gemini/gemini-cli/pull/17914)
- bug(ux) vim mode fixes. Start in insert mode. Fix bug blocking F12 and ctrl-X
in vim mode. by @jacob314 in
[#17938](https://github.com/google-gemini/gemini-cli/pull/17938)
- feat(core): implement interactive and non-interactive consent for OAuth by
@ehedlund in [#17699](https://github.com/google-gemini/gemini-cli/pull/17699)
- perf(core): optimize token calculation and add support for multimodal tool
responses by @abhipatel12 in
[#17835](https://github.com/google-gemini/gemini-cli/pull/17835)
- refactor(hooks): remove legacy tools.enableHooks setting by @abhipatel12 in
[#17867](https://github.com/google-gemini/gemini-cli/pull/17867)
- feat(ci): add npx smoke test to verify installability by @bdmorgan in
[#17927](https://github.com/google-gemini/gemini-cli/pull/17927)
- feat(core): implement dynamic policy registration for subagents by
@abhipatel12 in @abhipatel12 in
[#17838](https://github.com/google-gemini/gemini-cli/pull/17838) [#18451](https://github.com/google-gemini/gemini-cli/pull/18451)
- feat: Implement background shell commands by @galz10 in - refactor: simplify tool output truncation to single config by @SandyTao520 in
[#14849](https://github.com/google-gemini/gemini-cli/pull/14849) [#18446](https://github.com/google-gemini/gemini-cli/pull/18446)
- feat(admin): provide actionable error messages for disabled features by - bug(core): Ensure storage is initialized early, even if config is not. by
@skeshive in [#17815](https://github.com/google-gemini/gemini-cli/pull/17815) @joshualitt in
- Fix bugs where Rewind and Resume showed Ugly and 100X too verbose content. by [#18471](https://github.com/google-gemini/gemini-cli/pull/18471)
@jacob314 in [#17940](https://github.com/google-gemini/gemini-cli/pull/17940) - chore: Update build-and-start script to support argument forwarding by
- Fix broken link in docs by @chrstnb in
[#17959](https://github.com/google-gemini/gemini-cli/pull/17959)
- feat(plan): reuse standard tool confirmation for AskUser tool by @jerop in
[#17864](https://github.com/google-gemini/gemini-cli/pull/17864)
- feat(core): enable overriding CODE_ASSIST_API_VERSION with env var by
@lottielin in [#17942](https://github.com/google-gemini/gemini-cli/pull/17942)
- run npx pointing to the specific commit SHA by @sehoon38 in
[#17970](https://github.com/google-gemini/gemini-cli/pull/17970)
- Add allowedExtensions setting by @kevinjwang1 in
[#17695](https://github.com/google-gemini/gemini-cli/pull/17695)
- feat(plan): refactor ToolConfirmationPayload to union type by @jerop in
[#17980](https://github.com/google-gemini/gemini-cli/pull/17980)
- lower the default max retries to reduce contention by @sehoon38 in
[#17975](https://github.com/google-gemini/gemini-cli/pull/17975)
- fix(core): ensure YOLO mode auto-approves complex shell commands when parsing
fails by @abhipatel12 in
[#17920](https://github.com/google-gemini/gemini-cli/pull/17920)
- Fix broken link. by @g-samroberts in
[#17972](https://github.com/google-gemini/gemini-cli/pull/17972)
- Support ctrl-C and Ctrl-D correctly Refactor so InputPrompt has priority over
AppContainer for input handling. by @jacob314 in
[#17993](https://github.com/google-gemini/gemini-cli/pull/17993)
- Fix truncation for AskQuestion by @jacob314 in
[#18001](https://github.com/google-gemini/gemini-cli/pull/18001)
- fix(workflow): update maintainer check logic to be inclusive and
case-insensitive by @bdmorgan in
[#18009](https://github.com/google-gemini/gemini-cli/pull/18009)
- Fix Esc cancel during streaming by @LyalinDotCom in
[#18039](https://github.com/google-gemini/gemini-cli/pull/18039)
- feat(acp): add session resume support by @bdmorgan in
[#18043](https://github.com/google-gemini/gemini-cli/pull/18043)
- fix(ci): prevent stale PR closer from incorrectly closing new PRs by @bdmorgan
in [#18069](https://github.com/google-gemini/gemini-cli/pull/18069)
- chore: delete autoAccept setting unused in production by @victorvianna in
[#17862](https://github.com/google-gemini/gemini-cli/pull/17862)
- feat(plan): use placeholder for choice question "Other" option by @jerop in
[#18101](https://github.com/google-gemini/gemini-cli/pull/18101)
- docs: update clearContext to hookSpecificOutput by @jackwotherspoon in
[#18024](https://github.com/google-gemini/gemini-cli/pull/18024)
- docs-writer skill: Update docs writer skill by @jkcinouye in
[#17928](https://github.com/google-gemini/gemini-cli/pull/17928)
- Sehoon/oncall filter by @sehoon38 in
[#18105](https://github.com/google-gemini/gemini-cli/pull/18105)
- feat(core): add setting to disable loop detection by @SandyTao520 in
[#18008](https://github.com/google-gemini/gemini-cli/pull/18008)
- Docs: Revise docs/index.md by @jkcinouye in
[#17879](https://github.com/google-gemini/gemini-cli/pull/17879)
- Fix up/down arrow regression and add test. by @jacob314 in
[#18108](https://github.com/google-gemini/gemini-cli/pull/18108)
- fix(ui): prevent content leak in MaxSizedBox bottom overflow by @jerop in
[#17991](https://github.com/google-gemini/gemini-cli/pull/17991)
- refactor: migrate checks.ts utility to core and deduplicate by @jerop in
[#18139](https://github.com/google-gemini/gemini-cli/pull/18139)
- feat(core): implement tool name aliasing for backward compatibility by
@SandyTao520 in
[#17974](https://github.com/google-gemini/gemini-cli/pull/17974)
- docs: fix help-wanted label spelling by @pavan-sh in
[#18114](https://github.com/google-gemini/gemini-cli/pull/18114)
- feat(cli): implement automatic theme switching based on terminal background by
@Abhijit-2592 in @Abhijit-2592 in
[#17976](https://github.com/google-gemini/gemini-cli/pull/17976) [#18241](https://github.com/google-gemini/gemini-cli/pull/18241)
- fix(ide): no-op refactoring that moves the connection logic to helper - fix(core): prevent subagent bypass in plan mode by @jerop in
functions by @skeshive in [#18484](https://github.com/google-gemini/gemini-cli/pull/18484)
[#18118](https://github.com/google-gemini/gemini-cli/pull/18118) - feat(cli): add WebSocket-based network logging and streaming chunk support by
- feat: update review-frontend-and-fix slash command to review-and-fix by @SandyTao520 in
@galz10 in [#18146](https://github.com/google-gemini/gemini-cli/pull/18146) [#18383](https://github.com/google-gemini/gemini-cli/pull/18383)
- fix: improve Ctrl+R reverse search by @jackwotherspoon in - feat(cli): update approval modes UI by @jerop in
[#18075](https://github.com/google-gemini/gemini-cli/pull/18075) [#18476](https://github.com/google-gemini/gemini-cli/pull/18476)
- feat(plan): handle inconsistency in schedulers by @Adib234 in - fix(cli): reload skills and agents on extension restart by @NTaylorMullen in
[#17813](https://github.com/google-gemini/gemini-cli/pull/17813) [#18411](https://github.com/google-gemini/gemini-cli/pull/18411)
- feat(plan): add core logic and exit_plan_mode tool definition by @jerop in - fix(core): expand excludeTools with legacy aliases for renamed tools by
[#18110](https://github.com/google-gemini/gemini-cli/pull/18110) @SandyTao520 in
- feat(core): rename search_file_content tool to grep_search and add legacy [#18498](https://github.com/google-gemini/gemini-cli/pull/18498)
alias by @SandyTao520 in - feat(core): overhaul system prompt for rigor, integrity, and intent alignment
[#18003](https://github.com/google-gemini/gemini-cli/pull/18003) by @NTaylorMullen in
- fix(core): prioritize detailed error messages for code assist setup by [#17263](https://github.com/google-gemini/gemini-cli/pull/17263)
@gsquared94 in - Patch for generate changelog docs yaml file by @g-samroberts in
[#17852](https://github.com/google-gemini/gemini-cli/pull/17852) [#18496](https://github.com/google-gemini/gemini-cli/pull/18496)
- fix(cli): resolve environment loading and auth validation issues in ACP mode - Code review fixes for show question mark pr. by @jacob314 in
by @bdmorgan in [#18480](https://github.com/google-gemini/gemini-cli/pull/18480)
[#18025](https://github.com/google-gemini/gemini-cli/pull/18025) - fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in
- feat(core): add .agents/skills directory alias for skill discovery by [#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 @NTaylorMullen in
[#18151](https://github.com/google-gemini/gemini-cli/pull/18151) [#18559](https://github.com/google-gemini/gemini-cli/pull/18559)
- chore(core): reassign telemetry keys to avoid server conflict by @mattKorwel - chore: remove feedback instruction from system prompt by @NTaylorMullen in
in [#18161](https://github.com/google-gemini/gemini-cli/pull/18161) [#18560](https://github.com/google-gemini/gemini-cli/pull/18560)
- Add link to rewind doc in commands.md by @Adib234 in - feat(context): add remote configuration for tool output masking thresholds by
[#17961](https://github.com/google-gemini/gemini-cli/pull/17961) @abhipatel12 in
- feat(core): add draft-2020-12 JSON Schema support with lenient fallback by [#18553](https://github.com/google-gemini/gemini-cli/pull/18553)
@afarber in [#15060](https://github.com/google-gemini/gemini-cli/pull/15060) - feat(core): pause agent timeout budget while waiting for tool confirmation by
- refactor(core): robust trimPreservingTrailingNewline and regression test 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
@adamfweidman in @adamfweidman in
[#18196](https://github.com/google-gemini/gemini-cli/pull/18196) [#18749](https://github.com/google-gemini/gemini-cli/pull/18749)
- Remove MCP servers on extension uninstall by @chrstnb in - Fix issue where Gemini CLI creates tests in a new file by @gundermanc in
[#18121](https://github.com/google-gemini/gemini-cli/pull/18121) [#18409](https://github.com/google-gemini/gemini-cli/pull/18409)
- refactor: localize ACP error parsing logic to cli package by @bdmorgan in - feat(telemetry): Ensure experiment IDs are included in OpenTelemetry logs by
[#18193](https://github.com/google-gemini/gemini-cli/pull/18193) @kevin-ramdass in
- feat(core): Add A2A auth config types by @adamfweidman in [#18747](https://github.com/google-gemini/gemini-cli/pull/18747)
[#18205](https://github.com/google-gemini/gemini-cli/pull/18205) - fix(patch): cherry-pick e9a9474 to release/v0.29.0-preview.0-pr-18840 to patch
- Set default max attempts to 3 and use the common variable by @sehoon38 in version v0.29.0-preview.0 and create version 0.29.0-preview.1 by
[#18209](https://github.com/google-gemini/gemini-cli/pull/18209) @gemini-cli-robot in
- feat(plan): add exit_plan_mode ui and prompt by @jerop in [#18841](https://github.com/google-gemini/gemini-cli/pull/18841)
[#18162](https://github.com/google-gemini/gemini-cli/pull/18162) - fix(patch): cherry-pick 08e8eea to release/v0.29.0-preview.1-pr-18855 to patch
- fix(test): improve test isolation and enable subagent evaluations by version v0.29.0-preview.1 and create version 0.29.0-preview.2 by
@cocosheng-g in @gemini-cli-robot in
[#18138](https://github.com/google-gemini/gemini-cli/pull/18138) [#18905](https://github.com/google-gemini/gemini-cli/pull/18905)
- feat(plan): use custom deny messages in plan mode policies by @Adib234 in - fix(patch): cherry-pick d0c6a56 to release/v0.29.0-preview.2-pr-18976 to patch
[#18195](https://github.com/google-gemini/gemini-cli/pull/18195) version v0.29.0-preview.2 and create version 0.29.0-preview.3 by
- Match on extension ID when stopping extensions by @chrstnb in @gemini-cli-robot in
[#18218](https://github.com/google-gemini/gemini-cli/pull/18218) [#19023](https://github.com/google-gemini/gemini-cli/pull/19023)
- fix(core): Respect user's .gitignore preference by @xyrolle in - fix(patch): cherry-pick e5ff202 to release/v0.29.0-preview.3-pr-19254 to patch
[#15482](https://github.com/google-gemini/gemini-cli/pull/15482) version v0.29.0-preview.3 and create version 0.29.0-preview.4 by
- docs: document GEMINI_CLI_HOME environment variable by @adamfweidman in @gemini-cli-robot in
[#18219](https://github.com/google-gemini/gemini-cli/pull/18219) [#19264](https://github.com/google-gemini/gemini-cli/pull/19264)
- chore(core): explicitly state plan storage path in prompt by @jerop in - fix(patch): cherry-pick 9590a09 to release/v0.29.0-preview.4-pr-18771 to patch
[#18222](https://github.com/google-gemini/gemini-cli/pull/18222) version v0.29.0-preview.4 and create version 0.29.0-preview.5 by
- A2a admin setting by @DavidAPierce in @gemini-cli-robot in
[#17868](https://github.com/google-gemini/gemini-cli/pull/17868) [#19274](https://github.com/google-gemini/gemini-cli/pull/19274)
- feat(a2a): Add pluggable auth provider infrastructure by @adamfweidman in
[#17934](https://github.com/google-gemini/gemini-cli/pull/17934)
- Fix handling of empty settings by @chrstnb in
[#18131](https://github.com/google-gemini/gemini-cli/pull/18131)
- Reload skills when extensions change by @chrstnb in
[#18225](https://github.com/google-gemini/gemini-cli/pull/18225)
- feat: Add markdown rendering to ask_user tool by @jackwotherspoon in
[#18211](https://github.com/google-gemini/gemini-cli/pull/18211)
- Add telemetry to rewind by @Adib234 in
[#18122](https://github.com/google-gemini/gemini-cli/pull/18122)
- feat(admin): add support for MCP configuration via admin controls (pt1) by
@skeshive in [#18223](https://github.com/google-gemini/gemini-cli/pull/18223)
- feat(core): require user consent before MCP server OAuth by @ehedlund in
[#18132](https://github.com/google-gemini/gemini-cli/pull/18132)
- fix(sandbox): propagate GOOGLE_GEMINI_BASE_URL&GOOGLE_VERTEX_BASE_URL env vars
by @skeshive in
[#18231](https://github.com/google-gemini/gemini-cli/pull/18231)
- feat(ui): move user identity display to header by @sehoon38 in
[#18216](https://github.com/google-gemini/gemini-cli/pull/18216)
- fix: enforce folder trust for workspace settings, skills, and context by
@galz10 in [#17596](https://github.com/google-gemini/gemini-cli/pull/17596)
**Full Changelog**: **Full Changelog**:
https://github.com/google-gemini/gemini-cli/compare/v0.27.0...v0.28.0 https://github.com/google-gemini/gemini-cli/compare/v0.28.2...v0.29.0