Changelog
What shipped
Synced from the repository’s CHANGELOG.md. Artifacts for every release live on GitHub Releases.
All notable changes to G-Rump are documented here. The format follows Keep a Changelog and versions follow Semantic Versioning.
[2.1.0] - 2026-07-14
2.1 turns G-Rump from a chat app with tools into a small IDE with an agent in it: a real build engine with run-to-simulator, a project navigator, an experimental self-learning loop, and local models via Ollama — no key needed. Honest note: the newest surfaces (build & run, learning loop) are lightly battle-tested. They work; they will also surprise you occasionally. The roadmap tracks what's solid and what's rough.
Added
- Build engine + run-to-simulator. Xcode-style toolbar above the chat:
⌘R builds via
xcodebuildor SPM and, on a simulator destination, continues install → launch → live app logs streamed into the new Build console panel (Log and Issues tabs, Fix-with-G-Rump, reveal-in-navigator,xed --line). ⌘⇧. stops. The agent can drive the same loop throughxcrun_simctltools. - Project navigator. ⌘0 toggles a left file-tree pane; build issues and agent file references reveal straight into it.
- Self-learning loop (experimental). Every run's outcome lands in a per-project ledger; a reflection pass distills short, confidence-scored lessons that ride along on future prompts; strong lesson clusters can become skill proposals you approve or reject as diffs in the new Learning panel (the 20th dock panel). Off-switch in Settings → Brain. Writes to SOUL.md, MIND.md, and skill directories always require approval.
- Local Ollama provider. Fifth provider, keyless: models are discovered
live from
localhost:11434, tool support is gated per model, and being offline is fine. Ollama was cut as dead code in 2.0.0; this is a fresh, working implementation. Never auto-routed. - Welcome window. Xcode-style launch window (⇧⌘1): pinned recents, open, clone (streaming, cancellable), new project.
- Developer profile. Profile → You feeds a capped block (name, role, stack, conventions) into the system prompt; Profile → Your Agent embeds the SOUL editor.
- Settings as a real window. Native
Settings{}scene on ⌘, — 21 tabs regrouped into 7 groups. All legacy entry points still work. - Mode-select card. New conversations open with an inline Plan / Build / Spec card gating the first message; ⇧⇥ cycles modes from the input; the status bar shows the current mode with a switcher.
- Onboarding rework. Six typed steps with real gating; provider step validates keys inline (or probes Ollama reachability) and allows an explicit "add a key later" deferral. The skills-allowlist overwrite bug is dead.
Changed
- App icons regenerated on the proper 824pt Apple squircle grid.
- Docs (README, ARCHITECTURE, CLAUDE.md) rewritten against counted reality: 160 native tools, 67 MCP presets, 20 panels, 73 skills, ~67K LOC, 1,581 tests.
Removed
- Empty-state suggestion chips and the mode buttons row (replaced by the mode-select card); orphaned ChatAreaView, SpecQuestionsModal, RightPanelManager.
2.0.0 - 2026-07-09
G-Rump 2.0 is the multi-provider release. The app is no longer tied to a single AI vendor: bring your own key for Anthropic (default), OpenAI, Google, or OpenRouter, and G-Rump speaks each provider's native wire format with full streaming tool calls. The release also lands the cognitive-memory engine, the brain subsystems, and a large platform cleanup that removes the SaaS billing layer entirely — G-Rump is now a local-first app with your keys in the macOS Keychain and no accounts.
Added
- Multi-provider AI. Anthropic (default), OpenAI, Google, and OpenRouter. Anthropic and Gemini use native wire formats with streaming tool calls; OpenAI and OpenRouter ride a shared parameterized OpenAI-compatible transport.
- 2026 model catalog. Claude Opus 4.8 (default), Claude Fable 5 (premium, manual select only), Claude Sonnet 5, Claude Haiku 4.5, GPT-5.2, GPT-5.3-Codex, Gemini 3 Pro, Gemini 2.5 Flash, plus OpenRouter routes (Claude Sonnet 5, GPT-5.3-Codex, Gemini 3 Pro, Qwen3 Coder).
- API key validation on save. Each saved key gets a cheap authenticated probe with inline verified / rejected / could-not-verify feedback in both Settings and onboarding. Keys always save first; a failed probe warns and never blocks.
- Provider-aware model routing. Task routing picks sensible heavy/light chains within the active provider. Fable 5 is never auto-selected.
- Automatic settings migration. One-shot migration of Qwen-era configuration: provider and model IDs are remapped and stray keys are hoisted into the Keychain. No manual steps.
- Cognitive memory (Track 1: MemoryAgent). Cross-session memory with relevance x recency x salience ranking, recall within a fixed token budget, and deliberate forgetting of stale context.
- Brain subsystems. Vault, voice, eyes, mind, and daemon fused into the app.
- Richer chat rendering. Task lists, inline code pills, images, H4-H6 headings, improved streaming code blocks, expandable tool timeline with line counts and copy buttons, per-message word count, and copy-as-markdown.
- Keyboard shortcuts, conversation search, collapsible messages, and diff copy.
- Expanded syntax highlighting. SQL, YAML, HTML, CSS, and Dockerfile, plus decorator support.
- Code signing and notarization pipeline.
make sign/make package/make notarizefor signed, notarized distribution builds. - Evaluation harness.
scripts/judge-verify.mjs(chat, multi-turn tool calling, embeddings) andscripts/agent-eval.mjs(4-task agent battery on a real tool loop). - CI hardening. SwiftLint strict configuration; green pipeline across tests, lint, backend tests, and release build. Suite currently at 1,449 tests.
Changed
- Default model is Claude Opus 4.8 (was Qwen Coder Plus).
- API keys live exclusively in the macOS Keychain, one account per provider. Keys are never written to UserDefaults or any config file.
- Agent modes consolidated from seven to three: Plan, Build, Spec.
- The Node.js backend is now an optional stateless proxy; the app calls providers directly by default.
- Anthropic requests pin
anthropic-version: 2023-06-01and omit temperature (Claude 4.7+/5 models reject it). - Themes renamed to neutral names: Snow, Linen, Graphite, Amethyst, Ink.
- Relicensed under MIT.
Fixed
- Anthropic tool arguments now stream.
input_json_deltachunks were dropped, so every Anthropic tool call arrived with empty arguments. - Anthropic multi-turn tool loops no longer 400. System prompts ride the
top-level
systemfield, assistant turns emittool_useblocks, and max-tokens is set per request. - Gemini tool loops work past turn one. Tool results are now sent as
functionResponseparts. - Stop-reason normalization. All providers normalize to the same
tool_calls/stopsignals so the agent loop drives identically everywhere. - Settings key foot-gun removed. The Account tab's "OpenRouter API key" field silently wrote to whichever provider was active; per-provider keys live in the Providers tab.
- Headless test crash and all pre-existing test failures; the suite runs green.
- 48 deployment gaps closed across security, legal, features, backend, and accessibility ahead of distribution.
Removed
- Billing / platform SaaS layer. JWT auth replaced by an optional
APP_API_KEYgate on the proxy. - OpenClaw chat-routing subsystem.
- GRumpServer SaaS target.
- Ollama, on-device CoreML, and model-mode dead code.
- "Local Only Mode" privacy toggle and "Fully Local" badge (they gated nothing).
- Legacy
AIModelenum; the typed model catalog is the single source of truth.
Security
- Shell-injection vectors eliminated — subprocess calls use
Process()argument arrays instead of interpolated shell strings. - MCP hardening: path-traversal protection and authentication on
tools/list. ProviderConfigurationexcludes the API key from serialization, so keys cannot leak into UserDefaults backups.- Key-validation probes send keys in headers only (Google via
x-goog-api-key), never in URLs where they could reach logs.
1.0.0 - 2026-02-24
Initial release: a native macOS/iOS autonomous AI coding agent — chat with streaming responses, 100+ local tools (file, shell, git, Docker, browser, Apple-native), MCP client and server, skills and SOUL.md personality systems, approval-gated autonomous daemon, and dual-mode persistence (SwiftData/JSON).