* Add support for Node.js 12.x (Miroslav Bajtoš)
* fix: coerce primitive properties on update (biniam)
* fix: coerce date array properties (biniam)
* fix: normalize include with boolean or number (spurreiter)
* Improve tests for empty vs. default values (Miroslav Bajtoš)
* Do not apply default values on data from database (Miroslav Bajtoš)
* Update datasource-connector.md (#1703) (Jam Risser)
* feat: support array within array (Hage Yaapa)
* fix: update lodash (#1696) (Janny)
* 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š)
This is a breaking change. Juggler methods are no longer returning
instances of Bluebird Promise, but return a native Promise instead.
As a result, API consumers can no longer use sugar APIs provided by
Bluebird, e.g. `spread`, `delay`, etc.
Migration guide: rewrite your code from `.then()` style into `async`
functions using `await` statements.
* 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)
The new version of our config enabled function-paren-newline rule,
this commit fixes the codebase to use more consistent handling
of newlines when calling functions.
The uniq function does currently not work when the database is mongodb.
In the case of mongodb, the function will receive an array of bson
object of bson type ObjectID. The indexOf function will return a
different index, even if the mongodb ID is the same, as it is wrapped
in the ObjectID. This commit first transforms any ObjectID in the array
to a string representation. We can then use indexOf to check for
uniqueness.
* 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š)
Before this change, when resolving full connector path, all errors were
ignored. As a result, when the connector was installed but not
correctly built (e.g. loopback-connector-db2 which uses a native addon),
a very confusing message was reported by LoopBack.
In this commit, I am fixing the code handling `require()` errors
to ignore only MODULE_NOT_FOUND errors that contain the name
of the required module.