* 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.
* 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)
Rework the test script to call directly mocha and skip Makefile. This
allows CI enviroments to detect that this module is using Mocha as
the test runner.
* 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)