Iridium v2.10.3 Release Notes

  • tag: v2.10.3

    npm install [email protected]
    

    🔄 Changes

    • 566b6fd 2.10.3
    • 873076a Vastly improved equality comparisons for diff and Instance _id
    • e3fb2ce Whitespace and VS project file improvements
    • ad8c1fc Don't allow changes to _id in instances
    • b52262c 2.10.1
    • 27cc054 Added tests for instance removal
    • 480b268 Fixed error on instance removal
    • 033f10b Instance can be re-added by calling save() after remove()
    • bb9a507 Added test for Instance.update()
    • 34825ac Added tests for Instance.save()
    • dc745c1 Fixed issues with Instance.save(conditions, changes) when conditions didn't match anything
    • c2787d8 Use for numeric changes instead of
    • 9aec839 2.10.0
    • edf42c3 Updates to Instance - Fixes an error when saving instances without custom change sets - Adds a document virtual property which returns the backing document from the database - Adds a select function which allows you to easily select array/object values based on a selector function (makes working with arrays containing documents easier) - Adds a first function which does the same as select, but only returns the first result.
    • ad2a804 Version 2.9.4
    • bfbb4dd Added info about Omnom to the README
    • ab9eb07 Updated Diff engine We've moved to a new diff engine (codename Omnom) which is so much better than the original diff algorithm as to make any comparison laughable.
    • d8134a9 Validate instance against schema on save This replaces the throwing of errors when assigning values to root level schema properties and means that child elements are now validated when saving.
    • 53fbeff Merge pull request #2 from klokoy/patch-1
    • a55d538 Updated the example so that it works
    • a3a7ece Updated package.json
    • 5b6bfe2 Another bug fix, v2.9.2
    • f99f853 Version bump v2.9.1
    • cb72d9e Fixed broken behaviour when specifying conditions in Instance.save()
    • bcdb7c9 Made working with $ projection operator possible in instances
    • 790ba12 Added Events support, v2.8.0 From now on, all models and instances are EventEmitters, allowing you to easily register events on them. Currently these events are triggered with the same names and for the same reasons as hooks, and can be used for easy debugging and read-only access.
    • 5a65a23 Version bump v2.7.3
    • b2d59e7 Iridium should still pass documents through the preprocessing framework when { wrap: false }
    • 50c153e Version bump v2.7.2
    • a4f98c9 Updated caching design
    • f5974ff Version bump v2.7.1
    • dc1ca73 Allow more complex caching designs Caches are now selected based on whether they report an ability to cache the given document's selection conditions. This should allow more flexible usage of caches in real world applications (where you won't necessarily be using _id the whole time)
    • dcba1ac Added caching support In an effort to make Iridium the go-to ORM for Node.js applications :wink: we've implemented inline caching support - allowing you to easily cache requests for single objects using your favourite caching engine (Redis/Memcache etc.).
    • 9d99b21 Version bump to v2.7.0
    • a8ec072 Added Database.close() and Database.disconnect() methods to allow graceful closing of DB connections
    • 9915b47 Improvements to Model methods We've made improvements to Model's insert/create method which allow it to execute faster (by running preperations in parallel) while also avoiding stack overflows when inserting a large number of elements. Similarly, we've rewritten the onReceived processor to improve readability and performance a bit (it was already async) while adding support for executing queries without having the results wrapped in Instance objects - if you don't require that.
    • 45c1a5f Added async module to package.json
    • b81a704 Added benchmark results to README
    • 21b9ae7 Added a benchmark suite
    • 60bcc6f Updated LICENCE
    • bb1d747 Use model specific instances for schema values Another major optimization, since it means we don't need to define property accessors on a per-instance basis when creating Instances. Should vastly improve performance and memory usage for databases which adhere to their specified schemas, those that don't should add { $required: false, $type: ... } to their schemas to take advantage of these optimizations.
    • ce0c435 Models now have their own custom model.Instance classes These classes inherit from Instance and provide virtuals and methods via their prototype, allowing for considerably more lightweight instances creation and (hopefully) functional intellisense for virtuals and methods.
    • 861ecb2 Version bump to v2.6.1
    • 109657c Validation errors now have isValidationError: true