# What changed in sql-formatter

> 21 changes in sql-formatter 15 from its official release notes, upgrade guides and advisories: 1 breaking, 6 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/sql-formatter/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## sql-formatter 15

### Breaking changes

- Removes multi-word function names from MySQL. (15.7.1) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.1)

### New APIs and options

- The modulo operator is now supported in SingleStoreDB. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- The parser now supports the pg_dump commands \restrict and \unrestrict. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- Adds the missing OPENJSON Transact-SQL function. (15.7.3) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.3)
- sql-formatter supports the CORRESPONDING keyword on Trino set operations. (15.7.2) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.2)
- Clickhouse SQL dialect is now supported. (15.7.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.0)
- Adds support for PostgreSQL 18 UUID functions. (15.6.12) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.6.12)

### Performance

- Parsing long SQL expression lists avoids quadratic accumulation. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)

### Behavior and default changes

- Formatting now keeps spaces around PostgreSQL OPERATOR() when denseOperators is enabled. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- Formatting keeps the colon dense inside [] for DuckDB array slices. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- A reserved word after AS is now treated as an alias. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- BigQuery formatting now always keeps spaces around the `-` operator. (15.8.2) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.8.2)
- PostgreSQL formatting now supports keywords in CREATE CONSTRAINT TRIGGER. (15.8.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.8.0)
- SQLite formatting now supports Tcl-style $param(...) syntax. (15.7.4) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.4)

### Fixes and other changes

- Formatting removes the extra space after BETWEEN _ AND _ expressions. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- Formatting now keeps a space when densing - before a negative operand. (15.9.0) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.9.0)
- Fixed an idempotency issue with block-comment placement. (15.8.1) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.8.1)
- Fixes formatting of the `>^` geometric operator. (15.7.3) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.3)
- Adds missing PostgreSQL operators. (15.7.3) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.3)
- Properly formats TIMESTAMP WITH TIME ZONE in Trino. (15.7.3) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.7.3)
- Formats COMMENT ON as keywords in PostgreSQL. (15.6.11) — [release notes](https://github.com/sql-formatter-org/sql-formatter/releases/tag/v15.6.11)
