- add IncrementalIndexedDBAdapter
- make ensureIndex faster
- LokiEventEmitter.emit faster
- make batch inserts faster (add option to overrideAdaptiveIndices)
- added support for indexes on nested properties (#718)
- more robust environment detection (#717)
- precompile $regex filters recursively (#710)
- Corrected $aeq example in Query Examples (#706)
- change 'shallow-recurse-objects' clone to support deep array clone (#692)
- jsdoc fixes for compoundsort example (#691)
- fixed issue where batch removes did not update unique index (#677)
- fixes to checkIndex maintenance fn (#654, #661)
- bulk remove optimizations (#663)
- fix to meta when cloning (#666)
- AWS S3 sync adapter added (#670)
- fix for browser project: fs not found (#674)
- added comparators to default export (#672)
- simplesort can leverage binary index (via index intersect) when weakly filtered (#645)
- the simplesort 'descending' param is now multipurposed (with bw-compat) see jsdocs
- added new simplified js comparison ops for unindexed optimizations (commit bb011d)
- added collection.checkIndex() and collection.checkIndexes() for diagnostics (#654,#47)
- fixed error when transform steps have non-serializable parameters (#624)
- addCollection will return existing collection when collection named already exists (#635)
- batch updates when not cloning no longer risk invalidating adaptive binary indices (#639)
- fixed autosave race condition when using async adapter (#643)
- collection option added to disableMeta if not using changes api or ttl (#644)
- added disableDeltaChangesApi (default:true) collection option to store only differences. (#582)
- loki indexed adapter deleteDatabase method will now wait until complete before callback (#584)
- fixed clone methods correctly assigning object prototypes (#586)
- partitioning adapter and memory adapter no longer throw error when database doesn't exist (yet)
- simplesort and compoundsort now support sorting on nested properties via dot-notation (#574)
- added support for binary indices on nested properties (#574)
- fixed jsdoc syntax error causing vscode to crash (#614)
- fixed error when using partitioning adapter with nativescript adapter (#615)
- added optional 'dataOptions' to eqJoin and map (chain/transform) (see #618)
- refactored binary indices sorting order
- date values in properties with binary index will be converted to epoch time
- fix to LokiFsStructuredAdapter first time autoload error where file doesn't exist yet
- fixed simplesort descending with binary indices and no filters
- with 'clone' option collection 'insert' events no longer emit internal obj reference
- fix to clone method 'shallow'
- added 'removeMeta' option to chained data calls to shallow clone and remove $loki and meta
- added quickstart examples for node and updated loki sandbox with online web quickstarts
- fixes to async unit tests
- npm release trimmed from 5 megs to 500k (no examples, jsdocs, tests)
- added throttled saves and loads (enabled by default) to ensure no overlapping calls
- unfiltered simplesorts can leverage binary index
- collection.clear now clears indices correctly
- fix to LokiPartitioning adapter resetting maxId across saves
- meta set correctly on batch inserts
- LokiMemoryAdapter now configurable to simulate async
- fix changesApi not enabled after loading database
- added 'adaptiveBinaryIndices' option to collections (default true) to avoid rebuilds on inserts/updates/removes
- added higher performance LokiFsStructuredAdapter for node
- added destructured serialization methods for partitioning and exporting
- added 'addListener' method alias of 'on' method
- LokiFsAdapter doesn't throw exception when file doesn't exist (yet)
- fix for circular structure error when setting ttl
- fix unit testing on windows
- experimental implementation of an incremental adapter
- minor fixes
- updated jsdoc coverage
- fixes to loki indexed adapter
- added nativescript adapter
- added $aeq, $contains, $containsAny, $ne
- fix unique index update with new object
- expose persistence adapters to module export
- fix to loki-crypted-file-adapter
- UniqueIndex and
by()
method - staging API
- count() utility method
- RethinkDB-style joins (eqJoin)
- moved testing to Karma
- moved builds and run to npm instead of gulp
- added $containsAny operator
- statistical functions: average, max, maxRecord, min, minRecord, median, mode
- extract() to extract a flat array of values for one field in each record
- extractNumerical() - same as extract() for numerical values
- pre-insert and pre-update events