All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.0] - 2026-06-13
Synchronizes the client with the dllb engine's persisted secondary-index catalog and related query features.
Added
Dllb.Query.define_index/4builds the engine's catalog-backed secondary index DDL:DEFINE INDEX <name> ON TABLE <table> FIELDS <field>[, ...]. It supports composite (multi-field) indexes with leftmost-prefix planning and an optionalunique: trueconstraint over the full indexed tuple.Dllb.Query.remove_index/2buildsREMOVE INDEX <name> ON TABLE <table>.Dllb.Query.upsert/4accepts an explicitupdate_fieldsmap, emittingCREATE ... ON CONFLICT UPDATE SET <update_fields>. The existingupsert/3behavior is unchanged.
Changed
Dllb.Schema.ast_node_indexes/0now emits the new secondary-index DDL and definesidx_kind,idx_language,idx_file_path,idx_module,idx_project_path, and the compositeidx_file_kindonfile_path, kind.- Equality and range predicates on indexed fields are now transparently accelerated by the engine; no client query changes are required to benefit.
Removed
- BREAKING: the typed
Dllb.Query.define_index/5variants (:btree,:fulltext,:hnsw) are removed. They generated DDL (SEARCH ANALYZER ...,HNSW DIMENSION ... DIST ...) that the current engine parser rejects. Usedefine_index/4for secondary indexes. Dllb.Schema.ast_node_indexes/0no longer emits the non-functional HNSW (idx_source_embedding,idx_structure_embedding) and full-text (idx_source_text,idx_docstring) index definitions, because vector and full-text index creation are not exposed by the engine's query protocol.