Breaking changes
- Removed
aliasAs
config option #371 - New approach to function call matching #140 see beta1 release notes for details
- Removed support for lots of questionable DB2 keywords #352
LIMIT
&OFFSET
keywords are no more supported in all dialects #362- Removed support for
CREATE TABLE
andDROP TABLE
from N1QL #364 - Several other smaller removals of unsupported syntax.
New features
Improvements
- Improved support for various BigQuery DDL statements (thanks to Ahmad Khan #319)
- Improved formatting of PL/SQL
tbl@dblink
syntax #338 - Added support for PL/SQL Q strings #342
- Improved Trino row pattern formatting #333
- Revised reserved keyword lists in multiple dialects #348
- Revised supported joins and set operations in multiple dialects #346
- Revised supported string types in multiple dialects #332
- Allow
#
as first char for Redshift identifiers #358 - Allow MySQL and MariaDB identifiers to begin with a number #339
- Improved formatting of
SELECT DISTINCT
#362 - Added support for several variations in SELECT query clauses (like
WITH RECURSIVE
in addition to plainWITH
) #362 - General overhaul of supported SQL syntax #362, #375, #369, #364
Bugfixes
- Fixed parameter substitution not working in
BETWEEN
expressions #318 - Fixed
BETWEEN..AND
formatting in tabular style #350 - Fixed double-quoted strings support for Spark #331
- Fixed multiword commands formatting with keywordCase:upper #356
- Fixed missing type-definition file when importing sql-formatter in TypeScript #353
- Fixed semicolon-on-separate-line bug #376
Internals:
- Utility for auto-generation of syntax variants #327
- Placed each
language.formatter.ts
file to separate directory and separated functions and keywords to separate files #315 - Removed
RESERVED_JOIN_CONDITION
token type. - Renamed
BINARY_COMMAND
toSET_OPERATION
#351 - Separated multi-word keywords from the rest #363
- Removed
.d.ts
file extensions #370