Skip to content

0.0.22 -- 2025-06-19

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 19 Jun 07:55

Release Notes

Added

  • Implement pragma wal_checkpoint() (Pedro Muniz)
  • Add abbreviated alias for .quit and .exit (Krishna Vishal)
  • Add manual WAL sync before checkpoint in con.close, fix async bug in checkpoint (Preston Thorpe)
  • Complete ALTER TABLE implementation (Levy A.)
  • Add affinity-based type coercion for seek and comparison operation (Krishna Vishal)
  • bindings/javascript: Add pragma() support (Anton Harniakou)
  • Add sleep between write tests to avoid database locking issues (Pedro Muniz)
  • bindings/java: Implement JDBC4DatabaseMetadata getTables (Kim Seon Woo)
  • bindings/javascript: Add source property to Statement (Anton Harniakou)
  • Support sqlite_master schema table name alias (Anton Harniakou)
  • js-bindings/implement .name property (Anton Harniakou)
  • bindings/java: Add support for Linux build (Diego Reis)
  • bindings/javascript: Add database property to Statement (Anton Harniakou)
  • simulator: add CREATE INDEX to interactions (Jussi Saurio)
  • Add support for pragma table-valued functions (Piotr Rżysko)
  • bindings/javascript: Add proper exec() method and raw() mode (Diego Reis)
  • Add simulator-docker-runner for running limbo-sim in a loop on AWS (Jussi Saurio)
  • simulator: add option to disable BugBase (Jussi Saurio)
  • simulator: switch to tracing, run io.run_once and add update queries (Pere Diaz Bou)
  • Fix: aggregate regs must be initialized as NULL at the start (Jussi Saurio)
  • add stress test with 1 thread 10k iterations to ci (Pere Diaz Bou)

Updated

  • antithesis: Build Python package from sources (Pekka Enberg)
  • overwrite sqlite3 in install_sqlite (Pere Diaz Bou)
  • stress: Run integrity check for every iteration (Pekka Enberg)
  • core: Clean up integrity_check() (Pekka Enberg)
  • Simple integrity check on btree (Pere Diaz Bou)
  • Make SQLite bindings thread-safe (Pekka Enberg)
  • Switch Connection to use Arc instead of Rc (Pekka Enberg)
  • Drop unused code in op_column (meteorgan)
  • NOT NULL constraint (Anton Harniakou)
  • Simulator Ast Generation + Simulator Unary Operator + Refactor to use limbo_core::Value in Simulator for massive code reuse (Pedro Muniz)
  • Refactor compound select (meteorgan)
  • Disable index usage in DELETE because it does not work safely (Jussi Saurio)
  • Simulator: Better Shrinking (Pedro Muniz)
  • Simulator integrity_check (Pedro Muniz)
  • Remove leftover info trace (Jussi Saurio)
  • Namespace functions that operate on Value (Pedro Muniz)
  • Remove plan.to_sql_string() from optimize_plan() as it panics on TODOs (Jussi Saurio)
  • Minor: use use_eq_ignore_ascii_case in some places (Anton Harniakou)
  • Remove the FromValue trait (Anton Harniakou)
  • bindings/javascript: Refactor presentation mode and enhance test suite (Diego Reis)
  • Beginnings of AUTOVACUUM (Zaid Humayun)
  • Reverse Parse Limbo ast and Plans (Pedro Muniz)
  • simulator: log the interaction about to be executed with INFO (Jussi Saurio)
  • stress: Use temporary file unless one explicitly specified (Jussi Saurio)
  • Write database header via normal pager route (meteorgan)
  • simulator: options to disable certain query types (Pedro Muniz)
  • Make cursor seek reentrant (Pedro Muniz)
  • Pass input string to translate function (Pedro Muniz)
  • Small tracing enhancement (Pedro Muniz)
  • Adjust write cursors for delete to avoid opening more than once. (Pedro Muniz)
  • Convert u64 rowid to i64 (Pere Diaz Bou)
  • Use tempfile in constraint test (Jussi Saurio)
  • Remove frame id from key (Pere Diaz Bou)
  • clear page cache on transaction failure (Pere Diaz Bou)

Fixed

  • Fix incorrect lossy conversion of Value::Blob to a utf-8 String (Luca Muscat)
  • Fix update queries to set n_changes (Kim Seon Woo)
  • bindings/rust: Fix Rows::next() I/O dispatcher handling (Pekka Enberg)
  • cli: fix panic of queries with less than 7 chars (Nils Koch)
  • Return parse error instead of corrupt error for no such table (Pedro Muniz)
  • simulator: disable all ansi encodings for debug print log file (Pedro Muniz)
  • Fix large inserts to unique indexes hanging (Jussi Saurio)
  • betters instrumentation for btree related operations + cleaner debug for RefValue (Pedro Muniz)
  • sim/aws: fix vibecoding errors in logic (Jussi Saurio)
  • Fix incorrect handling of OR clauses in HAVING (Jussi Saurio)
  • fix: Incorrect placeholder label in where clause translation (Pedro Muniz)
  • Fix rowid to_sql_string (Pedro Muniz)
  • Fix incorrect usage of indexes with non-contiguous columns (Jussi Saurio)
  • BTree traversal refactor and bugfixes (Pere Diaz Bou)
  • LimboRwLock write and read lock fixes (Pere Diaz Bou)
  • fix: make keyword_token safe by validating UTF-8 input (ankit)
  • Fix UPDATE straight up not working on non-unique indexes (Jussi Saurio)
  • Fix: ensure PRAGMA cache_size changes persist only for current session (meteorgan)
  • sim/aws: fix sim timeout handling (Jussi Saurio)
  • Fix WAL frame checksum mismatch (Diego Reis)
  • Set maximum open simulator-created issues (Jussi Saurio)
  • Fix cursors not being opened for indexes in DELETE (Jussi Saurio)
  • Fix: allow DeferredSeek on more than one cursor per program (Jussi Saurio)
  • Fix stress test to ignore unique constraint violation (krishna sindhur)
  • Fix ProgramBuilder::cursor_ref not having unique keys (Jussi Saurio)
  • Fix serialize() unreachable panic (Krishna Vishal)
  • Btree: fix cursor record state not being updated in insert_into_page() (Jussi Saurio)

Install limbo_cli 0.0.22

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/limbo/releases/download/v0.0.22/limbo_cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/tursodatabase/limbo/releases/download/v0.0.22/limbo_cli-installer.ps1 | iex"

Download limbo_cli 0.0.22

File Platform Checksum
limbo_cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
limbo_cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
limbo_cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
limbo_cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo tursodatabase/limbo

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>