Core:
-
Improve JSON function support (Kacper Madej, Peter Sooley)
-
Support nested parenthesized conditional expressions (Preston Thorpe)
-
Add support for changes() and total_changes() functions (Lemon-Peppermint)
-
Auto-create index in CREATE TABLE when necessary (Jussi Saurio)
-
Add partial support for datetime() function (Preston Thorpe)
-
SQL parser performance improvements (Jussi Saurio)
Shell:
-
Show pretty parse errors in the shell (Samyak Sarnayak)
-
Add CSV import support to shell (Vrishabh)
-
Selectable IO backend with --io={syscall,io-uring} argument (Jorge López Tello)
Bindings:
-
Initial version of Java bindings (Kim Seon Woo)
-
Initial version of Rust bindings (Pekka Enberg)
-
Add OPFS support to Wasm bindings (Elijah Morgan)
-
Support uncorrelated FROM clause subqueries (Jussi Saurio)
-
In-memory support to
sqlite3_open()
(Pekka Enberg)
-
Make iterate() lazy in JavaScript bindings (Diego Reis)
-
Fix integer overflow output to be same as sqlite3 (Vrishabh)
-
Fix 8-bit serial type to encoding (Preston Thorpe)
-
Query plan optimizer bug fixes (Jussi Saurio)
-
B-Tree balancing fixes (Pere Diaz Bou)
-
Fix index seek wrong on
SeekOp::LT
`SeekOp::GT` (Kould) -
Fix arithmetic operations for text values' from Vrishabh
-
Fix quote escape in SQL literals (Vrishabh)
-
Add in-memory mode to Python bindings (Jean Arhancet)
-
Add json_array_length function (Peter Sooley)
-
Add support for the UUID extension (Preston Thorpe)
-
Enable sqpoll by default in io_uring (Preston Thorpe)
-
Simulator improvements (Alperen Keleş)
-
Fix escaping issues with like and glob functions (Vrishabh)
-
Fix
sqlite_version()
out of bound panics' (Diego Reis) -
Fix on-disk file format bugs (Jussi Saurio)
-
In-memory mode (Preston Thorpe)
-
More CLI improvements (Preston Thorpe)
-
Add support for replace() function (Alperen Keleş)
-
Unary operator improvements (Jean Arhancet)
-
Add support for unex(x, y) function (Kacper Kołodziej)
- Fix primary key handling when there's rowid and PK is not alias (Jussi Saurio)
-
Improve CLI (Preston Thorpe)
-
Add support for iif() function (Alex Miller)
-
Add suport for last_insert_rowid() function (Krishna Vishal)
-
Add support JOIN USING and NATURAL JOIN (Jussi Saurio)
-
Add support for more scalar functions (Kacper Kołodziej)
-
Add support for
HAVING
clause (Jussi Saurio) -
Add
get()
anditerate()
to JavaScript/Wasm API (Jean Arhancet)
- Python package build and example usage (Pekka Enberg)
- Minor improvements to JavaScript API (Pekka Enberg)
CAST
support (Jussi Saurio)
- Fix issues found in-btree code with the DST (Pere Diaz Bou)
- Fix database truncation caused by
limbo-wasm
opening file in wrong mode (Pere Diaz Bou)
-
CREATE TABLE
support (Pere Diaz Bou) -
Add Add Database.prepare() and Statement.all() to Wasm bindings (Pekka Enberg)
-
WAL improvements (Pere Diaz Bou)
-
Primary key index scans and single-column secondary index scans (Jussi Saurio)
-
GROUP BY
support (Jussi Saurio) -
Overflow page support (Pere Diaz Bou)
-
Improvements to Python bindings (Jean Arhancet and Lauri Virtanen)
-
Improve scalar function support (Lauri Virtanen)
-
Panic in codegen with
COUNT(*)
(Jussi Saurio) -
Fix
LIKE
to be case insensitive (RJ Barman)
-
Query planner rewrite (Jussi Saurio)
-
Initial pass on Python bindings (Jean Arhancet)
-
Improve scalar function support (Kim Seon Woo and Jean Arhancet)
- Partial support for
json()
function (Jean Arhancet)
-
Initial pass on the write path. Note that the write path is not transactional yet. (Pere Diaz Bou)
-
More scalar functions:
unicode()
(Ethan Niser) -
Optimize point queries with integer keys (Jussi Saurio)
-
ORDER BY
support for nullable sorting columns and qualified identifiers (Jussi Saurio) -
Fix
.schema
command crash in the CLI (#212 (Jussi Saurio)
-
Partial
LEFT JOIN
support. -
Partial
ORDER BY
support. -
Partial scalar function support.
- Lock database file with POSIX filesystem advisory lock when database is opened to prevent concurrent processes from corrupting a file. Please note that the locking scheme differs from SQLite, which uses POSIX advisory locks for every transaction. We're defaulting to locking on open because it's faster. (Issue #94)
- Install to
~/.limbo/
instead ofCARGO_HOME
.
-
Partial
SELECT
statement support, includingWHERE
,LIKE
,LIMIT
,CROSS JOIN
, andINNER JOIN
. -
Aggregate function support.
-
EXPLAIN
statement support. -
Partial
PRAGMA
statement support, includingcache_size
. -
Asynchronous I/O support with Linux io_uring using direct I/O and Darwin kqueue.
-
Initial pass on command line shell with following commands:
.schema
command that describes the database schema..opcodes <opcode>
that describes what a VDBE opcode does.