Skip to content

v0.6.0 — Scheduled tasks

Latest

Choose a tag to compare

@manelomanu manelomanu released this 17 Jun 14:39

What's new in v0.6.0

Phase 4 — Scheduled background tasks

  • Autonomous scheduler: background asyncio loop fires tasks on a configurable interval, runs them through the planner pipeline, stores results locally
  • CRUD API: POST/GET/PATCH/DELETE /api/schedule with interval format 5m / 2h / 1d (minimum 5 minutes)
  • Run history: each execution logged to task_runs with status (done / error), output, timestamps
  • UI: scheduled tasks panel with create form, enable/pause toggle, delete, expandable run history, notification badge for new completed runs

Phase 3 — Non-custodial wallet layer

  • Cashu e-cash, Lightning (LNbits), EVM stablecoins (EURC, EURe, EURCV), Solana SPL tokens, Monero, Bitcoin — all non-custodial
  • Daily spending limit + explicit confirmation gate on every send

Bug fixes (this release)

  • PRAGMA foreign_keys = ON now enforced per connection — ON DELETE CASCADE on task_runs actually cascades
  • CancelledError caught in finally block — task runs never stuck at status=running on shutdown
  • Invalid interval strings in PATCH /api/schedule return 422 not 500
  • Create button no longer stays disabled after a server error
  • Notification badge count fixed on first load
  • XSS: task.name and run.output HTML-escaped before innerHTML injection
  • strip_html deduplicated into utils.py (browser version, removes script/style content)
  • session_nonces table pruned to 24h on every insert

Upgrade

docker compose pull
docker compose up -d

No manual migration needed — new tables are created automatically on first start.