Releases: only-cliches/Nano-SQL
Releases · only-cliches/Nano-SQL
1.0 Stable
MANY BREAKING CHANGES, PLEASE READ THE MIGRATION GUIDE
This build is intended to stabilize the library, increase performance and make it easy to extend in the future. The API for v1.X.X releases will be very stable moving forward.
- Complete rewrite of the database engine, ORM system, and history system.
- History can now be database wide (default), table wide or row wide.
- Implimemented new plugin system with lifecycle events of every query.
- The new built in storage engine uses the new plugin system, allowing you to remove/adjust how queries are handled.
- Completely removed the old custom backend system and added a new adapter system.
- You can no longer run the built in memory db with persistence.
- All database adapters now use a sorted B-Tree index to gaurantee consistency.
- You can use instance tables with nSQL queries. ex: nSQL([{name: "Bill"}, {name: "Bob"}]).query("select")....
- History is no longer enabled by default.
- Added WebSQL support. Safari in iOS/macOS will use WebSQL by default.
- Added support for running IndexedDB in a webworker.
- Added new INTERSECT and NOT INTERSECT .where() comparators. To check if any array values intersect with any values in an array of the database column.
- .where() statements now accept a function, much like filter:
nSQL("table").query("select").where(row => row.age > 20).exec()
- Tables without a primary key are no longer supported, unless it's an instance table.
- Added
loadCSV
method to automate importing CSVs into the database. - You can now get the version of NanoSQL being used with
nSQL().version
. - Database versions will now be tracked to make automatic migration changes in the future.
updateORM
query has been removed entirely.- ORM updates now happen along side
upsert
,delete
anddrop
queries. - ORM updates are more consistent and way more performant.
- Added a large number of integration tests.
1.0 Release Candidate 8
1.0.0r8 1.0.0 release
Alpha 1
All features confirmed working on this release and the API changes moving forward should be non existent.