v2.4

vladmandic/humanv2.4Jul 10, 2026by github-actions[bot]

AI Summary

Crash-safe chat persistence with atomic file writes, circuit breaker for runaway response loops, Gemini CLI support, NVIDIA NIM provider integration, responsive interface controls, multiline terminal command grouping, and improved command management.

Key Highlights

  • Crash-safe chat persistence with atomic file writes
  • Circuit breaker for runaway response loops
  • Gemini CLI support in Orchestrator
  • NVIDIA NIM provider for chat and embeddings
  • Responsive interface control visibility toggles

New Features

  • Crash-safe chat persistence
  • Circuit breaker for runaway response loops
  • Gemini CLI support in Orchestrator
  • NVIDIA NIM provider integration
  • Responsive interface control visibility
  • Multiline terminal command grouping
  • Improved built-in command management
  • Codex CLI refresh during self-update
  • Gemini CLI container setup improvements
  • Preset editor stability after deletion
  • Preset editor refactored into Alpine store
  • OAuth model selection polish
  • Provider-specific kwargs reset on change
  • Extended self-update health timeout
  • Default utility model updated

Full Release Notes

## Release Notes

- **Crash-safe chat persistence** — Serialized chats are now written to a temporary file, fsynced, and atomically swapped into place, so an interrupted save never corrupts existing chat data.

- **Circuit breaker for runaway response loops** — A configurable limit on consecutive malformed or repeated model outputs prevents infinite loops. The threshold is exposed in Agent Settings and a clear stop notice is shown when triggered.

- **Gemini CLI support in Orchestrator** — Gemini CLI is now a registered orchestrator backend with auth detection, headless workflow support, and exposed settings and status metadata.

- **NVIDIA NIM provider** — NVIDIA NIM is available for chat and embedding models via LiteLLM, with hosted model discovery, onboarding integration, and API key configuration.

- **Responsive interface control visibility** — A new Interface settings section provides independent mobile and desktop toggles for the project selector, clock, connection status, and right canvas rail, persisted per instance.

- **Multiline terminal command grouping** — Multiline terminal input is now executed as a single compound command in the current shell, preventing intermediate prompts from completing queued lines early. Bash and PowerShell are both supported.

- **Improved built-in command management** — Bundled slash commands are listed in their own section; editing one creates a same-name project or global override rather than modifying the built-in. The Commands sidebar shortcut and redundant UI elements have been removed.

- **Codex CLI refreshed during self-update** — An existing Codex CLI installation is refreshed after a successful or already-current self-update without making npm failures fatal.

- **Hardened Gemini CLI container setup** — Gemini CLI installation and probing are now separated for better observability, and API key resolution uses Agent Zero secret aliases instead of assuming exported environment variables.

- **Preset editor stability after deletion** — Each preset editor row now carries a stable key so removing a middle row no longer causes Alpine to rebind nested model state to the wrong preset.

- **Preset editor refactored into Alpine store** — Preset drafts and add/remove/save actions are managed through a dedicated Alpine store, keeping the HTML declarative.

- **OAuth model selection polish** — Provider cards and model-slot copy are simplified, model pickers align with the main configuration UI, and a sole connected OAuth provider is only inferred when it would not silently replace a different saved provider.

- **Clear provider-specific kwargs on provider change** — Additional parameters and custom API base are now reset when switching model providers, preventing stale options from leaking across providers.

- **Extended self-update health timeout** — The default update and rollback health-check window is raised from two to three minutes to accommodate slower Docker and virtiofs environments.

- **Updated default utility model** — The global default, Balance preset, and onboarding defaults now use `google/gemini-3.1-flash-lite` on OpenRouter without the preview suffix.