diff --git a/CHANGELOG.md b/CHANGELOG.md index 29a58898..38a8a137 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## v2.64.0 - 2026-08-31 + +### Added + +- linter: prefer-robust-stmts aware of alembic version update transactions (#1311). Thanks @DylanGriffith! + +- fmt: support for all statements (#1321, #1319, #1317, #1312, #1310, #1309, #1307, #1306, #1305, #1303, #1302, #1300, #1299) + +- ide: add formatting support (#1315) +- ide: code action isnull -> is null, notnull -> is not null (#1296) +- ide: code actions for func params (#1322) +- ide: code action to convert `default` to `=` in function syntax (#1316) +- ide: code actions for :=/=> & value/: rewrites (#1313) + +- parser: validation for variadic, function defaults, params (#1325, #1324, #1323) +- parser: validate string literal type cast (#1320) + +- playground: add code formatting output (#1326) + +### Changed + +- parser: split bit & time type ast nodes (#1297) +- parser: add nodes for interval & array bounds (#1301) +- parser: improve parsing of operators in using and exclude (#1304) +- parser: refactor percent type out of ast::Type (#1318) +- parser: refactor char type into character and varchar nodes (#1295) + +### Fixed + +- syntax: fix unquoting & add more funcs (#1298) + ## v2.63.0 - 2026-08-19 ### Added diff --git a/Cargo.lock b/Cargo.lock index 01617bb5..f624e057 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2413,7 +2413,7 @@ dependencies = [ [[package]] name = "squawk" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "anyhow", @@ -2443,7 +2443,7 @@ dependencies = [ [[package]] name = "squawk-fmt" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "anyhow", @@ -2462,7 +2462,7 @@ dependencies = [ [[package]] name = "squawk-github" -version = "2.63.0" +version = "2.64.0" dependencies = [ "jsonwebtoken", "log", @@ -2473,7 +2473,7 @@ dependencies = [ [[package]] name = "squawk-ide" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "etcetera", @@ -2496,14 +2496,14 @@ dependencies = [ [[package]] name = "squawk-lexer" -version = "2.63.0" +version = "2.64.0" dependencies = [ "insta", ] [[package]] name = "squawk-line-index" -version = "2.63.0" +version = "2.64.0" dependencies = [ "insta", "memchr", @@ -2514,7 +2514,7 @@ dependencies = [ [[package]] name = "squawk-linter" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "enum-iterator", @@ -2530,7 +2530,7 @@ dependencies = [ [[package]] name = "squawk-parser" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "camino", @@ -2543,7 +2543,7 @@ dependencies = [ [[package]] name = "squawk-server" -version = "2.63.0" +version = "2.64.0" dependencies = [ "anyhow", "crossbeam-channel", @@ -2571,7 +2571,7 @@ dependencies = [ [[package]] name = "squawk-syntax" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "camino", @@ -2586,7 +2586,7 @@ dependencies = [ [[package]] name = "squawk-thread" -version = "2.63.0" +version = "2.64.0" dependencies = [ "crossbeam-channel", "crossbeam-utils", @@ -2598,7 +2598,7 @@ dependencies = [ [[package]] name = "squawk-wasm" -version = "2.63.0" +version = "2.64.0" dependencies = [ "console_error_panic_hook", "console_log", @@ -3476,7 +3476,7 @@ checksum = "32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547" [[package]] name = "xtask" -version = "2.63.0" +version = "2.64.0" dependencies = [ "annotate-snippets", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 2a705b3b..307630dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["crates/*"] resolver = "2" [workspace.package] -version = "2.63.0" +version = "2.64.0" edition = "2024" rust-version = "1.94" authors = ["Squawk Team & Contributors"] @@ -83,16 +83,16 @@ rustc-hash = "2.1.1" # local # we have to make the versions explicit otherwise `cargo publish` won't work -squawk-fmt = { path = "./crates/squawk_fmt", version = "2.63.0" } -squawk-github = { path = "./crates/squawk_github", version = "2.63.0" } -squawk-ide = { path = "./crates/squawk_ide", version = "2.63.0" } -squawk-lexer = { path = "./crates/squawk_lexer", version = "2.63.0" } +squawk-fmt = { path = "./crates/squawk_fmt", version = "2.64.0" } +squawk-github = { path = "./crates/squawk_github", version = "2.64.0" } +squawk-ide = { path = "./crates/squawk_ide", version = "2.64.0" } +squawk-lexer = { path = "./crates/squawk_lexer", version = "2.64.0" } squawk-line-index = { path = "./crates/squawk_line_index", version = "2.61.0" } -squawk-parser = { path = "./crates/squawk_parser", version = "2.63.0" } -squawk-syntax = { path = "./crates/squawk_syntax", version = "2.63.0" } -squawk-linter = { path = "./crates/squawk_linter", version = "2.63.0" } -squawk-server = { path = "./crates/squawk_server", version = "2.63.0" } -squawk-thread = { path = "./crates/squawk_thread", version = "2.63.0" } +squawk-parser = { path = "./crates/squawk_parser", version = "2.64.0" } +squawk-syntax = { path = "./crates/squawk_syntax", version = "2.64.0" } +squawk-linter = { path = "./crates/squawk_linter", version = "2.64.0" } +squawk-server = { path = "./crates/squawk_server", version = "2.64.0" } +squawk-thread = { path = "./crates/squawk_thread", version = "2.64.0" } [workspace.lints.clippy] collapsible_else_if = "allow" diff --git a/README.md b/README.md index e653f593..a7ae14f6 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ to your project's `.pre-commit-config.yaml`: ```yaml repos: - repo: https://github.com/sbdchd/squawk - rev: v2.63.0 + rev: v2.64.0 hooks: - id: squawk files: path/to/postgres/migrations/written/in/sql diff --git a/crates/squawk_github/src/app.rs b/crates/squawk_github/src/app.rs index 0035ef93..553f177e 100644 --- a/crates/squawk_github/src/app.rs +++ b/crates/squawk_github/src/app.rs @@ -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.63.0"; +pub(crate) const SQUAWK_USER_AGENT: &str = "squawk/2.64.0"; #[derive(Debug, Serialize)] struct CommentBody { diff --git a/flake.nix b/flake.nix index 64e0e663..4d2e537a 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ { squawk = final.rustPlatform.buildRustPackage { pname = "squawk"; - version = "2.63.0"; + version = "2.64.0"; cargoLock = { lockFile = ./Cargo.lock; diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 1978caa4..73c2bfce 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@squawk-cli/darwin-arm64", - "version": "2.63.0", + "version": "2.64.0", "description": "squawk-cli binary for darwin-arm64", "repository": "git@github.com:sbdchd/squawk.git", "license": "(Apache-2.0 OR MIT)", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 0be118f7..bcb13cc3 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@squawk-cli/darwin-x64", - "version": "2.63.0", + "version": "2.64.0", "description": "squawk-cli binary for darwin-x64", "repository": "git@github.com:sbdchd/squawk.git", "license": "(Apache-2.0 OR MIT)", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 4cdd3fba..c3c4500e 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@squawk-cli/linux-arm64", - "version": "2.63.0", + "version": "2.64.0", "description": "squawk-cli binary for linux-arm64", "repository": "git@github.com:sbdchd/squawk.git", "license": "(Apache-2.0 OR MIT)", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index c12eaf59..e5e5b284 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@squawk-cli/linux-x64", - "version": "2.63.0", + "version": "2.64.0", "description": "squawk-cli binary for linux-x64", "repository": "git@github.com:sbdchd/squawk.git", "license": "(Apache-2.0 OR MIT)", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index acd41394..cf9344bc 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@squawk-cli/win32-x64", - "version": "2.63.0", + "version": "2.64.0", "description": "squawk-cli binary for win32-x64", "repository": "git@github.com:sbdchd/squawk.git", "license": "(Apache-2.0 OR MIT)", diff --git a/package.json b/package.json index f575f40f..914634af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "squawk-cli", - "version": "2.63.0", + "version": "2.64.0", "description": "linter for PostgreSQL, focused on migrations", "repository": "git@github.com:sbdchd/squawk.git", "author": "Squawk Team & Contributors", @@ -29,11 +29,11 @@ "typescript": "^3.9.5" }, "optionalDependencies": { - "@squawk-cli/darwin-arm64": "2.63.0", - "@squawk-cli/darwin-x64": "2.63.0", - "@squawk-cli/linux-arm64": "2.63.0", - "@squawk-cli/linux-x64": "2.63.0", - "@squawk-cli/win32-x64": "2.63.0" + "@squawk-cli/darwin-arm64": "2.64.0", + "@squawk-cli/darwin-x64": "2.64.0", + "@squawk-cli/linux-arm64": "2.64.0", + "@squawk-cli/linux-x64": "2.64.0", + "@squawk-cli/win32-x64": "2.64.0" }, "volta": { "node": "20.19.0", diff --git a/squawk-vscode/package.json b/squawk-vscode/package.json index 59691201..73bcb74f 100644 --- a/squawk-vscode/package.json +++ b/squawk-vscode/package.json @@ -12,7 +12,7 @@ "icon": "icon.png", "author": "Squawk Team & Contributors", "license": "(Apache-2.0 OR MIT)", - "version": "2.63.0", + "version": "2.64.0", "engines": { "vscode": "^1.101.0" },