* 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)