v3.9

Release 3.9 makes the platform's AI features something you can steer:
the Notification Center proposes rule updates derived from your data, chat streams its work step by step, and tenant owners can see the token credits their AI-powered features consume.

Beyond that, rulesets gain a Validation API only mode, SAP HANA virtual tables materialize without write privileges, and a series of fixes tightens permissions, profiling accuracy and error reporting.

🚀 New Features

Rule update suggestions in the Notification Center
  • The Assistant periodically analyzes the data behind your rules and proposes configuration updates, for example allowed values that appeared or disappeared. Proposals show up as update suggestions in the Notification Center.

  • Review rule opens the rule editor with the proposal applied, where you accept or dismiss it.

  • A suggestion retires itself when the rule was edited in the meantime, when the data no longer supports the proposed values, or when the target column left the ruleset scope. A current replacement is generated in the same analysis run.

Validation API only rulesets
  • A ruleset now has a mode: Standard, or Validation API only. Choose it when creating the ruleset or change it later in the ruleset settings.

  • API-only rulesets are used exclusively through the synchronous Validation API. They cannot be run manually or on a schedule, and missions, alerts and run-completed webhooks are unavailable for them.

  • The ruleset shows an API only badge and its Validation API activity: the number of validations and the time of the last call.

Token credits for AI-powered features
  • Tenants can receive an allocation of token credits that AI-powered features consume.

  • Tenant owners see a Token Credits section in the tenant settings with total usage, tokens used and tokens assigned. The section stays hidden while no allocation exists.

  • Crossing 80 % of the allocation and exhausting it each raise a Notification Center entry for tenant owners.

Chat streams its work
  • More assistants now stream its replies like the DQ Assistant: you see the recognized intent, per-step progress such as "Composing the workflow" or "Configuring a Python transformation node", and the answer as it is written.

Arrange Improvement Flow nodes automatically
  • In edit mode, Arrange vertically lays out the nodes of an Improvement Flow top to bottom in workflow order with compact, non-overlapping spacing, saves the positions and fits the canvas to the result.

SAP HANA virtual tables
  • Virtual table joins on SAP HANA now execute as read-only SELECT statements on HANA, and the result is streamed into the platform in bounded batches. Estimate, preview and creation work without any HANA write privilege.

  • Several SAP HANA connectors and schemas on one HANA endpoint can be joined; the primary connector user needs SELECT access to every referenced schema. Joins across different HANA endpoints are rejected before anything runs.

✨ Improvements

DQ Assistant
  • Rule suggestions and predictions report their progress while running and reveal the answer progressively, instead of staying silent for a long time and then showing everything at once.

  • Suggested SQL, Python and regex rules are executed against the ruleset's sample before they reach you, and the model corrects its own mistakes first.

  • The coding assistant's "ran on the sample" summary now also appears for regex rules.

  • Cancelling a reply stops the stream cleanly, sending is blocked while the chat history reloads, and the add-rule and predict-rules triggers have a clearer look.

Custom SQL and code-based rules
  • Custom SQL is validated with the exact connector dialect against the rule's sample. Invalid SQL returns a field error immediately, and the Fix with AI action handles the correction. Previously an invalid suggestion could stall rule creation inside the request.

  • All four code-based rule types (custom SQL, cross-connector SQL, Python, regex) report a broken rule in one place, the Fix with AI bar. An invalid regex or unparsable SQL no longer rejects the preview request.

  • A custom SQL rule that references a table on another connector now says so, naming the table and the connector and pointing to cross-connector SQL rules, both when saving and when the ruleset runs. Previously the run failed with "Cannot open file ... No such file or directory".

Ruleset check errors
  • Every failure type of a ruleset check (cross-connector, LLM, Python, address validation, unexpected errors and stalled runs) is now reported in the API and the UI. Previously six of them were only visible in the database.

Profiling accuracy
  • Empty values (NULLs) are counted exactly over the profiled scope instead of being extrapolated from the sample, so the profiling percentage matches the missing-values rule.

  • Uniqueness counts observed in the sample are shown as observed, without scaling.

  • A column with at least one duplicate never shows 100 % uniqueness anymore; the value is capped at 99.99 %.

Federated queries
  • In federated SQL, quoting binds the case: quoted identifiers must match a column exactly, unquoted ones are matched case-insensitively, and ambiguous references are rejected with the correct spelling. Exact-case columns on Snowflake and PostgreSQL can now be referenced.

Ruleset import
  • Cross-table rules (equals, contains, row count) are validated on import: the secondary table must exist in the target tenant, its columns and the key columns must exist, and paired columns must share a data type. Rules that fail these checks land in the import's failed list instead of being created broken.

🤖 Small improvements and bug fixes

  • After login, the application could stay on the loading spinner in some cases.

💡 Behaviour changes worth knowing

  • Switching a ruleset to Validation API only disables its schedule and clears the next execution. Switching back to Standard leaves the schedule disabled until you configure it again.

  • Custom SQL validation on save is deterministic: an invalid query returns a field error and is no longer repaired automatically inside the save request. Use Fix with AI.

  • Profiling numbers on sampled tables can differ from earlier releases: NULL counts are exact and uniqueness counts are unscaled.

  • Ruleset import no longer creates cross-table rules whose secondary table cannot be resolved in the target tenant.

  • In federated SQL, a quoted column reference that matches a column only by case is rejected; write the exact spelling.

⚡ Breaking Changes

  • -

☁️ Private Cloud

For private cloud deployments, please point your release tags to:

  • qui: rc_a9721b09f614d31c21116df85effb91b35e5ee05

  • qservices: rc_amd_a9721b09f614d31c21116df85effb91b35e5ee05

  • python-executor: rc_amd_a9721b09f614d31c21116df85effb91b35e5ee05

Platform version: 3.9.3

Worth knowing for this upgrade:

  • The Python executor is now built as a separate slim image (about 570 MB) without test and tooling dependencies, and it runs as a non-root user.

  • The DQC-managed Bifrost image moves from v1.5.7 to v1.6.11. The upgrade runs configuration migrations that cannot be reversed; take a snapshot of the Bifrost database before upgrading and roll out sequentially.