Skip to content

v0.16.1

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Dec 12:02
· 29 commits to main since this release

The biggest changes:
site_id is required and no longer nullable in crsql_changes

This means that for selecting local only changes you need to do SELECT * FROM crsql_changes WHERE db_version > ? AND site_id = crsql_site_id() rather than site_id IS NULL

Primary key columns may no longer be nullable. This was always the case but now it is explicitly enforced


  • We now throw an error if any primary key columns are set to be nullable.
    • Null primary keys are not allowed in any DB except SQLite.
    • SQLite doesn't enforce uniqueness when a primary key is set to null. I.e., you can have many duplicate rows with a null value in the primary key column.
    • This latter problem completely breaks any attempts at merging
  • ✅ 10x improvement in perf when migrating crr tables
  • ❌ 15% reduction in perf when writing to crr tables :(
  • ✅ 5x reduction in CRDT metadata (at the cost of the above write perf)
  • Compilable under libsql
  • site id is now a required column in crsql_changes
  • release artifacts are zip files containing the properly named loadable extension. This removes the need for a rename step #385