Release v0.16.0
Changes since v0.15.4.
Conditional branching in flows, a warm worker process pool, directory-scan mode on the file readers, alerts for scheduled runs, and a plain-Python walkthrough in the browser editor.
Gate — conditional execution
A new Gate node (#675) decides whether an entire branch runs. When the condition doesn't hold the gate itself succeeds but its downstream is deliberately skipped — a distinct state from failure, so runs stay green and post-run callbacks (Kafka offset commits) still fire. Turn on Add an else output for a one-node if/else router. Gates export as real if blocks in all three code exports, so a branching flow still round-trips to Python. See the Gate section of the Combine Nodes reference.

The Gate node with an else output, driving an if/else split on the canvas
Warm worker process pool
The worker (#677) keeps spawned children alive between tasks instead of paying interpreter boot + imports on every offload — saves ~0.2s per task on macOS, ~0.4–0.7s on Windows. In practice: on Windows the designer feels instant where clicking around used to have a visible pause, and a 20-node flow can shave several seconds off its run.
On by default on Windows (4 warm children); off by default on macOS and Linux — opt in with FLOWFILE_WORKER_POOL_SIZE or resize live from the new admin-only Performance tab on the Compute page (the old Kernel Manager is now the Kernels tab).

The Performance tab on the Compute page — warm/busy members, tasks completed, live resize
Directory scan mode
read_csv, read_parquet, read_ipc (and their scan_* aliases) can point at a folder and read every matching file as one table (#674). New arguments scan_mode and include_file_paths on the Read node and the Python API. See the directory-scan section of the Reading Data reference.
Alerts on scheduled runs
Scheduled flows can tell you when something goes wrong. Get a message in Slack, Discord, Microsoft Teams, or any HTTPS webhook when a flow run fails, recovers, succeeds, or gets closed as orphaned (#684). Managed from a new Alerts tab in the Catalog — a channel is the webhook destination, an alert rule picks which outcomes go to which channel (per schedule, per flow, or account-wide). Requires the desktop or server build. Full setup in the new Alerts & Notifications guide.

The Alerts tab with a channel, an account-wide rule, and recent deliveries
Plain-Python walkthrough (Flowfile Lite)
The browser editor's Code panel (#672, #678, #680) grows a step-by-step walkthrough of your own flow in two flavours: Plain Python (every table a list[dict], every node a for loop — no dataframe library) and Polars (same steps as one-liner calls). Numbered chips step through the pipeline; the Data tab shows the actual rows in/out at each step. Every node's settings panel also gains a "How would I write this myself?" section for its current settings.
Other
- Context menu refactor (#673) — now works on edges, empty pane, and multi-node selections.
- Flow API documentation (#682) — new Serve Flows as APIs guide.
- README rewrite (#679, #683) — Superstore hero GIF, node count updated to 46.
Database
Migration 031_notifications — three new tables for the alerts feature. Reversible; existing rows unaffected.
Dev & infra
~10,200 new test lines across 33 files. Windows CI sharded into core-a, core-b, and worker (was one 37-min job). Linux/macOS CI runs with FLOWFILE_WORKER_POOL_SIZE=2 so the pooled path is what tests exercise. Version bumped to 0.16.0.
What's Changed
- feat: enhance context menu functionality for nodes and canvas interactions by @Edwardvaneechoud in #673
- feat: add support for directory scan mode and enhance file path handling by @Edwardvaneechoud in #674
- Plain python export by @Edwardvaneechoud in #672
- Feature/implement shared cluster by @Edwardvaneechoud in #677
- Feature/improve code walkthrough by @Edwardvaneechoud in #678
- Feature/improve code walkthrough by @Edwardvaneechoud in #680
- Bump version and improve readme by @Edwardvaneechoud in #679
- flows api endpoints docs y0werc by @claude in #682
- Feature/add conditional run logic by @Edwardvaneechoud in #675
- Feature/alerting on schedules by @Edwardvaneechoud in #684
Full Changelog: v0.15.4...v0.16.0