v0.6.0

RightNow-AI/openfangv0.6.0Apr 19, 2026by jaberjaber23

AI Summary

Major release introducing three Hermes-inspired capabilities: multi-destination cron delivery, skill config injection via frontmatter, and a unified slash command registry.

Key Highlights

  • Cron jobs can now fan out to multiple targets including channels, webhooks, local files, and email.
  • Skills are now templates with configurable vars in `SKILL.md` frontmatter.
  • Unified slash command registry provides a single source of truth for all 32 commands.
  • New API endpoints added for schedules, skills, and command management.

New Features

  • Multi-destination cron delivery
  • Skill config injection
  • Unified slash command registry
  • Atomic config.toml writer

Full Release Notes

Three Hermes-inspired capabilities ported to OpenFang's Rust architecture. Each wired end-to-end: backend + API + dashboard + (where applicable) TUI. **51 new tests, zero clippy warnings, zero regressions** across 2460+ workspace tests.

## Features

### Multi-destination cron delivery
Cron jobs fan out results to multiple targets in one declaration:
- **Channel** — any of the 40 existing channel adapters (Telegram, Slack, Discord, WhatsApp, Matrix, Teams, …)
- **Webhook** — POST JSON `{job, output, timestamp}` with optional `Authorization` header
- **LocalFile** — path + append/overwrite flag
- **Email** — with subject template support

Per-target failures log but never abort the job. Edit targets through the Scheduler dashboard page or the new `PUT /api/schedules/{id}` endpoint.

### Skill config injection
Skills are now templates. Declare config vars in `SKILL.md` frontmatter:

```yaml
config:
  github_token:
    description: GitHub personal access token
    env: GITHUB_TOKEN
    required: true
  default_branch:
    description: Default branch name
    default: main
    required: false
```

Resolver order per var: user `config.toml` → env var → default → error if required missing. Secrets auto-redacted in the rendered skill prompt (`*_token`, `*_key`, `*_secret`, `password`). Manage through the new Skills page Configure modal, or `[skills.<name>]` in `config.toml`.

### Unified slash command registry
All 32 slash commands live in one source of truth with categories, aliases, and per-surface filtering (CLI / Channel / Web). Auto-generated help, autocomplete, and the new `GET /api/commands` endpoint for dashboard consumption. Prevents command drift across CLI, web chat, Telegram, Slack, Discord, and 37 other channels.

## API additions

- `GET /api/commands?surface=web|cli|channel|all`
- `GET/POST/PUT /api/schedules` now round-trip `delivery_targets`
- `GET /api/schedules/{id}/delivery-log`
- `GET /api/skills/{id}/config`
- `PUT /api/skills/{id}/config`
- `DELETE /api/skills/{id}/config/{var_name}`

## Improvements

- Atomic `config.toml` writer (tempfile + rename) prevents corruption on crash
- Kernel `skill_config_overrides` enables live config updates without restart
- Fixed 4 pre-existing clippy warnings (`manual_contains`)
- Tauri desktop config bumped so `.dmg` / `.msi` filenames now match the release version (no more `OpenFang_0.5.9_…` on a 0.6.0 release)

## Testing

- 51 new tests (cron_delivery 16, commands 18, config_injection 10, API integration 7)
- All 2460+ workspace tests pass
- `cargo clippy --workspace --all-targets -- -D warnings` — zero warnings
- Live daemon integration verified for each feature

**Full diff:** [`v0.5.10...v0.6.0`](https://github.com/RightNow-AI/openfang/compare/v0.5.10...v0.6.0)