# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.0] - 2026-05-13

### Added

- `ColumnDef::default_expr` — deparsed `DEFAULT` expression for each column
  (`now()`, `gen_random_uuid()`, literals, etc.)
- `TypeDef::labels` — enum variant labels in declaration order
- `IndexDef::method` — index access method (`btree`, `gin`, `gist`, etc.)
- `IndexDef::targets` and `IndexTarget` — indexed columns and deparsed
  expressions in declaration order (`IndexTarget::Column` / `IndexTarget::Expr`)
- `IndexDef::unique` — whether the index was declared `UNIQUE`
- `IndexDef::predicate` — deparsed `WHERE` clause for partial indexes

## [0.1.0] - 2026-04-12

### Added

- SCIP indexer for PostgreSQL — produces `index.scip` from a schema dump
  and a directory of `.sql` files, enabling precise code navigation in
  SCIP-compatible editors and tools
- DDL walker supporting `CREATE TABLE`, `CREATE FUNCTION`, `CREATE VIEW`,
  `CREATE TYPE` (enum and composite), `CREATE INDEX`, `CREATE TRIGGER`,
  `CREATE POLICY`, `ALTER TABLE`, and `COMMENT ON`
- Reference resolver for table, column, function call, and type references;
  index columns, FK columns (both sides), and trigger function targets are
  resolved via lexer where the AST carries no position data
- `SymbolInformation` with SQL signatures, SCIP kinds, enclosing symbols,
  and `COMMENT ON` documentation for all schema entities
- Cross-entity relationships in `SymbolInformation`: FK columns link to the
  referenced column, function signatures link to return and parameter types,
  views reference their source tables, triggers reference their target table
  and `EXECUTE FUNCTION` target
- Definition and reference `Occurrence` entries; parse failures produce
  diagnostic occurrences with inline error messages
- CLI with `--schema`, `--root`, `--out`, `--log-level`, and `--no-gitignore`
  flags (short forms: `-s`, `-r`, `-o`, `-l`, `-n`)
- `--no-gitignore` flag to index files otherwise excluded by `.gitignore`
- Pre-built Linux binaries for x86_64 and aarch64 (gnu and musl) via
  `cargo-dist`
