Skip to content

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:03
ee069cf

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 ... SELECT into registered tables, typed row references, and foreign-key delete cascades. Engine spans can be exported through OpenTelemetry.

Upgrade notes

  • lix_row_ref now requires a file ID argument (NULL for fileless rows); encoded references use v2.
  • Read checkpoint status from lix_log().is_checkpoint. Recovery uses SELECT commit_id FROM lix_restore(...), lix_revert(...), or lix_apply(...) instead of the former INSERT commands.
  • lix.observe() returns a standard async iterator. The JavaScript SDK no longer bundles plugin archives.
  • SQL discovery reports logical types in data_type and removes lix_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.