Highlights
This patch release brings a broad set of parser fixes and dialect enhancements across T-SQL, PostgreSQL, MariaDB/MySQL, Snowflake, Athena, Materialize, and other dialects. T-SQL receives several improvements around privileges, labels, DROP CREDENTIAL, DROP SEQUENCE IF EXISTS, and reference handling for CONTAINSTABLE, while MariaDB/MySQL support is expanded for trigger, partitioning, system versioning, charset/collation, and ALTER TABLE syntax.
There are also rule and templater fixes, including a new Postgres-specific CV13 rule to prefer CREATE INDEX CONCURRENTLY, fewer ST11 false positives for LEFT SEMI and LEFT ANTI joins, and dbt templater support for the DBT_TARGET and DBT_TARGET_PATH environment variables. Performance is also improved by deferring parse-tree serialisation in logging calls.
Alongside the user-facing fixes, this release adds beta docs deployment, versioned documentation publishing, and support for building multiple Docker images. It also includes first-time contributions from twelve new contributors. Thank you all for your contributions. π
Whatβs Changed
- Add beta docs deployment and versioned publishing (#7912) @alanmcruickshank
- perf: defer parse-tree serialisation in logging calls (#7911) @rubytobi
- Fix typo: 'the the' -> 'the' in test comment (#7908) @drori12
- Support T-SQL DROP CREDENTIAL (#7904) @koriyoshi2041
- fix(dbt-templater): honor DBT_TARGET / DBT_TARGET_PATH env vars (#7900) @dtaniwaki
- fix(mariadb): support CREATE OR REPLACE TRIGGER syntax (#7897) @IdanGonen
- fix(postgres): parse \crosstabview after WITH compound statement (CTE) (#7895) @IdanGonen
- Add support for various T-SQL privileges (#7894) @grv87
- fix(tsql): parse label following SELECT without semicolon (#7867) @IdanGonen
- Add Rule CV13: CREATE INDEX should use CONCURRENTLY (Postgres) (#7832) @OmerDital
- Fix more duplicate-word typos in documentation (#7889) @RonGamzu
- Fix Athena property name capitalisation (#7875) @puneetdixit200
- feat(mysql): add support for CURRENT_TIMESTAMP in ALTER TABLE statements (#7885) @peterbud
- Fix duplicate-word typos in docstrings and documentation (#7888) @RonGamzu
- fix(RF01): ignore T-SQL CONTAINSTABLE argument references (#7860) @peterbud
- Fix ST11 false positives for LEFT SEMI and LEFT ANTI joins (#7887) @cyphercodes
- Support MariaDB
ALTER TABLE ... ADD|DROP SYSTEM VERSIONING(#7883) @copilot-swe-agent[bot] - mysql/mariadb: Support ALTER/CREATE TABLE CHARSET/COLLATE DEFAULT (#7882) @keraion
- tsql: parse
DROP SEQUENCE IF EXISTS(#7858) @copilot-swe-agent[bot] - Allow PostgreSQL
BEGIN ATOMICfunction bodies to parseUNION ALL(#7861) @copilot-swe-agent[bot] - ci: build multiple docker images (#7872) @keraion
- build(docs): Deploy Docs CI with pnpm build approvals (#7874) @peterbud
- Force color output when --color is requested (#7873) @puneetdixit200
- LT03: add :attached modifier for leading/trailing line_position (#7704) @saulotoledo
- chore(docs): Update dependencies (#7865) @peterbud
- fix(postgres): support bracketed arguments on user-defined types in casts (#7824) @jonasboos
- fix(mysql,mariadb): support VALUES IN with literals in PARTITION BY LIST (#7826) @jonasboos
- fix(materialize): support LIST type modifier in shorthand casts (#7829) @jonasboos
- fix: parse
table.*in expressions as a wildcard identifier (#7845) @mokashang - fix(snowflake): support SELECT * ILIKE '' syntax (#7866) @pif
- Fix MySQL ALTER TABLE parsing with ALGORITHM and LOCK options (#7864) @Vreyesm
New Contributors
- @Vreyesm made their first contribution in #7864
- @pif made their first contribution in #7866
- @mokashang made their first contribution in #7845
- @puneetdixit200 made their first contribution in #7873
- @cyphercodes made their first contribution in #7887
- @RonGamzu made their first contribution in #7888
- @OmerDital made their first contribution in #7832
- @IdanGonen made their first contribution in #7867
- @dtaniwaki made their first contribution in #7900
- @koriyoshi2041 made their first contribution in #7904
- @drori12 made their first contribution in #7908
- @rubytobi made their first contribution in #7911