Changelog
May 19, 2026 · View on GitHub
All notable changes to AVC (Agent View Controller) are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.0 - 2026-05-19
Added
graphview (Phase 2 of the roadmap): node-edge topology diagrams for microservice architectures, dependency maps, ER models, and data flows. Drag nodes to reposition (positions persist on round-trip), double-click to edit labels, click an edge + Delete to remove. Toolbar buttons for adding nodes (spiral-search empty spot) and connecting edges (click two nodes). Full keyboard navigation: Tab to cycle, A to add, Enter to edit, Delete to remove. Node types —service,gateway,database,external,default— get distinct accent colors.examples/graph-microservices.json— a 12-node / 17-edge e-commerce architecture (API Gateway → Auth/User/Product/Order Services → PostgreSQL, Redis, Elasticsearch, Stripe, SendGrid) covering all 5 node types.- 6 new graph i18n strings (
graphAddNode,graphAddEdge,graphPickFirstNode,graphPickSecondNode,graphNewNode,graphInfo) translated across all 7 locales. --quiet/-qflag suppresses the informational "passing through" stderr message; errors still go to stderr. Useful for scripts that pipe through avc.avc install-skill [agent...]subcommand: auto-detects (or accepts explicit args for) Codex CLI / Claude Code / Gemini CLI / GitHub Copilot config dirs and copies the embeddedSKILL.mdinto each. Skill text is bundled via//go:embedso no source tree is required at install time.- Pre-built macOS binaries (arm64 + x86_64) automatically built and attached to GitHub Releases via GoReleaser on every tag push. Brings the install time from ~30s (build from source) to instant.
- CI smoke-tests every
examples/*.json: forces pass-through with--threshold=99999and asserts exit code, valid JSON output, andview-field round-trip.
Changed
- WebView now mutes Go's
os.Stderrwhile the window is alive, so the macOS framework warnings (TSM AdjustCapsLockLED...,error messaging the mach port for IMKCFRunLoopWakeUpReliable) no longer pollute pipelines like... | avc | jq. AVC's own writes happen before the mute and after the restore, so they're unaffected. ui/app.jsrefactored to a registry pattern (registerKeyHandler,registerInfoUpdater) so new views plug in instead of editing the dispatcher. Removed the hardcodedhandlePlanKeyreference. Plan view migrated to the new APIs.- Brew formula now ships pre-built binaries instead of building from source, so
brew install study8677/tap/avcno longer downloads Go (228 MB) on first install.
0.3.0 - 2026-05-18
Added
- UI internationalization across 7 languages — English, 中文, 日本語, 한국어, Español, Français, Deutsch — selected via the new
langJSON field; unknown values fall back to English. - 6 real-world example scenarios under
examples/covering code refactoring, CI/CD setup, incident response, Kubernetes deploy, data migration, and pre-merge code review, plus anexamples/README.mdindex. - Homebrew tap (
brew install study8677/tap/avc) as the recommended install path;brew info avcprints copy-paste commands to wire the skill into Claude Code / Codex / Gemini. - Unit test suite — 14 cases covering token estimation, input parsing, threshold logic, language round-trip, and edge cases — runs headless on any platform.
- macOS GitHub Actions CI:
go vet,go test, build with version injection, and two stdin smoke tests on every push/PR tomain. - Apache 2.0
LICENSEfile at repo root (the README already declared the license; the file was missing). --versionflag on theavcbinary, build-time injectable via-ldflags "-X main.version=...".- Keyboard shortcuts in the WebView:
Enterto confirm,Escto cancel,Cmd/Ctrl+Enterto confirm even while editing text. - Form-field-aware editing guard so keyboard shortcuts don't hijack future views that contain native
<input>/<textarea>/<select>elements. CONTRIBUTING.mdwith a short guide for adding view types, UI languages, README translations, and platform verification.- Honest "Platform Support" table in the README — macOS verified in CI, Linux/Windows marked unverified and inviting contributors.
Changed
- Split the 767-line monolithic
ui/index.htmlinto modular files:ui/index.html(skeleton),ui/styles.css,ui/app.js(i18n + dispatcher + view registry), andui/views/plan.js. New view types now plug in viaregisterView(name, renderFn)instead of editing a single giant file. install.shprefers~/.local/bin→~/bin→/usr/local/binso the common case avoidssudo; uses a unique per-install temp dir with trap cleanup; injects the git short hash into the build; verifiescommand -v avcafter install.- Refactored
main.go: extracted a puredecide()function so input/threshold logic is unit-testable without spawning a WebView; introduced sentinel errors (ErrEmptyInput,ErrInvalidJSON,ErrMissingView) for callers to branch on; replaced the naivebytes/3token heuristic with an ASCII (÷4) vs multibyte (×2/3) estimate that handles CJK input correctly. - WebView callback synchronization switched from channel+default to
atomic.Value+atomic.Boolto remove a happens-before ambiguity when the OS dispatches Bind handlers on the UI thread. - Demoted
curl | bashfrom primary to "alternative" install method now that Homebrew is available; tightened the manual-install snippet to skipsudoby default.
Fixed
.gitignorepatternavcwas matching both the root binary and theskills/avc/directory, silently excludingskills/avc/SKILL.mdfrom the repo. Fresh clones runninginstall.shfailed at the skill-copy step. Anchored the pattern to/avcso it only matches the top-level binary; committedskills/avc/SKILL.mdfor real.- Whitespace-only stdin (e.g.
echo '' | avc) was reported as "invalid JSON" because of the trailing newline; now treated as empty input. - Mixed-language UI (CN buttons next to EN status bar) replaced by a single i18n dictionary so every string in the chrome respects the active locale.
Documentation
- Both READMEs gained a flag-emoji language switcher, a "UI Languages" section listing all 7 locales with their Confirm/Cancel/status translations, and a "More examples" callout linking the new
examples/folder. langfield documented across both READMEs,AGENTS.md, andskills/avc/SKILL.mdwith JSON-schema examples.
0.1.0 - 2026-03-15
Initial public release: plan view with drag-to-reorder editing.