UNPKG

loopback-datasource-juggler-regevbr

Version:
1,988 lines (995 loc) 99.8 kB
2019-04-15, Version 2.59.2 ========================== * fix: normalize include with boolean or number (spurreiter) 2019-04-09, Version 2.59.1 ========================== * fix: ignore .git folder (#1709) (Janny) 2019-04-09, Version 2.59.0 ========================== * Do not apply default values on data from database (Miroslav Bajtoš) * feat: Support "type" key in sub-properties (Hage Yaapa) 2018-10-08, Version 2.58.1 ========================== * Describe LTS versions in README (Miroslav Bajtoš) 2018-07-31, Version 2.58.0 ========================== * feat: omit default fn for embeds many (jannyHou) 2018-05-18, Version 2.57.0 ========================== * Add support for Node.js 8.x and 10.x, drop 4.x (Miroslav Bajtoš) 2018-01-19, Version 2.56.0 ========================== * fix unauthorized fk change (#1540) (Taranveer Virk) * drop support for node 0.10 / 0.12 (#1541) (Taranveer Virk) 2017-09-26, Version 2.55.3 ========================== * fix(model-builder): __data may be null. (#1415) (Samuel Reed) * package: use qs@6.5.0 (#1470) (Kevin Delisle) 2017-07-28, Version 2.55.2 ========================== * Fix #1434 2.55.1 Throws when using where query against "JSON Object or ANY" Type (#1444) (Shing) * castPropertyValue: throw on malformed types (Kevin Delisle) 2017-07-21, Version 2.55.1 ========================== * Catch errors using cb (loay) * Recursively cast props on fromDb for memory conn. (nVitius) * Recursively coerce nested properties in dao (nVitius) * Fix #1079 - Polymorphic hasMany inverse relation (#1296) (Janny) 2017-07-10, Version 2.55.0 ========================== * Backport - Apply hasManyThrough filter on target model (#1404) (Janny) 2017-06-13, Version 2.54.2 ========================== * Fix assert as array does not guarantee order (Candy) * Fixed empty objList in linkOneToMany fn (#1287) (somename85) * remove equality value for user-defined id (#1292) (Matteo Padovano) * override collection name for arangodb (#1274) (Matteo Padovano) * fix missing findOrCreate error callback (Ryan Graham) 2017-03-13, Version 2.54.1 ========================== * fix incorrect engines property in package.json (Ryan Graham) * Fix datasource to report connector-loading errors (Miroslav Bajtoš) * Add two basic tests for "inq" operator (Miroslav Bajtoš) 2017-01-17, Version 2.54.0 ========================== * Replace deprecated node-uuid with uuid module (Raymond Feng) * Coerce array-like objects into arrays (Heath Morrison) * Throw error when model relation name is trigger (Brian Schemp) * Update package.json for LB3 release (Simon Ho) 2016-12-21, Version 2.53.1 ========================== * Fix HasOne.update to propagate options arg (Miroslav Bajtoš) * Update ko translation file (Candy) * Back-port fixes for linter errors from master (Miroslav Bajtoš) * Update chinese simplified translation file (Candy) * Apply style guide to test names (Amir Jafarian) * Continue _coerce after logical operators (Heath Morrison) * Fix manually (Amir Jafarian) * Auto-update by eslint --fix (Amir Jafarian) * update eslintrc according to master branch (Amir Jafarian) * Update eslint (Amir Jafarian) * test/kvao: add connectorCapabilities options (Miroslav Bajtoš) * Update validations.js (Rand McKinney) * Fix bug when near filter is used (Amir Jafarian) 2016-10-13, Version 2.52.0 ========================== * Support {defaultFn: 'shortid'} (#1110) (Simon Ho) * Add ilike and nilike operators (#1136) (Simon Ho) * Fix JSdoc (Amir Jafarian) * Update ja translation file (Candy) * Update translation files - round#2 (Candy) * Add 'isNewInstance' for updateAttributes (Amir Jafarian) * Add globalization strings (Amir Jafarian) * Add docs for KVAO (Simon Ho) * Skip test temporarily (Loay) 2016-09-12, Version 2.51.0 ========================== * Add missing "done" arg in test/kvao/ttl.suite (Miroslav Bajtoš) * Support nested queries for arrays (pponugo) * Remove expired item before executing expire (Simon Ho) * Fix failures for connectors (Amir Jafarian) * upsertWithWhere feature support in juggler DAO (Sonali Samantaray) * Remove ESLint from dependencies (Simon Ho) * Refactor TTL test suite (Simon Ho) 2016-08-26, Version 2.50.0 ========================== * test/memory: remove dummy findOrCreate impl (Miroslav Bajtoš) * Implement `notify` for find method (Amir Jafarian) * kvao: implement key filter (Miroslav Bajtoš) * kvao: add iterateKeys() and keys() (Miroslav Bajtoš) * Globalize KeyValue Memory connector (Simon Ho) * test: Rename KVAO get test suite (Simon Ho) 2016-08-16, Version 2.49.0 ========================== * Fix error message for missing global.Promise (Miroslav Bajtoš) * Add TTL for KeyValue related features (Simon Ho) * test/kvao: setup global.Promise on Node v0.10 (Miroslav Bajtoš) * kv-memory: fix crash in regular cleanup (Miroslav Bajtoš) * Backport globalization (Amir Jafarian) 2016-08-09, Version 2.48.0 ========================== * Return error if connector does not implement (Amir Jafarian) * kvao: return 404 when expiring unknown key (Miroslav Bajtoš) * Update doc for `validatesFormatOf` (Amir Jafarian) * Implement KeyValue API and memory connector (Miroslav Bajtoš) * Fix test case typo (Amir Jafarian) * Remove unused variables in model.js (Amir Jafarian) * Add test for updateOrCreate (Amir Jafarian) * Declare `definition` (Amir Jafarian) * Add test to catch invalid date property (Supasate Choochaisri) 2016-07-14, Version 2.47.0 ========================== * Ensure stable order of items in DAO.find() (Miroslav Bajtoš) * give options to validators #984 (RobinBiondi) * Update datasource.js (Amir Jafarian) * Give warning if PK is changed in hooks (Amir Jafarian) * Persist changes on parent for embedsOne (Dimitris Halatsis) 2016-06-03, Version 2.46.1 ========================== * fix (Miroslav Bajtoš) * Retun err for UPSERT if the connector returns err (Amir Jafarian) * Fix error message (Amir Jafarian) * Add test's description (Amir Jafarian) * ModelBuilder: add new setting strictEmbeddedModels (Dimitris Halatsis) * Fix incompatibility between different connectors PR#938 (Amir Jafarian) * travis: add v4, v6, drop io.js (Miroslav Bajtoš) * Backport ESLint from master (Simon Ho) * Set ESLint as devdep (Simon Ho) * Use mocha instead of Makefile for testing (Simon Ho) * Implement operation hooks for EmbedsMany methods (Miroslav Bajtoš) * Implement operation hooks for EmbedsOne methods (Miroslav Bajtoš) * eslint config 2.0 + remove extra empty lines (Miroslav Bajtoš) * Fix eslint errors in memory connector (Miroslav Bajtoš) * Run `eslint --fix` with config from master (Miroslav Bajtoš) * Test coverages for hashed password (Amir Jafarian) * Fix `forceId` check for `replaceByIds` PR#896 (Amir Jafarian) * test: extract hook-monitor helper (Miroslav Bajtoš) * test: extract uid-generator helper (Miroslav Bajtoš) * test: extract context-test-helpers (Miroslav Bajtoš) * Define `patch` aliases (Amir Jafarian) 2016-04-07, Version 2.46.0 ========================== * Insert copyright headers (Miroslav Bajtoš) * Relicense as MIT only (Miroslav Bajtoš) * Fix Mongo compatibility issue (Amir Jafarian) * Add automigrate to setup tables for replace test cases (Amir Jafarian) * Remove next tag (2.x) (Amir Jafarian) * Allow test folder to be published (Amir Jafarian) * Fix tests for mysql (Amir Jafarian) * Add forgotten unit test (Miroslav Bajtoš) * Improve error message on connector init error (Miroslav Bajtoš) * Update describe-operation-hooks (Miroslav Bajtoš) * Fix missing connector error msg for db2, cloudant for 2.x (Candy) * Implementtaion of replace (Amir Jafarian) 2016-02-22, Version 2.45.2 ========================== * Fix missing connector error msg for db2, cloudant for 2.x (Candy) 2016-02-15, Version 2.45.1 ========================== * Fix conversion for `updateAttributes` (Amir Jafarian) 2016-02-02, Version 2.45.0 ========================== * Refactor `updateAttributes` (Amir Jafarian) * Enhance "persisted" hook in DAO.updateAttributes (Miroslav Bajtoš) * Add unit test to verify fix for #754 (Tom Kirkpatrick) * Implement `findOrCreate` for memory connector (Amir Jafarian) * Fix a bug when validation is off for findOrCreate (Amir Jafarian) * Fix broken code fencings in the docs (Farid Nouri Neshat) * Revert "Correct syntax for should and more" (Simon Ho) * Fix test for shouldjs 8.0.2 upgrade (Simon Ho) * Upgrade shouldjs to 8.0.2 (Simon Ho) * Correct syntax for should and more (Amir Jafarian) 2015-12-13, Version 2.44.0 ========================== * Fix failing test for MongoDB connector (Simon Ho) * Make automatic validation optional (Bert Casier) * Add refresh script (Simon Ho) * Add clean scripts (Simon Ho) * Refactor Makefile (Simon Ho) 2015-11-27, Version 2.43.0 ========================== * 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) 2015-11-23, Version 2.42.0 ========================== * 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) 2015-11-17, Version 2.41.2 ========================== * 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) 2015-10-28, Version 2.41.1 ========================== * 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) 2015-10-07, Version 2.41.0 ========================== * 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) 2015-09-11, Version 2.40.1 ========================== * Fix the test so that it works across DBs (Raymond Feng) 2015-09-10, Version 2.40.0 ========================== * 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) 2015-08-27, Version 2.39.0 ========================== * Optimze automigrate() to cut the test time signicantly (Raymond Feng) * Fix primary key checks (Simon Ho) * travis: drop 0.6 and 0.8, add iojs (Miroslav Bajtoš) * Upgrade Travis to container-based infrastructure (Miroslav Bajtoš) * Relax id requirement for basic query operations (Simon Ho) 2015-08-18, Version 2.38.0 ========================== * 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) 2015-08-14, Version 2.37.0 ========================== * 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) 2015-08-05, Version 2.36.0 ========================== * Report deferred exceptions via callback (Raymond Feng) * fixes issue 673: Include hasMany of relation does not return empty array (Kenta Fried) 2015-07-30, Version 2.35.3 ========================== * Fix the test case with automigrate (Raymond Feng) 2015-07-30, Version 2.35.2 ========================== * Fix regexp error for the memory connector (Simon Ho) 2015-07-29, Version 2.35.1 ========================== * Fix error handling (Raymond Feng) 2015-07-29, Version 2.35.0 ========================== * 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) 2015-07-22, Version 2.34.0 ========================== * Don't enforce strictness if allowExtendedOperators: true (MongoDB) (Fabien Franzen) * Take strict: validate and throw settings into account (Fabien Franzen) * Filter attributes when strict: true (Fabien Franzen) 2015-07-21, Version 2.33.3 ========================== * Make sure done() is called within the callback (Raymond Feng) 2015-07-18, Version 2.33.2 ========================== * 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) 2015-07-10, Version 2.33.1 ========================== * Fix object merge (Raymond Feng) 2015-07-10, Version 2.33.0 ========================== * Make sure base property definitions are cloned (Raymond Feng) 2015-07-03, Version 2.32.0 ========================== * Fix the regression for date conversion (Raymond Feng) * Don't cache static scope method results #575 (Fabien Franzen) 2015-07-02, Version 2.31.1 ========================== * Fix the regexp value for like/nlike (Raymond Feng) 2015-07-02, Version 2.31.0 ========================== * 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) 2015-06-16, Version 2.30.1 ========================== * Ping async to 1.0.0 to work around context propagation (Raymond Feng) * Fix the test case (Raymond Feng) 2015-06-16, Version 2.30.0 ========================== * 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) 2015-05-29, Version 2.29.2 ========================== * Fix the test case (Raymond Feng) 2015-05-28, Version 2.29.1 ========================== * Update deps (Raymond Feng) * Don't silently swallow db errors on validation. (Samuel Reed) * adapt coding style @bajtos (mamboer) * addressing #603 (Patrick Perini) * enhancement on #588 (mamboer) * fix issue #587 (mamboer) * add test suit for scope - dynamic function (Nemo) 2015-05-27, Version 2.29.0 ========================== * 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) 2015-05-20, Version 2.28.1 ========================== * Remove dep on sinon (Raymond Feng) * Update deps (Raymond Feng) 2015-05-18, Version 2.28.0 ========================== * Make sure promise is returned (Raymond Feng) * Update deps to loopback-connector (Raymond Feng) * Fix comments (Raymond Feng) * Enable docs (Raymond Feng) * Add an optional `options` argument to relation methods (Raymond Feng) * Add transaction apis (Raymond Feng) * Refactor the observer functions into a plugin (Raymond Feng) * Add transaction (Raymond Feng) 2015-05-16, Version 2.27.1 ========================== * Make sure relation scope is applied during include (Raymond Feng) * Updated JSdoc for Datasource constructor (crandmck) 2015-05-13, Version 2.27.0 ========================== * 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) 2015-05-05, Version 2.26.4 ========================== * dao: support validateUpsert:false (Miroslav Bajtoš) * Changes to API docs per Dennis (Rand McKinney) * Add unit-test for "array" type (Miroslav Bajtoš) 2015-04-24, Version 2.26.3 ========================== * Fix the test cases (Raymond Feng) * Add support for merging include filters (ningsuhen) * add test case for hasmanythrough bi-drectional relations (ningsuhen) * Fix for bug - https://github.com/strongloop/loopback-datasource-juggler/issues/571 (ningsuhen) 2015-04-24, Version 2.26.2 ========================== * Allow leading slash for `path` in model settings (Raymond Feng) 2015-04-22, Version 2.26.1 ========================== * validations: treat `NaN` as a blank value (Miroslav Bajtoš) 2015-04-22, Version 2.26.0 ========================== * Allow custom name mapping for discovered models (Raymond Feng) 2015-04-17, Version 2.25.1 ========================== * Validate model on updateOrCreate (upsert). (Miroslav Bajtoš) 2015-04-16, Version 2.25.0 ========================== * Extend findById to accept an optional filter object (Raymond Feng) 2015-04-14, Version 2.24.0 ========================== * Add new strict mode "validate" (Miroslav Bajtoš) * Promisify model relation methods (Partap Davis) * Deprecate property names containing a dot (Miroslav Bajtoš) * Allow nesting properties to be queried for memory connector (Raymond Feng) 2015-04-01, Version 2.23.0 ========================== * 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) 2015-03-27, Version 2.22.0 ========================== * 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) 2015-03-16, Version 2.21.0 ========================== * Fix the test case so that at least one property is to be changed (Raymond Feng) * Make sure id properties cannot be changed (Raymond Feng) 2015-03-12, Version 2.20.0 ========================== * Remove trailing spaces. (Miroslav Bajtoš) * Improve instance-level operation hooks (Fabien Franzen) * Fix the test case (Raymond Feng) * fix foreign key dataType bug (didikeke) * Reformat notifyObserversOf context argument (Fabien Franzen) * Implement operation hooks' context (Fabien Franzen) * Allow submodel to hide base properties (Raymond Feng) 2015-03-04, Version 2.19.2 ========================== * Improved and corrected API docs (crandmck) * Fix problems in annotations that prvented validateAsync and validate functions from appearing in API docs. (crandmck) 2015-03-03, Version 2.19.1 ========================== * Make sure inclusion filter is applied to the target model (Raymond Feng) 2015-03-02, Version 2.19.0 ========================== * 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š) 2015-02-20, Version 2.18.1 ========================== * Make sure models are migrated to avoid conflicts (Raymond Feng) * Add err checks (Raymond Feng) * Fix findByIds test cases (Raymond Feng) 2015-02-20, Version 2.18.0 ========================== * 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š) 2015-02-11, Version 2.17.0 ========================== * 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) 2015-02-05, Version 2.16.0 ========================== * Return 400 when client provides an incorrect value (Pradnya Baviskar) * Relax "id" checks in test/manipulation.test.js (Miroslav Bajtoš) * Fix typo (Raymond Feng) * test: undefined property values are preserved (Miroslav Bajtoš) * Remove undefined properties for create (Raymond Feng) * Update to `should` to the latest version 4.6.3 (Miroslav Bajtoš) * Relax the id equality test for mongodb object ids (Raymond Feng) 2015-02-02, Version 2.15.0 ========================== * Fix id type issue for update (Raymond Feng) * Rename hook "query" to "access" (Miroslav Bajtoš) * Implement intent hook `before delete` (Miroslav Bajtoš) * Remove redundant `.toObject()` call from `upsert` (Miroslav Bajtoš) * Fix regression in `.save()` from 1fd6eff1 (Miroslav Bajtoš) * Fix hasOne remoting (Raymond Feng) * Make sure batch create calls back with correct data (Raymond Feng) * Intent-based hooks for persistence (Miroslav Bajtoš) * ModelBaseClass: implement async observe/notify (Miroslav Bajtoš) * Upgrade `should` to the latest 1.x version (Miroslav Bajtoš) * Fixed nullCheck in validations to correct behavior when dealing with undefined attributes (James Billingham) * Supply target to applyProperties function (Fabien Franzen) * fix id property for composite ids (Clark Wang) * fix id properties should sort by its index (Clark Wang) * Fixed typos and logic for protected properties (Christian Enevoldsen) * adds support for protected properties. (Christian Enevoldsen) * support embeds data for belongsTo relation Signed-off-by: Clark Wang <clark.wangs@gmail.com> (Clark Wang) 2015-01-15, Version 2.14.1 ========================== * Fix detection of `util.inspect` version (Miroslav Bajtoš) * fix recursive calls if create belongsTo model in beforeCreate hook (Clark Wang) 2015-01-14, Version 2.14.0 ========================== * Remove console.log (Raymond Feng) * Fix for #369 (Dallon Feldner) * Fix virtual id get function. (Berkeley Martinez) * Fix Model.prototype.inspect (Miroslav Bajtoš) * Include property value in the error message (Miroslav Bajtoš) * Update datasource.js (Rand McKinney) * Change Model to BaseModel for clarity (Fabien Franzen) * Don't coerce nested objects into Model instances (Fabien Franzen) 2015-01-07, Version 2.13.0 ========================== * added test for sorting undefined values (Christian Vette) * Fix the floating number comparison (Raymond Feng) * Fix bad CLA URL in CONTRIBUTING.md (Ryan Graham) * replace deprecated function __defineGetter__ (bitmage) * add a flag to callback of findOrCreate to indicate find or create (Clark Wang) * fix sorting of undefined values with multiple columns (Christian Vette) * code style (cvette) * fix sorting with undefined in memory connector (cvette) * Added support for inline parameters like: new GeoPoint(-34, 150) (Simo Moujami) * fix default include in default scope fails findById (Clark Wang) * Added test for toString() (Simo Moujami) * Additional formatting (Simo Moujami) * Fixed constructor parameters and added bdd tests for constructor validation (Simo Moujami) * Fixed indentation (Simo Moujami) * Added mocha tests for GeoPoint (Simo Moujami) * renamed intermediary variable (Simo Moujami) * Fixed the haversine formula to calculate distance between 2 points properly (Simo Moujami) 2014-12-08, Version 2.12.0 ========================== * Relax the id comparison (Raymond Feng) * Allow more flavors of nullable values from DB discovery (Raymond Feng) * Fix a typo (Raymond Feng) * docs.json: add lib/model.js (Miroslav Bajtoš) * Update README.md (Rand McKinney) * fix embedsOne error when embed instance is undefined or null (Clark Wang) * Be explicit: set RelationDefinition multiple flag (Fabien Franzen) * Allow hasOne relation to have a scope option (Clark Wang) * fix skipping async validator will always fail if condition is un-fulfilled (Clark Wang) 2014-11-13, Version 2.11.0 ========================== * Bump version (Raymond Feng) * handle relationship create with [array] (bitmage) * #350: Creating a batch via hasMany relation is failing. Added handling of array argument. (Alex Voitau) * #350: Creating a batch via hasMany relation is failing. Added context 'with scope' to allow individual execution of tests. (Alex Voitau) 2014-11-04, Version 2.10.3 ========================== * Bump version (Raymond Feng) * Add support for multiple includes that use relation syntax (Raymond Feng) * Tests for non standard id - hasOne and polymorphic (Pandaiolo) * Fix HasOne PK on modelFrom instead of modelTo (Pandaiolo) * Remove "Suite" (Rand McKinney) * Tiny fix: default __persisted to false (Fabien Franzen) * Don't apply defaults when fields are specified (Fabien Franzen) 2014-10-21, Version 2.10.2 ========================== * Bump version (Raymond Feng) * Fix the automigrate issue (Raymond Feng) 2014-10-15, Version 2.10.1 ========================== * Bump version (Raymond Feng) * Enable include scope for belongsTo (Fabien Franzen) * Call relation methods in the right context (Fabien Franzen) 2014-10-13, Version 2.10.0 ========================== * Bump version (Raymond Feng) * Don't inherit settings.base when extending a model (Miroslav Bajtoš) * Allow include syntax without scope param (Fabien Franzen) * Allow 'rel' and 'relation' (Fabien Franzen) * Refactored inclusion (Fabien Franzen) * Implement include scopes (Fabien Franzen) * Fix failing test (Fabien Franzen) * Allow `attributes` as an alias for `properties` (for LDL) (Fabien Franzen) * Cleanup, consistency: allow properties to be a function (Fabien Franzen) * applyProperties => properties (object/false) (Fabien Franzen) * Test default scope with relations (Fabien Franzen) * Allow default scope to be a function (Fabien Franzen) * Full test CRUD suite for default scope (Fabien Franzen) * Properly reset Memory connector cache on automigrate (Fabien Franzen) * Implemented collection setting for Memory connector (Fabien Franzen) * Extract mergeQuery and setScopeValuesFromWhere (Fabien Franzen) * Add contribution guidelines (Ryan Graham) * Fix camel-case issue where relation is 'hasAndBelongsToMany' #304 (Khashayar Hajian) * Test improvement, shows _targetClass camelCase bug (Khashayar Hajian) * Tidy up model building from data sources (Raymond Feng) 2014-09-12, Version 2.9.0 ========================= * Bump version (Raymond Feng) * Fix to handle new isNewRecord implementation (Fabien Franzen) * Add test case for Numeric ids (with optional forceId) (Fabien Franzen) * Allow embedsOne to use auto-generated id (from connector) (Fabien Franzen) * Implemented persistent: true option for embedsOne (Fabien Franzen) * Introduce embedsMany persistent: true option (Fabien Franzen) * More tests for embedsMany with persistent model (Fabien Franzen) * Only check id as part of embedsMany relation (Fabien Franzen) * Fix multi-property validation definitions (Fabien Franzen) * Tiny fixes (Fabien Franzen) * DAO save() now uses isNewRecord() (Fabien Franzen) * More fixes/tests (Fabien Franzen) * Enforce id (prevent user-set value), fix isNewRecord (Fabien Franzen) * Test .value() method - as used by scope getter (Fabien Franzen) * embedsMany - implement sync scope getter (Fabien Franzen) * hasAndBelongsToMany - test sync scope getter (Fabien Franzen) * polymorphic hasMany - test sync scope getter (Fabien Franzen) * hasOne - test sync scope getter (Fabien Franzen) * hasMany through - sync scope getter (Fabien Franzen) * Scope method should return cached relation value (sync) (Fabien Franzen) * Export RelationClasses (Fabien Franzen) 2014-09-04, Version 2.8.0 ========================= * Bump version (Raymond Feng) * Simplify the id lookup (Raymond Feng) * Remove legacy Schema references (Fabien Franzen) * getTransientSchema => getTransientDataSource (Fabien Franzen) * Re-use modelBuilder - correctly fixes lookup (Fabien Franzen) * Polymorphic lookup from all registered dataSources (Fabien Franzen) * Fix #283 (Fabien Franzen) * Isolate transient schema helper (Fabien Franzen) * tidy codes (Clark Wang) * Refector tests and codes (Clark Wang) * Refactor tests and codes (Clark Wang) * Refactor codes into same if condition (Clark Wang) * Remove only (Clark Wang) * Add tests for hasMany through between same model (Clark Wang) * Fix hasMany through can't custom relation name (Clark Wang) * Added a test case for neq (Raymond Feng) * Fix typo of keyThrough and get from params (Clark Wang) * Remove unnecessary console.log (Clark Wang) * Fix options for hasManyThrough doesn't apply (Clark Wang) * revert eof (Clark Wang) * Revert leading spaces (Clark Wang) * revert change to ReferencesMany.prototype.add (Clark Wang) * add jsdoc and fix add data to referencesMany.add (Clark Wang) * Allow to add connection with through data for HasManyThrough relation (Clark Wang) * fix polymorphicName var scope (Clark Wang) * Reset json when building model definition (Fabien Franzen) * Add hint, minor cleanup (Fabien Franzen) * Enable dynamic modelTo for scopes (Fabien Franzen) * Updated embedded relations to use transient connector (Fabien Franzen) * Implemented Transient connector (Fabien Franzen) * Fix error messages, should be lowercase (Fabien Franzen) * Add neq operator support for memory connector (Raymond Feng) * Remove iteration of config args (Fabien Franzen) * Validations configuration as object (Fabien Franzen) * Applied Coobaha's PR fix - prevents undefined values (Fabien Franzen) * Expose validation metadata (Fabien Franzen) 2014-08-27, Version 2.7.0 ========================= * Bump version (Raymond Feng) * Make sure timeout handle is cleared (Raymond Feng) * Make sure error events are emitted by data source (Raymond Feng) * Implement where arg on scoped count and destroyAll (Fabien Franzen) 2014-08-25, Version 2.6.1 ========================= * Bump version (Raymond Feng) * Tweak the model names used by tests to avoid mssql conflicts (Raymond Feng) * Use the correct dataSource for modelFrom/modelTo (Fabien Franzen) 2014-08-22, Version 2.6.0 ========================= * Bump version (Raymond Feng) * Emit deleted event on delete for embedsMany relations (Jaka Hudoklin) * Add ping() to test connections (Raymond Feng) 2014-08-21, Version 2.5.2 ========================= * Bump version (Raymond Feng) * Make sure falsy value is kept for properties not predefined (Raymond Feng) 2014-08-21, Version 2.5.1 ========================= * Bump version (Raymond Feng) * Fix side-effects of PR #237 - see #242 (Fabien Franzen) 2014-08-20, Version 2.5.0 ========================= * Bump version (Raymond Feng) * Save the instance even the callback is not present (Raymond Feng) * Fix the embedsOne test cases (Raymond Feng) * Fix test cases (Raymond Feng) * Validate embedded models by default (Fabien Franzen) * Implemented embedsOne (Fabien Franzen) * Coerce embedded model types (Fabien Franzen) * Implement DAO unsetAttribute (Fabien Franzen) * Implemented belongsTo update/destroy on scope (Fabien Franzen) * Implemented hasOne destroy() (Fabien Franzen) * Implemented hasOne update() (Fabien Franzen) * Implement update() on embedsOne scope (Fabien Franzen) * Fix relations for RDBMS connectors (mysql, postgresql) (Fabien Franzen) 2014-08-18, Version 2.4.2 ========================= * Bump version (Raymond Feng) * Prevent failure with null in List toObject (Fabien Franzen) * Fix ModelDefinition toJSON bug (Fabien Franzen) * Add ability to apply a plugin multiple times from LDL (Fabien Franzen) * HasMany exists should use internal findById (Fabien Franzen) * Tiny fix: obsolete i8n require (Fabien Franzen) * Properly handle LDL for polymorphic relations (Fabien Franzen) 2014-08-15, Version 2.4.1 ========================= * Bump version (Raymond Feng) * Check null (Raymond Feng) 2014-08-15, Version 2.4.0 ========================= * Bump version (Raymond Feng) * Fix the test cases to avoid hard-coded ids (Raymond Feng) * Add strict flag to sortObjectsByIds (Fabien Franzen) * Fix conflicts (Fabien Franzen) * Moved DataAccessObject.sortByIds to utils.js (Fabien Franzen) * Remove redundant test (Fabien Franzen) * Allow partial list of ids for sortByIds (Fabien Franzen) * Fixed duplicate code (Fabien Franzen) * Implement embedded.destroy() integration (Fabien Franzen) * Refactor embedsMany - auto-save parent (Fabien Franzen) * Refactor polymorphic relations, fix inverse #215 (Fabien Franzen) * Clarified tests, fixed BelongsTo.prototype.create (Fabien Franzen) * Handle toObject in updateAttributes (Fabien Franzen) * Fix formatting (Fabien Franzen) * Fix scopeMethods closure issue (Fabien Franzen) * Refactored embedsMany (relationName vs. propertyName) (Fabien Franzen) * Enable DL definition of embedsMany + referencesMany (Fabien Franzen) * Refactor modelTo logic into lookupModelTo (Fabien Franzen) * Allow runtime override of scope/relation order query param (Fabien Franzen) * Implement scope.defineMethod/relation.defineMethod (Fabien Franzen) * add count to relations (Jaka Hudoklin) * Fix links to confluence docs (Rand McKinney) * Tiny fix: use setAttributes (Fabien Franzen) * Cleanup mixin tests (Fabien Franzen) 2014-08-08, Version 2.3.1 ========================= * Fix a name conflict in scope metadata (Raymond Feng) 2014-08-08, Version 2.3.0 ========================= * Fix the test case so that it works with other DBs (Raymond Feng) * Bump version (Raymond Feng) * Pass options into scope (Raymond Feng) * Add scope definitions to the model class (Raymond Feng) * Clean up the mixin processing (Raymond Feng) * Fix bug when using multiple include keys (Laurent) * Unified plugins into mixins (Fabien Franzen) * Fix typo: loadPlugin(s) (Fabien Franzen) * Minor touch-ups (Fabien Franzen) * Basic plugin architecture (Fabien Franzen) 2014-08-07, Version 2.2.2 ========================= * Bump version (Raymond Feng) * Upgrade qs (Raymond Feng) * Upgrade qs version (Raymond Feng) 2014-08-04, Version 2.2.1 ========================= * Bump version (Raymond Feng) * Changed options.path to option.http.path (Fabien Franzen) * Removed normalization (see strong-remoting) (Fabien Franzen) * Emit dataAccessConfigured events during attach (Raymond Feng) * Changed normalization api - enabled hasOne remoting (Fabien Franzen) * Customize/Normalize class-level remoting http path (Fabien Franzen) * Add test to protect the use of include in related method (Laurent Chenay) * Do not overwrite inclusion but scope them. Needed in relation hasManyThrought (Laurent Chenay) 2014-07-30, Version 2.2.0 ========================= * fix datasources to support new model parameters (Jaka Hudoklin) * Bump version (Raymond Feng) * Correctly handle remoting of scope methods (Fabien Franzen) * Handle remoting of custom scope methods (Fabien Franzen) * ReferencesMany fixes after LB integration tests (Fabien Franzen) * Fixed embedsMany after LB integration (Fabien Franzen) * Fix the test failure for mongodb (Raymond Feng) * Allow custom scopeMethods option (obj/fn) for relation scopes (Fabien Franzen) * Renamed EmbedsMany 'reference' option to 'belongsTo' (Fabien Franzen) * Implemented referencesMany (Fabien Franzen) * Added option: reference to enable embedsMany add/remove (Fabien Franzen) * Implemented findByIds (Fabien Franzen) * Minor touchups (Fabien Franzen) * Tests for polymorphic embedsMany (Fabien Franzen) * Implemented more complex scenaro: embedsMany + relations (Fabien Franzen) * Convenience embedsMany accessors: at(idx), get(id), set(id, data) (Fabien Franzen) * Fix test cases (Raymond Feng) * Increase the max number of model listeners (Raymond Feng) * Remove unused data (Raymond Feng) * Export GeoPoint class (Raymond Feng) * Fix HEAD on relation hasMany (Laurent Chenay) * Updated remaining relations to use polymorphicParams (Fabien Franzen) * polymorphics can now be declared using object (Fabien Franzen) * typeTo => discriminator (Fabien Franzen) * Require unique ids for embedded items (Fabien Franzen) * Test build of embedsMany (Fabien Franzen) * Minor fix (Fabien Franzen) * Added validation for embedded items (optional) (Fabien Franzen) * Implemented embedsMany relation (Fabien Franzen) * Minor tweaks; pass-through properties/scope for hasAndBelongsToMany (Fabien Franzen) * Implemented polymorphic hasMany through inverse (Fabien Franzen) * More hasAndBelongsToMany tests (Fabien Franzen) * Minor cleanup (Fabien Franzen) * Implemented polymorphic hasOne (Fabien Franzen) * Implemented polymorphic hasAndBelongsToMany (Fabien Franzen) * Implemented polymorphic hasMany (Fabien Franzen) 2014-07-27, Version 2.1.1 ========================= * Bump version (Raymond Feng) * Fix a regression where undefined id should not match any record (Raymond Feng) 2014-07-27, Version 2.1.0 ========================= * Bump version (Raymond Feng) * datasource: support connectors without `getTypes` (Miroslav Bajtoš) * relation: add `scope._target` for `hasOne` (Miroslav Bajtoš) * Fix scoped destroyAll: only use 'where', not full 'filter' args (Fabien Franzen) * Added test for belongsTo scope/properties (Fabien Franzen) * Implement scope/properties for BelongsTo (+ fix foreign key matching) (Fabien Franzen) 2014-07-22, Version 2.0.0 ========================= * add support for disabling relationship includes (Jaka Hudoklin) * add support for relationship options (Jaka Hudoklin) * Move relation remoting to loopback (Raymond Feng) 2014-07-21, Version 2.0.0-beta5 =============================== * Bump version (Raymond Feng) * Expose base model class as `base` property (Raymond Feng) 2014-07-16, Version 2.0.0-beta4 =============================== * Add missing inflection dep back (Raymond Feng) 2014-07-15, Version 2.0.0-beta3 =============================== * Bump version (Raymond Feng) * 2.0.0-beta2 (Miroslav Bajtoš) * validations: support non-V8 browsers (Miroslav Bajtoš) * Remove remoting metadata (Raymond Feng) * Fix the forEach closure (Raymond Feng) * ModelBuilder: add `prototype.defineValueType` (Miroslav Bajtoš) * Replace connector base with loopback-connector (Miroslav Bajtoš) * Remove unsupported connectors (Miroslav Bajtoš) * 2.0.0-beta1 (Ritchie Martori) * Keep undefined/null values for the array type (Raymond Feng) * Remove JSDocs for scopeMethods.add(acInst) and scopeMethods.remove(acInst) (crandmck) * Copy info from api-model.md to JSDoc (crandmck) * !fixup Remove additional remoting (Ritchie Martori) * !fixup Require ._delegate for fn override (Ritchie Martori) * Remove relation remoting (Ritchie Martori) * Remove remoting metadata (Ritchie Martori) 2014-07-15, Version 1.7.0 ========================= * Make sure related properties are defined for RDBMS (Raymond Feng) * Test instance or id by the model type (Raymond Feng) * Bump version (Raymond Feng) * Allow before hooks to pass arguments to next() (Raymond Feng) * Remoting methods for hasMany through (Raymond Feng) * Fix the error message (Raymond Feng) * Sign-off (Fabien Franzen) * Renamed mapping to properties (Fabien Franzen) * Fix validateUniqueness/nextTick (Fabien Franzen) * Handle custom error codes (Fabien Franzen) * More validations and tests (Fabien Franzen) * Don't check uniqueness of blank values (Fabien Franzen) * RelationDefinition applyScope/applyMapping (Fabien Franzen) * Allows default model class to be configured (Raymond Feng) * DAO.prototype.exists should return 'boolean' type. (Samuel Reed) 2014-07-03, Version 1.6.3 ========================= * Make sure 'deleteById' is used as the remote operation name (Miroslav Bajtoš) * Make sure 'upsert' is used as the remote operation name (Raymond Feng) 2014-06-27, Version 1.6.2 ========================= * Bump version and update deps (Raymond Feng) * Normalize filter.order and enforce more checks (Raymond Feng) * Make sure type of the foreign key match the primary key (Raymond Feng) * Add "hasOne" to relationTypes (Ritchie Martori) * Update link to doc (Rand McKinney) 2014-06-24, Version 2.0.0-beta2 =============================== * validations: support non-V8 browsers (Miroslav Bajtoš) * Work around for Date default (Raymond Feng) * Synchronize with cachedRelations (Raymond Feng) * Remove remoting metadata (Raymond Feng) * Fix the forEach closure (Raymond Feng) * ModelBuilder: add `prototype.defineValueType` (Miroslav Bajtoš) * Replace connector base with loopback-connector (Miroslav Bajtoš) * Remove unsupported connectors (Miroslav Bajtoš) * 2.0.0-beta1 (Ritchie Martori) * Keep undefined/null values for the array type (Raymond Feng) * Remove JSDocs for scopeMethods.add(acInst) and scopeMethods.remove(acInst) (crandmck) * Copy info from api-model.md to JSDoc (crandmck) * !fixup Remove additional remoting (Ritchie Martori) * !fixup Require ._delegate for fn override (Ritchie Martori) * Remove relation remoting (Ritchie Martori) * Remove remoting metadata (Ritchie Martori) 2014-06-20, Version 1.6.1 ========================= * Bump version (Raymond Feng) * Fix the test case (Raymond Feng) * Use async for flow control (Raymond Feng) * Clean up comments (Raymond Feng) * Fix the error msg (Raymond Feng) * More clean up for the scope processing (Raymond Feng) * Add more jsdocs (Raymond Feng) * Optimize model instantiation and conversion (Raymond Feng) * Add hooks remove dao (Rand McKinney) * Add hooks and include mixins (crandmck) * Enhance the wildcard to regexp conversion (Raymond Feng) * Add like/nlike support for memory connector (Raymond Feng) * Add support for updating multiple instances with query (Raymond Feng) * Minor JSDoc cleanup (crandmck) * Initial JSDoc cleanup (crandmck) * Add ModelBuilder class (crandmck) * Allows skip or offset (Raymond Feng) * Adding back the remoting metadata (Raymond Feng) * Clean up scope implementation (Raymond Feng) * Add support for hasOne (Raymond Feng) * Fix the hasMany through connection (Raymond Feng) * Refactor relation into classes (Raymond Feng) * Add properties and other doc cleanup (crandmck) * Convert null to NotFoundError for remoting call to DataAccessObject.findOne. (Alberto Leal) * Fix the comparison for null/boolean values (Raymond Feng) * More JSDoc cleanup (crandmck) * Add boolean tests (Raymond Feng) * Fix the typo (Raymond Feng) * Make sure the records are sorted by seq (Raymond Feng) * Add more tests (Raymond Feng) * Enhance comparators for memory connector (Raymond Feng) * Update datasource.js (Rand McKinney) * Update docs.json (Rand McKinney) 2014-06-04, Version 1.5.5 ========================= * Bump version (Raymond Feng) * Fix the logical operator check (Raymond Feng) * Fix JS doc for private methods (Raymond Feng) * Normalize/validate the query filter object (Raymond Feng) * Use connector's buildWhere to implement count (Raymond Feng) * JSDoc improvements (Rand McKinney) * validations: include more details in `err.message` (Miroslav Bajtoš) 2014-05-27, Version 1.5.4 ========================= * Bump version (Raymond Feng) * Keep undefined/null values for the array type (Raymond Feng) * Remove JSDocs for scopeMethods.add(acInst) and scopeMethods.remove(acInst) (crandmck) * Copy info from api-model.md to JSDoc (crandmck) * validations: include more details in `err.message` (Miroslav Bajtoš) * Add a path to show customer.orders(query, cb) (Raymond Feng) * Add support for logical operator (AND/OR) (Raymond Feng) 2014-05-20, Version 1.5.2 ========================= * validations: include more details in `err.message` (Miroslav Bajtoš) 2014-05-16, Version 1.5.1 ========================= * Bump version (Raymond Feng) * Add a path to show customer.orders(query, cb) (Raymond Feng) * Fix typo "Unkown" => "Unknown" (Adam Schwartz) * Updated JSDoc comments with content from .md file (crandmck) * Add support for logical operator (AND/OR) (Raymond Feng) 2014-05-15, Version 1.5.0 ========================= * validations: support multi-key unique constraint (Miroslav Bajtoš) * Update JSDoc comments with content from api-model.md (crandmck) * Add JSDoc for lat and lng properties. (Rand McKinney) * Add mis