Skip to content

Release v0.17.2

Latest

Choose a tag to compare

@Edwardvaneechoud Edwardvaneechoud released this 06 Sep 10:20
52897ab

Changes since v0.17.1.

A canvas and connectors round: comments on the Designer canvas, nodes that connect themselves when dropped next to a neighbour, a Denodo connector, AI settings on a page of their own, and a few Alteryx import and editor fixes.

Canvas

Comments. Right-click empty canvas and pick Add comment to drop a sticky note and start typing (#706). Double-click to edit, drag to move, use the corner handles to resize, and the ✕ on hover or the Delete key to remove. Comments are not nodes: they have no settings, no handles and no data, and the executor and copy both ignore them. They are saved with the flow in a new top-level comments list, and every create, edit or delete is one undo step.

Auto-connect on drop. Dropping a node from the palette near an existing node's free handle creates the edge for you (#709). Drop to the right and the existing node feeds the new one; drop to the left and the new node feeds the existing node's first free input. While you drag, the node that would be connected is outlined with a dashed line. The nearest neighbour within 180 canvas units wins, inputs that already have an edge are skipped, and on nodes with several outputs an unused one is preferred, so dropping beside a filter lands on the free branch. Dragging an already-placed node connects it on release too, but only if it has no edges yet and is the only node being dragged; dropping onto an edge still splices instead. There is no off switch. The same behaviour ships in Flowfile Lite.

Databases

Denodo. A new connection type under Connections → Database, in the Database Reader node, and as database_type="denodo" for ff.create_database_connection and ff.read_database (#705). It talks to Denodo's PostgreSQL-compatible port (9996 by default, SSL supported). Schema and table browsing go through Denodo's own GET_DATABASES() and GET_VIEWS(), and column types are predicted from a LIMIT 0 probe so the predicted schema matches what you get; json/jsonb and unconstrained numeric fall back to a sample read. Writing is not blocked but has not been verified against a live server, and the docs say so.

On the connector choice. This first version reads over the Postgres wire with plain psycopg2, because connectorx needs the binary COPY protocol Denodo does not offer and SQLAlchemy's Postgres dialect runs pg_catalog probes Denodo only partly emulates. The trade-off is that every read is a row-based DB-API fetch rather than an Arrow stream, so large extracts are slower than they could be. Arrow Flight SQL via ADBC (port 9994) is planned as the long-term path for large extracts, with the psycopg2 route staying as the fallback.

AI settings

Settings → AI. AI configuration moved out of Connections into its own page with Providers and Assistant tabs (#710). On-device AI is now the first row of the provider list, with Set up, Start/Stop and a Manage expander that explains what to expect from a model this size; the multi-GB download no longer happens from the chat drawer. The Assistant tab holds the default provider and model, the cheaper-model split for simple tasks, the agent variant and plan verification. The chat drawer's gear is now just a provider and model quick switch with a link to the full page. Old links to the Connections AI tab and the previous AI providers route still redirect.

Alteryx import

Comment tools become canvas comments. Alteryx Comment tools were dropped before; they now import as canvas comments at the right position and size, reported as converted with a note that colour, font and shape are not kept (#706). Empty text boxes are still skipped.

Count Records. The CountRecords macro maps onto the native record_count node instead of a placeholder Python node, with a select that renames the result to Alteryx's Count so downstream references keep working (#706).

Fixes

  • Formula autocomplete no longer fires inside a string or after a // comment marker, in the Formula, advanced Filter, Gate and Dynamic Rename editors and in Flowfile Lite's Formula and Filter panels. Flow-parameter completions (${name}) still work inside strings (#707).
  • The text caret is visible again in Flowfile Lite's expression editor on the dark theme, and its draggable settings panel no longer shows a move cursor over its content (#707).
  • Database Reader and Writer fetch the table list as soon as you pick a schema instead of waiting for the refresh button, for every database type (#705).
  • Switching flows no longer resets the agent variant to Live and turns plan verification off; those preferences are stored per device now instead of per flow (#710).
  • The chat drawer and ⌘K offer the same model list as the settings page, and both learn that AI features are off no matter which one loaded first (#710).

Upgrade notes

  • AI preferences (provider, model, cheaper-model split, agent variant, plan verification) are migrated once from the flow that is open when the app starts and become device-wide. If different flows carried different settings, only that one set survives (#710).
  • psycopg2-binary is now a runtime dependency (it was dev-only) and is bundled in the desktop build, so Denodo and psycopg2-based PostgreSQL connections need no extra install (#705).

Dev & infra

No database migration. New test suites cover the Denodo dialect (run against the Postgres Docker fixture through a denodo:// URI, since no Denodo server is available in CI), canvas comments and their routes, the Alteryx comment and Count Records mappings, the auto-connect geometry and the string-and-comment scanner in both frontends, and the AI store's persistence. The flowfile-editor npm README was rewritten with a screenshot and a node-types table (#708), and the AI docs and screenshots were refreshed for the settings move (#710). Version bumped to 0.17.2.

What's Changed

Full Changelog: v0.17.1...v0.17.2