github tursodatabase/turso v0.0.21
0.0.21 - 2025-05-28

latest releases: v0.1.5, v0.1.5-pre.5, v0.1.5-pre.4...
3 months ago

Release Notes

Added

  • Add Schema reference to Resolver - needed for adhoc subquery planning (Jussi Saurio)
  • Use the SetCookie opcode to implement user_version pragma (meteorgan)
  • Add libsql_wal_get_frame() API (Pekka Enberg)
  • Fix bug: op_vopen should replace cursor slot, not add new one (Jussi Saurio)
  • bind/js: Add support for bind() method and reduce boilerplate (Diego Reis)
  • Add PThorpe92 to codeowners file for extensions + go bindings (Preston Thorpe)
  • Refactor: add stable internal_id property to TableReference (Jussi Saurio)
  • refactor: introduce walk_expr() and walk_expr_mut() to reduce repetitive pattern matching (Jussi Saurio)
  • Add some comments for values statement (meteorgan)
  • fix bindings/wasm wal file creation by implementing generate_random_number (오웬)
  • core/pragma: Add support for update user_version (Diego Reis)
  • Support values statement and values in select (meteorgan)
  • Initial Support for Nested Translation (Pedro Muniz)
  • bindings/rust: Add pragma methods (Diego Reis)
  • Add collation column to Index struct (Jussi Saurio)
  • Add support for DISTINCT aggregate functions (Jussi Saurio)
  • bindings/javascript: Add Statement.iterate() method (Diego Reis)
  • (btree): Implement support for handling offset-based payload access with overflow support (Krishna Vishal)
  • Add labeler workflow and reorganize macros (Preston Thorpe)
  • Update Nyrkiö change detection to newest version (Henrik Ingo)
  • perf/ci: add basic tpc-h benchmark (Jussi Saurio)
  • Add libsql_wal_frame_count() API (Pekka Enberg)
  • Restructure optimizer to support join reordering (Jussi Saurio)
  • Add rustfmt to rust-toolchain.toml (Pekka Enberg)

Updated

  • Make WhereTerm::consumed a Cell (Jussi Saurio)
  • Use lifetimes in walk_expr() to guarantee that child expr has same lifetime as parent expr (Jussi Saurio)
  • Small VDBE insn tweaks (Jussi Saurio)
  • Reset idx delete state after successful finish (Pere Diaz Bou)
  • feature: INSERT INTO <table> SELECT (Pedro Muniz)
  • Small cleanups to pager/wal/vdbe - mostly naming (Jussi Saurio)
  • bindings/javascript: API enhancements (Diego Reis)
  • github: Migrate workflows to Blacksmith runners (blacksmith-sh[bot])
  • UNION (Jussi Saurio)
  • xConnect for virtual tables to query core db connection (Preston Thorpe)
  • Reconstruct WAL frame cache when WAL is opened (Jussi Saurio)
  • set non-shared cache by default (Pere Diaz Bou)
  • TPC-H with criterion and nyrkio (Pedro Muniz)
  • UNION ALL (Jussi Saurio)
  • Drop Table OpCodes Use Ephemeral Table As Scratch Table (Zaid Humayun)
  • sqlite3-parser: Remove scanner trace-logging (Pekka Enberg)
  • sqlite3: Switch to tracing logger (Pekka Enberg)
  • CSV virtual table extension (Piotr Rżysko)
  • remove detection of comments in the middle of query in cli (Pedro Muniz)
  • btree: Remove assumption that all btrees have a rowid (Jussi Saurio)
  • Output rust backtrace in python tests (Preston Thorpe)
  • Optimization: lift common subexpressions from OR terms (Jussi Saurio)
  • refactor: replace Operation::Subquery with Table::FromClauseSubquery (Jussi Saurio)
  • Feature: Collate (Pedro Muniz)
  • Update README.md (Yusheng Guo)
  • Mark WHERE terms as consumed instead of deleting them (Jussi Saurio)
  • Cli config 2 (Pedro Muniz)
  • pager: bump default page cache size from 10 to 2000 pages (Jussi Saurio)
  • long fuzz tests ci on btree changes (Pere Diaz Bou)
  • Document how to run cargo test on Ubuntu (Zaid Humayun)
  • test page_free_array (Pere Diaz Bou)
  • Rename OwnedValue -> Value (Pekka Enberg)
  • Improve SQLite3 C API tests (Pekka Enberg)
  • github: Disable setup-node yarn cache (Pekka Enberg)
  • Update Unique constraint for Primary Keys and Indexes (Pedro Muniz)

Fixed

  • Fix LIMIT handling (Jussi Saurio)
  • Fix off-by-one error in max_frame after WAL load (Jussi Saurio)
  • btree: fix infinite looping in backwards iteration of btree table (Jussi Saurio)
  • Fix labeler labeling everything as Extensions-Other (Jussi Saurio)
  • Fix bug in op_decr_jump_zero() (Jussi Saurio)
  • Page cache fixes (Pere Diaz Bou)
  • cli/fix: Apply default config for app (Diego Reis)
  • Fix labeler (Jussi Saurio)
  • Improve debug build validation speed (Pere Diaz Bou)
  • optimizer: fix order by removal logic (Jussi Saurio)
  • Fix updating single value (Pedro Muniz)
  • Autoindex fix (Pedro Muniz)
  • use temporary db in sqlite3 wal tests to fix later tests failing (Preston Thorpe)
  • fix labeler correct file name extension use .yml instead of .yaml (Mohamed A. Salah)
  • Fix autoindex of primary key marked as unique (Pere Diaz Bou)
  • Fix: unique contraint in auto index creation (Pedro Muniz)

Install limbo_cli 0.0.21

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/limbo/releases/download/v0.0.21/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.21/limbo_cli-installer.ps1 | iex"

Download limbo_cli 0.0.21

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>

Don't miss a new turso release

NewReleases is sending notifications on new releases.