Farming 2.2.6
Farming v2.2.6
This release advances Farming from a single workspace view into a more complete multi-Agent development environment. It strengthens the Farming Code review and file workflows, adds an independent live Farming CRT skin over the same backend sessions, expands Coding Agent runtime support, and hardens session recovery, updates, packaging, and release verification.
Highlights
- Two live UI skins over one runtime: Farming Code remains the default at
/code/, while/crt/provides a keyboard-first multi-terminal view. Both skins observe and control the same backend Agents without duplicating processes. - Farming CRT is now a complete working surface: it includes live terminal previews, xterm sessions, New Agent, recent workspaces, History, keyboard navigation, unread state, configurable terminal text size, CRT effects, and a return path to Farming Code.
- File workflows are substantially deeper, with a first-class Review surface: Project Files, Changes, Open Editors, search, preview, diff, and blame are product workflows; the standalone
/reviewroute now provides immutable comparisons, inline comments, reviewed state, preferences, patchsets, and ACP historical-change capture. - Agent runtimes are broader and more truthful: Codex, Claude Code, OpenCode, Qoder, Qwen Code, Aider, GitHub Copilot CLI, Amazon Q, bash, and zsh use provider-aware launch behavior, environment isolation, and stable metadata where supported.
- Codex runtime selection is explicit: the normal CLI path remains the default, while the experimental App Server path is isolated per Agent Home and covered by transcript, request, permission, and recovery checks.
- Structured Chat now uses ACP: Codex, Claude Code, OpenCode, and Qoder can switch between Chat and Terminal while preserving the provider session, with native permissions, session controls, image prompts, queued follow-ups, embedded interactive terminals, and independently controllable child sessions.
- Sessions survive frontend and server churn more reliably: native PTY hosting, persisted Farming session ids, provider-session correlation, terminal screen restoration, and reconnect behavior were hardened.
- Install and update paths are release-aware: npm installs can use the in-app updater, source checkouts remain Git-based, and standalone CLI/app bundles carry checksums and manifests.
- Mobile and terminal interaction received a broad pass: compact workspace layouts, composer behavior, terminal sizing/input, Chinese IME, links, share QR, and narrow-screen file/review flows were tightened.
Farming CRT
- Added an independent CRT entry with a cool-retro-terminal-inspired monochrome green visual system, mixed-language readable terminal fonts, lightweight scan effects, and GPU-friendly static texture layers.
- Added keyboard-first dashboard, New Agent, Settings, and History flows, including boundary wrapping on the dashboard and New Agent chooser.
- New Agents become the active keyboard selection after the backend confirms creation.
- Added adaptive History pagination, provider names, supported-Coding-Agent filtering, restore/resume/open actions, and stable reverse-video selection.
- Added configurable opened-terminal text size from 10 to 20 px with immediate persistence.
- Added live ANSI-colored terminal previews, working-state blink, unread framing, stable card sizing, optional Dynamic Heat, and richer project/task titles.
- Standardized opened sessions on xterm.js; Ghostty Web remains an explicit debug override.
- Added Farming Code as a UI Theme destination so users can return without changing backend sessions.
- Added ACP Chat controls, queued follow-up messages, native image prompts, runtime switching with
Alt+M, and reliable Composer focus recovery after interruption. - Expanded Billing into token telemetry rather than monetary invoicing: a logarithmic 120-day chart and 52-week activity strip show cache and non-cache usage, while a selected day reveals hourly activity and provider attribution without rescanning provider history.
- Stabilized the dashboard as reserved
2 x 2,3 x 2, and3 x 3Agent bays, refreshed available Agent choices when New Agent opens, clarified terminal close shortcuts, and added a dedicated Farming CRT browser icon.
Farming Code, Review, and Files
- Expanded project-scoped Files with search, Changes, Open Editors, text editing, Markdown preview, diff, blame, create/rename/delete/move, and bounded watching.
- Promoted Review from a demo route to the standalone
/reviewproduct surface, with immutable revisions, file lists, patchsets, inline comments, reviewed state, preferences, snapshots, and isolated lazy-loaded styling. Review diffs include character-level ranges, missing-final-newline notices, incremental context expansion above, below, or across a complete gap, and exact historical ACP patch capture. - Improved workspace navigation, recent workspaces, path suggestions, project naming, file reveal, sticky context, and mobile sidebar behavior. Delayed reveal and focus work now respects a directory the user just closed and does not steal focus back from a file context menu.
- Improved agent hover details, launch icons, dark/light icon variants, provider grouping, shell labeling, and runtime/profile controls.
- Tightened Codex transcript sanitization, App Server message handling, goal controls, permission switching, and terminal/chat fallback behavior. ACP Chat now reads revision-based transcript deltas, presents progress updates and grouped actions as a compact timeline, renders client terminals through embedded xterm sessions, supports child-session preview/stop and child elicitation, loads large tool details on demand, and preserves explicit interruption state.
- Added cursor-based Agent session pagination, server-backed title/project search across provider history, an in-page History filter, a shared 15-second search timeout, and stable inline file rename focus and basename selection.
Runtime and Reliability
- Moved interactive Agent ownership to the native PTY host by default, with restart recovery and idle cleanup outside the Farming server process.
- Added stable
fsess_*Farming session ids and separated runtime ids from provider correlation fields. - Hardened shell environment resolution, login-shell profiles, prompt ownership, OSC busy/cwd markers, terminal status, resizing, screen replay, cursor isolation, and link handling. New Agent discovery and launch now use the latest login-shell
PATH, and terminal replay preserves hidden-cursor state used by TUIs. - Restricted run History to explicitly supported Coding Agents; bash, zsh, and unknown commands do not enter the archive.
- Added Agent Home metadata and per-Agent Codex App Server runtime isolation.
- Runtime switches are rejected while an Agent turn is active; if the target runtime cannot start, Farming restores the original runtime and provider session before reporting the failure.
- Improved update rollback, install-type detection, release manifests, checksums, package validation, and Linux compatibility packaging.
Release and Compatibility Notes
- Package version, lockfile version, release notes, and Git tag must all remain
2.2.6/v2.2.6. - Existing
~/.farming/.session-token, settings, sessions, and history are reused and normalized automatically; no manual migration is expected. - Standard app bundles use the target system's Node.js and native runtime. The separate Linux x64 legacy bundle includes a pinned glibc 2.28 runtime and activates it only when the host glibc is older than 2.28; Node.js 22 is still required.
- macOS CLI artifacts are ad-hoc signed, not Developer ID signed or notarized. Some systems may require a one-time manual allow action.
- GitHub Release notes for this version come from this file.
Install / Upgrade
Install from npm:
npm install -g farming-code@2.2.6
farmingOr download the matching GitHub Release asset:
| Platform | CLI | App bundle |
|---|---|---|
| macOS Apple Silicon | farming_2.2.6_darwin_arm64 |
farming-2.2.6-darwin-arm64.tar.gz |
| macOS Intel | farming_2.2.6_darwin_amd64 |
farming-2.2.6-darwin-x64.tar.gz |
| Linux x64 | farming_2.2.6_linux_amd64 |
farming-2.2.6-linux-x64.tar.gz |
| Legacy Linux x64 (glibc < 2.28) | — | farming-2.2.6-linux-x64-legacy-glibc228.tar.gz |
| Linux ARM64 | farming_2.2.6_linux_arm64 |
— |
Use farming_2.2.6_checksums.txt and manifest.json to verify downloaded assets.