Skip to content

Commit df1df74

Browse files
committed
merge: resolve conflicts with main
2 parents 0f49986 + 782bb4e commit df1df74

300 files changed

Lines changed: 12536 additions & 3448 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 1e9ec511c955cba9d7382333976f5394dc6b3d84

.gemini/settings.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"experimental": {
3-
"plan": true,
43
"extensionReloading": true,
54
"modelSteering": true,
6-
"memoryManager": true
5+
"memoryManager": true,
6+
"topicUpdateNarration": true
77
},
88
"general": {
99
"devtools": true

.gemini/skills/async-pr-review/scripts/async-review.sh

Lines changed: 119 additions & 115 deletions
Large diffs are not rendered by default.
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
#!/bin/bash
2-
pr_number=$1
2+
pr_number="${1}"
33

4-
if [[ -z "$pr_number" ]]; then
4+
if [[ -z "${pr_number}" ]]; then
55
echo "Usage: check-async-review <pr_number>"
66
exit 1
77
fi
88

9-
base_dir=$(git rev-parse --show-toplevel 2>/dev/null)
10-
if [[ -z "$base_dir" ]]; then
9+
base_dir="$(git rev-parse --show-toplevel 2>/dev/null || true)"
10+
if [[ -z "${base_dir}" ]]; then
1111
echo "❌ Must be run from within a git repository."
1212
exit 1
1313
fi
1414

15-
log_dir="$base_dir/.gemini/tmp/async-reviews/pr-$pr_number/logs"
15+
log_dir="${base_dir}/.gemini/tmp/async-reviews/pr-${pr_number}/logs"
1616

17-
if [[ ! -d "$log_dir" ]]; then
17+
if [[ ! -d "${log_dir}" ]]; then
1818
echo "STATUS: NOT_FOUND"
19-
echo "❌ No logs found for PR #$pr_number in $log_dir"
19+
echo "❌ No logs found for PR #${pr_number} in ${log_dir}"
2020
exit 0
2121
fi
2222

@@ -34,32 +34,32 @@ all_done=true
3434
echo "STATUS: CHECKING"
3535

3636
for task_info in "${tasks[@]}"; do
37-
IFS="|" read -r task_name log_file <<< "$task_info"
37+
IFS="|" read -r task_name log_file <<< "${task_info}"
3838

39-
file_path="$log_dir/$log_file"
40-
exit_file="$log_dir/$task_name.exit"
39+
file_path="${log_dir}/${log_file}"
40+
exit_file="${log_dir}/${task_name}.exit"
4141

42-
if [[ -f "$exit_file" ]]; then
43-
exit_code=$(cat "$exit_file")
44-
if [[ "$exit_code" == "0" ]]; then
45-
echo "$task_name: SUCCESS"
42+
if [[ -f "${exit_file}" ]]; then
43+
read -r exit_code < "${exit_file}" || exit_code=""
44+
if [[ "${exit_code}" == "0" ]]; then
45+
echo "${task_name}: SUCCESS"
4646
else
47-
echo "$task_name: FAILED (exit code $exit_code)"
48-
echo " Last lines of $file_path:"
49-
tail -n 3 "$file_path" | sed 's/^/ /'
47+
echo "${task_name}: FAILED (exit code ${exit_code})"
48+
echo " Last lines of ${file_path}:"
49+
tail -n 3 "${file_path}" | sed 's/^/ /' || true
5050
fi
51-
elif [[ -f "$file_path" ]]; then
52-
echo "$task_name: RUNNING"
51+
elif [[ -f "${file_path}" ]]; then
52+
echo "${task_name}: RUNNING"
5353
all_done=false
5454
else
55-
echo "$task_name: NOT STARTED"
55+
echo "${task_name}: NOT STARTED"
5656
all_done=false
5757
fi
5858
done
5959

60-
if $all_done; then
60+
if [[ "${all_done}" == "true" ]]; then
6161
echo "STATUS: COMPLETE"
62-
echo "LOG_DIR: $log_dir"
62+
echo "LOG_DIR: ${log_dir}"
6363
else
6464
echo "STATUS: IN_PROGRESS"
65-
fi
65+
fi

.github/actions/publish-release/action.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,9 @@ runs:
175175
--dry-run="${INPUTS_DRY_RUN}" \
176176
--workspace="${INPUTS_CORE_PACKAGE_NAME}" \
177177
--no-tag
178-
npm dist-tag rm ${INPUTS_CORE_PACKAGE_NAME} false
178+
if [[ "${INPUTS_DRY_RUN}" == "false" ]]; then
179+
npm dist-tag rm ${INPUTS_CORE_PACKAGE_NAME} false
180+
fi
179181
180182
- name: '🔗 Install latest core package'
181183
working-directory: '${{ inputs.working-directory }}'
@@ -193,7 +195,7 @@ runs:
193195
INPUTS_A2A_PACKAGE_NAME: '${{ inputs.a2a-package-name }}'
194196

195197
- name: '📦 Prepare bundled CLI for npm release'
196-
if: "inputs.npm-registry-url != 'https://npm.pkg.github.com/' && inputs.npm-tag != 'latest'"
198+
if: "inputs.npm-registry-url != 'https://npm.pkg.github.com/'"
197199
working-directory: '${{ inputs.working-directory }}'
198200
shell: 'bash'
199201
run: |
@@ -248,7 +250,9 @@ runs:
248250
--dry-run="${INPUTS_DRY_RUN}" \
249251
--workspace="${INPUTS_A2A_PACKAGE_NAME}" \
250252
--no-tag
251-
npm dist-tag rm ${INPUTS_A2A_PACKAGE_NAME} false
253+
if [[ "${INPUTS_DRY_RUN}" == "false" ]]; then
254+
npm dist-tag rm ${INPUTS_A2A_PACKAGE_NAME} false
255+
fi
252256
253257
- name: '🔬 Verify NPM release by version'
254258
uses: './.github/actions/verify-release'

.github/actions/run-tests/action.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ runs:
1818
env:
1919
JSON_INPUTS: '${{ toJSON(inputs) }}'
2020
run: 'echo "$JSON_INPUTS"'
21+
- name: 'Install system dependencies'
22+
if: "runner.os == 'Linux'"
23+
run: |
24+
sudo apt-get update -qq && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq bubblewrap
25+
# Ubuntu 24.04+ requires this to allow bwrap to function in CI
26+
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 || true
27+
shell: 'bash'
2128
- name: 'Run Tests'
2229
env:
2330
GEMINI_API_KEY: '${{ inputs.gemini_api_key }}'

CONTRIBUTING.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,11 @@ npm run lint
346346
347347
- Please adhere to the coding style, patterns, and conventions used throughout
348348
the existing codebase.
349-
- Consult [GEMINI.md](../GEMINI.md) (typically found in the project root) for
350-
specific instructions related to AI-assisted development, including
351-
conventions for React, comments, and Git usage.
349+
- Consult
350+
[GEMINI.md](https://github.com/google-gemini/gemini-cli/blob/main/GEMINI.md)
351+
(typically found in the project root) for specific instructions related to
352+
AI-assisted development, including conventions for React, comments, and Git
353+
usage.
352354
- **Imports:** Pay special attention to import paths. The project uses ESLint to
353355
enforce restrictions on relative imports between packages.
354356
@@ -505,8 +507,9 @@ code.
505507
506508
### Documentation structure
507509
508-
Our documentation is organized using [sidebar.json](/docs/sidebar.json) as the
509-
table of contents. When adding new documentation:
510+
Our documentation is organized using
511+
[sidebar.json](https://github.com/google-gemini/gemini-cli/blob/main/docs/sidebar.json)
512+
as the table of contents. When adding new documentation:
510513
511514
1. Create your markdown file **in the appropriate directory** under `/docs`.
512515
2. Add an entry to `sidebar.json` in the relevant section.

docs/changelogs/latest.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Latest stable release: v0.35.2
1+
# Latest stable release: v0.35.3
22

3-
Released: March 26, 2026
3+
Released: March 28, 2026
44

55
For most users, our latest stable release is the recommended release. Install
66
the latest stable version with:
@@ -29,6 +29,9 @@ npm install -g @google/gemini-cli
2929

3030
## What's Changed
3131

32+
- fix(patch): cherry-pick 765fb67 to release/v0.35.2-pr-24055 [CONFLICTS] by
33+
@gemini-cli-robot in
34+
[#24063](https://github.com/google-gemini/gemini-cli/pull/24063)
3235
- fix(core): allow disabling environment variable redaction by @galz10 in
3336
[#23927](https://github.com/google-gemini/gemini-cli/pull/23927)
3437
- fix(a2a-server): A2A server should execute ask policies in interactive mode by
@@ -385,4 +388,4 @@ npm install -g @google/gemini-cli
385388
[#23585](https://github.com/google-gemini/gemini-cli/pull/23585)
386389

387390
**Full Changelog**:
388-
https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.2
391+
https://github.com/google-gemini/gemini-cli/compare/v0.34.0...v0.35.3

docs/changelogs/preview.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Preview release: v0.36.0-preview.4
1+
# Preview release: v0.36.0-preview.6
22

3-
Released: March 26, 2026
3+
Released: March 28, 2026
44

55
Our preview release includes the latest, new, and experimental features. This
66
release may not be as stable as our [latest weekly release](latest.md).
@@ -31,6 +31,15 @@ npm install -g @google/gemini-cli@preview
3131

3232
## What's Changed
3333

34+
- fix(patch): cherry-pick 765fb67 to release/v0.36.0-preview.5-pr-24055 to patch
35+
version v0.36.0-preview.5 and create version 0.36.0-preview.6 by
36+
@gemini-cli-robot in
37+
[#24061](https://github.com/google-gemini/gemini-cli/pull/24061)
38+
- fix(a2a-server): A2A server should execute ask policies in interactive mode by
39+
@kschaab in [#23831](https://github.com/google-gemini/gemini-cli/pull/23831)
40+
- docs(core): document agent_card_json string literal options for remote agents
41+
by @adamfweidman in
42+
[#23797](https://github.com/google-gemini/gemini-cli/pull/23797)
3443
- feat(core): support inline agentCardJson for remote agents by @adamfweidman in
3544
[#23743](https://github.com/google-gemini/gemini-cli/pull/23743)
3645
- fix(patch): cherry-pick 055ff92 to release/v0.36.0-preview.0-pr-23672 to patch
@@ -381,4 +390,4 @@ npm install -g @google/gemini-cli@preview
381390
[#23666](https://github.com/google-gemini/gemini-cli/pull/23666)
382391

383392
**Full Changelog**:
384-
https://github.com/google-gemini/gemini-cli/compare/v0.35.0-preview.5...v0.36.0-preview.4
393+
https://github.com/google-gemini/gemini-cli/compare/v0.35.0-preview.5...v0.36.0-preview.6

docs/cli/cli-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ These commands are available within the interactive REPL.
5252
| `--prompt-interactive` | `-i` | string | - | Execute prompt and continue in interactive mode |
5353
| `--worktree` | `-w` | string | - | Start Gemini in a new git worktree. If no name is provided, one is generated automatically. Requires `experimental.worktrees: true` in settings. |
5454
| `--sandbox` | `-s` | boolean | `false` | Run in a sandboxed environment for safer execution |
55-
| `--approval-mode` | - | string | `default` | Approval mode for tool execution. Choices: `default`, `auto_edit`, `yolo` |
55+
| `--approval-mode` | - | string | `default` | Approval mode for tool execution. Choices: `default`, `auto_edit`, `yolo`, `plan` |
5656
| `--yolo` | `-y` | boolean | `false` | **Deprecated.** Auto-approve all actions. Use `--approval-mode=yolo` instead. |
5757
| `--experimental-acp` | - | boolean | - | Start in ACP (Agent Code Pilot) mode. **Experimental feature.** |
5858
| `--experimental-zed-integration` | - | boolean | - | Run in Zed editor integration mode. **Experimental feature.** |

0 commit comments

Comments
 (0)