Page Contents

Change Log

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

3.5.4 (2020-09-17)

Note: Version bump only for package @loopback/example-todo-list

3.5.3 (2020-09-15)

Note: Version bump only for package @loopback/example-todo-list

3.5.2 (2020-08-27)

Note: Version bump only for package @loopback/example-todo-list

3.5.1 (2020-08-19)

Note: Version bump only for package @loopback/example-todo-list

3.5.0 (2020-08-05)

Features

  • switch to middleware based sequence for examples (b664a41)

3.4.2 (2020-07-20)

Bug Fixes

  • ensure delete only applies to optional properties (89cd43f)

3.4.1 (2020-06-30)

Note: Version bump only for package @loopback/example-todo-list

3.4.0 (2020-06-23)

Bug Fixes

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

Features

  • update sequence.ts to invoke middleware (e2ff6b2)

3.3.1 (2020-06-11)

Note: Version bump only for package @loopback/example-todo-list

3.3.0 (2020-05-28)

Features

  • add npm run openapi-spec to export the openapi spec (dca78e1)

3.2.1 (2020-05-20)

Note: Version bump only for package @loopback/example-todo-list

3.2.0 (2020-05-19)

Features

  • upgrade to TypeScript 3.9.x (3300e45)

3.1.1 (2020-05-07)

Note: Version bump only for package @loopback/example-todo-list

3.1.0 (2020-04-29)

Features

  • move datasource config from JSON to TS files (6105456)

3.0.6 (2020-04-23)

Note: Version bump only for package @loopback/example-todo-list

3.0.5 (2020-04-22)

Note: Version bump only for package @loopback/example-todo-list

3.0.4 (2020-04-11)

Note: Version bump only for package @loopback/example-todo-list

3.0.3 (2020-04-08)

Note: Version bump only for package @loopback/example-todo-list

3.0.2 (2020-03-24)

Bug Fixes

3.0.1 (2020-03-17)

Note: Version bump only for package @loopback/example-todo-list

3.0.0 (2020-03-05)

Bug Fixes

  • remove ref for v4.loopback.io (78f20c0)

chore

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

Features

BREAKING CHANGES

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

2.0.0 (2020-02-06)

Bug Fixes

  • suport complex objects for query params in api explorer (a4ef640)

BREAKING CHANGES

  • This fix has modified the api definitions described by the decorator ‘param.query.object’, to support Open-API’s url-encoded definition for json query parameters.

Previously, such parameters were described with exploded: true and style: deepObject, i.e exploded encoding, which turned out to be problematic as explained and discussed in, https://github.com/swagger-api/swagger-js/issues/1385 and https://github.com/OAI/OpenAPI-Specification/issues/1706

  {
    "in": "query",
    "style": "deepObject"
    "explode": "true",
    "schema": {}
  }

Exploded encoding worked for simple json objects as below but not for complex objects.

   http://localhost:3000/todos?filter[limit]=2

To address these issues with exploded queries, this fix switches definition of json query params from the exploded, deep-object style to the url-encoded style definition in Open-API spec.

LoopBack already supports receiving url-encoded payload for json query parameters.

For instance, to filter api results from the GET ‘/todo-list’ endpoint in the todo-list example with a specific relation, { “include”: [ { “relation”: “todo” } ] }, the following url-encoded query parameter can be used,

   http://localhost:3000/todos?filter=%7B%22include%22%3A%5B%7B%22relation%22%3A%22todoList%22%7D%5D%7D

The above was possible because the coercion behavior in LoopBack performed json parsing for deep object style json query params before this fix. This fix has modified that behavior by removing json parsing. Since the exploded deep-object definition has been removed from the param.query.object decorator, this new behaviour remains just an internal source code aspect as of now.

In effect, this fix only modifies the open api definitions generated from LoopBack APIs. The ‘style’ and ‘explode’ fields are removed and the ‘schema’ field is moved under ‘content[application/json]’. This is the definition that supports url-encoding as per Open-API spec.

  {
    "in": "query"
    "content": {
      "application/json": {
        "schema": {}
      }
    }
  }

Certain client libraries (like swagger-ui or LoopBack’s api explorer) necessiate using Open-API’s url-encoded style definition for json query params to support “sending” url-encoded payload.

All consumers of LoopBack APIs may need to regenerate api definitions, if their client libraries require them to do so for url-encoding.

Otherwise there wouldn’t be any significant impact on API consumers.

To preserve compatibility with existing REST API clients, this change is backward compatible. All exploded queries like ?filter[limit]=1 will continue to work for json query params, despite the fact that they are described differently in the OpenAPI spec.

Existing api clients will continue to work after an upgrade.

The signature of the ‘param.query.object’ decorator has not changed.

There is no code changes required in the LoopBack APIs after upgrading to this fix. No method signatures or data structures are impacted.

1.12.6 (2020-02-05)

Bug Fixes

  • update clean script for examples to be compatible with lb4 example (d9f5741)

1.12.5 (2020-01-27)

Bug Fixes

  • example-todo-list: use latest cli code (a02b814)

1.12.4 (2020-01-07)

Note: Version bump only for package @loopback/example-todo-list

1.12.3 (2020-01-07)

Note: Version bump only for package @loopback/example-todo-list

1.12.2 (2019-12-09)

Note: Version bump only for package @loopback/example-todo-list

1.12.1 (2019-11-25)

Note: Version bump only for package @loopback/example-todo-list

1.12.0 (2019-11-12)

Features

  • cli: generate datasource json with ‘.config.json` extension (51d8f7b)

1.11.3 (2019-10-24)

Note: Version bump only for package @loopback/example-todo-list

1.11.2 (2019-10-07)

Note: Version bump only for package @loopback/example-todo-list

1.11.1 (2019-09-28)

Note: Version bump only for package @loopback/example-todo-list

1.11.0 (2019-09-27)

Features

  • example-todo-list: use real relation resolvers (39468e0)

1.10.0 (2019-09-17)

Features

  • example-todo-list: leverage temporary resolvers (31dd7bf)
  • use descriptive title to describe schema of POST (create) request bodies (8f49a45)

1.9.6 (2019-09-06)

Note: Version bump only for package @loopback/example-todo-list

1.9.5 (2019-09-03)

Note: Version bump only for package @loopback/example-todo-list

1.9.4 (2019-08-19)

Note: Version bump only for package @loopback/example-todo-list

1.9.3 (2019-08-15)

Note: Version bump only for package @loopback/example-todo-list

1.9.2 (2019-08-15)

Note: Version bump only for package @loopback/example-todo-list

1.9.1 (2019-07-31)

Note: Version bump only for package @loopback/example-todo-list

1.9.0 (2019-07-26)

Features

  • update examples and docs to use getModelSchemaRef (99758b1)

1.8.2 (2019-07-17)

Bug Fixes

  • example-todo-list: exclude id from POST request body (79e0561)
  • example-todo-list: make foreign key optional in request body (363a4b5)
  • example-todo-list: make foreign key required and relation properties optional (b9808ea)

1.8.1 (2019-06-28)

Bug Fixes

  • example-todo-list: allow partial updates via PATCH (88df640)

1.8.0 (2019-06-21)

Bug Fixes

  • update sample todo and todo-lists (99d3aa0)

Features

  • add navigational properties to todo-list example (fedb6a7), closes #3195

1.7.3 (2019-06-20)

Note: Version bump only for package @loopback/example-todo-list

1.7.2 (2019-06-17)

Bug Fixes

  • remove forgotten references to tslint (faa0a92)

1.7.1 (2019-06-06)

Note: Version bump only for package @loopback/example-todo-list

1.7.0 (2019-06-03)

Features

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

1.6.3 (2019-05-31)

Note: Version bump only for package @loopback/example-todo-list

1.6.2 (2019-05-30)

Note: Version bump only for package @loopback/example-todo-list

1.6.1 (2019-05-23)

Note: Version bump only for package @loopback/example-todo-list

1.6.0 (2019-05-14)

Features

1.5.11 (2019-05-10)

Note: Version bump only for package @loopback/example-todo-list

1.5.10 (2019-05-09)

Note: Version bump only for package @loopback/example-todo-list

1.5.9 (2019-05-06)

Note: Version bump only for package @loopback/example-todo-list

1.5.8 (2019-04-26)

Note: Version bump only for package @loopback/example-todo-list

1.5.7 (2019-04-20)

Note: Version bump only for package @loopback/example-todo-list

1.5.6 (2019-04-11)

Note: Version bump only for package @loopback/example-todo-list

1.5.5 (2019-04-09)

Note: Version bump only for package @loopback/example-todo-list

1.5.4 (2019-04-05)

Note: Version bump only for package @loopback/example-todo-list

1.5.3 (2019-03-22)

Note: Version bump only for package @loopback/example-todo-list

1.5.2 (2019-03-22)

Note: Version bump only for package @loopback/example-todo-list

1.5.1 (2019-03-12)

Note: Version bump only for package @loopback/example-todo-list

1.5.0 (2019-03-01)

Bug Fixes

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

Features

1.4.4 (2019-02-25)

Bug Fixes

  • example-todo-list: change rootDir in compilerOptions (70ebbad)

1.4.3 (2019-02-08)

Bug Fixes

  • example-todo-list: “npm run migration” script path (bf26cc3)

1.4.2 (2019-01-28)

Note: Version bump only for package @loopback/example-todo-list

1.4.1 (2019-01-15)

Note: Version bump only for package @loopback/example-todo-list

1.4.0 (2019-01-14)

Features

  • always include tslint and typescript in project dev-dependencies (e0df285)

1.3.1 (2018-12-20)

Note: Version bump only for package @loopback/example-todo-list

1.3.0 (2018-12-13)

Bug Fixes

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

Features

  • scaffold DB migration script for new app projects (f783f07)
  • repository: add belongsToUniquely sugar syntax method (1b5b66a)

1.2.2 (2018-11-26)

Note: Version bump only for package @loopback/example-todo-list

1.2.1 (2018-11-17)

Note: Version bump only for package @loopback/example-todo-list

1.2.0 (2018-11-17)

Bug Fixes

  • todo-list example index.js (cfea04c)

Features

  • an extension adding a self-hosted REST API Explorer (4c165c7)

1.1.1 (2018-11-14)

Note: Version bump only for package @loopback/example-todo-list

1.1.0 (2018-11-08)

Bug Fixes

  • change unmatched html tags, remove redundant ‘px’ from 0 (46d08f6)
  • update usage of x-ts-type for schemas (57c694e)
  • repository: build relations based on their names (2046701)

Features

  • cli: use app.static for default home page (1dcf169)

1.0.1 (2018-10-17)

Note: Version bump only for package @loopback/example-todo-list

0.10.0 (2018-10-08)

Features

  • use resolveJsonModule to load datasource config (73e19ff)

0.9.1 (2018-10-06)

Note: Version bump only for package @loopback/example-todo-list

0.9.0 (2018-10-05)

Bug Fixes

  • mark HasManyRepository as a readonly property (39227eb)

Features

  • repository: implement belongsTo relation (df8c64c)

0.8.0 (2018-10-03)

Bug Fixes

  • clean up dataSource usage (69506a4)

Features

  • testlab: add StubbedInstanceWithSinonAccessor (1dc2304)

0.7.0 (2018-09-28)

Features

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

0.6.1 (2018-09-27)

Note: Version bump only for package @loopback/example-todo-list

0.6.0 (2018-09-25)

Features

  • add “filter” parameter to “find” endpoints (7e1acfc)

0.5.0 (2018-09-21)

Features

  • testlab: add createRestAppClient(), simplify usage in tests (d75be77)
  • testlab: set port to 0 in givenHttpServerConfig (90a0bfb)

0.4.0 (2018-09-19)

Bug Fixes

  • rest: return 404 when a model was not found (7a56bad)

Features

  • repository: rework *ById methods to throw if id not found (264f231)

0.3.9 (2018-09-14)

Note: Version bump only for package @loopback/example-todo-list

0.3.8 (2018-09-14)

Note: Version bump only for package @loopback/example-todo-list

0.3.7 (2018-09-14)

Bug Fixes

  • example-todo-list: add responses to controllers (bf32971)

0.3.6 (2018-09-12)

Note: Version bump only for package @loopback/example-todo-list

0.3.5 (2018-09-10)

Note: Version bump only for package @loopback/example-todo-list

0.3.4 (2018-09-08)

Bug Fixes

  • remove extra imports for mixin dependencies (35b916b)

0.3.3 (2018-08-25)

Note: Version bump only for package @loopback/example-todo-list

0.3.2 (2018-08-24)

Note: Version bump only for package @loopback/example-todo-list

0.3.1 (2018-08-15)

Note: Version bump only for package @loopback/example-todo-list

0.3.0 (2018-08-08)

Bug Fixes

  • cli: install dependencies for clones examples (5774f1f)
  • cli: remove deleteAll endpoint from REST Controller template (34eba34)

Features

  • cli: use app.restServer.url for console logs (f31160c)

0.2.2 (2018-07-21)

Note: Version bump only for package @loopback/example-todo-list

0.2.1 (2018-07-20)

Note: Version bump only for package @loopback/example-todo-list

0.2.0 (2018-07-20)

Features

  • example-todo-list: add TodoList package/tutorial (306d437)