# What changed in syntaqlite

> 16 changes in syntaqlite 0.13 from its official release notes, upgrade guides and advisories: 7 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/pypi/syntaqlite/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## syntaqlite 0.13

### Breaking changes

- Across JSON and other representations, a missing or null column list means columns are unknown; an empty list means there are none. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- DDL is checked against the tables it touches, including indexes, constraints, generated columns and triggers; dropped tables are no longer treated as existing. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- The analyzer catches many more errors SQLite reports, including count mismatches, misused row values, undefined windows, and changes to views or built-in tables; each check is on by default. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- The C relation definition type is now named SyntaqliteViewDef. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- Rust table definitions now use TableDef::new(name), with .columns(cols) for known columns and .without_rowid() for WITHOUT ROWID tables. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- A comment before a statement no longer changes how its VALUES rows wrap. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- Rust view definitions now use ViewDef::new(name), with .columns(cols) when the columns are known. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)

### New APIs and options

- Schemas can now declare generated and hidden columns. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)

### Behavior and default changes

- Language-server completion suggests only names that fit at the cursor, drawing from query tables and ranking suggestions by what has been typed. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)

### Tooling

- Go-to-definition, find references and rename cover more of the schema, including schema files configured in syntaqlite.toml. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)

### Fixes and other changes

- Published crates now include a LICENSE file, making licensing information available in the crate package. (0.13.2) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.2)
- Fixed C flag bit-fields on big-endian hosts. (0.13.1) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.1)
- The license file now uses the verbatim Apache 2.0 text, which may affect licensing decisions. (0.13.1) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.1)
- The header now includes <stdint.h> itself, so C API consumers do not need to include it separately. (0.13.1) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.1)
- Fixed schemas not loading when --config is given a relative path. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
- SELECT * expands columns the same way SQLite does. (0.13.0) — [release notes](https://github.com/LalitMaganti/syntaqlite/releases/tag/v0.13.0)
