Unreleased

v0.2.2 - 2026-05-22

Documentation

  • Added README links to current HexDocs pages without pinning a specific version.
  • Published the built-in task guides as HexDocs extras, including quickstart, eval, sessions, subagents, storage, plugins, gateways, and troubleshooting.
  • Tightened README positioning around Vibe's BEAM-native eval, OTP supervision, subagents, remote workflows, and self-customization model.
  • Updated CLI help and built-in docs for background sessions, subagent job inspection, slash-command aliases, eval aliases, and current Codex/OpenAI model examples.
  • Removed the stale subagents planning note now that the implemented APIs are documented.

v0.2.1 - 2026-05-22

Fixes and performance

  • Fixed mix vibe startup stalls caused by stale server metadata, occupied default server nodes, and web endpoint port conflicts.
  • Fixed TUI prompt repaint alignment so typed text, the prompt editor, and the cursor stay in sync.
  • Improved TUI typing responsiveness by reusing cached body rendering for editor-only input.
  • Removed expensive skill scans from normal slash-command autocomplete and cached command/skill autocomplete items.
  • Reduced prompt submit latency by deferring context preparation out of the Enter keypress path.
  • Simplified the Reach CI gate to use strict architecture and smell checks without a separate cycle wrapper script.

Architecture and rendering

  • Tightened Reach architecture policy around storage, event, transport, plugin, CLI, terminal, Markdown, presentation, and UI-state layers.
  • Moved reusable terminal rendering primitives from Vibe.TUI.* to Vibe.Terminal.* and guarded the old namespaces from returning.
  • Guarded generic CLI code from depending on TUI internals while preserving explicit TUI entrypoints and storybook tooling.
  • Added direct tests for extracted helper boundaries and hardened selector replay, picker presentation, CLI rendering, and Markdown fencing.

v0.2.0 - 2026-05-21

Highlights

  • Renamed the project from Exy to Vibe and moved it under the Elixir Vibe organization.
  • Added the default mix vibe interactive TUI and preserved non-interactive CLI flows for print, eval, checks, sessions, and server commands.
  • Added a LiveView web interface for sessions, search, memory, plugins, skills, runtime state, jobs, gateways, settings, and storage.
  • Added a singleton background server model so multiple mix vibe clients can attach to shared server-owned sessions without rebinding the web endpoint.
  • Added persisted session goals with /goal, goal status controls, hidden goal context injection, TUI/web goal visibility, eval helpers, and guarded idle continuation.

TUI and rendering

  • Reworked the TUI around semantic UI state, view models, render trees, partial rendering, and renderer-neutral blocks.
  • Added multiline editor support, autocomplete, selector overlays, confirmation overlays, slash-command pickers, notification blocks, and footer status indicators.
  • Added native terminal scrollback preservation, TerminalPainter diffing, resize handling, OSC 133 zones, OSC 8 hyperlinks, window-title updates, and TUI cast recording.
  • Added semantic tool display documents and dedicated TUI renderers for eval, command, file read/edit, image, web, and patch output.
  • Added Markdown rendering improvements including MDEx streaming, Lumis syntax highlighting, table wrapping, Mermaid rendering through Boxart, and safer iodata-first ANSI handling.
  • Added storybook snapshots and trace/audit tooling for TUI rendering regressions.

Web UI

  • Added Phoenix/LiveView web pages for sessions, runtime, search, memory, jobs, plugins, skills, storage, gateways, and settings.
  • Added web authentication, persisted endpoint secrets, session transcript streaming, semantic web message rendering, structured tool widgets, image previews, artifact routes, and live session list updates.
  • Normalized page layouts and shared web UI primitives across sessions, runtime, gateways, plugins, storage, and skills.
  • Added PhoenixIconify icons and improved code/source panels while reducing decorative icon usage.

Sessions, storage, and memory

  • Moved durable runtime state to SQLite/Ecto schemas and migrations for sessions, UI events, trajectory events, eval state, telemetry, memory, subagent jobs, schedules, imports, and goals.
  • Added persisted UI event replay, session branching, useful session listings, empty-session pruning, and searchable imported transcripts.
  • Added SQLite FTS search and recall context integration.
  • Added scoped memory layers for session eval state, per-agent scratch memory, curated user/global/workspace memory, and memory management APIs.
  • Added local telemetry storage, summaries, system alarm recording, and runtime alert surfacing.

Agent runtime and tools

  • Added stateful Vibe.Eval with persisted bindings/env snapshots, eval aliases (Cmd, MD, Web, Goal, plugin/skill APIs), cancellation, and higher command timeout ceilings.
  • Added supervised command execution with streaming output, full-output logs, and reusable Pi-style tool-output windowing with full-output recovery pointers.
  • Added file read/write/edit tools, AST diff rendering, image prompt attachments, image resizing backends, artifact storage, and direct clipboard-image paste in the TUI composer.
  • Added provider-neutral web fetch/search tools with pipeable helpers for selecting, truncating, filtering, and parsing HTML.
  • Added token-based context compaction and conversation recall.

Plugins, skills, and subagents

  • Added behaviour-based plugin lifecycle hooks, plugin-owned semantic UI widgets/documents, plugin status updates, and plugin command registration.
  • Added built-in rules, safety, notify, question, and WebSearch plugin capabilities.
  • Added executable Elixir skills through Vibe.Skill.Script and generated skill support.
  • Added supervised subagents with child sessions, job storage, schedules, locking, lifecycle UI blocks, and CLI attachment flows.

Gateways and remote access

  • Added generic gateway message/source/media contracts and Telegram gateway support with polling, normalization, topic-aware session keys, diagnostics, status UI, formatting, and gateway actions.
  • Added gateway session bridging so external chat messages can start/attach sessions and receive streamed or final assistant responses.
  • Added remote server/session access through Erlang distribution and a constrained SSH transport, plus known-node and connect commands.
  • Added TLS certificate generation and TLS distribution support for trusted BEAM remotes.

Models and providers

  • Added editable model/provider profiles, model and effort switching, model selector UI, fuzzy model resolution, and OpenRouter passthrough handling.
  • Added OpenCode/Codex auth provider integration and provider-driven auth flows.
  • Added semantic prompt content/image propagation into agent requests.

Quality, performance, and dependencies

  • Added and expanded CI/static analysis coverage with compile warnings, format checks, Credo, Dialyzer, ExDNA, Reach smell checks, and project self-check helpers.
  • Stabilized async, streaming, gateway, eval, TUI, and standalone-runtime tests; optimized fixed waits and long-running fixtures.
  • Improved TUI repaint performance and avoided render starvation under load.
  • Bumped and adopted new dependency features across Req, Finch, Volt, Vize, QuickBEAM, Reach, ex_ast, Ghostty, and PhoenixIconify.
  • Added glob_ex for Volt 0.12 glob invalidation support.

v0.1.0

  • Initial Hex release of the BEAM-native coding agent substrate.
  • Added the early CLI, agent runtime, local session flow, eval/check helpers, prompt handling, and packaging/install documentation.