* Update LTS versions in README (Miroslav Bajtoš)
* Switch from Bluebird to native Promise (Miroslav Bajtoš)
* Start 4.0 development, drop support for Node 6 (Miroslav Bajtoš)
* Add IBM copyright and MIT license headers (Raymond Feng)
* Allow List to take items as instances of a class (Raymond Feng)
* fix: ignore extra properties when strict=filter (#1423) (Tom Kirkpatrick)
* Add EventEmitter type info to DataSource type (shimks)
* Add a better way to handle transactions (Jürg Lehni)
* validations: use new regex per evaluation (#1479) (Joost de Bruijn)
* Transaction: Bind timeout to tx instance (#1484) (Jürg Lehni)
* CODEOWNERS: add lehni (#1483) (Miroslav Bajtoš)
* Add node8 support for travis (loay)
* Add nyc coverage, report data to coveralls.io (Miroslav Bajtoš)
* Update translations from TVT (Allen Boone)
* Add test coverage for hasAndBelongsToMany (loay)
* package: use qs@6.5.0 (#1471) (Kevin Delisle)
* fix assert, make the test case more clear (rashmihunt)
* code review, better asserts (rashmihunt)
* test case to exclude base props (rashmihunt)
* handle excludeBaseProperties (rashmihunt)
* create sequence for nosql id (#1354) (Janny)
* Fix order of query results (Loay)
* Add DateString type (Kevin Delisle)
* datatype.test: use predefined date (Kevin Delisle)
* Update api documents (Loay)
* Datasource documentation tune-up (Kevin Delisle)
* Added unit tests specific to DateType where null (#1349) (Andrew McDonnell)
* Fix/geo null (#1334) (paulussup)
* replace exception thrown for invalid dates (Diana Lau)
* Revert PR #1326 (#1336) (Sakib Hasan)
* Make lib peerDepend on loopback-connector (#1326) (Russ Tyndall)
* Add test case using updateAttributes (Loay)
* Fix forceId bug for updateOrCreate (Loay)
* Fix typo in description (jannyHou)
* Fix relations test case (loay)
* Add instructions for running the tests (#1330) (Andrew McDonnell)
* handle deep geo-near queries (#1314) (Eric Barault)
* Unskip test case (Loay)
* Make tests work for other connectors as well as C* (Tetsuo Seto)
* Remove debugger statement (Tetsuo Seto)
* Fixup test support for Cassandra connector (Tetsuo Seto)
* Add test support for Cassandra connector (Tetsuo Seto)
* package: use loopback-connector@^4.0.0 (Kevin Delisle)
* Revert "handle deep geo-near queries (#1216)" (Sakib Hasan)
* Revert "Allow `after save` hook to see count of records changed (#1231)" (Sakib Hasan)
* Allow `after save` hook to see count of records changed (#1231) (Joshua Chaitin-Pollak)
* handle deep geo-near queries (#1216) (Corentin H)
* Fix model def column name method (#1224) (destillat)
* Added notify flag for create and upsert (#1277) (Jonathan Sheely)
* Custom Table Names on rels (#1303) (Waldemar Zahn)
* Support multiple fk relations (#1308) (Sakib Hasan)
* #1261 Property name "constructor" is not allowed in 'Model' data (#1284) (Thaer Abbas)
* make geo nearFilter support minDistance (#987) (Vincent Wen)
* Disallow regexp string in arrays for coerce (#1279) (Mikhail)
* Fix - `_targetClass` on scope function (#1280) (Clark Wang)
* Fixes#1275. `Include` filter transforms fields property into array. (#1276) (Nick Oikonomou)
* Included models from include operations do not change defined `strict` model option (#1259) (Dimitris)
* Using a filter with exclusion of a non existent property, removes an existing one (#1257) (Dimitris)
* Clean version of PR 1272 (#1273) (Sakib Hasan)
* Replicate new issue_template from loopback (Siddhi Pai)
* Replicate issue_template from loopback repo (Siddhi Pai)
* Update README.md (Rand McKinney)
* FindOrCreate missing error callback (Diana Lau)
* Fixes#1230 coerceArray converts empty Objects (#1269) (Dimitris)
* override collection name for arangodb (#1243) (Matteo Padovano)
* Add test coverage for `validatesInclusionOf` (#1249) (Rémi Bèges)
* dao: catch errors on Model creation in find (Kevin Delisle)
* dao: catch sync errors on setAttributes (Kevin Delisle)
* Update error message (Loay)
* Fix Order query test case (Loay)
* Doc:Add option for discoverModelDefinitions (jannyHou)
* Add tests for validatesExclusionOf (#1248) (Rémi Bèges)
* Fix id update error message formatting (Rémi Bèges)
* Add test case for all connectors (jannyHou)
* Add proper statusCode for duplicate (Loay)
* Fix datasource to report connector-loading errors (Miroslav Bajtoš)
* Ensure replaceById returns 404 when id not found (Loay)
* Upgrade eslint-config, fix new violations (Miroslav Bajtoš)
* Fix option propagation in relation methods (Miroslav Bajtoš)
* Refactor logic of options.allowExtendedOperators (Matteo Padovano)
* Fix forceId validation error (Loay)
* Add two basic tests for "inq" operator (Miroslav Bajtoš)
* 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š)