Skip to content

chore(main): release 0.3.0 - #158

Merged
kvlonge merged 1 commit into
mainfrom
release-please--branches--main--components--sqlquack
Nov 10, 2026
Merged

kvlonge merged 1 commit into
mainfrom
release-please--branches--main--components--sqlquack

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.3.0 (2026-11-10)

Upgrade notes

  • census: sqlquack census now reports a diagnostic for each blocked file by default, and exits 1 when any file is blocked, so scripts that read its exit code or output need updating. The coverage report moves behind --detailed (with file, model and relation names and the slowest files) or --anonymous (counts and construct keys only, never SQL or names). --names is removed; use --detailed.
  • Next release: the configuration file (sqlquack.toml) and its command-line flags change in the next release.

⚠ BREAKING CHANGES

  • census: --names is removed. Use --detailed for a named report and --anonymous for a report without names.
  • census: the previous anonymous counts report moves behind --detailed. --names and --assume-supported now require --detailed, and the slowest-files list appears only in detailed mode. Census now exits 1 when any file is blocked.

Features

  • census: add --anonymous for a shareable counts-only report (f94b4d9)
  • census: name the unknown relation in a name-resolution cause (c587e72)
  • census: report a diagnostic for each blocked file (fbadd64)
  • cli: explain known differences and list them or every code (9d62bf2)
  • cli: plain-English diagnostics and a one-line summary of known differences (4758180)
  • cli: quote the policy file's reason in --verbose known-difference warnings (c1ed980)
  • policy: describe all 38 known differences in plain English (101b811)
  • policy: describe known differences in plain English (c93f4ee)
  • sqlserver: read FOR SYSTEM_TIME as the table's version, its bounds a constant or a variable as SQL Server requires (0b68995)
  • sqlserver: read FOR XML, FOR JSON and FOR BROWSE, and lay out FOR XML and FOR JSON as SQLClean does (aa6da9b)
  • sqlserver: read join hints, REMOTE only after INNER, and keep them in the join keyword when laying out (fd8b0eb)
  • sqlserver: read table hints, with SQL Server's conflict rules and the hints a write target refuses (c24aa5d)
  • sqlserver: read table variables as table sources and write targets, without the hints and samples SQL Server refuses them (2c93771)
  • sqlserver: read TABLESAMPLE on a table name, after its alias and before its hints, as SQL Server does (c6bbd9c)

Bug Fixes

  • census: keep model chaining opt-in (8c25d57)
  • cli: mark differences the defaults allow only in part (eab0a1d)
  • cli: say known difference in census, review and verify output (df82e77)
  • convert: name the project's sqlquack.toml by its name, not its folder's path (affd49f)
  • coverage: refuse cited translation cases whose path has an empty, . or .. part (4dfb5fc)
  • diagnostics: say what must be true of the session, not how to change the setting (64166cc)
  • diagnostics: show a known difference's fine and wrong cases as whole sentences (e87b620)
  • distributions: compile DuckDB's ICU extension into every bundled build (5b4ee0f)
  • distributions: compile DuckDB's json extension into every bundled build (267e0b9)
  • distributions: keep DuckDB's compiled-in extensions in Linux links (f1cbdb6)
  • distributions: name DuckDB's release version in builds from its sources (cae4c1c)

Performance Improvements

  • cast a widened number literal to its wider DECIMAL only once (cfaa28d)
  • semantics: analyse a statement's lineage and findings in one pass (4da19b0)
  • semantics: cheaper per-level findings bookkeeping (5349692)
  • semantics: read a level's output aliases without copying them per projection (6be2847)
  • semantics: read each Snowflake type spelling once per thread (7013ca5)
  • semantics: reuse a level's FROM items between resolution and findings (31c42e8)
  • semantics: share a level's alias-free traces between resolution and findings (87786d3)
  • semantics: share a resolved query's column list instead of copying it (6e0f593)
  • syntax: box the star expression so every expression moves fewer bytes (c786e78)
  • syntax: check strict coverage on the parser's own tokens (73a6fff)
  • syntax: let dialect parsers inline token text reads (fe9a0ee)
  • syntax: list children without tracking their paths (6c054a0)
  • syntax: look Snowflake reserved words up instead of scanning the list (503ecee)
  • syntax: read ASCII single-character tokens and identifier quotes from a table (754664d)
  • syntax: reserve the token list once per tokenize run (2096c69)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--sqlquack branch 3 times, most recently from 7d04949 to e346402 Compare November 10, 2026 06:47
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--sqlquack branch from e346402 to adce565 Compare November 10, 2026 06:48
@kvlonge
kvlonge merged commit 89eaa63 into main Nov 10, 2026
8 checks passed
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant