Repository navigation
v0.184.0
0.184.0 (2026-10-28)
⚠ BREAKING CHANGES
--format csvand--format tableare removed fromsqb query,sqb recall queryandsqb recall schema. They fail with a message naming the replacement: use the default output,--format longfor one record per row, or--jsonfor programs.
Query output
sqb queryandsqb recall queryshare one renderer. It prints a table with each column's warehouse type when the result fits the terminal (120 characters when redirected), and one record per row otherwise, so no column or value is cut. The footer says how to see more rows and, above 50 rows, suggests aggregating or limiting the query.- An adapter that reports no type for a column leaves the type cell empty.
Recall
- SIGTERM cancels running warehouse statements and stops in well under a second. The run is recorded as
cancelled, with its real end time, the signal and exit code 143 (130 for Ctrl+C), and its start and end events are written exactly once. A second SIGTERM kills the process immediately. - Each invocation records its effective selection, including selections passed in a selector file.
- Failing audits keep their evidence rows in Recall.
recall.audit_evidencecontrols this:warn-and-error(default),error(rows for error outcomes only) oroff. Rows are capped byevidence_limit(20 by default, overridable per audit) and 64 KB, with a truncation flag.offanderroralso stop rows from being collected for the warehouse audit history. - Failed and cancelled statements keep their SQL.
- Cost-telemetry statements are marked, and the cost-attribution status is recorded, so query-history timeouts no longer appear as unexplained failed statements.
Compile and Rules
- When Rules fail, compile still writes each model's expanded SQL, with a not-buildable header on failing models, and removes a stale
target/manifest.json. Other artifacts stay as the last passing compile left them, and the compiled file of a model removed from the project is deleted. Compile keeps a record of the model files it wrote intarget/compiled-models.txt. - SQBRSQL028 judges each column of a SQL macro call's query as it is written: plain slot reads in macro bodies are consistent, a read through a relation passed to the macro fits either style, and a macro's bare output beside hand-qualified columns is rejected.
Fixes
sqb auditon preserve targets stores standalone audit history beside the models instead of in a literalpreserveschema.
Build
- Requires fensu 0.28.0.
Full change: db2f274