Formidable Flat API v3.2.2
Three fixes to the join-type and joins-only work shipped in 3.2.1, all found and fixed through real hands-on use rather than code review alone.
Grouped match-field dropdowns
The "match my" and "nearest before" date-field pickers listed every field from every source table and joined query as one flat, undifferentiated list — if two sources shared a field name (e.g. "Pump" from both a Samples form and a Calibrations form), there was no way to tell which one you were actually selecting. Both dropdowns now group their options by source, labeled by form/table name or by the joined query's own label.
Combining two queries now takes one click, not two
Building a query from step 1b alone (no source table — combining two existing saved queries directly) required clicking "+ Add join" twice: once for a bare "pick a query" row with no way to actually join it to anything, and again to configure the real match. The first click alone looked like it required a source table to do anything useful. A single click now sets up the starting query and its match row together, ready to configure — removing one of the pair removes both, so there's no orphaned half-configured row left behind.
Remove button, anchored properly
Each join row's "×" remove button could end up wherever the row's controls happened to wrap onto multiple lines (most noticeably on a "nearest before" join, which has several extra fields) instead of staying in a predictable spot. It's now anchored to the top-right corner of the row regardless of how the row's content wraps.
Install
Download formidable-flat-api-v3.2.2.zip and install via Plugins → Add New → Upload Plugin. Requires WordPress 5.8+, PHP 7.4+, Formidable Forms 5.0+.