v0.24.0
29 October 2026
SQLite 3.46 is the minimum, the registry and collections use STRICT tables, and the CLI checks database integrity and drops dead field columns.
Added
Db::version(),Db::supported()andDb::MIN_VERSION.phlat health:checkstops with an error when the linked SQLite is older than 3.46.phlat health:checkrunsPRAGMA quick_checkon every SQLite database and reports a failure as an issue.Registry::undeclaredColumns(),Registry::pruneColumns()andFieldIndex::prune().phlat registry:checklists the field columns no view or role declares any more, and--healdrops them.phlat collection:reindexdrops the columns of fields the collection no longer declares.phlat db:vacuummerges each full-text index before it vacuums, which purges the text of deleted documents.
Changed
- SQLite 3.46 or later is required, the version Debian stable ships. The README states it.
- The
registry,meta,variants,field_itemsand collectionitemstables areSTRICT, and thef_field columns are typedANY. The registry file is rebuilt on the first request (schema 22). Each collection database migrates and reindexes on its first read (schema 4), and v0.23.0 cannot read it afterward. - The collection migration from schemas 1 and 2 converts dates with
unixepoch().
Removed
phlat db:optimize. It was an alias ofdb:vacuum: runphlat db:vacuum.