Skip to content

Refactor: Eliminate no-unsafe-return suppressions via strict type validation - #20668

Merged
scidomino merged 20 commits into
google-gemini:mainfrom
M-DEV-1:M-DEV-1/clean-unsafe-return-suppressions
May 12, 2026
Merged

Refactor: Eliminate no-unsafe-return suppressions via strict type validation#20668
scidomino merged 20 commits into
google-gemini:mainfrom
M-DEV-1:M-DEV-1/clean-unsafe-return-suppressions

Conversation

@M-DEV-1

@M-DEV-1 M-DEV-1 commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR removes all remaining @typescript-eslint/no-unsafe-return suppressions across the core and cli packages. It replaces risky type-casting with native TS runtime structural validations using zod, typeof, and instanceof.

Details

  • replaced JSON.parse assertions with Zod schema parsing wrappers
  • used Type predicates, and native Type Guards in place

Related Issues

Fixes #20606, Related to #19720

How to Validate

  • Run npm run lint and npm run typecheck against the workspace.
  • Run npm start to use and test the CLI

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed) - NA
  • Added/updated tests (if needed) - NA
  • Noted breaking changes (if any) - NA
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

…ing files

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
…ations

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
@M-DEV-1
M-DEV-1 requested a review from a team as a code owner February 28, 2026 07:43
@google-cla

google-cla Bot commented Feb 28, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a comprehensive refactoring effort to bolster the type safety and reliability of the application. By systematically removing all instances of @typescript-eslint/no-unsafe-return suppressions, the codebase now enforces stricter type checks at runtime. This was achieved through the strategic adoption of Zod for schema-based validation of parsed JSON data and the consistent application of native TypeScript type guards, ensuring that data structures conform to their defined types and reducing the likelihood of unexpected runtime errors.

Highlights

  • Type Safety Enhancement: Eliminated all @typescript-eslint/no-unsafe-return suppressions across the core and cli packages, significantly improving the codebase's type safety.
  • Zod Integration: Introduced the Zod library for robust runtime schema validation, particularly for JSON.parse operations, ensuring data integrity and expected type conformity.
  • Native Type Guards: Replaced risky type-casting with native TypeScript type guards (typeof, instanceof) and explicit type assertions to provide more precise and reliable type narrowing.
Changelog
  • packages/cli/src/commands/extensions/utils.ts
    • Replaced no-unsafe-return suppression with a typeof boolean check for response.confirm.
  • packages/cli/src/config/extensionRegistryClient.ts
    • Explicitly typed the results array from fzf.find and removed no-unsafe-return suppression.
  • packages/cli/src/config/extensions/extensionEnablement.ts
    • Imported Zod and implemented schema validation for JSON.parse output in readConfig.
  • packages/cli/src/config/extensions/extensionSettings.ts
    • Added a typeof string check for response.value before returning.
  • packages/cli/src/config/extensions/variables.ts
    • Added explicit unknown[] type assertion for array mapping in recursivelyHydrateStrings.
  • packages/cli/src/test-utils/mockCommandContext.ts
    • Introduced a type guard isCommandContext and runtime check for the merged command context.
  • packages/cli/src/test-utils/render.tsx
    • Explicitly cast the return of Reflect.get to unknown to satisfy type safety.
  • packages/cli/src/ui/hooks/useAtCompletion.ts
    • Explicitly typed results arrays from fzf.find and removed no-unsafe-return suppressions in searchResourceCandidates and searchAgentCandidates.
  • packages/cli/src/ui/utils/TableRenderer.tsx
    • Explicitly typed actualColumnWidths as number[] and removed no-unsafe-return suppressions.
  • packages/cli/src/utils/envVarResolver.ts
    • Added isTArray type guard and runtime checks for array returns in resolveEnvVarsInObjectInternal.
  • packages/cli/src/utils/gitUtils.ts
    • Added a typeof string check for releaseTag before returning.
  • packages/cli/src/utils/jsonoutput.ts
    • Removed no-unsafe-assignment and no-unsafe-return suppressions, explicitly typed parsed as unknown.
  • packages/cli/src/utils/settingsUtils.ts
    • Replaced JSON.parse(JSON.stringify(pendingSettings)) with structuredClone and added explicit type assertion for setNestedValue.
  • packages/cli/src/zed-integration/fileSystemService.ts
    • Added a typeof string check for response.content before returning.
  • packages/core/src/code_assist/oauth2.ts
    • Introduced isOAuthCreds type guard and runtime check for JSON.parse output in fetchCachedCredentials.
  • packages/core/src/config/projectRegistry.ts
    • Imported Zod and implemented schema validation for JSON.parse output in readRegistry.
  • packages/core/src/core/baseLlmClient.ts
    • Introduced isRecord type guard and runtime check for JSON.parse output in generateContent.
  • packages/core/src/core/fakeContentGenerator.ts
    • Added instanceof checks for GenerateContentResponse and EmbedContentResponse after Object.setPrototypeOf.
  • packages/core/src/core/localLiteRtLmClient.ts
    • Introduced isRecord type guard and runtime check for JSON.parse output in generateContent.
  • packages/core/src/ide/ide-client.ts
    • Added a typeof string check for parsedJson.content before returning.
  • packages/core/src/ide/ide-connection-utils.ts
    • Introduced isConfig type guard and runtime checks for JSON.parse outputs in getConnectionConfigFromFile.
  • packages/core/src/services/chatRecordingService.ts
    • Introduced isConversationRecord type guard and runtime check for JSON.parse output in readConversation.
  • packages/core/src/utils/filesearch/fileSearch.ts
    • Removed FzfResultItem import, explicitly typed filteredCandidates, and added runtime checks for fzf.find results.
  • packages/core/src/utils/safeJsonStringify.ts
    • Explicitly cast return values to unknown in safeJsonStringify and safeJsonStringifyBooleanValuesOnly.
  • packages/core/src/utils/stdio.ts
    • Explicitly cast return values to unknown in createWorkingStdio proxy handlers.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a significant and well-executed refactoring to improve type safety across the codebase. By systematically eliminating @typescript-eslint/no-unsafe-return and other unsafe suppressions, you've made the code more robust and maintainable. The use of Zod for runtime validation of JSON structures, along with proper type guards (typeof, instanceof), is an excellent approach. The changes are consistent and correctly applied, addressing potential runtime errors from unsafe type assumptions. I have reviewed the changes and found no issues. Great work!

@gemini-cli gemini-cli Bot added priority/p3 Backlog - a good idea but not currently a priority. area/core Issues related to User Interface, OS Support, Core Functionality help wanted We will accept PRs from all issues marked as "help wanted". Thanks for your support! labels Feb 28, 2026
@M-DEV-1

M-DEV-1 commented Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

Hi @gundermanc, just checking in. I'd appreciate if you could give a review, whenever time permits. Thanks!

@M-DEV-1

M-DEV-1 commented Mar 10, 2026

Copy link
Copy Markdown
Contributor Author

resolving merge conflicts..

@M-DEV-1

M-DEV-1 commented Mar 10, 2026

Copy link
Copy Markdown
Contributor Author

resolved. also, @gundermanc, I was wondering if I should squash all the merge commits or leave them as is.

@M-DEV-1

M-DEV-1 commented Mar 17, 2026

Copy link
Copy Markdown
Contributor Author

Hi @gundermanc, was wondering if you'd be free this week for a review. Thanks!

@M-DEV-1

M-DEV-1 commented Mar 29, 2026

Copy link
Copy Markdown
Contributor Author

Hi @gundermanc, would it be possible to get a review this week? Thanks :)

@cocosheng-g

Copy link
Copy Markdown
Contributor

Please resolve conflicts

@M-DEV-1

M-DEV-1 commented Apr 12, 2026

Copy link
Copy Markdown
Contributor Author

@cocosheng-g resolved!

@M-DEV-1

M-DEV-1 commented Apr 17, 2026

Copy link
Copy Markdown
Contributor Author

@gundermanc @cocosheng-g resolved again 👍🏼

would appreciate reviews and CI run approval so that we can get read to merge. it's been open for quite some time now.

@M-DEV-1

M-DEV-1 commented Apr 20, 2026

Copy link
Copy Markdown
Contributor Author

Hi @cocosheng-g, @gundermanc 👍🏼

Hope you have a good weekend. Was wondering if I could get any reviews this week 😄

…to M-DEV-1/clean-unsafe-return-suppressions
@scidomino
scidomino self-requested a review May 11, 2026 20:21
@scidomino

Copy link
Copy Markdown
Collaborator

The change looks good. Please fix the merge conflict and I will approve.

@M-DEV-1

M-DEV-1 commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Resolved the conflict, testing locally to resolve any other bugs.

M-DEV-1 added 2 commits May 12, 2026 13:54
Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
@M-DEV-1
M-DEV-1 requested a review from a team as a code owner May 12, 2026 08:55
@M-DEV-1

M-DEV-1 commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Made some fixes, I believe we can run full CI now 👍🏼 @scidomino

@scidomino

Copy link
Copy Markdown
Collaborator

You have a bunch of broken tests. Please make sure npm run preflight passes before sending it back for review.

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
@M-DEV-1

M-DEV-1 commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Hi @scidomino,

I looked through the failed runs, and well,

this commit was the breaking change, specifically the CONTRIBUTING.md change that I got from npm run lint

the linter added a new line at the end of the symlink file in docs/CONTRIBUTING.md

the failed CI output was (one example)

  > @google/gemini-cli-devtools@0.42.0-nightly.20260428.g59b2dea0e build:client
  > node esbuild.client.js
  
  
  > @google/gemini-cli-core@0.42.0-nightly.20260428.g59b2dea0e bundle:browser-mcp
  > node scripts/bundle-browser-mcp.mjs
  
  Copied 10 policy files to bundle/policies/
  node:fs:1681
    const stats = binding.stat(
                          ^
  
  Error: ENOENT: no such file or directory, stat '/home/runner/work/gemini-cli/gemini-cli/docs/CONTRIBUTING.md'
      at statSync (node:fs:1681:25)
      at getStatsSync (node:internal/fs/cp/cp-sync:120:19)
      at checkPathsSync (node:internal/fs/cp/cp-sync:72:33)
      at copyDir (node:internal/fs/cp/cp-sync:274:37)
      at mkDirAndCopy (node:internal/fs/cp/cp-sync:260:3)
      at onDir (node:internal/fs/cp/cp-sync:254:25)
      at getStats (node:internal/fs/cp/cp-sync:158:12)
      at checkParentDir (node:internal/fs/cp/cp-sync:150:10)
      at cpSyncFn (node:internal/fs/cp/cp-sync:61:10)
      at cpSync (node:fs:3089:3) {
    errno: -2,
    code: 'ENOENT',
    syscall: 'stat',
    path: '/home/runner/work/gemini-cli/gemini-cli/docs/CONTRIBUTING.md'
  }
I have run `npm run preflight` locally, and got this output

  PS C:\code\oss\gemini-cli> npm run preflight

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e preflight
npm run clean && npm ci && npm run format && npm run build && npm run lint:ci && npm run typecheck && npm run test:ci

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e clean
node scripts/clean.js

npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e prepare
husky && npm run bundle

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e bundle
npm run generate && npm run build --workspace=@google/gemini-cli-devtools && npm run bundle:browser-mcp -w @google/gemini-cli-core && node esbuild.config.js && node scripts/copy_bundle_assets.js

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e generate
node scripts/generate-git-commit-info.js

@google/gemini-cli-devtools@0.42.0-nightly.20260428.g59b2dea0e build
npm run build:client && tsc -p tsconfig.build.json

@google/gemini-cli-devtools@0.42.0-nightly.20260428.g59b2dea0e build:client
node esbuild.client.js

@google/gemini-cli-core@0.42.0-nightly.20260428.g59b2dea0e bundle:browser-mcp
node scripts/bundle-browser-mcp.mjs

Copied 10 policy files to bundle/policies/
Copied docs to bundle/docs/
Copied built-in skills to bundle/builtin/
Copied devtools package to bundle/node_modules/
Copied bundled chrome-devtools-mcp to bundle/bundled/
Copied extension examples to bundle/examples/
Assets copied to bundle/

added 1321 packages, and audited 1329 packages in 2m

362 packages are looking for funding
run npm fund for details

34 vulnerabilities (8 low, 19 moderate, 6 high, 1 critical)

To address issues that do not require attention, run:
npm audit fix

To address all issues (including breaking changes), run:
npm audit fix --force

Run npm audit for details.

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e format
prettier --experimental-cli --write .

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e build
node scripts/build.js

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e generate
node scripts/generate-git-commit-info.js

Building @google/gemini-cli-core...

@google/gemini-cli-core@0.42.0-nightly.20260428.g59b2dea0e build
node ../../scripts/build_package.js

Running chrome devtools MCP bundling...

@google/gemini-cli-core@0.42.0-nightly.20260428.g59b2dea0e bundle:browser-mcp
node scripts/bundle-browser-mcp.mjs

Successfully copied files.
Copied documentation to dist/docs
Building other workspaces in parallel...
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.
npm warn Unknown cli config "sandboxImageUri" (@google/gemini-cli:sandboxImageUri). This will stop working in the next major version of npm.

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e build
node ../../scripts/build_package.js

@google/gemini-cli-a2a-server@0.42.0-nightly.20260428.g59b2dea0e build
node ../../scripts/build_package.js

@google/gemini-cli-devtools@0.42.0-nightly.20260428.g59b2dea0e build
npm run build:client && tsc -p tsconfig.build.json

@google/gemini-cli-sdk@0.42.0-nightly.20260428.g59b2dea0e build
node ../../scripts/build_package.js

gemini-cli-vscode-ide-companion@0.42.0-nightly.20260428.g59b2dea0e build
npm run build:dev

@google/gemini-cli-test-utils@0.42.0-nightly.20260428.g59b2dea0e build
node ../../scripts/build_package.js

@google/gemini-cli-devtools@0.42.0-nightly.20260428.g59b2dea0e build:client
node esbuild.client.js

gemini-cli-vscode-ide-companion@0.42.0-nightly.20260428.g59b2dea0e build:dev
node esbuild.js

[watch] build started
[watch] build finished
Successfully copied files.
Successfully copied files.
Successfully copied files.
Successfully copied files.

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e lint:ci
npm run lint:all

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e lint:all
node scripts/lint.js

Setting up linters...
Installing actionlint...
Installing shellcheck...
Installing yamllint...
Requirement already satisfied: pip in c:\users\mahad\appdata\local\temp\gemini-cli-linters\python_venv\lib\site-packages (25.2)
Collecting pip
Using cached pip-26.1.1-py3-none-any.whl.metadata (4.6 kB)
Using cached pip-26.1.1-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 25.2
Uninstalling pip-25.2:
Successfully uninstalled pip-25.2
Successfully installed pip-26.1.1
WARNING: Cache entry deserialization failed, entry ignored
Collecting yamllint==1.35.1
Using cached yamllint-1.35.1-py3-none-any.whl.metadata (4.2 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting pathspec>=0.5.3 (from yamllint==1.35.1)
Using cached pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)
WARNING: Cache entry deserialization failed, entry ignored
Collecting pyyaml (from yamllint==1.35.1)
Using cached pyyaml-6.0.3-cp314-cp314-win_amd64.whl.metadata (2.4 kB)
Using cached yamllint-1.35.1-py3-none-any.whl (66 kB)
Using cached pathspec-1.1.1-py3-none-any.whl (57 kB)
Using cached pyyaml-6.0.3-cp314-cp314-win_amd64.whl (156 kB)
Installing collected packages: pyyaml, pathspec, yamllint
Successfully installed pathspec-1.1.1 pyyaml-6.0.3 yamllint-1.35.1
All required linters are available.

Running ESLint...

@google/gemini-cli@0.42.0-nightly.20260428.g59b2dea0e lint
cross-env NODE_OPTIONS="--max-old-space-size=8192" eslint . --cache --max-warnings 0

Running actionlint...

Running shellcheck...

Running yamllint...
'yml)'' is not recognized as an internal or external command,
operable program or batch file.
PS C:\code\oss\gemini-cli>

@M-DEV-1

M-DEV-1 commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

not sure why this is happening when I perform npm run preflight

Running actionlint...


Running shellcheck...


Running yamllint...
'yml)'' is not recognized as an internal or external command,
operable program or batch file.

this PR's original branch was in Windows, and this is the Powershell output. will run in WSL and report if there is anything different.

@scidomino
scidomino added this pull request to the merge queue May 12, 2026
Merged via the queue into google-gemini:main with commit 31d5947 May 12, 2026
27 checks passed
@sripasg sripasg added the size/l A large sized PR label Jun 2, 2026
software-0ficial pushed a commit to software-0ficial/gemini-cli that referenced this pull request Jul 9, 2026
…alidation (google-gemini#20668)

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
Cleanskiier27 added a commit to Cleanskiier27/gemini-cli that referenced this pull request Jul 25, 2026
* fix(core): Fix hysteresis in async context management pipelines. (google-gemini#26452)

* Tighten private Auto Memory patch allowlist (google-gemini#26535)

* fix(cli): hide read-only settings scopes (google-gemini#26249)

* fix(ci): preserve executable bit for mac binaries (google-gemini#26600)

* fix(cli): improve mcp list UX in untrusted folders (google-gemini#26457)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(core): prevent silent hang during OAuth auth on headless Linux (google-gemini#26571)

Co-authored-by: Jack Wotherspoon <jackwoth@google.com>

* Changelog for v0.42.0-preview.0 (google-gemini#26537)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* ci: fix Argument list too long in triage workflows (google-gemini#26603)

* refactor(cli): migrate core tools to native ToolDisplay property and fix UI rendering (google-gemini#25186)

* don't wrap args unnecessarily (google-gemini#26599)

* fix(core): preserve system PATH in Git environment to fix ENOENT (google-gemini#25034) (google-gemini#26587)

* fix(routing): fix resolveClassifierModel argument mismatch in ApprovalModeStrategy (google-gemini#26658)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* docs: add vi mode shortcuts and clarify MCP/custom sandbox setup (google-gemini#23853)

Co-authored-by: Sam Roberts <158088236+g-samroberts@users.noreply.github.com>

* fix(ux): fixed issue with transcribed text not showing after releasing space (google-gemini#26609)

* ci: fix json parsing in scheduled triage workflow (google-gemini#26656)

* fix(cli): hide /memory add subcommand when memoryV2 is enabled (google-gemini#26605)

* fix: prevent false command conflicts when launching from home directory (google-gemini#23069)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(core): cache model routing decision in LocalAgentExecutor (google-gemini#26548)

* Changelog for v0.42.0-preview.2 (google-gemini#26597)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>
Co-authored-by: Sam Roberts <158088236+g-samroberts@users.noreply.github.com>

* skip broken test (google-gemini#26705)

* feat: export session to file and import via flag (google-gemini#26514)

* Feat: Add Machine Hostname to CLI interface (google-gemini#25637)

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* docs(extensions): refactor releasing guide and add update mechanisms (google-gemini#26595)

* fix(ci): fix maintainer identification in lifecycle manager (google-gemini#26706)

* fix(ui): added quotes around session id in resume tip (google-gemini#26669)

* Changelog for v0.41.0 (google-gemini#26670)

Co-authored-by: g-samroberts <158088236+g-samroberts@users.noreply.github.com>

* refactor(core): agent session protocol changes (google-gemini#26661)

* fix(context): implement loose boundary policy for gc backstop. (google-gemini#26594)

* fix(core): throw explicit error on dropped tool responses (google-gemini#26668)

* fix: resolve "function response turn must come immediately after function call" error (google-gemini#26691)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(core): resolve parallel tool call streaming ID collision (google-gemini#26646)

* feat(core): add LocalSubagentProtocol behind AgentProtocol (google-gemini#25302)

* fix(cli): remove noisy theme registration logs from terminal (google-gemini#25858)

Co-authored-by: Jack Wotherspoon <jackwoth@google.com>

* ci: implement codebase-aware effort level triage (google-gemini#26666)

* feat(acp/core): prefix tool call IDs with tool names to support tool rendering in ACP compliant IDEs. (google-gemini#26676)

* fix(mcp): treat GET 404 as 405 in StreamableHTTPClientTransport (google-gemini#24847)

Co-authored-by: Coco Sheng <cocosheng@google.com>
Co-authored-by: Spencer <spencertang@google.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* feat(core): add RemoteSubagentProtocol behind AgentProtocol (google-gemini#25303)

* feat(context): Improvements to the snapshotter. (google-gemini#26655)

* fix(context): Change snapshotter model config. (google-gemini#26745)

* fix(cli): allow installing extensions from ssh repo (google-gemini#26274)

Signed-off-by: Daniel Finimundi <danielrf@motorola.com>
Co-authored-by: Dev Randalpura <devrandalpura@google.com>

* fix(cli): prevent duplicate SessionStart systemMessage render (google-gemini#25827)

Co-authored-by: Jacob Richman <jacob314@gmail.com>

* fix(cli/acp): prevent infinite thought loop in ACP mode by disablig nextSpeakerCheck (google-gemini#26874)

* fix(cli): use static tool name in confirmation prompt to avoid parsing errors (google-gemini#26866)

* fix(routing): Refactor tool turn handling for the conversation history in NumericalClassifierStrategy to prevent 400 Bad Request (google-gemini#26761)

* fix(core): handle malformed projects.json in ProjectRegistry (google-gemini#26885)

* fix(ui): added a gutter width to the input prompt width calculation (google-gemini#26882)

* fix: prevent EISDIR crash when customIgnoreFilePaths contains directories (google-gemini#19868) (google-gemini#19898)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* revert 6b9b778 (google-gemini#26893)

* Fix/vscode run current file ts (google-gemini#22894)

Co-authored-by: Spencer <spencertang@google.com>

* Allow Enter to select session while in search mode in /resume (google-gemini#21523)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(core): ignore .pak and .rpa game archive formats by default (google-gemini#26884)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(cli): enable adk non-interactive session (google-gemini#26895)

* fix(cli): restore resume for legacy sessions (google-gemini#26577)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix: respect explicit model selection after Flash quota exhaustion (google-gemini#26759) (google-gemini#26872)

* feat(context): Introduce adaptive token calculator to more accurately calculate content sizes. (google-gemini#26888)

* chore: update checkout action configuration in workflows (google-gemini#26897)

* fix (telemetry): inject quota_project_id to prevent fallback to default oauth client (google-gemini#26698)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* Exclude extension context from skill extraction agent (google-gemini#26879)

* Enable NumericalRouter when using dynamic model configs (google-gemini#26929)

* ci: actively triage missing priority labels and intelligently clean up conflicting labels (google-gemini#26865)

* refactor(core): introduce SubagentState enum for progress (google-gemini#26934)

* fix(ci): replace brittle --no-tag with explicit staging-tmp tag (google-gemini#26940)

* Incremental refactor repo agent towards skills-based composition (google-gemini#26717)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(ui): fixed line wrap padding for selection lists (google-gemini#26944)

* fix(core): update read_file schema for v1 compatibility (google-gemini#22183) (google-gemini#26922)

* fix(ci): configure git remote with token for authentication (google-gemini#26949)

* chore(release): bump version to 0.44.0-nightly.20260512.g022e8baef (google-gemini#26957)

* Changelog for v0.42.0 (google-gemini#26958)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Refactor: Eliminate `no-unsafe-return` suppressions via strict type validation (google-gemini#20668)

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* Changelog for v0.43.0-preview.0 (google-gemini#26959)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* feat(core): change agent registration to first-wins and prioritize project (google-gemini#26953)

* feat(cli): merge Auto modes into a single Auto mode (google-gemini#26714)

* fix(core): preserve OAuth refresh tokens during rotation and retrieval (google-gemini#26924)

* fix(cli): allow keychain auth for --list-sessions and non-interactive mode (google-gemini#26921)

* fix(core): handle EISDIR on virtual drives in memory discovery (google-gemini#26985)

* fix(cli): auto-approve shell redirections in AUTO_EDIT mode (google-gemini#27003)

* ci: suppress bot comments during standard triage maintenance (google-gemini#27006)

* fix(core): isolate subagent thread context (google-gemini#26449)

* fix(core): refresh MCP OAuth token usage after re-auth (google-gemini#26312)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(ui): clamped table column widths (google-gemini#26991)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* chore: add execution permission to scripts/review.sh (google-gemini#27009)

* fix(core): made context files append instead of replace (google-gemini#26950)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix: add system PATH fallback for ripgrep resolution (google-gemini#26777) (google-gemini#26868)

* chore: clean up launched memory features (google-gemini#26941)

Co-authored-by: Jenna Inouye <jinouye@google.com>

* fix(core): throttle shell text output and bound live UI buffer (google-gemini#26955)

* fix(cli): don't crash when an @-mention captures a non-path blob (google-gemini#25980)

* fix(core): ensure stable fallback for restricted preview models (google-gemini#26999)

* feat(core): expose RAG snippets to local log file for debugging (google-gemini#27016)

* fix(acp/auth): prevent conflicting credentials on enterprise gateways and support optional API keys natively (google-gemini#27021)

* fix(core): respect NO_PROXY for network-based MCP servers (google-gemini#27012)

* fix(cli): resolve permission denied in sandbox on NixOS and other distros (google-gemini#27004)

* fix(ui): preserve new line at the end of edit window (google-gemini#27057)

* fix(core): ensure Vertex AI sets hasAccessToPreviewModels and remove aggressive 404 fallback revocation (google-gemini#27067)

* fix(core): ensure stable admin settings comparison across IPC to prevent restart loop (google-gemini#27066)

* fix(deps): update vulnerable dependencies (google-gemini#27062)

* fix(core): resolve EISDIR errors during file processing (google-gemini#21527) (google-gemini#27041)

* docs(extensions): clarify env var sanitization policy for MCP and ext… (google-gemini#22854)

Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
Co-authored-by: Jenna Inouye <jinouye@google.com>

* fix(ui): add ENAMETOOLONG and ENOTDIR to exceptions for file parsing errors (google-gemini#27069)

* fix(cli): explicitly clear entrypoint when spawning sandbox container (google-gemini#27059)

* docs: update sandbox image command (google-gemini#26774)

* fix(core): externalize https-proxy-agent to fix proxy support (google-gemini#26361)

* security: update dependencies to fix critical and high vulnerabilities (google-gemini#27077)

* Fix/web fetch ctrl c abort (google-gemini#24320)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(core): add aliases and thinking config for gemini-3.1 models (google-gemini#27007)

* fix(core): use hasAccessToPreview for auto model resolution and fix disappearing models (google-gemini#27112)

* feat(core): add adk.agentSessionSubagentEnabled flag (google-gemini#26947)

* fix(core): enforce compile-time exhaustiveness in content-utils (google-gemini#27207)

* feat(skills): add agent-tui and tui-tester skills (google-gemini#27121)

* fix(context): Fix snapshot recovery across sessions. (google-gemini#26939)

* fix(core): add unit tests for stableStringify (google-gemini#27212)

* fix(core): prefer pwsh.exe over Windows PowerShell 5.1 (google-gemini#25859) (google-gemini#25900)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* feat(core): add LocalSessionInvocation (google-gemini#26665)

* refactor: decouple auto model description and configuration from releaseChannel (google-gemini#27227)

Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core): prevent isBinary false-positive on Windows PTY streams (google-gemini#26565)

* fix(cli): Prevent unmapped keys in Vim Normal mode from inserting text into prompt Input. (google-gemini#25139)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* fix(a2a-server): Implement default policy loading for parity with CLI (google-gemini#27073)

* feat(core): add RemoteSessionInvocation (google-gemini#26937)

* fix: allow configured MCP servers in non-interactive mode (google-gemini#27215)

* fix(core): add exception handling to migrateFromFileStorage (google-gemini#27229)

* fix(cli): bundle ink worker-entry.js (google-gemini#27249)

* feat(core): wire AgentSession invocations into agent-tool (google-gemini#26948)

* fix(core): prevent path traversal in custome command file injection (google-gemini#27234)

* fix(core): respect NO_PROXY in global fetch dispatcher (google-gemini#27216)

* fix(core): correctly handle nullable array types in MCP tools (google-gemini#27228)

* Proposal: deterministic encoding for child-process I/O (google-gemini#27247)

* fix(cli): preserve proxy-agent named exports in ESM bundle (google-gemini#27145)

* feat(cli): add Sublime Text and Emacs Client editors, improve error messages and documentation (google-gemini#21090)

Co-authored-by: Ananth Kini <ananthkini1@gmail.com>

* Changelog for v0.43.0-preview.1 (google-gemini#27297)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* fix(devtools): bundle devtools package to avoid resolution errors (google-gemini#27250)

* fix(cli): integrate PolicyEngine into ACP session to prevent deadlocks (google-gemini#23507) (google-gemini#27252)

* fix: robust ripgrep path resolution and 1p hermetic execution support (google-gemini#27253)

* refactor: decouple stored session deletion from ChatRecordingService (google-gemini#22920) (google-gemini#27039)

* fix(core): improve Alpine shell compatibility (google-gemini#26770)

* fix(core): generalize MCP compliance fix for tool results (google-gemini#27045)

* fix(scripts): scrub CI env vars in dev to keep interactive mode (google-gemini#27159)

* fix(core): Added date field for the GCal MCP (google-gemini#27251)

* fix(core): centralize path validation to prevent crashes from malformed prompts (google-gemini#27211)

* fix(core): prevent SIGHUP kills in PTY environments (WSL2/Kitty/Alacritty) (google-gemini#27267)

* fix(core): dynamic fallback routing for exhausted quota models (google-gemini#27315)

* Auto detect pnpm global installation path for macOS and Windows (google-gemini#22748)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Coco Sheng <cocosheng@google.com>

* fix(windows): resolve interactive shell arrow-key navigation on Windows (google-gemini#23505)

* ci: robust stale issue lifecycle and consolidated triage labels (google-gemini#27015)

* fix(context): Ensure last message is processed. (google-gemini#27232)

* chore/release: bump version to 0.44.0-nightly.20260521.g57c42a5c4 (google-gemini#27324)

* fix(ui): added volta to auto update check (google-gemini#27353)

* perf: optimize issue triage and lifecycle management (google-gemini#27346)

* chore(release): bump version to 0.45.0-nightly.20260521.g854f811be (google-gemini#27362)

* fix(cli): prevent Termux relaunch and resize remount loops (google-gemini#27110)

Co-authored-by: Spencer <spencertang@google.com>

* Feat/a2a expose usage metadata (google-gemini#27288)

* feat(context): Complete simplification work. (google-gemini#27345)

* fix(core): force update_topic tool to execute sequentially (google-gemini#27357)

* Changelog for v0.44.0-preview.0 (google-gemini#27360)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Changelog for v0.43.0 (google-gemini#27361)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Revert "fix(core): prevent SIGHUP kills in PTY environments" (google-gemini#27401)

* fix(cli): filter internal session context from history during resumption (google-gemini#27391)

* Update default auto routing (google-gemini#27071)

* fix(core): bypass routing classifiers to prevent orphaned function response errors (google-gemini#27389)

* fix(core): suppress PTY resize EBADF errors (google-gemini#27461)

* fix(core): prevent blacklist bypass in mcp list (google-gemini#27377)

Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>

* fix(cli): ignore unmapped vim normal keys (google-gemini#27102)

* fix(core): harden PTY resize against native crashes (google-gemini#27496)

* Changelog for v0.45.0-preview.0 (google-gemini#27495)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Changelog for v0.44.0 (google-gemini#27569)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* fix(cli): prevent spam loop when preferredEditor is invalid (google-gemini#25324)

Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* Adding quote (google-gemini#27571)

* Transition to flash GA model when experiment flag is present. (google-gemini#27570)

* chore(ci): add optimized PR size labeler and batch workflows (google-gemini#27616)

* fix(ci): use pull_request_target trigger to grant write access on fork PRs (google-gemini#27637)

* chore(release): bump version to 0.47.0-nightly.20260602.gcfcecebe8 (google-gemini#27644)

* Changelog for v0.46.0-preview.0 (google-gemini#27641)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Respect backend definitions for 3.5 flash and Update auto mode to use 3.5 flash when the flag is enabled. (google-gemini#27645)

* fix(policy): add EBUSY fallback and TOML parse recovery (google-gemini#19919) (google-gemini#21541)

Signed-off-by: krishdef7 <gargkrish06@gmail.com>
Co-authored-by: Sikandar <ma5161310@gmail.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>

* Changelog for v0.45.0 (google-gemini#27642)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* update the max amount of times the Antigravity transition banner can be displayed. (google-gemini#27676)

* chore: remove experimental text from browser agent docs (google-gemini#27746)

* fix(core): implement atomic update in MCP tool discovery (google-gemini#27619)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>

* Vertex ai model mapping fix (google-gemini#27749)

* Add documentation and migration commands for Antigravity CLI (google-gemini#27765)

Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>

* Avoid persisting empty resume sessions (google-gemini#27770)

* chore(release): bump version to 0.48.0-nightly.20260609.g3a13b8eeb (google-gemini#27779)

* ci(dependabot): enable cooldown period for npm packages (google-gemini#27743)

* refactor(core): standardize tool output formatting (google-gemini#27772)

* ci: update workflow logging and policy configurations (google-gemini#27853)

* fix(core): Ensure zero-quota limits fail fast to prevent retry loop hang (google-gemini#27698)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(core): handle multi-line escaped quotes in stripShellWrapper (google-gemini#27467)

Co-authored-by: luisfelipe-alt <luisfelipe@google.com>

* fix(cli): prevent path traversal vulnerabilities during skill install… (google-gemini#27767)

* Fix/pending tools and trust overrides (google-gemini#27854)

* ci: use internal environment for scheduled nightly releases (google-gemini#27865) (google-gemini#27939)

* feat(core): Support GDC air-gapped Service Identity after auth library update (google-gemini#27956)

* fix(cli): handle tmux false positive background detection (google-gemini#27572)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>

* Add static eval source analyzer (google-gemini#27631)

* fix(config): migrate coreTools setting to tools.core (google-gemini#27947)

* fix(core-tools): resolve defensive path resolution for at-reference files (google-gemini#27943)

* Revert "fix(core-tools): resolve defensive path resolution for at-reference files" (google-gemini#27992)

* chore(release): bump version to 0.49.0-nightly.20260617.g4d3dcdce1 (google-gemini#28003)

* Changelog for v0.48.0-preview.0 (google-gemini#27999)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* fix(ci): provide fallbacks for package variables in nightly release (google-gemini#28016)

* chore(deps): pin dependencies and enforce 14-day update cooldown (google-gemini#27948)

* fix(ci): append trailing slash to registry url in npmrc (google-gemini#28038)

* feat: add eval:inventory CLI command and reporting logic (google-gemini#28009)

* fix: resolve workspace publish failures and scheduler event loop starvation (google-gemini#28063)

* fix(ci): use wombat dressing room fallback in nightly release to prevent ENEEDAUTH (google-gemini#28104)

* Add JSON output for eval inventory (google-gemini#28058)

* fix/verify release npm ci ignore scripts (google-gemini#28116)

* fix(ci): prevent workspace binary shadowing in release verification (google-gemini#28132)

* Feat/tool registry discovery (google-gemini#28113)

* fix(ci): prevent bad NPM releases and promote job crashes (google-gemini#28147)

* Changelog for v0.50.0-preview.1 (google-gemini#28150)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* chore(release): bump version to 0.51.0-nightly.20260625.g3fbf93e26 (google-gemini#28151)

* Fix no_proxy test (google-gemini#28131)

Co-authored-by: Jerry Lin <jerrysf@google.com>

* Vertex base url update (google-gemini#28145)

* fix(security): enforce case-insensitive sensitive path blocklist and vscode hitl (google-gemini#27966)

Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core-tools): resolve defensive path resolution for at-reference files and fix macOS tests (google-gemini#28053)

Co-authored-by: David Pierce <davidapierce@google.com>

* feat(caretaker): implement Cloud Run webhook ingestion service (google-gemini#28015)

Co-authored-by: Christian Gunderman <gundermanc@google.com>

* fix(core): resolve symbolic link directory escape in memory import processor (google-gemini#28233)

* feat(caretaker): egress cloud run service skeleton (google-gemini#28167)

* fix(sandbox): make ~/.gitconfig read-only in the macOS sandbox (google-gemini#28221)

Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core): preserve escape sequences in string literals for modern models (google-gemini#28299)

Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core): strip thoughts from scrubbed history turns and resolve thought leakage (google-gemini#27971)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>
Co-authored-by: David Pierce <davidapierce@google.com>

* Refactor: exclude transient CI configuration files from workspace context (google-gemini#28216)

* feat(caretaker): add triage worker core foundational modules (google-gemini#28163)

* feat(caretaker-egress): implement octokit github action handler for egress service (google-gemini#28303)

* chore(release): bump version to 0.52.0-nightly.20260707.g27a3da3e8 (google-gemini#28323)

* Changelog for v0.51.0-preview.0 (google-gemini#28320)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Changelog for v0.50.0 (google-gemini#28322)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>
Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core-tools): bypass LLM correction for JSON and IPYNB files in write_file and replace (google-gemini#28223)

Co-authored-by: David Pierce <davidapierce@google.com>

* fix(core): use unambiguous previous intent label in fallback summary (google-gemini#28343)

* feat(caretaker-triage): implement main worker execution loop and egress action publisher (google-gemini#28306)

* fix(privacy): show a clear message when the account has no Code Assist tier (google-gemini#28304)

* fix(core): enrich shared project quota limit errors with setup hint (google-gemini#28391)

* fix(a2a-server): ensure task cancellation aborts execution loop (google-gemini#28316)

* fix(core): simplify plan mode write policy to support relative paths (google-gemini#28398)

* feat(core): Bump node google-auth-library version to 10.9.0 (google-gemini#28385)

Co-authored-by: Jerry Lin <jerrysf@google.com>

* chore/release: bump version to 0.52.0-nightly.20260715.gfa975395b (google-gemini#28402)

* fix(core,a2a): group cancelled tool responses and coalesce consecutive roles to prevent 400 Bad Request (google-gemini#28407)

* feat(caretaker-triage): implement LLM triage orchestrator and container build (google-gemini#28345)

* refactor(cli): align macOS permissive Seatbelt profiles with deny-default model (google-gemini#28424)

* fix(core): mitigate infinite ReAct loops and prompt injection loops (google-gemini#28429)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(a2a-server): enforce workspace trust and task isolation to prevent RCE (google-gemini#28470)

* fix(core): sequentially verify cached credentials and restore GOOGLE_APPLICATION_CREDENTIALS fallback (google-gemini#28472)

Co-authored-by: David Pierce <davidapierce@google.com>

* feat(evals): add eval coverage report command (google-gemini#28169)

* Changelog for v0.53.0-preview.0 (google-gemini#28507)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* Changelog for v0.52.0 (google-gemini#28508)

Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>

* chore(release): bump version to 0.54.0-nightly.20260722.gf743ab579 (google-gemini#28510)

* fix(caretaker): sanitize and wrap issue title in untrusted_context (google-gemini#28352)

* chore(caretaker): update vitest to v3.2.4 and add package-lock.json files (google-gemini#28409)

* fix(core): rotate session ID on model fallback to prevent stateful API errors (google-gemini#28469)

* feat(caretaker-triage): post comment before auto-closing issues (google-gemini#28411)

* fix(core): enforce HTTPS for GoogleCredentialsAuthProvider to prevent cleartext leakage (google-gemini#28517)

* fix(core): filter out thought parts from getHistoryTurns when context management is disabled (google-gemini#28509)

---------

Signed-off-by: M-DEV-1 <mahadevankizhakkedathu@gmail.com>
Signed-off-by: Daniel Finimundi <danielrf@motorola.com>
Signed-off-by: krishdef7 <gargkrish06@gmail.com>
Co-authored-by: joshualitt <joshualitt@google.com>
Co-authored-by: Sandy Tao <sandytao520@icloud.com>
Co-authored-by: Christian Van <113378434+cvan20191@users.noreply.github.com>
Co-authored-by: ruomeng <ruomeng@google.com>
Co-authored-by: Adib234 <30782825+Adib234@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
Co-authored-by: gemini-cli-robot <224641728+gemini-cli-robot@users.noreply.github.com>
Co-authored-by: Coco Sheng <cocosheng@google.com>
Co-authored-by: Michael Bleigh <mbleigh@mbleigh.com>
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
Co-authored-by: Daniel Weis <danielweis@users.noreply.github.com>
Co-authored-by: Christopher Thomas <cobekgn@gmail.com>
Co-authored-by: Sam Roberts <158088236+g-samroberts@users.noreply.github.com>
Co-authored-by: Dev Randalpura <devrandalpura@google.com>
Co-authored-by: Br1an <932039080@qq.com>
Co-authored-by: AK <akhilbussiness@gmail.com>
Co-authored-by: mahadevan <135952571+M-DEV-1@users.noreply.github.com>
Co-authored-by: Christian Gunderman <gundermanc@google.com>
Co-authored-by: Adam Weidman <65992621+adamfweidman@users.noreply.github.com>
Co-authored-by: Aishanee Shah <aishaneeshah@google.com>
Co-authored-by: JAYADITYA <96861162+JayadityaGit@users.noreply.github.com>
Co-authored-by: Sri Pasumarthi <111310667+sripasg@users.noreply.github.com>
Co-authored-by: krishdef7 <157892833+krishdef7@users.noreply.github.com>
Co-authored-by: Spencer <spencertang@google.com>
Co-authored-by: Daniel Finimundi <daniel@finimundi.com>
Co-authored-by: Aryan Singh <146713101+dimssu@users.noreply.github.com>
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: Suhaan Raqeeb Khavas <suhaanrk73@gmail.com>
Co-authored-by: Neil Nair <65729206+Neil-N4@users.noreply.github.com>
Co-authored-by: Franco Pieri <geo22therm@gmail.com>
Co-authored-by: Eswar809 <deevieswar44@gmail.com>
Co-authored-by: Kuroda Kayn <kurodakayn@outlook.com>
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>
Co-authored-by: Yulong Wu <50110323+TNTCompany@users.noreply.github.com>
Co-authored-by: kevinjwang1 <kevinjwang@google.com>
Co-authored-by: David Pierce <davidapierce@google.com>
Co-authored-by: Sahil Kirad <167863755+sahilkirad@users.noreply.github.com>
Co-authored-by: Jenna Inouye <jinouye@google.com>
Co-authored-by: EMERSON BUSSON <93008583+emersonbusson@users.noreply.github.com>
Co-authored-by: ifitisit <90478348+ifitisit@users.noreply.github.com>
Co-authored-by: PROTHAM <155388736+ProthamD@users.noreply.github.com>
Co-authored-by: 7. Sun <jhao.sun@gmail.com>
Co-authored-by: sotokisehiro <101786086+sotokisehiro@users.noreply.github.com>
Co-authored-by: Anish Sabharwal <anishs1207@gmail.com>
Co-authored-by: kaluchi <kaluchi@gmail.com>
Co-authored-by: Tirth Naik <naik.ti@northeastern.edu>
Co-authored-by: Rajesh patel <145205731+Rajeshpatel07@users.noreply.github.com>
Co-authored-by: Keith Schaab <keith.schaab@gmail.com>
Co-authored-by: Ramón Medrano Llamas <45878745+rmedranollamas@users.noreply.github.com>
Co-authored-by: Om Patel <ompatel.aiml@gmail.com>
Co-authored-by: ashishch432 <55024632+ashishch432@users.noreply.github.com>
Co-authored-by: Andrea Alberti <a.alberti82@gmail.com>
Co-authored-by: Ananth Kini <ananthkini1@gmail.com>
Co-authored-by: Yuvraj Angad Singh <36276913+yuvrajangadsingh@users.noreply.github.com>
Co-authored-by: Debasish <90102437+dibyx@users.noreply.github.com>
Co-authored-by: Hashaam Zahid <68606886+Hashaam101@users.noreply.github.com>
Co-authored-by: tison <wander4096@gmail.com>
Co-authored-by: adithya32 <163162210+KumarADITHYA123@users.noreply.github.com>
Co-authored-by: Syed Ayman Quadri <87442765+saymanq@users.noreply.github.com>
Co-authored-by: jvargassanchez-dot <jvargassanchez@google.com>
Co-authored-by: Billy Biggs <bbiggs@google.com>
Co-authored-by: Om Patel <ompatel@google.com>
Co-authored-by: Mukunda Rao Katta <mukunda.vjcs6@gmail.com>
Co-authored-by: nirali <124287834+Niralisj@users.noreply.github.com>
Co-authored-by: Sikandar <ma5161310@gmail.com>
Co-authored-by: Gaurav <39389231+gsquared94@users.noreply.github.com>
Co-authored-by: luisfelipe-alt <luisfelipe@google.com>
Co-authored-by: Cesar Sanchez Coraspe <sanchezcoraspe@google.com>
Co-authored-by: sidhantgoyal-droid <sidhantgoyal@google.com>
Co-authored-by: amelidev <ameliesther@google.com>
Co-authored-by: Vedant Mahajan <vedant.04.mahajan@gmail.com>
Co-authored-by: Jerry Lin <44830071+jerrylin3321@users.noreply.github.com>
Co-authored-by: Jerry Lin <jerrysf@google.com>
Co-authored-by: Chad <chaddiao0@gmail.com>
Co-authored-by: Chad <chaddiao@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality help wanted We will accept PRs from all issues marked as "help wanted". Thanks for your support! priority/p3 Backlog - a good idea but not currently a priority. size/l A large sized PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clean up unsafe returns suppressions

4 participants