# Changelog

All notable changes to `@qrvey/query-builder` are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.0.1]

Initial release.

### Added

- **Builders** — `QueryBuilder` and `MutationBuilder` with `validate`, `plan`
  and `transpile`.
- **Engines** — PostgreSQL and ClickHouse (SQL) and Elasticsearch and OpenSearch
  (search DSL), selectable per call or on the constructor.
- **Reads** — typed field selection; nested `and`/`or`/`not` filters; operators
  `eq neq gt gte lt lte in notIn contains notContains startsWith endsWith between
  exists isNull isNotNull`; `count`/`sum`/`avg`/`min`/`max` aggregations; group by
  with calendar date grouping; having; order by field/aggregation; offset and
  cursor (`search_after`) pagination; and output metadata.
- **Nested fields** — read JSON/object sub-fields via `path`, rendered per engine
  (PostgreSQL JSON operators, ClickHouse `JSONExtract*`, ES/OS dotted names).
- **Mutations** — `insert` (single/batch), `upsert` (`onConflict`), `update`
  (with granular `increment`/`append`/`removeField` actions) and `delete`.
- **Safety** — parameterized values, escaped identifiers, escaped LIKE/wildcard
  metacharacters, and an `UNFILTERED_MUTATION` guard against unfiltered
  `update`/`delete`.
- **Documentation** — README plus Queries, Mutations, API reference and
  Integration guides.

[Unreleased]: https://keepachangelog.com/
[0.0.1]: https://keepachangelog.com/
