Skip to content

v1.3.0

Choose a tag to compare

@maxsv0 maxsv0 released this 23 Jun 17:35

What's new in 1.3.0

Service plugins — persistent runtime

Plugins can now declare "runtime": "service" to run as a persistent child stdio-MCP server. The SideButton server starts it once, discovers its tools live (exposed slug-namespaced), forwards tools/call to it, serializes those calls, restarts it on crash (bounded backoff), and stops it cleanly on shutdown. This unlocks stateful, long-running capabilities (sessions, open connections, held input) alongside the existing stateless spawn-per-call process tier. See Docs → Plugins.

Session input injection

New POST /api/session/input injects a native user turn into a live dispatched Claude session (resolved via its tmux session), with a liveness gate (410 when the session is gone) and an audit log.

Shared files apply

New POST /api/files/apply writes and reconciles a workspace's shared/ files against an ownership manifest, so it only ever touches files it owns.

Reliability

Graceful SIGTERM/SIGINT shutdown so persistent service-plugin children aren't orphaned across restarts.

All additions are backward-compatible — existing process plugins and APIs are unchanged.

Full Changelog: v1.2.0...v1.3.0