Releases: google-gemini/gemini-cli
Releases · google-gemini/gemini-cli
Release v0.29.0-preview.3
What's Changed
- 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 @gemini-cli-robot in #19023
Full Changelog: v0.29.0-preview.2...v0.29.0-preview.3
Release v0.30.0-nightly.20260212.207ac6f2d
What's Changed
- Show notification when there's a conflict with an extensions command by @chrstnb in #17890
- fix(cli): dismiss '?' shortcuts help on hotkeys and active states by @LyalinDotCom in #18583
- fix(core): prioritize conditional policy rules and harden Plan Mode by @Abhijit-2592 in #18882
- feat(core): refine Plan Mode system prompt for agentic execution by @NTaylorMullen in #18799
- feat(plan): create metrics for usage of
AskUsertool by @Adib234 in #18820 - feat(cli): support Ctrl-Z suspension by @scidomino in #18931
- fix(github-actions): use robot PAT for release creation to trigger release notes by @SandyTao520 in #18794
- feat: add strict seatbelt profiles and remove unusable closed profiles by @SandyTao520 in #18876
- chore: cleanup unused and add unlisted dependencies in packages/a2a-server by @adamfweidman in #18916
- fix(plan): isolate plan files per session by @Adib234 in #18757
- fix: character truncation in raw markdown mode by @jackwotherspoon in #18938
- feat(cli): prototype clean UI toggle and minimal-mode bleed-through by @LyalinDotCom in #18683
- ui(polish) blend background color with theme by @jacob314 in #18802
Full Changelog: v0.30.0-nightly.20260212.099aa9621...v0.30.0-nightly.20260212.207ac6f2d
Release v0.30.0-nightly.20260212.099aa9621
What's Changed
- fix(core): cache CLI version to ensure consistency during sessions by @sehoon38 in #18793
- fix(cli): resolve double rendering in shpool and address vscode lint warnings by @braddux in #18704
- feat(plan): document and validate Plan Mode policy overrides by @jerop in #18825
- Fix pressing any key to exit select mode. by @jacob314 in #18421
- fix(cli): update F12 behavior to only open drawer if browser fails by @SandyTao520 in #18829
- feat(plan): allow skills to be enabled in plan mode by @Adib234 in #18817
- docs(plan): add documentation for plan mode tools by @jerop in #18827
- Remove experimental note in extension settings docs by @chrstnb in #18822
- Update prompt and grep tool definition to limit context size by @gundermanc in #18780
- docs(plan): add
ask_usertool documentation by @jerop in #18830 - Revert unintended credentials exposure by @Adib234 in #18840
- feat(core): update internal utility models to Gemini 3 by @SandyTao520 in #18773
- feat(a2a): add value-resolver for auth credential resolution by @adamfweidman in #18653
- Removed getPlainTextLength by @devr0306 in #18848
- More grep prompt tweaks by @gundermanc in #18846
- refactor(cli): Reactive useSettingsStore hook by @psinha40898 in #14915
- fix(mcp): Ensure that stdio MCP server execution has the
GEMINI_CLI=1env variable populated. by @richieforeman in #18832 - fix(core): improve headless mode detection for flags and query args by @galz10 in #18855
- refactor(cli): simplify UI and remove legacy inline tool confirmation logic by @abhipatel12 in #18566
- feat(cli): deprecate --allowed-tools and excludeTools in favor of policy engine by @Abhijit-2592 in #18508
- fix(workflows): improve maintainer detection for automated PR actions by @bdmorgan in #18869
- refactor(cli): consolidate useToolScheduler and delete legacy implementation by @abhipatel12 in #18567
- Update changelog for v0.28.0 and v0.29.0-preview0 by @g-samroberts in #18819
- fix(core): ensure sub-agents are registered regardless of tools.allowed by @mattKorwel in #18870
Full Changelog: v0.30.0-nightly.20260211.f5dd1068f...v0.30.0-nightly.20260212.099aa9621
Release v0.29.0-preview.2
What's Changed
- 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 @gemini-cli-robot in #18905
Full Changelog: v0.29.0-preview.1...v0.29.0-preview.2
Release v0.30.0-nightly.20260211.f5dd1068f
What's Changed
- fix(cli): allow closing debug console after auto-open via flicker by @SandyTao520 in #18795
- feat(masking): enable tool output masking by default by @abhipatel12 in #18564
- perf(ui): optimize table rendering by memoizing styled characters by @devr0306 in #18770
- feat: multi-line text answers in ask-user tool by @jackwotherspoon in #18741
- perf(cli): truncate large debug logs and limit message history by @mattKorwel in #18663
- fix(core): complete MCP discovery when configured servers are skipped by @LyalinDotCom in #18586
Full Changelog: v0.30.0-nightly.20260211.0d034b8c1...v0.30.0-nightly.20260211.f5dd1068f
Release v0.30.0-nightly.20260211.0d034b8c1
What's Changed
- chore: cleanup unused and add unlisted dependencies in packages/core by @adamfweidman in #18762
- chore(core): update activate_skill prompt verbiage to be more direct by @NTaylorMullen in #18605
- Add autoconfigure memory usage setting to the dialog by @jacob314 in #18510
- fix(core): prevent race condition in policy persistence by @braddux in #18506
- fix(evals): prevent false positive in hierarchical memory test by @Abhijit-2592 in #18777
- test(evals): mark all
save_memoryevals asUSUALLY_PASSESdue to unreliability by @jerop in #18786 - feat(cli): add setting to hide shortcuts hint UI by @LyalinDotCom in #18562
- feat(core): formalize 5-phase sequential planning workflow by @jerop in #18759
- Introduce limits for search results. by @gundermanc in #18767
New Contributors
Full Changelog: v0.30.0-nightly.20260210.8257ec447...v0.30.0-nightly.20260211.0d034b8c1
Release v0.28.2
What's Changed
- fix(patch): cherry-pick e9a9474 to release/v0.28.1-pr-18840 [CONFLICTS] by @gemini-cli-robot in #18847
Full Changelog: v0.28.1...v0.28.2
Release v0.28.1
What's Changed
- fix(patch): cherry-pick 37f128a to release/v0.28.0-pr-18478 by @gemini-cli-robot in #18821
Full Changelog: v0.28.0...v0.28.1
Release v0.30.0-nightly.20260210.8257ec447
What's Changed
- perf(ui): optimize stripUnsafeCharacters with regex by @gsquared94 in #18413
- feat(context): implement observation masking for tool outputs by @abhipatel12 in #18389
- feat(core,cli): implement session-linked tool output storage and cleanup by @abhipatel12 in #18416
- Shorten temp directory by @joshualitt in #17901
- feat(plan): add behavioral evals for plan mode by @jerop in #18437
- Add extension registry client by @chrstnb in #18396
- Enable extension config by default by @chrstnb in #18447
- Automatically generate change logs on release by @g-samroberts in #18401
- Remove previewFeatures and default to Gemini 3 by @sehoon38 in #18414
- feat(admin): apply MCP allowlist to extensions & gemini mcp list command by @skeshive in #18442
- fix(cli): improve focus navigation for interactive and background shells by @galz10 in #18343
- Add shortcuts hint and panel for discoverability by @LyalinDotCom in #18035
- fix(config): treat system settings as read-only during migration and warn user by @spencer426 in #18277
- feat(plan): add positive test case and update eval stability policy by @jerop in #18457
- fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by @zackoch in #18408
- bug(core): Fix bug when saving plans. by @joshualitt in #18465
- Refactor atCommandProcessor by @scidomino in #18461
- feat(core): implement persistence and resumption for masked tool outputs by @abhipatel12 in #18451
- refactor: simplify tool output truncation to single config by @SandyTao520 in #18446
- bug(core): Ensure storage is initialized early, even if config is not. by @joshualitt in #18471
- chore: Update build-and-start script to support argument forwarding by @Abhijit-2592 in #18241
- fix(core): prevent subagent bypass in plan mode by @jerop in #18484
- feat(cli): add WebSocket-based network logging and streaming chunk support by @SandyTao520 in #18383
- feat(cli): update approval modes UI by @jerop in #18476
- fix(cli): reload skills and agents on extension restart by @NTaylorMullen in #18411
- fix(core): expand excludeTools with legacy aliases for renamed tools by @SandyTao520 in #18498
- feat(core): overhaul system prompt for rigor, integrity, and intent alignment by @NTaylorMullen in #17263
- Patch for generate changelog docs yaml file by @g-samroberts in #18496
- Code review fixes for show question mark pr. by @jacob314 in #18480
- fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in #18187
- chore: remove redundant planning prompt from final shell by @jerop in #18528
- docs: require pr-creator skill for PR generation by @NTaylorMullen in #18536
- chore: update colors for ask_user dialog by @jackwotherspoon in #18543
- feat(core): exempt high-signal tools from output masking by @abhipatel12 in #18545
- refactor(core): remove memory tool instructions from Gemini 3 prompt by @NTaylorMullen in #18559
- chore: remove feedback instruction from system prompt by @NTaylorMullen in #18560
- feat(context): add remote configuration for tool output masking thresholds by @abhipatel12 in #18553
- feat(core): pause agent timeout budget while waiting for tool confirmation by @abhipatel12 in #18415
- refactor(config): remove experimental.enableEventDrivenScheduler setting by @abhipatel12 in #17924
- feat(cli): truncate shell output in UI history and improve active shell display by @jwhelangoog in #17438
- refactor(cli): switch useToolScheduler to event-driven engine by @abhipatel12 in #18565
- fix(core): correct escaped interpolation in system prompt by @NTaylorMullen in #18557
- propagate abortSignal by @scidomino in #18477
- feat(core): conditionally include ctrl+f prompt based on interactive shell setting by @NTaylorMullen in #18561
- fix(core): ensure
enter_plan_modetool registration respectsexperimental.planby @jerop in #18587 - feat(core): transition sub-agents to XML format and improve definitions by @NTaylorMullen in #18555
- docs: Add Plan Mode documentation by @jerop in #18582
- chore: strengthen validation guidance in system prompt by @NTaylorMullen in #18544
- Fix newline insertion bug in replace tool by @werdnum in #18595
- fix(evals): update save_memory evals and simplify tool description by @NTaylorMullen in #18610
- chore(evals): update validation_fidelity_pre_existing_errors to USUALLY_PASSES by @NTaylorMullen in #18617
- fix: shorten tool call IDs and fix duplicate tool name in truncated output filenames by @SandyTao520 in #18600
- feat(cli): implement atomic writes and safety checks for trusted folders by @galz10 in #18406
- Remove relative docs links by @chrstnb in #18650
- docs: add legacy snippets convention to GEMINI.md by @NTaylorMullen in #18597
- fix(chore): Support linting for cjs by @aswinashok44 in #18639
- feat: move shell efficiency guidelines to tool description by @NTaylorMullen in #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
- Allow @-includes outside of workspaces (with permission) by @scidomino in #18470
- chore: make
ask_userheader description more clear by @jackwotherspoon in #18657 - refactor(core): model-dependent tool definitions by @aishaneeshah in #18563
- Harded code assist converter. by @jacob314 in #18656
- bug(core): Fix minor bug in migration logic. by @joshualitt in #18661
- feat: enable plan mode experiment in settings by @jerop in #18636
- refactor: push isValidPath() into parsePastedPaths() by @scidomino in #18664
- fix(cli): correct 'esc to cancel' position and restore duration display by @NTaylorMullen in #18534
- feat(cli): add DevTools integration with gemini-cli-devtools by @SandyTao520 in #18648
- chore: remove unused exports and redundant hook files by @SandyTao520 in #18681
- Fix number of lines being reported in rewind confirmation dialog by @Adib234 in #18675
- feat(cli): disable folder trust in headless mode by @galz10 in #18407
- Disallow unsafe type assertions by @gundermanc in #18688
- Change event type for release by @g-samroberts in #18693
- feat: handle multiple dynamic context filenames in system prompt by @NTaylorMullen in #18598
- Properly parse at-commands with narrow non-breaking spaces by @scidomino in #18677
- refactor(core): centralize core tool definitions and support model-specific schemas by @aishaneeshah in #18662
- feat(core): Render memory ...
Release v0.29.0-preview.0
What's Changed
- fix: remove
ask_usertool from non-interactive modes by @jackwotherspoon in #18154 - fix(cli): allow restricted .env loading in untrusted sandboxed folders by @galz10 in #17806
- Encourage agent to utilize ecosystem tools to perform work by @gundermanc in #17881
- feat(plan): unify workflow location in system prompt to optimize caching by @jerop in #18258
- feat(core): enable getUserTierName in config by @sehoon38 in #18265
- feat(core): add default execution limits for subagents by @abhipatel12 in #18274
- Fix issue where agent gets stuck at interactive commands. by @gundermanc in #18272
- chore(release): bump version to 0.29.0-nightly.20260203.71f46f116 by @gemini-cli-robot in #18243
- feat(core): remove hardcoded policy bypass for local subagents by @abhipatel12 in #18153
- feat(plan): implement
planslash command by @Adib234 in #17698 - feat: increase
ask_userlabel limit to 16 characters by @jackwotherspoon in #18320 - Add information about the agent skills lifecycle and clarify docs-writer skill metadata. by @g-samroberts in #18234
- feat(core): add
enter_plan_modetool by @jerop in #18324 - Stop showing an error message in
/planby @Adib234 in #18333 - fix(hooks): remove unnecessary logging for hook registration by @abhipatel12 in #18332
- fix(mcp): ensure MCP transport is closed to prevent memory leaks by @cbcoutinho in #18054
- feat(skills): implement linking for agent skills by @MushuEE in #18295
- Changelogs for 0.27.0 and 0.28.0-preview0 by @g-samroberts in #18336
- chore: correct docs as skills and hooks are stable by @jackwotherspoon in #18358
- feat(admin): Implement admin allowlist for MCP server configurations by @skeshive in #18311
- fix(core): add retry logic for transient SSL/TLS errors (#17318) by @ppgranger in #18310
- Add support for /extensions config command by @chrstnb in #17895
- fix(core): handle non-compliant mcpbridge responses from Xcode 26.3 by @peterfriese in #18376
- feat(cli): Add W, B, E Vim motions and operator support by @ademuri in #16209
- fix: Windows Specific Agent Quality & System Prompt by @scidomino in #18351
- feat(plan): support
replacetool in plan mode to edit plans by @jerop in #18379 - Improving memory tool instructions and eval testing by @alisa-alisa in #18091
- fix(cli): color extension link success message green by @MushuEE in #18386
- undo by @jacob314 in #18147
- feat(plan): add guidance on iterating on approved plans vs creating new plans by @jerop in #18346
- feat(plan): fix invalid tool calls in plan mode by @Adib234 in #18352
- feat(plan): integrate planning artifacts and tools into primary workflows by @jerop in #18375
- Fix permission check by @scidomino in #18395
- ux(polish) autocomplete in the input prompt by @jacob314 in #18181
- fix: resolve infinite loop when using 'Modify with external editor' by @ppgranger in #17453
- feat: expand verify-release to macOS and Windows by @yunaseoul in #18145
- feat(plan): implement support for MCP servers in Plan mode by @Adib234 in #18229
- chore: update folder trust error messaging by @galz10 in #18402
- feat(plan): create a metric for execution of plans generated in plan mode by @Adib234 in #18236
- perf(ui): optimize stripUnsafeCharacters with regex by @gsquared94 in #18413
- feat(context): implement observation masking for tool outputs by @abhipatel12 in #18389
- feat(core,cli): implement session-linked tool output storage and cleanup by @abhipatel12 in #18416
- Shorten temp directory by @joshualitt in #17901
- feat(plan): add behavioral evals for plan mode by @jerop in #18437
- Add extension registry client by @chrstnb in #18396
- Enable extension config by default by @chrstnb in #18447
- Automatically generate change logs on release by @g-samroberts in #18401
- Remove previewFeatures and default to Gemini 3 by @sehoon38 in #18414
- feat(admin): apply MCP allowlist to extensions & gemini mcp list command by @skeshive in #18442
- fix(cli): improve focus navigation for interactive and background shells by @galz10 in #18343
- Add shortcuts hint and panel for discoverability by @LyalinDotCom in #18035
- fix(config): treat system settings as read-only during migration and warn user by @spencer426 in #18277
- feat(plan): add positive test case and update eval stability policy by @jerop in #18457
- fix- windows: add shell: true for spawnSync to fix EINVAL with .cmd editors by @zackoch in #18408
- bug(core): Fix bug when saving plans. by @joshualitt in #18465
- Refactor atCommandProcessor by @scidomino in #18461
- feat(core): implement persistence and resumption for masked tool outputs by @abhipatel12 in #18451
- refactor: simplify tool output truncation to single config by @SandyTao520 in #18446
- bug(core): Ensure storage is initialized early, even if config is not. by @joshualitt in #18471
- chore: Update build-and-start script to support argument forwarding by @Abhijit-2592 in #18241
- fix(core): prevent subagent bypass in plan mode by @jerop in #18484
- feat(cli): add WebSocket-based network logging and streaming chunk support by @SandyTao520 in #18383
- feat(cli): update approval modes UI by @jerop in #18476
- fix(cli): reload skills and agents on extension restart by @NTaylorMullen in #18411
- fix(core): expand excludeTools with legacy aliases for renamed tools by @SandyTao520 in #18498
- feat(core): overhaul system prompt for rigor, integrity, and intent alignment by @NTaylorMullen in #17263
- Patch for generate changelog docs yaml file by @g-samroberts in #18496
- Code review fixes for show question mark pr. by @jacob314 in #18480
- fix(cli): add SS3 Shift+Tab support for Windows terminals by @ThanhNguyxn in #18187
- chore: remove redundant planning prompt from final shell by @jerop in #18528
- docs: require pr-creator skill for PR generation by @NTaylorMullen in #18536
- chore: update colors for ask_user dialog by @jackwotherspoon in #18543
- feat(core): exempt high-signal tools from output masking by @abhipatel12 in #18545
- refactor(core): remove memory tool instructions from Gemini 3 prompt by @NTaylorMullen in #18559
- chore: remove feedback instruction from system prompt by @NTaylorMullen in #18560
- feat(context): add remote configuration for tool output masking thresholds by @abhipatel12 in #18553
- feat(core): pause agent timeout budget while waiting for tool confirmation by @abh...