← All Releases

v0.2.5

2026-06-12

THE SLING DIRECT PATH

The biggest performance release yet — homogeneous federated models now skip DuckDB entirely and stream source → target in a single hop — plus the new short materialization names, a hard guard against silently misrouted models, and an ASCII banner you'll actually want to run.

ADDED

  • Sling direct path: when every source in an f_table lives on one connection, the entire query (joins and aggregations included) is transpiled to that engine's dialect and streamed by Sling directly to the target — no Parquet staging, no DuckDB. Automatic, per-run, with full fallback to the standard pipeline.
  • f_table and f_incremental — the new canonical materialization names ('f' = federated). The long forms federated_* and federation_* remain accepted aliases; hyphens and underscores both work.
  • dvt version now prints a Spark-style banner on a terminal: the DVT triangle, a figlet wordmark, the version, and the wrapped dbt-core version. Piped output stays plain and parseable; NO_COLOR is respected.
  • dvt debug --all: the dual-layer connection matrix — every profiles.yml output verified on both the dbt-adapter layer and the Sling layer, in parallel. dvt diagnose is an alias.
  • Trino adapter, verified end-to-end (federation source + target).
  • dbt-native +column_types on seeds passes through to Sling — pin a column's type when an engine's inference disagrees with your data.

CHANGED

  • Python models moved to the free plan. Only the nature of the connections you touch is gated — the language costs nothing.
  • dvt run now refuses a standard dbt model that sets a non-default target= (dbt silently ignores the kwarg, so the model would land on the wrong engine). The error points you to f_table / f_incremental.
  • The compatibility macros dvt sync writes now cover all six accepted materialization spellings, and stale macro files are refreshed instead of skipped.
  • GitHub and PyPI now carry the full architecture: the six-step federation pipeline, the execution-paths table, and the design principles.

FIXED

  • Explicit sources.yml database: is now honored during extraction on catalog-qualified engines — a second database on one SQL Server connection (or another catalog on one Databricks workspace) extracts from where it actually lives.
  • Direct-path SQL renders relation names unquoted, letting each engine apply native case resolution (a postgres-quoted lowercase identifier used to miss Snowflake's uppercase-stored tables).

Get it: pip install dvt-core==0.2.5 · wheels on PyPI for macOS (arm64 + x86_64) and Linux, Python 3.10–3.12.