- Why Ironflow
- Readiness
Readiness
Ironflow is pre-1.0. The version number is 0.x. You can build on Ironflow, but APIs, wire formats and behavior can change in any release, and a change can break your code.
The compatibility policy describes the promise planned for 1.x. It takes effect with 1.0.0 and does not apply to current 0.x releases.
What to do
Section titled “What to do”- Pin a version. Do not follow
latest. - Before you upgrade, read the release notes for each version between your version and the new one.
These docs follow the main branch. A page can describe a feature that is not in a release
yet.
Pin a version
Section titled “Pin a version”Replace <version> with the version you use, for example from ironflow version.
| Channel | How to pin |
|---|---|
| Homebrew | brew pin ironflow stops brew upgrade from changing it. |
| Scoop | scoop hold ironflow |
| Docker | Use a version tag, not latest: ghcr.io/sahina/ironflow-releases:<version> |
| npm | npm install --save-exact @ironflow/node@<version>. Give every @ironflow/* package the same version. |
| Go | go get github.com/sahina/ironflow-go/ironflow@v<version> |
| Python | pip install ironflow-py==<version> |
What is ready
Section titled “What is ready”Each capability has one of three levels. “Ready” means ready within a pre-1.0 product: the notice above still applies.
| Level | Meaning |
|---|---|
| Ready | Tested and documented. The contract is settled. No breaking change is planned. |
| Evolving | Works and is tested. The API or behavior can still change. |
| Experimental | Can change or be removed. |
This table rates server and SDK capabilities only. It does not rate Ironflow Desktop features.
A nightly job also runs the live SDK test suites that use the database on PostgreSQL. A Ready label does not depend on that run.
| Capability | Area | Readiness |
|---|---|---|
| Emit/trigger event | Events & Triggering | Ready |
| Synchronous trigger | Events & Triggering | Ready |
| Register function | Functions & Registration | Ready |
| Direct invoke by ID | Functions & Registration | Ready |
| Cancel run | Runs & Lifecycle Control | Ready |
| Resume run | Runs & Lifecycle Control | Ready |
| step.run memoization | Durable Step Primitives | Ready |
| waitForEvent yield | Durable Step Primitives | Ready |
| Push mode serve() | Execution Modes | Ready |
| Pull worker protocol (register/heartbeat/poll/ack/update) | Execution Modes | Ready |
| Append entity event | Entity Streams & Snapshots | Ready |
| Read stream events | Entity Streams & Snapshots | Ready |
| Managed (pure reducer) projection handler | Projections | Ready |
| External (side-effect) projection handler | Projections | Ready |
| Publish to topic | Pub/Sub | Ready |
| Subscribe replay+live | Pub/Sub | Ready |
| KV key CRUD + list | KV Storage | Ready |
| Watch KV bucket | KV Storage | Ready |
| Get/list config | Configuration | Ready |
| Watch config | Configuration | Ready |
| Secrets CRUD (values write-only) | Secrets | Ready |
| Register schema version | Event Schemas | Ready |
| Webhook source management | Webhooks | Ready |
| Inbound provider webhook | Webhooks | Ready |
| Agent authoring runtime (agent/defineTool/exposeMcp/llm/memory/spawn/approve) | Agents & Tools | Ready |
| Invoke agent tool | Agents & Tools | Ready |
| LangGraph checkpointer (IronflowSaver) | Adapters | Ready |
| Run mutation timeline | Time-Travel Debugging | Ready |
| Run state at timestamp | Time-Travel Debugging | Ready |
| Live patching of step output | Scoped Injection & History Editing | Ready |
| Offline write queue (IndexedDB + multitab lock) | Browser-Only Capabilities | Ready |
| File storage: buckets, files, signed URLs | Files | Ready |
| Rego policy set (get, put, validate, dry-run, versions, rollback) | Roles & Policies | Ready |
Platform limits
Section titled “Platform limits”- SQLite supports one node only, with crash-resume on that node.
- More than one node needs PostgreSQL, an external NATS server and an
s3://blob URL. - Ironflow Desktop: macOS on Apple Silicon is supported. Windows x64 and Linux x64 and arm64 are experimental. Intel Macs are not supported.
- Ironflow Cloud is planned and does not run today. A waitlist is open.
Versions
Section titled “Versions”The engine, the CLI and the SDKs use one version number. Ironflow Desktop has its own version number and its own release notes. Each Desktop release contains an engine release. Desktop is pre-1.0 too.
All capabilities
Section titled “All capabilities”The SDK Parity Matrix lists every capability, with its test and documentation status for each SDK.