* Add missing "done" arg in test/kvao/ttl.suite (Miroslav Bajtoš)
* Support nested queries for arrays (pponugo)
* Refactor TTL tests for KV memory connector (Simon Ho)
* Fix test case for expire (Simon Ho)
* Fix failures of upsertWithWhere (Amir Jafarian)
* Remove expired item before executing expire (Simon Ho)
* Disable `strict` for a few files (Amir Jafarian)
* Partition by foreign key for pagination (Raymond Feng)
* Fix style errors (Raymond Feng)
* fix remaining eslint issues (Miroslav Bajtoš)
* eslint --fix (Miroslav Bajtoš)
* Add eslint as "npm run lint" and "posttest" hook (Miroslav Bajtoš)
* Remove unused support/ files (Miroslav Bajtoš)
* Insert copyright headers (Ryan Graham)
* Relicense as MIT only (Ryan Graham)
* Fix Mongo compatibility issue (Amir Jafarian)
* Add automigrate to setup tables for replace test cases (Amir Jafarian)
* Allow test folder to be published (Amir Jafarian)
* support custom field settings under the connector's namespace (bitmage)
* Update error message for missing connector (gunjpan)
* Fix tests for mysql (Amir Jafarian)
* Add forgotten unit test (Miroslav Bajtoš)
* fix nin support for in memory datasource (Horia Radu)
* Improve error message on connector init error (Miroslav Bajtoš)
* discoverSchemas returns an error when modelName is not found, discoverSchema forwards that error and does not hang when no columns, no errors are returned (bitmage)
* Explicitly initialize column of partition by clause and pass it in find()'s options argument (eugene-frb)
* Fix for issue #774 (Pradeep Kumar Tippa)
* silence a warning that introduced in bluebird 3.0 (Clark Wang)
* fixed a bug where an error was sent to the updateAttributesCallback and then ignored (Abe BW)
* Capture includeHasMany() as a find()'s caller by findCaller option (eugene-frb)
* UpdateAttributes: Raises an error if database fails (Wilson Júnior)
* fixes#753 (Joseph M. Persie)
* typo fix (nennad)
* Fix foreignKey length issue (nennad)
* Correction of a regression introduced by commit 632898b: when querying an empty array ([]) with a 'neq' filter, there were no matching. (Michael Diguet)
* dropped unused functions and tests fixed (Wert_Lex)
* One more comment (Wert_Lex)
* Looks better now (Wert_Lex)
* home-written map extended with proper .set() method (Wert_Lex)
* on the halfway to keeping original keys (Wert_Lex)
* with updated map which stores original key and tests for them (Wert_Lex)
* Moved inst initialization to place where it used (Wert_Lex)
* All tests passed (Wert_Lex)
* Dirty merge. Tests are broken (Wert_Lex)
* include utils add. Tests ported to should.js (Wert_Lex)
* Fix the typo (Raymond Feng)
* fix typo (Clark Wang)
* fix global leak that mocha complains (Clark Wang)
* Refer to licenses with a link (Sam Roberts)
* Added missing callback when a model is not found (Federico Rampazzo)
* Rewrite of variable (mdartic)
* Filtering relations of a model with an order specified (mdartic)
* Ability to define normalization of undefined query (Ryan Schumacher)
* findByIds would fail when an array of 0 length was passed as its first argument (James Cooke)
* Use strongloop conventions for licensing (Sam Roberts)
* Fix id comparision in tests so that they work with mongodb object id (Raymond Feng)
* Update validations.js (Rand McKinney)
* Add support for using UUID V4 as defaultFn (Bram Borggreve)
* primaryKey for hasMany and belongsTo relations (sklyukin)
* primaryKey to hasOne relation (sklyukin)
* Add direct copmarison value for array matching (Laurent Villeneuve)
* Add support for matching array values à la mongo. (Laurent Villeneuve)
* Fixed ReferencesMany .findById to check the given id in the ids array of the model instance (Satyadeep)
* Support embedded query in memory connector. Fix memory connector bug (Laurent Villeneuve)
* Use idEquals when comparing ids in relation definitions (Laurent Villeneuve)
* Handle possible undefined id (Laurent Villeneuve)
* Fix id copmarison by using strings (Laurent Villeneuve)
* Refactor idEquals to utils (Raymond Feng)
* Do not coerce RegExp objects to strings (Simon Ho)
* Indicate result of destroyById/protototype.destroy (Fabien Franzen)
* Removed extra ")" (Chris Finn)
* Fixed typo & added the filter units (Chris Finn)
* Remove test for unused utility function (Simon Ho)
* Remove try/catch from find function (Simon Ho)
* Add support for regex operator (Simon Ho)
* Async 'loaded' hook for find (Pradnya Baviskar)
* Promisify all 'discover' methods (Pradnya Baviskar)
* Fix 'persist' hook for updateAttributes() (Pradnya Baviskar)
* Add NOTICE (Raymond Feng)
* prevent upsert overwriting default values with applyDefaultValues option (Bryan Clark)
* use fromDb to deserialize data after save in Memory connector (Bryan Clark)
* Correctly handle validatesUniquenessOf(idName) (Fabien Franzen)
* Assert the existence of instance (Raymond Feng)
* Make sure operator/options are honored (Raymond Feng)
* Fix coercion from ObjectID to String (Raymond Feng)
* Fix#623 - use actual id order (Fabien Franzen)
* test: fix persistence-hooks failures in MySQL (Miroslav Bajtoš)
* Includes with transaction support (Rus1)
* Fix updateOrCreate transaction propagation (Rus1)
* Fix promise chaining in case of error (Rus1)
* Promisify 'autoupdate' (Pradnya Baviskar)
* Add new hook 'loaded' (Pradnya Baviskar)
* Promisify 'automigrate' (Pradnya Baviskar)
* check object exists before setting __cachedRelations (ningsuhen)
* Fix the test case as updateAll takes `where` directly (Raymond Feng)
* Fix for issues #622 & #623 (ningsuhen)
* Add new hook 'persist' (Pradnya Baviskar)
* Create a script to describe operation hooks (Miroslav Bajtoš)
* Allow 0 as the FK (Raymond Feng)
* fix typo (Clark Wang)
* Dedupe ids args of inq for include (Raymond Feng)
* Enhance the apis and add more tests (Raymond Feng)
* Fix for https://github.com/strongloop/loopback/issues/1401 (Raymond Feng)
* Fix ReferenceError: definition is not defined (Dmitry Manannikov)
* Mix in observer apis to the connector (Raymond Feng)
* Enhance fieldsToArray to consider strict mode (Raymond Feng)
* Fix the target id resolution (Raymond Feng)
* DB Call Optimization in relation includes - Fixes#408 & #166 (ningsuhen)
* Conditionally pass options to connector CRUD methods (Raymond Feng)
* Pass-through options from save to create (Fabien Franzen)
* dao: support validateUpsert:false (Miroslav Bajtoš)
* Changes to API docs per Dennis (Rand McKinney)
* Add unit-test for "array" type (Miroslav Bajtoš)
* Fix test for "after save" called on save/CREATE (Miroslav Bajtoš)
* Code cleanup in lib/dao.js (Miroslav Bajtoš)
* Save parent model of embedded relations (Fabien Franzen)
* Pass options in operation hooks context. (Fabien Franzen)
* check if id does not exist a bit more explicitly (Pulkit Singhal)
* Fix persistUndefinedAsNull tests w/ SQL connectors (Miroslav Bajtoš)
* Implement scope.updateAll (Fabien Franzen)
* Fix the test cases so that they be run with the mssql connector (Raymond Feng)
* Add model setting "persistUndefinedAsNull" (Miroslav Bajtoš)
* Add abilities to remove and clear observers - Operation Hooks. (0angelic0)
* Code cleanup in updateAll/deleteAll (Miroslav Bajtoš)
* Return scope object from DAO.scope (Fabien Franzen)
* Remove all usages of lodash. (Miroslav Bajtoš)
* Clean up delete and update tests (Simon Ho)
* Clean up wording in update/delete tests (Simon Ho)
* Fix wording in update test (Simon Ho)
* Properly support embedsMany destroyAll (Fabien Franzen)
* Clean up update/delete manipulation tests (Simon Ho)
* test: fix test failure in MySQL connector (Miroslav Bajtoš)
* Improve test failure messages (Miroslav Bajtoš)
* Fix regression in prototype.save (Miroslav Bajtoš)
* Enable more CRUD remoting methods for embedsOne (Fabien Franzen)
* Implement scope.findOne (Fabien Franzen)
* use findOrCreate for HasManyThrough#create (Clark Wang)
* Enhance id comparision for updateAttributes (Raymond Feng)
* Enable custom methods on singular relations (Fabien Franzen)
* Implement scope.findById (Fabien Franzen)
* Fix updateAll callback in "transient" connector (Miroslav Bajtoš)
* Memory connector returns updated records count (Simon Ho)
* Add ctx.isNewInstance for "save" hooks (Miroslav Bajtoš)
* deleteAll returns number of deleted records (Miroslav Bajtoš)
* Use the correct way to iterate over an array (Raymond Feng)
* DAO: Fix updateOrCreate to set persisted:true (Miroslav Bajtoš)
* Reject CREATE with a duplicate id (Miroslav Bajtoš)
* add tests for between in memory connector (Daniel B. Vasquez)
* enable between filter for memory db connector (Daniel B. Vasquez)
* fix#429 Multiple Models can't mixin same class (Clark Wang)
* Improved and corrected API docs (crandmck)
* Fix problems in annotations that prvented validateAsync and validate functions from appearing in API docs. (crandmck)
* Deprecate DAO events (Miroslav Bajtoš)
* Deprecate Model hooks (Miroslav Bajtoš)
* Add Promises to DAO (Partap Davis)
* test for updateAll (rudzon)
* enhance the coercion for boolean/date types (rudzon)
* enhance updateAll to coerce the data per property definitions (rudzon)
* relation-definition: remove trailing whitespace (Miroslav Bajtoš)
* Fix the idType so that it works with both MongoDB and RDBs (Raymond Feng)
* Tidy up tests so that they will work with RDBs (Raymond Feng)
* Fix JS style issues (Raymond Feng)
* Add a new property option `defaultFn` (Miroslav Bajtoš)
* Fix the null/undefined check (Raymond Feng)
* Fix createdAt type so that it won't overflow SQL server int (Raymond Feng)
* ModelBaseClass: promise mode for notifyObserversOf (Miroslav Bajtoš)
* ModelBaseClass: support promise-based observers (Miroslav Bajtoš)
* use lodash to update the findBelongsTo which now returns an array of matches (Bryan Clark)
* Add $now as shortcut default value for date property (Pradnya Baviskar)
* Fix `deleteById(id)` and other test failures (Miroslav Bajtoš)
* Add an optional `options` argument to all CRUD methods (Raymond Feng)
* Upgrade deps (Raymond Feng)
* Remove workaround for perfomance degradation (Denis Bardadym)
* Change equal to eql to support mongodb ObjectID (Raymond Feng)
* Enhance the coercion for boolean/date types (Raymond Feng)
* Make sure base properties/settings are merged into the submodel (Raymond Feng)
* support optimized findOrCreate (Clark Wang)
* Fix the perf around should.not.equal for complex objects (Raymond Feng)
* testcase for #420 (Andrey Loukhnov)
* use findOrCreate in hasOne#create (Clark Wang)
* Create model foreign key matching type of opposite part of relation (even if it has a custom field type) (Andrey Loukhnov)
* minor formatting issues (trailing spaces and such) and .editorconfig (Andrey Loukhnov)