# Changelog ## 2026-04-05 - 2.5.0 - feat(storage) add offline data validation and strengthen storage/index integrity checks - adds a `--validate-data ` CLI mode to run offline integrity checks on storage directories - introduces storage validation reporting for headers, checksums, duplicate ids, tombstones, and stale or orphaned hint entries - pre-checks unique index constraints before insert, update, upsert, and findAndModify writes to prevent duplicate-key violations before storage changes - validates hint files against data files during collection load and rebuilds indexes from data when hints are stale - ensures new data files always receive a SMARTDB header and persists fresh hint files after successful compaction - cleans up stale local Unix socket files before starting the TypeScript local server ## 2026-04-05 - 2.4.1 - fix(package) update package metadata - Adjusts package manifest content with a minimal one-line change. ## 2026-04-05 - 2.4.0 - feat(rustdb) add restore and periodic persistence support for in-memory storage - Restore previously persisted state during startup when a persist path is configured. - Spawn a background task to periodically persist in-memory data using the configured interval. - Warn when running purely in-memory without durable persistence configured. ## 2026-04-04 - 2.3.1 - fix(package) update package metadata - Adjusts a single package-level metadata entry in the project configuration. ## 2026-04-04 - 2.3.0 - feat(test) add integration coverage for file storage, compaction, migration, and LocalSmartDb workflows - adds end-to-end tests for file-backed storage creation, CRUD operations, bulk updates, persistence, and index file generation - adds compaction stress tests covering repeated updates, tombstones, file shrinking behavior, and restart integrity - adds migration tests for automatic v0 JSON layout detection, v1 conversion, restart persistence, and post-migration writes - adds LocalSmartDb lifecycle and unix socket tests, including restart persistence, custom socket paths, and database isolation ## 2026-04-04 - 2.2.0 - feat(storage) add Bitcask storage migration, binary WAL, and data compaction support - add TypeScript storage migration from legacy JSON collections to the v1 Bitcask binary format before starting the Rust engine - replace the legacy JSON WAL with a binary write-ahead log plus shared binary record and KeyDir infrastructure in rustdb-storage - introduce data file compaction with dead-record reclamation and tests, and add the bson dependency for BSON serialization during migration ## 2026-04-02 - 2.1.1 - fix(package) update package metadata - Adjusts a single package metadata entry in package.json. ## 2026-04-02 - 2.1.0 - feat(smartdb) add operation log APIs, point-in-time revert support, and a web-based debug dashboard - records insert, update, and delete operations with before/after document snapshots in the Rust oplog - adds management and TypeScript APIs for metrics, oplog queries, collection browsing, document browsing, and revert-to-sequence operations - introduces new debugserver and debugui package exports with bundled browser assets served through typedserver ## 2026-03-26 - 2.0.0 - BREAKING CHANGE(core) replace the TypeScript database engine with a Rust-backed embedded server and bridge - adds a Rust workspace implementing wire protocol handling, commands, storage, indexing, aggregation, sessions, and transactions - switches the TypeScript package to lifecycle orchestration via RustDbBridge and @push.rocks/smartrust - removes previously exported TypeScript internals such as query, update, index, transaction, session, WAL, checksum, and router utilities - updates build/test tooling and package metadata to compile and ship Rust binaries ## 2026-03-26 - 1.0.1 - fix(repo) no changes to commit ## 2026-03-26 - 1.0.0 - project Initial release - Project initialized