Page Contents

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

3.1.0 (2020-10-07)

Bug Fixes

  • tidy up type inferences for OpenAPI SchemaObject (013bb7e)

Features

  • repository: implement hasManyThrough resolver (8e7767d)

3.0.1 (2020-09-17)

Note: Version bump only for package @loopback/repository

3.0.0 (2020-09-15)

Bug Fixes

  • improve handling of missing design-time type metadata (95b6a2b)

Features

  • repository: add types to the configuration for autocompletion (6fbf23d)
  • move framework packages to devDependencies (e2c61ce)
  • refactor filters into standalone package (f52d4df), closes #5957

BREAKING CHANGES

  • components no longer install core framework packages as their own dependencies, they use the framework packages provided by the target application instead.

If you are getting npm install errors after upgrade, then make sure your project lists all dependencies required by the extensions you are using.

Signed-off-by: Miroslav Bajtoš mbajtoss@gmail.com

2.11.2 (2020-08-27)

Bug Fixes

  • repository: fix test case for repository.execute (ff0c969)

2.11.1 (2020-08-19)

Bug Fixes

  • docs: rename legacy juggler to juggler (d1febb1)
  • repository: apply [@model](https://github.com/model) to generated model class (9a1b1e4)
  • repository: remove experimental note (921e6ae)

2.11.0 (2020-08-05)

Bug Fixes

  • repository: convert relation property in toobject (85a6164)

Features

  • repository: add support for non-SQL variants of Repository.execute() (49b86c4)

2.10.0 (2020-07-20)

Bug Fixes

  • repository: hasManyThrough can delete correct target n through based on filter (c1ba91f)
  • ensure delete only applies to optional properties (89cd43f)

Features

  • repository: add helpers to create relations (42d17aa)

2.9.0 (2020-06-30)

Features

  • add HasManyThroughFactory to Juggler bridge (c2d4352)
  • repository: add link and unlink methods (31dc4e9)

2.8.0 (2020-06-23)

Bug Fixes

  • set node version to >=10.16 to support events.once (e39da1c)

Features

  • repository: implement hasManyThrough repo (ecd2780)

2.7.0 (2020-06-11)

Bug Fixes

  • repository: fix DynamicModelCtor type to correctly preserve Props (927789e)

Features

  • repository: add hasManyThrough factory and tests (3304963)
  • repository: add more helpers for HasManyThrough (c795544)
  • repository: adds fuzzy where filters to WhereBuilder (7f79805), closes #5577

2.6.0 (2020-05-28)

Features

  • repository: allow components to contribute models for DI (e74fc57)

2.5.1 (2020-05-20)

Note: Version bump only for package @loopback/repository

2.5.0 (2020-05-19)

Bug Fixes

  • hidden properties when strict is false (133cc6b)

Features

2.4.0 (2020-05-07)

Bug Fixes

  • repository: updateById behaves like updateAll when called with an undefined value for id (763dba0)

Features

  • core: allow options for artifact registration on an application (f3fdc3b)
  • repository: add null type (0aa585a)
  • repository: generic factory for repository classes (501f032)
  • repository: to object preserves prototype (52465c3)

2.3.0 (2020-04-29)

Features

  • populate x-typescript-type for openapi schema (02a2633)

2.2.1 (2020-04-23)

Note: Version bump only for package @loopback/repository

2.2.0 (2020-04-22)

Features

  • repository: use JsonSchema to constrain property/model definitions (5de2ae2)
  • update package.json and .travis.yml for builds (cb2b8e6)

2.1.1 (2020-04-11)

Note: Version bump only for package @loopback/repository

2.1.0 (2020-04-08)

Bug Fixes

  • remove restriction to Entities from DefaultKeyValueRepository (c30dce3)

Features

  • remove Node.js 8.x polyfill for Symbol.asyncIterator (eeb8772)

2.0.2 (2020-03-24)

Bug Fixes

  • repository-json-schema: fix schema generation for model inheritance (5417ed5)
  • update package locks (cd2f6fa)

2.0.1 (2020-03-17)

Bug Fixes

  • filter null keys when including belongs-to relations in queries (cccb37f)

2.0.0 (2020-03-05)

chore

  • remove support for Node.js v8.x (4281d9d)

Features

  • constrain filter to exclude where for findById (360d563)
  • support operation hooks (8701cce)
  • repository: make targetsMany property required (cd4d43a)
  • repository: remove generic parameters from Inclusion type (ed949e4)
  • repository: skip undefined property values for toJSON (70fc005)
  • add tslib as dependency (a6e0b4c), closes #4676
  • preserve custom type of auto-generated id property (dc7ff7f)

BREAKING CHANGES

  • repository: If you are building a custom relation type with its own definition interface, make sure the interface includes targetsMany property. Typically, the type of this property is hard-coded as true or false, depending on the relation type.
interface HasManyDefinition extends RelationDefinitionBase {
  type: RelationType.hasMany;
  targetsMany: true;
  // etc.
}

export interface BelongsToDefinition extends RelationDefinitionBase {
  type: RelationType.belongsTo;
  targetsMany: false;
  // etc.
}

When creating an instance of a relation definition, make sure to include a value for targetsMany property.

new ModelDefinition('Order')
  .addRelation({
    name: 'customer',
    type: RelationType.belongsTo,
    targetsMany: false,
    source: Order,
    target: () => Customer,
    keyFrom: 'customerId',
    keyTo: 'id',
  });

Signed-off-by: Miroslav Bajtoš mbajtoss@gmail.com

  • repository: The type Inclusion is no longer generic. Please update your code and remove any generic arguments provided for the type.
- Inclusion<MyModel>
+ Inclusion

Signed-off-by: Miroslav Bajtoš mbajtoss@gmail.com

  • Node.js v8.x is now end of life. Please upgrade to version 10 and above. See https://nodejs.org/en/about/releases.

1.19.1 (2020-02-06)

Note: Version bump only for package @loopback/repository

1.19.0 (2020-02-05)

Features

  • leverage isactive for transaction (fc94437)

1.18.0 (2020-01-27)

Bug Fixes

  • repository: make the navigational property err msg more clear (2d493bc)

Features

1.17.0 (2020-01-07)

Bug Fixes

  • repository: belongsto accessor should return undefined if foreign key is not included (cbdba15)

Features

  • repository: add interface for hasManyThrough (ced2643)
  • repository: allow custom keyFrom for hasmany/hasone (58efff9)

1.16.0 (2019-12-09)

Bug Fixes

  • repository: fix DeepPartial ([0f97811](https://github.com/strongloop/loopback-next/commit/0f97811256304ab048a93858f7a86229bc662e7a))

Features

  • repository: add defineModelClass helper (4d844d1)
  • repository: add title property to Count schema definition (a91c989)
  • repository: enable inclusion with custom scope (4a0d595)
  • repository: rejects create/update operations for navigational properties (01de327)

1.15.5 (2019-11-25)

Note: Version bump only for package @loopback/repository

1.15.4 (2019-11-12)

Bug Fixes

  • repository: fix compilation errors with TypeScript 3.7.2 (d62612d)
  • repository: improve stub typing to avoid compilation errors with TypeScript 3.7 (29cf103)
  • repository: improve typings for model inclusion (eb1a0ae)

1.15.3 (2019-10-24)

Note: Version bump only for package @loopback/repository

1.15.2 (2019-10-07)

Note: Version bump only for package @loopback/repository

1.15.1 (2019-09-28)

Note: Version bump only for package @loopback/repository

1.15.0 (2019-09-27)

Bug Fixes

Features

  • repository: implement inclusion resolver for belongsTo relation (fc3d5b6)
  • repository: implement inclusion resolver for hasOne relation (8dfdf58)
  • repository: implement inclusionResolver for hasMany (4cf9a70)

1.14.0 (2019-09-17)

Features

  • repository: add keyFrom to resolved relation metadata (fb4c5c8)

1.13.1 (2019-09-06)

Note: Version bump only for package @loopback/repository

1.13.0 (2019-09-03)

Features

  • repository: add inclusionResolvers to DefaultCrudRepository (642c4b6)

1.12.0 (2019-08-19)

Features

  • repository: add InclusionResolver type and includeRelatedModels helper function (c9c39c9)

1.11.1 (2019-08-15)

Note: Version bump only for package @loopback/repository

1.11.0 (2019-08-15)

Bug Fixes

  • fixup findByForeignKeys (e26e7b7)

Features

  • repository: add function findByForeignKeys (f5eaf1d)
  • repository: expose beginTransaction() API (0471315)

1.10.1 (2019-07-31)

Note: Version bump only for package @loopback/repository

1.10.0 (2019-07-26)

Features

  • repository: add hidden properties in model (e669913)

1.9.0 (2019-07-17)

Bug Fixes

  • repository: make sure foreign key property in keyTo exists in target model (ce75385)

Features

  • repository: add static method Entity.getIdProperties() (be4bf31)

1.8.2 (2019-06-28)

Note: Version bump only for package @loopback/repository

1.8.1 (2019-06-21)

Note: Version bump only for package @loopback/repository

1.8.0 (2019-06-20)

Features

  • repository: include navigation properties in JSON (008c8b5)

1.7.0 (2019-06-17)

Features

  • repository-json-schema: enhance getJsonSchema to describe navigational properties (7801f59), closes #2630

1.6.1 (2019-06-06)

Note: Version bump only for package @loopback/repository

1.6.0 (2019-06-03)

Features

  • add navigational properties to find* methods (1f0aa0b)
  • replace tslint with eslint (44185a7)

1.5.8 (2019-05-31)

Note: Version bump only for package @loopback/repository

1.5.7 (2019-05-30)

Note: Version bump only for package @loopback/repository

1.5.6 (2019-05-23)

Bug Fixes

  • repository: always copy property definition during juggler model build (#2912) (f6cae52)

1.5.5 (2019-05-14)

Note: Version bump only for package @loopback/repository

1.5.4 (2019-05-10)

Note: Version bump only for package @loopback/repository

1.5.3 (2019-05-09)

Note: Version bump only for package @loopback/repository

1.5.2 (2019-05-06)

Note: Version bump only for package @loopback/repository

1.5.1 (2019-04-26)

Note: Version bump only for package @loopback/repository

1.5.0 (2019-04-20)

Bug Fixes

  • repository: relax constrain check to allow input containing constrained values (c774ed1)

Features

  • build: add more TypeScript “strict” checks (866aa2f)

1.4.1 (2019-04-11)

Note: Version bump only for package @loopback/repository

1.4.0 (2019-04-09)

Features

  • repository-json-schema: refactor metaToJsonProperty to accept custom jsonSchema (d0014c6)

1.3.0 (2019-04-05)

Features

  • repository: add execute implementation (3bd6165), closes #2165

1.2.1 (2019-03-22)

Note: Version bump only for package @loopback/repository

1.2.0 (2019-03-22)

Bug Fixes

  • repository: support embedded models in nested properties (d298ec8)

Features

  • context: honor binding scope from @bind (3b30f01)
  • repository: add PATCH and DELETE for HasOne relation (5936fb9)
  • repository: allow optional property definition on belongsTo decorator (11c7baa)

1.1.8 (2019-03-12)

Bug Fixes

  • model id type is now boolean number instead of boolean (71292e9)

1.1.7 (2019-03-01)

Bug Fixes

  • repository: change default binding scope to TRANSIENT for repos (55461af)

1.1.6 (2019-02-25)

Note: Version bump only for package @loopback/repository

1.1.5 (2019-02-08)

Bug Fixes

  • update to the most recent lodash version (65ee865)

1.1.4 (2019-01-28)

Note: Version bump only for package @loopback/repository

1.1.3 (2019-01-15)

Bug Fixes

  • repository: remove property.array() call from hasMany decorator (56ab017), closes #1944

1.1.2 (2019-01-14)

Bug Fixes

  • add nin operator to query typing and builder (#2215) (c38bd4e)
  • rework tslint comments disabling “no-unused-variable” rule (a18a3d7)

1.1.1 (2018-12-20)

Note: Version bump only for package @loopback/repository

1.1.0 (2018-12-13)

Bug Fixes

  • repository: revert hasOne target FK as PK implementation (fcc76df)

Features

  • repository: add belongsToUniquely sugar syntax method (1b5b66a)
  • repository: hasOne relation (7c2080a)
  • repository: migrateSchema APIs (ad0229b)

1.0.6 (2018-11-26)

Note: Version bump only for package @loopback/repository

1.0.5 (2018-11-17)

Bug Fixes

  • repository: make sure model definition is built correctly (2effa30)

1.0.4 (2018-11-14)

Note: Version bump only for package @loopback/repository

1.0.3 (2018-11-08)

Bug Fixes

  • repository: build relations based on their names (2046701)

Performance Improvements

  • repository: prevent multiple array allocation (a026d33)

1.0.1 (2018-10-17)

Performance Improvements

  • repository: prevent multiple array allocation (691981c)

0.21.2 (2018-10-08)

Note: Version bump only for package @loopback/repository

0.21.1 (2018-10-06)

Bug Fixes

  • repository: resolve types for juggler (41e456c)

0.21.0 (2018-10-05)

Bug Fixes

  • mark HasManyRepository as a readonly property (39227eb)

Features

  • repository: implement belongsTo relation (df8c64c)

0.20.0 (2018-10-03)

Bug Fixes

  • repository: use PropertyType instead of Function (ec9f325)
  • clean up dataSource usage (69506a4)

Features

  • testlab: add StubbedInstanceWithSinonAccessor (1dc2304)

0.19.0 (2018-09-28)

Features

  • repository: return an object for count and updateAll (c146366)

0.18.1 (2018-09-27)

Note: Version bump only for package @loopback/repository

0.18.0 (2018-09-25)

Features

  • builders for Filter and Where schemas (ca8d96e)
  • type resolver for property decorators (49454aa)

0.17.1 (2018-09-21)

Note: Version bump only for package @loopback/repository

0.17.0 (2018-09-19)

Features

  • repository: change Model.modelName to a computed property (5a493cf)
  • repository: implement EntityNotFoundError (d670d10)
  • repository: rework *ById methods to throw if id not found (264f231)

0.16.5 (2018-09-14)

Bug Fixes

  • repository: convert array items to json (33124db)

0.16.4 (2018-09-14)

Bug Fixes

  • repository: handle conversion of property values to plain json (8fcc938)

0.16.3 (2018-09-14)

Note: Version bump only for package @loopback/repository

0.16.2 (2018-09-12)

Note: Version bump only for package @loopback/repository

0.16.1 (2018-09-10)

Note: Version bump only for package @loopback/repository

0.16.0 (2018-09-08)

Bug Fixes

  • remove extra imports for mixin dependencies (35b916b)

Features

  • default 404 for request to non-existent resource (f68a45c)
  • service-proxy: add service mixin (fb01931)

0.15.1 (2018-08-24)

Note: Version bump only for package @loopback/repository

0.15.0 (2018-08-15)

Bug Fixes

  • repository: change the way array property definition is built for the juggler (2471c88)

Features

  • repository: add KVRepository impl using legacy juggler (97a75dc)

0.14.3 (2018-08-08)

Note: Version bump only for package @loopback/repository

0.14.2 (2018-07-21)

Note: Version bump only for package @loopback/repository

0.14.1 (2018-07-20)

Note: Version bump only for package @loopback/repository

0.14.0 (2018-07-20)

Bug Fixes

  • repository: change parameter order in HasManyRepositoryFactory (534895d)
  • repository: default where object to an empty object (4b14a5c)

BREAKING CHANGES

  • repository: the generic SourceID for type HasManyRepositoryFactory has been renamed to ForeignKeyType and switched with Target generic. Also, the function createHasManyRepositoryFactory also renames the same generic and makes it the last declared generic. Lastly, the generic ForeignKeyType is added to DefaultCrudRepository#_createHasManyRepository FactoryFor function. Assuming there is an Order and Customer model defined, see the following examples for upgrade instructions:

For HasManyRepository type:

- public orders: HasManyRepository<typeof Customer.prototype.id, Order>
+ public orders: HasManyRepository<Order, typeof Customer.prototype.id>

For createHasManyRepositoryFactory function:

- const orderFactoryFn = createHasManyRepositoryFactory<typeof Customer.
prototype.id, Order, typeof Order.prototype.id>(...);
+ const orderFactoryFn = createHasManyRepositoryFactory<Order, typeof Order.
prototype.id, typeof Customer.prototype.id>(...);

0.13.3 (2018-07-13)

Bug Fixes

  • repository: change RelationType from numeric to string enums (62090fc)

0.13.2 (2018-07-11)

Note: Version bump only for package @loopback/repository

0.13.1 (2018-07-10)

Bug Fixes

  • repository: fix return type of DefaultCrudRepository#_createHasManyRepositoryFactoryFor (5c11b6c)

0.13.0 (2018-07-09)

Bug Fixes

  • repository: make models strict by default (08c2d89)

Features

  • cli: add config and yes options (5778a2a)
  • repository: introduce hasmany relation decorator inference (b267f3c)

0.12.1 (2018-06-28)

Note: Version bump only for package @loopback/repository

0.12.0 (2018-06-27)

Features

  • add crud relation methods (1fdae63)

0.11.4 (2018-06-20)

Bug Fixes

  • repository: accept class and instance for app.datasource (4b4270c)
  • repository: check null for findOne CRUD method (19f9d61)

0.11.3 (2018-06-11)

Note: Version bump only for package @loopback/repository

0.11.2 (2018-06-09)

Note: Version bump only for package @loopback/repository

0.11.1 (2018-06-09)

Note: Version bump only for package @loopback/repository

0.11.0 (2018-06-08)

Bug Fixes

  • make the code compatible with TypeScript 2.9.x (37aba50)

Features

  • repository: initial hasMany relation impl (63f20c4)

0.10.4 (2018-05-20)

Bug Fixes

  • move apidocs outside of the function (940674e)
  • remove mixin builder (d6942d7)

0.10.3 (2018-05-14)

Bug Fixes

  • change index.d.ts files to point to dist8 (42ca42d)

0.10.2 (2018-05-14)

Bug Fixes

  • multiple instances of the same repository class (c553f11)

0.10.1 (2018-05-08)

Note: Version bump only for package @loopback/repository

0.10.0 (2018-05-03)

Features

  • add helper package “dist-util” (532f153)

0.9.0 (2018-05-03)

Features

  • add helper package “dist-util” (532f153)

0.8.1 (2018-04-25)

Note: Version bump only for package @loopback/repository

0.8.0 (2018-04-16)

Note: Version bump only for package @loopback/repository

0.7.0 (2018-04-12)

Features

  • metadata: add strongly-typed metadata accessors (45f9f80)

0.6.1 (2018-04-11)

Note: Version bump only for package @loopback/repository

0.6.0 (2018-04-11)

Bug Fixes

  • change file names to fit advocated naming convention (0331df8)

Features

0.5.0 (2018-04-06)

Features

  • repository: add getRepository to mixin (6e1be1f)

0.4.2 (2018-04-04)

Note: Version bump only for package @loopback/repository

0.4.1 (2018-04-02)

Note: Version bump only for package @loopback/repository

0.4.0 (2018-03-29)

Bug Fixes

  • metadata: refine clone of decoration spec (544052e)
  • repository: make sure examples are compiled (b95f1dc)

BREAKING CHANGES

  • metadata: instances of user-defined classes are not cloned any more.

See https://github.com/strongloop/loopback-next/issues/1182. The root cause is that DataSource instances are cloned incorrectly.

0.3.1 (2018-03-23)

Bug Fixes

  • repository: fix broken code in readme (e3e97d9)

0.3.0 (2018-03-21)

Note: Version bump only for package @loopback/repository

0.2.4 (2018-03-14)

Note: Version bump only for package @loopback/repository

0.2.3 (2018-03-13)

Note: Version bump only for package @loopback/repository

0.2.2 (2018-03-08)

Note: Version bump only for package @loopback/repository

0.2.1 (2018-03-06)

Bug Fixes

  • fix package name for repository (e5f7aca)
  • fix typo of additional (2fd7610)

0.2.0 (2018-03-01)

Note: Version bump only for package @loopback/repository

0.1.2 (2018-03-01)

Features

  • add repository booter (#1030) (43ea7a8)
  • context: add type as a generic parameter to ctx.get() and friends (24b217d)
  • repository: add datasource method in repository mixin (85347fa)

BREAKING CHANGES

  • context: ctx.get() and ctx.getSync() require a type now. See the example below for upgrade instructions:
- const c: MyController = await ctx.get('MyController');
+ const c = await ctx.get<MyController>('MyController');

isPromise was renamed to isPromiseLike and acts as a type guard for PromiseLike, not Promise. When upgrading affected code, you need to determine whether the code was accepting any Promise implementation (i.e. PromiseLike) or only native Promises. In the former case, you should use isPromiseLike and potentially convert the userland Promise instance to a native Promise via Promise.resolve(promiseLike). In the latter case, you can replace isPromise(p) with p instanceof Promise.

0.1.1 (2018-02-23)

Note: Version bump only for package @loopback/repository

0.1.0 (2018-02-21)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.30 (2018-02-15)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.29 (2018-02-07)

build

BREAKING CHANGES

  • Support for Node.js version lower than 8.0 has been dropped. Please upgrade to the latest Node.js 8.x LTS version.

Co-Authored-by: Taranveer Virk taranveer@virk.cc

4.0.0-alpha.28 (2018-02-04)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.27 (2018-01-30)

Features

  • repository-json-schema: add in top-level metadata for json schema (#907) (fe59e6b)

4.0.0-alpha.26 (2018-01-29)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.25 (2018-01-26)

Bug Fixes

  • apply source-maps to test errors (76a7f56), closes #602
  • make mocha self-contained with the source map support (7c6d869)

4.0.0-alpha.24 (2018-01-19)

Features

  • add findOne function into legacy juggler bridge (ee0df08)

4.0.0-alpha.23 (2018-01-11)

Bug Fixes

  • fix imports to use files owning the definitions (a50405a)
  • tidy up the build scripts (6cc83b6)

4.0.0-alpha.22 (2018-01-03)

Bug Fixes

4.0.0-alpha.21 (2018-01-03)

Features

  • repository: helper function for getting Model metadata (b19635d)

4.0.0-alpha.20 (2017-12-21)

Features

  • repository: Add array decorator (3e7b419)
  • repository: Make property parameter optional (a701ce9)

4.0.0-alpha.19 (2017-12-15)

Features

  • repository: Add builders and execute() (89eaf5f)
  • Add metadata inspector (c683019)
  • Use decorator factories (88ebd21)

4.0.0-alpha.18 (2017-12-11)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.17 (2017-11-29)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.16 (2017-11-14)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.15 (2017-11-09)

Bug Fixes

  • Fix lint errors by newer version of prettier (d6c5404)

4.0.0-alpha.14 (2017-11-06)

Bug Fixes

  • repository: findById will reject on no result (04077dc)

4.0.0-alpha.13 (2017-10-31)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.12 (2017-10-31)

Note: Version bump only for package @loopback/repository

4.0.0-alpha.11 (2017-10-25)

Note: Version bump only for package @loopback/repository