# v3.19.0 ALIVE shipped — and we're hiring contributors

We shipped v3.19.0 today. The headline is that Aiden no longer feels static.

Four things changed that matter:

1. **Identity refreshes every turn.** SOUL / USER / GOALS read from disk on every message with hash-based caching (3,860 tokens → 159 on stable turns). Edit `USER.md` mid-conversation and the next reply already knows. Previously the context only refreshed every 40 messages.

2. **Real-time state via tools.** `now_playing` queries Windows WinRT directly instead of relying on a startup snapshot. Volatile system state is gone from the system prompt entirely. The model asks tools for current state; it doesn't guess from stale cache.

3. **Honest failure diagnostics.** Every tool failure now names the tool, provider, retry count, fallback chain, raw error, and a suggested next step. Five fake InstantActions that silently pretended to work are gone.

4. **Plugin slash commands.** Drop a `.js` file into `workspace/plugins/`, call `ctx.commandCatalog.register('/yourcommand', …)`, and it appears in the `/` dropdown immediately. No core edits. 91 commands now ship by default; 12 previously-orphaned tools are reachable by the planner again.

---

If you want to contribute, the easiest entry points are new tools, skill fixes, and test coverage. Check the [good-first-issue](https://github.com/taracodlabs/aiden/labels/good-first-issue) label — there are real tasks there, not synthetic ones. The codebase is TypeScript, annotated, and the planner loop is readable in under an afternoon.

Full notes: [RELEASE_NOTES_v3.19.md](../RELEASE_NOTES_v3.19.md)
