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>