github sqlfluff/sqlfluff 2.3.3
[2.3.3] - 2023-10-13

latest releases: 4.2.2, 4.2.1, 4.2.0...
2 years ago

Highlights

There's a lot in this release. Most of it is under the covers and so shouldn't cause any breaking changes for most users. If your use case depends on some of the internals of SQLFluff, you may find some breaking changes. The bigger changes are:

  • Python 3.12 support is now official (although older releases may also work as only a few changes were required for full 3.12 support).
  • We've done a significant re-write of the parsing engine to remove some unnecessary segment manipulation and get us closer to "single pass" parsing. This changes the internal API being used on any .match() methods, and also removes the parse_grammar attribute on any dialect segments. We are not aware of any 3rd party libraries which rely on these APIs however and so have not triggered a more major release. These lead to significant performance improvements during parsing.
  • Standardisation of terminators in the parser, and the introduction of the ParseMode option has enabled the removal of the StartsWith, GreedyUntil and EphemeralSegment parser classes.
  • Several validation checks have been revised in this release, which should both improve performance (by reducing duplication), but also be more effective in preventing the application of any fixes which would result in unparsable files.

Alongside the big things this also includes a host of bugfixes, dialect improvements and CI/testing improvements.

This release also sees a bumper crop of new contributors, thanks to @dehume, @andychannery, @Kylea650, @robin-alphasophia, @jtbg, @r-petit, @bpfaust, @freewaydev & @abdel who all made the first contibutions in this release! πŸŽ‰πŸŽ‰πŸŽ‰

What’s Changed

New Contributors

Don't miss a new sqlfluff release

NewReleases is sending notifications on new releases.