Repository navigation
v0.18.0
Universal commenting
Use the built-in lix_conversation and lix_comment SQL tables to discuss any versioned row, including file content or a commit, or to start a standalone conversation. Conversations support titles, replies, and a resolved flag. Deleting a target leaves its discussion available; it reattaches if the target returns. See Conversations and comments for examples.
Improvements
- Transactions now rebase over unrelated writes, and
lix.transaction()can retry real conflicts. - Partial replicas fetch missing data on demand after remote updates. Supported older repositories upgrade during normal opening with progress reporting.
- SQL supports
INSERT ... SELECTinto registered tables, typed row references, and foreign-key delete cascades. Engine spans can be exported through OpenTelemetry.
Upgrade notes
lix_row_refnow requires a file ID argument (NULLfor fileless rows); encoded references use v2.- Read checkpoint status from
lix_log().is_checkpoint. Recovery usesSELECT commit_id FROM lix_restore(...),lix_revert(...), orlix_apply(...)instead of the formerINSERTcommands. lix.observe()returns a standard async iterator. The JavaScript SDK no longer bundles plugin archives.- SQL discovery reports logical types in
data_typeand removeslix_value_kind. Upgrade clients and servers together.
See the JavaScript API, SQL functions, and plugin installation guides for migration details.
Fixes
Fixed incomplete partial replica reads, sync recovery, offline reopening after undo, browser repository recovery, transient network failures, compatible plugin schema upgrades, foreign-key delete enforcement, and excessive repository migration I/O.