All notable changes to NexumDB will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Transaction WAL currently uses a full
scan_all()snapshot onBEGINas an MVP implementation. A follow-up is planned to replace this with an incremental per-mutation undo/redo log for better scalability. - Transaction isolation is currently a single-active-transaction model per
Executorand does not implement MVCC across multiple sessions yet.
0.6.0 (2026-02-06)
- align templates and README with OSCG'26 guidelines (79bb239)
- enhance PR review automation with comprehensive workflows (ad3fda1)
- correct Release Please conditional syntax to single line (d1382ba)
- release only on direct pushes, not PR merges (8d4ab16)
0.5.0 (2026-02-06)
- add comprehensive OSS automation and community features (cf22f4b)
- Add DELETE statement support (17974b8), closes #45
- Add DELETE statement support with WHERE clause filtering (44bedae)
- Add UPDATE statement support (922afce)
- Add UPDATE statement support (96921be), closes #46
- add UPDATE/DELETE support with cache invalidation (v0.4.0) (777421c)
- Added .editorconfig for consistent formatting (d659d8c)
- Added docker-compose.yml file (c4a7b20)
- App dockerization (149d801)
- build and release docker image (c09f564)
- Cached Python deps in CI (603cafa)
- Committed Cargo.lock for reproducible builds (db4311e)
- complete OSS infrastructure setup (626d622)
- Implement semantic cache persistence to disk (#47) (0179452)
- implement semantic cache persistence to disk (issue #47) (78e2a4e)
- Add boolean value assertion in test_parse_update_without_where (be4e731)
- add defensive field width limits and improve explain_action docstrings (763493e)
- Address CodeRabbit feedback (d596cb0)
- Address CodeRabbit nitpicks (19543f2)
- Address CodeRabbit review feedback (a208673)
- address CodeRabbit security concerns - Replace unsafe pickle.load() with JSON as default format - Add RestrictedUnpickler for legacy pickle files - Auto-convert legacy pickle caches to JSON on load - Add test cache files to .gitignore (9d37b98)
- Apply cargo fmt formatting and improve UPDATE atomicity (cbd62fc)
- cargo-audit installation issue in workflow (16fd851)
- cashing issue (af501a3)
- cashing problem (d9fbf58)
- ci: correct YAML syntax in Python workflow job (ccf5a6c)
- ci: remove broken requirements-lock.txt dependency installation (1b8edce)
- final release-please workspace fix (remove workflow-level type override) (ecb67d7)
- fixed suggested changes (dd83131)
- Handle serialization errors properly in batch UPDATE (5a13d99)
- Implement two-phase deletion to prevent partial deletion risk (f184562)
- reduce test iterations to prevent CI timeout (5fe7919)
- remove auto-save from put() to prevent test hanging (3b109c6)
- remove unused io import (01effa3)
- remove unused mut from with_cache function (4507d2f)
- replace deprecated PyO3 import_bound with import (f60c483)
- Resolve merge conflicts in SQL module files (ead1cf0)
- resolve Rust formatting issues in benchmark files (f2f6cf4)
- setup release-please for subpackage to bypass workspace parsing issue (988281d)
- suggested but coherant changes (d1b9f1a)
- switch release-please to simple release-type for workspace support (e23dd8a)
- update bytes to 1.11.1 and improve DCO workflow (a2374fe)
- update release-please config for cargo workspace (1bceda8)
- upgraded pyo3 from version 0.22 to version 0.24.1 (67d5a47)
- restore original test iterations (ea703bd)
0.4.0 - 2026-02-03
- Projection-aware SELECT with alias support
- SHOW TABLES, DESCRIBE, and DROP TABLE (IF EXISTS)
- Best-effort coercion for INSERT/UPDATE with schema validation
- Full cache invalidation on data writes
- Catalog persistence test coverage
- StorageEngine clone now shares underlying sled database
- Semantic cache keys now include projection, WHERE, ORDER BY, LIMIT
- Added projection, coercion, and table management coverage
- Extended integration tests for table lifecycle
0.3.0 - 2025-11-26
- Advanced SQL operators
- LIKE operator for pattern matching (supports % and _ wildcards)
- IN operator for list membership testing
- BETWEEN operator for inclusive range queries
- Query modifiers
- ORDER BY clause with multi-column sorting (ASC/DESC)
- LIMIT clause for result truncation
- Persistent RL agent
- save_state() and load_state() methods using joblib
- Auto-load Q-table on agent initialization
- Learning persists across database restarts
- Model management system
- ModelManager class for automatic LLM downloads
- HuggingFace Hub integration
- Automatic download of phi-2.Q4_K_M.gguf model
- Graceful fallback to rule-based translation
- 6 new unit tests for advanced operators
- 3 new integration tests for combined features
- Updated Statement::Select to include order_by and limit fields
- Extended ExpressionEvaluator with LIKE, IN, BETWEEN support
- Modified NLTranslator to use ModelManager
- Enhanced parser to handle ORDER BY and LIMIT clauses
- Executor now performs sorting and limiting operations
- Added: regex = "1.10" (Rust)
- Added: huggingface-hub>=0.20.0 (Python)
- LIKE: ~100µs overhead per query
- IN (5 items): ~50µs overhead
- BETWEEN: ~40µs overhead
- ORDER BY (1000 rows): ~2ms
- LIMIT: ~1µs overhead
- RL save/load: ~5ms/~3ms
- 21 tests passing (was 18)
- Zero regressions
- All existing functionality preserved
0.2.0 - 2025-11-25
- WHERE clause filtering with full expression evaluation
- Comparison operators: =, >, <, >=, <=, !=
- Logical operators: AND, OR
- Support for Integer, Float, Text, Boolean types
- Natural Language Query interface (ASK command)
- NLTranslator class with llama-cpp-python support
- Fallback rule-based translator
- Schema-aware translation
- Reinforcement Learning query optimizer
- Q-Learning agent with state/action/reward
- Epsilon-greedy exploration
- Automatic learning from query performance
- ExpressionEvaluator for WHERE clause evaluation
- NLTranslator PyO3 bridge integration
- Schema introspection for NL context
- 3 new integration tests for WHERE filtering
- CLI ASK command mode
- Updated CLI to v0.2.0 with enhanced command modes
- Extended Python AI engine with translator and RL agent
- Improved PyO3 bridge with NLTranslator export
- Enhanced README with v0.2.0 features
- Parser now correctly handles WHERE clause expressions
- Fixed unused variable warnings in executor
- Added: llama-cpp-python>=0.2.0
- Added: diskcache (via llama-cpp-python)
- 15 unit tests passing (was 11)
- 3 integration tests passing (new)
- Total: 18/18 tests passing
0.1.0 - 2025-11-25
- Initial release with core SQL database functionality
- Storage engine using sled
- SQL parser for CREATE TABLE, INSERT, SELECT
- Query executor with end-to-end workflow
- Catalog for table metadata management
- Semantic caching using sentence-transformers
- PyO3 Rust-Python integration
- CLI REPL interface
- 11 comprehensive unit tests
- Persistent KV storage
- SQL query execution
- AI-powered semantic caching
- 60x query speedup on cache hits
- Local-only execution (no cloud dependencies)