summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-06-17Auto-update notifications (#1110)Eddie Santos
2025-06-17Update CONTRIBUTING.md (#1130)matt korwel
2025-06-16Update /help page (#1119)Miguel Solorio
2025-06-16Cache credentials in home dir, not working dir (#1122)Tommaso Sciortino
2025-06-16Simplify Error handling in Code Assist onboarding (#1123)Tommaso Sciortino
2025-06-16Fix bug where single line inserts were deleting all text after the in… (#1114)Jacob Richman
2025-06-16Propagate abort signal to ccpa generateContent. (#1106)Tommaso Sciortino
2025-06-16fix: add httpOptions with headers field to CCPA client and set User-Agent ↡Marlon Gamez
header (#1103)
2025-06-16Mock out 'open' in tests. Fix test issues. (#1100)Tommaso Sciortino
2025-06-16Preflight and integration npx (#1096)matt korwel
2025-06-15Add ask mode approvers to code owners.Taylor Mullen
2025-06-16Added sandbox error hint when MCP servers fail to launch in sandbox mode (#972)Mark McDonald
2025-06-16feat: clear should also clear chat history (#1008)Abhi
2025-06-16Move the shadow git repository to the user's home dir (#1013)Louis Jimenez
2025-06-16feat: text-buffer: input sanitization and delete character handling. (#1031)Jacob Richman
2025-06-16feat(cli): Standardize keyboard shortcut hints (#1092)N. Taylor Mullen
2025-06-16fix version release for Dockerfile build (#1080)Zach Sais
2025-06-15Update /tools desc to show the name of each tool as known to the model (#1091)Billy Biggs
2025-06-15feat(test): Increase test coverage across CLI and Core packages (#1089)N. Taylor Mullen
2025-06-15feat(ci): run actions on the release branch (#1086)N. Taylor Mullen
2025-06-16Add Vertex env vars to sandbox (#1005)Mark McDonald
Co-authored-by: Scott Densmore <[email protected]>
2025-06-16small fixes in telemetry docs (#1081)Jerop Kipruto
- `GOOGLE_CLOUD_PROJECT` --> `OTLP_GOOGLE_CLOUD_PROJECT` - Remove `npm run start:gcp` shorthand from docs until after improving cleanup process
2025-06-15feat: Adds shell command context to gemini history (#1076)Abhi
2025-06-15Add a command for starting Gemini CLI with GCP telemetry (#1079)Jerop Kipruto
This command enables starting the application with GCP telemetry: ```shell npm run start:gcp ```
2025-06-16Decouple telemetry project ID configuration (#1077)Jerop Kipruto
#750 Renames project ID for telemetry from `GOOGLE_CLOUD_PROJECT` to `OTLP_GOOGLE_CLOUD_PROJECT`. This change allows for a separate Google Cloud Project to be used for telemetry data, distinct from the project used for other services like Vertex AI or Code Assist. This enhances clarity and flexibility in project configuration.
2025-06-15bug: Fix modify edit (#1078)Leo
2025-06-15refactor(cli): Use excludeTools for non-interactive mode (#1072)N. Taylor Mullen
2025-06-15Stabilize /bug command tests with consistent version mocking (#1070)Jerop Kipruto
The `/bug` command tests in `slashCommandProcessor.test.ts` were flaky due to inconsistent CLI versioning. This commit: - Implements a flexible, top-level mock for `getCliVersion` that can be overridden per test. - Sets a default mock value for `/bug` command tests via `beforeEach`. - Overrides the mock in one test case requiring a specific version ('test-version'). - Ensures the test's helper `getExpectedUrl` receives the correct explicit version. - Aligns the expected CLI version in the custom bug URL test with the default mock. These changes ensure consistent CLI versioning in tests, resolving flakiness. #1071
2025-06-15Add file operation telemetry (#1068)Jerop Kipruto
Introduces telemetry for file create, read, and update operations. This change adds the `gemini_cli.file.operation.count` metric, recorded by the `read-file`, `read-many-files`, and `write-file` tools. The metric includes the following attributes: - `operation` (string: `create`, `read`, `update`): The type of file operation. - `lines` (optional, Int): Number of lines in the file. - `mimetype` (optional, string): Mimetype of the file. - `extension` (optional, string): File extension of the file. Here is a stacked bar chart of file operations by extension (`js`, `ts`, `md`): ![image](https://github.com/user-attachments/assets/3e8f8ea9-6155-4186-863c-075cc47647c5) Here is a stacked bar chart of file operations by type (`create`, `read`, `update`): ![image](https://github.com/user-attachments/assets/3fcf491d-31d0-4ba8-80e6-7fd2bd9c7c27) #750 cc @allenhutchison as discussed
2025-06-15Refactor: Use telemetry_utils.js in local_telemetry.js (#1066)Jerop Kipruto
## TLDR Refactors `scripts/local_telemetry.js` to use shared helper functions and constants from `scripts/telemetry_utils.js`. ## Dive Deeper This change centralizes common telemetry-related logic, including: - Binary downloading and management (`ensureBinary`) - Reading and writing JSON files - Waiting for network ports - Managing workspace telemetry settings (`manageTelemetrySettings`) - Process cleanup and signal handling (`registerCleanup`) By using the shared utilities, `local_telemetry.js` becomes more concise and focused on its specific task of setting up the local OpenTelemetry and Jaeger environment. ## Docs https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#local-telemetry-with-jaeger-ui-for-traces ## Issue #750
2025-06-15Support completion of checkpoint names in /resume (#1063)Billy Biggs
2025-06-15Stabilize prompts snapshot test by properly mocking the SANDBOX env var. (#1067)Marat Boshernitsan
Co-authored-by: Marat Boshernitsan <[email protected]>
2025-06-15Add support for /mcp schema to show full parameter schema as JSON (#1050)Billy Biggs
Outputs a raw JSON version of the parameter names and descriptions as provided to the model, plus minor formatting adjustments to /mcp desc.
2025-06-15feat: Show model thoughts while loading (#992)Asad Memon
2025-06-15feat: Add token stats in footer (#909)Asad Memon
2025-06-15Add support for showing descriptions of CLI tools (#1052)Billy Biggs
Adds support for /tools desc to show the full description of tools as provided to the model.
2025-06-15fix(core): Improve shell tool reliability and test portability (#1036)Sijie Wang
2025-06-15Create pull_request_template.md (#1054)matt korwel
2025-06-15feat(cli): add glob as a direct dependency (#1065)N. Taylor Mullen
2025-06-15Telemetry: Improve API response logging with function call details (#1064)Jerop Kipruto
2025-06-15Avoid import.meta.dirname to be backwards compatible to Node.js 18+ (#1058)Billy Biggs
2025-06-15Add telemetry command and refactor telemetry settings (#1060)Jerop Kipruto
#750 ### Telemetry Settings Refactors telemetry configuration to use a nested `telemetry` object in `settings.json`, for example: ```json { "telemetry": { "enabled": true, "target": "gcp" "log-prompts": "true" }, "sandbox": false } ``` The above includes - Centralized telemetry settings under a `telemetry` object in `settings.json`. - CLI flags for the `gemini` command to override all telemetry sub-settings: - `--telemetry` / `--no-telemetry` - `--telemetry-target <local|gcp>` - `--telemetry-otlp-endpoint <URL>` - `--telemetry-log-prompts` / `--no-telemetry-log-prompts` - Updates `packages/cli/src/config/config.ts` and `packages/core/src/config/config.ts` to read from the new settings structure and respect the new CLI flags. - Modifies `scripts/handle-telemetry.js`, `scripts/local_telemetry.js`, and `scripts/telemetry_utils.js` to align with the new settings structure. - Updates `docs/core/telemetry.md` to reflect the new settings structure, CLI flags, and order of precedence. - Renames `logUserPromptsEnabled` to `logPrompts` for brevity. ### `npm run telemetry` Add a new `npm run telemetry` command that uses `scripts/telemetry.js`, automates the entire process of setting up a local and GCP telemetry pipelines, including configuring the necessary settings in the `.gemini/settings.json` workspace file and installing required binaries (e.g. `otelcol-contrib`). --- ```shell $ npm run telemetry -- --target=gcp > [email protected] telemetry > node scripts/telemetry.js --target=gcp βš™οΈ Using command-line target: gcp πŸš€ Running telemetry script for target: gcp. ✨ Starting Local Telemetry Exporter for Google Cloud ✨ βš™οΈ Enabled telemetry in workspace settings. πŸ”§ Set telemetry OTLP endpoint to http://localhost:4317. 🎯 Set telemetry target to gcp. βœ… Workspace settings updated. βœ… Using Google Cloud Project ID: foo-bar πŸ”‘ Please ensure you are authenticated with Google Cloud: - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key. - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles. βœ… otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib 🧹 Cleaning up old processes and logs... βœ… Deleted old GCP collector log. πŸ“„ Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml πŸš€ Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log ⏳ Waiting for OTEL collector to start (PID: 17013)... βœ… OTEL collector started successfully on port 4317. ✨ Local OTEL collector for GCP is running. πŸš€ To send telemetry, run the Gemini CLI in a separate terminal window. πŸ“„ Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log πŸ“Š View your telemetry data in Google Cloud Console: - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar - Traces: https://console.cloud.google.com/traces/list?project=foo-bar Press Ctrl+C to exit. ^C πŸ‘‹ Shutting down... βš™οΈ Disabled telemetry in workspace settings. πŸ”§ Cleared telemetry OTLP endpoint. 🎯 Cleared telemetry target. βœ… Workspace settings updated. πŸ›‘ Stopping otelcol-contrib (PID: 17013)... βœ… otelcol-contrib stopped. ```
2025-06-14fix: Push tool calls to absolute paths (#1055) (#1057)Keir Mierle
Make several changes to guide the model to request absolute paths, reducing frequent accidental relative path tool call failures. - Switch the parameter name: path --> absolute_path. - Update the tool definition to strongly require an absolute path. - Update the system prompt to indicate absolute paths are required. - Update the system prompt tool use examples to use absolute paths. Test case: Open GC in GC: "Locate the primary file calling genai" - Expected: Model opens files with absolute path, successfully. - Actual (pre-patch): Failure, attempts to read with relative path. - Actual (post-patch): Success, attempts to read with absolute path.
2025-06-14docs: document environment variables for cloud services (#1048)Scott Densmore
2025-06-14bug: Fix code colorizer (#1046)Leo
2025-06-14Dockerfile: Node 22 and ENTRYPOINT (#1038)Steren
2025-06-14Enable "modify" in write tool (#1044)Leo
2025-06-14Address b/424256913 - fixed error in correctStringEscaping() and improved ↡Bryan Morgan
backslash handling (#1007)
2025-06-14docs: clarify telemetry script usage (#1034)Jerop Kipruto
Updates the telemetry documentation and the GCP telemetry script to make it clearer that the Gemini CLI needs to be run in a separate terminal session after starting the collector script. This addresses potential user confusion where they might expect telemetry data to appear without actively using the CLI. #750
2025-06-14centralize file filtering in `FileDiscoveryService` (#1039)Anas H. Sulaiman