@google/gemini-cli 0.67.0-preview.0 → 0.68.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/README.md +18 -24
- package/bundle/{chunk-4HG5TEPY.js → chunk-44PCK4QK.js} +1 -1
- package/bundle/{chunk-QVUC4J7B.js → chunk-6A5BTTNC.js} +9 -11
- package/bundle/{chunk-BFZQO5OI.js → chunk-B2FKXXUH.js} +327 -106
- package/bundle/{chunk-GTLUHCZL.js → chunk-BKVNBJ5C.js} +327 -106
- package/bundle/{chunk-IQFMOPBP.js → chunk-CXMHAFLN.js} +2 -2
- package/bundle/{chunk-76P7AV5J.js → chunk-G7EMTV2Q.js} +327 -106
- package/bundle/{chunk-VIWQUHCM.js → chunk-HRM7UWGB.js} +9 -11
- package/bundle/{chunk-WTMW35TZ.js → chunk-JMHCFAD6.js} +1 -1
- package/bundle/{chunk-WANMK7VA.js → chunk-KKKD4FID.js} +2 -2
- package/bundle/{chunk-5FYAQBC3.js → chunk-L57AYV6U.js} +1558 -996
- package/bundle/{chunk-6HF2HP2S.js → chunk-LQDISFTJ.js} +2 -2
- package/bundle/{chunk-R6BM7NWC.js → chunk-ODU7Z2RJ.js} +1 -1
- package/bundle/{chunk-THOV46FY.js → chunk-OZOUOK43.js} +1 -1
- package/bundle/{chunk-FPCAOQBY.js → chunk-Q76ZDILI.js} +3 -3
- package/bundle/{chunk-EAO5GUJT.js → chunk-RCF66HCI.js} +1625 -1006
- package/bundle/{chunk-FYX6LSG6.js → chunk-RD2EMHV2.js} +1 -1
- package/bundle/{chunk-QPO46AOD.js → chunk-VBHMFLBY.js} +1 -1
- package/bundle/{chunk-2BG2OMW3.js → chunk-VCO4TMD6.js} +9 -11
- package/bundle/{chunk-GI2BMP6K.js → chunk-WEP47ZZU.js} +1 -1
- package/bundle/{chunk-RNBD6XQX.js → chunk-XPTXBYQQ.js} +3 -3
- package/bundle/{chunk-SJ64DOGM.js → chunk-XVNEFQR3.js} +1 -1
- package/bundle/{chunk-JLA2J5MI.js → chunk-YPPJDFYP.js} +3 -3
- package/bundle/{chunk-SAQV5Q3G.js → chunk-ZEK4UYYW.js} +1 -1
- package/bundle/{chunk-HWPQINPO.js → chunk-ZZOOHVBL.js} +1627 -1008
- package/bundle/{cleanup-QXMGRCCJ.js → cleanup-CCR2EOHA.js} +2 -2
- package/bundle/{cleanup-R3QZGL6L.js → cleanup-OQV2G5Y3.js} +2 -2
- package/bundle/{cleanup-S6DWGSDA.js → cleanup-T24OFMOA.js} +2 -2
- package/bundle/{core-NQRYED5S.js → core-NQRKBS47.js} +3 -1
- package/bundle/{dist-XT4ZXTSC.js → core-UIPNZ5VU.js} +3 -1
- package/bundle/{devtoolsService-GPRO4RRU.js → devtoolsService-3G5ZA3JV.js} +2 -2
- package/bundle/{devtoolsService-WR3IFLZC.js → devtoolsService-EWNQDTC7.js} +2 -2
- package/bundle/{devtoolsService-ALST4BXH.js → devtoolsService-V3OEHE5V.js} +2 -2
- package/bundle/{core-3N7UGMI2.js → dist-OYZDNSTI.js} +3 -1
- package/bundle/docs/changelogs/index.md +24 -0
- package/bundle/docs/changelogs/latest.md +83 -90
- package/bundle/docs/changelogs/preview.md +89 -87
- package/bundle/docs/cli/sandbox.md +8 -2
- package/bundle/docs/cli/themes.md +6 -3
- package/bundle/docs/extensions/releasing.md +32 -0
- package/bundle/docs/reference/configuration.md +2 -10
- package/bundle/{gemini-K3EMSEQ5.js → gemini-2P73372G.js} +122 -24
- package/bundle/{gemini-MWKDIT7M.js → gemini-FSHMUCSM.js} +122 -24
- package/bundle/{gemini-5DCBUXWG.js → gemini-YFCTZ76S.js} +121 -23
- package/bundle/gemini.js +7 -7
- package/bundle/{interactiveCli-3B2SSFOJ.js → interactiveCli-F5RRE2VJ.js} +1350 -1145
- package/bundle/{interactiveCli-63JD5B2Z.js → interactiveCli-I75IWUIA.js} +1350 -1145
- package/bundle/{interactiveCli-QUIZ4FA2.js → interactiveCli-X54KN2EM.js} +1350 -1145
- package/bundle/{liteRtServerManager-M6NTFF5C.js → liteRtServerManager-FLPMMDNM.js} +4 -4
- package/bundle/{liteRtServerManager-QHOOPEJV.js → liteRtServerManager-JTOIS4KU.js} +4 -4
- package/bundle/{liteRtServerManager-AQUTLRTC.js → liteRtServerManager-UVQ2I6NL.js} +4 -4
- package/bundle/{oauth2-provider-3JCCMSND.js → oauth2-provider-AYO4BU7A.js} +1 -1
- package/bundle/{oauth2-provider-X55SWENY.js → oauth2-provider-NCQY7TJE.js} +1 -1
- package/bundle/{oauth2-provider-GCJTOYXK.js → oauth2-provider-VMBYZOC7.js} +1 -1
- package/bundle/{start-VKITAPOP.js → start-DFHM4HI4.js} +6 -6
- package/bundle/{start-X73XUSSH.js → start-IXQ2E7L6.js} +6 -6
- package/bundle/{start-4QIXXTMW.js → start-YEKGRZVH.js} +6 -6
- package/package.json +1 -1
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
runSyncCleanup,
|
|
13
13
|
setupSignalHandlers,
|
|
14
14
|
setupTtyCheck
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-WEP47ZZU.js";
|
|
16
|
+
import "./chunk-L57AYV6U.js";
|
|
17
17
|
import "./chunk-664ZODQF.js";
|
|
18
18
|
import "./chunk-IUUIT4SU.js";
|
|
19
19
|
import "./chunk-L6PII3GR.js";
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
runSyncCleanup,
|
|
13
13
|
setupSignalHandlers,
|
|
14
14
|
setupTtyCheck
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-RD2EMHV2.js";
|
|
16
|
+
import "./chunk-RCF66HCI.js";
|
|
17
17
|
import "./chunk-664ZODQF.js";
|
|
18
18
|
import "./chunk-IUUIT4SU.js";
|
|
19
19
|
import "./chunk-L6PII3GR.js";
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
runSyncCleanup,
|
|
13
13
|
setupSignalHandlers,
|
|
14
14
|
setupTtyCheck
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-OZOUOK43.js";
|
|
16
|
+
import "./chunk-ZZOOHVBL.js";
|
|
17
17
|
import "./chunk-664ZODQF.js";
|
|
18
18
|
import "./chunk-IUUIT4SU.js";
|
|
19
19
|
import "./chunk-L6PII3GR.js";
|
|
@@ -962,6 +962,7 @@ import {
|
|
|
962
962
|
mcpServerRequiresOAuth,
|
|
963
963
|
moveInboxSkill,
|
|
964
964
|
normalizeCommand,
|
|
965
|
+
normalizeEscapedNewlines,
|
|
965
966
|
normalizePath,
|
|
966
967
|
normalizeSecurityPath,
|
|
967
968
|
normalizeSpace,
|
|
@@ -1141,7 +1142,7 @@ import {
|
|
|
1141
1142
|
wrapWithSynchronizedOutput,
|
|
1142
1143
|
writeToStderr,
|
|
1143
1144
|
writeToStdout
|
|
1144
|
-
} from "./chunk-
|
|
1145
|
+
} from "./chunk-RCF66HCI.js";
|
|
1145
1146
|
import "./chunk-664ZODQF.js";
|
|
1146
1147
|
import {
|
|
1147
1148
|
SpanStatusCode,
|
|
@@ -2114,6 +2115,7 @@ export {
|
|
|
2114
2115
|
mcpServerRequiresOAuth,
|
|
2115
2116
|
moveInboxSkill,
|
|
2116
2117
|
normalizeCommand,
|
|
2118
|
+
normalizeEscapedNewlines,
|
|
2117
2119
|
normalizePath,
|
|
2118
2120
|
normalizeSecurityPath,
|
|
2119
2121
|
normalizeSpace,
|
|
@@ -962,6 +962,7 @@ import {
|
|
|
962
962
|
mcpServerRequiresOAuth,
|
|
963
963
|
moveInboxSkill,
|
|
964
964
|
normalizeCommand,
|
|
965
|
+
normalizeEscapedNewlines,
|
|
965
966
|
normalizePath,
|
|
966
967
|
normalizeSecurityPath,
|
|
967
968
|
normalizeSpace,
|
|
@@ -1141,7 +1142,7 @@ import {
|
|
|
1141
1142
|
wrapWithSynchronizedOutput,
|
|
1142
1143
|
writeToStderr,
|
|
1143
1144
|
writeToStdout
|
|
1144
|
-
} from "./chunk-
|
|
1145
|
+
} from "./chunk-ZZOOHVBL.js";
|
|
1145
1146
|
import "./chunk-664ZODQF.js";
|
|
1146
1147
|
import {
|
|
1147
1148
|
SpanStatusCode,
|
|
@@ -2114,6 +2115,7 @@ export {
|
|
|
2114
2115
|
mcpServerRequiresOAuth,
|
|
2115
2116
|
moveInboxSkill,
|
|
2116
2117
|
normalizeCommand,
|
|
2118
|
+
normalizeEscapedNewlines,
|
|
2117
2119
|
normalizePath,
|
|
2118
2120
|
normalizeSecurityPath,
|
|
2119
2121
|
normalizeSpace,
|
|
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
coreEvents,
|
|
4
4
|
debugLogger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZZOOHVBL.js";
|
|
6
6
|
import "./chunk-664ZODQF.js";
|
|
7
7
|
import "./chunk-IUUIT4SU.js";
|
|
8
8
|
import "./chunk-L6PII3GR.js";
|
|
@@ -4387,7 +4387,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
|
|
|
4387
4387
|
return;
|
|
4388
4388
|
}
|
|
4389
4389
|
try {
|
|
4390
|
-
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-
|
|
4390
|
+
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-UIPNZ5VU.js");
|
|
4391
4391
|
const url = await startDevToolsServer(config);
|
|
4392
4392
|
if (shouldLaunchBrowser()) {
|
|
4393
4393
|
try {
|
|
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
|
|
|
2
2
|
import {
|
|
3
3
|
coreEvents,
|
|
4
4
|
debugLogger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RCF66HCI.js";
|
|
6
6
|
import "./chunk-664ZODQF.js";
|
|
7
7
|
import "./chunk-IUUIT4SU.js";
|
|
8
8
|
import "./chunk-L6PII3GR.js";
|
|
@@ -4387,7 +4387,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
|
|
|
4387
4387
|
return;
|
|
4388
4388
|
}
|
|
4389
4389
|
try {
|
|
4390
|
-
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-
|
|
4390
|
+
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-NQRKBS47.js");
|
|
4391
4391
|
const url = await startDevToolsServer(config);
|
|
4392
4392
|
if (shouldLaunchBrowser()) {
|
|
4393
4393
|
try {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
CoreEvent,
|
|
4
4
|
coreEvents,
|
|
5
5
|
debugLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-L57AYV6U.js";
|
|
7
7
|
import "./chunk-664ZODQF.js";
|
|
8
8
|
import "./chunk-IUUIT4SU.js";
|
|
9
9
|
import "./chunk-L6PII3GR.js";
|
|
@@ -4388,7 +4388,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
|
|
|
4388
4388
|
return;
|
|
4389
4389
|
}
|
|
4390
4390
|
try {
|
|
4391
|
-
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-
|
|
4391
|
+
const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-OYZDNSTI.js");
|
|
4392
4392
|
const url = await startDevToolsServer(config);
|
|
4393
4393
|
if (shouldLaunchBrowser()) {
|
|
4394
4394
|
try {
|
|
@@ -962,6 +962,7 @@ import {
|
|
|
962
962
|
mcpServerRequiresOAuth,
|
|
963
963
|
moveInboxSkill,
|
|
964
964
|
normalizeCommand,
|
|
965
|
+
normalizeEscapedNewlines,
|
|
965
966
|
normalizePath,
|
|
966
967
|
normalizeSecurityPath,
|
|
967
968
|
normalizeSpace,
|
|
@@ -1141,7 +1142,7 @@ import {
|
|
|
1141
1142
|
wrapWithSynchronizedOutput,
|
|
1142
1143
|
writeToStderr,
|
|
1143
1144
|
writeToStdout
|
|
1144
|
-
} from "./chunk-
|
|
1145
|
+
} from "./chunk-L57AYV6U.js";
|
|
1145
1146
|
import "./chunk-664ZODQF.js";
|
|
1146
1147
|
import {
|
|
1147
1148
|
SpanStatusCode,
|
|
@@ -2114,6 +2115,7 @@ export {
|
|
|
2114
2115
|
mcpServerRequiresOAuth,
|
|
2115
2116
|
moveInboxSkill,
|
|
2116
2117
|
normalizeCommand,
|
|
2118
|
+
normalizeEscapedNewlines,
|
|
2117
2119
|
normalizePath,
|
|
2118
2120
|
normalizeSecurityPath,
|
|
2119
2121
|
normalizeSpace,
|
|
@@ -18,6 +18,30 @@ 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.66.0 - 2026-10-27
|
|
22
|
+
|
|
23
|
+
- **Terminal UI Rendering & Flicker Prevention:** Implemented synchronized
|
|
24
|
+
output mode and isolated spinner rendering, eliminated buffer flickering, and
|
|
25
|
+
preserved terminal scrollback during viewport refreshes
|
|
26
|
+
([#29725](https://github.com/google-gemini/gemini-cli/pull/29725) by
|
|
27
|
+
@diegogodinezr,
|
|
28
|
+
[#29695](https://github.com/google-gemini/gemini-cli/pull/29695) by
|
|
29
|
+
@ugorla-dev).
|
|
30
|
+
- **Tool Scheduling & Process Lifecycle:** Emitted tool call groups directly
|
|
31
|
+
from the scheduler and forwarded process termination signals from bootstrap
|
|
32
|
+
parent to child processes
|
|
33
|
+
([#29736](https://github.com/google-gemini/gemini-cli/pull/29736) by
|
|
34
|
+
@jesussamuel-byte,
|
|
35
|
+
[#29790](https://github.com/google-gemini/gemini-cli/pull/29790) by
|
|
36
|
+
@villahernandez-coder).
|
|
37
|
+
- **Environment & MCP OAuth Security:** Supported opt-in private network
|
|
38
|
+
endpoints for MCP OAuth flows and preserved user-level git configuration while
|
|
39
|
+
suppressing interactive prompts
|
|
40
|
+
([#29844](https://github.com/google-gemini/gemini-cli/pull/29844) by
|
|
41
|
+
@luisfelipe-alt,
|
|
42
|
+
[#29832](https://github.com/google-gemini/gemini-cli/pull/29832) by
|
|
43
|
+
@jesussamuel-byte).
|
|
44
|
+
|
|
21
45
|
## Announcements: v0.65.0 - 2026-10-20
|
|
22
46
|
|
|
23
47
|
- **Custom Telemetry Headers:** Added support for configuring custom OTLP
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Latest stable release: v0.
|
|
1
|
+
# Latest stable release: v0.66.0
|
|
2
2
|
|
|
3
|
-
Released: October
|
|
3
|
+
Released: October 27, 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,103 +11,96 @@ 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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
terminal width changes.
|
|
14
|
+
- **Terminal UI & Display Rendering:** Implemented synchronized terminal output
|
|
15
|
+
mode, isolated spinner rendering, and preserved scrollback buffers across
|
|
16
|
+
viewport refreshes while eliminating buffer flickering and border bleed in
|
|
17
|
+
scrollable tool containers.
|
|
18
|
+
- **Execution Scheduling & Process Lifecycle:** Refactored the core scheduler to
|
|
19
|
+
emit tool call groups directly and eliminated UI lookahead, while ensuring
|
|
20
|
+
process termination signals forward reliably from bootstrap wrappers to child
|
|
21
|
+
processes.
|
|
22
|
+
- **Git & Shell Environment Robustness:** Preserved user-level `~/.gitconfig`
|
|
23
|
+
settings in shell and git environments, suppressed interactive SSH and
|
|
24
|
+
credential prompts to avoid execution hangs, and improved Windows diff
|
|
25
|
+
argument quoting.
|
|
26
|
+
- **Security & Configuration Management:** Added opt-in support for private
|
|
27
|
+
network endpoints during MCP OAuth flows, eliminated false positives in
|
|
28
|
+
authentication error detection, resolved settings placeholders after loading
|
|
29
|
+
`.env` files, and added `keys` array support for custom keybindings.
|
|
31
30
|
|
|
32
31
|
## What's Changed
|
|
33
32
|
|
|
34
|
-
-
|
|
35
|
-
@
|
|
36
|
-
[#
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- fix(core): prevent deletion of resumed session history on quick exit (#29198)
|
|
41
|
-
by @villahernandez-coder in
|
|
42
|
-
[#29584](https://github.com/google-gemini/gemini-cli/pull/29584)
|
|
43
|
-
- Changelog for v0.64.0-preview.0 by @gemini-cli-robot in
|
|
44
|
-
[#29656](https://github.com/google-gemini/gemini-cli/pull/29656)
|
|
45
|
-
- Changelog for v0.63.0 by @gemini-cli-robot in
|
|
46
|
-
[#29659](https://github.com/google-gemini/gemini-cli/pull/29659)
|
|
47
|
-
- fix(core): align OAuth callback iss parameter validation with RFC 9207
|
|
48
|
-
metadata by @luisfelipe-alt in
|
|
49
|
-
[#29616](https://github.com/google-gemini/gemini-cli/pull/29616)
|
|
50
|
-
- fix(cli): prevent unnecessary terminal clears and scroll resets when expanding
|
|
51
|
-
with Ctrl+O by @jesussamuel-byte in
|
|
52
|
-
[#29640](https://github.com/google-gemini/gemini-cli/pull/29640)
|
|
53
|
-
- chore(release): bump version to 0.65.0-nightly.20261006.gfb972b2f8 by
|
|
33
|
+
- Update ROADMAP.md to no longer reference outdated 2025 roadmap by
|
|
34
|
+
@DavidAPierce in
|
|
35
|
+
[#29723](https://github.com/google-gemini/gemini-cli/pull/29723)
|
|
36
|
+
- Changelog for v0.65.0-preview.0 by @gemini-cli-robot in
|
|
37
|
+
[#29739](https://github.com/google-gemini/gemini-cli/pull/29739)
|
|
38
|
+
- chore(release): bump version to 0.66.0-nightly.20261013.g204db94ae by
|
|
54
39
|
@gemini-cli-robot in
|
|
55
|
-
[#
|
|
56
|
-
-
|
|
40
|
+
[#29740](https://github.com/google-gemini/gemini-cli/pull/29740)
|
|
41
|
+
- Changelog for v0.64.0 by @gemini-cli-robot in
|
|
42
|
+
[#29741](https://github.com/google-gemini/gemini-cli/pull/29741)
|
|
43
|
+
- fix(ui): implement synchronized output and isolate spinner rendering by
|
|
44
|
+
@diegogodinezr in
|
|
45
|
+
[#29725](https://github.com/google-gemini/gemini-cli/pull/29725)
|
|
46
|
+
- fix(ui): fix debug console height calculation and terminalBuffer flickering by
|
|
57
47
|
@ugorla-dev in
|
|
58
|
-
[#
|
|
59
|
-
- fix(
|
|
60
|
-
by @luisfelipe-alt in
|
|
61
|
-
[#29612](https://github.com/google-gemini/gemini-cli/pull/29612)
|
|
62
|
-
- `feat(telemetry): support custom OTLP headers in telemetry configuration` by
|
|
63
|
-
@jesussamuel-byte in
|
|
64
|
-
[#29641](https://github.com/google-gemini/gemini-cli/pull/29641)
|
|
65
|
-
- fix(auth): prevent infinite verification and OAuth retry loops by
|
|
48
|
+
[#29695](https://github.com/google-gemini/gemini-cli/pull/29695)
|
|
49
|
+
- fix(cli): prevent right-hand border bleed in scrollable tool containers by
|
|
66
50
|
@villahernandez-coder in
|
|
67
|
-
[#
|
|
68
|
-
-
|
|
69
|
-
@jesussamuel-byte in
|
|
70
|
-
[#
|
|
71
|
-
- fix(core):
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
[#
|
|
76
|
-
- fix(core):
|
|
77
|
-
@
|
|
78
|
-
[#
|
|
79
|
-
- fix(
|
|
80
|
-
loops by @DavidAPierce in
|
|
81
|
-
[#29672](https://github.com/google-gemini/gemini-cli/pull/29672)
|
|
82
|
-
- fix(cli): clear cached credentials when re-selecting Google login by
|
|
83
|
-
@urielefrenvirtusa in
|
|
84
|
-
[#29643](https://github.com/google-gemini/gemini-cli/pull/29643)
|
|
85
|
-
- fix(cli): resolve hang on Enter keypress in interactive mode (#23297) by
|
|
51
|
+
[#29742](https://github.com/google-gemini/gemini-cli/pull/29742)
|
|
52
|
+
- refactor(core,cli): emit tool call groups from the scheduler and drop the UI
|
|
53
|
+
lookahead by @jesussamuel-byte in
|
|
54
|
+
[#29736](https://github.com/google-gemini/gemini-cli/pull/29736)
|
|
55
|
+
- fix(core): format and quote Windows diff command arguments in openDiff by
|
|
56
|
+
@jvargassanchez-dot in
|
|
57
|
+
[#29753](https://github.com/google-gemini/gemini-cli/pull/29753)
|
|
58
|
+
- fix(cli): round before selecting units in formatDuration by @diegogodinezr in
|
|
59
|
+
[#29766](https://github.com/google-gemini/gemini-cli/pull/29766)
|
|
60
|
+
- fix(core): disable interactive credential and SSH prompts in getSafeGitEnv by
|
|
61
|
+
@villahernandez-coder in
|
|
62
|
+
[#29760](https://github.com/google-gemini/gemini-cli/pull/29760)
|
|
63
|
+
- fix(cli): resolve settings placeholders after loading .env files by
|
|
86
64
|
@elberthc-byte in
|
|
87
|
-
[#
|
|
88
|
-
-
|
|
89
|
-
@
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
[#
|
|
93
|
-
-
|
|
65
|
+
[#29750](https://github.com/google-gemini/gemini-cli/pull/29750)
|
|
66
|
+
- fix(core): harden SKILL.md frontmatter parsing for single-line descriptions by
|
|
67
|
+
@jesussamuel-byte in
|
|
68
|
+
[#29769](https://github.com/google-gemini/gemini-cli/pull/29769)
|
|
69
|
+
- Add Banner about Gemini CLI not being optimized for Gemini 4 by @srithreepo in
|
|
70
|
+
[#29774](https://github.com/google-gemini/gemini-cli/pull/29774)
|
|
71
|
+
- Update README to remove obsolete content by @srithreepo in
|
|
72
|
+
[#29775](https://github.com/google-gemini/gemini-cli/pull/29775)
|
|
73
|
+
- fix(ci): remove unsupported members permission in unassign-inactive-assignees
|
|
74
|
+
workflow by @ugorla-dev in
|
|
75
|
+
[#29770](https://github.com/google-gemini/gemini-cli/pull/29770)
|
|
76
|
+
- fix(cli): reset slash-command conflict dedupe when conflicts reappear by
|
|
94
77
|
@jvargassanchez-dot in
|
|
95
|
-
[#
|
|
96
|
-
- fix(cli):
|
|
78
|
+
[#29768](https://github.com/google-gemini/gemini-cli/pull/29768)
|
|
79
|
+
- fix(cli): verify active binary update to prevent PATH shadowing false success
|
|
80
|
+
by @urielefrenvirtusa in
|
|
81
|
+
[#29757](https://github.com/google-gemini/gemini-cli/pull/29757)
|
|
82
|
+
- fix(cli): support 'keys' array in keybindings.json by @urielefrenvirtusa in
|
|
83
|
+
[#29773](https://github.com/google-gemini/gemini-cli/pull/29773)
|
|
84
|
+
- fix(cli): forward termination signals from bootstrap parent to child process
|
|
85
|
+
by @villahernandez-coder in
|
|
86
|
+
[#29790](https://github.com/google-gemini/gemini-cli/pull/29790)
|
|
87
|
+
- fix(ui): preserve terminal scrollback during viewport refreshes by
|
|
88
|
+
@diegogodinezr in
|
|
89
|
+
[#29792](https://github.com/google-gemini/gemini-cli/pull/29792)
|
|
90
|
+
- fix(cli): decode streamed Node HTTP activity chunks with StringDecoder by
|
|
97
91
|
@jesussamuel-byte in
|
|
98
|
-
[#
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- fix(core): treat whitespace-only UTF-16 and UTF-32 files as empty by
|
|
92
|
+
[#29827](https://github.com/google-gemini/gemini-cli/pull/29827)
|
|
93
|
+
- chore: migrate gsutil usage to gcloud storage by @gurusai-voleti in
|
|
94
|
+
[#29839](https://github.com/google-gemini/gemini-cli/pull/29839)
|
|
95
|
+
- fix(core): preserve user-level ~/.gitconfig in shell and git environments by
|
|
103
96
|
@jesussamuel-byte in
|
|
104
|
-
[#
|
|
105
|
-
- fix(
|
|
106
|
-
@
|
|
107
|
-
[#
|
|
108
|
-
- fix(
|
|
109
|
-
@
|
|
110
|
-
[#
|
|
97
|
+
[#29832](https://github.com/google-gemini/gemini-cli/pull/29832)
|
|
98
|
+
- fix(core): prevent false positive matches in isAuthenticationError by
|
|
99
|
+
@urielefrenvirtusa in
|
|
100
|
+
[#29835](https://github.com/google-gemini/gemini-cli/pull/29835)
|
|
101
|
+
- fix(core): support opt-in private network endpoints for MCP OAuth flows by
|
|
102
|
+
@luisfelipe-alt in
|
|
103
|
+
[#29844](https://github.com/google-gemini/gemini-cli/pull/29844)
|
|
111
104
|
|
|
112
105
|
**Full Changelog**:
|
|
113
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
106
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.65.0...v0.66.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.67.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released: October
|
|
3
|
+
Released: October 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,99 +13,101 @@ 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
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
shadowing.
|
|
32
|
-
- **Networking & MCP Security**: Supported opt-in private network endpoints for
|
|
33
|
-
MCP OAuth flows and prevented false positive matches in authentication error
|
|
34
|
-
handling.
|
|
16
|
+
- **Model Discovery Command & Flag**: Added a new `models` command and
|
|
17
|
+
`--list-models` flag for model discovery directly from the CLI.
|
|
18
|
+
- **Container Sandbox IDE Bridging**: Bridged the IDE companion into container
|
|
19
|
+
sandboxes over exec stdio to improve IDE integration in containerized
|
|
20
|
+
environments.
|
|
21
|
+
- **Cancellation & Signal Resilience**: Improved termination signal and
|
|
22
|
+
cancellation handling by stopping continuation stream processing, halting
|
|
23
|
+
auto-nudges, and preventing subsequent tool execution in non-interactive mode.
|
|
24
|
+
- **Terminal Rendering & Unicode Support**: Refined character width calculation
|
|
25
|
+
for terminals rendering ambiguous-width characters and corrected display width
|
|
26
|
+
for Thai and Lao SARA AM scripts.
|
|
27
|
+
- **Filesystem & Security Safeguards**: Hardened atomic file writing to respect
|
|
28
|
+
read-only files and hard links, resolved relative file paths against the
|
|
29
|
+
active IDE workspace root, scoped untrusted flag checks to external output,
|
|
30
|
+
and included MCP server and tool metadata in permission requests.
|
|
35
31
|
|
|
36
32
|
## What's Changed
|
|
37
33
|
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- Changelog for v0.65.0-preview.0 by @gemini-cli-robot in
|
|
42
|
-
[#29739](https://github.com/google-gemini/gemini-cli/pull/29739)
|
|
43
|
-
- chore(release): bump version to 0.66.0-nightly.20261013.g204db94ae by
|
|
34
|
+
- Changelog for v0.65.0 by @gemini-cli-robot in
|
|
35
|
+
[#29853](https://github.com/google-gemini/gemini-cli/pull/29853)
|
|
36
|
+
- chore(release): bump version to 0.67.0-nightly.20261020.gb041de017 by
|
|
44
37
|
@gemini-cli-robot in
|
|
45
|
-
[#
|
|
46
|
-
- Changelog for v0.
|
|
47
|
-
[#
|
|
48
|
-
-
|
|
49
|
-
@
|
|
50
|
-
[#
|
|
51
|
-
- fix(
|
|
52
|
-
@
|
|
53
|
-
[#
|
|
54
|
-
- fix(
|
|
55
|
-
@villahernandez-coder in
|
|
56
|
-
[#29742](https://github.com/google-gemini/gemini-cli/pull/29742)
|
|
57
|
-
- refactor(core,cli): emit tool call groups from the scheduler and drop the UI
|
|
58
|
-
lookahead by @jesussamuel-byte in
|
|
59
|
-
[#29736](https://github.com/google-gemini/gemini-cli/pull/29736)
|
|
60
|
-
- fix(core): format and quote Windows diff command arguments in openDiff by
|
|
61
|
-
@jvargassanchez-dot in
|
|
62
|
-
[#29753](https://github.com/google-gemini/gemini-cli/pull/29753)
|
|
63
|
-
- fix(cli): round before selecting units in formatDuration by @diegogodinezr in
|
|
64
|
-
[#29766](https://github.com/google-gemini/gemini-cli/pull/29766)
|
|
65
|
-
- fix(core): disable interactive credential and SSH prompts in getSafeGitEnv by
|
|
38
|
+
[#29854](https://github.com/google-gemini/gemini-cli/pull/29854)
|
|
39
|
+
- Changelog for v0.66.0-preview.0 by @gemini-cli-robot in
|
|
40
|
+
[#29852](https://github.com/google-gemini/gemini-cli/pull/29852)
|
|
41
|
+
- feat(cli): bridge the IDE companion into container sandboxes over exec stdio
|
|
42
|
+
by @elberthc-byte in
|
|
43
|
+
[#29858](https://github.com/google-gemini/gemini-cli/pull/29858)
|
|
44
|
+
- fix(core): prevent duplicate agent loading when workspace is home directory
|
|
45
|
+
(#27692) by @urielefrenvirtusa in
|
|
46
|
+
[#29847](https://github.com/google-gemini/gemini-cli/pull/29847)
|
|
47
|
+
- fix(ide): exclude IDE settings and GEMINI.md files from open file con text by
|
|
66
48
|
@villahernandez-coder in
|
|
67
|
-
[#
|
|
68
|
-
- fix(
|
|
69
|
-
@
|
|
70
|
-
[#
|
|
71
|
-
- fix(
|
|
49
|
+
[#29848](https://github.com/google-gemini/gemini-cli/pull/29848)
|
|
50
|
+
- fix(core): scope untrusted flag checks to external output and remember
|
|
51
|
+
approved flags by @luisfelipe-alt in
|
|
52
|
+
[#29833](https://github.com/google-gemini/gemini-cli/pull/29833)
|
|
53
|
+
- fix(a2a-server): mount express.json() before A2A SDK route registration by
|
|
72
54
|
@jesussamuel-byte in
|
|
73
|
-
[#
|
|
74
|
-
-
|
|
75
|
-
[#29774](https://github.com/google-gemini/gemini-cli/pull/29774)
|
|
76
|
-
- Update README to remove obsolete content by @srithreepo in
|
|
77
|
-
[#29775](https://github.com/google-gemini/gemini-cli/pull/29775)
|
|
78
|
-
- fix(ci): remove unsupported members permission in unassign-inactive-assignees
|
|
79
|
-
workflow by @ugorla-dev in
|
|
80
|
-
[#29770](https://github.com/google-gemini/gemini-cli/pull/29770)
|
|
81
|
-
- fix(cli): reset slash-command conflict dedupe when conflicts reappear by
|
|
82
|
-
@jvargassanchez-dot in
|
|
83
|
-
[#29768](https://github.com/google-gemini/gemini-cli/pull/29768)
|
|
84
|
-
- fix(cli): verify active binary update to prevent PATH shadowing false success
|
|
85
|
-
by @urielefrenvirtusa in
|
|
86
|
-
[#29757](https://github.com/google-gemini/gemini-cli/pull/29757)
|
|
87
|
-
- fix(cli): support 'keys' array in keybindings.json by @urielefrenvirtusa in
|
|
88
|
-
[#29773](https://github.com/google-gemini/gemini-cli/pull/29773)
|
|
89
|
-
- fix(cli): forward termination signals from bootstrap parent to child process
|
|
90
|
-
by @villahernandez-coder in
|
|
91
|
-
[#29790](https://github.com/google-gemini/gemini-cli/pull/29790)
|
|
92
|
-
- fix(ui): preserve terminal scrollback during viewport refreshes by
|
|
55
|
+
[#29850](https://github.com/google-gemini/gemini-cli/pull/29850)
|
|
56
|
+
- fix(core): adhere to RFC 9110 token rules when splitting custom headers by
|
|
93
57
|
@diegogodinezr in
|
|
94
|
-
[#
|
|
95
|
-
- fix(
|
|
96
|
-
@
|
|
97
|
-
[#
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
-
|
|
58
|
+
[#29865](https://github.com/google-gemini/gemini-cli/pull/29865)
|
|
59
|
+
- fix(core): respect read-only files and hard links in atomic writeTextFile by
|
|
60
|
+
@elberthc-byte in
|
|
61
|
+
[#29749](https://github.com/google-gemini/gemini-cli/pull/29749)
|
|
62
|
+
- fix(a2a-server,core): preserve extended token usage metadata and align
|
|
63
|
+
per-turn reporting by @jvargassanchez-dot in
|
|
64
|
+
[#29834](https://github.com/google-gemini/gemini-cli/pull/29834)
|
|
65
|
+
- fix(core): ensure all model turns with function calls receive thought
|
|
66
|
+
signatures by @amelidev in
|
|
67
|
+
[#29828](https://github.com/google-gemini/gemini-cli/pull/29828)
|
|
68
|
+
- fix(cli): handle termination signals and prevent tool execution after
|
|
69
|
+
cancellation in non-interactive mode by @urielefrenvirtusa in
|
|
70
|
+
[#29849](https://github.com/google-gemini/gemini-cli/pull/29849)
|
|
71
|
+
- fix(cli): preserve ${VAR} placeholders during deprecated settings migration by
|
|
72
|
+
@villahernandez-coder in
|
|
73
|
+
[#29867](https://github.com/google-gemini/gemini-cli/pull/29867)
|
|
74
|
+
- fix(cli): stop continuation stream processing and auto-nudge after request
|
|
75
|
+
cancellation by @jesussamuel-byte in
|
|
76
|
+
[#29868](https://github.com/google-gemini/gemini-cli/pull/29868)
|
|
77
|
+
- fix(cli): correct Thai and Lao SARA AM display width by @elberthc-byte in
|
|
78
|
+
[#29883](https://github.com/google-gemini/gemini-cli/pull/29883)
|
|
79
|
+
- fix(core): resolve relative file paths against active IDE workspace root by
|
|
80
|
+
@villahernandez-coder in
|
|
81
|
+
[#29838](https://github.com/google-gemini/gemini-cli/pull/29838)
|
|
82
|
+
- feat(cli): add models command and --list-models flag for model discovery by
|
|
83
|
+
@urielefrenvirtusa in
|
|
84
|
+
[#29880](https://github.com/google-gemini/gemini-cli/pull/29880)
|
|
85
|
+
- fix(cli): convert Claude hook timeout from seconds to milliseconds during
|
|
86
|
+
migration by @villahernandez-coder in
|
|
87
|
+
[#29899](https://github.com/google-gemini/gemini-cli/pull/29899)
|
|
88
|
+
- fix(core): classify project spending cap errors as terminal quota errors by
|
|
101
89
|
@jesussamuel-byte in
|
|
102
|
-
[#
|
|
103
|
-
- fix(
|
|
90
|
+
[#29961](https://github.com/google-gemini/gemini-cli/pull/29961)
|
|
91
|
+
- fix(acp): include MCP server and tool metadata in permission requests by
|
|
92
|
+
@duvanka-prasad in
|
|
93
|
+
[#29910](https://github.com/google-gemini/gemini-cli/pull/29910)
|
|
94
|
+
- fix(cli): prevent parent command name insertion on /chat list autocomplete by
|
|
104
95
|
@urielefrenvirtusa in
|
|
105
|
-
[#
|
|
106
|
-
- fix(
|
|
107
|
-
|
|
108
|
-
|
|
96
|
+
[#29967](https://github.com/google-gemini/gemini-cli/pull/29967)
|
|
97
|
+
- fix(cli): validate finite numbers in numeric settings editor by @diegogodinezr
|
|
98
|
+
in [#29968](https://github.com/google-gemini/gemini-cli/pull/29968)
|
|
99
|
+
- fix(core): allow trusted system paths on Android (Termux) for ripgrep
|
|
100
|
+
resolution (#21836) by @amelidev in
|
|
101
|
+
[#29884](https://github.com/google-gemini/gemini-cli/pull/29884)
|
|
102
|
+
- fix(core): normalize CRLF line endings before diffing in getDiffContextSnippet
|
|
103
|
+
by @jesussamuel-byte in
|
|
104
|
+
[#29966](https://github.com/google-gemini/gemini-cli/pull/29966)
|
|
105
|
+
- fix(cli): handle terminals that render ambiguous-width characters as wide by
|
|
106
|
+
@elberthc-byte in
|
|
107
|
+
[#29905](https://github.com/google-gemini/gemini-cli/pull/29905)
|
|
108
|
+
- fix(cli): prevent duplicate history and double telemetry in confirm_action
|
|
109
|
+
flow by @duvanka-prasad in
|
|
110
|
+
[#29974](https://github.com/google-gemini/gemini-cli/pull/29974)
|
|
109
111
|
|
|
110
112
|
**Full Changelog**:
|
|
111
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
113
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.66.0-preview.0...v0.67.0-preview.0
|
|
@@ -415,8 +415,14 @@ $env:SANDBOX_FLAGS="--flag1 --flag2=value"
|
|
|
415
415
|
|
|
416
416
|
### Linux UID/GID handling
|
|
417
417
|
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
Gemini CLI automatically handles user permissions in container sandboxes on
|
|
419
|
+
Linux. When the sandbox runs as your host UID/GID (the default on supported
|
|
420
|
+
Linux distributions) and you use rootless Podman, Gemini CLI also passes
|
|
421
|
+
`--userns=keep-id`. This keeps files that the sandbox creates in mounted
|
|
422
|
+
directories owned by your host user. To use a different user namespace mode, add
|
|
423
|
+
your own `--userns` option to `SANDBOX_FLAGS`.
|
|
424
|
+
|
|
425
|
+
Override the default Linux UID/GID mapping behavior with:
|
|
420
426
|
|
|
421
427
|
**macOS/Linux**
|
|
422
428
|
|