Release v0.17.0
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 port63579need the port re-exposed and theX-Flowfile-Internalheader. - Local dev:
flowfile_workerbinds127.0.0.1on all platforms now; pass--host 0.0.0.0if 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
- Document the built-in on-device AI model and refresh provider setup screenshots by @Edwardvaneechoud in [#687](#687)
- Feature/share flow with wasm by @Edwardvaneechoud in [#688](#688)
- Add data cleansing node (Alteryx-parity) across core, frontend, frame and code export by @Edwardvaneechoud in [#690](#690)
- Feature/import yxmd files by @Edwardvaneechoud in [#686](#686)
- Feature/improve security worker by @Edwardvaneechoud in [#691](#691)
- Adding telemetry functionality for collection of stats and insights in usage by @Edwardvaneechoud in [#689](#689)
- Reconcile explore spec encodings with data model changes on schema migration by @Edwardvaneechoud in [#693](#693)
- Feature/add database backup functionality with admin endpoints and UI support by @Edwardvaneechoud in [#694](#694)
- Improve Docker management with async handling and loading indicators by @Edwardvaneechoud in [#695](#695)
- Update catalog navigation and sidebar functionality with collapsible sections and local storage state by @Edwardvaneechoud in [#696](#696)
- Add kernel status management and UI enhancements in notebook panel by @Edwardvaneechoud in [#697](#697)
- Update documentation to reflect navigation changes in the UI and clarify settings paths by @Edwardvaneechoud in [#699](#699)
- Refactor color variables for improved consistency across components by @Edwardvaneechoud in [#698](#698)
- Add cursor tracking and table insertion functionality in notebook cells by @Edwardvaneechoud in [#700](#700)
- Bump/version 0.17.0 and fix remaining placeholders in docs by @Edwardvaneechoud in #701
Full Changelog: v0.16.0...v0.17.0