@google/gemini-cli-core 0.45.0-preview.1 → 0.46.0-preview.0
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/docs/changelogs/index.md +14 -0
- package/dist/docs/changelogs/latest.md +202 -199
- package/dist/docs/changelogs/preview.md +44 -200
- package/dist/docs/issue-and-pr-automation.md +29 -1
- package/dist/docs/reference/configuration.md +69 -0
- package/dist/src/availability/policyCatalog.d.ts +1 -0
- package/dist/src/availability/policyCatalog.js +1 -1
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +5 -1
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
- package/dist/src/code_assist/experiments/flagNames.js +1 -0
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -0
- package/dist/src/config/config.js +29 -5
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +27 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +41 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.d.ts +8 -4
- package/dist/src/config/models.js +49 -11
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +39 -0
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/core/client.js +1 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.js +1 -1
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/geminiChat.js +3 -3
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +1 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/prompts/promptProvider.js +2 -2
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +2 -0
- package/dist/src/services/modelConfigService.js +2 -0
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +57 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +19 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +19 -0
- package/dist/src/tools/shell.js +18 -13
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/google-gemini-cli-core-0.45.0-preview.0.tgz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.45.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released: May
|
|
3
|
+
Released: May 27, 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,208 +13,52 @@ npm install -g @google/gemini-cli@preview
|
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- **
|
|
24
|
-
|
|
25
|
-
- **
|
|
26
|
-
|
|
27
|
-
recovery across sessions.
|
|
16
|
+
- **Context Simplification:** Completed major architectural work to simplify and
|
|
17
|
+
optimize how the agent manages and processes session context.
|
|
18
|
+
- **A2A Usage Metadata:** The Agent-to-Agent (A2A) interface now exposes
|
|
19
|
+
detailed usage metadata, providing better visibility into resource
|
|
20
|
+
consumption.
|
|
21
|
+
- **Improved Routing:** Updated default auto-routing logic and added bypasses
|
|
22
|
+
for certain routing classifiers to prevent orphaned function response errors.
|
|
23
|
+
- **Terminal Stability:** Fixed several issues affecting terminal environments,
|
|
24
|
+
including Termux relaunch loops and PTY resize errors.
|
|
25
|
+
- **Security & Fixes:** Strengthened MCP list security and addressed issues with
|
|
26
|
+
session resumption and PTY environment signals.
|
|
28
27
|
|
|
29
28
|
## What's Changed
|
|
30
29
|
|
|
31
|
-
- chore(release): bump version to 0.
|
|
30
|
+
- chore(release): bump version to 0.45.0-nightly.20260521.g854f811be by
|
|
32
31
|
@gemini-cli-robot in
|
|
33
|
-
[#
|
|
34
|
-
-
|
|
35
|
-
[#
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
[#
|
|
49
|
-
- fix(cli):
|
|
50
|
-
@cocosheng-g in
|
|
51
|
-
[#26921](https://github.com/google-gemini/gemini-cli/pull/26921)
|
|
52
|
-
- fix(core): handle EISDIR on virtual drives in memory discovery by @cocosheng-g
|
|
53
|
-
in [#26985](https://github.com/google-gemini/gemini-cli/pull/26985)
|
|
54
|
-
- fix(cli): auto-approve shell redirections in AUTO_EDIT mode by @cocosheng-g in
|
|
55
|
-
[#27003](https://github.com/google-gemini/gemini-cli/pull/27003)
|
|
56
|
-
- ci: suppress bot comments during standard triage maintenance by @cocosheng-g
|
|
57
|
-
in [#27006](https://github.com/google-gemini/gemini-cli/pull/27006)
|
|
58
|
-
- fix(core): refresh MCP OAuth token usage after re-auth by @sahilkirad in
|
|
59
|
-
[#26312](https://github.com/google-gemini/gemini-cli/pull/26312)
|
|
60
|
-
- fix(ui): clamped table column widths by @devr0306 in
|
|
61
|
-
[#26991](https://github.com/google-gemini/gemini-cli/pull/26991)
|
|
62
|
-
- fix(core): isolate subagent thread context by @akh64bit in
|
|
63
|
-
[#26449](https://github.com/google-gemini/gemini-cli/pull/26449)
|
|
64
|
-
- chore: add execution permission to scripts/review.sh by @scidomino in
|
|
65
|
-
[#27009](https://github.com/google-gemini/gemini-cli/pull/27009)
|
|
66
|
-
- fix(core): made context files append instead of replace by @devr0306 in
|
|
67
|
-
[#26950](https://github.com/google-gemini/gemini-cli/pull/26950)
|
|
68
|
-
- fix: add system PATH fallback for ripgrep resolution (#26777) by @cocosheng-g
|
|
69
|
-
in [#26868](https://github.com/google-gemini/gemini-cli/pull/26868)
|
|
70
|
-
- chore: clean up launched memory features by @SandyTao520 in
|
|
71
|
-
[#26941](https://github.com/google-gemini/gemini-cli/pull/26941)
|
|
72
|
-
- fix(core): throttle shell text output and bound live UI buffer by
|
|
73
|
-
@emersonbusson in
|
|
74
|
-
[#26955](https://github.com/google-gemini/gemini-cli/pull/26955)
|
|
75
|
-
- fix(cli): don't crash when an @-mention captures a non-path blob by @ifitisit
|
|
76
|
-
in [#25980](https://github.com/google-gemini/gemini-cli/pull/25980)
|
|
77
|
-
- fix(core): ensure stable fallback for restricted preview models by @galz10 in
|
|
78
|
-
[#26999](https://github.com/google-gemini/gemini-cli/pull/26999)
|
|
79
|
-
- feat(core): expose RAG snippets to local log file for debugging by @spencer426
|
|
80
|
-
in [#27016](https://github.com/google-gemini/gemini-cli/pull/27016)
|
|
81
|
-
- fix(acp/auth): prevent conflicting credentials on enterprise gateways and
|
|
82
|
-
support optional API keys natively by @sripasg in
|
|
83
|
-
[#27021](https://github.com/google-gemini/gemini-cli/pull/27021)
|
|
84
|
-
- fix(core): respect NO_PROXY for network-based MCP servers by @cocosheng-g in
|
|
85
|
-
[#27012](https://github.com/google-gemini/gemini-cli/pull/27012)
|
|
86
|
-
- fix(cli): resolve permission denied in sandbox on NixOS and other distros by
|
|
87
|
-
@cocosheng-g in
|
|
88
|
-
[#27004](https://github.com/google-gemini/gemini-cli/pull/27004)
|
|
89
|
-
- fix(ui): preserve new line at the end of edit window by @devr0306 in
|
|
90
|
-
[#27057](https://github.com/google-gemini/gemini-cli/pull/27057)
|
|
91
|
-
- fix(core): ensure Vertex AI sets hasAccessToPreviewModels and remove
|
|
92
|
-
aggressive 404 fallback revocation by @galz10 in
|
|
93
|
-
[#27067](https://github.com/google-gemini/gemini-cli/pull/27067)
|
|
94
|
-
- fix(core): ensure stable admin settings comparison across IPC to prevent
|
|
95
|
-
restart loop by @DavidAPierce in
|
|
96
|
-
[#27066](https://github.com/google-gemini/gemini-cli/pull/27066)
|
|
97
|
-
- fix(deps): update vulnerable dependencies by @scidomino in
|
|
98
|
-
[#27062](https://github.com/google-gemini/gemini-cli/pull/27062)
|
|
99
|
-
- fix(core): resolve EISDIR errors during file processing (#21527) by @ProthamD
|
|
100
|
-
in [#27041](https://github.com/google-gemini/gemini-cli/pull/27041)
|
|
101
|
-
- docs(extensions): clarify env var sanitization policy for MCP and ext… by
|
|
102
|
-
@galz10 in [#22854](https://github.com/google-gemini/gemini-cli/pull/22854)
|
|
103
|
-
- fix(ui): add ENAMETOOLONG and ENOTDIR to exceptions for file parsing errors by
|
|
104
|
-
@devr0306 in [#27069](https://github.com/google-gemini/gemini-cli/pull/27069)
|
|
105
|
-
- fix(cli): explicitly clear entrypoint when spawning sandbox container by
|
|
106
|
-
@cocosheng-g in
|
|
107
|
-
[#27059](https://github.com/google-gemini/gemini-cli/pull/27059)
|
|
108
|
-
- docs: update sandbox image command by @sjhddh in
|
|
109
|
-
[#26774](https://github.com/google-gemini/gemini-cli/pull/26774)
|
|
110
|
-
- fix(core): externalize https-proxy-agent to fix proxy support by @sotokisehiro
|
|
111
|
-
in [#26361](https://github.com/google-gemini/gemini-cli/pull/26361)
|
|
112
|
-
- security: update dependencies to fix critical and high vulnerabilities by
|
|
113
|
-
@scidomino in [#27077](https://github.com/google-gemini/gemini-cli/pull/27077)
|
|
114
|
-
- Fix/web fetch ctrl c abort by @ProthamD in
|
|
115
|
-
[#24320](https://github.com/google-gemini/gemini-cli/pull/24320)
|
|
116
|
-
- fix(core): add aliases and thinking config for gemini-3.1 models by
|
|
117
|
-
@anishs1207 in
|
|
118
|
-
[#27007](https://github.com/google-gemini/gemini-cli/pull/27007)
|
|
119
|
-
- fix(core): use hasAccessToPreview for auto model resolution and fix
|
|
120
|
-
disappearing models by @DavidAPierce in
|
|
121
|
-
[#27112](https://github.com/google-gemini/gemini-cli/pull/27112)
|
|
122
|
-
- feat(core): add adk.agentSessionSubagentEnabled flag by @adamfweidman in
|
|
123
|
-
[#26947](https://github.com/google-gemini/gemini-cli/pull/26947)
|
|
124
|
-
- fix(core): enforce compile-time exhaustiveness in content-utils by
|
|
125
|
-
@adamfweidman in
|
|
126
|
-
[#27207](https://github.com/google-gemini/gemini-cli/pull/27207)
|
|
127
|
-
- feat(skills): add agent-tui and tui-tester skills by @adamfweidman in
|
|
128
|
-
[#27121](https://github.com/google-gemini/gemini-cli/pull/27121)
|
|
129
|
-
- fix(context): Fix snapshot recovery across sessions. by @joshualitt in
|
|
130
|
-
[#26939](https://github.com/google-gemini/gemini-cli/pull/26939)
|
|
131
|
-
- fix(core): add unit tests for stableStringify by @devr0306 in
|
|
132
|
-
[#27212](https://github.com/google-gemini/gemini-cli/pull/27212)
|
|
133
|
-
- fix(core): prefer pwsh.exe over Windows PowerShell 5.1 (#25859) by @kaluchi in
|
|
134
|
-
[#25900](https://github.com/google-gemini/gemini-cli/pull/25900)
|
|
135
|
-
- feat(core): add LocalSessionInvocation by @adamfweidman in
|
|
136
|
-
[#26665](https://github.com/google-gemini/gemini-cli/pull/26665)
|
|
137
|
-
- refactor: decouple auto model description and configuration from
|
|
138
|
-
releaseChannel by @danielweis in
|
|
139
|
-
[#27227](https://github.com/google-gemini/gemini-cli/pull/27227)
|
|
140
|
-
- fix(core): prevent isBinary false-positive on Windows PTY streams by
|
|
141
|
-
@TirthNaik-99 in
|
|
142
|
-
[#26565](https://github.com/google-gemini/gemini-cli/pull/26565)
|
|
143
|
-
- fix(cli): Prevent unmapped keys in Vim Normal mode from inserting text into
|
|
144
|
-
prompt Input. by @Rajeshpatel07 in
|
|
145
|
-
[#25139](https://github.com/google-gemini/gemini-cli/pull/25139)
|
|
146
|
-
- fix(a2a-server): Implement default policy loading for parity with CLI by
|
|
147
|
-
@kschaab in [#27073](https://github.com/google-gemini/gemini-cli/pull/27073)
|
|
148
|
-
- feat(core): add RemoteSessionInvocation by @adamfweidman in
|
|
149
|
-
[#26937](https://github.com/google-gemini/gemini-cli/pull/26937)
|
|
150
|
-
- fix: allow configured MCP servers in non-interactive mode by @cocosheng-g in
|
|
151
|
-
[#27215](https://github.com/google-gemini/gemini-cli/pull/27215)
|
|
152
|
-
- fix(core): add exception handling to migrateFromFileStorage by @devr0306 in
|
|
153
|
-
[#27229](https://github.com/google-gemini/gemini-cli/pull/27229)
|
|
154
|
-
- fix(cli): bundle ink worker-entry.js by @rmedranollamas in
|
|
155
|
-
[#27249](https://github.com/google-gemini/gemini-cli/pull/27249)
|
|
156
|
-
- feat(core): wire AgentSession invocations into agent-tool by @adamfweidman in
|
|
157
|
-
[#26948](https://github.com/google-gemini/gemini-cli/pull/26948)
|
|
158
|
-
- fix(core): prevent path traversal in custome command file injection by
|
|
159
|
-
@ompatel-aiml in
|
|
160
|
-
[#27234](https://github.com/google-gemini/gemini-cli/pull/27234)
|
|
161
|
-
- fix(core): respect NO_PROXY in global fetch dispatcher by @cocosheng-g in
|
|
162
|
-
[#27216](https://github.com/google-gemini/gemini-cli/pull/27216)
|
|
163
|
-
- fix(core): correctly handle nullable array types in MCP tools by @devr0306 in
|
|
164
|
-
[#27228](https://github.com/google-gemini/gemini-cli/pull/27228)
|
|
165
|
-
- fix(cli): preserve proxy-agent named exports in ESM bundle by @ashishch432 in
|
|
166
|
-
[#27145](https://github.com/google-gemini/gemini-cli/pull/27145)
|
|
167
|
-
- Proposal: deterministic encoding for child-process I/O by @kaluchi in
|
|
168
|
-
[#27247](https://github.com/google-gemini/gemini-cli/pull/27247)
|
|
169
|
-
- feat(cli): add Sublime Text and Emacs Client editors, improve error messages
|
|
170
|
-
and documentation by @alberti42 in
|
|
171
|
-
[#21090](https://github.com/google-gemini/gemini-cli/pull/21090)
|
|
172
|
-
- Changelog for v0.43.0-preview.1 by @gemini-cli-robot in
|
|
173
|
-
[#27297](https://github.com/google-gemini/gemini-cli/pull/27297)
|
|
174
|
-
- fix(devtools): bundle devtools package to avoid resolution errors by
|
|
32
|
+
[#27362](https://github.com/google-gemini/gemini-cli/pull/27362)
|
|
33
|
+
- fix(cli): prevent Termux relaunch and resize remount loops by @saymanq in
|
|
34
|
+
[#27110](https://github.com/google-gemini/gemini-cli/pull/27110)
|
|
35
|
+
- Feat/a2a expose usage metadata by @jvargassanchez-dot in
|
|
36
|
+
[#27288](https://github.com/google-gemini/gemini-cli/pull/27288)
|
|
37
|
+
- feat(context): Complete simplification work. by @joshualitt in
|
|
38
|
+
[#27345](https://github.com/google-gemini/gemini-cli/pull/27345)
|
|
39
|
+
- fix(core): force update_topic tool to execute sequentially by
|
|
40
|
+
@jvargassanchez-dot in
|
|
41
|
+
[#27357](https://github.com/google-gemini/gemini-cli/pull/27357)
|
|
42
|
+
- Changelog for v0.44.0-preview.0 by @gemini-cli-robot in
|
|
43
|
+
[#27360](https://github.com/google-gemini/gemini-cli/pull/27360)
|
|
44
|
+
- Changelog for v0.43.0 by @gemini-cli-robot in
|
|
45
|
+
[#27361](https://github.com/google-gemini/gemini-cli/pull/27361)
|
|
46
|
+
- Revert "fix(core): prevent SIGHUP kills in PTY environments" by @bbiggs in
|
|
47
|
+
[#27401](https://github.com/google-gemini/gemini-cli/pull/27401)
|
|
48
|
+
- fix(cli): filter internal session context from history during resumption by
|
|
175
49
|
@rmedranollamas in
|
|
176
|
-
[#
|
|
177
|
-
-
|
|
178
|
-
(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
-
|
|
184
|
-
|
|
185
|
-
[#
|
|
186
|
-
- fix(
|
|
187
|
-
[#
|
|
188
|
-
- fix(core): generalize MCP compliance fix for tool results by @cocosheng-g in
|
|
189
|
-
[#27045](https://github.com/google-gemini/gemini-cli/pull/27045)
|
|
190
|
-
- fix(scripts): scrub CI env vars in dev to keep interactive mode by @Hashaam101
|
|
191
|
-
in [#27159](https://github.com/google-gemini/gemini-cli/pull/27159)
|
|
192
|
-
- fix(core): Added date field for the GCal MCP by @devr0306 in
|
|
193
|
-
[#27251](https://github.com/google-gemini/gemini-cli/pull/27251)
|
|
194
|
-
- fix(core): centralize path validation to prevent crashes from malformed
|
|
195
|
-
prompts by @cocosheng-g in
|
|
196
|
-
[#27211](https://github.com/google-gemini/gemini-cli/pull/27211)
|
|
197
|
-
- fix(core): prevent SIGHUP kills in PTY environments (WSL2/Kitty/Alacritty) by
|
|
198
|
-
@ProthamD in [#27267](https://github.com/google-gemini/gemini-cli/pull/27267)
|
|
199
|
-
- fix(core): dynamic fallback routing for exhausted quota models by @cocosheng-g
|
|
200
|
-
in [#27315](https://github.com/google-gemini/gemini-cli/pull/27315)
|
|
201
|
-
- Auto detect pnpm global installation path for macOS and Windows by @tisonkun
|
|
202
|
-
in [#22748](https://github.com/google-gemini/gemini-cli/pull/22748)
|
|
203
|
-
- fix(windows): resolve interactive shell arrow-key navigation on Windows by
|
|
204
|
-
@KumarADITHYA123 in
|
|
205
|
-
[#23505](https://github.com/google-gemini/gemini-cli/pull/23505)
|
|
206
|
-
- ci: robust stale issue lifecycle and consolidated triage labels by
|
|
207
|
-
@cocosheng-g in
|
|
208
|
-
[#27015](https://github.com/google-gemini/gemini-cli/pull/27015)
|
|
209
|
-
- fix(context): Ensure last message is processed. by @joshualitt in
|
|
210
|
-
[#27232](https://github.com/google-gemini/gemini-cli/pull/27232)
|
|
211
|
-
- chore/release: bump version to 0.44.0-nightly.20260521.g57c42a5c4 by
|
|
212
|
-
@gemini-cli-robot in
|
|
213
|
-
[#27324](https://github.com/google-gemini/gemini-cli/pull/27324)
|
|
214
|
-
- fix(ui): added volta to auto update check by @devr0306 in
|
|
215
|
-
[#27353](https://github.com/google-gemini/gemini-cli/pull/27353)
|
|
216
|
-
- perf: optimize issue triage and lifecycle management by @cocosheng-g in
|
|
217
|
-
[#27346](https://github.com/google-gemini/gemini-cli/pull/27346)
|
|
50
|
+
[#27391](https://github.com/google-gemini/gemini-cli/pull/27391)
|
|
51
|
+
- Update default auto routing by @DavidAPierce in
|
|
52
|
+
[#27071](https://github.com/google-gemini/gemini-cli/pull/27071)
|
|
53
|
+
- fix(core): bypass routing classifiers to prevent orphaned function response
|
|
54
|
+
errors by @danielweis in
|
|
55
|
+
[#27389](https://github.com/google-gemini/gemini-cli/pull/27389)
|
|
56
|
+
- fix(core): suppress PTY resize EBADF errors by @scidomino in
|
|
57
|
+
[#27461](https://github.com/google-gemini/gemini-cli/pull/27461)
|
|
58
|
+
- fix(core): prevent blacklist bypass in mcp list by @ompatel-aiml in
|
|
59
|
+
[#27377](https://github.com/google-gemini/gemini-cli/pull/27377)
|
|
60
|
+
- fix(cli): ignore unmapped vim normal keys by @MukundaKatta in
|
|
61
|
+
[#27102](https://github.com/google-gemini/gemini-cli/pull/27102)
|
|
218
62
|
|
|
219
63
|
**Full Changelog**:
|
|
220
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
64
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.44.0-preview.0...v0.45.0-preview.0
|
|
@@ -154,7 +154,35 @@ and will never be auto-unassigned.
|
|
|
154
154
|
- **Unassign yourself** if you can no longer work on the issue by commenting
|
|
155
155
|
`/unassign`, so other contributors can pick it up right away.
|
|
156
156
|
|
|
157
|
-
### 6.
|
|
157
|
+
### 6. Automatically label PRs by size: `PR Size Labeler`
|
|
158
|
+
|
|
159
|
+
To help maintainers estimate review effort and keep the PR history clean, this
|
|
160
|
+
workflow automatically tags every pull request with a size label representing
|
|
161
|
+
the total volume of line changes.
|
|
162
|
+
|
|
163
|
+
- **Workflow File**: `.github/workflows/pr-size-labeler.yml`
|
|
164
|
+
- **When it runs**: Immediately after a pull request is created, synchronized
|
|
165
|
+
(new commits pushed), or reopened. It can also be triggered manually via
|
|
166
|
+
`workflow_dispatch` with a PR number.
|
|
167
|
+
- **What it does**:
|
|
168
|
+
- **Calculates total changes**: Summarizes additions and deletions across all
|
|
169
|
+
changed files in a single consolidated API request.
|
|
170
|
+
- **Applies standard size labels**:
|
|
171
|
+
- `size/XS`: < 10 lines changed
|
|
172
|
+
- `size/S`: 10-49 lines changed
|
|
173
|
+
- `size/M`: 50-249 lines changed
|
|
174
|
+
- `size/L`: 250-999 lines changed
|
|
175
|
+
- `size/XL`: >= 1000 lines changed
|
|
176
|
+
- **Updates size tag atomically**: Adds the new correct size label and removes
|
|
177
|
+
any obsolete size labels in one atomic step.
|
|
178
|
+
- **Updates/Posts PR size info comment**: Instead of spamming a new comment on
|
|
179
|
+
every commit push, it updates the existing size labeler status comment
|
|
180
|
+
inline to keep the PR conversation timeline perfectly neat and clean.
|
|
181
|
+
- **What you should do**:
|
|
182
|
+
- You do not need to take any actions. The workflow runs automatically and
|
|
183
|
+
updates the label and comment seamlessly as you push new updates.
|
|
184
|
+
|
|
185
|
+
### 7. Release automation
|
|
158
186
|
|
|
159
187
|
This workflow handles the process of packaging and publishing new versions of
|
|
160
188
|
Gemini CLI.
|
|
@@ -602,6 +602,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
602
602
|
"model": "gemini-3.1-flash-lite"
|
|
603
603
|
}
|
|
604
604
|
},
|
|
605
|
+
"gemini-3.5-flash": {
|
|
606
|
+
"extends": "chat-base-3",
|
|
607
|
+
"modelConfig": {
|
|
608
|
+
"model": "gemini-3.5-flash"
|
|
609
|
+
}
|
|
610
|
+
},
|
|
605
611
|
"gemma-4-31b-it": {
|
|
606
612
|
"extends": "chat-base-3",
|
|
607
613
|
"modelConfig": {
|
|
@@ -626,6 +632,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
626
632
|
"model": "gemini-3-flash-preview"
|
|
627
633
|
}
|
|
628
634
|
},
|
|
635
|
+
"gemini-3.5-flash-base": {
|
|
636
|
+
"extends": "base",
|
|
637
|
+
"modelConfig": {
|
|
638
|
+
"model": "gemini-3.5-flash"
|
|
639
|
+
}
|
|
640
|
+
},
|
|
629
641
|
"classifier": {
|
|
630
642
|
"extends": "base",
|
|
631
643
|
"modelConfig": {
|
|
@@ -868,6 +880,16 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
868
880
|
"multimodalToolUse": true
|
|
869
881
|
}
|
|
870
882
|
},
|
|
883
|
+
"gemini-3.5-flash": {
|
|
884
|
+
"tier": "flash",
|
|
885
|
+
"family": "gemini-3",
|
|
886
|
+
"isPreview": false,
|
|
887
|
+
"isVisible": true,
|
|
888
|
+
"features": {
|
|
889
|
+
"thinking": false,
|
|
890
|
+
"multimodalToolUse": true
|
|
891
|
+
}
|
|
892
|
+
},
|
|
871
893
|
"gemini-2.5-pro": {
|
|
872
894
|
"tier": "pro",
|
|
873
895
|
"family": "gemini-2.5",
|
|
@@ -1020,9 +1042,44 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1020
1042
|
"contexts": [
|
|
1021
1043
|
{
|
|
1022
1044
|
"condition": {
|
|
1045
|
+
"useGemini3_5Flash": true
|
|
1046
|
+
},
|
|
1047
|
+
"target": "gemini-3.5-flash"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"condition": {
|
|
1051
|
+
"hasAccessToPreview": false
|
|
1052
|
+
},
|
|
1053
|
+
"target": "gemini-2.5-flash"
|
|
1054
|
+
}
|
|
1055
|
+
]
|
|
1056
|
+
},
|
|
1057
|
+
"gemini-3.5-flash": {
|
|
1058
|
+
"default": "gemini-3.5-flash",
|
|
1059
|
+
"contexts": [
|
|
1060
|
+
{
|
|
1061
|
+
"condition": {
|
|
1062
|
+
"useGemini3_5Flash": false,
|
|
1023
1063
|
"hasAccessToPreview": false
|
|
1024
1064
|
},
|
|
1025
1065
|
"target": "gemini-2.5-flash"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"condition": {
|
|
1069
|
+
"useGemini3_5Flash": false
|
|
1070
|
+
},
|
|
1071
|
+
"target": "gemini-3-flash-preview"
|
|
1072
|
+
}
|
|
1073
|
+
]
|
|
1074
|
+
},
|
|
1075
|
+
"gemini-2.5-flash": {
|
|
1076
|
+
"default": "gemini-2.5-flash",
|
|
1077
|
+
"contexts": [
|
|
1078
|
+
{
|
|
1079
|
+
"condition": {
|
|
1080
|
+
"useGemini3_5Flash": true
|
|
1081
|
+
},
|
|
1082
|
+
"target": "gemini-3.5-flash"
|
|
1026
1083
|
}
|
|
1027
1084
|
]
|
|
1028
1085
|
},
|
|
@@ -1104,6 +1161,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1104
1161
|
"flash": {
|
|
1105
1162
|
"default": "gemini-3-flash-preview",
|
|
1106
1163
|
"contexts": [
|
|
1164
|
+
{
|
|
1165
|
+
"condition": {
|
|
1166
|
+
"useGemini3_5Flash": true
|
|
1167
|
+
},
|
|
1168
|
+
"target": "gemini-3.5-flash"
|
|
1169
|
+
},
|
|
1107
1170
|
{
|
|
1108
1171
|
"condition": {
|
|
1109
1172
|
"hasAccessToPreview": false
|
|
@@ -1157,6 +1220,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1157
1220
|
"flash": {
|
|
1158
1221
|
"default": "gemini-3-flash-preview",
|
|
1159
1222
|
"contexts": [
|
|
1223
|
+
{
|
|
1224
|
+
"condition": {
|
|
1225
|
+
"useGemini3_5Flash": true
|
|
1226
|
+
},
|
|
1227
|
+
"target": "gemini-3.5-flash"
|
|
1228
|
+
},
|
|
1160
1229
|
{
|
|
1161
1230
|
"condition": {
|
|
1162
1231
|
"hasAccessToPreview": false
|
|
@@ -51,7 +51,7 @@ const FLASH_LITE_CHAIN = [
|
|
|
51
51
|
export function getModelPolicyChain(options) {
|
|
52
52
|
const isAuto = options.isAutoSelection ?? false;
|
|
53
53
|
if (options.previewEnabled) {
|
|
54
|
-
const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel);
|
|
54
|
+
const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, undefined, options.useGemini3_5Flash);
|
|
55
55
|
return [
|
|
56
56
|
definePolicy({
|
|
57
57
|
model: proModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,10 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
|
|
|
21
21
|
const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
|
|
22
22
|
const useCustomToolModel = config.getUseCustomToolModelSync?.() ?? false;
|
|
23
23
|
const hasAccessToPreview = config.getHasAccessToPreviewModel?.() ?? false;
|
|
24
|
+
const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
|
|
24
25
|
// Capture the original family intent before any normalization or early downgrade.
|
|
25
26
|
const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config);
|
|
26
|
-
const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config));
|
|
27
|
+
const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash));
|
|
27
28
|
const isAutoPreferred = normalizedPreferredModel
|
|
28
29
|
? isAutoModel(normalizedPreferredModel, config)
|
|
29
30
|
: false;
|
|
@@ -36,6 +37,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
|
|
|
36
37
|
const context = {
|
|
37
38
|
useGemini3_1: useGemini31,
|
|
38
39
|
useCustomTools: useCustomToolModel,
|
|
40
|
+
useGemini3_5Flash,
|
|
39
41
|
};
|
|
40
42
|
if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
|
|
41
43
|
chain = config.modelConfigService.resolveChain('lite', context);
|
|
@@ -81,6 +83,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
|
|
|
81
83
|
userTier: config.getUserTier(),
|
|
82
84
|
useGemini31,
|
|
83
85
|
useCustomToolModel,
|
|
86
|
+
useGemini3_5Flash,
|
|
84
87
|
});
|
|
85
88
|
}
|
|
86
89
|
else {
|
|
@@ -92,6 +95,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
|
|
|
92
95
|
userTier: config.getUserTier(),
|
|
93
96
|
useGemini31,
|
|
94
97
|
useCustomToolModel,
|
|
98
|
+
useGemini3_5Flash,
|
|
95
99
|
});
|
|
96
100
|
}
|
|
97
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,cAAuB,EACvB,cAAuB,KAAK;IAE5B,MAAM,wBAAwB,GAAG,cAAc;QAC7C,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,gBAAgB,CACtC,wBAAwB,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAC3E,CAAC;IACF,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5D,IAAI,KAAmC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,KAAK,CAAC;IAChE,MAAM,kBAAkB,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,IAAI,KAAK,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,EAAE,EAAE,IAAI,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,5 +18,6 @@ export declare const ExperimentFlags: {
|
|
|
18
18
|
readonly GEMINI_3_1_PRO_LAUNCHED: 45760185;
|
|
19
19
|
readonly PRO_MODEL_NO_ACCESS: 45768879;
|
|
20
20
|
readonly DEFAULT_REQUEST_TIMEOUT: 45773134;
|
|
21
|
+
readonly GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819;
|
|
21
22
|
};
|
|
22
23
|
export type ExperimentFlagName = (typeof ExperimentFlags)[keyof typeof ExperimentFlags];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;IACjC,4BAA4B,EAAE,QAAQ;CAC9B,CAAC"}
|
|
@@ -1141,6 +1141,12 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
1141
1141
|
*/
|
|
1142
1142
|
getUseCustomToolModelSync(): boolean;
|
|
1143
1143
|
private isGemini31LaunchedForAuthType;
|
|
1144
|
+
/**
|
|
1145
|
+
* Returns whether Gemini 3.5 Flash GA has been launched.
|
|
1146
|
+
*
|
|
1147
|
+
* Note: This method should only be called after startup, once experiments have been loaded.
|
|
1148
|
+
*/
|
|
1149
|
+
hasGemini35FlashGAAccess(): boolean;
|
|
1144
1150
|
/**
|
|
1145
1151
|
* Returns whether Gemini 3.1 has been launched.
|
|
1146
1152
|
*
|
|
@@ -45,7 +45,7 @@ import { SandboxedFileSystemService } from '../services/sandboxedFileSystemServi
|
|
|
45
45
|
import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
|
|
46
46
|
import { coreEvents, CoreEvent } from '../utils/events.js';
|
|
47
47
|
import { tokenLimit } from '../core/tokenLimits.js';
|
|
48
|
-
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, } from './models.js';
|
|
48
|
+
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, setFlashModels, } from './models.js';
|
|
49
49
|
import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
|
|
50
50
|
import { ideContextStore } from '../ide/ideContext.js';
|
|
51
51
|
import { WriteTodosTool } from '../tools/write-todos.js';
|
|
@@ -1240,7 +1240,7 @@ export class Config {
|
|
|
1240
1240
|
if (!isAutoModel(model, this)) {
|
|
1241
1241
|
return {};
|
|
1242
1242
|
}
|
|
1243
|
-
const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
|
|
1243
|
+
const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
|
|
1244
1244
|
const isPreview = isPreviewModel(primaryModel, this);
|
|
1245
1245
|
const proModel = primaryModel;
|
|
1246
1246
|
const flashModel = isPreview
|
|
@@ -1267,7 +1267,7 @@ export class Config {
|
|
|
1267
1267
|
if (pooled.remaining !== undefined) {
|
|
1268
1268
|
return pooled.remaining;
|
|
1269
1269
|
}
|
|
1270
|
-
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
|
|
1270
|
+
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
|
|
1271
1271
|
return this.modelQuotas.get(primaryModel)?.remaining;
|
|
1272
1272
|
}
|
|
1273
1273
|
getQuotaLimit() {
|
|
@@ -1275,7 +1275,7 @@ export class Config {
|
|
|
1275
1275
|
if (pooled.limit !== undefined) {
|
|
1276
1276
|
return pooled.limit;
|
|
1277
1277
|
}
|
|
1278
|
-
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
|
|
1278
|
+
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
|
|
1279
1279
|
return this.modelQuotas.get(primaryModel)?.limit;
|
|
1280
1280
|
}
|
|
1281
1281
|
getQuotaResetTime() {
|
|
@@ -1283,7 +1283,7 @@ export class Config {
|
|
|
1283
1283
|
if (pooled.resetTime !== undefined) {
|
|
1284
1284
|
return pooled.resetTime;
|
|
1285
1285
|
}
|
|
1286
|
-
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
|
|
1286
|
+
const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
|
|
1287
1287
|
return this.modelQuotas.get(primaryModel)?.resetTime;
|
|
1288
1288
|
}
|
|
1289
1289
|
getEmbeddingModel() {
|
|
@@ -2351,6 +2351,30 @@ export class Config {
|
|
|
2351
2351
|
authType === AuthType.USE_VERTEX_AI ||
|
|
2352
2352
|
authType === AuthType.GATEWAY);
|
|
2353
2353
|
}
|
|
2354
|
+
/**
|
|
2355
|
+
* Returns whether Gemini 3.5 Flash GA has been launched.
|
|
2356
|
+
*
|
|
2357
|
+
* Note: This method should only be called after startup, once experiments have been loaded.
|
|
2358
|
+
*/
|
|
2359
|
+
hasGemini35FlashGAAccess() {
|
|
2360
|
+
const authType = this.contentGeneratorConfig?.authType;
|
|
2361
|
+
const hasAccess = (() => {
|
|
2362
|
+
if (this.isGemini31LaunchedForAuthType(authType)) {
|
|
2363
|
+
return true;
|
|
2364
|
+
}
|
|
2365
|
+
return (this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]
|
|
2366
|
+
?.boolValue ?? false);
|
|
2367
|
+
})();
|
|
2368
|
+
// Used to set default flash models based on access
|
|
2369
|
+
// TODO: Remove once the experiment for 3_5 flash rollut can be cleaned up.
|
|
2370
|
+
if (hasAccess) {
|
|
2371
|
+
setFlashModels('gemini-3.5-flash', 'gemini-3.5-flash');
|
|
2372
|
+
}
|
|
2373
|
+
else {
|
|
2374
|
+
setFlashModels('gemini-3-flash-preview', 'gemini-2.5-flash');
|
|
2375
|
+
}
|
|
2376
|
+
return hasAccess;
|
|
2377
|
+
}
|
|
2354
2378
|
/**
|
|
2355
2379
|
* Returns whether Gemini 3.1 has been launched.
|
|
2356
2380
|
*
|