Sqlfluff

Latest version: v3.3.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 17 of 26

0.9.3

Not secure
Highlights
Major changes include:

* Add `ignore_words` option for rules L010, L014, L029, L030, L040
* Fix some issues in 0.9.2 preventing some queries linting

What’s Changed
* Prevent L031 throwing exception on unparsable code [2486](https://github.com/sqlfluff/sqlfluff/pull/2486) [tunetheweb](https://github.com/tunetheweb)
* Add linting of fixtures SQL for critical rules errors to tox [2473](https://github.com/sqlfluff/sqlfluff/pull/2473) [tunetheweb](https://github.com/tunetheweb)
* Fix L039 for T-SQL comparison operator using space [2485](https://github.com/sqlfluff/sqlfluff/pull/2485) [tunetheweb](https://github.com/tunetheweb)
* Fix bug in get_alias causing rule Critical errors for T-SQL [2479](https://github.com/sqlfluff/sqlfluff/pull/2479) [tunetheweb](https://github.com/tunetheweb)
* Tweak GitHub templates [2471](https://github.com/sqlfluff/sqlfluff/pull/2471) [tunetheweb](https://github.com/tunetheweb)
* Small speed improvement to L054 [2476](https://github.com/sqlfluff/sqlfluff/pull/2476) [tunetheweb](https://github.com/tunetheweb)
* L003: Revisit recent change to improve speed [2474](https://github.com/sqlfluff/sqlfluff/pull/2474) [barrywhart](https://github.com/barrywhart)
* Fix select_crawler issue with some Exasol statements [2470](https://github.com/sqlfluff/sqlfluff/pull/2470) [tunetheweb](https://github.com/tunetheweb)
* Cleanup date logic by removing DatePartClause and using DatetimeUnitSegment instead [2464](https://github.com/sqlfluff/sqlfluff/pull/2464) [tunetheweb](https://github.com/tunetheweb)
* Fix L044 exception when final statement has no SELECT [2468](https://github.com/sqlfluff/sqlfluff/pull/2468) [tunetheweb](https://github.com/tunetheweb)
* Support T-SQL system variables (e.g. rowcount) [2463](https://github.com/sqlfluff/sqlfluff/pull/2463) [tunetheweb](https://github.com/tunetheweb)
* Add base rule to developing rules page [2462](https://github.com/sqlfluff/sqlfluff/pull/2462) [tunetheweb](https://github.com/tunetheweb)
* L003: Ignore indentation of lines that only exist in templated space [2460](https://github.com/sqlfluff/sqlfluff/pull/2460) [barrywhart](https://github.com/barrywhart)
* Ignore words for various rules [2459](https://github.com/sqlfluff/sqlfluff/pull/2459) [tunetheweb](https://github.com/tunetheweb)
* Support Foreign Key options for MySQL [2461](https://github.com/sqlfluff/sqlfluff/pull/2461) [tunetheweb](https://github.com/tunetheweb)
* Exclude WINDOW clauses from L054 [2455](https://github.com/sqlfluff/sqlfluff/pull/2455) [tunetheweb](https://github.com/tunetheweb)
* Fix bug with L026 for simple deletes [2458](https://github.com/sqlfluff/sqlfluff/pull/2458) [tunetheweb](https://github.com/tunetheweb)
* Spark3: test cases for Common Table Expressions [2454](https://github.com/sqlfluff/sqlfluff/pull/2454) [R7L208](https://github.com/R7L208)
* Fix T-SQL's IDENTITY_INSERT syntax [2452](https://github.com/sqlfluff/sqlfluff/pull/2452) [fdw](https://github.com/fdw)
* T-SQL: Support stored procedures in insert statements [2451](https://github.com/sqlfluff/sqlfluff/pull/2451) [fdw](https://github.com/fdw)
* Spark3: Support for `LOAD DATA` statements [2450](https://github.com/sqlfluff/sqlfluff/pull/2450) [R7L208](https://github.com/R7L208)

0.9.2

Not secure
Highlights
We are pleased to include 110 improvements and fixes in this release, and welcome 7 new contributors to the code.

Major changes include:

* Initial Oracle support (note: SQL, but not PL/SQL)
* Fix more dbt 1.0.0 connection issues
* Improved configuration documentation
* New rule (L059) to flag unnecessary quoted identifiers
* New rule (L060) to prefer `COALESCE` instead of `IFNULL` or `NVL`
* New rule (L061) to prefer `!=` over `<>`
* Many rule fixes
* Many dialect improvements

What’s Changed
* Add Postgres DROP PROCEDURE support [2446](https://github.com/sqlfluff/sqlfluff/pull/2446) [rpr-ableton](https://github.com/rpr-ableton)
* MySQL Alter table ADD/DROP/RENAME INDEX support [2443](https://github.com/sqlfluff/sqlfluff/pull/2443) [tunetheweb](https://github.com/tunetheweb)
* Add basic CREATE PROCEDURE support to Postgres [2441](https://github.com/sqlfluff/sqlfluff/pull/2441) [tunetheweb](https://github.com/tunetheweb)
* Indent T-SQL DECLARE and EXEC statements [2439](https://github.com/sqlfluff/sqlfluff/pull/2439) [tunetheweb](https://github.com/tunetheweb)
* Hive alternative types: INTEGER, DEC, NUMERIC [2438](https://github.com/sqlfluff/sqlfluff/pull/2438) [tunetheweb](https://github.com/tunetheweb)
* Implement Snowflake Dateparts [2437](https://github.com/sqlfluff/sqlfluff/pull/2437) [tunetheweb](https://github.com/tunetheweb)
* Fix rule L028 for T-SQL for params [2442](https://github.com/sqlfluff/sqlfluff/pull/2442) [tunetheweb](https://github.com/tunetheweb)
* Support CREATE UNIQUE INDEX [2440](https://github.com/sqlfluff/sqlfluff/pull/2440) [tunetheweb](https://github.com/tunetheweb)
* Make BigQuery typeless STRUCTs Expressions [2435](https://github.com/sqlfluff/sqlfluff/pull/2435) [tunetheweb](https://github.com/tunetheweb)
* T-SQL support default params and no RETURN value [2434](https://github.com/sqlfluff/sqlfluff/pull/2434) [tunetheweb](https://github.com/tunetheweb)
* "sqlfluff fix" should report any parse errors found [2423](https://github.com/sqlfluff/sqlfluff/pull/2423) [barrywhart](https://github.com/barrywhart)
* Redshift VACUUM support [2433](https://github.com/sqlfluff/sqlfluff/pull/2433) [rpr-ableton](https://github.com/rpr-ableton)
* Add Oracle PROMPT statement [2413](https://github.com/sqlfluff/sqlfluff/pull/2413) [r0fls](https://github.com/r0fls)
* Spark3: Support for `INSERT OVERWRITE DIRECTORY` with Hive Format [2389](https://github.com/sqlfluff/sqlfluff/pull/2389) [R7L208](https://github.com/R7L208)
* Exasol: Fix escaped identifiers [2431](https://github.com/sqlfluff/sqlfluff/pull/2431) [sti0](https://github.com/sti0)
* Exasol: Fix `LOCAL.ALIAS` Syntax [2430](https://github.com/sqlfluff/sqlfluff/pull/2430) [sti0](https://github.com/sti0)
* Exasol: Allow quoted identifier for various statements. [2428](https://github.com/sqlfluff/sqlfluff/pull/2428) [sti0](https://github.com/sti0)
* Misc grammar improvements for Snowflake [2421](https://github.com/sqlfluff/sqlfluff/pull/2421) [chwiese](https://github.com/chwiese)
* New rule L061 to use != over <> [2409](https://github.com/sqlfluff/sqlfluff/pull/2409) [sti0](https://github.com/sti0)
* Correct TRANS to TRAN [2425](https://github.com/sqlfluff/sqlfluff/pull/2425) [fdw](https://github.com/fdw)
* Remove the "heuristic" slicer, as it was replaced by JinjaTracer [2422](https://github.com/sqlfluff/sqlfluff/pull/2422) [barrywhart](https://github.com/barrywhart)
* L060: More specific description [2419](https://github.com/sqlfluff/sqlfluff/pull/2419) [jpy-git](https://github.com/jpy-git)
* Fix code formatting in Rule docs [2418](https://github.com/sqlfluff/sqlfluff/pull/2418) [tunetheweb](https://github.com/tunetheweb)
* Allow UPDATE SET statements in RedShift [2417](https://github.com/sqlfluff/sqlfluff/pull/2417) [tunetheweb](https://github.com/tunetheweb)
* Add Redshift cursor DECLARE, FETCH & CLOSE support [2414](https://github.com/sqlfluff/sqlfluff/pull/2414) [rpr-ableton](https://github.com/rpr-ableton)
* Add Redshift ANALYZE COMPRESSION support [2412](https://github.com/sqlfluff/sqlfluff/pull/2412) [rpr-ableton](https://github.com/rpr-ableton)
* ANSI Values statement fixes [2404](https://github.com/sqlfluff/sqlfluff/pull/2404) [jpy-git](https://github.com/jpy-git)
* Exasol: Overhaul drop statements [2407](https://github.com/sqlfluff/sqlfluff/pull/2407) [sti0](https://github.com/sti0)
* L044, L045: Handle Exasol VALUES clause [2400](https://github.com/sqlfluff/sqlfluff/pull/2400) [barrywhart](https://github.com/barrywhart)
* L060: Use COALESCE instead of IFNULL or NVL. [2405](https://github.com/sqlfluff/sqlfluff/pull/2405) [jpy-git](https://github.com/jpy-git)
* Postgres: Fix Values alias regression [2401](https://github.com/sqlfluff/sqlfluff/pull/2401) [jpy-git](https://github.com/jpy-git)
* Align line length in Python code to 88 characters [2264](https://github.com/sqlfluff/sqlfluff/pull/2264) [chwiese](https://github.com/chwiese)
* Jinja templater: Allow "load_macros_from_path" to be a comma-separated list of paths [2387](https://github.com/sqlfluff/sqlfluff/pull/2387) [barrywhart](https://github.com/barrywhart)
* Add "TRANS" keyword for T-SQL [2399](https://github.com/sqlfluff/sqlfluff/pull/2399) [fdw](https://github.com/fdw)
* Docstrings: Replace double backticks with single quote for lint results. [2386](https://github.com/sqlfluff/sqlfluff/pull/2386) [jpy-git](https://github.com/jpy-git)
* Spark3: Support for `INSERT OVERWRITE DIRECTORY` statements [2385](https://github.com/sqlfluff/sqlfluff/pull/2385) [R7L208](https://github.com/R7L208)
* Fix unnecessary white underline in doc site [2383](https://github.com/sqlfluff/sqlfluff/pull/2383) [tunetheweb](https://github.com/tunetheweb)
* Rolls back some code cleanup that caused coverage report to show gaps [2384](https://github.com/sqlfluff/sqlfluff/pull/2384) [barrywhart](https://github.com/barrywhart)
* Fix "connection already closed" issue with dbt 1.0 and dbt_utils [2382](https://github.com/sqlfluff/sqlfluff/pull/2382) [barrywhart](https://github.com/barrywhart)
* Spark3: Support for `INSERT [TABLE]` data manipulation statements [2290](https://github.com/sqlfluff/sqlfluff/pull/2290) [R7L208](https://github.com/R7L208)
* Comment out line in bug report template [2378](https://github.com/sqlfluff/sqlfluff/pull/2378) [jpy-git](https://github.com/jpy-git)
* Postgres: EXPLAIN statement updates [2374](https://github.com/sqlfluff/sqlfluff/pull/2374) [jpy-git](https://github.com/jpy-git)
* Make TABLE a non-reserved word in Postgres [2377](https://github.com/sqlfluff/sqlfluff/pull/2377) [tunetheweb](https://github.com/tunetheweb)
* Snowflake COLUMN is not a reserved word [2376](https://github.com/sqlfluff/sqlfluff/pull/2376) [tunetheweb](https://github.com/tunetheweb)
* T-SQL: Complete ASA Table Index Clause functionality [2373](https://github.com/sqlfluff/sqlfluff/pull/2373) [jpers36](https://github.com/jpers36)
* Add support for Jinja import and include [2355](https://github.com/sqlfluff/sqlfluff/pull/2355) [barrywhart](https://github.com/barrywhart)
* Add Redshift INTERVAL datatype support [2366](https://github.com/sqlfluff/sqlfluff/pull/2366) [rpr-ableton](https://github.com/rpr-ableton)
* Whitespace concatenated string literals for MySQL, Postgres and Redshift [2356](https://github.com/sqlfluff/sqlfluff/pull/2356) [jpy-git](https://github.com/jpy-git)
* Fix L026 false positive on "SELECT INTO" statement [2371](https://github.com/sqlfluff/sqlfluff/pull/2371) [barrywhart](https://github.com/barrywhart)
* Exclude EMIT clauses from rule L013 [2364](https://github.com/sqlfluff/sqlfluff/pull/2364) [tunetheweb](https://github.com/tunetheweb)
* Functional API: Segments.recursive_crawl [2369](https://github.com/sqlfluff/sqlfluff/pull/2369) [jpy-git](https://github.com/jpy-git)
* Complete Redshift CREATE EXTERNAL TABLE support [2354](https://github.com/sqlfluff/sqlfluff/pull/2354) [rpr-ableton](https://github.com/rpr-ableton)
* L041: Fix duplicate DISTINCT corruption [2365](https://github.com/sqlfluff/sqlfluff/pull/2365) [jpy-git](https://github.com/jpy-git)
* Bigquery Create View with Options [2359](https://github.com/sqlfluff/sqlfluff/pull/2359) [tunetheweb](https://github.com/tunetheweb)
* L026: Handle DML statements and multiple levels of nesting [2336](https://github.com/sqlfluff/sqlfluff/pull/2336) [barrywhart](https://github.com/barrywhart)
* Postgres & MySQL: cleanup AliasExpressionSegment [2353](https://github.com/sqlfluff/sqlfluff/pull/2353) [jpy-git](https://github.com/jpy-git)
* Redefine MySQL Interval segment [2351](https://github.com/sqlfluff/sqlfluff/pull/2351) [rpr-ableton](https://github.com/rpr-ableton)
* Postgres: INSERT INTO table alias [2349](https://github.com/sqlfluff/sqlfluff/pull/2349) [jpy-git](https://github.com/jpy-git)
* L043: Remove redundant CASE statement replacing NULLS with NULLS [2346](https://github.com/sqlfluff/sqlfluff/pull/2346) [jpy-git](https://github.com/jpy-git)
* Add RedShift DATASHARE support [2350](https://github.com/sqlfluff/sqlfluff/pull/2350) [rpr-ableton](https://github.com/rpr-ableton)
* Various documentation updates [2347](https://github.com/sqlfluff/sqlfluff/pull/2347) [tunetheweb](https://github.com/tunetheweb)
* Snowflake ALTER TABLE: Drop multiple columns [2348](https://github.com/sqlfluff/sqlfluff/pull/2348) [jpy-git](https://github.com/jpy-git)
* Configuration doc: add rule configuration section [2291](https://github.com/sqlfluff/sqlfluff/pull/2291) [juhoautio](https://github.com/juhoautio)
* Redshift: create model, show model & data types [2338](https://github.com/sqlfluff/sqlfluff/pull/2338) [rpr-ableton](https://github.com/rpr-ableton)
* L059: Unnecessary quoted identifier [2341](https://github.com/sqlfluff/sqlfluff/pull/2341) [jpy-git](https://github.com/jpy-git)
* L043: Use simple replace to apply fixes [2343](https://github.com/sqlfluff/sqlfluff/pull/2343) [jpy-git](https://github.com/jpy-git)
* T-SQL: Add functionality to PARTITION BY clause [2335](https://github.com/sqlfluff/sqlfluff/pull/2335) [jpers36](https://github.com/jpers36)
* L039 casting operator postgres fix [2334](https://github.com/sqlfluff/sqlfluff/pull/2334) [jpy-git](https://github.com/jpy-git)
* `AnySetOf` grammar [2326](https://github.com/sqlfluff/sqlfluff/pull/2326) [jpy-git](https://github.com/jpy-git)
* Redshift: update CREATE TABLE AS match_grammar [2333](https://github.com/sqlfluff/sqlfluff/pull/2333) [rpr-ableton](https://github.com/rpr-ableton)
* Redshift CREATE EXTERNAL TABLE: TABLE PROPERTIES [2330](https://github.com/sqlfluff/sqlfluff/pull/2330) [jpy-git](https://github.com/jpy-git)
* Snowflake: Flush out `ALTER TABLE`'s `tableColumnAction` grammar [2332](https://github.com/sqlfluff/sqlfluff/pull/2332) [wong-codaio](https://github.com/wong-codaio)
* Snowflake ALTER TABLE: Add clusteringAction [2329](https://github.com/sqlfluff/sqlfluff/pull/2329) [jpy-git](https://github.com/jpy-git)
* Snowflake ALTER TABLE: Add searchOptimizationAction [2328](https://github.com/sqlfluff/sqlfluff/pull/2328) [jpy-git](https://github.com/jpy-git)
* Fix numeric literal grammar for Postgres/MySQL/Exasol [2324](https://github.com/sqlfluff/sqlfluff/pull/2324) [jpy-git](https://github.com/jpy-git)
* L039: Remove spaces between comparison operators (T-SQL) [2325](https://github.com/sqlfluff/sqlfluff/pull/2325) [jpy-git](https://github.com/jpy-git)
* Enable setting a target of a dbt profile [2236](https://github.com/sqlfluff/sqlfluff/pull/2236) [yu-iskw](https://github.com/yu-iskw)
* Snowflake: Add support for column rename [2327](https://github.com/sqlfluff/sqlfluff/pull/2327) [wong-codaio](https://github.com/wong-codaio)
* Snowflake: Added `AlterTableStatement` specific for Snowflake [2267](https://github.com/sqlfluff/sqlfluff/pull/2267) [wong-codaio](https://github.com/wong-codaio)
* Full REFERENCES grammar for CREATE TABLE statement [2315](https://github.com/sqlfluff/sqlfluff/pull/2315) [jpy-git](https://github.com/jpy-git)
* Fix Spark numeric literals [2317](https://github.com/sqlfluff/sqlfluff/pull/2317) [jpy-git](https://github.com/jpy-git)
* Change type of Snowflake stage paths to fix issues with L044 [2320](https://github.com/sqlfluff/sqlfluff/pull/2320) [chwiese](https://github.com/chwiese)
* Add Bytes Quoted Literals to Spark dialect [2312](https://github.com/sqlfluff/sqlfluff/pull/2312) [jpy-git](https://github.com/jpy-git)
* Fix L044 assertion failure with delete stmt & cte [2321](https://github.com/sqlfluff/sqlfluff/pull/2321) [barrywhart](https://github.com/barrywhart)
* L003 should consider only *literal* leading whitespace (ignore templated) [2304](https://github.com/sqlfluff/sqlfluff/pull/2304) [barrywhart](https://github.com/barrywhart)
* Redshift: update reserved keywords [2318](https://github.com/sqlfluff/sqlfluff/pull/2318) [rpr-ableton](https://github.com/rpr-ableton)
* docs: Document how to run SQLFluff with local changes to test them [2316](https://github.com/sqlfluff/sqlfluff/pull/2316) [kayman-mk](https://github.com/kayman-mk)
* Update redshift unreserved keywords [2310](https://github.com/sqlfluff/sqlfluff/pull/2310) [jpy-git](https://github.com/jpy-git)
* Fix spark and hive quoted literals [2311](https://github.com/sqlfluff/sqlfluff/pull/2311) [jpy-git](https://github.com/jpy-git)
* Oracle Dialect [2293](https://github.com/sqlfluff/sqlfluff/pull/2293) [r0fls](https://github.com/r0fls)
* Redshift dialect: add COPY and UNLOAD statements [2307](https://github.com/sqlfluff/sqlfluff/pull/2307) [rpr-ableton](https://github.com/rpr-ableton)
* L052: Fix case where no preceding segments and mulitline [2279](https://github.com/sqlfluff/sqlfluff/pull/2279) [jpy-git](https://github.com/jpy-git)
* Update rule L049 to handle EXEC assignments [2308](https://github.com/sqlfluff/sqlfluff/pull/2308) [tunetheweb](https://github.com/tunetheweb)
* Remove DATE, DATETIME and TIME from BigQuery DatePart [2283](https://github.com/sqlfluff/sqlfluff/pull/2283) [tunetheweb](https://github.com/tunetheweb)
* Fix 1292: nocolor and verbose can work in config files [2300](https://github.com/sqlfluff/sqlfluff/pull/2300) [cympfh](https://github.com/cympfh)
* Allow pyproject.toml as extra_config_path [2305](https://github.com/sqlfluff/sqlfluff/pull/2305) [jpy-git](https://github.com/jpy-git)
* L009: Handle adding newline after trailing templated code [2298](https://github.com/sqlfluff/sqlfluff/pull/2298) [barrywhart](https://github.com/barrywhart)
* added missing "t" in doc for Rule_L020 [2294](https://github.com/sqlfluff/sqlfluff/pull/2294) [Xilorole](https://github.com/Xilorole)
* docs: Document configuration keyword for rule L054 [2288](https://github.com/sqlfluff/sqlfluff/pull/2288) [tomasfarias](https://github.com/tomasfarias)
* Update L009 to operate in raw, not templated space [2285](https://github.com/sqlfluff/sqlfluff/pull/2285) [barrywhart](https://github.com/barrywhart)
* Redshift CREATE LIBRARY statements [2277](https://github.com/sqlfluff/sqlfluff/pull/2277) [rpr-ableton](https://github.com/rpr-ableton)
* L025 with 'bigquery' dialect: Correctly interpret calling functions with a table as a parameter [2278](https://github.com/sqlfluff/sqlfluff/pull/2278) [barrywhart](https://github.com/barrywhart)
* Spark3: Coverage for `REFRESH` auxiliary statements [2282](https://github.com/sqlfluff/sqlfluff/pull/2282) [R7L208](https://github.com/R7L208)
* Spark3: Coverage for `USE DATABASE` statement. [2276](https://github.com/sqlfluff/sqlfluff/pull/2276) [R7L208](https://github.com/R7L208)
* Fix link for editing 'In The Wild' page with new base branch, `main` [2280](https://github.com/sqlfluff/sqlfluff/pull/2280) [barnett](https://github.com/barnett)
* Optionally allow additional configurable characters in L057 [2274](https://github.com/sqlfluff/sqlfluff/pull/2274) [tunetheweb](https://github.com/tunetheweb)
* L025 should look at subqueries [2273](https://github.com/sqlfluff/sqlfluff/pull/2273) [barrywhart](https://github.com/barrywhart)
* Add coverage for `TRUNCATE` statement in Spark3 dialect [2272](https://github.com/sqlfluff/sqlfluff/pull/2272) [R7L208](https://github.com/R7L208)
* Upgrade `click` version to 8.0+ to support `click.shell_completion` [2271](https://github.com/sqlfluff/sqlfluff/pull/2271) [wong-codaio](https://github.com/wong-codaio)
* Improve release checklist to make releases easier [2263](https://github.com/sqlfluff/sqlfluff/pull/2263) [tunetheweb](https://github.com/tunetheweb)

New Contributors
* [barnett](https://github.com/barnett) made their first contribution in [#2280](https://github.com/sqlfluff/sqlfluff/pull/2280)
* [tomasfarias](https://github.com/tomasfarias) made their first contribution in [#2288](https://github.com/sqlfluff/sqlfluff/pull/2288)
* [Xilorole](https://github.com/Xilorole) made their first contribution in [#2294](https://github.com/sqlfluff/sqlfluff/pull/2294)
* [cympfh](https://github.com/cympfh) made their first contribution in [#2300](https://github.com/sqlfluff/sqlfluff/pull/2300)
* [r0fls](https://github.com/r0fls) made their first contribution in [#2293](https://github.com/sqlfluff/sqlfluff/pull/2293)
* [yu-iskw](https://github.com/yu-iskw) made their first contribution in [#2236](https://github.com/sqlfluff/sqlfluff/pull/2236)
* [fdw](https://github.com/fdw) made their first contribution in [#2399](https://github.com/sqlfluff/sqlfluff/pull/2399)

0.9.1

Not secure
Highlights
* Fix dbt 1.0.0 connection issue
* Fix some SQL corruption issues with templated code
* New components to simplify creating rules
* Remove support for Python 3.6

What’s Changed
* Fix delimited identifier parsing for spark3 [2111](https://github.com/sqlfluff/sqlfluff/pull/2111) [mcannamela](https://github.com/mcannamela)
* Stop numeric literal from splitting valid naked identifiers. [2114](https://github.com/sqlfluff/sqlfluff/pull/2114) [jpy-git](https://github.com/jpy-git)
* Grammar: Add CREATE USER/GROUP statement to Redshift dialect [2115](https://github.com/sqlfluff/sqlfluff/pull/2115) [jpy-git](https://github.com/jpy-git)
* Fix mypy type raise in L003 [2127](https://github.com/sqlfluff/sqlfluff/pull/2127) [barrywhart](https://github.com/barrywhart)
* Add ability to parse multiple GO/semicolon delimiters [2124](https://github.com/sqlfluff/sqlfluff/pull/2124) [jpy-git](https://github.com/jpy-git)
* Allowed array/struct values in `default` definition of `declare` [2120](https://github.com/sqlfluff/sqlfluff/pull/2120) [KulykDmytro](https://github.com/KulykDmytro)
* Normalise input newlines [2128](https://github.com/sqlfluff/sqlfluff/pull/2128) [jpy-git](https://github.com/jpy-git)
* Clean up all files using the pre-commit hook [2123](https://github.com/sqlfluff/sqlfluff/pull/2123) [kayman-mk](https://github.com/kayman-mk)
* Refined LintFix API [2133](https://github.com/sqlfluff/sqlfluff/pull/2133) [jpy-git](https://github.com/jpy-git)
* Hotfix for LintFix comparisons [2138](https://github.com/sqlfluff/sqlfluff/pull/2138) [jpy-git](https://github.com/jpy-git)
* Lint spaces in qualified names [2130](https://github.com/sqlfluff/sqlfluff/pull/2130) [jpers36](https://github.com/jpers36)
* Remove support for Python 3.6 (it's "end of life" December 23, 2021) [2141](https://github.com/sqlfluff/sqlfluff/pull/2141) [barrywhart](https://github.com/barrywhart)
* Fully remove python3.6 references [2142](https://github.com/sqlfluff/sqlfluff/pull/2142) [jpy-git](https://github.com/jpy-git)
* Fix L022 to not flag CTE column definitions [2139](https://github.com/sqlfluff/sqlfluff/pull/2139) [jpy-git](https://github.com/jpy-git)
* docs: set `dbt_modules` to `dbt_packages` [2143](https://github.com/sqlfluff/sqlfluff/pull/2143) [ciklista](https://github.com/ciklista)
* Hive: add INTERVAL syntax [2144](https://github.com/sqlfluff/sqlfluff/pull/2144) [juhoautio](https://github.com/juhoautio)
* Fix mypy error on python 3.7 [2147](https://github.com/sqlfluff/sqlfluff/pull/2147) [juhoautio](https://github.com/juhoautio)
* Update PR template to reference tox generate-fixture-yml command [2148](https://github.com/sqlfluff/sqlfluff/pull/2148) [jpy-git](https://github.com/jpy-git)
* Update index.rst notable changes with 0.9.0 details [2132](https://github.com/sqlfluff/sqlfluff/pull/2132) [jpy-git](https://github.com/jpy-git)
* Add ALTER USER and ALTER GROUP to redshift dialect [2131](https://github.com/sqlfluff/sqlfluff/pull/2131) [jpy-git](https://github.com/jpy-git)
* Add complete DESCRIBE grammar to Snowflake dialect [2149](https://github.com/sqlfluff/sqlfluff/pull/2149) [jpy-git](https://github.com/jpy-git)
* Fix bug with BigQuery UNPIVOT [2156](https://github.com/sqlfluff/sqlfluff/pull/2156) [tunetheweb](https://github.com/tunetheweb)
* Make L057 compatible with BigQuery [2151](https://github.com/sqlfluff/sqlfluff/pull/2151) [tunetheweb](https://github.com/tunetheweb)
* T-SQL: Proper Indentation of ELSE IF [2157](https://github.com/sqlfluff/sqlfluff/pull/2157) [jpers36](https://github.com/jpers36)
* Linter Test Name Duplication [2158](https://github.com/sqlfluff/sqlfluff/pull/2158) [jpers36](https://github.com/jpers36)
* Add struct support for `hive` and `redshift` (L026, L028) [2154](https://github.com/sqlfluff/sqlfluff/pull/2154) [KulykDmytro](https://github.com/KulykDmytro)
* Postgres - Support functions prepended with _ and containing $ [2159](https://github.com/sqlfluff/sqlfluff/pull/2159) [jpy-git](https://github.com/jpy-git)
* T-SQL: function parsing/linting [2155](https://github.com/sqlfluff/sqlfluff/pull/2155) [jpers36](https://github.com/jpers36)
* T-SQL: Add THROW statement [2163](https://github.com/sqlfluff/sqlfluff/pull/2163) [jpers36](https://github.com/jpers36)
* Add yamllint to project [2162](https://github.com/sqlfluff/sqlfluff/pull/2162) [tunetheweb](https://github.com/tunetheweb)
* Fix outdated docstring in dialects_test [2166](https://github.com/sqlfluff/sqlfluff/pull/2166) [juhoautio](https://github.com/juhoautio)
* Minor comment fixes [2179](https://github.com/sqlfluff/sqlfluff/pull/2179) [juhoautio](https://github.com/juhoautio)
* L010 to apply to date_part (capitalization policy for time units) [2167](https://github.com/sqlfluff/sqlfluff/pull/2167) [juhoautio](https://github.com/juhoautio)
* ALTER GROUP fix to accommodate quoted objects [2188](https://github.com/sqlfluff/sqlfluff/pull/2188) [tdstark](https://github.com/tdstark)
* Lexer: add non-breaking spaces to whitespace [2189](https://github.com/sqlfluff/sqlfluff/pull/2189) [jpers36](https://github.com/jpers36)
* Grammar: Add COMMENT statement to Snowflake [2173](https://github.com/sqlfluff/sqlfluff/pull/2173) [jpy-git](https://github.com/jpy-git)
* Grammar: Add DISCARD statement to Postgres dialect [2175](https://github.com/sqlfluff/sqlfluff/pull/2175) [jpy-git](https://github.com/jpy-git)
* Grammar: Add UNDROP statement to Snowflake dialect [2177](https://github.com/sqlfluff/sqlfluff/pull/2177) [jpy-git](https://github.com/jpy-git)
* Grammar: Add UNSET statement to Snowflake dialect [2181](https://github.com/sqlfluff/sqlfluff/pull/2181) [jpy-git](https://github.com/jpy-git)
* Grammar: Add RESET statement to Postgres dialect [2182](https://github.com/sqlfluff/sqlfluff/pull/2182) [jpy-git](https://github.com/jpy-git)
* Grammar: Add LOAD statement to Postgres dialect [2183](https://github.com/sqlfluff/sqlfluff/pull/2183) [jpy-git](https://github.com/jpy-git)
* Grammar: Fix TRUNCATE statement in Snowflake dialect [2184](https://github.com/sqlfluff/sqlfluff/pull/2184) [jpy-git](https://github.com/jpy-git)
* Grammar: Add HELP statement to MySQL dialect [2191](https://github.com/sqlfluff/sqlfluff/pull/2191) [jpy-git](https://github.com/jpy-git)
* Grammar: Add PURGE BINARY LOGS statement to MySQL dialect [2193](https://github.com/sqlfluff/sqlfluff/pull/2193) [jpy-git](https://github.com/jpy-git)
* Grammar: Add RESET MASTER statement to MySQL dialect [2194](https://github.com/sqlfluff/sqlfluff/pull/2194) [jpy-git](https://github.com/jpy-git)
* Grammar: Add RENAME TABLE statement to MySQL dialect [2195](https://github.com/sqlfluff/sqlfluff/pull/2195) [jpy-git](https://github.com/jpy-git)
* Grammar: Tidy up transaction statements in Snowflake dialect [2196](https://github.com/sqlfluff/sqlfluff/pull/2196) [jpy-git](https://github.com/jpy-git)
* Modifying Redshift USER/GROUP Statements To Use `ObjectReferenceSegment` [2190](https://github.com/sqlfluff/sqlfluff/pull/2190) [tdstark](https://github.com/tdstark)
* Grammar: Fix TRUNCATE statement in Postgres dialect [2185](https://github.com/sqlfluff/sqlfluff/pull/2185) [jpy-git](https://github.com/jpy-git)
* Grammar: Add LISTEN, NOTIFY, and UNLISTEN statements to Postgres dialect [2174](https://github.com/sqlfluff/sqlfluff/pull/2174) [jpy-git](https://github.com/jpy-git)
* Grammar: Tidy up Snowflake/MySQL/HIVE USE statements [2187](https://github.com/sqlfluff/sqlfluff/pull/2187) [jpy-git](https://github.com/jpy-git)
* Make Snowflake keywords unreserved: account, organization, pivot [2172](https://github.com/sqlfluff/sqlfluff/pull/2172) [jpy-git](https://github.com/jpy-git)
* Grammar: Add SET sql_log_bin statement to MySQL dialect [2192](https://github.com/sqlfluff/sqlfluff/pull/2192) [jpy-git](https://github.com/jpy-git)
* Grammar: Add CALL statement to Snowflake dialect [2176](https://github.com/sqlfluff/sqlfluff/pull/2176) [jpy-git](https://github.com/jpy-git)
* L027 Fix self referring column alias edge case [2171](https://github.com/sqlfluff/sqlfluff/pull/2171) [jpy-git](https://github.com/jpy-git)
* T-SQL: Remove dependency on ANSI keyword lists [2170](https://github.com/sqlfluff/sqlfluff/pull/2170) [jpers36](https://github.com/jpers36)
* Grammar: Add Table Maintenance Statements to MySQL dialect [2198](https://github.com/sqlfluff/sqlfluff/pull/2198) [jpy-git](https://github.com/jpy-git)
* Adding CREATE TABLE AS to Redshift [2205](https://github.com/sqlfluff/sqlfluff/pull/2205) [tdstark](https://github.com/tdstark)
* T-SQL: Add support for ALTER TABLE ALTER COLUMN [2208](https://github.com/sqlfluff/sqlfluff/pull/2208) [jpers36](https://github.com/jpers36)
* Remove oyaml in favour of pyyaml [2210](https://github.com/sqlfluff/sqlfluff/pull/2210) [jpy-git](https://github.com/jpy-git)
* Support Spark `CREATE TABLE LIKE` syntax [2207](https://github.com/sqlfluff/sqlfluff/pull/2207) [R7L208](https://github.com/R7L208)
* Add override for linguist to include SQL in language statistics [2214](https://github.com/sqlfluff/sqlfluff/pull/2214) [jpy-git](https://github.com/jpy-git)
* Add type stubs for appdirs and colorama to improve mypy coverage [2211](https://github.com/sqlfluff/sqlfluff/pull/2211) [jpy-git](https://github.com/jpy-git)
* Remove cached-property in favour of stdlib functools implementation [2212](https://github.com/sqlfluff/sqlfluff/pull/2212) [jpy-git](https://github.com/jpy-git)
* Restructure CASE segment (extract WHEN and ELSE into their own segment types) [2213](https://github.com/sqlfluff/sqlfluff/pull/2213) [barrywhart](https://github.com/barrywhart)
* Add types-regex package for type checking [2216](https://github.com/sqlfluff/sqlfluff/pull/2216) [jpy-git](https://github.com/jpy-git)
* Snowflake: Split out `CREATE VIEW` into its own segment [2217](https://github.com/sqlfluff/sqlfluff/pull/2217) [wong-codaio](https://github.com/wong-codaio)
* Grammar: Fix multi-character comparison operators [2197](https://github.com/sqlfluff/sqlfluff/pull/2197) [jpy-git](https://github.com/jpy-git)
* Snowflake: Support TOP N select clause modifier [2222](https://github.com/sqlfluff/sqlfluff/pull/2222) [wong-codaio](https://github.com/wong-codaio)
* Fix CLI arguments to allow for autocompletion [2218](https://github.com/sqlfluff/sqlfluff/pull/2218) [jpy-git](https://github.com/jpy-git)
* Simplify rule creation by adding a functional API to RuleContext [2126](https://github.com/sqlfluff/sqlfluff/pull/2126) [barrywhart](https://github.com/barrywhart)
* Simplify nested cases [2223](https://github.com/sqlfluff/sqlfluff/pull/2223) [barrywhart](https://github.com/barrywhart)
* Reword lint message for L058 per review [2226](https://github.com/sqlfluff/sqlfluff/pull/2226) [barrywhart](https://github.com/barrywhart)
* Update BaseRule.discard_unsafe_fixes() to avoid touching templated code [2220](https://github.com/sqlfluff/sqlfluff/pull/2220) [barrywhart](https://github.com/barrywhart)
* Add L059 - Capitalization on Data Types [2227](https://github.com/sqlfluff/sqlfluff/pull/2227) [tdstark](https://github.com/tdstark)
* T-SQL: Table valued functions [2233](https://github.com/sqlfluff/sqlfluff/pull/2233) [jpers36](https://github.com/jpers36)
* Don't allow fixes to COPY code from templated regions [2231](https://github.com/sqlfluff/sqlfluff/pull/2231) [barrywhart](https://github.com/barrywhart)
* Fix several small issues with rule docs [2234](https://github.com/sqlfluff/sqlfluff/pull/2234) [barrywhart](https://github.com/barrywhart)
* postgres: Add datatypes [2121](https://github.com/sqlfluff/sqlfluff/pull/2121) [kayman-mk](https://github.com/kayman-mk)
* Combine L059 and L010 [2238](https://github.com/sqlfluff/sqlfluff/pull/2238) [tdstark](https://github.com/tdstark)
* Fix L044 assertion failure: "SELECT *" with no "FROM" clause [2239](https://github.com/sqlfluff/sqlfluff/pull/2239) [barrywhart](https://github.com/barrywhart)
* Docs: Make Specific Rules docstring more user friendly [2241](https://github.com/sqlfluff/sqlfluff/pull/2241) [jpy-git](https://github.com/jpy-git)
* Fix a bug handling Jinja "{% set %}" blocks with a templated block inside [2240](https://github.com/sqlfluff/sqlfluff/pull/2240) [barrywhart](https://github.com/barrywhart)
* Redshift lint create external table statements [2229](https://github.com/sqlfluff/sqlfluff/pull/2229) [tinder-albertyue](https://github.com/tinder-albertyue)
* Update tox.ini for best practices [2243](https://github.com/sqlfluff/sqlfluff/pull/2243) [jpy-git](https://github.com/jpy-git)
* Docs: Make code blocks consistent [2242](https://github.com/sqlfluff/sqlfluff/pull/2242) [jpy-git](https://github.com/jpy-git)
* Add support for nested Jinja macros [2246](https://github.com/sqlfluff/sqlfluff/pull/2246) [barrywhart](https://github.com/barrywhart)
* Support `DROP` DDL statements for Spark3 [2215](https://github.com/sqlfluff/sqlfluff/pull/2215) [R7L208](https://github.com/R7L208)
* Docker Compose environment for SQLFluff developers [2254](https://github.com/sqlfluff/sqlfluff/pull/2254) [barrywhart](https://github.com/barrywhart)
* T-SQL: Add OFFSET unreserved keyword [2258](https://github.com/sqlfluff/sqlfluff/pull/2258) [jpers36](https://github.com/jpers36)
* Fix connection issue in dbt 1.0.0 [2230](https://github.com/sqlfluff/sqlfluff/pull/2230) [NiallRees](https://github.com/NiallRees)
* Redshift CREATE SCHEMA statements [2252](https://github.com/sqlfluff/sqlfluff/pull/2252) [rpr-ableton](https://github.com/rpr-ableton)
* Enhance Snowflake COPY INTO [2250](https://github.com/sqlfluff/sqlfluff/pull/2250) [chwiese](https://github.com/chwiese)
* Coverage for 'REPAIR' Statements for Hive & Spark3 dialect [2256](https://github.com/sqlfluff/sqlfluff/pull/2256) [R7L208](https://github.com/R7L208)

New Contributors
* [mcannamela](https://github.com/mcannamela) made their first contribution in [#2111](https://github.com/sqlfluff/sqlfluff/pull/2111)
* [ciklista](https://github.com/ciklista) made their first contribution in [#2143](https://github.com/sqlfluff/sqlfluff/pull/2143)
* [juhoautio](https://github.com/juhoautio) made their first contribution in [#2144](https://github.com/sqlfluff/sqlfluff/pull/2144)
* [tinder-albertyue](https://github.com/tinder-albertyue) made their first contribution in [#2229](https://github.com/sqlfluff/sqlfluff/pull/2229)
* [rpr-ableton](https://github.com/rpr-ableton) made their first contribution in [#2252](https://github.com/sqlfluff/sqlfluff/pull/2252)

0.9.0

Not secure
What’s Changed

This release brings about several great new additions including:
- dbt 1.0.0 compatibility.
- CLI and Simple API parameters to provide custom paths to config files.
- Refinement to Simple API to return parse output in JSON format rather than as an internal SQLFluff object (**BREAKING CHANGE**).
- An [Official SQLFluff Docker Image](https://hub.docker.com/r/sqlfluff/sqlfluff).
- Grammar improvements across various dialects.
- A new rule (L057) to check for non-alphanumeric values in identifiers.

There have also been many bug fixes and improvements to the CI and development processes.

🚀 Enhancements

* T-SQL: Reserved Keyword cleanup [2100](https://github.com/sqlfluff/sqlfluff/pull/2100) [jpers36](https://github.com/jpers36)
* Add wiki links to CONTRIBUTING.md [2106](https://github.com/sqlfluff/sqlfluff/pull/2106) [tunetheweb](https://github.com/tunetheweb)
* Add snowflake create stage and alter stage statements + RegexParser case fix [2098](https://github.com/sqlfluff/sqlfluff/pull/2098) [chwiese](https://github.com/chwiese)
* Allow for more value types in ALTER TABLE ALTER COLUMN SET DEFAULT statement [2101](https://github.com/sqlfluff/sqlfluff/pull/2101) [derickl](https://github.com/derickl)
* Grammar: Adds support for ALTER VIEW statement for Postgres dialect [2096](https://github.com/sqlfluff/sqlfluff/pull/2096) [derickl](https://github.com/derickl)
* Add example for using JSON output of Simple API parse function [2099](https://github.com/sqlfluff/sqlfluff/pull/2099) [jpy-git](https://github.com/jpy-git)
* Allow optional keywords in create table unique constraints [2077](https://github.com/sqlfluff/sqlfluff/pull/2077) [kayman-mk](https://github.com/kayman-mk)
* Grammar: Adds support for ALTER FUNCTION statement for Postgres dialect [2090](https://github.com/sqlfluff/sqlfluff/pull/2090) [derickl](https://github.com/derickl)
* Grammar: adds support for CREATE/ALTER/DROP DATABASE for Postgres dialect [2081](https://github.com/sqlfluff/sqlfluff/pull/2081) [derickl](https://github.com/derickl)
* Update parse method of Simple API to output JSON parse tree [2082](https://github.com/sqlfluff/sqlfluff/pull/2082) [jpy-git](https://github.com/jpy-git)
* T-SQL dialect: add parsing for MERGE statement [2057](https://github.com/sqlfluff/sqlfluff/pull/2057) [tkachenkomaria244](https://github.com/tkachenkomaria244)
* Simple API config path [2080](https://github.com/sqlfluff/sqlfluff/pull/2080) [jpy-git](https://github.com/jpy-git)
* dbt 1.0.0 compatibility [2079](https://github.com/sqlfluff/sqlfluff/pull/2079) [alanmcruickshank](https://github.com/alanmcruickshank)
* Parse `on delete` and `on update` clause for create table constraints [2076](https://github.com/sqlfluff/sqlfluff/pull/2076) [kayman-mk](https://github.com/kayman-mk)
* Pre-commit: Add hook for doc8 [2074](https://github.com/sqlfluff/sqlfluff/pull/2074) [jpy-git](https://github.com/jpy-git)
* Grammar: Fix typo in Alter Table parser in Postgres dialect [2072](https://github.com/sqlfluff/sqlfluff/pull/2072) [derickl](https://github.com/derickl)
* Grammar: Adds support for materialized views for postgres dialect [2041](https://github.com/sqlfluff/sqlfluff/pull/2041) [derickl](https://github.com/derickl)
* Add basic pre-commit config [2067](https://github.com/sqlfluff/sqlfluff/pull/2067) [jpy-git](https://github.com/jpy-git)
* CLI: Add --ignore-local-config flag [2061](https://github.com/sqlfluff/sqlfluff/pull/2061) [jpy-git](https://github.com/jpy-git)
* T-SQL: INSERT INTO [2054](https://github.com/sqlfluff/sqlfluff/pull/2054) [jpers36](https://github.com/jpers36)
* Add --disable-noqa option to CLI and config [2043](https://github.com/sqlfluff/sqlfluff/pull/2043) [jpy-git](https://github.com/jpy-git)
* T-SQL: TRY/CATCH [2044](https://github.com/sqlfluff/sqlfluff/pull/2044) [jpers36](https://github.com/jpers36)
* enabled arrays support in `declare` and `set` statements for `bigquery` dialect [2038](https://github.com/sqlfluff/sqlfluff/pull/2038) [KulykDmytro](https://github.com/KulykDmytro)
* L008 refactor [2004](https://github.com/sqlfluff/sqlfluff/pull/2004) [jpy-git](https://github.com/jpy-git)
* Support __init__.py for library_path [1976](https://github.com/sqlfluff/sqlfluff/pull/1976) [Tonkonozhenko](https://github.com/Tonkonozhenko)
* L052: Redefine semi-colon newline to multiline newline [2022](https://github.com/sqlfluff/sqlfluff/pull/2022) [jpy-git](https://github.com/jpy-git)
* Grammar: Remove hash inline comment from Postgres [2035](https://github.com/sqlfluff/sqlfluff/pull/2035) [jpy-git](https://github.com/jpy-git)
* `noqa` enhancement: Enable glob rule matching for inline comments [2002](https://github.com/sqlfluff/sqlfluff/pull/2002) [jpy-git](https://github.com/jpy-git)
* T-SQL (ASA): Allow for table identifier in DELETE clause [2031](https://github.com/sqlfluff/sqlfluff/pull/2031) [jpers36](https://github.com/jpers36)
* T-SQL (ASA): Fix CTAS with WITH statement [2028](https://github.com/sqlfluff/sqlfluff/pull/2028) [jpers36](https://github.com/jpers36)
* Grammar: Parse multiple grants [2023](https://github.com/sqlfluff/sqlfluff/pull/2023) [jpy-git](https://github.com/jpy-git)
* Add tsql nested block comment support and add regex package dependency [2027](https://github.com/sqlfluff/sqlfluff/pull/2027) [jpy-git](https://github.com/jpy-git)
* Grammar: Add complete Snowflake datetime units [2026](https://github.com/sqlfluff/sqlfluff/pull/2026) [jpy-git](https://github.com/jpy-git)
* Grammar: Add DROP POLICY statement to postgres dialect [2024](https://github.com/sqlfluff/sqlfluff/pull/2024) [jpy-git](https://github.com/jpy-git)
* Grammar: Add complete datetime units to postgres dialect [2025](https://github.com/sqlfluff/sqlfluff/pull/2025) [jpy-git](https://github.com/jpy-git)
* Grammar: Postgres CREATE POLICY [2021](https://github.com/sqlfluff/sqlfluff/pull/2021) [jpy-git](https://github.com/jpy-git)
* Speed up CI [1957](https://github.com/sqlfluff/sqlfluff/pull/1957) [pwildenhain](https://github.com/pwildenhain)
* Add support for Snowflake create/alter SQL and js UDF [1993](https://github.com/sqlfluff/sqlfluff/pull/1993) [chwiese](https://github.com/chwiese)
* Add encoding CLI argument [1994](https://github.com/sqlfluff/sqlfluff/pull/1994) [jpy-git](https://github.com/jpy-git)
* T-SQL: Spaces allowed in comparison operators [1965](https://github.com/sqlfluff/sqlfluff/pull/1965) [jpers36](https://github.com/jpers36)
* Add Snowflake schema options [1950](https://github.com/sqlfluff/sqlfluff/pull/1950) [chwiese](https://github.com/chwiese)
* CLI/`.sqlfluff` enhancement: Rule globs [1972](https://github.com/sqlfluff/sqlfluff/pull/1972) [jpy-git](https://github.com/jpy-git)
* Add config CLI argument to lint, fix, and parse [1986](https://github.com/sqlfluff/sqlfluff/pull/1986) [jpy-git](https://github.com/jpy-git)
* Add type hints to simple API [1951](https://github.com/sqlfluff/sqlfluff/pull/1951) [jpy-git](https://github.com/jpy-git)
* New rule to flag special characters in identifiers [1958](https://github.com/sqlfluff/sqlfluff/pull/1958) [jpers36](https://github.com/jpers36)
* Allow column references in IN statement [1971](https://github.com/sqlfluff/sqlfluff/pull/1971) [tunetheweb](https://github.com/tunetheweb)
* Remove config.ini in favor of setup.cfg [1966](https://github.com/sqlfluff/sqlfluff/pull/1966) [jpy-git](https://github.com/jpy-git)
* Convert sqlfluff-templater-dbt setup.py to setup.cfg [1963](https://github.com/sqlfluff/sqlfluff/pull/1963) [jpy-git](https://github.com/jpy-git)
* Official Docker image: Dockerfile and Github Actions workflow [1945](https://github.com/sqlfluff/sqlfluff/pull/1945) [jpy-git](https://github.com/jpy-git)
* Move package metadata to setup.cfg [1960](https://github.com/sqlfluff/sqlfluff/pull/1960) [jpy-git](https://github.com/jpy-git)

🐛 Bug Fixes

* Fix tsql block comment close [2095](https://github.com/sqlfluff/sqlfluff/pull/2095) [jpy-git](https://github.com/jpy-git)
* Fix PlaceholderTemplater slice_type for templated code (substitutions) [2085](https://github.com/sqlfluff/sqlfluff/pull/2085) [barrywhart](https://github.com/barrywhart)
* Exasol: Fix UDF script syntax [2083](https://github.com/sqlfluff/sqlfluff/pull/2083) [sti0](https://github.com/sti0)
* Fix issues with placeholder templating docs [2078](https://github.com/sqlfluff/sqlfluff/pull/2078) [jpy-git](https://github.com/jpy-git)
* Update dbt templater docs to clarify that the profiles_dir setting is optional [2070](https://github.com/sqlfluff/sqlfluff/pull/2070) [barrywhart](https://github.com/barrywhart)
* Bug fix of L054 for Snowflake and Exasol [2069](https://github.com/sqlfluff/sqlfluff/pull/2069) [tunetheweb](https://github.com/tunetheweb)
* Fix L043 issue when trying to autofix functions [2059](https://github.com/sqlfluff/sqlfluff/pull/2059) [jpy-git](https://github.com/jpy-git)
* Add request for users dbt version in bug_report issue template [2058](https://github.com/sqlfluff/sqlfluff/pull/2058) [jpy-git](https://github.com/jpy-git)
* Fix parameters for Snowflake create tasks statement [2037](https://github.com/sqlfluff/sqlfluff/pull/2037) [chwiese](https://github.com/chwiese)
* Linguist: Include test/** in language statistics to better reflect use of SQL [2034](https://github.com/sqlfluff/sqlfluff/pull/2034) [jpy-git](https://github.com/jpy-git)
* L044 should handle nested CTEs [1991](https://github.com/sqlfluff/sqlfluff/pull/1991) [barrywhart](https://github.com/barrywhart)
* Add dbt adapter install advice to configuration documentation [2011](https://github.com/sqlfluff/sqlfluff/pull/2011) [jpy-git](https://github.com/jpy-git)
* Update pre-commit dbt instructions to reference separate dbt package [2005](https://github.com/sqlfluff/sqlfluff/pull/2005) [jpy-git](https://github.com/jpy-git)
* Fix config.get for iterable sections [2020](https://github.com/sqlfluff/sqlfluff/pull/2020) [jpy-git](https://github.com/jpy-git)
* Fix inline comment interactions with L052 [2019](https://github.com/sqlfluff/sqlfluff/pull/2019) [jpy-git](https://github.com/jpy-git)
* Make Snowflake tags DRY [1992](https://github.com/sqlfluff/sqlfluff/pull/1992) [chwiese](https://github.com/chwiese)
* Rename whitelist/blacklist to allowlist/denylist [1989](https://github.com/sqlfluff/sqlfluff/pull/1989) [jpy-git](https://github.com/jpy-git)
* Fix issue with inline ignores not respecting comment lines [1985](https://github.com/sqlfluff/sqlfluff/pull/1985) [jpy-git](https://github.com/jpy-git)
* Fix L009 FileSegment child + new create_before/create_after edit types [1979](https://github.com/sqlfluff/sqlfluff/pull/1979) [jpy-git](https://github.com/jpy-git)
* Adds extra check to L054 to avoid weird error messages [1988](https://github.com/sqlfluff/sqlfluff/pull/1988) [tunetheweb](https://github.com/tunetheweb)
* BigQuery: Allow keywords in column reference components [1987](https://github.com/sqlfluff/sqlfluff/pull/1987) [tunetheweb](https://github.com/tunetheweb)
* L027: Remove unnecessary crawl in get_select_statement_info [1974](https://github.com/sqlfluff/sqlfluff/pull/1974) [jpy-git](https://github.com/jpy-git)
* Add __all__ attributes to __init__.py files to resolve F401 [1949](https://github.com/sqlfluff/sqlfluff/pull/1949) [jpy-git](https://github.com/jpy-git)
* Fix incorrect comment on L055 [1967](https://github.com/sqlfluff/sqlfluff/pull/1967) [jpy-git](https://github.com/jpy-git)
* Docs: fix docker hub link to public URL [1964](https://github.com/sqlfluff/sqlfluff/pull/1964) [kevinmarsh](https://github.com/kevinmarsh)
* Fix issue releasing dbt package: tox commands run relative to repo root [1962](https://github.com/sqlfluff/sqlfluff/pull/1962) [jpy-git](https://github.com/jpy-git)

0.8.2

Not secure
What’s Changed

One of the biggest new features in this release is the support for SQLAlchemy and other "placeholder" templating within SQL queries. Check out [the documentation on how to set it up](https://docs.sqlfluff.com/en/latest/configuration.html#placeholder-templating).

This release also adds **seven** new rules. Get some help with your leading whitespace, semi-colon placement, inconsistent column references in `GROUP BY/ORDER BY`, and getting rid of `RIGHT JOIN`'s among other useful lints with our new rules! See our [rules documentation](https://docs.sqlfluff.com/en/stable/rules.html) for more details.

On top of those, we have made loads of grammar improvements across many dialects, improvements to the dbt templater (including issues where `sqlfluff fix` would corrupt the code :scream:), more fix routines, and lots more improvements.

🚀 Enhancements

* [many dialects] Implement generic placeholder templating [1887](https://github.com/sqlfluff/sqlfluff/pull/1887) [jacopofar](https://github.com/jacopofar)
* [many dialects] Add support for SQLAlchemy templating [1878](https://github.com/sqlfluff/sqlfluff/pull/1878) [jacopofar](https://github.com/jacopofar)
* Add DROP PROCEDURE statement to T-SQL [1921](https://github.com/sqlfluff/sqlfluff/pull/1921) [jpy-git](https://github.com/jpy-git)
* T-SQL dialect: fix index/tables creation options [1955](https://github.com/sqlfluff/sqlfluff/pull/1955) [tkachenkomaria244](https://github.com/tkachenkomaria244)
* Add DROP TYPE statement to ANSI dialect [1919](https://github.com/sqlfluff/sqlfluff/pull/1919) [jpy-git](https://github.com/jpy-git)
* Add INSERT INTO statements to Redshift Dialect [1896](https://github.com/sqlfluff/sqlfluff/pull/1896) [tdstark](https://github.com/tdstark)
* Added TABLESAMPLE support to Bigquery [1897](https://github.com/sqlfluff/sqlfluff/pull/1897) [WittierDinosaur](https://github.com/WittierDinosaur)
* Add [LEFT] ANTI and [LEFT] SEMI joins to the Spark3 dialect [1942](https://github.com/sqlfluff/sqlfluff/pull/1942) [jpy-git](https://github.com/jpy-git)
* Parse UPDATE/INSERT within WITH clause [1889](https://github.com/sqlfluff/sqlfluff/pull/1889) [jpy-git](https://github.com/jpy-git)
* Add OVERRIDING SYSTEM/USER VALUE to insert statement in postgres dialect [1869](https://github.com/sqlfluff/sqlfluff/pull/1869) [jpy-git](https://github.com/jpy-git)
* Add support for DROP SCHEMA [IF EXISTS] name [ CASCADE | RESTRICT ] [1865](https://github.com/sqlfluff/sqlfluff/pull/1865) [gimmyxd](https://github.com/gimmyxd)
* Add CREATE TABLE Statement To Redshift [1855](https://github.com/sqlfluff/sqlfluff/pull/1855) [tdstark](https://github.com/tdstark)
* Add DROP TYPE statement in postgres dialect [1870](https://github.com/sqlfluff/sqlfluff/pull/1870) [jpy-git](https://github.com/jpy-git)
* Add SEQUENCE NAME to postgres sequence options [1866](https://github.com/sqlfluff/sqlfluff/pull/1866) [jpy-git](https://github.com/jpy-git)
* Added SET Statement to Postgres [1877](https://github.com/sqlfluff/sqlfluff/pull/1877) [WittierDinosaur](https://github.com/WittierDinosaur)
* Postgres: Allow use of quoted identifiers to ALTER TABLE OWNER TO [1856](https://github.com/sqlfluff/sqlfluff/pull/1856) [markpolyak](https://github.com/markpolyak)
* Updates to COPY INTO grammar in Snowflake [1884](https://github.com/sqlfluff/sqlfluff/pull/1884) [WittierDinosaur](https://github.com/WittierDinosaur)
* Postgres & T-SQL: Drop Function [1924](https://github.com/sqlfluff/sqlfluff/pull/1924) [WittierDinosaur](https://github.com/WittierDinosaur)
* Add Expressions to SET syntax [1852](https://github.com/sqlfluff/sqlfluff/pull/1852) [tunetheweb](https://github.com/tunetheweb)
* Update DbtTemplater to use JinjaTracer [1788](https://github.com/sqlfluff/sqlfluff/pull/1788) [barrywhart](https://github.com/barrywhart)
* L043 refinement: Add autofix for common use of CASE to fill NULL values. [1923](https://github.com/sqlfluff/sqlfluff/pull/1923) [jpy-git](https://github.com/jpy-git)
* New Rule L050: No leading whitespace [1840](https://github.com/sqlfluff/sqlfluff/pull/1840) [jpy-git](https://github.com/jpy-git)
* L050: updating to target jinja templates [1885](https://github.com/sqlfluff/sqlfluff/pull/1885) [jpy-git](https://github.com/jpy-git)
* New rule L051 to forbid lone JOIN [1879](https://github.com/sqlfluff/sqlfluff/pull/1879) [jpy-git](https://github.com/jpy-git)
* New Rule L052: Semi colon alignment [1902](https://github.com/sqlfluff/sqlfluff/pull/1902) [jpy-git](https://github.com/jpy-git)
* New Rule L053: Remove outer brackets from top-level statements. [1916](https://github.com/sqlfluff/sqlfluff/pull/1916) [jpy-git](https://github.com/jpy-git)
* New Rule L054: Inconsistent column references in GROUP BY/ORDER BY clauses. [1917](https://github.com/sqlfluff/sqlfluff/pull/1917) [jpy-git](https://github.com/jpy-git)
* New Rule L055: Use LEFT JOIN instead of RIGHT JOIN. [1931](https://github.com/sqlfluff/sqlfluff/pull/1931) [jpy-git](https://github.com/jpy-git)
* New Rule L056: 'SP_' prefix should not be used for user-defined stored procedures [1930](https://github.com/sqlfluff/sqlfluff/pull/1930) [jpy-git](https://github.com/jpy-git)
* Tsql partition by multiple columns [1906](https://github.com/sqlfluff/sqlfluff/pull/1906) [jpers36](https://github.com/jpers36)
* Added bare functions to values clause [1876](https://github.com/sqlfluff/sqlfluff/pull/1876) [WittierDinosaur](https://github.com/WittierDinosaur)
* Remove unnecessary context section, from code and the docs [1905](https://github.com/sqlfluff/sqlfluff/pull/1905) [jacopofar](https://github.com/jacopofar)
* L036 docstring refinements [1903](https://github.com/sqlfluff/sqlfluff/pull/1903) [jpy-git](https://github.com/jpy-git)
* Add `exclude_rules` option for the Simple API [1850](https://github.com/sqlfluff/sqlfluff/pull/1850) [tunetheweb](https://github.com/tunetheweb)
* Tox improvements: Streamline development/testing environments. [1860](https://github.com/sqlfluff/sqlfluff/pull/1860) [jpy-git](https://github.com/jpy-git)
* Add Tox publish commands [1853](https://github.com/sqlfluff/sqlfluff/pull/1853) [jpy-git](https://github.com/jpy-git)
* Documentation: Change inheritance dialect example to Redshift [1900](https://github.com/sqlfluff/sqlfluff/pull/1900) [chwiese](https://github.com/chwiese)
* Remove failing requires.io badge [1898](https://github.com/sqlfluff/sqlfluff/pull/1898) [jpy-git](https://github.com/jpy-git)
* [Snowflake] Allow naked AUTOINCREMENT [1883](https://github.com/sqlfluff/sqlfluff/pull/1883) [gordonhart](https://github.com/gordonhart)
* Add support for curly brackets in SnowSQL ampersand variables [1901](https://github.com/sqlfluff/sqlfluff/pull/1901) [chwiese](https://github.com/chwiese)
* Add short form help option (-h) [1947](https://github.com/sqlfluff/sqlfluff/pull/1947) [jpy-git](https://github.com/jpy-git)
* Remove plaintext API key from benchmark utility [1863](https://github.com/sqlfluff/sqlfluff/pull/1863) [jpy-git](https://github.com/jpy-git)
* Add `skip_install` to static analysis sections of tox.ini [1851](https://github.com/sqlfluff/sqlfluff/pull/1851) [jpy-git](https://github.com/jpy-git)
* Move typing_extensions from `requirements_dev.txt` to `requirements.txt` [1956](https://github.com/sqlfluff/sqlfluff/pull/1956) [jpy-git](https://github.com/jpy-git)

🐛 Bug Fixes

* Fix bug where "sqlfluff fix" deletes dbt "{% snapshot %}" line [1907](https://github.com/sqlfluff/sqlfluff/pull/1907) [barrywhart](https://github.com/barrywhart)
* Fix subquery bug in L026 [1948](https://github.com/sqlfluff/sqlfluff/pull/1948) [jpy-git](https://github.com/jpy-git)
* Fix bug where L041 was confused by L016's placement of newlines in the parse tree [1904](https://github.com/sqlfluff/sqlfluff/pull/1904) [barrywhart](https://github.com/barrywhart)
* Fix progressbar artifacts within linter errors [1873](https://github.com/sqlfluff/sqlfluff/pull/1873) [adam-tokarski](https://github.com/adam-tokarski)
* Correct Snowflake warehouse sizes [1872](https://github.com/sqlfluff/sqlfluff/pull/1872) [jpy-git](https://github.com/jpy-git)
* Fixed Delimited() logic, added T-SQL grammar [1894](https://github.com/sqlfluff/sqlfluff/pull/1894) [WittierDinosaur](https://github.com/WittierDinosaur)
* L036 refinement - FROM clause interaction [1893](https://github.com/sqlfluff/sqlfluff/pull/1893) [jpy-git](https://github.com/jpy-git)
* Add missing chardet install in setup.py [1928](https://github.com/sqlfluff/sqlfluff/pull/1928) [jpy-git](https://github.com/jpy-git)
* Fix misplaced TableAliasInfo in L031 documentation [1946](https://github.com/sqlfluff/sqlfluff/pull/1946) [jpy-git](https://github.com/jpy-git)
* Fix broken link to external SQL style guide [1918](https://github.com/sqlfluff/sqlfluff/pull/1918) [kevinmarsh](https://github.com/kevinmarsh)

0.8.1

Not secure
What’s Changed

Fixes missing dependency issue with 0.8.0 for `tqdm`, plus add a test to ensure this does not happen again.

🐛 Bug Fixes

* Fix: add tqdm to setup.py installation requirements [1842](https://github.com/sqlfluff/sqlfluff/pull/1842) [skykasko](https://github.com/skykasko)
* Add test to ensure pip install works [1843](https://github.com/sqlfluff/sqlfluff/pull/1843) [tunetheweb](https://github.com/tunetheweb)

Page 17 of 26

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.