Releases: UnlikeOtherAI/steroids-cli
Releases · UnlikeOtherAI/steroids-cli
v0.18.3
What changed
- Added a project recovery panel in the WebUI with last-active-task context and whole-project reset access.
- Fixed stale invocation liveness so ghost
runningrows no longer appear as live work in task detail and project recovery views. - Reload self-heal now reconciles orphaned runtime state, including stale
task_invocationsand orphaned task locks. - Hardened task/project reset flows so orphaned
in_progresswork is reset safely and stale invocations are closed. - Prevented runtime cleanup from over-releasing a live runner that is between tasks.
Verification
pnpm buildpnpm --dir WebUI buildnpm audit --audit-level=high(root and WebUI; moderate-only advisories remain)- Focused Jest/Vitest recovery and WebUI reset suites passed
Compare
v0.18.2
Steroids CLI v0.18.2
Changes:
- add explicit dashboard-triggered reload self-heal for stale runners and orphaned tasks
- share abandoned-runner detection and cleanup between wakeup maintenance and reload recovery
- surface unresolved global stale runner rows in monitor scanning
- add unit and mock-style integration coverage for recovery and orphan detection
- document the new monitor/recovery test policy in AGENTS.md and CLAUDE.md
Compare: v0.18.1...v0.18.2
v0.18.1
Release highlights:
- Fixes the dashboard preview host policy so remote hostnames and LAN URLs no longer get blocked by Vite preview.
- Makes
steroids weblaunch preview with explicit--host 0.0.0.0 --strictPortargs so the bind/port behavior matches the intended runtime contract. - Adds focused tests for the WebUI host policy and the CLI preview launch args.
Bug fixes:
http://dictator.local:3500and equivalent remote HTTP hostnames now serve the dashboard instead of returningBlocked request. This host is not allowed.
Compare: v0.18.0...v0.18.1
v0.18.0
Release highlights:
- Hardens approval completion effects and related orchestrator/runtime cleanup paths.
- Adds the scripted integration pipeline harness for adversarial multi-scenario verification.
- Introduces canonical monitor response modes across CLI, API, WebUI, and monitor runtime behavior.
- Fixes monitor redispatch typing in the WebUI detail page and adds focused regression coverage.
- Pins vulnerable dependency paths to clear high/critical npm audit findings before publish.
Bug fixes:
- Aligns merge/pause/approval transitions with the shared runtime contract.
- Prevents false-success monitor dispatch states when responder entrypoints are unavailable.
- Enforces canonical monitor-only, triage-only, and fix-and-monitor mode restrictions in host logic.
Compare: v0.17.1...v0.18.0
v0.17.1
Custom Endpoints page fixes:
- Fix duplicate form rendering when adding first endpoint
- Fix Codex CLI warning positioning (hidden unless Codex selected)
- Fix Base URL validation (http/https only)
- Fix Test button (server-side proxy, CORS-free)
- Fix 401 showing as green success (now shows red error + raw response body)
- Fix saving endpoint wiping AI orchestrator/coder/reviewer config (deep-merge)
- Fix /v1/messages test payload (empty messages rejected)
v0.17.0
v0.16.3
Fixes
- fix: durability push skipped on fresh pool slots —
prepareForTaskwritestask_branchto the DB but never updates the in-memory slot object. On a task's first run (fresh slot),slot.task_branchwas null, so the push to origin was silently skipped. The commit only existed in the pool slot's local object store. If that slot was then claimed by another iteration (e.g. a concurrent merge), the reviewer would create a new slot, fetch from origin, find nothing, and triggerall_submissions_unreachableon every first-run task.
Compare: v0.16.2...v0.16.3
v0.16.2 — Fix reviewer death loop (signal parser + orchestrator timeout)
Fixes
- Root cause: signal parser missed code-fenced decisions — HF models naturally wrap
DECISION: APPROVEinside code fences. The parser skipped fenced blocks entirely, making every approval invisible. Now prefers unfenced signals but falls back to fenced signals. This eliminates the orchestrator LLM call for the common case. - Orchestrator timeout 30s → 180s — Claude CLI takes ~31s just to init (hooks, 53 tools, MCP servers) before making any API call. 30s killed the process during startup every time.
- Log actual error on multi-reviewer degradation — partial reviewer failures now include the error message, not just the provider name.
steroids ai testrecognizes HF proxy models — org/name models no longer show "Model not valid".
Full Changelog: v0.16.1...v0.16.2
v0.16.1 — HF proxy fixes + Mistral model dedup
Fixes
- HF proxy streaming: Fixed
upstream.json()crash when Claude CLI sendsstream=true— now always calls HF non-streaming and emits Anthropic SSE format - Claude CLI model validation bypass: CLI rejects
org/namemodel IDs locally before any API call. Fixed by encoding the real HF model in the proxy URL path and passing a valid Claude placeholder to the CLI - Content blocks: Claude CLI sends
systemas array of content blocks (cache_control format) — proxy now flattens them properly withblocksToString() - Multi-turn tool conversations:
tool_use/tool_resultblocks were dropped by the proxy's Anthropic→OpenAI conversion, breaking agentic reviewer sessions - Mistral model dedup:
devstral-latestwas incorrectly filtered out because it shared an underlying model name withdevstral-medium-latest— now keeps all-latestaliases
Docs
- Added "Testing AI Provider Configuration" section to AGENTS.md documenting
steroids ai test/models/providers/proxycommands
Full Changelog: v0.16.0...v0.16.1
v0.16.0 — tasks/sections delete command
What's new
steroids tasks delete <id|title>— permanently delete a task (resolves by ID prefix or title). Use--forceto delete tasks that are currently in progress;--dry-runto preview.steroids sections delete <id>— permanently delete a section and optionally all its tasks. Use--forceto cascade-delete tasks;--dry-runto show what would be removed.
Both commands perform atomic, fully-cascaded deletes: dependent rows (locks, invocations, disputes, audit logs, dependencies) are cleaned up in a single transaction.
Compare
Full diff: v0.15.10...v0.16.0