Repository navigation
v0.186.0
0.186.0 (2026-10-29)
Quoted mixed-case column names
Columns with quoted mixed-case names, such as "listingId", now work end to end on Snowflake and DuckDB: model headers, fixtures, contracts, planning, builds, runtime contract checks, type enforcement, incremental schema checks, loads, migrations and data diffs. A header may declare the column quoted or unquoted.
SQL is read with your adapter's lexical rules
Every scanner that finds references, macros and interpolations now follows the project adapter's rules for strings and comments: backslash escapes in Snowflake strings ('O\'Brien' no longer breaks local replay), E'…' and dollar-quoted strings on DuckDB and Postgres, raw and triple-quoted strings, and dialect line comments such as // and #.
sqb query
- No more "Project discovery" line. On a terminal, "Connecting to snowflake…" or "Running query…" appears only when that step takes longer than 300 ms; piped and JSON output contain only the result.
- The Snowflake adapter sets
SNOWFLAKE_DISABLE_PLATFORM_DETECTION=trueunless you have set it, which removes cloud-metadata probes and their warnings at connect time. The adapter page explains how to turn detection back on.
Fixes
- DuckDB
SET search_pathnow refreshes cached relation listings, and unqualified existence checks match schemas case-insensitively. - A build reuses the schema listings made while planning, refreshed after 60 seconds.
- The Python import hook looks in project paths first and handles changes of working directory.
- Three DuckShop core models are now deterministic.
- Requires
polyglot-sql-chio0.13.10, which fixes DuckDB lambda translation in local scenarios.
Behaviour change
- A
rule_ignoresentry whose exact path (without glob characters) does not exist now fails compilation, asrule_exceptionsalready did. Remove or correct stale entries.
Full change: #1270