Repository navigation
v1.3.72
ggcode v1.3.72
Highlights
- CLI
versionsubcommand and global flags:ggcode version,ggcode --version, andggcode -vnow print the version and exit immediately — no config loading, no TUI. Critical for install scripts and agent automation. - CLI help overhaul: Removed hardcoded help text that hid
acp,completion,daemon,harness,llm-probe,mcp,versionsubcommands. All commands now visible via cobra dynamic rendering. - MCP install wizard:
ggcode mcp installwith no args launches an interactive wizard (name, transport, command/URL, env vars, headers). - IM config wizard:
ggcode im config addwith no args launches an interactive wizard (adapter name, platform picker, platform-specific config). - Interactive installer: New
install.shandinstall.ps1with perUser default (no sudo/admin required), scope selection, and dual-scope detection on Windows. - Desktop Windows ARM64: Desktop MSI now builds both amd64 (x64) and arm64, matching CLI coverage.
- Website redesign: Bold new landing page with full-screen hero, animated gradient text, terminal preview, scroll-reveal features grid, and tabbed install bar.
- README restructure: Simplified to 91 lines (from 656), all technical details moved to 16 standalone guide docs under
docs/guide/.
Fixes and improvements
Install and Update
- Fixed install.sh and install.ps1 using version number in archive name — GoReleaser omits version from
.tar.gz/.zipnames, causing 404 downloads. - Fixed install.sh hanging after completion when piped via
curl | bash— added explicitexit 0. - Fixed install scripts launching TUI by calling
ggcode versionon old builds that lack the subcommand — removed post-install version verification. - Added cross-installation detection:
FindOtherInstalls(),DetectDualScopeWindows()warn when multiple installations coexist. - Added privilege-aware update: auto-elevate via UAC on Windows when target directory is not writable.
- Added write permission check before downloading update binary.
winget
- winget perUser migration: perUser MSI uses different UpgradeCode from perMachine, winget manages scope migration.
- Added explicit
scope=useroverride to winget publish URLs via pipe-delimited format. - Desktop winget publish now includes arm64 URL alongside x64.
CLI
- Fixed
FlagErrorFuncsilently swallowing unknown flags — unknown flags now properly error. - Fixed
fmt.Fprintlnwith redundant\nin wizard prompts. - Fixed
--version/-vusingfmt.Printlninstead ofcmd.OutOrStdout()— now respects pipe redirection. - Fixed
splitCommandin MCP wizard usingstrings.Fields()— rewrote with quote-aware parser.
Windows Packaging
- perUser MSI (CLI + Desktop) uses different UpgradeCode from perMachine to prevent cross-scope major upgrade failure.
- Desktop perUser WXS: removed unreliable
<Icon>element, addedRemoveFolderfor vendor dir cleanup. - npm Windows wrapper:
copyFileSyncinstead of batch-in-exe for binary copy; version check infindSystemBinary.
Code Review (Round 2)
- Fixed npm
requestedVersion === "latest"unconditionally reusing any system binary — stale binary reuse bug.
Website / Deployment
- Fixed Railway deployment: orphan site branch now places files under
docs/site/to match Railway's Root Directory setting. - Fixed i18n strings with HTML tags rendered as literal text — detection changed from
\nto<check. - Added
scripts/install/**to site-release workflow trigger paths. - Added
railway.jsongeneration in orphan branch for DOCKERFILE builder override.
Upgrade notes
No breaking changes. All install channels now default to non-privileged (perUser) installation. Users with existing perMachine MSI on Windows will be prompted to uninstall when switching to perUser via winget.