------------------------------------------------------------------- Wed Mar 4 06:42:12 UTC 2026 - Michael Vetter - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - package 0.20.2