sqlformat 0.5.0

Formats whitespace in a SQL string to make it easier to read
Documentation
# Changelog

## Version 0.5.0

- feat!: Improve array support (#106)
- feat: Add initial debugging capabilities
- feat: Support PostgreSQL row-level locking syntax (FOR UPDATE, FOR SHARE) (#108)
- fix: More inline formatting edge cases (#109)
- fix: Type specifiers after numeric literals (#108)

## Version 0.4.0

- feat!: More formatting options (#78)
- feat!: More formatting options (#74)
- feat: Consistently space blocks after arguments
- feat: Correctly inline opening parentheses (#100)
- feat: Support more conditionally top level tokens (#99)
- feat: Complex insert support (#90)
- feat: Add fmt for SQLite blob literal
- feat: Uniform the behaviour of block and top-level span options
- fix: Place a whitespace between the array type specifier and a reserved word
- fix: Correctly format array type specifier (#91)
- fix: Format inline `CASE <expression> WHEN` correctly (#86)
- fix: Fix formatting WITH as a single line
- fix: Keep the previous tokens per-block
- fix: Improve the inline/columnar combination (#80)
- fix: Consider WITH a top level reserved word
- fix: Fix the span computation and usage
- chore: Upgrade to Winnow 0.7.0 (#79)

## Version 0.3.5

- Support pg_trgm operators
- Remove usage of a deprecated `winnow` function

## Version 0.3.4

- Migrate from `nom` to `winnow`, provides about 30% performance improvement

## Version 0.3.3

- Reduce binary size by removing regex dependency (#68)

## Version 0.3.2

- support ClickHouse/DuckDB join variants
- handle double colons better

## Version 0.3.1

- Allow latest regex version (#55)
  - [slightly breaking] Increases minimum Rust version to 1.65
- Fixes for operator parsing (#57)
- Performance improvements (#58)

## Version 0.3.0

- [breaking] fix: Ignore keywords for uppercase=True (#53)
- fix: uppercase=false does not lowercase the query (#50)
- fix: Possible to provide an escape hatch for expressions (#51)

## Version 0.2.6

- fix: ON UPDATE with two many blank formatted incorrectly (#46)
- fix: `EXCEPT` not handled well
- fix: REFERENCES xyz ON UPDATE .. causes formatter to treat the remaining as an UPDATE statement
- fix: Escaped strings formatted incorrectly
- fix: RETURNING is not placed on a new line
- fix: fix the issue of misaligned comments after formatting (#40)

## Version 0.2.4

- Remove `itertools` dependency [#34]https://github.com/shssoichiro/sqlformat-rs/pull/34

## Version 0.2.3

- Allow alphanumeric characters in SQLite style parameters [#32]https://github.com/shssoichiro/sqlformat-rs/pull/32
- Format "begin" and "declare" for PLPgSql [#30]https://github.com/shssoichiro/sqlformat-rs/pull/30
- Allow scientific notation with or without "+"/"-" [#31]https://github.com/shssoichiro/sqlformat-rs/pull/31
- Treat "$$" as a reserved token that sits on its own line [#29]https://github.com/shssoichiro/sqlformat-rs/pull/29
- Bump itertools to version 0.12 [#28]https://github.com/shssoichiro/sqlformat-rs/pull/28

## Version 0.2.2

- Fix a performance issue where the tokenizer would run in O^2
  time [#24]https://github.com/shssoichiro/sqlformat-rs/pull/24

## Version 0.2.1

- Fix extra spaces inside of scientific notation [#16]https://github.com/shssoichiro/sqlformat-rs/pull/16
- Remove unnecessary space in BETWEEN clause [#17]https://github.com/shssoichiro/sqlformat-rs/pull/17
- Denote the minimum Rust version in Cargo.toml

## Version 0.2.0

- Fix extra spaces in string escaping [#13]https://github.com/shssoichiro/sqlformat-rs/pull/13
- Fix panic on overflowing integer [#14]https://github.com/shssoichiro/sqlformat-rs/pull/14
- Bump Rust edition to 2021
  - This is technically a breaking change as it bumps the minimum Rust version to 1.56

## Version 0.1.8

- Remove regex dependency
- Remove unused maplit dependency

## Version 0.1.7

- Bump nom to 7.0, which reportedly also fixes some build issues

## Version 0.1.6

- Fix compatibility with Rust 1.44 which was broken in 0.1.5

## Version 0.1.5

- Fix a possible panic on multibyte unicode strings

## Version 0.1.4

- Attempt again to fix the issue some users experience where this crate would fail to compile

## Version 0.1.3

- Fix an issue some users experienced where this crate would fail to compile

## Version 0.1.2

- Rewrite the parser in nom, providing significant performance improvements across the board
- Other significant performance improvement on pathological queries

## Version 0.1.1

- Significant performance improvements

## Version 0.1.0

- Initial release