@google/gemini-cli-core 0.59.0-preview.0 → 0.60.0-nightly.20260904.g87a9c71d5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundled/chrome-devtools-mcp.mjs +1 -1
- package/dist/bundled/third_party/index.js +1 -1
- package/dist/docs/changelogs/index.md +20 -0
- package/dist/docs/changelogs/latest.md +32 -281
- package/dist/docs/changelogs/preview.md +18 -31
- package/dist/docs/reference/tools.md +4 -4
- package/dist/docs/tools/mcp-server.md +53 -0
- package/dist/docs/tools/web-fetch.md +7 -3
- package/dist/google-gemini-cli-core-0.60.0-nightly.20260901.g0bd1d4397.tgz +0 -0
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +3 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +18 -18
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +1 -0
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/web-fetch.js +12 -8
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +11 -11
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/utils/cruxKeyLeak.test.d.ts +6 -0
- package/dist/src/utils/cruxKeyLeak.test.js +50 -0
- package/dist/src/utils/cruxKeyLeak.test.js.map +1 -0
- package/dist/src/utils/fetch.d.ts +61 -3
- package/dist/src/utils/fetch.js +223 -23
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fetch.spec.d.ts +6 -0
- package/dist/src/utils/fetch.spec.js +308 -0
- package/dist/src/utils/fetch.spec.js.map +1 -0
- package/dist/src/utils/fetch.test.js +42 -10
- package/dist/src/utils/fetch.test.js.map +1 -1
- package/dist/src/utils/oauth-flow.d.ts +10 -1
- package/dist/src/utils/oauth-flow.js +85 -2
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/oauth-flow.test.js +120 -1
- package/dist/src/utils/oauth-flow.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -214893,7 +214893,7 @@ For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides
|
|
|
214893
214893
|
};
|
|
214894
214894
|
str_$n = registerUIStrings("models/crux-manager/CrUXManager.ts", UIStrings$o);
|
|
214895
214895
|
i18nString$a = getLocalizedString.bind(void 0, str_$n);
|
|
214896
|
-
CRUX_API_KEY = "
|
|
214896
|
+
CRUX_API_KEY = (process.env.CRUX_API_KEY || "");
|
|
214897
214897
|
DEFAULT_ENDPOINT = `https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=${CRUX_API_KEY}`;
|
|
214898
214898
|
DEVICE_SCOPE_LIST = ["ALL", "DESKTOP", "PHONE"];
|
|
214899
214899
|
pageScopeList = ["origin", "url"];
|
|
@@ -164530,7 +164530,7 @@ const UIStrings$o = {
|
|
|
164530
164530
|
};
|
|
164531
164531
|
const str_$n = registerUIStrings('models/crux-manager/CrUXManager.ts', UIStrings$o);
|
|
164532
164532
|
const i18nString$a = getLocalizedString.bind(undefined, str_$n);
|
|
164533
|
-
const CRUX_API_KEY =
|
|
164533
|
+
const CRUX_API_KEY = (process.env.CRUX_API_KEY || "");
|
|
164534
164534
|
const DEFAULT_ENDPOINT = `https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=${CRUX_API_KEY}`;
|
|
164535
164535
|
let cruxManagerInstance;
|
|
164536
164536
|
const DEVICE_SCOPE_LIST = ['ALL', 'DESKTOP', 'PHONE'];
|
|
@@ -18,6 +18,26 @@ on GitHub.
|
|
|
18
18
|
| [Preview](preview.md) | Experimental features ready for early feedback. |
|
|
19
19
|
| [Stable](latest.md) | Stable, recommended for general use. |
|
|
20
20
|
|
|
21
|
+
## Announcements: v0.58.0 - 2026-09-01
|
|
22
|
+
|
|
23
|
+
- **Core Security & Path Handling:** Enforced consistent symlink evaluation in
|
|
24
|
+
ignore path handling and declared top-level safety checkers in write policy
|
|
25
|
+
configuration
|
|
26
|
+
([#28915](https://github.com/google-gemini/gemini-cli/pull/28915),
|
|
27
|
+
[#28961](https://github.com/google-gemini/gemini-cli/pull/28961) by
|
|
28
|
+
@luisfelipe-alt).
|
|
29
|
+
- **macOS Seatbelt Sandbox:** Isolated Docker and container runtime sockets and
|
|
30
|
+
binaries to restrict container runtime access in the macOS sandbox
|
|
31
|
+
([#28935](https://github.com/google-gemini/gemini-cli/pull/28935) by
|
|
32
|
+
@josebalius).
|
|
33
|
+
- **Session & Recovery Optimizations:** Optimized history rollback mechanics,
|
|
34
|
+
retry nudge prompts, and resolved stale cancellation errors in the
|
|
35
|
+
Agent-to-Agent server
|
|
36
|
+
([#28934](https://github.com/google-gemini/gemini-cli/pull/28934) by
|
|
37
|
+
@DavidAPierce,
|
|
38
|
+
[#28940](https://github.com/google-gemini/gemini-cli/pull/28940) by
|
|
39
|
+
@amelidev).
|
|
40
|
+
|
|
21
41
|
## Announcements: v0.54.0 - 2026-08-06
|
|
22
42
|
|
|
23
43
|
- **PR Automation & Antigravity Agent:** Integrated the Antigravity agent runner
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Latest stable release: v0.
|
|
1
|
+
# Latest stable release: v0.58.0
|
|
2
2
|
|
|
3
|
-
Released:
|
|
3
|
+
Released: September 1, 2026
|
|
4
4
|
|
|
5
5
|
For most users, our latest stable release is the recommended release. Install
|
|
6
6
|
the latest stable version with:
|
|
@@ -11,287 +11,38 @@ npm install -g @google/gemini-cli
|
|
|
11
11
|
|
|
12
12
|
## Highlights
|
|
13
13
|
|
|
14
|
-
- **
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- **
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- **
|
|
24
|
-
|
|
25
|
-
retrieval by filtering out thought parts when context management is disabled,
|
|
26
|
-
and correctly skipped merged function responses when tracking active loops.
|
|
14
|
+
- **Sandbox Security Isolation:** Isolated Docker and container runtime sockets
|
|
15
|
+
and binaries in macOS Seatbelt to restrict unauthorized container execution
|
|
16
|
+
access.
|
|
17
|
+
- **Ignore Path Symlink Evaluation:** Enforced consistent symlink evaluation in
|
|
18
|
+
ignore path handling to prevent path bypass.
|
|
19
|
+
- **Policy Configuration & Safety:** Declared top-level safety checkers in write
|
|
20
|
+
policy configuration for comprehensive safety validation.
|
|
21
|
+
- **History Rollback & Retry Nudge:** Optimized history rollback mechanics and
|
|
22
|
+
retry nudge flows for more robust conversational recovery.
|
|
23
|
+
- **Agent-to-Agent Stability:** Resolved stale cancellation errors on new
|
|
24
|
+
message turns in the Agent-to-Agent server to improve turn recovery.
|
|
27
25
|
|
|
28
26
|
## What's Changed
|
|
29
27
|
|
|
30
|
-
-
|
|
31
|
-
[#
|
|
32
|
-
- fix(
|
|
33
|
-
@
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
[#
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
hitl by @luisfelipe-alt in
|
|
49
|
-
[#27966](https://github.com/google-gemini/gemini-cli/pull/27966)
|
|
50
|
-
- fix(core-tools): resolve defensive path resolution for at-reference files and
|
|
51
|
-
fix macOS tests by @luisfelipe-alt in
|
|
52
|
-
[#28053](https://github.com/google-gemini/gemini-cli/pull/28053)
|
|
53
|
-
- feat(caretaker): implement Cloud Run webhook ingestion service by @chadd28 in
|
|
54
|
-
[#28015](https://github.com/google-gemini/gemini-cli/pull/28015)
|
|
55
|
-
- fix(core): resolve symbolic link directory escape in memory import processor
|
|
56
|
-
by @luisfelipe-alt in
|
|
57
|
-
[#28233](https://github.com/google-gemini/gemini-cli/pull/28233)
|
|
58
|
-
- feat(caretaker): egress cloud run service skeleton by @chadd28 in
|
|
59
|
-
[#28167](https://github.com/google-gemini/gemini-cli/pull/28167)
|
|
60
|
-
- fix(sandbox): make ~/.gitconfig read-only in the macOS sandbox by
|
|
61
|
-
@ompatel-aiml in
|
|
62
|
-
[#28221](https://github.com/google-gemini/gemini-cli/pull/28221)
|
|
63
|
-
- fix(core): preserve escape sequences in string literals for modern models by
|
|
64
|
-
@luisfelipe-alt in
|
|
65
|
-
[#28299](https://github.com/google-gemini/gemini-cli/pull/28299)
|
|
66
|
-
- fix(core): strip thoughts from scrubbed history turns and resolve thought
|
|
67
|
-
leakage by @amelidev in
|
|
68
|
-
[#27971](https://github.com/google-gemini/gemini-cli/pull/27971)
|
|
69
|
-
- Refactor: exclude transient CI configuration files from workspace context by
|
|
70
|
-
@DavidAPierce in
|
|
71
|
-
[#28216](https://github.com/google-gemini/gemini-cli/pull/28216)
|
|
72
|
-
- feat(caretaker-triage): add triage worker core foundational modules by
|
|
73
|
-
@chadd28 in [#28163](https://github.com/google-gemini/gemini-cli/pull/28163)
|
|
74
|
-
- feat(caretaker-egress): implement octokit github action handler for egress
|
|
75
|
-
service by @chadd28 in
|
|
76
|
-
[#28303](https://github.com/google-gemini/gemini-cli/pull/28303)
|
|
77
|
-
- chore(release): bump version to 0.52.0-nightly.20260707.g27a3da3e8 by
|
|
78
|
-
@gemini-cli-robot in
|
|
79
|
-
[#28323](https://github.com/google-gemini/gemini-cli/pull/28323)
|
|
80
|
-
- Changelog for v0.51.0-preview.0 by @gemini-cli-robot in
|
|
81
|
-
[#28320](https://github.com/google-gemini/gemini-cli/pull/28320)
|
|
82
|
-
- Changelog for v0.50.0 by @gemini-cli-robot in
|
|
83
|
-
[#28322](https://github.com/google-gemini/gemini-cli/pull/28322)
|
|
84
|
-
- fix(core-tools): bypass LLM correction for JSON and IPYNB files in write_file
|
|
85
|
-
and replace by @amelidev in
|
|
86
|
-
[#28223](https://github.com/google-gemini/gemini-cli/pull/28223)
|
|
87
|
-
- fix(core): use unambiguous previous intent label in fallback summary by
|
|
88
|
-
@amelidev in [#28343](https://github.com/google-gemini/gemini-cli/pull/28343)
|
|
89
|
-
- feat(caretaker-triage): implement main worker execution loop and egress action
|
|
90
|
-
publisher by @chadd28 in
|
|
91
|
-
[#28306](https://github.com/google-gemini/gemini-cli/pull/28306)
|
|
92
|
-
- fix(privacy): show a clear message when the account has no Code Assist tier by
|
|
93
|
-
@ompatel-aiml in
|
|
94
|
-
[#28304](https://github.com/google-gemini/gemini-cli/pull/28304)
|
|
95
|
-
- fix(core): enrich shared project quota limit errors with setup hint by
|
|
96
|
-
@amelidev in [#28391](https://github.com/google-gemini/gemini-cli/pull/28391)
|
|
97
|
-
- fix(a2a-server): ensure task cancellation aborts execution loop by
|
|
98
|
-
@luisfelipe-alt in
|
|
99
|
-
[#28316](https://github.com/google-gemini/gemini-cli/pull/28316)
|
|
100
|
-
- fix(core): simplify plan mode write policy to support relative paths by
|
|
101
|
-
@DavidAPierce in
|
|
102
|
-
[#28398](https://github.com/google-gemini/gemini-cli/pull/28398)
|
|
103
|
-
- feat(core): Bump node google-auth-library version to 10.9.0 by @jerrylin3321
|
|
104
|
-
in [#28385](https://github.com/google-gemini/gemini-cli/pull/28385)
|
|
105
|
-
- chore/release: bump version to 0.52.0-nightly.20260715.gfa975395b by
|
|
106
|
-
@gemini-cli-robot in
|
|
107
|
-
[#28402](https://github.com/google-gemini/gemini-cli/pull/28402)
|
|
108
|
-
- fix(core,a2a): group cancelled tool responses and coalesce consecutive roles
|
|
109
|
-
to prevent 400 Bad Request by @luisfelipe-alt in
|
|
110
|
-
[#28407](https://github.com/google-gemini/gemini-cli/pull/28407)
|
|
111
|
-
- feat(caretaker-triage): implement LLM triage orchestrator and container build
|
|
112
|
-
by @chadd28 in
|
|
113
|
-
[#28345](https://github.com/google-gemini/gemini-cli/pull/28345)
|
|
114
|
-
- refactor(cli): align macOS permissive Seatbelt profiles with deny-default
|
|
115
|
-
model by @ompatel-aiml in
|
|
116
|
-
[#28424](https://github.com/google-gemini/gemini-cli/pull/28424)
|
|
117
|
-
- fix(core): mitigate infinite ReAct loops and prompt injection loops by
|
|
118
|
-
@amelidev in [#28429](https://github.com/google-gemini/gemini-cli/pull/28429)
|
|
119
|
-
- fix(a2a-server): enforce workspace trust and task isolation to prevent RCE by
|
|
120
|
-
@luisfelipe-alt in
|
|
121
|
-
[#28470](https://github.com/google-gemini/gemini-cli/pull/28470)
|
|
122
|
-
- fix(core): sequentially verify cached credentials and restore
|
|
123
|
-
GOOGLE_APPLICATION_CREDENTIALS fallback by @luisfelipe-alt in
|
|
124
|
-
[#28472](https://github.com/google-gemini/gemini-cli/pull/28472)
|
|
125
|
-
- feat(evals): add eval coverage report command by @ved015 in
|
|
126
|
-
[#28169](https://github.com/google-gemini/gemini-cli/pull/28169)
|
|
127
|
-
- Changelog for v0.53.0-preview.0 by @gemini-cli-robot in
|
|
128
|
-
[#28507](https://github.com/google-gemini/gemini-cli/pull/28507)
|
|
129
|
-
- Changelog for v0.52.0 by @gemini-cli-robot in
|
|
130
|
-
[#28508](https://github.com/google-gemini/gemini-cli/pull/28508)
|
|
131
|
-
- chore(release): bump version to 0.54.0-nightly.20260722.gf743ab579 by
|
|
132
|
-
@gemini-cli-robot in
|
|
133
|
-
[#28510](https://github.com/google-gemini/gemini-cli/pull/28510)
|
|
134
|
-
- fix(caretaker): sanitize and wrap issue title in untrusted_context by @chadd28
|
|
135
|
-
in [#28352](https://github.com/google-gemini/gemini-cli/pull/28352)
|
|
136
|
-
- chore(caretaker): update vitest to v3.2.4 and add package-lock.json files by
|
|
137
|
-
@chadd28 in [#28409](https://github.com/google-gemini/gemini-cli/pull/28409)
|
|
138
|
-
- fix(core): rotate session ID on model fallback to prevent stateful API errors
|
|
139
|
-
by @amelidev in
|
|
140
|
-
[#28469](https://github.com/google-gemini/gemini-cli/pull/28469)
|
|
141
|
-
- feat(caretaker-triage): post comment before auto-closing issues by @chadd28 in
|
|
142
|
-
[#28411](https://github.com/google-gemini/gemini-cli/pull/28411)
|
|
143
|
-
- fix(core): enforce HTTPS for GoogleCredentialsAuthProvider to prevent
|
|
144
|
-
cleartext leakage by @amelidev in
|
|
145
|
-
[#28517](https://github.com/google-gemini/gemini-cli/pull/28517)
|
|
146
|
-
- fix(core): filter out thought parts from getHistoryTurns when context
|
|
147
|
-
management is disabled by @DavidAPierce in
|
|
148
|
-
[#28509](https://github.com/google-gemini/gemini-cli/pull/28509)
|
|
149
|
-
- fix(a2a-server): normalize CRLF line endings to LF in getProposedContent by
|
|
150
|
-
@luisfelipe-alt in
|
|
151
|
-
[#28531](https://github.com/google-gemini/gemini-cli/pull/28531)
|
|
152
|
-
- fix(core): enforce explicit tag length and validation in file keychain by
|
|
153
|
-
@luisfelipe-alt in
|
|
154
|
-
[#28523](https://github.com/google-gemini/gemini-cli/pull/28523)
|
|
155
|
-
- chore/release: bump version to 0.54.0-nightly.20260728.gbef611950 by
|
|
156
|
-
@gemini-cli-robot in
|
|
157
|
-
[#28552](https://github.com/google-gemini/gemini-cli/pull/28552)
|
|
158
|
-
- feat(pr-generator-db): implement Firestore concurrency dual-locking and test
|
|
159
|
-
ingestion utilities by @joneba-google in
|
|
160
|
-
[#28432](https://github.com/google-gemini/gemini-cli/pull/28432)
|
|
161
|
-
- feat(pr-generator-agent): implement Antigravity agent runner and prompt
|
|
162
|
-
templates … by @joneba-google in
|
|
163
|
-
[#28434](https://github.com/google-gemini/gemini-cli/pull/28434)
|
|
164
|
-
- fix(core): skip merged function-response turns when finding the active loop by
|
|
165
|
-
@adamfweidman in
|
|
166
|
-
[#28565](https://github.com/google-gemini/gemini-cli/pull/28565)
|
|
167
|
-
- chore(release): bump version to 0.55.0-nightly.20260728.gd29268d36 by
|
|
168
|
-
@gemini-cli-robot in
|
|
169
|
-
[#28569](https://github.com/google-gemini/gemini-cli/pull/28569)
|
|
170
|
-
- Changelog for v0.54.0-preview.0 by @gemini-cli-robot in
|
|
171
|
-
[#28567](https://github.com/google-gemini/gemini-cli/pull/28567)
|
|
172
|
-
- Changelog for v0.53.0 by @gemini-cli-robot in
|
|
173
|
-
[#28568](https://github.com/google-gemini/gemini-cli/pull/28568)
|
|
174
|
-
- chore/release: bump version to 0.55.0-nightly.20260729.g3499c84f7 by
|
|
175
|
-
@gemini-cli-robot in
|
|
176
|
-
[#28573](https://github.com/google-gemini/gemini-cli/pull/28573)
|
|
177
|
-
- fix(core): classify capacity exhaustion as terminal to prevent retry hangs by
|
|
178
|
-
@luisfelipe-alt in
|
|
179
|
-
[#28599](https://github.com/google-gemini/gemini-cli/pull/28599)
|
|
180
|
-
- fix(core,cli): propagate InvalidStreamError details to UI for specific empty
|
|
181
|
-
response guidance by @DavidAPierce in
|
|
182
|
-
[#28566](https://github.com/google-gemini/gemini-cli/pull/28566)
|
|
183
|
-
- fix(cli): fall back to embedded macOS seatbelt profiles if missing by
|
|
184
|
-
@amelidev in [#28551](https://github.com/google-gemini/gemini-cli/pull/28551)
|
|
185
|
-
- feat(pr-generator-core): add environment config parser, command executor,
|
|
186
|
-
GitHub R… by @joneba-google in
|
|
187
|
-
[#28435](https://github.com/google-gemini/gemini-cli/pull/28435)
|
|
188
|
-
- feat(pr-generator-orchestrator): implement iterative bug-fixing state machine
|
|
189
|
-
and container worker entrypoint by @joneba-google in
|
|
190
|
-
[#28433](https://github.com/google-gemini/gemini-cli/pull/28433)
|
|
191
|
-
- feat(pr-generator-infra): configure Cloud Run job, Workflows definition, and
|
|
192
|
-
Dockerfile by @joneba-google in
|
|
193
|
-
[#28431](https://github.com/google-gemini/gemini-cli/pull/28431)
|
|
194
|
-
- fix(release): handle npm dist-tag deletion failures on registries that forbid
|
|
195
|
-
it by @DavidAPierce in
|
|
196
|
-
[#28694](https://github.com/google-gemini/gemini-cli/pull/28694)
|
|
197
|
-
- fix(core): stop a new user message fusing into an unanswered tool response by
|
|
198
|
-
@adamfweidman in
|
|
199
|
-
[#28700](https://github.com/google-gemini/gemini-cli/pull/28700)
|
|
200
|
-
- fix(core,cli): repair /compress session reload and quota-fallback tool
|
|
201
|
-
response loss by @adamfweidman in
|
|
202
|
-
[#28672](https://github.com/google-gemini/gemini-cli/pull/28672)
|
|
203
|
-
- fix(core): preserve functionCall thoughtSignature when stripping thought parts
|
|
204
|
-
by @sarbojitrana in
|
|
205
|
-
[#28607](https://github.com/google-gemini/gemini-cli/pull/28607)
|
|
206
|
-
- fix(core): unwrap and parse nested gaxios streaming errors from cause message
|
|
207
|
-
by @luisfelipe-alt in
|
|
208
|
-
[#28689](https://github.com/google-gemini/gemini-cli/pull/28689)
|
|
209
|
-
- Changelog for v0.55.0-preview.1 by @gemini-cli-robot in
|
|
210
|
-
[#28706](https://github.com/google-gemini/gemini-cli/pull/28706)
|
|
211
|
-
- chore(release): bump version to 0.56.0-nightly.20260806.g761f604c1 by
|
|
212
|
-
@gemini-cli-robot in
|
|
213
|
-
[#28707](https://github.com/google-gemini/gemini-cli/pull/28707)
|
|
214
|
-
- Changelog for v0.54.0 by @gemini-cli-robot in
|
|
215
|
-
[#28708](https://github.com/google-gemini/gemini-cli/pull/28708)
|
|
216
|
-
- Reclassifying Capacity Exhaustion as Terminal Error by @luisfelipe-alt in
|
|
217
|
-
[#28716](https://github.com/google-gemini/gemini-cli/pull/28716)
|
|
218
|
-
- feat(caretaker): update Firestore schema with error, and pr_number fields by
|
|
219
|
-
@chadd28 in [#28467](https://github.com/google-gemini/gemini-cli/pull/28467)
|
|
220
|
-
- feat(caretaker-triage): prompt hill-climbing & orchestrator updates by
|
|
221
|
-
@chadd28 in [#28524](https://github.com/google-gemini/gemini-cli/pull/28524)
|
|
222
|
-
- feat(caretaker): add triage Cloud Run job workflow by @chadd28 in
|
|
223
|
-
[#28468](https://github.com/google-gemini/gemini-cli/pull/28468)
|
|
224
|
-
- feat(caretaker-evals): add triage evaluation framework and judge runner by
|
|
225
|
-
@chadd28 in [#28530](https://github.com/google-gemini/gemini-cli/pull/28530)
|
|
226
|
-
- feat(caretaker-evals): add local golden issue collection and firestore sync
|
|
227
|
-
tools by @chadd28 in
|
|
228
|
-
[#28532](https://github.com/google-gemini/gemini-cli/pull/28532)
|
|
229
|
-
- feat(caretaker): publish workable spec event to ready-for-code Pub/Sub topic
|
|
230
|
-
by @chadd28 in
|
|
231
|
-
[#28588](https://github.com/google-gemini/gemini-cli/pull/28588)
|
|
232
|
-
- feat(caretaker): add GCP deployment script for caretaker agent services by
|
|
233
|
-
@chadd28 in [#28529](https://github.com/google-gemini/gemini-cli/pull/28529)
|
|
234
|
-
- feat(caretaker-evals): add Cloud Run job entrypoint for eval runner by
|
|
235
|
-
@chadd28 in [#28727](https://github.com/google-gemini/gemini-cli/pull/28727)
|
|
236
|
-
- fix(caretaker): clear lock on NEEDS_HUMAN transition by @chadd28 in
|
|
237
|
-
[#28601](https://github.com/google-gemini/gemini-cli/pull/28601)
|
|
238
|
-
- feat(ingestion): add issue comment handling and re-triage workflow by @chadd28
|
|
239
|
-
in [#28690](https://github.com/google-gemini/gemini-cli/pull/28690)
|
|
240
|
-
- fix(core): refresh MCP OAuth tokens with the stored client ID by
|
|
241
|
-
@ParthivNaresh in
|
|
242
|
-
[#28481](https://github.com/google-gemini/gemini-cli/pull/28481)
|
|
243
|
-
- fix(core,cli): resolve false model capacity exhaustion and fix core quota
|
|
244
|
-
lookup model mapping by @DavidAPierce in
|
|
245
|
-
[#28730](https://github.com/google-gemini/gemini-cli/pull/28730)
|
|
246
|
-
- feat(evals): add local report command and developer documentation by @ved015
|
|
247
|
-
in [#28369](https://github.com/google-gemini/gemini-cli/pull/28369)
|
|
248
|
-
- fix(core): dynamically resolve Cloud Workstations proxy redirect URI for OAuth
|
|
249
|
-
flows by @amelidev in
|
|
250
|
-
[#28688](https://github.com/google-gemini/gemini-cli/pull/28688)
|
|
251
|
-
- Changelog for v0.53.0-preview.0 by @gemini-cli-robot in
|
|
252
|
-
[#28507](https://github.com/google-gemini/gemini-cli/pull/28507)
|
|
253
|
-
- Changelog for v0.52.0 by @gemini-cli-robot in
|
|
254
|
-
[#28508](https://github.com/google-gemini/gemini-cli/pull/28508)
|
|
255
|
-
- chore(release): bump version to 0.54.0-nightly.20260722.gf743ab579 by
|
|
256
|
-
@gemini-cli-robot in
|
|
257
|
-
[#28510](https://github.com/google-gemini/gemini-cli/pull/28510)
|
|
258
|
-
- fix(caretaker): sanitize and wrap issue title in untrusted_context by @chadd28
|
|
259
|
-
in [#28352](https://github.com/google-gemini/gemini-cli/pull/28352)
|
|
260
|
-
- chore(caretaker): update vitest to v3.2.4 and add package-lock.json files by
|
|
261
|
-
@chadd28 in [#28409](https://github.com/google-gemini/gemini-cli/pull/28409)
|
|
262
|
-
- fix(core): rotate session ID on model fallback to prevent stateful API errors
|
|
263
|
-
by @amelidev in
|
|
264
|
-
[#28469](https://github.com/google-gemini/gemini-cli/pull/28469)
|
|
265
|
-
- feat(caretaker-triage): post comment before auto-closing issues by @chadd28 in
|
|
266
|
-
[#28411](https://github.com/google-gemini/gemini-cli/pull/28411)
|
|
267
|
-
- fix(core): enforce HTTPS for GoogleCredentialsAuthProvider to prevent
|
|
268
|
-
cleartext leakage by @amelidev in
|
|
269
|
-
[#28517](https://github.com/google-gemini/gemini-cli/pull/28517)
|
|
270
|
-
- fix(core): filter out thought parts from getHistoryTurns when context
|
|
271
|
-
management is disabled by @DavidAPierce in
|
|
272
|
-
[#28509](https://github.com/google-gemini/gemini-cli/pull/28509)
|
|
273
|
-
- fix(a2a-server): normalize CRLF line endings to LF in getProposedContent by
|
|
274
|
-
@luisfelipe-alt in
|
|
275
|
-
[#28531](https://github.com/google-gemini/gemini-cli/pull/28531)
|
|
276
|
-
- fix(core): enforce explicit tag length and validation in file keychain by
|
|
277
|
-
@luisfelipe-alt in
|
|
278
|
-
[#28523](https://github.com/google-gemini/gemini-cli/pull/28523)
|
|
279
|
-
- chore/release: bump version to 0.54.0-nightly.20260728.gbef611950 by
|
|
280
|
-
@gemini-cli-robot in
|
|
281
|
-
[#28552](https://github.com/google-gemini/gemini-cli/pull/28552)
|
|
282
|
-
- feat(pr-generator-db): implement Firestore concurrency dual-locking and test
|
|
283
|
-
ingestion utilities by @joneba-google in
|
|
284
|
-
[#28432](https://github.com/google-gemini/gemini-cli/pull/28432)
|
|
285
|
-
- feat(pr-generator-agent): implement Antigravity agent runner and prompt
|
|
286
|
-
templates … by @joneba-google in
|
|
287
|
-
[#28434](https://github.com/google-gemini/gemini-cli/pull/28434)
|
|
288
|
-
- fix(core): skip merged function-response turns when finding the active loop by
|
|
289
|
-
@adamfweidman in
|
|
290
|
-
[#28565](https://github.com/google-gemini/gemini-cli/pull/28565)
|
|
291
|
-
- fix(patch): cherry-pick f47d6c6 to release/v0.54.0-preview.0-pr-28566 to patch
|
|
292
|
-
version v0.54.0-preview.0 and create version 0.54.0-preview.1 by
|
|
293
|
-
@gemini-cli-robot in
|
|
294
|
-
[#28609](https://github.com/google-gemini/gemini-cli/pull/28609)
|
|
28
|
+
- Changelog for v0.57.0-preview.0 by @gemini-cli-robot in
|
|
29
|
+
[#28918](https://github.com/google-gemini/gemini-cli/pull/28918)
|
|
30
|
+
- fix(core): ensure consistent symlink evaluation in ignore path handling by
|
|
31
|
+
@luisfelipe-alt in
|
|
32
|
+
[#28915](https://github.com/google-gemini/gemini-cli/pull/28915)
|
|
33
|
+
- refactor(core): remove eslint-disable and type-asserts from
|
|
34
|
+
shellExecutionService by @DavidAPierce in
|
|
35
|
+
[#28862](https://github.com/google-gemini/gemini-cli/pull/28862)
|
|
36
|
+
- fix(sandbox): isolate Docker and container runtime sockets and binaries in
|
|
37
|
+
macOS Seatbelt by @josebalius in
|
|
38
|
+
[#28935](https://github.com/google-gemini/gemini-cli/pull/28935)
|
|
39
|
+
- fix(a2a-server): clear stale cancellation error on new message turns by
|
|
40
|
+
@amelidev in [#28940](https://github.com/google-gemini/gemini-cli/pull/28940)
|
|
41
|
+
- fix(core): declare top-level safety checkers in write policy configuration by
|
|
42
|
+
@luisfelipe-alt in
|
|
43
|
+
[#28961](https://github.com/google-gemini/gemini-cli/pull/28961)
|
|
44
|
+
- (FIX) history rollback and retry nudge optimizations by @DavidAPierce in
|
|
45
|
+
[#28934](https://github.com/google-gemini/gemini-cli/pull/28934)
|
|
295
46
|
|
|
296
47
|
**Full Changelog**:
|
|
297
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
48
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.57.0...v0.58.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.59.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released:
|
|
3
|
+
Released: September 1, 2026
|
|
4
4
|
|
|
5
5
|
Our preview release includes the latest, new, and experimental features. This
|
|
6
6
|
release may not be as stable as our [latest weekly release](latest.md).
|
|
@@ -13,37 +13,24 @@ npm install -g @google/gemini-cli@preview
|
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
- **History & Retry Optimizations**: Enhanced history rollback and optimized
|
|
21
|
-
retry nudges for smoother session management.
|
|
22
|
-
- **A2A Server Resilience**: Cleared stale cancellation errors on new message
|
|
23
|
-
turns to prevent incorrect error states.
|
|
24
|
-
- **Write Policy & Safety Improvements**: Declared top-level safety checkers in
|
|
25
|
-
the write policy configuration to strengthen execution guardrails.
|
|
16
|
+
- **MCP Security Enhancements**: Prevented Server-Side Request Forgery (SSRF) in
|
|
17
|
+
Model Context Protocol (MCP) OAuth metadata discovery and authentication.
|
|
18
|
+
- **Restricted Mode Strengthening**: Enforced fail-closed workspace trust and
|
|
19
|
+
implemented filtering for MCP servers when running in restricted mode.
|
|
26
20
|
|
|
27
21
|
## What's Changed
|
|
28
22
|
|
|
29
|
-
- Changelog for v0.
|
|
30
|
-
[#
|
|
31
|
-
-
|
|
32
|
-
@
|
|
33
|
-
[#
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
[#
|
|
37
|
-
- fix(
|
|
38
|
-
|
|
39
|
-
[#
|
|
40
|
-
- fix(a2a-server): clear stale cancellation error on new message turns by
|
|
41
|
-
@amelidev in [#28940](https://github.com/google-gemini/gemini-cli/pull/28940)
|
|
42
|
-
- fix(core): declare top-level safety checkers in write policy configuration by
|
|
43
|
-
@luisfelipe-alt in
|
|
44
|
-
[#28961](https://github.com/google-gemini/gemini-cli/pull/28961)
|
|
45
|
-
- (FIX) history rollback and retry nudge optimizations by @DavidAPierce in
|
|
46
|
-
[#28934](https://github.com/google-gemini/gemini-cli/pull/28934)
|
|
23
|
+
- Changelog for v0.58.0-preview.0 by @gemini-cli-robot in
|
|
24
|
+
[#29082](https://github.com/google-gemini/gemini-cli/pull/29082)
|
|
25
|
+
- chore(release): bump version to 0.59.0-nightly.20260825.g812f7a2bc by
|
|
26
|
+
@gemini-cli-robot in
|
|
27
|
+
[#29083](https://github.com/google-gemini/gemini-cli/pull/29083)
|
|
28
|
+
- fix(core): prevent SSRF in MCP OAuth metadata discovery and authentication by
|
|
29
|
+
@josebalius in
|
|
30
|
+
[#29081](https://github.com/google-gemini/gemini-cli/pull/29081)
|
|
31
|
+
- fix(core): enforce fail-closed workspace trust and filter mcpServers in
|
|
32
|
+
restricted mode by @luisfelipe-alt in
|
|
33
|
+
[#29099](https://github.com/google-gemini/gemini-cli/pull/29099)
|
|
47
34
|
|
|
48
35
|
**Full Changelog**:
|
|
49
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
36
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.58.0-preview.0...v0.59.0-preview.0
|
|
@@ -148,10 +148,10 @@ each tool.
|
|
|
148
148
|
|
|
149
149
|
### Web
|
|
150
150
|
|
|
151
|
-
| Tool | Kind | Description
|
|
152
|
-
| :-------------------------------------------- | :------- |
|
|
153
|
-
| [`google_web_search`](../tools/web-search.md) | `Search` | Performs a Google Search to find up-to-date information.
|
|
154
|
-
| [`web_fetch`](../tools/web-fetch.md) | `Fetch` | Retrieves and processes content from specific URLs.
|
|
151
|
+
| Tool | Kind | Description |
|
|
152
|
+
| :-------------------------------------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
153
|
+
| [`google_web_search`](../tools/web-search.md) | `Search` | Performs a Google Search to find up-to-date information. |
|
|
154
|
+
| [`web_fetch`](../tools/web-fetch.md) | `Fetch` | Retrieves and processes content from specific URLs. Outbound requests are validated against private and reserved IP ranges. In Plan Mode, this tool requires explicit user confirmation. |
|
|
155
155
|
|
|
156
156
|
### Tool argument keys
|
|
157
157
|
|
|
@@ -322,6 +322,57 @@ This feature will not work in:
|
|
|
322
322
|
- Remote SSH sessions without X11 forwarding
|
|
323
323
|
- Containerized environments without browser support
|
|
324
324
|
|
|
325
|
+
#### Authorization server requirements (RFC 9207)
|
|
326
|
+
|
|
327
|
+
<!-- prettier-ignore -->
|
|
328
|
+
> [!IMPORTANT]
|
|
329
|
+
> To protect against OAuth Identity Provider (IdP) mix-up attacks, Gemini CLI
|
|
330
|
+
> validates the `iss` (issuer) parameter per
|
|
331
|
+
> [RFC 9207](https://www.rfc-editor.org/rfc/rfc9207). When an expected issuer is
|
|
332
|
+
> discovered or configured, authorization servers **must** return the `iss`
|
|
333
|
+
> parameter in the callback redirect matching the issuer URL. Responses missing
|
|
334
|
+
> `iss` or with mismatched issuers are rejected with HTTP 400.
|
|
335
|
+
|
|
336
|
+
##### Expected authorization callback example
|
|
337
|
+
|
|
338
|
+
When the authorization server redirects the user back to Gemini CLI, the
|
|
339
|
+
redirect URI must include the `iss` parameter:
|
|
340
|
+
|
|
341
|
+
```http
|
|
342
|
+
HTTP/1.1 302 Found
|
|
343
|
+
Location: http://localhost:<port>/oauth/callback?code=AUTH_CODE&state=STATE&iss=https%3A%2F%2Fauth.example.com
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
- **Valid response (accepted):** `iss` matches the configured or discovered
|
|
347
|
+
issuer (`https://auth.example.com`).
|
|
348
|
+
- **Missing `iss` (rejected):**
|
|
349
|
+
`http://localhost:<port>/oauth/callback?code=AUTH_CODE&state=STATE` (fails
|
|
350
|
+
with HTTP 400: `Missing issuer parameter in response`).
|
|
351
|
+
- **Mismatched `iss` (rejected):** `iss` points to a different domain or
|
|
352
|
+
includes userinfo (fails with HTTP 400: `Issuer mismatch`).
|
|
353
|
+
|
|
354
|
+
##### Configuration example with explicit issuer
|
|
355
|
+
|
|
356
|
+
If your remote MCP server uses an authorization server with a known issuer URL:
|
|
357
|
+
|
|
358
|
+
```json
|
|
359
|
+
{
|
|
360
|
+
"mcpServers": {
|
|
361
|
+
"secureRemoteServer": {
|
|
362
|
+
"url": "https://mcp.example.com/sse",
|
|
363
|
+
"oauth": {
|
|
364
|
+
"enabled": true,
|
|
365
|
+
"issuer": "https://auth.example.com",
|
|
366
|
+
"authorizationUrl": "https://auth.example.com/oauth/authorize",
|
|
367
|
+
"tokenUrl": "https://auth.example.com/oauth/token",
|
|
368
|
+
"clientId": "gemini-cli-client",
|
|
369
|
+
"scopes": ["mcp:read", "mcp:write"]
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
325
376
|
#### Managing OAuth authentication
|
|
326
377
|
|
|
327
378
|
Use the `/mcp auth` command to manage OAuth authentication:
|
|
@@ -345,6 +396,8 @@ Use the `/mcp auth` command to manage OAuth authentication:
|
|
|
345
396
|
- **`clientSecret`** (string): OAuth client secret (optional for public clients)
|
|
346
397
|
- **`authorizationUrl`** (string): OAuth authorization endpoint (auto-discovered
|
|
347
398
|
if omitted)
|
|
399
|
+
- **`issuer`** (string): Authorization server issuer URL (auto-discovered if
|
|
400
|
+
omitted; validated per RFC 9207)
|
|
348
401
|
- **`tokenUrl`** (string): OAuth token endpoint (auto-discovered if omitted)
|
|
349
402
|
- **`scopes`** (string[]): Required OAuth scopes
|
|
350
403
|
- **`redirectUri`** (string): Custom redirect URI (defaults to an OS-assigned
|
|
@@ -16,13 +16,17 @@ specific operations like summarization or extraction.
|
|
|
16
16
|
|
|
17
17
|
## Technical behavior
|
|
18
18
|
|
|
19
|
+
- **Network access:** Destination URLs and resolved IP addresses are validated
|
|
20
|
+
to restrict access to private, reserved, loopback, and internal networks
|
|
21
|
+
(e.g., RFC 1918 addresses and internal domains). Transport connections are
|
|
22
|
+
pinned to the resolved destination IP address.
|
|
19
23
|
- **Confirmation:** Triggers a confirmation dialog showing the converted URLs.
|
|
20
24
|
- **Plan Mode:** In [Plan Mode](../cli/plan-mode.md), `web_fetch` is available
|
|
21
|
-
but always requires explicit user confirmation (`ask_user`)
|
|
22
|
-
implications of accessing external or private network addresses.
|
|
25
|
+
but always requires explicit user confirmation (`ask_user`).
|
|
23
26
|
- **Processing:** Uses the Gemini API's `urlContext` for retrieval.
|
|
24
27
|
- **Fallback:** If API access fails, the tool attempts to fetch raw content
|
|
25
|
-
directly from your local machine
|
|
28
|
+
directly from your local machine (with destination IP validation and
|
|
29
|
+
connection pinning applied).
|
|
26
30
|
- **Formatting:** Returns a synthesized response with source attribution.
|
|
27
31
|
|
|
28
32
|
## Use cases
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "0.
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "87a9c71d5";
|
|
7
|
+
export declare const CLI_VERSION = "0.60.0-nightly.20260904.g87a9c71d5";
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '0.
|
|
8
|
+
export const GIT_COMMIT_INFO = '87a9c71d5';
|
|
9
|
+
export const CLI_VERSION = '0.60.0-nightly.20260904.g87a9c71d5';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAC"}
|
|
@@ -244,8 +244,9 @@ export class MCPOAuthProvider {
|
|
|
244
244
|
// Determine preferred port from redirectUri if available
|
|
245
245
|
const preferredPort = getPortFromUrl(config.redirectUri);
|
|
246
246
|
// Start callback server first to allocate port
|
|
247
|
-
//
|
|
248
|
-
|
|
247
|
+
// Pass config.issuer for RFC 9207 Authorization Server Issuer Identification / Mix-Up defense
|
|
248
|
+
debugLogger.debug(`Starting callback server for "${serverName}" (expected issuer: ${config.issuer || 'none'})...`);
|
|
249
|
+
const callbackServer = startCallbackServer(pkceParams.state, preferredPort, config.issuer);
|
|
249
250
|
// Wait for server to start and get the allocated port
|
|
250
251
|
// We need this port for client registration and auth URL building
|
|
251
252
|
const redirectPort = await callbackServer.port;
|