Skip to content

Releases: sqlfluff/sqlfluff

[3.2.5] - 2024-10-25

25 Oct 09:15
36ad37b
Compare
Choose a tag to compare

Highlights

This release is mostly bugfixes and dialect improvements. Notably:

  • Whitespace handling improvements to LT01 & LT02.
  • Better error messages around trying to iterate on missing jinja variables.
  • Better case sensitivity for AL09.
  • Improved handling of jinja context in inline config directives.
  • Enabling AM02 for Trino and Snowflake.
  • Handling potential collisions between ST02 & LT01.
  • Preventing false positives in AL05 with arrays.

There's also a bunch of documentation improvements in this release, including guides on how to troubleshoot SQLFluff and how to write custom rules. Check out https://docs.sqlfluff.com for more details.

We also saw five new contributors to the project this month. Welcome to the project, and thanks for taking the time to contribute! 🎉🏆🎉

What’s Changed

New Contributors

[3.2.4] - 2024-10-14

14 Oct 18:39
eb77eb1
Compare
Choose a tag to compare

Highlights

This release is almost all dialect fixes and bugfixes. Notably also, this release brings official python 3.13 support too (although most users should not realise any differences).

We also see two new contributors to the project. Welcome @R3gardless & @brandonschabell! 🎉🎉🎉

What’s Changed

[3.2.3] - 2024-10-10

10 Oct 13:03
6f808ff
Compare
Choose a tag to compare

Highlights

This is another release of dialect improvements and rule bugfixes. Notably:

  • More robust algorithms for the indentation of Jinja template tags in LT02.
  • The github-annotation-native format option now has groups for each filename.

There's also a refactor of where we guides and howtos in the docs. Keep an eye on that section going forward for more information about best practice and troubleshooting for SQLFluff.

Even in this small PR, we've seen two new contributors. Welcome @nspcc-cm & @rogalski to the project!

What’s Changed

[3.2.2] - 2024-10-07

07 Oct 11:11
64f8027
Compare
Choose a tag to compare

Highlights

This is a hotfix release to resolve an issue with the JJ01 rule when running in parallel mode.

What’s Changed

[3.2.1] - 2024-10-06

06 Oct 18:38
76ceb29
Compare
Choose a tag to compare

Highlights

This release is primarily housekeeping, bugfixes and dialect improvements. More specifically:

  • Resolving regressions in JJ01, filename extension handling and the treatment of unfixable/unparsable files, which have been noticed with recent releases.
  • Resolving bugs in LT07 & LT12 which relate to jinja whitespace control.
  • More robust support for arbitrary methods on the ref and source macros for the dbt templater.

There's also dialect improvements for BigQuery, TSQL, MySQL, MariaDB, Snowflake, DuckDB, Databricks, Postgres, Teradata, Exasol & Vertica.

We also saw six new contributors merge their first pull request as part
of this release. Welcome to the project! 🎉🏆🎉

What’s Changed

[3.2.0] - 2024-09-18

18 Sep 20:58
2605df0
Compare
Choose a tag to compare

Highlights

This release brings a few minor breaking changes, both for the core project and for the dbt templater. For the main project:

  • Resolving an issue with the spacing of functions (LT01), which involved a change to how functions are parsed. If your project relies on the specific parsing of functions, the bracketed arguments are now wrapped in a function_contents object. We recommend that you examine the new parsing structure using this new release in testing first.

  • RF06 (references.quoting) is now case sensitive when removing quotes which are detected as unnecessary. This rule has also been re-enabled by default for Snowflake and Postgres where it had previously been disabled (for the reason that in the past it hadn't been appropriately case sensitive). Treatment for totally case-insensitive dialects like DuckDB and SparkSQL have also been included. Please check the new documentation for this rule (which is much more explicit now), for details related to your dialect.

  • Patterns equivalent to those from .sqlfluffignore can now be included in .sqlfluff and pyproject.toml files.

  • Using the python templater, users now have an option to include variables which include a dot in the path, like {{ foo.bar }} using a special sqlfluff context variable.

  • Significant changes under the hood to the handling of configuration files. Most of these should not be visible to end users, but for anyone integrating SQLFluff into a larger project and relying on native file loading may need to refactor their project for this release. Most notably here, for maintainers of plugins, the ConfigLoader class has been deprecated, and plugins should instead call the config loading functions directly. See the example plugin for details.

  • Documentation, especially for dialects, has been significantly improved. Documentation for CP02 (capitalisation.identifiers) has also been clarified to make it's implication for references and aliases more clear.

  • During testing, to isolate the effect of specific rules, there's a new CLI option --disable-noqa-except which allows all noqa options to be ignored except the ones provided in this option.

For the dbt templater:

  • Support for dbt 1.1-1.3 has been removed. All have been in End of Life (EOL) support by dbtlabs for almost two years. They are also poorly supported by other projects and tools.

  • The dbt templater has been migrated to use pyproject.toml.

  • Handling of errors and exceptions raised within dbt has had an overhaul. Users may see a slightly different presentation of errors, but the overall stability should be more robust.

In addition to those changes, there have been too many dialect contributions and bugfixes to mention specifically. We've also seen six people make their first contributions to the project as part of preparing for this release! 🎉🏆🎉.

What’s Changed

[3.1.1] - 2024-08-20

20 Aug 22:30
35ffbfb
Compare
Choose a tag to compare

Highlights

This release brings a bumper lot of bugfixes, dialect improvements and other minor improvements across the board. Most notably:

  • A rework of the structure of the docs. NOTE: This does change the url of some docs pages, but to prevent future moves, we've also provided permalinks to most important pages and rules. See the conf.py file in the docs folder for a full list of permalinks.
  • Solving rule conflicts between LT02 & LT02.
  • Bugfixes to AM07, CV11, ST03, ST05 & RF03,
  • Removes some redundant dependencies in for the dbt templater (which haven't been required for some time, but have been included in the install dependencies). Specifically: markupsafe, ruamel.yaml, pydantic & rich.
  • And too many dialect improvements to summarise!

We've also seen fifteen new contributors to the project! Thanks to all of them for taking the time to contribute. 🎉🎉🏆🎉🎉

What’s Changed

New Contributors

[3.1.0] - 2024-07-03

03 Jul 17:32
3ef765d
Compare
Choose a tag to compare

Highlights

This minor release has two breaking changes:

  • The addition of camelCase in the extended capitalisation policy. This change removes the ability to
    autodetect PascalCase, from now on PascalCase, and camelCase must be explicitly set in the config if desired.
  • The detection method for sqlfluff config has changed. It should now be more consistent, regardless of how deep if the directory
    structure you run the command from.

This release also brings in support for the MariaDB dialect. As well as this, there are many bugfixes,
and dialect improvements.

Thanks also to the twelve new contributors whose work was included
in this release! 🎉🎉🏆🎉🎉

What’s Changed

New Contributors

[3.0.7] - 2024-05-23

23 May 09:39
6c22f5e
Compare
Choose a tag to compare

Highlights

This is primarily a fix for compatibility with dbt 1.8 . Beyond that it also brings several dialect improvements to SQLite, Bigquery, MySQL, Oracle & Clickhouse.

Thanks also to the five new contributors whose work was included in this release! 🎉🎉🏆🎉🎉

What’s Changed

New Contributors

[3.0.6] - 2024-05-06

06 May 19:38
75cf648
Compare
Choose a tag to compare

Highlights

This release primarily fixes an issue introduced by the recent dbt 1.7.14 release, and better support for dbt 1.7 . It also includes a range of dialect improvements and CLI refinements.

This release also includes the groundwork for linting the unrendered sections of Jinja templates. More documentation on this will be released in due course when it's ready for beta testing.

Thanks also to @padraic00 & @burhanyasar who made their first contributions in this release. 🎉🎉🏆🎉🎉

What’s Changed

New Contributors