Changelog
Release notes for HOOX packages (CLI and related).
This page
Manuals
All notable changes to HOOX (hoox-sh/hoox) are documented here.
Format follows Keep a Changelog; versions follow Semantic Versioning.
VERSION is the single source of truth for the monorepo. packages/cli ships on
the v* tags; packages/shared ships on its own shared-v* tags because it is a
published dependency of the CLI and the TUI.
[Unreleased]
[0.19.1] - 2026-11-04
Mechanical, terminal-native CLI pass: static chrome, no background fills, and a foreground-adaptive dotted mark.
Changed
- Removed the animated banner (assemble/pulse) — the CLI banner is static on every path.
- Replaced the travelling rule marker, shimmer text, and breathing/cycling dots with a static
Ruleand fixed-colorMechanicalSpinner. - Launcher, sidebar, status bar and restore screen no longer paint background fills; the terminal background shows through.
HooxMarkand theHO/OXwordmark inherit the terminal foreground and use a one-shot dim → normal reveal, so they work in light and dark terminals.- Launcher uses numbered sections, uppercase labels, hairline rules and static status glyphs.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.19.1 |
@hoox-sh/hoox-tui | 0.6.1 |
@hoox-sh/hoox-shared | 1.7.0 |
[0.19.0] - 2026-11-04
Frameless OpenTUI shell and compact CLI start screen: the official HOOX mark rendered as a braille dot matrix, Grok-style motion, and a tighter left-rail layout.
Added
- Dotted HOOX mark (
HooxMark) rasterised from the production SVG into braille cells atxs/sm/mdsizes, with an optional colour-wave animation. - Motion kit (
OrbitSpinner,ShimmerText,AnimatedRule,BreatheGlyph) for orbit spinners, shimmering labels, travelling dividers and breathing status dots; all animations freeze under the test renderer. - Launcher layout: dotted logo rail, top status line, contextual group menu (active group pinned), filterable command content, and a commands/legend footer with the selected command preview.
- Frameless sidebar and status bar in the operations center, with the animated HOOX mark anchoring the left rail.
Changed
hooxstart screen footer grows to 12 rows and adapts down to 40 columns;q quitremains visible on narrow terminals.hoox tuishell drops card/border chrome; the restore screen now uses the dotted mark and shimmer text.@hoox-sh/hoox-tuibumped to 0.6.0 (new visual surface).
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.19.0 |
@hoox-sh/hoox-tui | 0.6.0 |
@hoox-sh/hoox-shared | 1.7.0 |
[0.18.0] - 2026-11-03
CLI deep plumbing for optional satellites and mesh secrets: auto-clone empty worker trees, consistent ensure on deploy/dev/test/repair/update, safer secrets sync/delete/keys generate, and aligned telegram/dashboard mesh maps.
Fixed
- Named and all-worker
secretsflows clone empty checkouts (git submodule add -f);--system/repair secretsinclude workers with emptysecrets: []. deploy/dev/test/repair/updateworker always runloadWorkerOrWireagainst the workspacewrangler.jsonc.secrets deleteconfirms wrangler withy\n;keys generateprints redacted names only.wireCallerBindingsmaterializeswrangler.jsoncfrom.exampleinstead of mutating tracked examples.- Mesh maps: telegram
TELEGRAM_INTERNAL_KEY_BINDING; Jupiter placeholders skipped on DEX push.
Changed
.gitignoreun-ignores optional satellitesworkers/pyne-workerandworkers/pyne-agent-worker;pyne-agent-workerregistered as a submodule.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.18.0 |
@hoox-sh/hoox-tui | 0.5.0 |
@hoox-sh/hoox-shared | 1.7.0 |
0.17.0 - 2026-11-02
CLI schema upgrade for optional PYNE satellites, plus a visual CLI/TUI pass: compact OpenTUI launcher, grouped help, and the hoox.sh Signal / Volt / Void color packs.
Added
- Worker catalog tiers:
core,optional(pyne-worker,pyne-agent-worker),planned(pynets-worker, formerlypine-worker). - Enable/secrets/clone/deploy/dev/test/repair prompt to seed
wrangler.jsonc, clone the submodule, and wire caller bindings (dashboard.PYNE_AGENT_SERVICE).--yesskips the prompt. hooxwith no args opens a compact OpenTUI start intro (split-footer). Type to filter, Enter runs,qquits. Falls back to Clack when the TUI package is missing. Non-TTY prints grouped help.hoox config theme(signal|volt|void). Default Signal (HOOX orange#F38020). Volt is PYNE lime; Void is AXIS indigo.--themeandHOOX_THEMEoverride.- CLI microfeedback: themed spinner,
█░progress, pulse frames, step glyphs. TUI Settings COLOR selector, pulse/progress chrome, setup-wizard bar.
Changed
- Root
hoox --helpis a grouped one-line catalog (.summary()), not a dump of nested EXAMPLES/SUBCOMMANDS. - Shared color table is live (
setActiveTheme); TUI Settings no longer coerces everything to dark-only.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.17.0 |
@hoox-sh/hoox-tui | 0.5.0 |
@hoox-sh/hoox-shared | 1.7.0 |
0.16.0 - 2026-10-25
Minor: package audit of shared, cli, and tui — correctness, fail-closed setup, JSON-safe CLI output, and TUI Settings that actually drive the shell.
Added
- Shared
VIEW_IDStuple is the single source for TUI view identifiers. Session restore, Settings, and the TUI registry consume it. - Session restore returns
fromDisk. A missing file opens SettingsdefaultViewinstead of always dashboard. - CLI
createCliSpinner:--json/--quietnever mix clack ANSI with machine stdout. Human non-TTY still printsstop()lines.
Changed
- Wrangler 4.152.0 across the monorepo and worker submodules (
workerd1.20261019.1). Source maps upload on deploy by default from 4.150.0. - Regenerated
worker-configuration.d.tsin every TypeScript isolate (bun run types:workers). - Dependency refresh: eslint 10.13, prettier 3.9.10, bun-types 1.4.4, Next.js 16.4,
@opennextjs/cloudflare1.20. CI Bun pin is 1.4.3. - Wizard LLM secrets are
OPENAI_API_KEY/ANTHROPIC_API_KEY/GOOGLE_API_KEY.buildConfigenables only selected base workers. Vectorize index ismy-rag-index. hoox monitor kill-switchreads and writes bothtrade:kill_switchandglobal:kill_switch.--jsonemits{ engaged, keys }.- TUI queue, KV, secrets, dashboard kill-switch, PYNE health, and model health poll on Settings
refreshIntervalMs. - GitHub Releases use the matching
CHANGELOG.mdsection (scripts/changelog-notes.ts). Auto-generated commit lists are off.
Fixed
- Keep
@cloudflare/workers-typeson5.20261001.1(bun-typesExecutionContextclash on newer 5.20261025.1). - Queue handler: Cloudflare®
attemptsis 1-based; retry index isdelivery-1. Successful handlers and DLQ pathsack()so messages are not redelivered. Hook throws are isolated. - SSE: AbortController cancel, clean EOF reconnects,
data:lines with an optional space. - JSONC parse reports errors; wrangler
queuesis one object; producer binding isTRADE_QUEUE. writeConfigSyncrethrows I/O errors.hooxDir()/configPath()honorHOOX_HOME.isInsideDirtreats a trailing separator as inside.- Analytics skip without
INTERNAL_KEY_BINDING. Rate-limitcheckKeyis windowed. Exchange GET sends the query string. wrangler rollback [version-id] --name --yes(Wrangler 4.120+). WAF uses Rulesets (http_request_firewall_custom,http_ratelimit) plussecurity_level.ensureD1Databasefails closed. Check tables, repair rebuild, init deploy, andhoox tuichild exit report failure when the process fails.createDevVarswrites only matching integration secrets.config env --jsonredacts secret values. Placeholder detection is one helper.secretDeletefalls back to--namewhen the worker wrangler path is missing.- TUI
configKvGetunwraps{key,value}. Kill-switch display usesisTruthyKillSwitchFlag. Worker-settings hard-fails a badagent:configget. Service Manager ignores ctrl/alt/meta. Settings Check Setup is a prop, notglobalThis.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.16.0 |
@hoox-sh/hoox-tui | 0.4.0 |
@hoox-sh/hoox-shared | 1.6.0 |
0.15.0 - 2026-10-25
Minor: a stdio MCP server over the hoox CLI, and JSON output for deploy task lists.
Added
- Hoox MCP server (
packages/mcp, private, not published). One MCP tool per runnablehooxcommand, generated from the live Commander tree, plushoox_catalog,hoox_describe,hoox_plan,hoox_snapshot, andhoox_advise. Mutating calls return a confirm token and do not run until that token is presented. Secrets go to stdin and are redacted in results.bun run mcpstarts it. Grok loads.grok/config.toml. The OpenCode template isopencode.jsonc.example(opencode.jsoncstays local). - Operator page:
docs/devops/mcp.
Changed
hoox deploy all --json, and otherrunRichTaskscallers that do not print their own summary, write the task-result array.--quietstill prints nothing.
Fixed
- npm no longer refuses to run in this repo (
EOVERRIDE). The rootpackage.jsondeclared@cloudflare/workers-typesas a devDependency at^5.20261001.1whileoverridespinned it to^5.20260708.1. npm rejects an override that contradicts a direct dependency, which leftnpm packandnpm installboth dead. Removed the override; the single-version guarantee it existed to provide is already enforced by all 14package.jsonfiles specifying the identical range. The@radix-ui/react-slotoverride is untouched — it is a transitive pin with no direct dependency to conflict with. - Removed
brand/email-signatures. Unreferenced HTML email signature blocks. Nothing in source, docs, tests, or build referenced the path, so they were dead weight in the published npm tarball. The rest ofbrand/(fonts, png, svg, generators) is untouched.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.15.0 |
@hoox-sh/hoox-tui | 0.3.2 |
@hoox-sh/hoox-shared | 1.5.0 |
Risk note. The MCP server can run mutating hoox commands after a confirm token.
HOOX_MCP_ALLOW_MUTATIONSstays off unless a trusted local process sets it.
0.14.0 - 2026-10-13
Minor: DEX spot execution, opt-in tenant isolation across the mesh, and a first pass at entitlement scopes.
Added
- DEX spot execution (P1):
trade-workerroutes DEX spot orders alongside CEX, andweb3-wallet-workersigns Uniswap V3 (Ethereum/Arbitrum) and Jupiter Swap V2 (Solana) transactions. Private keys and mnemonics stay in the Cloudflare® Secrets Store and never enter a Worker's public surface. - Gateway
/walletproxy:hoox-workerproxies wallet traffic toweb3-wallet-workerwith idempotency and an explicit gas policy. Routing now resolves/walletbefore the gateway catch-all (P0 fix — the catch-all was swallowing it). - CLI auto-provisioning for the DEX path:
hoox onboardnow provisions the DEX mesh key, Solana seed, and RPC defaults, and seeds the dashboard settings prefixes so a fresh install wires the wallet isolate without hand-editing config. - Opt-in tenant isolation across the mesh:
packages/sharedexports aTenantEnv/TenantScopehelper and payload attribution. When enabled, the gateway forwards tenant context totrade-workerandagent-worker,d1-workerisolates rows bytenant_id(schema migration included), andagent-workerisolates routine keys. Off by default — existing single-tenant installs are unaffected. - Entitlement scopes:
EntitlementScope/EntitledContexttypes plushasScope()andverifyCacheKey()inpackages/shared, including theaxis:runscope. Types and bearer classification only — no enforcement yet, so no existing request changes behaviour. - OKF bundle: an Open Knowledge Format cache of the repo is compiled on every
commit, with
hoox okf:query/okf:context/okf:lintfor agent context.
Changed
- Dependency refresh:
wrangler4.145.0 across the mesh, plus thetrade-workerDEX wiring fix that came with it. - The unit suite is green end to end: 5,173 tests, exit 0
(
test(all): make the full unit suite green). Coverage for the CLI provisioner/secrets paths reached 100% lines. - CI: Codecov uploads split per flag (the per-suite
lcovfiles were being overwritten by Bun's--coverage-dirdefault), action bumped to v7,@clack/promptspinned to 1.3.0, Bun pinned to 1.4.0, andshareddist is built before the workspace typecheck. - Docs: real badges and stack cross-links in the README, a unified stack footer, and corrections to the mesh ports, email ingress, and DEX spot guides.
- CLI audit pass — update plan, worker validation, env quoting, parallel checks.
Fixed
/walletis routed before the gateway catch-all (P0).hoox-workerP0/P1 audit fixes;web3-wallet-workerbumped accordingly.- Entitlement hook note placement;
axis:runscope added. - README Bun badge and CLI table.
Packages
| Package | Version |
|---|---|
@hoox-sh/hoox-cli | 0.14.0 |
@hoox-sh/hoox-tui | 0.3.2 |
@hoox-sh/hoox-shared | 1.5.0 |
Risk note. DEX signing is new surface on a mesh that previously held only CEX credentials. Review gas policy and idempotency before pointing it at funds, and keep
agent-workerrisk controls enabled.
[0.13.1] - 2026-09-05
Previous release. See the GitHub release history for the 0.13.x line.