v0.3 - CLI, Windows & Hardening
Three small releases that took gPTY beyond the GUI and hardened it. v0.3.0 added the gpty CLI, the MCP server, daemon mode and the IPC bridge; v0.3.1 made gPTY stable on Windows (named-pipe IPC) and put a release-quality CI gate in place; v0.3.2 was the first security and test-coverage pass. Everything in this chain shipped.
v0.3.0 - CLI & AI Integration
| Done | Area | Item |
|---|---|---|
| ✅ | CLI | CLI binary (gpty) - control a running GUI over JSON-RPC IPC. Supports new-pane, list-panes, kill-pane, focus-pane, inject, and layout management. Auto-spawns the GUI daemon if it’s not already running. |
| ✅ | IPC | MCP server - Model Context Protocol integration. Run gpty mcp to expose terminal workspace control as tools for AI agents (Claude, Gemini, etc.). Agents can spawn panes, inject text, and manage layouts. |
| ✅ | CORE | Daemon mode - CLI lifecycle management for the GUI. gpty daemon start|stop|status starts, stops, or checks the running GUI process. |
| ✅ | IPC | JSON Schema - gpty schema outputs a JSON Schema describing all CLI commands and their parameters. --format mcp produces an MCP tools manifest. Enables AI tool discovery without hardcoded manifests. |
| ✅ | IPC | IPC bridge - Rust IpcServer on a background tokio task accepts Unix socket connections, parses JSON-RPC, and queues requests. GDScript polls drain_ipc_requests() each frame and dispatches to workspace methods, then responds via respond_ipc(). |
v0.3.1 - Stability & Windows Support
| Done | Area | Item |
|---|---|---|
| ✅ | IPC | Windows named-pipe IPC - per-connection named-pipe instances on the server (v0.3.0 never compiled on Windows); local cross-check via xwin/clang-cl plus the CI rust-windows job keeps it green |
| ✅ | CONCEPT | Concept engine reliability - startup registration race fixed (ClassDB.instantiate on first frame), UntilStop capture triggers from PTY output, capture-only concepts with empty cmd supported (the cmd field itself was removed in v0.5.3) |
| ✅ | CONCEPT | Concept management via CLI and MCP - gpty concept list / gpty concept toggle plus matching concept-list/concept-toggle MCP tools |
| ✅ | BUILD | Release-quality CI gate - pre-push git hooks, local scripts/ci-check runner, and a Windows compile job catching platform breakage before tagging |
| ✅ | DOCS | Documentation hub - docs sidebar restructure (crate READMEs under Overview), dev setup consolidated into CONTRIBUTING.md |
v0.3.2 - Security Hardening & Test Coverage
| Done | Area | Item |
|---|---|---|
| ✅ | SEC | IPC security - peer-UID check, optional GPTY_SECRET, request/connection caps, and client-side GPTY_SOCKET/GPTY_GUI validation against env hijacking |
| ✅ | SEC | Concept engine security - shell-quoted template substitution, parse caps (count, lengths, timeout clamp), line and capture bounds (template substitution removed in v0.5.3 along with command execution) |
| ✅ | SEC | PTY env sanitization - dynamic-loader variable blocklist applied at spawn |
| ✅ | SEC | Layout restore trust - tile validation, typed settings application, absolute pane paths |
| ✅ | BUILD | Workspace cleanup script - scripts/clean removes stale sockets, import caches, and build outputs |
| ✅ | BUILD | Standalone app builder - scripts/build produces a runnable bundle for the host platform |
| ✅ | DOCS | Documentation overhaul - MCP integration, crate README accuracy, testing guide with explicit gaps |
| ✅ | BUILD | Test coverage expansion - capture lifecycle, CLI mock-server roundtrips, concept routing, gdext FFI smoke |