This release brings several breaking changes to previous releases. Most notably:
It drops support for python 3.7, which reached end of life in June 2023.
It migrates to pyproject.toml rather than setup.cfg as the python packaging configuration file (although keeping setuptools as the default backend).
The serialised output for sqlfluff lint (and the corresponding API methods) now contains more information about the span of linting issues, initial proposed fixes and several statistics which were previously only accessible via csv export. Beside the new fields, the original fields of line_pos and line_no have been renamed to start_line_pos and start_line_no, to distinguish them from the new fields starting end_*.
The default annotation_level set by the --annotation-level option on the sqlfluff lint command has been changed from notice to warning, to better distinguish linting errors from warnings, which always now have the level of notice. This is only relevant when using the github-annotation or github-annotation-native formats.
A change in the default behaviour for convention.not_equals. The new default is to be consistent, which is slightly more relaxed than the original behaviour.
The --force option has been deprecated on sqlfluff fix as that option is now the default behaviour. This is to enable significant reductions in memory overhead when linting large projects.
The long since deprecated --disable_progress_bar option has been removed (which was replaced by the kabab-case --disable-progress-bar more than a year ago).
Plugins are now loaded progressively, and with error handling. If a plugin fails to load, SQLFluff will now continue onward and try to run regardless while also showing a more helpful error message.
On top of these changes, there have a been a whole host of dialect improvements and additions, in particular the inclusion of avertica dialect for the first time. There's also:
A new rule (aliasing.self_alias.column) which prevents aliasing a column as itself.
A change to disables AL01 (aliasing.table) by default for Oracle.
A change to allow AL05 to allow aliasing for a VALUES clause.
For more specifics please take a look at the release notes.
Thanks to the community for patience during the release cycle for 3.0.0, which has taken a little longer than expected. Thanks also to the TWENTY SEVEN new contributors whose changes are included in this release. 🎉🎉🏆🎉🎉
This release brings several breaking changes to previous releases. Most notably:
It drops support for python 3.7, which reached end of life in June 2023.
It migrates to pyproject.toml rather than setup.cfg as the python
packaging configuration file (although keeping setuptools as the default backend).
The serialised output for sqlfluff lint (and the corresponding API methods)
now contains more information about the span of linting issues, initial
proposed fixes and several statistics which were previously only accessible via
csv export. Beside the new fields, the original fields of line_pos and
line_no have been renamed to start_line_pos and start_line_no, to
distinguish them from the new fields starting end_*.
The default annotation_level set by the --annotation-level
option on the sqlfluff lint command has been changed from notice
to warning, to better distinguish linting errors from warnings, which
always now have the level of notice. This is only relevant when using
the github-annotation or github-annotation-native formats.
A change in the default behaviour for convention.not_equals. The new default
is to be consistent, which is slightly more relaxed than the original
behaviour.
The --force option has been deprecated on sqlfluff fix as that option is
now the default behaviour. This is to enable significant reductions in memory
overhead when linting large projects.
The long since deprecated --disable_progress_bar option has been removed
(which was replaced by the kabab-case --disable-progress-bar more than a
year ago).
Plugins are now loaded progressively, and with error handling. If a plugin
fails to load, SQLFluff will now continue onward and try to run regardless
while also showing a more helpful error message.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps sqlfluff from 1.4.5 to 3.0.1.
Release notes
Sourced from sqlfluff's releases.
... (truncated)
Changelog
Sourced from sqlfluff's changelog.
... (truncated)
Commits
5b39b51
Prep version 3.0.1 (#5677)1f13d9a
Fix 5673 (#5676)85c85bf
Prep version 3.0.0 (#5660)a1e28b7
Progressively load plugins (#5661)5b5c6e1
Postgres: AL05, ignore aliases in values clause (#5669)3fa56ee
Add Postgres CREATE FOREIGN TABLE statement (#5657)4572998
Lexer: Handle escaped curly brace slices from the python templater (#5666)d09b2de
[CI]: Update pre-commit hook versions (#5665)cc4a84c
Resolves #5624: Snowflake unparsable unset table options (#5664)f8fd0fd
Revert Ruff Changes (#5662)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show