mirror of
https://github.com/aljazceru/turso.git
synced 2026-01-31 05:44:25 +01:00
Update CHANGELOG
This commit is contained in:
238
CHANGELOG.md
238
CHANGELOG.md
@@ -1,5 +1,243 @@
|
||||
# Changelog
|
||||
|
||||
## 0.1.4 -- 2025-08-20
|
||||
|
||||
### Added
|
||||
* bindings/rust: Add method (Pekka Enberg)
|
||||
* Add helper to convert io::clock::Instant to useable format (Preston Thorpe)
|
||||
* bindings/javascript: Add TypeScript declarations to package (Pekka Enberg)
|
||||
* add missing closing tag (Glauber Costa)
|
||||
* add metrics and implement the .stats command (Glauber Costa)
|
||||
* Add bench-sqlite script and makefile command (Preston Thorpe)
|
||||
* Fix simulator docker build by adding new sync directory (Preston Thorpe)
|
||||
* core/mvcc: schema_did_change support and find last valid version (Pere Diaz Bou)
|
||||
* Add list databases and open database commands to the MCP server (Glauber Costa)
|
||||
* Add documentation and rename functions (Mikaël Francoeur)
|
||||
* Add io_yield macros to reduce boilerplate (Preston Thorpe)
|
||||
* Add --keep-files flag to allow for inspection of files for successful simulator runs (Preston Thorpe)
|
||||
* core/printf: support for the %i operand (Luiz Gustavo)
|
||||
* Add parser to Dockerfiles for cargo chef (Jussi Saurio)
|
||||
* Add framework for testing extensions in TCL (Piotr Rżysko)
|
||||
* Fix WAL initialization to last committed frame (Nikita Sivukhin)
|
||||
* sim: add Property::TableHasExpectedContent (Jussi Saurio)
|
||||
* Properly implement CLI command (Preston Thorpe)
|
||||
* docs: add Claude Code MCP integration guide (Braden Wong)
|
||||
* Add assertion for expected write amount in writev callback (Preston Thorpe)
|
||||
* sim: add Property::ReadYourUpdatesBack (Jussi Saurio)
|
||||
* Add support for unlikely(X) (bit-aloo)
|
||||
* Implement normal views (Glauber Costa)
|
||||
* turso-sync: support checkpoint (Nikita Sivukhin)
|
||||
* bindings/javascript: Add async connect() function (Pekka Enberg)
|
||||
* Direct schema mutation – add RenameColumn instruction (Levy A.)
|
||||
* Implement Aggregations for DBSP views (Glauber Costa)
|
||||
* stop silently ignoring unsupported features in incremental view where clauses (Jussi Saurio)
|
||||
* turso-sync: support updates and schema changes (Nikita Sivukhin)
|
||||
* turso-cdc: add updates column for cdc table (Nikita Sivukhin)
|
||||
* docs: improve README initialization section clarity (Braden Wong)
|
||||
* Add support for Full checkpoint mode in the WAL (Preston Thorpe)
|
||||
* Add support for PRAGMA freelist_count (bit-aloo)
|
||||
* Initial pass on incremental view maintenance with DBSP (Glauber Costa)
|
||||
* SQLite C API improvements: add bind_text and bind_blob (Danawan Bimantoro)
|
||||
* perf/clickbench: enable rest of queries since we support DISTINCT and REGEXP_REPLACE (Jussi Saurio)
|
||||
* Add table name to the delete bytecode (Glauber Costa)
|
||||
* Initial pass on incremental view maintenance with DBSP (Glauber Costa)
|
||||
* docs: fix CLI command and add homebrew install instructions for MacOS (Mattia)
|
||||
* Reimplement LimboRwLock in the WAL (Preston Thorpe)
|
||||
* BufferPool: add arena backed pool to support fixed opcodes and coalescing (Preston Thorpe)
|
||||
* translate: return parse errors for unsupported features instead of silently ignoring (Jussi Saurio)
|
||||
* Add query only pragma (bit-aloo)
|
||||
* Direct schema mutation – add instruction (Levy A.)
|
||||
* Add .clone CLI command to copy database files (Preston Thorpe)
|
||||
* PageContent: make read_x/write_x methods private and add dedicated methods (Jussi Saurio)
|
||||
* SQLite C API improvements: add basic bind and column functions (Danawan Bimantoro)
|
||||
* javascript: Implement Statement.iterate() (Pekka Enberg)
|
||||
* Fix panic on loading extension on brand new connection (Preston Thorpe)
|
||||
* implement the MaxPgCount opcode (Glauber Costa)
|
||||
* Direct schema mutation – add instruction (Levy A.)
|
||||
* Add regexp capture (bit-aloo)
|
||||
* Add load_insn macro for compiler hint in vdbe::execute hot path (Preston Thorpe)
|
||||
* test/fuzz: add ALTER TABLE column ops to tx isolation fuzz test (Jussi Saurio)
|
||||
* core/mvcc: implement exists (Pere Diaz Bou)
|
||||
* tests/fuzz_transactions: add tests for fuzzing transactions with MVCC (Pere Diaz Bou)
|
||||
* perf/btree: implement fast algorithm for defragment_page (Jussi Saurio)
|
||||
* bindings/rust: add with_mvcc option, open with path too! (Pere Diaz Bou)
|
||||
* core/mvcc: implement seeking operations with rowid (Pere Diaz Bou)
|
||||
* bindings/rust: add with_mvcc option (Pere Diaz Bou)
|
||||
* Add bitmap to track pages in arenas (Preston Thorpe)
|
||||
* Direct schema mutation – add instruction (Levy A.)
|
||||
* core/mvcc: fix new rowid on restart (Pere Diaz Bou)
|
||||
* Implement JavaScript bindings with minimal Rust core (Pekka Enberg)
|
||||
* test/fuzz/transactions: add "PRAGMA wal_checkpoint" to txn isolation fuzz test (Jussi Saurio)
|
||||
* Support the OFFSET clause for Compound select (meteorgan)
|
||||
* Introduce some state machines in preparation for IO Completions refactor (Pedro Muniz)
|
||||
* Add cli Dockerfile (Pere Diaz Bou)
|
||||
* Implement the Cast opcode (Glauber Costa)
|
||||
* Support VALUES clauses for compound select (meteorgan)
|
||||
* fix: add packages to sim/antithesis dockerfiles for cargo-chef (Jussi Saurio)
|
||||
* Add vector_concat and vector_slice support (bit-aloo)
|
||||
* bindings/rust: Add Connection::execute_batch() (Rohith Suresh)
|
||||
* bindings/java: Throw UnsupportedOperationException for unimplemented … (Pekka Enberg)
|
||||
* turso-sync package: initial commit (Nikita Sivukhin)
|
||||
|
||||
### Updated
|
||||
* JavaScript improvements (Pekka Enberg)
|
||||
* bindings/javascript: Rename to (Pekka Enberg)
|
||||
* Small pager cleanups (Jussi Saurio)
|
||||
* Do not begin or end transactions in nested statement (Jussi Saurio)
|
||||
* make the MCP server instructions more visible on the README (Glauber Costa)
|
||||
* FaultyQuery enabled by default (Pedro Muniz)
|
||||
* hide our age (Glauber Costa)
|
||||
* make sure our responses are compliant with MCP (Glauber Costa)
|
||||
* Move sync code to own directory (Pekka Enberg)
|
||||
* Refactor: use regular save/restore context mechanism for delete balancing (Jussi Saurio)
|
||||
* Improve handling of inserts with column names (Wallys Ferreira)
|
||||
* emit SetCookie when creating a view (Glauber Costa)
|
||||
* unify halts (Glauber Costa)
|
||||
* Update stale in memory wal header after restarting log (Preston Thorpe)
|
||||
* sync-engine: Use SQL over HTTP instead of WAL push (Nikita Sivukhin)
|
||||
* Convert SQLite parser in Rust by hand (Lâm Hoàng Phúc)
|
||||
* Ensure we fsync the db file in all paths that we checkpoint (Preston Thorpe)
|
||||
* Revive async io extension PR (Preston Thorpe)
|
||||
* sim: reduce frequency of compound selects and complex joins (Jussi Saurio)
|
||||
* Use BufferPool owned by Database instead of a static global (Jussi Saurio)
|
||||
* sync-engine: avoid unnecessary WAL push (Nikita Sivukhin)
|
||||
* use virtual root page for sqlite_schema (Mikaël Francoeur)
|
||||
* io_uring: Gracefully handle submission queue overflow (Preston Thorpe)
|
||||
* Disable unused variables in cargo clippy for CI (Pedro Muniz)
|
||||
* Refactor: atomic ordering (Preston Thorpe)
|
||||
* Document the I/O model (Pedro Muniz)
|
||||
* disable checkpoint: adjust semantic (Nikita Sivukhin)
|
||||
* SDK: enable indices everywhere (Nikita Sivukhin)
|
||||
* Manual updates (Pekka Enberg)
|
||||
* Wait for I/O completions (Pedro Muniz)
|
||||
* IO Cleanups to use and (Pedro Muniz)
|
||||
* move our dbsp-based views to materialized views (Glauber Costa)
|
||||
* More State machines (Pedro Muniz)
|
||||
* Rename page -> slot for arenas + buffer pool (Preston Thorpe)
|
||||
* Unify JavaScript package README files (Pekka Enberg)
|
||||
* simple README with warning (Nikita Sivukhin)
|
||||
* core/wal: Minor checkpointing cleanups and optimizations (Preston Thorpe)
|
||||
* perf/btree: optimize op_column (Jussi Saurio)
|
||||
* Update PERF.md with mobibench instructions (Preston Thorpe)
|
||||
* Handle single, double and unquoted strings in values clause (Mikaël Francoeur)
|
||||
* Use rusqlite 0.37 with bundled SQLite everywhere (Jussi Saurio)
|
||||
* Feat/pragma module list (Lucas Forato)
|
||||
* remove turso-sync as now we have turso-sync-engine (Nikita Sivukhin)
|
||||
* Sorter IO Completions (Pedro Muniz)
|
||||
* Simulator should delete files after a successful run (Pedro Muniz)
|
||||
* turso-sync: js package (Nikita Sivukhin)
|
||||
* global allocator should not be set for library, only for executables (Pedro Muniz)
|
||||
* Evaluate WHERE conditions after LEFT JOIN (Piotr Rżysko)
|
||||
* Btree cache usable space (Jussi Saurio)
|
||||
* Rename JavaScript package to (Pekka Enberg)
|
||||
* perf: a few small insert optimizations (Jussi Saurio)
|
||||
* javascript: Organize test cases better (Pekka Enberg)
|
||||
* only allow multiples of 64 for performance in arena bitmap (Preston Thorpe)
|
||||
* btree: Use correct byte offsets for page 1 in defragmentation (Jussi Saurio)
|
||||
* bench/insert: use PRAGMA synchronous=full (Jussi Saurio)
|
||||
* JavaScript improvements (Pekka Enberg)
|
||||
* turso-sync: rewrite (Nikita Sivukhin)
|
||||
* bench/insert: use locking_mode EXCLUSIVE and journal_mode=WAL for sqlite (Jussi Saurio)
|
||||
* IO More State Machine (Pedro Muniz)
|
||||
* refactor/btree: cleanup write/delete/balancing states (Jussi Saurio)
|
||||
* cdc: emit entries for schema changes (Nikita Sivukhin)
|
||||
* Coll seq (Glauber Costa)
|
||||
* Remove RefCell from Buffer in IO trait methods and PageContents (Preston Thorpe)
|
||||
* Remove Clone impl for Buffer and PageContent (Preston Thorpe)
|
||||
* More state machine + Return IO in places where completions are created (Pedro Muniz)
|
||||
* cleanup: remove unused page uptodate flag (Jussi Saurio)
|
||||
* Relax I/O configuration attribute to cover all Unixes (Pedro Muniz)
|
||||
* Update defragment page to defragment in-place (João Severo)
|
||||
* Integrate virtual tables with optimizer (Piotr Rżysko)
|
||||
* Reprepare Statements when Schema changes (Pedro Muniz)
|
||||
* More State Machines in preparation for tracking IO Completions (Pedro Muniz)
|
||||
* coalesce any adjacent buffers from writev calls into fewer iovecs (Preston Thorpe)
|
||||
* extend raw WAL API with few more methods (Nikita Sivukhin)
|
||||
* Use pwrite for single buffer pwritev call in unix IO (Preston Thorpe)
|
||||
* hide dangerous methods behind conn_raw_api feature (Nikita Sivukhin)
|
||||
* preserve files in IO memory backend (Nikita Sivukhin)
|
||||
* Improve SQLite3 TCL test suite (Pekka Enberg)
|
||||
* Make completions idempotent (Preston Thorpe)
|
||||
* perf/btree: skip seek in move_to_rightmost() if we are already on rightmost page (Jussi Saurio)
|
||||
* perf/pager: dont clear page cache on commit (Jussi Saurio)
|
||||
* Rename liblimbo_sqlite3 to libturso_sqlite3 (Pekka Enberg)
|
||||
* core: Fold HeaderRef to pager module (Pekka Enberg)
|
||||
* perf/vdbe: remove eager cloning in op_comparison (Jussi Saurio)
|
||||
* Update cargo-dist to the latest official version (Hiroaki Yutani)
|
||||
* bindings/rust: Enhance API by removing verbosity (Diego Reis)
|
||||
* use state machine for NoConflict opcode (Mikaël Francoeur)
|
||||
* state_machine: remove State associated type (Pere Diaz Bou)
|
||||
* Single quotes inside a string literal have to be doubled in (Diego Reis)
|
||||
* core/mvcc: Move commit_txn() to generic state machinery (Pere Diaz Bou)
|
||||
* bindings/javascript: Reduce VM/native crossing overhead (Pekka Enberg)
|
||||
* Enable indexes by default (Jussi Saurio)
|
||||
* perf/btree: improve performance of rowid() function (Jussi Saurio)
|
||||
* core/mvcc: Persist changes through pager on commit (Pere Diaz Bou)
|
||||
* Open a temporary on-disk file for ephemeral tables (Jussi Saurio)
|
||||
* Force Sqlite to parse schema on connection benchmark (Levy A.)
|
||||
* more compat police (Glauber Costa)
|
||||
* Bury limbo-wasm (Diego Reis)
|
||||
* IN queries (Glauber Costa)
|
||||
* IN queries (Glauber Costa)
|
||||
* vdbe: Disallow checkpointing in transaction (Jussi Saurio)
|
||||
* Serverless JavaScript driver improvements (Pekka Enberg)
|
||||
* Direct `DatabaseHeader` reads and writes – `with_header` and `with_header_mut` (Levy A.)
|
||||
* refactor/btree: simplify get_next_record()/get_prev_record() (Jussi Saurio)
|
||||
* Accumulate/batch vectored writes when backfilling during checkpoint (Preston Thorpe)
|
||||
* remove non-existent opcode (Glauber Costa)
|
||||
* skip invalid inputs in cosine distance prop test (bit-aloo)
|
||||
* core/mvcc: Switch to parking_lot RwLock (Pekka Enberg)
|
||||
* Rewrite the WAL (Preston Thorpe)
|
||||
* turso-sync: bidirectional sync for local db (Nikita Sivukhin)
|
||||
* Change more function signatures to return Completions (Pedro Muniz)
|
||||
* Clean up conversion between InsnFunctionStepResult and StepResult (Diego Reis)
|
||||
* core/mvcc: simplify mvcc cursor types (Pere Diaz Bou)
|
||||
* bindings/javascript: Run tests serially (Diego Reis)
|
||||
* Javascript testing cleanups (Pekka Enberg)
|
||||
* Javascript API improvements (Pekka Enberg)
|
||||
* Change function signatures to return IO Completions (Pedro Muniz)
|
||||
|
||||
### Fixed
|
||||
* Fix page locked panic (Pedro Muniz)
|
||||
* Remove assertions from Completion::complete() and Completion::error() (Jussi Saurio)
|
||||
* Completion Error (Pedro Muniz)
|
||||
* fix/sim: prevent sim from trying to create an existing table or index (Jussi Saurio)
|
||||
* Fail simulator on parse errors (Jussi Saurio)
|
||||
* fix pragma table_info for views (Glauber Costa)
|
||||
* Fix two issues in simulator (Jussi Saurio)
|
||||
* Fix distinct order by (Jussi Saurio)
|
||||
* Fix UPDATE: Do not use an index for iteration if that index is going to be updated (Jussi Saurio)
|
||||
* Fix non-4096 page sizes (Jussi Saurio)
|
||||
* fix: Handle fresh INSERTs in materialized view incremental maintenance (Glauber Costa)
|
||||
* Fix: do computations on usable_space as usize, not as u16 (Jussi Saurio)
|
||||
* Sync engine fixes (Nikita Sivukhin)
|
||||
* Fix tables renaming to existing index and rename indexed columns on (Levy A.)
|
||||
* Fix max_frame determination and comments in WAL checkpointing (Preston Thorpe)
|
||||
* turso-sync: fix schema bug (Nikita Sivukhin)
|
||||
* Fix: Rename clickbench output file limbo/turso (Henrik Ingo)
|
||||
* Reprepare fix on write statement (Pedro Muniz)
|
||||
* Fix view processing in the VDBE (Jussi Saurio)
|
||||
* Fix performance regression in prepare (Piotr Rżysko)
|
||||
* Fix JavaScript bindings packaging (Nikita Sivukhin)
|
||||
* bench/insert: fix expected return value from pragma (Jussi Saurio)
|
||||
* Fix segfault on schema update for virtual tables (Preston Thorpe)
|
||||
* core/btree: fix re-entrancy bug in insert_into_page() (Jussi Saurio)
|
||||
* Fix performance regression (Jussi Saurio)
|
||||
* fix/wal: remove start_pages_in_frames_hack to prevent checkpoint data loss (Jussi Saurio)
|
||||
* fix/core/translate: ALTER TABLE DROP COLUMN: ensure schema cookie is updated even when target table is empty (Jussi Saurio)
|
||||
* io_uring: setup plumbing for Fixed opcodes (Preston Thorpe)
|
||||
* JavaScript serverless driver fixes (Pekka Enberg)
|
||||
* Fix vector deserialization alignment and blob/text empty mismatch (bit-aloo)
|
||||
* fix/wal: reset ongoing checkpoint state when checkpoint fails (Jussi Saurio)
|
||||
* Fix parser error for repetition in row values (Diego Reis)
|
||||
* fix/wal: only rollback WAL if txn was write + fix start state for WalFile (Jussi Saurio)
|
||||
* fix/bindings/rust: return errors instead of swallowing them and returning None (Jussi Saurio)
|
||||
* fix/wal: make db_changed check detect cases where max frame happens to be the same (Jussi Saurio)
|
||||
* fix/wal: reset page cache when another connection checkpointed in between (Jussi Saurio)
|
||||
* Fix merge script to prevent incorrectly marking merged contributor PRs as closed (Preston Thorpe)
|
||||
* Fix concat_ws to match sqlite behavior (bit-aloo)
|
||||
* bindings/rust: return errors instead of vibecoded numbers (Jussi Saurio)
|
||||
|
||||
## 0.1.3 -- 2025-07-29
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user