Skip to content

Release v0.17.0

Choose a tag to compare

@Edwardvaneechoud Edwardvaneechoud released this 04 Sep 07:45
· 10 commits to main since this release
5a44da0

Changes since [v0.16.0](v0.16.0...v0.17.0).

Import Alteryx workflows, a Data Cleansing node, flows you can share as a browser link, one-click database backups, a hardened worker, and a reorganized interface.

Import Alteryx workflows (Beta)

Drop a .yxmd file on Create → Import Alteryx workflow… and Flowfile converts it into a flow, positions included ([#686](#686)). Around 25 tools convert natively:

Input/Output Data, Text Input, Select, Filter, Formula, Multi-Field Formula, Sort, Summarize, Sample, Unique, Text To Columns, Union, Join, Append Fields, Dynamic Rename, RegEx, Record ID, Running Total, Transpose, Cross Tab, and the Data Cleansing macro.

Alteryx formulas are translated only when the result provably round-trips through Flowfile's formula parser. Anything that can't be converted with confidence becomes a passthrough Python node carrying the original configuration as comments, and a per-tool report tells you what needs a look.

Data Cleansing node

A new transform node ([#690](#690)) for nulls, whitespace, unwanted characters, and casing in one step:

  • Drop all-null rows or columns
  • Fill nulls with blank or zero
  • Trim or normalize whitespace
  • Strip letters, numbers, or punctuation
  • Change case

Also available as FlowFrame.data_cleansing() and exported as native Polars.

Share a flow as a browser link

The new link icon in the designer header ([#688](#688)) turns a flow into a URL that opens and runs in Flowfile Lite, the in-browser editor. The flow lives compressed in the URL fragment, so nothing is uploaded and no account is needed.

Nodes the browser can't run (database and cloud readers, kernels, custom Python, catalog nodes) travel as locked placeholders; paths, connection names, and executable expressions are stripped first. Local files travel as a filename only, and the recipient is asked to supply them.

Flowfile Lite also gained advanced filters and type casting in Select.

Database backups and a working desktop updater

Take a catalog database snapshot on demand from Settings → Preferences → Backups, alongside the automatic pre-migration ones ([#694](#694)). Retention is FLOWFILE_DB_BACKUP_KEEP (default 10); restore is a documented file copy.

The desktop app now checks for updates on startup, takes a snapshot, stops the sidecars, then installs. The release workflow attaches the updater manifest automatically, which is what makes this work end to end.

Interface

Settings menu. Connections, Compute, Node Designer, Project, File Manager, Groups, and Admin now sit under one Settings gear in five groups: Connections, Execution, Preferences, Extensions, and Workspace ([#696](#696)). Custom and Community Nodes moved from the Catalog to Settings → Extensions. The theme toggle and logout moved into "Help & more". Docs updated to match ([#699](#699)).

Catalog. The tree sidebar collapses to a thin rail, the tab bar has a compact mode, and Home's Recent and Explore sections fold away. All three remember their state ([#696](#696), [#697](#697)).

Notebook. Kernel status is now visible in the picker, with a banner that explains a stopped or missing kernel and a Start kernel button. Notebook tabs double as the selector, with inline rename ([#697](#697)). Right-click a catalog table for Insert into notebook, which places a typed read snippet at your cursor ([#700](#700)).

Dark mode. Around 50 components had hardcoded light-mode colors. They now follow the theme, and the canvas minimap got dark styling ([#698](#698)).

Worker hardening

Every core-to-worker call is now authenticated with FLOWFILE_INTERNAL_TOKEN, the worker binds to loopback by default, and Docker Compose no longer publishes port 63579 ([#691](#691)). See [Upgrade notes](#upgrade-notes).

Anonymous usage telemetry (opt-in)

Desktop and pip installs show a one-time prompt to share anonymous usage data; nothing is sent unless you accept ([#689](#689)).

Events are a fixed list (app started, flow created, run started/succeeded/failed, code exported, and a few more) with bucketed counts and built-in node type names only. No data, paths, column names, formulas, flow names, or error messages ever leave the machine. FLOWFILE_TELEMETRY=0 hard-disables it, and Docker Compose ships with that set. Full schema in the new Telemetry guide.

Fixes

  • A hung Docker daemon no longer freezes every request in core ([#695](#695)).
  • Explore chart specs now follow upstream schema changes instead of going stale ([#693](#693)).
  • Worker errors keep their exception class instead of surfacing as a bare Exception ([#689](#689)).
  • Code export no longer errors on a group-by key renamed onto a dropped column, and Select's type change to Date works from non-string columns ([#690](#690)).
  • Notebook autocomplete no longer lists catalog references twice ([#697](#697)).
  • The community node version gate was silently off in Docker ([#689](#689)).

Upgrade notes

  • Docker Compose: core and worker must share FLOWFILE_INTERNAL_TOKEN. The bundled file has a dev default; set a real one in production. Direct calls to port 63579 need the port re-exposed and the X-Flowfile-Internal header.
  • Local dev: flowfile_worker binds 127.0.0.1 on all platforms now; pass --host 0.0.0.0 if another host must reach it.

Dev & infra

~12,800 new test lines across 95 files. New make wasm_node_manifest / check_share_data drift gates for the share-link manifest, a core-parity CI job so the WASM parity suites can no longer skip silently, and the on-device AI model is now documented ([#687](#687)). No database migration. Version bumped to 0.17.0.

What's Changed

Full Changelog: v0.16.0...v0.17.0