Skip to main content

5.22 Release notes

Upgrade guides

For general upgrade-script guidance, see the Cinchy upgrade utility.

Upgrading from an older version?

v5.22 does not add any new services. However, several optional services were introduced in recent releases. If you are upgrading from a version earlier than these, you may want to add them as part of this upgrade:

Release date

Cinchy v5.22 was released on July 28, 2026.

Model upgrade

The v5.22 upgrade applies a model upgrade that provisions new platform metadata supporting Unversioned tables (a table type with no history or draft table). The upgrade runs automatically on first start of the new version. Plan your upgrade window accordingly.

New capabilities

Unversioned tables

Cinchy now supports Unversioned tables, a table type that has only a primary physical table, with no history or draft table. Use these where per-row version history isn't needed (for example, high-churn operational or state tables), reducing storage and write overhead. No history table, draft table, or associated triggers, views, or indexes are created for an Unversioned table.

Creating an Unversioned table

An Unversioned table is created through a data model: set the table's type to Unversioned in the model and load it through the Model Loader or CinchyDXD. The standard table designer in the Cinchy UI creates Standard (versioned) tables; it does not currently offer an Unversioned option.

Once created, an Unversioned table supports inserts, updates, and deletes from the UI grid, CQL, and Connections syncs on both SQL Server and PostgreSQL. Features that depend on history or draft data are not available and are rejected at validation time: Change Data Notifications (CDC), Maker-Checker, data retention settings, full-text indexing, and geometry/geography and multi-select columns. The Collaboration Log option is also hidden for these tables.

A table's type is fixed at creation

You cannot convert an existing table between Unversioned and Standard (versioned) in either direction. On any model reload the platform preserves the table's original type and ignores a changed type value. To switch a table to the other type, create a new table of the desired type and migrate the data.

Export data from a query or table to a local CSV/TSV file via Connections

The Connections File sync target can now write to a Local (path) destination and produce CSV or TSV output, so a saved query or table can be exported to a delimited file through a scheduled or on-demand sync, with no CLI required.

  • Choose Local (path) as the File target source and provide the full output path (including filename). The file is written by the Connections service, so the path must be reachable from where Connections runs: a local drive or UNC share on IIS/Windows, or a mounted volume/network share on Kubernetes/Docker.
  • Pick CSV as the file type and select the delimiter (Comma, Tab, or Pipe); a Tab delimiter produces a .tsv file. Output is RFC 4180-quoted with a header row.
  • Leaving Maximum Rows Per File empty writes all rows to a single file; set a value to split into numbered files.

The Connections mapping editor also gains an Auto Map button that adds a mapping for every source-schema column using the same name on the target, and richer field help tooltips (with per-deployment path examples on the File target).

Cinchy MCP Server: trace_data_lineage tool

A new trace_data_lineage tool answers "where does this data come from?" for a [Domain].[Table].[Column]. It traces a column's origin backwards through Data Sync Configurations (column mappings), saved-query transforms, Cinchy CDC / Data Polling listeners, and external connectors (DB2, SQL Server, REST, and others), returning a lineage tree, flattened origin-to-target chains, and a Mermaid diagram. External origins name the connector, external table/query, and connection without exposing any credential values.

Enhancements

Model Loader

  • Live progress and faster re-imports. The Model Loader page now shows live load progress, tolerates imperfect exports, and re-imports the same model substantially faster.
  • Load summary chips. A successful load surfaces a summary such as "12 tables created · 3 tables updated · 190 tables unchanged · 1 domain created".
  • Downloadable CSV report. A Download report (CSV) button on the result card exports the actionable detail of a load (skipped references with their reason, and any missing dependency tables with one row per referencing link column) as a UTF-8 CSV suitable for handing to whoever maintains the source environment. The report is available for successful loads, skipped references, and failed pre-flight dependency checks.
  • Clearer errors. Opaque SQL errors are translated to Cinchy table and column names, and a pre-flight dependency check runs before load.

Query editor & Manage Data

  • Streaming CSV/TSV export. Query-screen and table-view exports now stream results, lifting the practical size ceiling and letting very large result sets download reliably (previously a very large export could produce an empty file). Filenames are correctly encoded for names containing quotes or non-ASCII characters.
  • Progress feedback. The query editor shows an elapsed timer and feedback while calculating totals, exporting, and paging.

Connections

  • REST API target: recover from non-2xx responses. Two optional, backward-compatible attributes let a REST API target recover a non-2xx response instead of failing the row:

    • treatStatusCodesAsSuccess (for example, "409,404") treats the listed status codes as success so the pipeline still extracts response values and continues, so a Conditional Flow can then branch on an extracted value and issue a follow-up request.
    • A response valueRegex applies a .NET regex to the JSONPath-selected response value, isolating an id embedded in a free-text body (for example, extracting an existing record id from a 409 message).

    With neither attribute set, behavior is unchanged.

CinchyDXD

  • Pre-seed Sync GUIDs on install (-adoptExisting). CinchyDXD v2.1.0 adds an opt-in -adoptExisting (alias -preSeedSyncGuids) switch that stamps the incoming Sync GUID onto pre-existing untracked rows matched by natural key, so a sync updates them in place (preserving history) instead of colliding on insert. A dry-run (-adoptWhatIf) reports the planned actions without writing. Without the switch, behavior is unchanged.
  • Reliable install against Cinchy 5.22+. DXD model load now classifies the server response by content (rather than status code), self-heals dependency tags on recursively-linked tables, and allows the same model version to load across its per-table files.

Fixes

Platform

  • CQL UPDATE with parenthesized column names. Calculated-column recalculation no longer emits an unbracketed display name for a parenthesized column reference (which caused a SQL error). The same fix also corrects two related cases: SELECT ([DateColumn]) now applies timezone conversion, and SELECT ([MultiValueColumn]) now works.
  • DISTINCT query paging. Fixes the page count for DISTINCT queries and resets the page number appropriately in the query editor.
  • Compress JSON setting. The Compress JSON checkbox on a saved query is no longer wiped when the query is re-saved.
  • Forward-ported fixes. Collaboration Log paging, recycle-bin restore, and a CSV export character-encoding (mojibake) issue.

Security

  • Open-redirect hardening. The pre-install redirect is now validated as a local URL before use, closing a theoretical open-redirect vector.