summaryrefslogtreecommitdiff
path: root/packages/cli/src
AgeCommit message (Collapse)Author
2025-06-05OpenTelemetry Integration & Telemetry Control Flag (#762)Jerop Kipruto
2025-06-05use execSync (vs spawnSync) so launch fails if build_sandbox fails; tweaks ↵Olcan
in build_sandbox to fix some shellcheck warnings, and to simplify the logic slightly (#767)
2025-06-05Bump default model to `gemini-2.5-pro-preview-06-05` (#765)Eddie Santos
2025-06-05Add support for `.geminiignore` file (#757)Eddie Santos
2025-06-05fix: Disable automatic image building if BUILD_SANDBOX is not provided (#764)Tolik Malibroda
2025-06-05feat: Add multi-stage docker build support for custom sandbox.Dockerfile (#746)Tolik Malibroda
2025-06-05Jacob314/memory fixes (#754)Jacob Richman
Address multiple possible memory leaks found bystatic analysis of the codebase. The primary source of the leaks was event listeners on child processes and global objects that were not being properly removed, potentially causing their closures to be retained in memory indefinitely particularly for processes that did not exit. There are two commits. A larger one made by gemini CLI and a smaller one by me to make sure we always disconnect child processes as part of the cleanup methods. These changes may not actually fix any leaks but do look like reasonable defensive coding to avoid leaking event listeners or child processes. The following files were fixed: This is Gemini's somewhat overconfident description of what it did. packages/core/src/tools/shell.ts: Fixed a leak where an abortSignal listener was not being reliably removed. packages/cli/src/utils/readStdin.ts: Fixed a significant leak where listeners on process.stdin were never removed. packages/cli/src/utils/sandbox.ts: Fixed leaks in the imageExists and pullImage helper functions where listeners on spawned child processes were not being removed. packages/core/src/tools/grep.ts: Fixed three separate leaks in the isCommandAvailable check and the git grep and system grep strategies due to un-removed listeners on child processes. packages/core/src/tools/tool-registry.ts: Corrected a leak in the execute method of the DiscoveredTool class where listeners on the spawned tool process were not being removed.
2025-06-05Fix "npx https:...." header issue (#759)N. Taylor Mullen
2025-06-05fix(cli): Handle non-array tool response parts (#758)N. Taylor Mullen
2025-06-04Add `/tools` slash command to view available tools (#752)Eddie Santos
2025-06-04CLI_TITLE env var for setting the CLI title (#748)Tommaso Sciortino
2025-06-04Update light themes (#726)Miguel Solorio
2025-06-04Bring back 2.5-pro usage (#744)N. Taylor Mullen
https://chat.google.com/room/AAQApBm33UQ/8DQw4Ykp8f0/8DQw4Ykp8f0?cls=10
2025-06-04feat(accessibility): Add option to disable loading phrases (#745)N. Taylor Mullen
2025-06-04refactor(core): Centralize tool response formatting (#743)N. Taylor Mullen
2025-06-04fix: Fix piped input mode in sandbox (#739)Tolik Malibroda
2025-06-03Fix several bugs in prompt history (#734)Marat Boshernitsan
Co-authored-by: Marat Boshernitsan <[email protected]>
2025-06-04Ignore folders files (#651)Keith Ballinger
# Add .gitignore-Aware File Filtering to gemini-cli This pull request introduces .gitignore-based file filtering to the gemini-cli, ensuring that git-ignored files are automatically excluded from file-related operations and suggestions throughout the CLI. The update enhances usability, reduces noise from build artifacts and dependencies, and provides new configuration options for fine-tuning file discovery. Key Improvements .gitignore File Filtering All @ (at) commands, file completions, and core discovery tools now honor .gitignore patterns by default. Git-ignored files (such as node_modules/, dist/, .env, and .git) are excluded from results unless explicitly overridden. The behavior can be customized via a new fileFiltering section in settings.json, including options for: Turning .gitignore respect on/off. Adding custom ignore patterns. Allowing or excluding build artifacts. Configuration & Documentation Updates settings.json schema extended with fileFiltering options. Documentation updated to explain new filtering controls and usage patterns. Testing New and updated integration/unit tests for file filtering logic, configuration merging, and edge cases. Test coverage ensures .gitignore filtering works as intended across different workflows. Internal Refactoring Core file discovery logic refactored for maintainability and extensibility. Underlying tools (ls, glob, read-many-files) now support git-aware filtering out of the box. Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-03fix BUILD_SANDBOX env var for updating sandbox while running linked binary ↵Olcan
(#729)
2025-06-03remove noop code (#728)Olcan
2025-06-03fix: do not try to pull development sandbox image from the internet (#725)Brandon Keiji
2025-06-03feat: notify user when chat context is compressed (#724)Brandon Keiji
2025-06-03Fix flash preview (#723)N. Taylor Mullen
2025-06-03Workaround Gemini API break - Use flash 04-17 (#721)N. Taylor Mullen
2025-06-03feat(cli): randomize and expand witty loading phrases (#704)Allen Hutchison
2025-06-03Refactor: Use config.getGeminiClient() for GeminiClient instantiation (#715)N. Taylor Mullen
2025-06-02Remove redundant variable. (#713)N. Taylor Mullen
2025-06-02refactor: maintain 1 GeminiChat per GeminiClient (#710)Brandon Keiji
2025-06-02fix(cli): restore first-launch theme prompt (#703)Jacob Richman
2025-06-02feat(cli): Allow custom title in CLI header (#706)Scott Densmore
2025-06-02Feat: Enable YOLO mode for non-interactive execution (#702)N. Taylor Mullen
2025-06-02strip ansi from shell output (#699)Olcan
2025-06-02Fix bug pasting multiline strings (#632)Jacob Richman
2025-06-02feat(cli): add pro model availability check and fallback to flash (#608)Allen Hutchison
2025-06-02refactor: Update MCP tool discovery to use @google/genai - Also fixes JSON ↵N. Taylor Mullen
schema issues. (#682)
2025-06-02feat: Add --yolo mode that automatically accepts all tools executions (#695)Tolik Malibroda
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-02feat: Refactor CLI header for customizable logo text (#658)N. Taylor Mullen
2025-06-02Color enhancements (#680)Miguel Solorio
2025-06-02enable async tool discovery by making the registry accessor async; remove ↵Olcan
call to discoverTools that caused duplicate discovery (#691)
2025-06-02fix: Ensure all tool calls are complete before submitting responses (#689)N. Taylor Mullen
2025-06-01more strict italics: delimiters cannot be preceded/followed by \w or ↵Olcan
[./\\]\S (#677)
2025-06-01feat: Implement non-interactive mode for CLI (#675)N. Taylor Mullen
2025-06-01fix: Display MCP server count in context summary (#674)N. Taylor Mullen
2025-06-01refactor: Centralize tool scheduling logic and simplify React hook (#670)N. Taylor Mullen
2025-05-31Fix: Make file path case-insensitive in @-command (#659)Scott Densmore
2025-05-31feat: allow custom filename for context files (#654)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-31Update default & ANSI theme names (#637)Miguel Solorio
2025-05-31Test: Add comprehensive tests for useToolScheduler hookTaylor Mullen
- Introduces a suite of tests for the hook, covering various scenarios including: - Successful tool execution - Tool not found errors - Errors during - Errors during tool execution - Tool confirmation (approved and cancelled) - (currently skipped) - Live output updates - (currently skipped) - Cancellation of tool calls (before execution and during approval) - (currently skipped) - Execution of multiple tool calls - Preventing scheduling while other calls are running - (currently skipped) - Includes tests for the utility function to ensure correct mapping of tool call states to display objects. - Mocks dependencies like , , and individual instances. - Uses fake timers to control asynchronous operations. Note: Some tests involving complex asynchronous interactions (confirmations, live output, cancellations) are currently skipped due to challenges in reliably testing these scenarios with the current setup. These will be addressed in future work.
2025-05-30Fix: Update git branch watcher to use .git/logs/HEAD (#643)Scott Densmore
2025-05-30feat: Implement delayed Ctrl+C exit promptDaniel Young Lee
This change introduces a small delay after the first Ctrl+C press, prompting the user to press Ctrl+C again to exit. This helps prevent accidental termination of the application. - Added `exitOnCtrlC={false}` to the Ink render options in `gemini.tsx` to enable custom Ctrl+C handling. - Implemented logic in `App.tsx` to: - Display "Press Ctrl+C again to exit." for 2 seconds after the first Ctrl+C. - Exit the application if Ctrl+C is pressed again during this period. - Revert to normal operation if the second Ctrl+C is not pressed within the timeout. - Defined a constant `CTRL_C_PROMPT_DURATION_MS` for the timeout duration.