All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- differentiate between
VOLATILE
and non-VOLATILE
defaults inadding-field-with-default
documentation (#201)
- require-concurrent-index-deletion rule and removed deletion warnings from require-concurrency-index-creation. Thanks @K-Phoen! (#177)
- errors parsing PG12 and later query syntax by upgrading to PG13 parser (#174)
- parsing alter constraint statement (#173)
- copy pasta of rename-table into the ban-drop-column rule (#168)
- parsing an index without a name specified (#169)
- false positives with disallowed-unique-constraint and adding-serial-primary-key-field. Thanks @qoelet! (#161)
- false positives with require-concurrent-index rule (#157)
- incorrect internal schema for "alter table" statements with function calls. Thanks @qoelet! (#154)
- incorrect internal schema for "create partition" statements. (#146)
upload-to-github
command not obeying top level--exclude
s. (#142)
- allowing adding not null column with default for
adding-not-null-field
. (#144)
- link to website for tty reporter when there are lint errors. (#120)
DROP INDEX
support for "require-concurrent-index-creation" and "prefer-robust-stmts". (#124)- github comment now includes Squawk's version number. (#131)
- new
ban-drop-column
rule (#132)
- updated "adding-not-null-field" to warn about making a column non-nullable with
NOT NULL
. See the "adding-not-null-field" docs for more information. (#101)
- false positive with
prefer-text-field
that wasn't allowingvarchar
without a length specified
- added "debug" option for
--dump-ast
to print out tree using Rust'sDebug
formatter (#92) - added new rule, "adding-foreign-key-constraint", to provide suggestions for safely adding foreign key constraints (#91)
- updated "robust-stmts" suggestions with caveat about
IF NOT EXISTS
(#95) - updated "constraint-missing-not-valid" to warn about adding a constraint as NOT VALID and then using "VALIDATE CONSTRAINT" in the same transaction (#97)
- updated "prefer-robust-stmts" with exception for using
DROP CONSTRAINT IF EXISTS
beforeADD CONSTRAINT
(#99)
- error reporting is more user friendly (#89, #90)
- parsing of RangeVar with missing inh field
- parsing of alter table with type cast
- parsing of create table with primary key constraint on two fields
- run
prefer-text-field
on alter table statments
- new rule
adding-primary-key-field
- parsing
->>
operator
- parse function calls in alter table statements
- new rule
ban-char-type
- upload-to-github comment formatting to hopefully be more clear
- docs on crates.io for sub crates
- new rule
prefer-robust-stmts
- upload-to-github commenting on PRs when no files provided (#30)
- remove
SQUAWK_GITHUB_BOT_NAME
env var for github upload, no longer needed (#27)
- false positive in unique constraint rule (#28)
- logging, mainly around upload-to-github (#24)
--stdin-filepath
argument (#23)- output a success message for CLI tty reporter (#22)
- prefix env vars with SQUAWK_ (#21)
- error level HTTP status codes not being errors (#20)
upload-to-github
subcommand for outputing squawk results in a GitHub PR comment.- print help menu when no options provided
- automatically detect stdin instead of using the
-
path
- off by one error in slicing problem SQL for the tty reporter
- documentation for rules
- release binaries
- CI
- Initial release