@google/gemini-cli 0.45.0 → 0.46.0-preview.1

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.
Files changed (71) hide show
  1. package/bundle/{chunk-SG46YSQ3.js → chunk-24H54ISH.js} +7 -7
  2. package/bundle/{chunk-YI3KORH5.js → chunk-3EC3ZLRQ.js} +2 -2
  3. package/bundle/{chunk-EORX7LYI.js → chunk-3WW2LTMX.js} +1 -1
  4. package/bundle/{chunk-2ARYG3KE.js → chunk-4B7MDBUK.js} +1 -1
  5. package/bundle/{chunk-EUYIPFPA.js → chunk-5CWORGE3.js} +1 -1
  6. package/bundle/{chunk-K6WTIGVC.js → chunk-5IBYZHR7.js} +2 -2
  7. package/bundle/{chunk-TWSSMLUS.js → chunk-7Y6NU65D.js} +1 -1
  8. package/bundle/{chunk-4KOU3QNT.js → chunk-EG7USKV5.js} +8 -5
  9. package/bundle/{chunk-PNU4GACG.js → chunk-EZDKSTIF.js} +2 -2
  10. package/bundle/{chunk-THZMPVCN.js → chunk-GRD2P7HY.js} +1 -1
  11. package/bundle/chunk-HQNVDCXK.js +154 -0
  12. package/bundle/chunk-ILHDA6XU.js +17320 -0
  13. package/bundle/{chunk-6T7N6JF2.js → chunk-ITC7TFJU.js} +156 -50
  14. package/bundle/{chunk-53SRWMUU.js → chunk-JF6RJW53.js} +1 -1
  15. package/bundle/chunk-JPYTHGMI.js +398 -0
  16. package/bundle/{chunk-XV2YFH7B.js → chunk-KOJR46UO.js} +7654 -14056
  17. package/bundle/{chunk-4EBMYFID.js → chunk-KQ4V7ZN4.js} +67 -54
  18. package/bundle/chunk-O3UKVEBS.js +81685 -0
  19. package/bundle/{chunk-VL3FKVC7.js → chunk-ONUDATHO.js} +3 -3
  20. package/bundle/{chunk-N6QPQL7E.js → chunk-QEVRJ7HY.js} +183 -50
  21. package/bundle/{chunk-3TWZMAJU.js → chunk-QFWAILKU.js} +3 -3
  22. package/bundle/{chunk-GVEZJIV3.js → chunk-QMCEWHRR.js} +1 -1
  23. package/bundle/{chunk-IL7J46PP.js → chunk-R4LEIQZM.js} +3 -3
  24. package/bundle/{chunk-JLFE3KRS.js → chunk-RXYIE5L5.js} +1 -1
  25. package/bundle/{chunk-Z5F25543.js → chunk-UM53YDCH.js} +1 -1
  26. package/bundle/{chunk-PXEK5ENZ.js → chunk-VEHSYWQT.js} +9 -8
  27. package/bundle/chunk-VETILJQA.js +1571 -0
  28. package/bundle/chunk-VOFVOS4I.js +118 -0
  29. package/bundle/chunk-WRWCUHAM.js +512 -0
  30. package/bundle/chunk-XVDCGVTF.js +394545 -0
  31. package/bundle/{chunk-HFVEWB6N.js → chunk-YINW7YTJ.js} +1 -1
  32. package/bundle/{chunk-KSNTXH4E.js → chunk-YIOYXRDP.js} +7 -7
  33. package/bundle/{cleanup-3SMSXJJA.js → cleanup-4ZTB4WMN.js} +2 -2
  34. package/bundle/{cleanup-FNQ3LEWG.js → cleanup-7LLX4OFN.js} +2 -2
  35. package/bundle/{cleanup-I56KHTTC.js → cleanup-GI5426XS.js} +2 -2
  36. package/bundle/cleanup-ZBLVGXIK.js +32 -0
  37. package/bundle/{core-KGXBOJTX.js → core-3UQQYNJF.js} +7 -1
  38. package/bundle/{devtoolsService-EW3B2Y63.js → devtoolsService-GJWWZ2KK.js} +2 -2
  39. package/bundle/{devtoolsService-F7PHNBEQ.js → devtoolsService-UNQILSWI.js} +4 -3
  40. package/bundle/devtoolsService-Z2YXVMYF.js +856 -0
  41. package/bundle/{devtoolsService-VFEFRDYG.js → devtoolsService-ZYGDAPOV.js} +2 -2
  42. package/bundle/{dist-2G5KTD32.js → dist-4NVM6I2N.js} +7 -1
  43. package/bundle/{core-AQUUQTX2.js → dist-LIQULVXZ.js} +7 -1
  44. package/bundle/dist-XPP357J7.js +2140 -0
  45. package/bundle/docs/changelogs/index.md +14 -0
  46. package/bundle/docs/changelogs/latest.md +202 -199
  47. package/bundle/docs/changelogs/preview.md +44 -200
  48. package/bundle/docs/issue-and-pr-automation.md +29 -1
  49. package/bundle/docs/reference/configuration.md +71 -0
  50. package/bundle/{gemini-ORQHD633.js → gemini-5WY2YO7R.js} +18 -15
  51. package/bundle/{gemini-JMMBFICD.js → gemini-7GZVH4VW.js} +216 -197
  52. package/bundle/{gemini-4KS2EZX6.js → gemini-QDOVPRKF.js} +18 -15
  53. package/bundle/gemini-RBKWBGCC.js +16409 -0
  54. package/bundle/gemini.js +7 -7
  55. package/bundle/{interactiveCli-XUZZOZXX.js → interactiveCli-BMKHWEH4.js} +29 -13
  56. package/bundle/{interactiveCli-ESB66RW7.js → interactiveCli-OEFOYFJU.js} +335 -300
  57. package/bundle/interactiveCli-OGE5OTZB.js +34742 -0
  58. package/bundle/{interactiveCli-ZJXV4DW7.js → interactiveCli-W3CMLQIM.js} +29 -13
  59. package/bundle/{liteRtServerManager-HELKQKOZ.js → liteRtServerManager-3QOJEGNL.js} +4 -4
  60. package/bundle/{liteRtServerManager-RNNHEQJI.js → liteRtServerManager-HPVNUYFX.js} +4 -4
  61. package/bundle/{liteRtServerManager-DORIWEMR.js → liteRtServerManager-Q6LTEYH4.js} +4 -4
  62. package/bundle/liteRtServerManager-YL4YRHOA.js +65 -0
  63. package/bundle/{oauth2-provider-2IJNOFOO.js → oauth2-provider-3WXIASQA.js} +1 -1
  64. package/bundle/{oauth2-provider-7N4OFPTL.js → oauth2-provider-CTPS7JLT.js} +1 -1
  65. package/bundle/{oauth2-provider-YYLBPESU.js → oauth2-provider-K52EY6RG.js} +38 -72
  66. package/bundle/oauth2-provider-PJJE326A.js +235 -0
  67. package/bundle/{start-IGG6LDST.js → start-25W6VZG6.js} +6 -6
  68. package/bundle/{start-R7DTCFCN.js → start-JBJSIKIB.js} +6 -6
  69. package/bundle/{start-66KF6MVV.js → start-PK22QMBT.js} +6 -6
  70. package/bundle/start-XAEHV6FV.js +18 -0
  71. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- # Preview release: v0.44.0-preview.0
1
+ # Preview release: v0.45.0-preview.0
2
2
 
3
- Released: May 22, 2026
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
- - **Simplified Modes:** Merged existing Auto modes into a single, unified Auto
17
- mode for a more streamlined user experience.
18
- - **Enhanced Agent Registration:** Improved agent registration logic to
19
- prioritize project-specific agents using a first-wins strategy.
20
- - **New Developer Skills:** Introduced `agent-tui` and `tui-tester` skills to
21
- empower developers with better terminal UI testing and automation
22
- capabilities.
23
- - **Expanded Editor Support:** Added support for Sublime Text and Emacs Client,
24
- providing more flexibility for external editing tasks.
25
- - **Session Management:** Added new session invocation types
26
- (`LocalSessionInvocation`, `RemoteSessionInvocation`) and improved context
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.44.0-nightly.20260512.g022e8baef by
30
+ - chore(release): bump version to 0.45.0-nightly.20260521.g854f811be by
32
31
  @gemini-cli-robot in
33
- [#26957](https://github.com/google-gemini/gemini-cli/pull/26957)
34
- - Changelog for v0.42.0 by @gemini-cli-robot in
35
- [#26958](https://github.com/google-gemini/gemini-cli/pull/26958)
36
- - Refactor: Eliminate `no-unsafe-return` suppressions via strict type validation
37
- by @M-DEV-1 in
38
- [#20668](https://github.com/google-gemini/gemini-cli/pull/20668)
39
- - Changelog for v0.43.0-preview.0 by @gemini-cli-robot in
40
- [#26959](https://github.com/google-gemini/gemini-cli/pull/26959)
41
- - feat(core): change agent registration to first-wins and prioritize project by
42
- @adamfweidman in
43
- [#26953](https://github.com/google-gemini/gemini-cli/pull/26953)
44
- - feat(cli): merge Auto modes into a single Auto mode by @DavidAPierce in
45
- [#26714](https://github.com/google-gemini/gemini-cli/pull/26714)
46
- - fix(core): preserve OAuth refresh tokens during rotation and retrieval by
47
- @cocosheng-g in
48
- [#26924](https://github.com/google-gemini/gemini-cli/pull/26924)
49
- - fix(cli): allow keychain auth for --list-sessions and non-interactive mode by
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
- [#27250](https://github.com/google-gemini/gemini-cli/pull/27250)
177
- - fix(cli): integrate PolicyEngine into ACP session to prevent deadlocks
178
- (#23507) by @cocosheng-g in
179
- [#27252](https://github.com/google-gemini/gemini-cli/pull/27252)
180
- - fix: robust ripgrep path resolution and 1p hermetic execution support by
181
- @cocosheng-g in
182
- [#27253](https://github.com/google-gemini/gemini-cli/pull/27253)
183
- - refactor: decouple stored session deletion from ChatRecordingService (#22920)
184
- by @yuvrajangadsingh in
185
- [#27039](https://github.com/google-gemini/gemini-cli/pull/27039)
186
- - fix(core): improve Alpine shell compatibility by @dibyx in
187
- [#26770](https://github.com/google-gemini/gemini-cli/pull/26770)
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.43.0-preview.1...v0.44.0-preview.0
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. Release automation
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,46 @@ their corresponding top-level category object in your `settings.json` file.
1020
1042
  "contexts": [
1021
1043
  {
1022
1044
  "condition": {
1045
+ "hasAccessToPreview": false,
1046
+ "useGemini3_5Flash": true
1047
+ },
1048
+ "target": "gemini-3.5-flash"
1049
+ },
1050
+ {
1051
+ "condition": {
1052
+ "hasAccessToPreview": false,
1053
+ "useGemini3_5Flash": false
1054
+ },
1055
+ "target": "gemini-2.5-flash"
1056
+ }
1057
+ ]
1058
+ },
1059
+ "gemini-3.5-flash": {
1060
+ "default": "gemini-3.5-flash",
1061
+ "contexts": [
1062
+ {
1063
+ "condition": {
1064
+ "useGemini3_5Flash": false,
1023
1065
  "hasAccessToPreview": false
1024
1066
  },
1025
1067
  "target": "gemini-2.5-flash"
1068
+ },
1069
+ {
1070
+ "condition": {
1071
+ "useGemini3_5Flash": false
1072
+ },
1073
+ "target": "gemini-3-flash-preview"
1074
+ }
1075
+ ]
1076
+ },
1077
+ "gemini-2.5-flash": {
1078
+ "default": "gemini-2.5-flash",
1079
+ "contexts": [
1080
+ {
1081
+ "condition": {
1082
+ "useGemini3_5Flash": true
1083
+ },
1084
+ "target": "gemini-3.5-flash"
1026
1085
  }
1027
1086
  ]
1028
1087
  },
@@ -1104,6 +1163,12 @@ their corresponding top-level category object in your `settings.json` file.
1104
1163
  "flash": {
1105
1164
  "default": "gemini-3-flash-preview",
1106
1165
  "contexts": [
1166
+ {
1167
+ "condition": {
1168
+ "useGemini3_5Flash": true
1169
+ },
1170
+ "target": "gemini-3.5-flash"
1171
+ },
1107
1172
  {
1108
1173
  "condition": {
1109
1174
  "hasAccessToPreview": false
@@ -1157,6 +1222,12 @@ their corresponding top-level category object in your `settings.json` file.
1157
1222
  "flash": {
1158
1223
  "default": "gemini-3-flash-preview",
1159
1224
  "contexts": [
1225
+ {
1226
+ "condition": {
1227
+ "useGemini3_5Flash": true
1228
+ },
1229
+ "target": "gemini-3.5-flash"
1230
+ },
1160
1231
  {
1161
1232
  "condition": {
1162
1233
  "hasAccessToPreview": false
@@ -41,18 +41,18 @@ import {
41
41
  updateAllUpdatableExtensions,
42
42
  updateExtension,
43
43
  validateAuthMethod
44
- } from "./chunk-SG46YSQ3.js";
44
+ } from "./chunk-O3UKVEBS.js";
45
45
  import {
46
46
  appEvents
47
47
  } from "./chunk-5PS3AYFU.js";
48
48
  import {
49
49
  startCommand,
50
50
  startServer
51
- } from "./chunk-IL7J46PP.js";
51
+ } from "./chunk-ONUDATHO.js";
52
52
  import {
53
53
  exitCli,
54
54
  require_source
55
- } from "./chunk-53SRWMUU.js";
55
+ } from "./chunk-RXYIE5L5.js";
56
56
  import {
57
57
  DEFAULT_PORT,
58
58
  GEMMA_MODEL_NAME,
@@ -86,11 +86,11 @@ import {
86
86
  readServerProcessInfo,
87
87
  resolveGemmaConfig,
88
88
  saveModelChange
89
- } from "./chunk-EUYIPFPA.js";
89
+ } from "./chunk-5CWORGE3.js";
90
90
  import {
91
91
  RELAUNCH_EXIT_CODE
92
- } from "./chunk-K6WTIGVC.js";
93
- import "./chunk-Z5F25543.js";
92
+ } from "./chunk-JPYTHGMI.js";
93
+ import "./chunk-WRWCUHAM.js";
94
94
  import {
95
95
  cleanupCheckpoints,
96
96
  registerCleanup,
@@ -99,7 +99,7 @@ import {
99
99
  runExitCleanup,
100
100
  runSyncCleanup,
101
101
  setupSignalHandlers
102
- } from "./chunk-EORX7LYI.js";
102
+ } from "./chunk-7Y6NU65D.js";
103
103
  import {
104
104
  ASK_USER_TOOL_NAME,
105
105
  ApprovalMode,
@@ -247,7 +247,7 @@ import {
247
247
  updatePolicy,
248
248
  writeToStderr,
249
249
  writeToStdout
250
- } from "./chunk-6T7N6JF2.js";
250
+ } from "./chunk-ITC7TFJU.js";
251
251
  import "./chunk-6HI7VNOG.js";
252
252
  import "./chunk-TUDYL3X4.js";
253
253
  import "./chunk-IUUIT4SU.js";
@@ -7841,7 +7841,7 @@ async function loadSandboxConfig(settings, argv) {
7841
7841
  }
7842
7842
  const command2 = getSandboxCommand(sandboxValue);
7843
7843
  const packageJson = await getPackageJson(__dirname3);
7844
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.45.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7844
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.46.0-preview.1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7845
7845
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7846
7846
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7847
7847
  }
@@ -10249,7 +10249,7 @@ async function runNonInteractive({
10249
10249
  }
10250
10250
  });
10251
10251
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10252
- const { setupInitialActivityLogger } = await import("./devtoolsService-EW3B2Y63.js");
10252
+ const { setupInitialActivityLogger } = await import("./devtoolsService-Z2YXVMYF.js");
10253
10253
  setupInitialActivityLogger(config);
10254
10254
  }
10255
10255
  const { stdout: workingStdout } = createWorkingStdio();
@@ -10720,7 +10720,7 @@ async function runNonInteractive2(params) {
10720
10720
  }
10721
10721
  });
10722
10722
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10723
- const { setupInitialActivityLogger } = await import("./devtoolsService-EW3B2Y63.js");
10723
+ const { setupInitialActivityLogger } = await import("./devtoolsService-Z2YXVMYF.js");
10724
10724
  setupInitialActivityLogger(config);
10725
10725
  }
10726
10726
  const { stdout: workingStdout } = createWorkingStdio();
@@ -13664,11 +13664,13 @@ function buildAvailableModels(config, settings) {
13664
13664
  const preferredModel = config.getModel() || GEMINI_MODEL_ALIAS_AUTO;
13665
13665
  const shouldShowPreviewModels = config.getHasAccessToPreviewModel();
13666
13666
  const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
13667
+ const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
13667
13668
  const selectedAuthType = settings.merged.security.auth.selectedType;
13668
13669
  const useCustomToolModel = useGemini31 && selectedAuthType === AuthType.USE_GEMINI;
13669
13670
  if (config.getExperimentalDynamicModelConfiguration?.() === true && config.getModelConfigService) {
13670
13671
  const options = config.getModelConfigService().getAvailableModelOptions({
13671
13672
  useGemini3_1: useGemini31,
13673
+ useGemini3_5Flash,
13672
13674
  useCustomTools: useCustomToolModel,
13673
13675
  hasAccessToPreview: shouldShowPreviewModels
13674
13676
  });
@@ -13683,7 +13685,8 @@ function buildAvailableModels(config, settings) {
13683
13685
  title: getDisplayString(GEMINI_MODEL_ALIAS_AUTO),
13684
13686
  description: getAutoModelDescription(
13685
13687
  shouldShowPreviewModels,
13686
- useGemini31
13688
+ useGemini31,
13689
+ useGemini3_5Flash
13687
13690
  )
13688
13691
  }
13689
13692
  ];
@@ -15908,7 +15911,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
15908
15911
  }
15909
15912
  }
15910
15913
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
15911
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-XUZZOZXX.js");
15914
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-OEFOYFJU.js");
15912
15915
  await doStartUI(
15913
15916
  config,
15914
15917
  settings,
@@ -16117,7 +16120,7 @@ ${finalArgs[promptIndex + 1]}`;
16117
16120
  await config.storage.initialize();
16118
16121
  adminControlsListner.setConfig(config);
16119
16122
  if (config.isInteractive() && settings.merged.general.devtools) {
16120
- const { setupInitialActivityLogger } = await import("./devtoolsService-EW3B2Y63.js");
16123
+ const { setupInitialActivityLogger } = await import("./devtoolsService-Z2YXVMYF.js");
16121
16124
  setupInitialActivityLogger(config);
16122
16125
  }
16123
16126
  registerTelemetryConfig(config);
@@ -16176,7 +16179,7 @@ ${finalArgs[promptIndex + 1]}`;
16176
16179
  const initAppHandle = startupProfiler.start("initialize_app");
16177
16180
  const initializationResult = await initializeApp(config, settings);
16178
16181
  initAppHandle?.end();
16179
- import("./liteRtServerManager-DORIWEMR.js").then(({ LiteRtServerManager }) => {
16182
+ import("./liteRtServerManager-3QOJEGNL.js").then(({ LiteRtServerManager }) => {
16180
16183
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16181
16184
  if (!mergedGemma) return;
16182
16185
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;