# Changelog

## 0.1.17 - 2026.08.18
### Changed
- `isOrdered` removed from the aggregate function list, so it no longer appears in autocomplete. [#29](https://github.com/questdb/sql-parser/pull/29)

## 0.1.16 - 2026.07.23
### Added
- expand parser with live views, row expiry, posting indexes [#28](https://github.com/questdb/sql-parser/pull/28)

## 0.1.15 - 2026.07.02
### Changed
- Storage policy now matches the current QuestDB spec: the four stages are `TO PARQUET`, `TO REMOTE`, `DROP LOCAL`, `DROP REMOTE`. Added `TO REMOTE` (grammar, `StoragePolicy.toRemote` AST field, `toSql`, autocomplete). Removed the unsupported `DROP NATIVE` stage and the `StoragePolicy.dropNative` field — `DROP NATIVE` is now a parse error. [08688b6](https://github.com/questdb/sql-parser/commit/08688b6)
### Added
- `storage_policies()` registered as a table-valued (meta) function. [08688b6](https://github.com/questdb/sql-parser/commit/08688b6)
### Fixed
- Long-form TTL / storage-policy values now parse faithfully: `1e9 DAYS` no longer collapses to `1` and `.5 DAYS` no longer becomes `NaN` (`parseInt` → `parseFloat`, `_` separators still honored). The server remains the validator. [08688b6](https://github.com/questdb/sql-parser/commit/08688b6)

## 0.1.14 - 2026.06.02
### Fixed
- emit singular time units from toSql [35982c8](https://github.com/questdb/sql-parser/commit/35982c8)

## 0.1.13 - 2026.05.21
### Added
- support storage policy [1ccfa5f](https://github.com/questdb/sql-parser/commit/1ccfa5f)

## 0.1.12 - 2026.05.20
### Fixed
- add strict position tracking, prevent equals operator in DECLARE assignments [49b4f58](https://github.com/questdb/sql-parser/commit/49b4f58)


## 0.1.11 - 2026.05.07
### Changed
- Autocomplete hides `pg_*` functions (and the `pg_catalog.*` namespace) until the user has typed a `pg` prefix, so `p` no longer floods completions with PostgreSQL-compat names. [58a911a](https://github.com/questdb/sql-parser/commit/58a911a)


## 0.1.10 - 2026.04.22
### Added
- Named `WINDOW` clause: `SELECT ... WINDOW w AS (...)` with multiple windows, window inheritance, and inline-plus-named mixing. Matches QuestDB's Java parser (introduced in questdb/questdb#6746). [#24](https://github.com/questdb/sql-parser/pull/24)
- Trailing comma accepted in select lists: `SELECT a, b, FROM t` now parses cleanly. [#24](https://github.com/questdb/sql-parser/pull/24)

### Fixed
- Named window reference in `OVER w` no longer loses the window name when round-tripping through the AST and `toSql`. [#24](https://github.com/questdb/sql-parser/pull/24)
- Autocomplete no longer hangs on malformed input (unbalanced parens, unsupported clauses, stray terminators). A path-count budget in the content-assist DFS aborts pathological searches in <200ms and returns no suggestions, instead of freezing the UI. [#24](https://github.com/questdb/sql-parser/pull/24)
- `WINDOW` keyword now shows up in autocomplete as a standalone clause keyword alongside `WINDOW JOIN` after a `FROM` clause. [#24](https://github.com/questdb/sql-parser/pull/24)


## 0.1.9 - 2026.04.21
### Added
- `bar` and `sparkline` functions [#22](https://github.com/questdb/sql-parser/pull/22)
- Storage policy keywords and `local`/`remote` constants [#20](https://github.com/questdb/sql-parser/pull/20)

### Changed
- Position-aware autocomplete: functions are categorized into scalar / aggregate / window / table-valued buckets, remove implicit select filter. [5a422b0](https://github.com/questdb/sql-parser/commit/5a422b0)


## 0.1.8 - 2026.04.13
### Added
- Add `timestamp_sequence_ns` function [#21](https://github.com/questdb/sql-parser/pull/21)
- `array_elem_min`, `array_elem_max`, `array_elem_sum`, `array_elem_avg`, `now_ns`, `systimestamp_ns`, `rnd_timestamp_ns` functions [#19](https://github.com/questdb/sql-parser/pull/19)


## 0.1.7 - 2026.04.13
### Added
- LATERAL JOIN support: `{INNER|LEFT|CROSS} JOIN LATERAL (subquery)` and standalone `FROM t, LATERAL (subquery)` [6e5e5e7](https://github.com/questdb/sql-parser/commit/6e5e5e7)
- UNNEST support including JSON UNNEST [6e5e5e7](https://github.com/questdb/sql-parser/commit/6e5e5e7)
- PARQUET column config in CREATE/ALTER table statements [6e5e5e7](https://github.com/questdb/sql-parser/commit/6e5e5e7)


## 0.1.6 - 2026.03.26
### Changed
- remove quoted identifier suppression [#17](https://github.com/questdb/sql-parser/pull/17)


## 0.1.5 - 2026.03.18
### Fixed
boost expression operators over clause keywords in WHERE context [#15](https://github.com/questdb/sql-parser/pull/15)


## 0.1.4 - 2026.03.17
### Added
- Compound JOIN suggestions: suggest "LEFT JOIN", "ASOF JOIN" etc. as single completions instead of bare keywords [#13](https://github.com/questdb/sql-parser/pull/13)
- CTE grammar: extract `selectBody` rule so DECLARE/WITH are not suggested after WITH clause [#13](https://github.com/questdb/sql-parser/pull/13)

### Fixed
- Table suggestion ranking: tables no longer interleave with columns in autocomplete [#13](https://github.com/questdb/sql-parser/pull/13)


## 0.1.3 - 2026.03.04
### Added
- horizon join support [#9](https://github.com/questdb/sql-parser/pull/9)


## 0.1.2 - 2026.02.25
### Fixed
- Prioritize tables with mentioned columns in the suggestions [#6](https://github.com/questdb/sql-parser/pull/6)


## 0.1.1 - 2026.02.23
### Fixed
- grammar-level table/column classification, join-specific suggestions [#2](https://github.com/questdb/sql-parser/pull/2)


## 0.1.0 - 2026.02.19
- Initial release
