- Readme tweaks.
- Fixed issue with log loading.
- Added additional tests for log loading.
- GET performance improvements.
- Minor refactoring.
- Readme tweaks.
- Added
exists
method. - Added
any
key type support.
- Resolved issue #8,
ready
is called right away if the database is already ready. - Resolved issue #10,
close
does not do a promise reject on subsequent calls. - Merged PR #11, added travis CI support to project.
- Conditionally removed
Buffer()
calls to suppress warnings in new nodeJS versions. - Added Travis CI badge to README.
- Resolved issue #2,
.ready
no longer needs to be called to start using the database. - Resolved issue #1, added async iterable versions of all looping functions.
- Resolved issue #3, keys that don't exist will now return undefined on
get
queries. - Resolved issue #5, node will always exit after the database is closed.
- Cleaned up API to make it more consistent. Old methods are kept around to prevent breaking changes.
- Major refactoring.
- Improved documentation and code comments.
- Added stream api.
- Added LevelDB methods to make SnapDB API compatible with LevelDB/RocksDB.
- BREAKING CHANGE Removed old WASM code entirely. If you're migrating from SQLite based install you'll have to install an older version first to migrate.
- Compaction will now loop until all levels are within the desired limits.
- More complete handling of different states of manifest.json files.
- Added optional single threaded mode for improved performance at the cost of blocking behavior.
- Compaction now takes significantly less memory.
- Fixed a few issues with level 0 compaction.
- Memtable now references logfile for reads, reducing memory cost of transactions significantly.
- Logfile is no longer loaded entirely into memory on database open, reducing memory usage significantly.
- Fixed issue with manifest delete.
- Fixed issue with opening existing databases.
- Fixed issue with log restoring.
- Fixed issue with memtable updating.
- Readme tweaks.
- Added backwards compatibility for breaking change in
1.0.7
.
- BREAKING CHANGE the arguments for the class is now an object.
- Small performance optimizations.
- Fixed key type casting in compaction function.
- Added
flushLog
method. - Added ability to control the databse flushing.
- Removed Webassembly requirement, keyspace is now limited to javascript memory.
- Fixed a bug with compaction.
- Fixed a bug with offset/limit.
- Readme typo fix.
- A few code adjustments.
- Added intelligent tombstone purging.
- Resolved issue with SnapDB not working on Windows hosts.
- Replaced SQLite with custom javascript LSM database.
- Added an automated migration script to move SQLite databases into new LSM backend.
- Added event system.
- Fixed issue with zero length indexes.
- Fixed offset/limit bug.
- Fixed possibly undefined object bug.
- Added changes to handle blank value keys like
""
and0
.
- Moved query code to worker thread.
- All APIs are now ASYNC.
- Added SQLite Error Handling.
- Added transaction API.
- Added empty and close API.
- Only bugfixes planned from here on out.
- Added typings to package.json
- Switched to SQLite storage backend.
- Added tests.
- WASM is now in one file.
- Reduced memory footprint in WebAssembly.
- Added key data storage to javascript for faster access.
- Fixed issue with string keys not loading from memory correctly.
- Various performance improvements.
- Added integration tests and comments.
- Adjusted data types in C++ to take up less memory.
- Initial Release