File gemini-cli.changes of Package gemini-cli
-------------------------------------------------------------------
Wed Mar 4 06:42:12 UTC 2026 - Michael Vetter <mvetter@suse.com>
- Update to 0.32.1:
* fix(patch): cherry-pick 0659ad1 to release/v0.32.0-pr-21042 to patch version v0.32.0 and create version 0.32.1 #21048
-------------------------------------------------------------------
Wed Mar 4 06:40:10 UTC 2026 - Michael Vetter <mvetter@suse.com>
- Update to 0.32.0:
* feat(plan): add integration tests for plan mode #20214
* fix(acp): update auth handshake to spec #19725
* feat(core): implement robust A2A streaming reassembly and fix task continuity #20091
* feat(cli): load extensions in parallel #20229
* Plumb the maxAttempts setting through Config args #20239
* fix(cli): skip 404 errors in setup-github file downloads #20287
* fix(cli): expose model.name setting in settings dialog for persistence #19605
* docs: remove legacy cmd examples in favor of powershell #20323
* feat(core): Enable model steering in workspace. #20343
* fix: remove trailing comma in issue triage workflow settings json #20265
* feat(core): implement task tracker foundation and service #19464
* test: support tests that include color information #20220
* feat(core): introduce Kind.Agent for sub-agent classification #20369
* Changelog for v0.30.0 #20252
* Update changelog workflow to reject nightly builds #20248
* Changelog for v0.31.0-preview.0 #20249
* feat(cli): hide workspace policy update dialog and auto-accept by default #20351
* feat(core): rename grep_search include parameter to include_pattern #20328
* feat(plan): support opening and modifying plan in external editor #20348
* feat(cli): implement interactive shell autocompletion #20082
* fix(core): allow /memory add to work in plan mode #20353
* feat(core): add HTTP 499 to retryable errors and map to RetryableQuotaError #20432
* feat(core): Enable generalist agent #19665
* Updated tests in TableRenderer.test.tsx to use SVG snapshots #20450
* Refactor Github Action per b/485167538 #19443
* fix(github): resolve actionlint and yamllint regressions from #19443 #20467
* fix: action var usage #20492
* feat(core): improve A2A content extraction #20487
* fix(cli): support quota error fallbacks for all authentication types #20475
* fix(core): flush transcript for pure tool-call responses to ensure BeforeTool hooks see complete state #20419
* feat(plan): adapt planning workflow based on complexity of task #20465
* fix: prevent orphaned processes from consuming 100% CPU when terminal closes #16965
* feat(core): increase fetch timeout and fix [object Object] error stringification #20441
* [Gemma x Gemini CLI] Add an Experimental Gemma Router that uses a LiteRT-LM shim into the Composite Model Classifier Strategy #17231
* docs(plan): update documentation regarding supporting editing of plan files during plan approval #20452
* test(cli): fix flaky ToolResultDisplay overflow test #20518
* ui(cli): reduce length of Ctrl+O hint #20490
* fix(ui): correct styled table width calculations #20042
* Avoid overaggressive unescaping #20520
* feat(telemetry) Instrument traces with more attributes and make them available to OTEL users #20237
* Add support for policy engine in extensions #20049
* Docs: Update to Terms of Service & FAQ #20488
* Fix bottom border rendering for search and add a regression test. #20517
* fix(core): apply retry logic to CodeAssistServer for all users #20507
* Fix extension MCP server env var loading #20374
* feat(ui): add 'ctrl+o' hint to truncated content message #20529
* Fix flicker showing message to press ctrl-O again to collapse. #20414
* fix(cli): hide shortcuts hint while model is thinking or the user has typed a prompt + add debounce to avoid flicker #19389
* feat(plan): update planning workflow to encourage multi-select with descriptions of options #20491
* refactor(core,cli): useAlternateBuffer read from config #20346
* fix(cli): ensure dialogs stay scrolled to bottom in alternate buffer mode #20527
* fix(core): revert auto-save of policies to user space #20531
* Demote unreliable test. #20571
* fix(core): handle optional response fields from code assist API #20345
* fix(cli): keep thought summary when loading phrases are off #20497
* feat(cli): add temporary flag to disable workspace policies #20523
* Disable expensive and scheduled workflows on personal forks #20449
* Moved markdown parsing logic to a separate util file #20526
* fix(plan): prevent agent from using ask_user for shell command confirmation #20504
* fix(core): disable retries for code assist streaming requests #20561
* feat(billing): implement G1 AI credits overage flow with billing telemetry #18590
* feat: better error messages #20577
* fix(ui): persist expansion in AskUser dialog when navigating options #20559
* fix(cli): prevent sub-agent tool calls from leaking into UI #20580
* fix(cli): Shell autocomplete polish #20411
* Changelog for v0.31.0-preview.1 #20590
* Add slash command for promoting behavioral evals to CI blocking #20575
* Changelog for v0.30.1 #20589
* Add low/full CLI error verbosity mode for cleaner UI #20399
* Disable Gemini PR reviews on draft PRs. #20362
* Docs: FAQ update #20585
* fix(core): reduce intrusive MCP errors and deduplicate diagnostics #20232
* docs: fix spelling typos in installation guide #20579
* Promote stable tests to CI blocking. #20581
* feat(core): enable contiguous parallel admission for Kind.Agent tools #20583
* Enforce import/no-duplicates as error #19797
* fix: merge duplicate imports in sdk and test-utils packages (1/4) #19777
* fix: merge duplicate imports in a2a-server package (2/4) #19781
-------------------------------------------------------------------
Tue Mar 3 15:20:07 UTC 2026 - Michael Vetter <mvetter@suse.com>
- Update to 0.31.0:
* Use ranged reads and limited searches and fuzzy editing improvements #19240
* Fix bottom border color #19266
* Release note generator fix #19363
* test(evals): add behavioral tests for tool output masking #19172
* docs: clarify preflight instructions in GEMINI.md #19377
* feat(cli): add gemini --resume hint on exit #16285
* fix: optimize height calculations for ask_user dialog #19017
* feat(cli): add Alt+D for forward word deletion #19300
* Disable failing eval test #19455
* fix(cli): support legacy onConfirm callback in ToolActionsContext #19369
* chore(deps): bump tar from 7.5.7 to 7.5.8 #19367
* fix(plan): allow safe fallback when experiment setting for plan is not enabled but approval mode at startup is plan #19439
* Add explicit color-convert dependency #19460
* feat(devtools): migrate devtools package into monorepo #18936
* fix(core): clarify plan mode constraints and exit mechanism #19438
* feat(cli): add macOS run-event notifications (interactive only) #19056
* Changelog for v0.29.0 #19361
* fix(ui): preventing empty history items from being added #19014
* Changelog for v0.30.0-preview.0 #19364
* feat(core): add support for MCP progress updates #19046
* fix(core): ensure directory exists before writing conversation file #18429
* fix(ui): move margin from top to bottom in ToolGroupMessage #17198
* fix(cli): treat unknown slash commands as regular input instead of showing error #17393
* feat(core): experimental in-progress steering hints (2 of 2) #19307
* docs(plan): add documentation for plan mode command #19467
* fix(core): ripgrep fails when pattern looks like ripgrep flag #18858
* fix(cli): disable auto-completion on Shift+Tab to preserve mode cycling #19451
* use issuer instead of authorization_endpoint for oauth discovery #17332
* feat(cli): include /dir add directories in @ autocomplete suggestions #19246
* feat(admin): Admin settings should only apply if adminControlsApplicable = true and fetch errors should be fatal #19453
* Format strict-development-rules command #19484
* feat(core): centralize compatibility checks and add TrueColor detection #19478
* Remove unused files and update index and sidebar. #19479
* Migrate core render util to use xterm.js as part of the rendering loop. #19044
* Changelog for v0.30.0-preview.1 #19496
* build: replace deprecated built-in punycode with userland package #19502
* Speculative fixes to try to fix react error. #19508
* fix spacing #19494
* fix(core): ensure user rejections update tool outcome for telemetry #18982
* fix(acp): Initialize config (#18897) #18898
* fix(core): add error logging for IDE fetch failures #17981
* feat(acp): support set_mode interface (#18890) #18891
* fix(core): robust workspace-based IDE connection discovery #18443
* Deflake windows tests. #19511
* Fix: Avoid tool confirmation timeout when no UI listeners are present #17955
* format md file #19474
* feat(cli): add experimental.useOSC52Copy setting #19488
* feat(cli): replace loading phrases boolean with enum setting #19347
* Update skill to adjust for generated results. #19500
* Fix message too large issue. #19499
* fix(core): prevent duplicate tool approval entries in auto-saved.toml #19487
* fix(core): resolve crash in ClearcutLogger when os.cpus() is empty #19555
* chore(core): improve encapsulation and remove unused exports #19556
* Revert "Add generic searchable list to back settings and extensions (… #19434
* fix(core): improve error type extraction for telemetry #19565
* fix: remove extra padding in Composer #19529
* feat(plan): support configuring custom plans storage directory #19577
* Migrate files to resource or references folder. #19503
* feat(policy): implement project-level policy support #18682
* feat(core): Implement parallel FC for read only tools. #18791
* chore(skills): adds pr-address-comments skill to work on PR feedback #19576
* refactor(sdk): introduce session-based architecture #19180
* fix(ci): add fallback JSON extraction to issue triage workflow #19593
* feat(core): refine Edit and WriteFile tool schemas for Gemini 3 #19476
* Changelog for v0.30.0-preview.3 #19585
* fix(plan): exclude EnterPlanMode tool from YOLO mode #19570
* chore: resolve build warnings and update dependencies #18880
* feat(ui): add source indicators to slash commands #18839
* docs: refine Plan Mode documentation structure and workflow #19644
* Docs: Update release information regarding Gemini 3.1 #19568
* fix(security): rate limit web_fetch tool to mitigate DDoS via prompt injection #19567
* Add initial implementation of /extensions explore command #19029
* fix: use discoverOAuthFromWWWAuthenticate for reactive OAuth flow (#18760) #19038
* Search updates #19482
* feat(cli): add support for numpad SS3 sequences #19659
* feat(cli): enhance folder trust with configuration discovery and security warnings #19492
* feat(ui): improve startup warnings UX with dismissal and show-count limits #19584
* feat(a2a): Add API key authentication provider #19548
* Send accepted/removed lines with ACCEPT_FILE telemetry. #19670
* feat(models): support Gemini 3.1 Pro Preview and fixes #19676
* feat(plan): enforce read-only constraints in Plan Mode #19433
* fix(cli): allow perfect match @-path completions to submit on Enter #19562
* fix(core): treat 503 Service Unavailable as retryable quota error #19642
* Update sidebar.json for to allow top nav tabs. #19595
* security: strip deceptive Unicode characters from terminal output #19026
* Fixes 'input.on' is not a function error in Gemini CLI #19691
* Revert "feat(ui): add source indicators to slash commands" #19695
* security: implement deceptive URL detection and disclosure in tool confirmations #19288
* fix(core): restore auth consent in headless mode and add unit tests #19689
* Fix unsafe assertions in code_assist folder. #19706
* feat(cli): make JetBrains warning more specific #19687
* fix(cli): extensions dialog UX polish #19685
* fix(cli): use getDisplayString for manual model selection in dialog #19726
* feat(policy): repurpose "Always Allow" persistence to workspace level #19707
* fix(cli): re-enable CLI banner #19741
* Disallow and suppress unsafe assignment #19736
* feat(core): migrate read_file to 1-based start_line/end_line parameters #19526
* feat(cli): improve CTRL+O experience for both standard and alternate screen buffer (ASB) modes #19010
* Utilize pipelining of grep_search -> read_file to eliminate turns #19574
* refactor(core): remove unsafe type assertions in error utils (Phase 1.1) #19750
* Disallow unsafe returns. #19767
* fix(cli): filter subagent sessions from resume history #19698
* chore(lint): fix lint errors seen when running npm run lint #19844
* feat(core): remove unnecessary login verbiage from Code Assist auth #19861
* fix(plan): time share #19847
* fix(core): allow any preview model in quota access check #19867
* fix(core): prevent omission placeholder deletions in replace/write_file #19870
* fix(core): add uniqueness guard to edit tool #19890
* refactor(config): remove enablePromptCompletion from settings #19974
* refactor(core): move session conversion logic to core #19972
* Fix: Persist manual model selection on restart #19864 #19891
* fix(core): increase default retry attempts and add quota error backoff #19949
* feat(core): add policy chain support for Gemini 3.1 #19991
* Updates command reference and /stats command. #19794
* Fix for silent failures in non-interactive mode #19905
* fix(plan): allow plan mode writes on Windows and fix prompt paths #19658
* fix(core): prevent OAuth server crash on unexpected requests #19668
* feat: Map tool kinds to explicit ACP.ToolKind values and update test … #19547
* chore: restrict gemini-automted-issue-triage to only allow echo #20047
* Allow ask headers longer than 16 chars #20041
* fix(core): prevent state corruption in McpClientManager during collis #19782
* fix(bundling): copy devtools package to bundle for runtime resolution #19766
* feat(policy): Support MCP Server Wildcards in Policy Engine #20024
* docs(CONTRIBUTING): update React DevTools version to 6 #20014
* feat(core): optimize tool descriptions and schemas for Gemini 3 #19643
* feat(core): implement experimental direct web fetch #19557
* feat(core): replace expected_replacements with allow_multiple in replace tool #20033
* fix(sandbox): harden image packaging integrity checks #19552
* fix(core): allow environment variable expansion and explicit overrides for MCP servers #18837
* feat(policy): Implement Tool Annotation Matching in Policy Engine #20029
* fix(core): prevent utility calls from changing session active model #20035
* fix(cli): skip workspace policy loading when in home directory #20054
* fix(scripts): Add Windows (win32/x64) support to lint.js #16193
* fix(a2a-server): Remove unsafe type assertions in agent #19723
* Fix: Handle corrupted token file gracefully when switching auth types (#19845) #19850
* fix critical dep vulnerability #20087
* Add new setting to configure maxRetries #20064
* Stabilize tests. #20095
* make windows tests mandatory #20096
* Add 3.1 pro preview to behavioral evals. #20088
* feat:PR-rate-limit #19804
* feat(cli): allow expanding full details of MCP tool on approval #19916
* feat(security): Introduce Conseca framework #13193
* fix(cli): Remove unsafe type assertions in activityLogger #19713 #19745
* feat: implement AfterTool tail tool calls #18486
* ci(actions): fix PR rate limiter excluding maintainers #20117
* Shortcuts: Move SectionHeader title below top line and refine styling #18721
* refactor(ui): Update and simplify use of gray colors in themes #20141
* fix punycode2 #20154
* feat(ide): add GEMINI_CLI_IDE_PID env var to override IDE process detection #15842
* feat(policy): Propagate Tool Annotations for MCP Servers #20083
* fix(a2a-server): pass allowedTools settings to core Config #19680
* feat(mcp): add progress bar, throttling, and input validation for MCP tool progress #19772
* feat(policy): centralize plan mode tool visibility in policy engine #20178
* feat(browser): implement experimental browser agent #19284
* feat(plan): summarize work after executing a plan #19432
* fix(core): create new McpClient on restart to apply updated config #20126
* Changelog for v0.30.0-preview.5 #20107
* Update packages. #20152
* Fix extension env dir loading issue #20198
* restrict /assign to help-wanted issues #20207
* feat(plan): inject message when user manually exits Plan mode #20203
* feat(extensions): enforce folder trust for local extension install #19703
* feat(hooks): adds support for RuntimeHook functions. #19598
* Docs: Update UI links. #20224
* feat: prompt users to run /terminal-setup with yes/no #16235
* fix: additional high vulnerabilities (minimatch, cross-spawn) #20221
* feat(telemetry): Add context breakdown to API response event #19699
* Docs: Add nested sub-folders for related topics #20235
* feat(plan): support automatic model switching for Plan Mode #20240
* fix(patch): cherry-pick 58df1c6 to release/v0.31.0-preview.0-pr-20374 to patch version v0.31.0-preview.0 and create version 0.31.0-preview.1 #20568
* fix(patch): cherry-pick ea48bd9 to release/v0.31.0-preview.1-pr-20577 [CONFLICTS] #20592
* fix(patch): cherry-pick 32e777f to release/v0.31.0-preview.2-pr-20531 to patch version v0.31.0-preview.2 and create version 0.31.0-preview.3 #20607
-------------------------------------------------------------------
Fri Feb 27 13:10:31 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.30.0:
* feat(ux): added text wrapping capabilities to markdown tables
* Add autoconfigure memory usage setting to the dialog
* fix(core): prevent race condition in policy persistence
* fix(evals): prevent false positive in hierarchical memory
test
* test(evals): mark all `save_memory` evals as `USUALLY_PASSES`
due to unreliability
* feat(cli): add setting to hide shortcuts hint UI
* feat(core): formalize 5-phase sequential planning workflow
* Introduce limits for search results.
* fix(cli): allow closing debug console after auto-open via
flicker
* feat(masking): enable tool output masking by default
* perf(ui): optimize table rendering by memoizing styled
characters
* feat: multi-line text answers in ask-user tool
* perf(cli): truncate large debug logs and limit message
history
* fix(core): complete MCP discovery when configured servers are
skipped
* fix(core): cache CLI version to ensure consistency during
sessions
* fix(cli): resolve double rendering in shpool and address
vscode lint warnings
* feat(plan): document and validate Plan Mode policy overrides
* Fix pressing any key to exit select mode.
* fix(cli): update F12 behavior to only open drawer if browser
fails
-------------------------------------------------------------------
Sun Feb 22 13:08:35 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.29.5:
* fix: remove `ask_user` tool from non-interactive modes
* fix(cli): allow restricted .env loading in untrusted
sandboxed folders
* Encourage agent to utilize ecosystem tools to perform work
* feat(plan): unify workflow location in system prompt to
optimize caching
* feat(core): enable getUserTierName in config
* feat(core): add default execution limits for subagents
* Fix issue where agent gets stuck at interactive commands.
* feat(core): remove hardcoded policy bypass for local
subagents
* feat(plan): implement `plan` slash command
* feat: increase `ask_user` label limit to 16 characters
* feat(core): add `enter_plan_mode` tool
* Stop showing an error message in `/plan`
* fix(hooks): remove unnecessary logging for hook registration
* fix(mcp): ensure MCP transport is closed to prevent memory
leaks
* feat(skills): implement linking for agent skills
* feat(admin): Implement admin allowlist for MCP server
configurations
* fix(core): add retry logic for transient SSL/TLS errors
* fix(core): handle non-compliant mcpbridge responses from
Xcode 26.3
* feat(cli): Add W, B, E Vim motions and operator support
* fix: Windows Specific Agent Quality & System Prompt
* feat(plan): support `replace` tool in plan mode to edit plans
* fix(cli): reload skills and agents on extension restart
* fix(core): expand excludeTools with legacy aliases for
renamed tools
* feat(core): overhaul system prompt for rigor, integrity, and
intent alignment
* Patch for generate changelog docs yaml file
* Code review fixes for show question mark pr.
* fix(cli): add SS3 Shift+Tab support for Windows terminals
* feat(core): exempt high-signal tools from output masking
* refactor(core): remove memory tool instructions from Gemini 3
prompt
* chore: remove feedback instruction from system prompt
* feat(context): add remote configuration for tool output
masking thresholds
* feat(core): pause agent timeout budget while waiting for tool
confirmation
-------------------------------------------------------------------
Mon Feb 16 20:59:20 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.28.2:
* feat(commands): add /prompt-suggest slash command
* feat(cli): align hooks enable/disable with skills and improve
completion
* docs: add CLI reference documentation
* feat(skills): final stable promotion cleanup
* test(core): mock fetch in OAuth transport fallback tests
* feat(cli): include auth method in /bug
* Add a email privacy note to bug_report template
* Rewind documentation
* fix: verify audio/video MIME types with content check
* feat(core): add support for positron ide
* /oncall dedup - wrap texts to nextlines
* fix(admin): rename advanced features admin setting
* fix(core): suppress duplicate hook failure warnings during
streaming
* test: add more tests for AskUser
* feat(cli): enable activity logging for non-interactive mode
and evals
* feat(core): add support for custom deny messages in policy
rules
* Fix unintended credential exposure to MCP Servers
* feat(extensions): add support for custom themes in extensions
* fix: persist and restore workspace directories on session
resume
* Update release notes pages for 0.26.0 and 0.27.0-preview.
* feat(ux): update cell border color and created test file for
table rendering
* Change height for the ToolConfirmationQueue.
* feat(cli): add user identity info to stats command
* fix(ux): fixed off-by-some wrapping caused by fixed-width
characters
* feat(cli): update undo/redo keybindings to Cmd+Z/Alt+Z and
Shift+Cmd+Z/Shift+Alt+Z
* fix(evals): use absolute path for activity log directory
* test: add integration test to verify stdout/stderr routing
* fix(cli): list installed extensions when update target
missing
* fix(cli): handle PAT tokens and credentials in git remote URL
parsing
* fix(core): use returnDisplay for error result display
* feat(cli): show hooksConfig.enabled in settings dialog
* feat(cli): Display user identity (auth, email, tier) on
startup
* fix(admin): Rename secureModeEnabled to strictModeDisabled
* feat(ux): update truncate dots to be shorter in tables
* fix(core): resolve DEP0040 punycode deprecation via patch-
package
* feat(plan): create generic Checklist component and refactor
Todo
* Refactoring of disabling of mouse tracking in e2e tests
* feat(core): Add GOOGLE_GENAI_API_VERSION environment variable
-------------------------------------------------------------------
Thu Feb 5 09:56:37 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.27.0:
* remove fireAgent and beforeAgent hook
* Remove unused modelHooks and toolHooks
* feat(cli): sanitize ANSI escape sequences in non-interactive
output
* Update Attempt text to Retry when showing the retry happening
to the …
* feat(cli): implement event-driven tool execution scheduler
* chore(release): bump version to
* Remove other rewind reference in docs
* feat(skills): add code-reviewer skill
* feat(plan): Extend `Shift+Tab` Mode Cycling to include `Plan`
Mode
* feat(plan): refactor TestRig and eval helper to support
configurable approval modes
* feat(workflows): support recursive workstream labeling and
new IDs
* Run evals for all models.
* fix(github): improve label-workstream-rollup efficiency with
* Docs: Update changelogs for v.0.25.0 and v0.26.0-preview.0
releases.
* Migrate beforeTool and afterTool hooks to hookSystem
* fix(github): improve label-workstream-rollup efficiency and
fix bugs
* feat(cli): improve skill enablement/disablement verbiage
* fix(admin): Ensure CLI commands run in non-interactive mode
* feat(core): support dynamic variable substitution in system
prompt override
* fix(core,cli): enable recursive directory access for
* Docs: Marking for experimental features
* drain stdin on exit
* refactor(cli): decouple UI from live tool execution via
ToolActionsContext
* fix(core): update token count and telemetry on /chat resume
history load
* fix: /policy to display policies according to mode
* fix(core): simplify replace tool error message
* feat(cli): consolidate shell inactivity and redirection
monitoring
* fix(scheduler): prevent stale tool re-publication and fix
stuck UI state
* feat(config): default enableEventDrivenScheduler to true
* feat(hooks): enable hooks system by default
* feat(core): Enable AgentRegistry to track all discovered
subagents
* feat(core): Have subagents use a JSON schema type for input.
* feat: replace large text pastes with [Pasted Text: X lines]
placeholder
* security(hooks): Wrap hook-injected context in distinct XML
tags
* New skill: docs-writer
* fix(core): Resolve AbortSignal MaxListenersExceededWarning
* Disable tips after 10 runs
* Fix so rewind starts at the bottom and loadHistory refreshes
static content.
* feat(core): Remove legacy settings.
* feat(plan): add 'communicate' tool kind
* feat(routing): A/B Test Numerical Complexity Scoring for
Gemini 3
* feat(plan): update UI Theme for Plan Mode
* fix(ui): stabilize rendering during terminal resize in
alternate buffer
* feat(cli): add /agents config command and improve agent
discovery
* feat(mcp): add enable/disable commands for MCP servers
* fix(cli)!: Default to interactive mode for positional
arguments
* Fix issue #17080
* feat(core): Refresh agents after loading an extension.
* fix(cli): include source in policy rule display
* fix: remove obsolete CloudCode PerDay quota and 120s terminal
threshold
* Refactor subagent delegation to be one tool per agent
* fix(core): Include MCP server name in OAuth message
* Fix pr-triage.sh script to update pull requests with tags
"help wanted" and "maintainer only"
* feat(plan): implement simple workflow for planning in main
agent
* fix: exit with non-zero code when esbuild is missing
* fix: ensure @-command UI message ordering and test
* fix(core): add alternative command names for Antigravity
editor detec…
* Refactor: Migrate CLI `appEvents` to Core `coreEvents`
* fix(core): await MCP initialization in non-interactive mode
-------------------------------------------------------------------
Wed Jan 28 12:08:57 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.26.0:
* fix: PDF token estimation
* docs: clarify F12 to open debug console
* docs: Remove .md extension from internal links in
architecture.md
* Add an experimental setting for extension config
* feat: add Rewind Confirmation dialog and Rewind Viewer
component
* fix(a2a): Don't throw errors for GeminiEventType Retry and
InvalidStream.
* prefactor: add rootCommands as array so it can be used for
policy parsing
* remove unnecessary `` key bindings
* docs(skills): use body-file in pr-creator skill for better
reliability
* chore(automation): recursive labeling for workstream
descendants
* feat: introduce 'skill-creator' built-in skill and CJS
management tools
* chore(automation): remove automated PR size and complexity
labeler
* refactor(skills): replace 'project' with 'workspace' scope
* Docs: Update release notes for 1/13/2026
* Simplify paste handling
* chore(automation): improve scheduled issue triage discovery
and throughput
* fix(acp): run exit cleanup when stdin closes
* feat(scheduler): add types needed for event driven scheduler
* Remove unused rewind key binding
* Remove sequence binding
* feat(cli): undeprecate the --prompt flag
* chore: update dependabot configuration
* feat(config): add 'auto' alias for default model selection
* Enable & disable agents
* cleanup: Improve keybindings
* Add timeout for shell-utils to prevent hangs.
* feat(plan): add experimental plan flag
* feat(cli): add security consent prompts for skill
installation
* fix: replace 3 consecutive periods with ellipsis character
* chore(automation): ensure status/need-triage is applied and
never cleared automatically
* fix: Handle colons in skill description frontmatter
* refactor(core): harden skill frontmatter parsing
* feat(skills): add conflict detection and warnings for skill
overrides
* feat(scheduler): add SchedulerStateManager for reactive tool
state
* chore(automation): enforce 'help wanted' label permissions
and update guidelines
* fix(core): resolve circular dependency via tsconfig paths
* chore/release: bump version to
0.26.0-nightly.20260115.6cb3ae4e0
* fix(automation): correct status/need-issue label matching
wildcard
* fix(automation): prevent label-enforcer loop by ignoring all
bots
* Add links to supported locations and minor fixes
* feat(policy): add source tracking to policy rules
* feat(automation): enforce '🔒 maintainer only' and fix bot
loop
* Make merged settings non-nullable and fix all lints related
to that.
* fix(core): prevent ModelInfo event emission on aborted signal
* Replace relative paths to fix website build
* Restricting to localhost
* fix(cli): add explicit dependency on color-convert
* fix(automation): robust label enforcement with permission
checks
* fix(cli): prevent OOM crash by limiting file search traversal
and adding timeout
* fix(cli): safely handle /dev/tty access on macOS
* docs: clarify workspace test execution in GEMINI.md
* Add support for running available commands prior to MCP
servers loading
* feat(plan): add experimental 'plan' approval mode
* feat(scheduler): add functional awaitConfirmation utility
* fix(infra): update maintainer rollup label to 'workstream-
rollup'
* fix(infra): use GraphQL to detect direct parents in rollup
workflow
* chore(workflows): rename label-workstream-rollup workflow
* skip simple-mcp-server.test.ts
* Steer outer agent to use expert subagents when present
* Fix race condition by awaiting scheduleToolCalls
* cleanup: Organize key bindings
* feat(core): Add `generalist` agent.
* perf(ui): optimize text buffer and highlighting for large
inputs
* fix(core): fix PTY descriptor shell leak
* feat(plan): enforce strict read-only policy and halt
execution on violation
* remove need-triage label from bug_report template
* fix(core): truncate large telemetry log entries
* docs(extensions): add Agent Skills support and mark feature
as experimental
* fix(core): surface warnings for invalid hook event names in
configuration
* feat(plan): remove `read_many_files` from approval mode
policies
* feat(admin): implement admin controls polling and restart
prompt
* Remove LRUCache class migrating to mnemoist
* feat(settings): rename negative settings to positive naming
(disable* -> enable*)
* refactor(cli): unify shell confirmation dialogs
* feat(agent): enable agent skills by default
* refactor(core): foundational truncation refactoring and token
estimation optimization
* fix(hooks): enable /hooks disable to reliably stop single
hooks
* Don't commit unless user asks us to.
* chore: remove a2a-adapter and bump @a2a-js/sdk to 0.3.8
* fix: Show experiment values in settings UI for
compressionThreshold
* feat(cli): replace relative keyboard shortcuts link with web
URL
* fix(core): resolve PKCE length issue and stabilize OAuth
redirect port
* Delete rewind documentation for now
* Stabilize skill-creator CI and package format
* Stabilize the git evals
* fix(core): attempt compression before context overflow check
* Fix inverted logic.
* chore(scripts): add duplicate issue closer script and fix
lint errors
* docs: update README and config guide to reference Gemini 3
* fix(cli): correct Homebrew installation detection
* Demote git evals to nightly run.
* fix(cli): use OSC-52 clipboard copy in Windows Terminal
* Fix: Process all parts in response chunks when thought is
first
* fix(automation): fix jq quoting error in pr-triage.sh
* refactor(core): decouple scheduler into orchestration,
policy, and confirmation
* feat: add /introspect slash command
* refactor(cli): centralize tool mapping and decouple legacy
scheduler
* fix(ui): ensure rationale renders before tool calls
* fix(workflows): use author_association for maintainer check
* fix return type of fireSessionStartEvent to defaultHookOutput
* feat(cli): add experiment gate for event-driven scheduler
* feat(core): improve shell redirection transparency and
security
* fix(core): deduplicate ModelInfo emission in GeminiClient
* docs(themes): remove unsupported DiffModified color key
* fix: update currentSequenceModel when modelChanged
* feat(core): enhanced anchored iterative context compression
with self-verification
* Fix mcp instructions
* [A2A] Disable checkpointing if git is not installed
* feat(admin): set admin.skills.enabled based on
advancedFeaturesEnabled setting
* Test coverage for hook exit code cases
* Revert "Revert "Update extension examples""
* fix(core): Provide compact, actionable errors for agent
delegation failures
* fix: migrate BeforeModel and AfterModel hooks to HookSystem
* feat(admin): apply admin settings to gemini
skills/mcp/extensions commands
* fix(core): update telemetry token count after session resume
* Demote the subagent test to nightly
* feat(plan): telemetry to track adoption and usage of plan
mode
* feat: Add flash lite utility fallback chain
* Fixes Windows crash: "Cannot resize a pty that has already
exited"
* feat(core): Add initial eval for generalist agent.
* feat(core): unify agent enabled and disabled flags
* fix(core): resolve auto model in default strategy
* docs: update project context and pr-creator workflow
* fix(cli): send gemini-cli version as mcp client version
* fix(cli): resolve Ctrl+Enter and Ctrl+J newline issues
* Remove missing sidebar item
* feat(core): Ensure all properties in `hooks` object are event
names.
* fix(cli): fix newline support broken in previous PR
* Add interactive ValidationDialog for handling 403
VALIDATION_REQUIRED errors.
* Add Esc-Esc to clear prompt when it's not empty
* Avoid spurious warnings about unexpected renders triggered by
appEvents and coreEvents.
* fix(cli): resolve home/end keybinding conflict
* fix bad fallback logic external editor logic
* Fix bug where System scopes weren't migrated.
* Fix mcp tool lookup in tool registry
-------------------------------------------------------------------
Wed Jan 21 10:34:19 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.25.0:
* feat(core): improve activate_skill tool and use lowercase XML
tags
* Add initiation method telemetry property
* Hx support
* [Skills] Foundation: Centralize management logic and feedback
rendering
* Introduce GEMINI_CLI_HOME for strict test isolation
* [Skills] Multi-scope skill enablement and shadowing fix
* policy: extract legacy policy from core tool scheduler to
policy engine
* Enhance TestRig with process management and timeouts
* Update troubleshooting doc for
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
* Add keytar to dependencies
* Simplify extension settings command
* feat(admin): implement extensions disabled
* Core data structure updates for Rewind functionality
* feat(hooks): simplify hook firing with HookSystem wrapper
methods
* Add exp.gws_experiment field to LogEventEntry
* Revert "feat(admin): implement extensions disabled"
* feat(core): Decouple enabling hooks UI from subsystem.
* docs: add docs for hooks + extensions
* feat(core): Preliminary changes for subagent model routing.
* Optimize CI workflow: Parallelize jobs and cache linters
* Add option to fallback for capacity errors in ProQuotaDi…
* feat: add confirmation details support + jsonrpc vs http rest
support
* fix(workflows): fix and limit labels for pr-triage.sh script
* Fix and rename introspection agent -> cli help agent
* Docs: Changelogs update 20260105
* enable cli_help agent by default
* Optimize json-output tests with mock responses
* Fix CI for forks
* Reduce nags about PRs that reference issues but don't fix
them.
* feat(cli): add filepath autosuggestion after slash commands
* Add upgrade option for paid users
* [Skills] UX Polishing: Transparent feedback and CLI
refinements
* Polish: Move 'Failed to load skills' warning to debug logs
* feat(cli): export chat history in /bug and prefill GitHub
issue
* bug(core): fix issue with overrides to bases.
* enableInteractiveShell for external tooling relying on a2a
server
* Reapply "feat(admin): implement extensions disabled"
* bug(core): Fix spewie getter in `hookTranslator.ts`
* feat(hooks): add mcp_context to BeforeTool and AfterTool hook
inputs
* Add extension linking capabilities in cli
* Update the page's title to be consistent and show in site.
* docs: correct typo in bufferFastReturn JSDoc ("accomodate" →
"accommodate")
* fix: typo in MCP servers settings description
* fix: yolo should auto allow redirection
* fix(cli): disableYoloMode shouldn't enforce default approval
mode against args
* feat: add native Sublime Text support to IDE detection
* refactor(core): extract ToolModificationHandler from
scheduler
* Add support for Antigravity terminal in terminal setup
utility
* feat(core): Wire up model routing to subagents.
* feat(cli): add /agents slash command to list available agents
* docs(cli): fix includeDirectories nesting in configuration.md
* feat: implement file system reversion utilities for rewind
* Always enable redaction in GitHub actions.
* fix: remove unsupported 'enabled' key from workflow config
-------------------------------------------------------------------
Mon Jan 19 08:50:19 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.24.4:
* fix(patch): cherry-pick 88f1ec8 to release/v0.24.0-pr-16179
- update to 0.24.0:
* chore(core): refactor model resolution and cleanup fallback
logic
* Add Folder Trust Support To Hooks
* Record timestamp with code assist metrics.
* feat(policy): implement dynamic mode-aware policy evaluation
* fix(core): use debugLogger.debug for startup profiler logs
* feat(ui): Add security warning and improve layout for Hooks
list
* fix #15369, prevent crash on unhandled EIO error in readStdin
cleanup
* chore: improve error messages for --resume
* chore: remove clipboard file
* Implemented unified secrets sanitization and env. redaction
options
* feat: automatic `/model` persistence across Gemini CLI
sessions
* refactor(core): remove deprecated permission aliases from
BeforeToolHookOutput
* fix: add missing `type` field to MCPServerConfig
* Make schema validation errors non-fatal
* chore: limit MCP resources display to 10 by default
* Add experimental in-CLI extension install and uninstall
subcommands
* feat: Add A2A Client Manager and tests
* feat: terse transformations of image paths in text buffer
* Security: Project-level hook warnings
* Added modifyOtherKeys protocol support for tmux
* chore(core): fix comment typo
* feat: Show snowfall animation for holiday theme
* do not persist the fallback model
-------------------------------------------------------------------
Wed Jan 7 11:59:30 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.23.0:
* Code assist service metrics.
* chore/release: bump version to
0.21.0-nightly.20251216.bb0c0d8ee
* Use official ACP SDK and support HTTP/SSE based MCP servers
* Remove foreground for themes other than shades of purple and
holiday.
* Disallow unnecessary awaits.
* Add one to the padding in settings dialog to avoid flicker.
* feat(core): introduce remote agent infrastructure and rename
local executor
* feat(cli): Add `/auth logout` command to clear credentials
and auth state
* (fix) Automated pr labeller
* feat: launch Gemini 3 Flash in Gemini CLI ⚡️⚡️⚡️
* Respect previewFeatures value from the remote flag if
undefined
* feat(ui): add Windows clipboard image support and Alt+V paste
workaround
* chore(core): remove legacy fallback flags and migrate loop
detection
* fix(ui): Prevent eager slash command completion hiding
sibling commands
* Docs: Update Changelog for Dec 17, 2025
* Code Assist backend telemetry for user accept/reject of
suggestions
* fix(cli): correct initial history length handling for chat
commands
* chore/release: bump version to
0.21.0-nightly.20251218.739c02bd6
* Change detailed model stats to use a new shared Table class
to resolve robustness issues.
* feat: add agent toml parser
* Add core tool that adds all context from the core package.
* (docs): Add reference section to hooks documentation
* feat(hooks): add support for friendly names and descriptions
* feat: Detect background color
* add 3.0 to allowed sensitive keywords
* feat: Pass additional environment variables to shell
execution
* Remove unused code
* Handle all 429 as retryableQuotaError
* Remove unnecessary dependencies
* fix: prevent infinite loop in prompt completion on error
* fix(ui): show command suggestions even on perfect match and
sort them
* feat(hooks): reduce log verbosity and improve error reporting
in UI
* feat: simplify tool confirmation labels for better UX
* chore/release: bump version to
0.21.0-nightly.20251219.70696e364
* feat(core): Implement JIT context memory loading and UI sync
* feat(ui): Put "Allow for all future sessions" behind a
setting off by default.
* fix(cli):change the placeholder of input during the shell
mode
* Validate OAuth resource parameter matches MCP server URL
* docs(cli): add System Prompt Override (GEMINI_SYSTEM_MD)
* more robust command parsing logs
* Introspection agent demo
* fix(core): sanitize hook command expansion and prevent
injection
* fix(folder trust): add validation for trusted folder level
* fix(cli): fix right border overflow in trust dialogs
* fix(policy): fix bug where accepting-edits continued after it
was turned off
* fix: prevent infinite relaunch loop when --resume fails
* chore/release: bump version to
0.21.0-nightly.20251220.41a1a3eed
* feat(telemetry): add clearcut logging for hooks
* fix(core): Add `.geminiignore` support to SearchText tool
-------------------------------------------------------------------
Fri Jan 2 14:28:46 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 0.22.5:
* fix(patch): cherry-pick 07e597d to release/v0.22.4-pr-15684
-------------------------------------------------------------------
Sun Dec 28 13:25:48 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 0.22.4:
* fix(patch): cherry-pick 37be162 to release/v0.22.3-pr-15601
to patch version v0.22.3 and create version 0.22.4
- update to 0.22.3:
* fix(patch): cherry-pick 9cdb267 to release/v0.22.2-pr-15494
to patch version v0.22.2 and create version 0.22.3
- update to 0.22.0:
* feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var
* feat: display quota stats for unused models in /stats
* feat: ensure codebase investigator uses preview model when
main agent does
* chore: add closing reason to stale bug workflow
* Send the model and CLI version with the user agent
* refactor(sessions): move session summary generation to
startup
* Limit search depth in path corrector
* Fix: Correct typo in code comment
* feat(core): Plumbing for late resolution of model configs.
* feat: attempt more error parsing
* Add missing await.
* feat(core): Add support for transcript_path in hooks for git-
ai/Gemini extension
* refactor: implement DelegateToAgentTool with discriminated
union
* feat: reset availabilityService on /auth
* tool(cli): tweak the frontend tool to be aware of more core
files from the cli
* feat(cli): polish cached token stats and simplify stats
display when quota is present.
* feat(settings-validation): add validation for settings schema
* fix(ide): Update IDE extension to write auth token in env var
* feat(a2a): Introduce /init command for a2a server
* feat: support multi-file drag and drop of images
* fix(policy): allow codebase_investigator by default in read-
only policy
* refactor(ide ext): Update port file name + switch to 1-based
index for characters + remove truncation text
* fix(vscode-ide-companion): correct license generation for
workspace dependencies
* fix: temp fix for subagent invocation until subagent
delegation is merged to stable
* test: update ide detection tests to make them more robust
when run in an ide
* Remove flex from stats display. See snapshots for diffs.
* Add license field into package.json
* feat: Persistent "Always Allow" policies with granular shell
& MCP support
* fix(core): commandPrefix word boundary and compound command
safety
* Add clarity to error messages
* Disallow redundant typecasts.
* fix(auth): prioritize GEMINI_API_KEY env var and skip
unnecessary key…
* fix: use zod for safety check result validation
* update(telemetry): add hashed_extension_name to field to
extension events
-------------------------------------------------------------------
Mon Dec 22 09:23:26 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 0.21.3:
* fix(patch): cherry-pick 9e6914d to release/v0.21.2-pr-15288
to patch version v0.21.2 and create version 0.21.3
- update to 0.21.2:
* fix(patch): cherry-pick a6d1245 to release/v0.21.1-pr-15214
to patch version v0.21.1 and create version 0.21.2
- update to 0.21.1:
* **Full Changelog**: https://github.com/google-gemini/gemini-
cli/compare/v0.21.0...v0.21.1
-------------------------------------------------------------------
Wed Dec 17 14:14:23 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 0.21.0:
* refactor(stdio): always patch stdout and use
createWorkingStdio for clean output
* implement fuzzy search inside settings
* feat: enable message bus integration by default
* docs: Recommend using --debug intead of --verbose for CLI
debugging
* feat: consolidate remote MCP servers to use `url` in config
* Restrict integration tests tools
* track github repository names in telemetry events
* Allow telemetry exporters to GCP to utilize user's login
credentials, if requested
* refactor(editor): use const assertion for editor types with
single source of truth
* fix(security): Fix npm audit vulnerabilities in glob and
body-parser
* Add new enterprise instructions
* feat(hooks): Hook Session Lifecycle & Compression Integration
* Avoid triggering refreshStatic unless there really is a
banner to display.
* feat(hooks): Hooks Commands Panel, Enable/Disable, and
Migrate
* fix: Bundle default policies for npx distribution
* Fix tests
* feat: add scheduled workflow to close stale issues
* feat: Support Extension Hooks with Security Warning
* feat: Add enableAgents experimental flag
* docs: fix typo 'socus' to 'focus' in todos.md
* Markdown export: move the emoji to the end of the line
* fix(acp): prevent unnecessary credential cache clearing on
re-authent…
* fix: improve retry logic for fetch errors and network codes
* remove unused isSearching field
* feat(mcp): add `--type` alias for `--transport` flag in
gemini mcp add
* feat(cli): Move key restore logic to core
* feat: add auto-execute on Enter behavior to argumentless MCP
prompts
* fix(shell): cursor visibility when using interactive mode
* Adding session id as part of json o/p
* fix(extensions): resolve GitHub API 415 error for source
tarballs
* fix(client): Correctly latch hasFailedCompressionAttempt flag
* Disable flaky extension reloading test on linux
* Add support for MCP dynamic tool update by
`notifications/tools/list_changed`
* Fix privacy screen for legacy tier users
* feat: Exclude maintainer labeled issues from stale issue
closer
* Grant chained workflows proper permission.
* Make trigger_e2e manually fireable.
* Write e2e status to local repo not forked repo
* Fixes [API Error: Cannot read properties of undefined
(reading 'error')]
* Fix bug in the shellExecutionService resulting in both
truncation and 3X bloat
* Fix issue where we were passing the model content reflecting
terminal line wrapping.
* chore/release: bump version to
0.21.0-nightly.20251204.3da4fd5f7
* feat(sessions): use 1-line generated session summary to
describe sessions
* Use Robot PAT for chained e2e merge queue skipper
* fix(core): improve API response error handling and retry
* refactor(telemetry): Improve previous PR that allows
telemetry to use the CLI auth and add testing
* Always set status in chained_e2e workflow
* feat: Add OTEL log event `gemini_cli.startup_stats` for
startup stats.
* feat: auto-execute on slash command completion functions
* Docs: Proper release notes
* Add support for user-scoped extension settings
* refactor(core): Improve environment variable handling in
shell execution
* Remove old E2E Workflows
* fix(lint): upgrade pip and use public pypi for yamllint
* fix: use Gemini API supported image formats for clipboard
* feat(a2a): Introduce restore command for a2a server
* allow final:true to be returned on a2a server edit calls.
-------------------------------------------------------------------
Sat Dec 13 16:33:21 UTC 2025 - Dirk Müller <dmueller@suse.com>
- package 0.20.2