Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,117 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## v2.49.0 - 2026-04-27

### Added

- ide: goto def for select into (#1086)

```sql
select 1 a into t;
-- ^ 2. dest
select a from t;
-- ^ 1. goto def src
```

and

```sql
select 1 a into t;
-- ^ 2. dest
select a from t;
-- ^ 1. goto def src
```

- ide: goto def with view & qualified column (#1081)

```sql
create view v as select 1 id, 2 b;
-- ^ 2. dest
select v.id from v;
-- ^ 1. goto def src
```

- ide: goto def from graph_table to create property graph (#1077)

```sql
create property graph myshop vertex tables (t key (a) no properties);
-- ^ 2. dest
select 1 from graph_table (myshop
-- ^ 1. goto def src
match (n is t)
columns (1 as x));
```

- fmt: more work towards full select and create table support (#1079)

```sql
-- before
create table t(a int,b text);

-- after
create table t(
a int,
b text
);
```

```sql
-- before
select array[[1,2],[3,4]];

-- after
select array[[1, 2], [3, 4]];
```

### Fixed

- ide: fix shadowing cte column w/ `*` hover + func call syntax for cte & views (#1094)

```sql
-- shadowing
create table t(a int, b int);
with
t as (
select 1
),
-- yy overrides y since there's only 1 column in the *
u(x, yy) as (
select *, 2 y, 3 z from t
)
select y from u;
-- ^ 1. goto def src - doesn't resolve because of override above
```

```sql
-- function call syntax for cte column
with cte as (select 1 as a)
-- ^ 2. dest
select a(cte) from cte;
-- ^ 1. goto def src
```

```sql
-- function call syntax for view column
create view v as select 1 as a;
-- ^ 2. dest
select a(v) from v;
-- ^ 1. goto def src
```

### Internal

- ide/server/wasm: use salsa for binder caching (#1078)
- ide: cleanup goto def & find ref tests to prep for extension support (#1080)
- ide: split resolve into resolve/collect/ast_nav & dedupe code (#1085)
- ide: consolidate name helpers (#1090)
- ide: update return types in resolve_name_ref to use Location (#1089)
- ide: simplify hovering for names (#1088)
- ide: refactor hover & find refs to use goto_def (#1087)
- ide: refactor resolve and fix a couple edge cases (#1094)
- ide: refactor resolve to use name related functions (#1092)
- ide: refactor code actions into their own modules (#1091)

## v2.48.0 - 2026-04-18

### Added
Expand Down
24 changes: 12 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ default-members = ["crates/squawk"]
resolver = "2"

[workspace.package]
version = "2.48.0"
version = "2.49.0"
edition = "2024"
rust-version = "1.94"
authors = ["Squawk Team & Contributors"]
Expand Down Expand Up @@ -78,14 +78,14 @@ rustc-hash = "2.1.1"

# local
# we have to make the versions explicit otherwise `cargo publish` won't work
squawk-github = { path = "./crates/squawk_github", version = "2.48.0" }
squawk-ide = { path = "./crates/squawk_ide", version = "2.48.0" }
squawk-lexer = { path = "./crates/squawk_lexer", version = "2.48.0" }
squawk-parser = { path = "./crates/squawk_parser", version = "2.48.0" }
squawk-syntax = { path = "./crates/squawk_syntax", version = "2.48.0" }
squawk-linter = { path = "./crates/squawk_linter", version = "2.48.0" }
squawk-server = { path = "./crates/squawk_server", version = "2.48.0" }
squawk-thread = { path = "./crates/squawk_thread", version = "2.48.0" }
squawk-github = { path = "./crates/squawk_github", version = "2.49.0" }
squawk-ide = { path = "./crates/squawk_ide", version = "2.49.0" }
squawk-lexer = { path = "./crates/squawk_lexer", version = "2.49.0" }
squawk-parser = { path = "./crates/squawk_parser", version = "2.49.0" }
squawk-syntax = { path = "./crates/squawk_syntax", version = "2.49.0" }
squawk-linter = { path = "./crates/squawk_linter", version = "2.49.0" }
squawk-server = { path = "./crates/squawk_server", version = "2.49.0" }
squawk-thread = { path = "./crates/squawk_thread", version = "2.49.0" }

[workspace.lints.clippy]
collapsible_else_if = "allow"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ to your project's `.pre-commit-config.yaml`:
```yaml
repos:
- repo: https://github.com/sbdchd/squawk
rev: 2.48.0
rev: 2.49.0
hooks:
- id: squawk
files: path/to/postgres/migrations/written/in/sql
Expand Down
2 changes: 1 addition & 1 deletion crates/squawk_github/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use serde_json::Value;
use std::time::Duration;
use std::time::{SystemTime, UNIX_EPOCH};

pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/2.48.0";
pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/2.49.0";

#[derive(Debug, Serialize)]
struct CommentBody {
Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
{
squawk = final.rustPlatform.buildRustPackage {
pname = "squawk";
version = "2.48.0";
version = "2.49.0";

cargoLock = {
lockFile = ./Cargo.lock;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "squawk-cli",
"version": "2.48.0",
"version": "2.49.0",
"description": "linter for PostgreSQL, focused on migrations",
"repository": "git@github.com:sbdchd/squawk.git",
"author": "Squawk Team & Contributors",
Expand Down
2 changes: 1 addition & 1 deletion squawk-vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"icon": "icon.png",
"author": "Squawk Team & Contributors",
"license": "(Apache-2.0 OR MIT)",
"version": "2.48.0",
"version": "2.49.0",
"engines": {
"vscode": "^1.101.0"
},
Expand Down
Loading