Skip to content

Ironflow v0.35.0

Ironflow v0.35.0 is a hardening release for deploy vps and multi-environment correctness. First-boot secrets stop leaking into container logs, function secrets and projection rebuild state are now keyed by environment ID rather than name, and a streaming worker’s functions register the way a polling worker’s always did. The flow map gains the four primitives it could not previously draw, and cron schedules publish their own lifecycle events.

  • The flow map draws the four primitives it was missing. Fan-out, wait-for-event, sleep and cancel now appear on the map instead of being silently absent from the graph (#2036)
  • Cron schedules publish lifecycle events. system.cron.* events fire as schedules are created, updated and removed, so a schedule change is observable the same way a run is (#2012)
  • First-boot secrets travel through the bootstrap key file, not stdout. The one-time dashboard admin password was printed to stdout and persisted nowhere else, so deploy vps had to scrape it back out of the container log — leaving a working admin credential readable on disk until log rotation cleared it (#2031, #2044)
  • Function secrets resolve by environment ID, not environment name. Two environments whose names collided could read each other’s secrets (#2024, #2035)
  • Projection rebuild metrics, locks and jobs are keyed by environment. Rebuild state was shared across environments, so a rebuild in one could block or misreport another (#1946, #2004)
  • A streaming worker registers its functions, and the engine adopts late-registered ones. Functions declared by a streaming worker never reached the engine, and a worker that registered after the engine started was ignored (#2027, #2030)
  • deploy vps prints the VPS URL, not localhost, as the dashboard sign-in (#2023, #2033)
  • deploy vps verifies the TLS URL it hands you rather than reporting success on a URL that does not serve (#2025, #2032)
  • A config-only deploy vps re-run keeps the deployed engine instead of replacing it (#2022)
  • The deploy vps non-root hint fires on an already-deployed host, not only on a first deploy (#2026, #2029)
  • The VPS Postgres image is pinned in .env on first boot, and the published compose files pin it too — an unpinned tag could pull a new major on restart (#2020, #2039)
  • Linux arm64 engine builds. desktop-engine-linux cross-compiles both linux/x64 and linux/arm64, which is what lets Ironflow Desktop ship an arm64 AppImage
  • Repeated string literals extracted into constants (#2002)
  • The lint gate fails fast when the active Go toolchain is newer than golangci-lint’s, instead of failing later with a confusing error (#2009)