# Changelog

All notable changes to this project will be documented in this file.

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).

## [1.0.1] - 2026-03-01

### Fixed

- `sql()` now uses dynamic `import()` instead of `require()` for ESM compatibility
- `sql()` is now async (returns `Promise<SqlResult>`)

## [1.0.0] - 2026-03-01

### Added

- `CsvEngine` class — stateful CSV engine with formula evaluation
- `CsvEngine.fromCSV()` — parse CSV text including format rows
- Formula engine: SUM, AVG, MAX, MIN, COUNT, IF, LEN, ABS, ROUND, CONCAT
- Visual formula descriptors: PIE, BAR, LINE, SPARKLINE, GAUGE
- Cell references in A1 notation, ranges (A1:B5), column ranges (A:C)
- Format row parsing and building (Photon CSV Format v1.0)
- Column metadata: type, alignment, width, wrap, required, sort
- Simple query conditions: `>`, `<`, `=`, `!=`, `>=`, `<=`, `contains`
- SQL queries via optional `alasql` peer dependency
- Serialization: `toCSV()`, `toObjects()`, `toTable()`, `snapshot()`, `schema()`
- Data mutation: `set`, `add`, `remove`, `update`, `push`, `fill`, `clear`, `resize`, `rename`, `sort`, `format`
- `columnMeta` included in `query()` and `sql()` results for display formatting
- Standalone exports for all internal modules (csv, cells, format, query, formulas, charts, table)
- 146 tests across 8 test suites
