Where Flow stands
It runs. It starts, serves the API and the editor, loads flows off the volume, moves messages, and comes back after a restart with its flows and credentials and context. The chart deploys it in all three network modes and the whole publish chain resolves.
Verified against real infrastructure, not just against my own encoders:
mosquitto, InfluxDB 2.7 and PostgreSQL 16, in podman, on 2026-08-07. The
InfluxDB tag value came back out of a real database as press 01,west with the
space and the comma intact. That’s the escaping bug that otherwise fragments a
series in silence and costs somebody a day to find. That run predates the
rename, and the only change to those nodes since is what they’re called.
Race detector clean, every package, on Linux with cgo, on every push to
main and every pull request.
Cookies and multipart answer the way Node-RED’s own libraries do, because
they were checked against them. Express, cookie-parser, form-data, multer and
tough-cookie, at the versions Node-RED pins, ran over a hundred cases with
Node-RED’s node code copied in between, and the answers went into a golden file
the tests replay through real sockets. That includes the ugly ones: a UTF-8 filename
comes out garbled exactly as multer garbles it, and a cookie named value
loses its value in msg.responseCookies, same as there. Matching the bugs is
the point. A flow that leans on one breaks the day it stops being there.
Not done yet, roughly in the order it bothers me:
- The S7 and EtherNet/IP nodes have only met simulators. They are tested against real servers that speak the protocols, and they have not talked to a Siemens CPU or a Logix controller. Phase 5 stays that honest until they have.
- Durable wires have never been on a Pi. Store and forward and the disk writes were measured on an x86 box under WSL. The Pi 4 and Zero 2 W numbers are still to do, and I won’t print a card figure I didn’t measure on a card.
- A node that uses the WASM host. The host is built and tested. Nothing in the palette calls it, so WASM guests can’t run in a flow today.
- It has never run on a real plant floor. Shepherd Boy Farms is the intended first site. Everything past the deploy line is unproven in the field, and I’m not calling it production-hardened until a plant has had a real go at breaking it.
What gets built next, and in what order, is in docs/ROADMAP.md.
Before it was HotLoop Flow
Section titled “Before it was HotLoop Flow”It was Emberwire, and v0.1.0 is still where it was, at
ghcr.io/embernet-ai/emberwire:0.1.0. 2.0.0 was the first release under this
name, and 2.x reads nothing the old name wrote: the EMBERWIRE_* variables, the
two emberwire- database node types, a WASM module built against the old exports
and the 0.1.0 credentials file all have to be redone. That’s a clean break on
purpose. Nobody had built on 0.1.0, and a shim for zero users is just more code
to get wrong. The credentials file at least fails like an adult now. 2.0.0 died
on it with a JSON parsing error. Since 2.0.1 it names the file, says Emberwire
wrote it, and tells you to move it aside and enter the credentials again.