Skip to content

m8.8: SQL sources, global automation, and dimension editing

Choose a tag to compare

@WilliamSmithEdwardSandbox WilliamSmithEdwardSandbox released this 18 Jun 23:21

The modeling release. Native SQL sources, global multi-cube automation, and full dimension structural editing, on top of the connector and spreading work that landed after m8.7.

Native SQL data sources (ADR-0034)

A flow can ingest directly from PostgreSQL or MySQL and MariaDB, pure-Rust over rustls/ring (no native-tls, openssl, or aws-lc-rs). Each driver is off by default and fenced at runtime by an enable flag, a host allowlist, a secret referenced by name, and a fixed admin query; ssl_mode supports verify-full, require, and disable. SQL Server is deferred (its current Rust driver pins a TLS stack that fails the supply-chain gate).

Global, multi-cube, code-first automation (ADR-0035)

Flows, schedules, and connections moved out of per-cube models into one server-global automation model. A single flow can read and write several cubes and grow several dimensions in one run, owned by none of them. Data sources are UI-driven (a global connection or a flow-scoped local one), while outputs stay code-first. Scheduled runs execute as the flow's owner, fail-closed. Existing per-cube flows, jobs, connections, and tests migrate into the global store on first boot.

Dimension structural editing (ADR-0036)

A dimension is now fully editable: reorder, reparent, convert kind, insert, delete, add a member to a consolidation, and remove a member from one consolidation, with every index-changing edit remapping stored cells transactionally (and fanning the same remap out to every referencing cube for a shared dimension). A standalone, hierarchy-only, table-driven, drag-and-drop dimension editor with full keyboard parity (WCAG 2.2 SC 2.5.7): every drag gesture has a row-menu equivalent. Delete is intent-aware: remove a member from selected consolidations (kept, with its data) or delete it from the dimension entirely (behind an explicit data-loss confirm).

Also new since m8.7

  • One global dimension namespace with promote-to-reuse and attributes carried to referencing cubes (ADR-0031), and a scalable virtualized member table with inline attribute editing, per-column filters, and relationship set operators (ADR-0032).
  • An object-centric explorer tree (consolidation hierarchy plus global object search), multiple dimensions per pivot axis, an MDX previewer, a tabbed object workspace, and saved Views and dimension Sets.
  • HTTP fetch connector and an owner-only secret store (ADR-0030), and data spreading by equal, proportional, repeat, or clear (ADR-0029).
  • Fail-closed element security on global dimension reads (ADR-0033).

See CHANGELOG.md for the full list. Prebuilt single-binary downloads (Linux x86_64/aarch64, Windows x86_64, macOS aarch64) are attached once the release build completes.