Changelog

What changed in each version of hvf, newest first.

Release notes come straight from the commit messages; the earliest ones are in Spanish.

  1. 0.22.1

    Latest

    Bug Fixes

    • notify: fall back to rename only when hard links are unsupported (b1aedbc)
    • notify: put a damaged notify.json back where hard links are unsupported (b1ed403)
    • sdk: release pipes and escalate to SIGKILL when runToolCapture times out (7c9eef4)
    • sdk: release runToolCapture pipes when the grace period ends (e3bf6ea)
    • sdk: resolve runToolCapture on close so output is never lost (ab18e0d)
    • sdk: stop the runToolCapture timeout once the process has exited (25b76ae)
  2. 0.22.0

    Bug Fixes

    • backup: keep revocations on identity restores and tighten state routes (0e7f984)
    • backup: keep used invitations and enrollment links on identity restores (ce462c4)
    • daemon: address the D4a QA findings (1e7a410)
    • daemon: load the Reflect polyfill before the daemon in the compiled binary (e587716)
    • daemon: require a recent passkey for device tokens and revoke them on recover (f6c95cb)
    • smtp: never reuse the stored password for another server (68161b5)
    • smtp: reject control characters before they reach security -i (9944fd9)

    Features

    • backup: include state.db and the event archive in backups (31785db)
    • daemon: add device tokens for programs and invitation peek (187d4d1)
    • daemon: add the D4a gateway, identity and passkeys (6717349)
    • daemon: run mail-smtp as a plugin worker and apply plugin route roles (d5714be)
    • smtp: add the mail-smtp plugin and hvf smtp for emailed invitations (92acca9)
  3. 0.21.0

    Bug Fixes

    • install: reject credentials in HVF_DOWNLOAD_BASE and pin curl to https (3117b93)
    • install: require https for HVF_DOWNLOAD_BASE and harden SHA256SUMS parsing (4778b98)

    Features

    • install: download from HVF_DOWNLOAD_BASE with sha256 verification (7732707)
  4. 0.20.0

    Bug Fixes

    • daemon: harden the plugin worker boundary and lifecycle (2564745)
    • sdk: decode UTF-8 across pipe reads in the JSON-RPC peer (63336a2)

    Features

    • cli: serve plugin workers and add hvf daemon plugins (9ee2af4)
    • daemon: run plugins in workers (7ee1a3d)
    • plugins: declare plugin manifests and add the hello example (9bf9321)
    • sdk: add JSON-RPC over stdio and the plugin worker runtime (5fe4bb3)
  5. 0.19.0

    Bug Fixes

    • cli: start the on-demand daemon with a filtered environment (5c4499e)
    • cli: stop doubling $ in the systemd unit Environment lines (14c85c4)
    • daemon: check the fallback socket folder before connecting (7e3a796)
    • daemon: create state.db, its sidecars and backups as 0600 (80fad71)
    • daemon: fsync event archives before deleting their rows (3be7fa4)
    • daemon: give WebSocket protocol errors a stable message (6d36bf4)
    • daemon: send reset when the event replay cannot be complete (3a969a2)
    • daemon: treat a start lock whose owner died as abandoned (a735e19)

    Features

    • cli: add hvf daemon and hvf events (b99ef1d)
    • daemon: add the daemon package with state.db, event log and API schemas (0aadb6d)
    • events: show the latest events by default (512d2a1)
    • init: offer to install the daemon as a service (b1f30e3)
  6. 0.18.6

    Bug Fixes

    • cli: restore a set-aside notify.json without overwriting a new one (658dc05)
    • sdk: treat a destroyed or failed stdin as EOF in Interview (9063117)
  7. 0.18.5

    Bug Fixes

    • cli: check that notify.json can be written before asking for any field (b8f1179)
    • cli: resolve relative notify.json links from the real folder (6c20924)
    • cli: write through broken notify.json links and report unwritable folders (af2cc3d)
    • sdk: answer with the default after reset() once stdin has ended (1545741)
  8. 0.18.4

    Bug Fixes

    • accurate import footer from the menu and keep pty summary with large output (e458bb9)
    • cli: keep stdin free for the MCP transport in hvf mcp serve (bae2a82)
    • notify: keep corrupt notify.json, write it 0600 atomically and allow changing the quota watch (784c66b)
    • notify: never replace an unreadable notify.json and keep quota watch values (a2a7c2a)
    • sdk: harden the terminal handoff and make Interview.close() final (0e1243d)
    • tidy minor TUI, import and pty harness findings (447176e)
    • tui: keep hvf alive on Ctrl+C in a child and stop listening to stdin between questions (fb7c8e5)
  9. 0.18.3

    Bug Fixes

    • sdk: keep stdin paused while a child owns the terminal after Ink unmounts (d38441e)
  10. 0.18.2

    Bug Fixes

    • init,import: don't leave half-finished state after an interrupted wizard (57dd363)
    • tests: decode pty output as a stream so split UTF-8 characters still match (c3aef2b)
  11. 0.18.1

    Bug Fixes

    • restore: always remove the extracted backup, and let Ctrl+C leave the welcome screen (48e0791)
    • tui: exit cleanly on a single Ctrl+C instead of leaving a blank screen (12ae736)
    • tui: keep the full-screen view interactive when CI is set (ce5c11e)
    • tui: make Ctrl+C abort a wizard without saving anything (0e23339)
  12. 0.18.0

    Features

    • notify: optional NotifierPlugin.discoverConfig with Telegram chat id detection (77f7312)
    • tui: Notifications screen with masked secrets and chat id auto-detection (aea04e6)
  13. 0.17.0

    Bug Fixes

    • notify: never install a quota watch pointing to a non-executable hvf (aa75c7b)

    Features

    • notify: periodic quota alerts with hvf notify check-quota and a launchd/cron watch (496f2dc)
    • protocol: add an optional stable id to usage windows (bec4430)
  14. 0.16.1

    Bug Fixes

    • bridge: make bridge.db safe under concurrent hvf processes (c4d7e98)
  15. 0.16.0

    Bug Fixes

    • bridge: make hvf __bg-notify idempotent, fixing a duplicate notification (e06f03f)

    Features

    • bridge: chain a tmux pane-died notify hook into background sessions (0c16474)
    • bridge: fire notify on new mailbox messages and finished delegations (6260cf2)
    • cli: add the hidden hvf __bg-notify <id> subcommand (32cf2d6)
    • cli: wire the real notify/hvfBin dependencies into every bridge entry point (bd9ffb8)
  16. 0.15.0

    Bug Fixes

    • cli: escape literal <channel> tag in core.notify.usage (4042af9)
    • cli: warn about plaintext token before hvf notify telegram setup (39c0772)
    • tests: detect OS explicitly for file permission checks (c0db8df)

    Features

    • cli: add hvf notify status|enable|disable|test and telegram setup (7f680a4)
    • notify-telegram: add the Telegram NotifierPlugin channel (d01639e)
    • protocol,cli: add NotifierPlugin architecture and notify.json (251586a)
  17. 0.14.1

    Bug Fixes

    • cli: move content reshare's .bak outside the scanned content dir (064fc0a)
  18. 0.14.0

    Bug Fixes

    • cli: relink existing profiles right after skill/command add (ca31859)

    Features

    • cli: add hvf content unshare/reshare for per-profile content exceptions (7153733)
    • cli: add ProfileContentConfig for per-item content exceptions (6f5af15)
    • cli: link shared content dirs per item instead of per whole folder (520352c)
  19. 0.13.0

    Features

    • cli: add the seven brain/backup MCP tools (Entregable 3 de 3) (3563dd4)
  20. 0.12.1

    Bug Fixes

    • tui: add real scroll to ContentScreen's detail level (748f59a)
    • tui: replay keystrokes dropped in the gap between screen mounts (75bd749)
    • tui: select Quit with the cursor and Enter in the menu (59b407b)
    • tui: stop the command bar hanging on a pasted slug+Enter too (d09a820)
    • tui: stop wizard/rename text questions hanging on a pasted answer+Enter (d70561f)
  21. 0.12.0

    Features

    • cli: add the nine shared-content MCP tools (skill/command/plugin) (de10f78)
  22. 0.11.0

    Features

    • bridge: add registerExtraTools extension point and mcp_actions audit table (6408a88)
    • cli: add the five profile MCP tools (profile_add/rename/remove/default_get/default_set) (77ea313)
  23. 0.10.0

    Bug Fixes

    • bridge: correct the detach hint to lowercase Ctrl+B d (0d5d3d9)
    • sdk: pause stdin before handing the terminal to a child process (690b818)

    Features

    • bridge: add bg_start, bg_list, bg_attach and bg_stop MCP tools (5943340)
    • bridge: track and manage background profile sessions over tmux (f0a434d)
    • cli: add hvf bg start|list|attach|stop for background profiles (01f1f3f)
    • install: warn when tmux is missing (needed for hvf bg) (e6f0f8d)
    • sdk: add runCommandInteractive for external interactive programs (3af5a3b)
    • tui: add Background profiles screen to the interactive menu (3374889)
  24. 0.9.0

    Features

    • cli: return to the menu when a profile launched with hvf run exits (a2a2fb0)
  25. 0.8.0

    Features

    • tui: visible menu shortcuts and an inline / command bar (14b76fd)
  26. 0.7.0

    Features

    • tui: generalize scroll to menu, wizard, usage and brain screens (2351219)
  27. 0.6.0

    Bug Fixes

    • ci: install Bun in the release job before semantic-release runs (9007bde)
    • claude: tag session hooks explicitly so any hook can be removed (2651803)
    • hvf: arregla el intermitente de test_usage_codex_from_latest_session (d274d3b)
    • hvf: CI de Linux — nombres de miembro del .tar y gh real en install (1b0010c)
    • hvf: evita que una pantalla de Ink se cierre sola justo tras ctx.io.reset() (86f864d)
    • hvf: install.sh usa gh para descargar la release (el repo es privado) (84cd872)
    • hvf: path_without_real_gh oculta gh en TODAS sus ubicaciones del PATH (1dc5f3c)
    • hvf: quitar el logotipo ASCII de la cabecera de la vista "Perfiles" (db70a3f)
    • hvf: tolera miembros de .tar con o sin './' y gh real en el PATH de tests (e097f68)
    • hvf: vista "Perfiles" de Ink — columna de cuenta sin desbordar y pantalla alternativa de verdad (588d3ca)
    • tui: "Ver skills, comandos y plugins" abre su propia pantalla de Ink (9b14e4b)
    • tui: catch AsyncScreen load() failures instead of crashing (8346c78)
    • tui: CONTENT_CHROME_ROWS seguía calibrado para la cabecera de 4 filas (e2b9304)
    • tui: hvf usage monta la pantalla alternativa antes de pedir la cuota (702281f)
    • tui: keep the cursor visible when the content screen shrinks (2fa7208)
    • tui: keep the source profile selected after rename conflicts (f18716c)
    • tui: la cabecera y el pie nunca se encogen por debajo de su tamaño natural (56dd9e8)
    • tui: preserve profile navigation and refresh state (02c74fc)

    Features

    • bridge: add the mailbox between profiles (phase B2) (e6187c8)
    • bridge: nuevo plugin @hivefold/plugin-bridge (Fase B1) (4bb0e60)
    • claude,codex: implementa registerMcpServer y runHeadless (Fase B1) (266d1d7)
    • cli: hvf mcp serve|install|uninstall (Fase B1) (2508dbf)
    • cli: hvf skill/command remove y hvf claude plugin remove (879ebbb)
    • cli: say when aliases changed, and make reloading them exact (b1180b0)
    • hvf: "volver al menú" al invocar list/usage/brain status directamente (415d623)
    • hvf: el menú interactivo pasa a Ink en pantalla alternativa (06f0391)
    • hvf: rediseño de UX del CLI — caja, menú agrupado, navegación con flechas (5a1c17c)
    • hvf: vista "Cerebro" de Ink para hvf brain status (3cd0310)
    • hvf: vista "Perfiles" de hvf list en Ink, pantalla completa (77190d7)
    • hvf: vista "Perfiles" de Ink — cabecera con logotipo ASCII (2465a75)
    • hvf: vista "Uso y cuota" de Ink para hvf usage (06a8db2)
    • release: versiona hvf automáticamente con semantic-release (be384b7)
    • sdk: extiende ProviderPlugin para la delegación headless de bridge (Fase B1) (047f99e)
    • sdk: separa el cálculo de la barra de cuota de su pintado (b267678)
    • tui: "Ver skills, comandos y plugins" navegable con scroll, detalle y acciones (fd883b5)
    • tui: add navigable profile details and rename (da23901)
    • tui: envuelve el menú y la invocación directa con runWizard (Etapa 4) (105db84)
    • tui: envuelve remove/backups/plugin y mcp install|uninstall en su wizard (7be1674)
    • tui: logotipo ASCII compacto en la cabecera de siempre (3648dd4)
    • tui: mecanismo WizardController/WizardScreen/runWizard + Ctx.suspendTui (Etapa 4) (6e96673)
    • tui: pantalla de bienvenida con el logotipo grande en el primer arranque (fa3e1b0)
    • tui: run a single Ink app per interactive session (no more flicker) (44ead54)
    • tui: single Ink app per interactive session (router) (e360824)
  28. 0.5.0

    Primera release del binario de hvf en TypeScript (fases A0–A4 de docs/plan-hvf-typescript.md): monorepo con arquitectura de plugins, i18n (es/en), paridad completa de comandos con el antiguo script de Bash (conservado en la etiqueta bash-final). install.sh descarga el binario de esta release según tu plataforma.