Skip to content

Releases

v0.12.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 13 Nov 16:52

0.12.0 (2026-11-13)

Features

  • syntax: parse Snowflake EXECUTE IMMEDIATE into a structured node (5cfcbe0)

Bug Fixes

  • syntax: check a CREATE VARIABLE's type, default and comment (66f09a0)
  • syntax: check DESCRIBE FUNCTION TABLE arguments (f556c0f)
  • syntax: check warehouse table lists, ABORT, unnamed actions and connector PUSH (f4ec2d3)
  • syntax: follow the recorded RESULTSET, notebook name and SHOW SERVICES verdicts (f0799e7)
  • syntax: read a lone APPLICATION, CLASS or grantee kind in Snowflake SHOW as a name (1c7b1bf)
  • syntax: read a notebook named PROJECT with options and an unnamed ALTER WAREHOUSE IF EXISTS (908ad5b)
  • syntax: read SHOW WITH PRIVILEGES as documented privileges (8565bf4)
  • syntax: refuse CONTACT on an event table (de1fa67)

v0.11.3

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 13 Nov 12:33

0.11.3 (2026-11-13)

Bug Fixes

  • syntax-receipts: place errno 921 parse errors as syntax errors (e770e16)
  • syntax-receipts: place errors that show Snowflake read an object statement as semantic (ecce335)
  • syntax: accept documented EXECUTE IMMEDIATE sources and keep DEFINE in DEFINE text (4938fa7)
  • syntax: check external agents, connector versions, root task lists and organization user groups (55b02e6)
  • syntax: check SHOW SERVICES, service snapshots and DEFINE FILE FORMAT modifiers (50f569d)
  • syntax: keep INCREMENT = to Snowflake and read SET INCREMENT as an integer (f2d1e81)
  • syntax: need a user name to rename, enroll MFA, or set a user policy or tag (a2386f9)
  • syntax: read ALTER DYNAMIC TABLE actions the way Snowflake records them (6a6e004)
  • syntax: read ALTER SEQUENCE SET and the smallest sequence START (5516f15)
  • syntax: read CREATE and ALTER POSTGRES INSTANCE as Snowflake does (94cc0c8)
  • syntax: read dynamic table clones, SET and event routing rules as the probe batch recorded (5e87a78)
  • syntax: read external consumers, AI functions, EXECUTE IMMEDIATE and DEFINE of tags, pipes and code bundles as Snowflake does (81d9549)
  • syntax: read notebook projects, organization profiles and group name properties as Snowflake does (6559625)
  • syntax: read Snowflake GRANT, REVOKE and SHOW GRANTS as Snowflake does (9e31fde)
  • syntax: read the object statement shapes the probe batch settled (7d2a329)

v0.11.2

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 13 Nov 04:23

0.11.2 (2026-11-13)

Bug Fixes

  • syntax: accept DEFINE DATABASE and SCHEMA with properties (f8193fd)
  • syntax: read CREATE and ALTER DATA MOVEMENT RULE as Snowflake does (71aaa30)
  • syntax: read CREATE and DEFINE ALERT as Snowflake does (16d0f5e)
  • syntax: read CREATE and DEFINE STREAMLIT as Snowflake does (02610d6)
  • syntax: read CREATE BACKUP SET, SNAPSHOT SET and APPLICATION as Snowflake does (3457610)
  • syntax: read CREATE CORTEX SEARCH SERVICE as Snowflake does (9f5f666)
  • syntax: read CREATE EXTERNAL and ORGANIZATION LISTING as Snowflake does (cf25d86)
  • syntax: read CREATE SERVICE and APPLICATION SERVICE as Snowflake does (d8725e4)
  • syntax: read Snowflake procedure modes, handler words and scoped tables (e4b5543)

v0.11.1

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 13 Nov 01:33

0.11.1 (2026-11-13)

Bug Fixes

  • lint: read a FIRST or LAST join alias as the relation's alias (f009b82)
  • syntax: accept an online feature table without TARGET_LAG or with IF NOT EXISTS (98e46f8)
  • syntax: read ALTER and DROP MODEL monitor as a model named or qualified by monitor (8fe9485)
  • syntax: record a SEMANTIC_VIEW that writes DIMENSIONS before METRICS or FACTS (8343a82)
  • syntax: record a stage path as a stage reference, not a string (75399f2)

v0.11.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 12 Nov 21:30

0.11.0 (2026-11-12)

Features

  • syntax: give nine Snowflake property-list CREATE kinds structured trees (351d2c2)

Bug Fixes

  • syntax: accept a COPY FILES stage written as a string literal (1e89bad)
  • syntax: end compute pool and artifact repository CREATEs at their tag list, and name RSS (dee1656)
  • syntax: keep a parenthesized property list flat (a8db36d)
  • syntax: keep FOR APPLICATION to compute pools, read CREATE MODEL monitor as a model, and refuse a job service option given on both sides of FROM (b2a8bc5)
  • syntax: read a bare FIRST or LAST as a join alias, refuse FIRST ( x ) after an aliased table, and take job service options before FROM (925f2f7)
  • syntax: record AS on a table alias only when the SQL writes it (6c2692b)

v0.10.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 12 Nov 17:39

0.10.0 (2026-11-12)

Features

  • syntax: check the head and option lists of Snowflake statements kept as text (48f2895)

Bug Fixes

  • syntax: name DELETE USING subqueries, semantic views and FIRST/LAST join aliases as what they are (506cc2e)

v0.9.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 12 Nov 16:30

0.9.0 (2026-11-12)

Features

  • syntax: check Snowflake class instance commands against their grammar (8ace8c0)
  • syntax: parse EXECUTE DCM PROJECT plan, deploy and preview (23aae47)

Bug Fixes

  • syntax: keep DCM names and anonymous procedure return nullability in the tree (24c23aa)
  • syntax: refuse a null-input clause on a Snowflake handler-language anonymous procedure (4e6a694)

v0.8.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 12 Nov 14:25

0.8.0 (2026-11-12)

Features

  • syntax: build Snowflake semantic views as nodes (45d2ebb)
  • syntax: check Snowflake ALTER VIEW properties against their grammar (ad4c296)
  • syntax: check Snowflake streams against their grammar (2837449)
  • syntax: check Snowflake views and materialized views against their grammar (bd58df1)

Bug Fixes

  • semantics: give every select item its range through each dialect's strict parser (8e7bfdc)
  • syntax: read a Snowflake view's column list after its properties (344755e)
  • syntax: read every Snowflake stream option on every source (4bd716c)
  • syntax: refuse Snowflake view shapes its receipts reject (6b23d65)

v0.7.0

Choose a tag to compare

@chio-labs-delivery chio-labs-delivery released this 12 Nov 08:03

0.7.0 (2026-11-12)

Features

  • convert: run FULL JOIN USING after a JOIN without ON left to right (1cbc3bd)

Bug Fixes

  • syntax-cases: render external table options and DCM environments as documented (dc5dd46)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 04:08

0.6.0 (2026-11-12)

Features

  • convert: convert TOP and FETCH FIRST to LIMIT (b593f7e)
  • convert: lay out DuckDB output and helper macros with the formatter (be7425b)
  • convert: run JOIN without ON as a cross join and name more unaliased columns (8f02569)
  • format: break wide window specifications and keep one-line clauses on their header (61e7a4e)
  • format: give parenthesised groups that span lines their own lines (c8e14ba)
  • format: keep token case on request and lay out converted DuckDB SQL (4637fde)
  • semantics: give each output column its expression's byte range (f09d2e9)
  • syntax: accept Snowflake's scoped and volatile temporary tables (8d5ba02)
  • syntax: build Snowflake dynamic iceberg and interactive tables as nodes (ad40a47)
  • syntax: build Snowflake table and view governance actions as nodes (b98b9a0)
  • syntax: build Snowflake tables with policies as structured nodes (168431e)
  • syntax: check Snowflake DCM table definitions against the table grammar (d88fa2f)
  • syntax: check Snowflake event, event routing and online feature tables (2e21de6)
  • syntax: check Snowflake hybrid table indexes (38ae49e)
  • syntax: check Snowflake iceberg and dynamic tables against their grammar (498be3a)
  • syntax: check Snowflake table search optimization targets (5ac49ea)
  • syntax: parse Snowflake external tables into structured nodes (39207dd)
  • syntax: parse Snowflake iceberg column type and write default actions (b2725c8)
  • syntax: parse Snowflake iceberg partition evolution (1872de0)
  • syntax: parse Snowflake table reclustering and iceberg refresh (7d42d8b)
  • syntax: parse Snowflake's key and unnamed constraint drops and constraint renames (066cf8d)
  • syntax: read several Snowflake table properties after one SET (d3523c7)
  • syntax: read Snowflake ALTER TABLE ADD with the table grammar (5939f22)

Bug Fixes

  • check: refuse == as Snowflake does, with a new SQ0206 (86e200b)
  • diagnostics: keep node names and guessed aliases out of the unaliased column message (cd64a37)
  • format: keep a sign touching a modulo, which DuckDB reads as one operator (50734ca)
  • format: keep the extra indent of a tighter operator under a looser one (bab166c)
  • semantics: leave every set operation's outputs without a range (23c1099)
  • syntax-coverage: fail on a not-submitted entry whose case has a receipt (cde63cd)
  • syntax-receipts: count a run-database packet's repeated template once (ee638f5)
  • syntax-receipts: document the phase rules in order and keep timeouts refused (c3a5599)
  • syntax-receipts: import execute runs that have no run database (01ace82)
  • syntax-receipts: place replication not enabled for the account as semantic (e55255a)
  • syntax-receipts: place reviewed errors whose message shows Snowflake parsed the statement (bcc7178)
  • syntax-receipts: refuse a record whose connector failed before Snowflake answered (9b67a8b)
  • syntax-receipts: refuse a run-database packet carrying another run's template (722d8b8)
  • syntax: keep the parentheses of a set operation that starts a longer one (20078f8)
  • syntax: keep the parse in parse_strict so the instruction guard counts it (4f5cdfa)
  • syntax: keep the source range of Snowflake table column names (451032f)
  • syntax: name what is missing when a statement ends where an expression belongs (b802ca9)
  • syntax: parse keyword lambda parameters and nested parenthesised set operations (9e2b9b6)
  • syntax: parse Snowflake timestamp conversions with no arguments (369de78)
  • syntax: point a dangling operator before GROUP BY or ORDER BY at the clause (9d34f79)
  • syntax: read every secondary role of a Snowflake dynamic table (b18355d)
  • syntax: record a star's source range in a located parse (d91f489)
  • syntax: refuse misplaced Snowflake table actions (fb4e866)
  • syntax: require a value for every Snowflake session setting (32ddec1)

Performance Improvements

  • semantics: map output ranges in ASCII SQL without scanning it (8a2ea92)