2.0.0-dev.30
Released August 27, 2026
Features
- Add Exasol adapter (Phase 1): connection/auth with TLS and timeout profile options, metadata adapter, agate/seed type conversion (incl. HASHTYPE) and typed SQL literals, reserved-keyword auto-quoting, and the full macro bundle — materializations (table/view/incremental append·merge·delete+insert·microbatch), snapshots (timestamp/check, hard deletes), model contracts and constraints, on_schema_change, grants, persist_docs for tables and views, catalog generation, source-freshness, cross-database utils (dateadd/datediff/last_day/hash/bool_or/listagg/safe_cast/equals/split_part), distribute_by/partition_by/primary_key configs, and interactive dbt init setup
- Add parse-safe views (dbt.graph_nodes, dbt.models, dbt.seeds, dbt.tests, dbt.snapshots, dbt.sources, dbt.analyses, dbt.operations, dbt.functions, dbt.columns) so standalone querying of an exported index (views.sql) never silently exposes a compile-only or never-populated column at parse time.
- [ClickHouse] New configs available: definer, sql_security, inserts_only. Available but not working yet: projections, codec. (#14585)
- Track ref()/source()/this call provenance during Jinja rendering (on_this_reference listener hook), powering the dbt.hard_coded_reference (DBT05) lint rule (#16080)
Fixes
- Fix regression in log-format-file use (#15685)
- Include invocation IDs in default Databricks query comments and preserve run-operation connection names (#15689)
- Accept sequence-valued column_types, mapping-valued event_time, scalar policy_tags, and the legacy data-paths alias to match dbt-core's YAML config acceptance
Under the Hood
- The oss CLI now builds as a binary named
dbtinstead ofdbt-sa-cli(build output is attarget/<profile>/dbt)
Security
- Skip symlink, hard link, and device entries when extracting package tarballs instead of extracting them as-is