Skip to content

Releases: sbdchd/squawk

New year, New Release: PG 19 Group By All & Many IDE Features

02 Jan 05:15
d2f9e27

Choose a tag to compare

Added

  • ide: add goto def & hover support for types in casts (#799)
  • ide: add initial goto def support for types (#798)
  • ide: support ctes with update (#797)
  • ide: hover with update (#796)
  • ide: goto def with update (#795)
  • ide: goto def with insert/delete & CTE (#794)
  • ide: goto def for joins (#793)
  • ide: goto def & hover with procedures (#792)
  • ide: table alias goto def support (#791)
  • ide: hover for create aggregate (#789)
  • ide: goto def for aggregates (#788)
  • ide: cte improvements, subqueries, values, union select (#787)
  • ide: code action to remove redundant alias (#785)
  • ide: add hover to cte table & columns (#784)
  • ide: support more CTEs in goto def (#783)
  • ide: goto def with cte & select (#782)
  • ide: code action for making inferred column alias explicit (#781)
  • playground: inlay hints, doc symbols, hover, goto def/refs, actions (#779)
  • ide: add columns to document symbols (#778)
  • ide: add document symbols (#777)
  • ide: support hover & goto def for function call style columns in where (#776)
  • ide: support func call syntax in select (#775)
  • ide: support goto def on schema (#774)
  • ide: support hover for delete, insert, and select targets (#773)
  • ide: goto def & hover tables refs in from clause (#772)
  • ide: inlay hints for insert & add goto def for hints (#771)
  • ide: goto def for insert and delete (#770)
  • ide: inlay hints for function calls (#769)
  • ide: function call goto def and hover (#768)
  • ide: add hover for create function (#767)
  • ide: goto def with create & drop function (#766)
  • ide: add hover for create index (#765)
  • ide: add hover for create table (#764)
  • ide: add hover for column in create index (#763)
  • ide: goto def on create/drop index (#762)
  • ide: add basic find refs support (#760)

Fixed

  • parser: fix parsing group by all in CTE (#780)
  • ide: fix goto def with temp table (#761)

Postgres 19 Syntax Support & More Goto Def Support

23 Dec 02:25
c69c76d

Choose a tag to compare

Added

  • parser: add support for postgres 19's partition merge, partition split, and more. (#754)
  • parser: handle missing exprs in case expr (#749)
  • ide: goto def with table stmt (#748)
  • ide: support set search_path (#747)

Internal

  • fix: Removed deprecated cargo_bin() function in snapbox (#746). Thanks @ranger-ross!

Fix NPM Trusted Publishing Round 2

16 Dec 23:38
02bb0f1

Choose a tag to compare

Fixed

  • ci: try to fix npm trusted publishing (#742)

Fix NPM Trusted Publishing

16 Dec 23:19
0e1f799

Choose a tag to compare

Fixed

  • ci: npm trusted publishing (#741)

Ide Features, NPM Trusted Publishing, & Linter Fix for Create Temp Table

16 Dec 14:59
6f5364d

Choose a tag to compare

v2.33.0 - 2025-12-16

Added

  • ide: goto def create temp table (#737)

  • ide: basic goto def for create table/drop table (#736)

  • ide: goto def on begin/commit/rollback (#734)

  • ide: quote & unquote identifiers (#733)

  • ide: add table <-> select rewrites (#728)

  • ide: string rewrites (#725)

  • parser: update grammar & ast (#727)

  • use npm trusted publishing (#724). Thanks @chdsbd!

Fixed

  • linter: fix false positive with create temp table t() on commit drop; (#739)
  • parser: fix reindex parsing (#726)

Fix parsing issues with cross joins & insert/merge/update

05 Dec 05:05
8c116dd

Choose a tag to compare

Fixed

  • parser: fixed issue parsing some insert's with selects and conflict clauses (#720, #721, #722).

Added

  • parser: special case functions like extract are now properly typed in the ast (#719).

Fix False Positive in `adding-foreign-key-constraint` & LSP Support for Case Expressions

24 Nov 21:19
23a9a1c

Choose a tag to compare

Added

  • linter: adding_foreign_key_constraint: allow when create table in transaction (#713)
  • lsp: add code action for case else clause (#709). Thanks @cr4ftx!
  • lsp: go to def for case exprs (#708)
  • parser: fill out more ast nodes (#714)
  • parser: add slice expr node to syntax tree (#707)
  • parser: improve create function & create foreign table robustness (#704)
  • parser: improve option & role lists (#702)
  • parser: improve error recovery for update statements (#701)

Fixed

  • parser: fix nodes for casts so ast access works correctly (#711)
  • linter: fix autofix for int & smallint with array types (#710)

New Rule: ban-uncommitted-transaction

31 Oct 01:18
95d1c0c

Choose a tag to compare

Added

  • linter: new rule ban-uncommitted-transaction

    Squawk now warns about missing commit statements like:

    begin;
    create table t(id bigint);
    warning[ban-uncommitted-transaction]: Transaction never committed or rolled back.
      β•­β–Έ stdin:1:1
      β”‚
    1 β”‚ begin;
      β”‚ ━━━━━
      β”‚
      β”œ help: Add a `COMMIT` or `ROLLBACK` statement to complete the transaction.
      β•­β•΄
    2 Β±
    3 + COMMIT;
      β•°β•΄
    

Linter Fix, Parser & VSCode Improvements

20 Oct 02:20
8b6a435

Choose a tag to compare

Added

  • parser: improve error recovery for option lists in reindex, prepare,
    vacuum, copy, drop database, create type, create function,
    create table, create index (#684)

  • parser: improved error recovery for CTEs (#683)

    with
      a as (
         select 1
      ) -- <-- missing a comma
      b as (
         select 3
      )
    select 2;

    squawk now identifies the missing comma correctly:

      error[syntax-error]: missing comma
      β•­β–Έ stdin:4:6
      β”‚
    4 β”‚     ) -- <-- missing a comma
      β•°β•΄     ━
    
  • parser: improve error recovery of group by & distinct on (#695)

  • vscode: improved commenting behavior (#690)

Fixed

  • linter: fixed false positive with constraint-missing-not-valid (#694)

  • lexer: lex empty dollar quoted strings ($$$$) correctly (#691)

  • linter: identify table statement as fast (#688)

  • lsp: server logs no longer contain ansi codes which vscode garbles (#681)

Fix for require-timeout-settings false positive

04 Oct 03:41
adc0c1a

Choose a tag to compare

Added

  • lsp server: expand selection support. (#674)

Fixed

  • linter: fix require-timeout-settings false positives with create table
    statements that do not have foreign keys. (#675)