- Releases
- Ironflow v0.25.0
Ironflow v0.25.0
Ironflow v0.25.0 brings two new ways to see what your system is actually doing — a live flow map of triggers and functions, and an entity time-travel scrubber — plus an honest Python SDK, a duplicate-event fix in projections, and a tidier local dev footprint.
Breaking Changes
Section titled “Breaking Changes”- Local dev state consolidated under
.ironflow/: the default SQLite path moved fromironflow.dbin the working directory to.ironflow/ironflow.db, and the embedded NATS store and filesystem blobs moved under.ironflow/too. An existing local dev database will not be picked up — move it into.ironflow/or pass--db ironflow.dbto keep the old location. This affects local dev only; PostgreSQL deployments are unchanged (#1252)
Features
Section titled “Features”- Flow map: a live map of your declared triggers and functions, animated by the event firehose as runs fire. Edges are both declared and learned — the dashboard infers causation from what your functions actually emit, so the map shows the system you built, not just the one you described. Wildcard triggers light up alongside exact matches (#1262, #1275, #1293)
- Entity time-travel scrubber: step an entity stream forward and backward through its event history and inspect the reconstructed state at any version — the fastest way to answer “when did this entity go wrong?” (#1263, #1276)
- Python SDK: a reworked generator pipeline, a real error model, published reference docs, and a CI gate that fails when generated code drifts from the protobuf source (#1390)
ironflow serve --dev --reset: wipe local dev state (SQLite DB, NATS store, blobs, JWT secret, bootstrap key) and boot fresh. Two gates keep it safe — it requires--devand refuses to run under PostgreSQL (#1252)ironflow serve --nats-port: pin or randomize the embedded NATS port, so several engines can run side by side on one machine (#1257)- Desktop session endpoint: mint a short-lived dashboard JWT from an API key, letting a trusted local client embed the dashboard without a login round-trip (#1271)
- Projections no longer double-publish: user events emitted from a projection were published to PUBSUB twice, so every subscriber saw duplicates. Fixed at the source (#1254)
- KV Store protects the
SYS_namespace: system buckets are hidden from the KV list API, and creating or deleting aSYS_-prefixed bucket is now rejected. The reserved namespace is enforced at the REST chokepoint instead of relying on every internal caller to respect it — previouslySYS_policy_epochrendered as a deletable row in the dashboard (#1327) - Docs and marketing sites: license page 404s, cross-site nav links opening in a new tab instead of navigating in place, and cloud waitlist CTAs not scrolling to the top of the page (#1316, #1335, #1336, #1353)
Improvements
Section titled “Improvements”- When Ironflow fits: a new explainer on where Ironflow belongs in an agentic system, and what it deliberately does not do (#1402)
- Documentation accuracy: several full drift audits across the SDK reference, CLI reference, tutorials, how-to guides, and internal docs, correcting env-var names, enterprise-tier claims, and command signatures; product messaging is now aligned between marketing and docs (#1303, #1332, #1333, #1337, #1403)
- Getting Started: SDK tabs for
emitand projection queries, so the walkthrough covers both SDKs instead of assuming one (#1347) - Skills: corrected
ironflow-startandironflow-codecontent, removed dead exemptions and fictional fixtures, and added guards that keep the skill tree from drifting from source again (#1395, #1400) - Dependencies: refreshed Go and JavaScript dependencies; upgraded Astro, Starlight, and wrangler across the docs and marketing sites (#1305, #1319, #1353)
- CI/CD: docs and marketing now auto-deploy on merge to
mainwhen related files change (#1306) - Code review program: a phased review program covering the whole codebase, with the first phase reporting on
internal/foundations and its findings fixed (#1418, #1420, #1443)
- ADR 0046 records the subscription-auth vs BYOK decision for the built-in agent (#1387)
make docker-publish-latesttarget and aninstall-devembed fix (#1253)
Ironflow Desktop ships on its own cadence — see the Ironflow Desktop changelog for what landed there.