Page Contents

Change Log

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

10.0.7 (2024-10-15)

Note: Version bump only for package @loopback/openapi-v3

10.0.6 (2024-09-12)

Note: Version bump only for package @loopback/openapi-v3

10.0.5 (2024-08-14)

Note: Version bump only for package @loopback/openapi-v3

10.0.4 (2024-07-09)

Note: Version bump only for package @loopback/openapi-v3

10.0.3 (2024-06-10)

Note: Version bump only for package @loopback/openapi-v3

10.0.2 (2024-05-17)

Note: Version bump only for package @loopback/openapi-v3

10.0.1 (2024-04-09)

Note: Version bump only for package @loopback/openapi-v3

10.0.0 (2024-03-04)

chore

  • drop Node.js 16 support (b9efcb4)

BREAKING CHANGES

  • Drop Node.js 16 support in all LB4 modules and extensions

Signed-off-by: dhmlau dhmlau@ca.ibm.com

9.1.5 (2024-01-11)

Note: Version bump only for package @loopback/openapi-v3

9.1.4 (2023-12-12)

Note: Version bump only for package @loopback/openapi-v3

9.1.3 (2023-09-12)

Note: Version bump only for package @loopback/openapi-v3

9.1.2 (2023-08-15)

Note: Version bump only for package @loopback/openapi-v3

9.1.1 (2023-07-17)

Note: Version bump only for package @loopback/openapi-v3

9.1.0 (2023-06-28)

Features

  • update dependency @types/node to ^16 (2af42b7)

9.0.0 (2023-05-15)

Features

  • add support for node v20 (e23cefa)
  • remove support for node v14 (5425762)
  • remove support for node v19 (e26a2ac)

BREAKING CHANGES

  • End of life of Node v14

Signed-off-by: Francisco Buceta frbuceta@gmail.com

8.0.10 (2023-04-13)

Bug Fixes

8.0.9 (2023-03-09)

Note: Version bump only for package @loopback/openapi-v3

8.0.8 (2023-02-07)

Reverts

  • “chore: update dependency rimraf to v4” (c516d5e)

8.0.7 (2023-01-09)

Note: Version bump only for package @loopback/openapi-v3

Change Log

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

8.0.6 (2022-12-14)

Note: Version bump only for package @loopback/openapi-v3

Change Log

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

8.0.5 (2022-11-24)

Note: Version bump only for package @loopback/openapi-v3

Change Log

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

8.0.4 (2022-10-13)

Note: Version bump only for package @loopback/openapi-v3

8.0.3 (2022-08-25)

Note: Version bump only for package @loopback/openapi-v3

8.0.2 (2022-07-14)

Note: Version bump only for package @loopback/openapi-v3

8.0.1 (2022-06-13)

Note: Version bump only for package @loopback/openapi-v3

8.0.0 (2022-05-05)

⚠ BREAKING CHANGES

  • remove node v12 support

Features

  • add support for node v18 (ccb4c61)
  • remove node v12 support (5f66e5b)

Bug Fixes

  • controller spec response building from metadata (e5c295c)
  • security spec is removed when using @response decorator (8ebe584)

7.1.2 (2022-03-29)

Note: Version bump only for package @loopback/openapi-v3

7.1.1 (2022-02-28)

Note: Version bump only for package @loopback/openapi-v3

7.1.0 (2022-02-14)

Features

  • update @types/node to v12 (65a09a4)

7.0.1 (2022-01-11)

Note: Version bump only for package @loopback/openapi-v3

7.0.0 (2021-11-18)

Features

  • drop support for Node.js v10 (9bcbbb3)
  • support Node.js v17 (8d86c03)
  • upgrade to TypeScript 4.5.2 (72ece91)

BREAKING CHANGES

  • drop support for Node.js v10

Co-authored-by: Francisco Buceta frbuceta@gmail.com Signed-off-by: Rifa Achrinza <25147899+achrinza@users.noreply.github.com>

6.0.2 (2021-10-18)

Bug Fixes

  • openapi-v3: allow classes decorated with [@model](https://github.com/model) as response model (2de6528)

6.0.1 (2021-09-16)

Note: Version bump only for package @loopback/openapi-v3

6.0.0 (2021-07-15)

Features

  • rest: upgrade to ajv@8.x (d3b20ed)

BREAKING CHANGES

  • rest: We upgrade to ajv@8.x, which contains breaking changes for validations. See https://github.com/ajv-validator/ajv/blob/master/docs/v6-to-v8-migration.md.

Signed-off-by: Raymond Feng enjoyjava@gmail.com

5.3.1 (2021-06-10)

Note: Version bump only for package @loopback/openapi-v3

5.3.0 (2021-05-03)

Features

5.2.1 (2021-04-06)

Note: Version bump only for package @loopback/openapi-v3

5.2.0 (2021-03-18)

Bug Fixes

  • rest: fix the request body index handling (b186820)

Features

  • update package-lock.json to v2 consistently (dfc3fbd)

5.1.4 (2021-02-09)

Note: Version bump only for package @loopback/openapi-v3

5.1.3 (2021-01-21)

Note: Version bump only for package @loopback/openapi-v3

5.1.2 (2020-12-07)

Note: Version bump only for package @loopback/openapi-v3

5.1.1 (2020-11-18)

Note: Version bump only for package @loopback/openapi-v3

5.1.0 (2020-11-05)

Bug Fixes

  • openapi-v3: add apidocs for oas.response and oas.tags (a7151d8)

Features

  • turn modifySpec into async (fcd0bcb)
  • filter: allow use an array in filter.fields (ec386c1)
  • openapi-v3: make mergeOpenAPISpec retval strongly typed (91b433a)

5.0.0 (2020-10-07)

Features

  • openapi-v3: add OAS3 visibility decorator (c388cbf), closes #6392
  • update dependency openapi3-ts to v2 (aabd6e6)

BREAKING CHANGES

  • openapi3-ts@2.x has a stricter typing for type and format properties as union types with a known list of values.

We now either have to explicitly type the schema as SchemaObject or cast the type to `SchemaObject[‘type’], for example:

import {SchemaObject} from '@loopback/openapi-v3';

const schemaDef1 = {
  type: 'number' as const; // cast the type to be 'number' from 'string'
};

// Use the explicit `SchemaObject` to enforce inference
const schemaDef2: SchemaObject = {
  type: 'number' as const;
};

It also applies to OpenAPI parameter objects:

import {ParameterObject} from '@loopback/openapi-v3';

const paramDef1 = {
  type: 'number' as const, // cast the type to be 'number' from 'string'
  name: 'limit',
  in: 'query',
};

// Use the explicit `ParameterObject` to enforce inference
const paramDef2: ParameterObject = {
  type: 'number',
  name: 'limit',
  in: 'query',
};

Signed-off-by: Renovate Bot bot@renovateapp.com

4.0.1 (2020-09-17)

Note: Version bump only for package @loopback/openapi-v3

4.0.0 (2020-09-15)

Bug Fixes

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

Features

  • openapi-v3: export a constant for the default openapi spec info (fce91a2)
  • move framework packages to devDependencies (e2c61ce)

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

3.4.9 (2020-08-27)

Bug Fixes

  • repository-json-schema: allows string-based order filter (c10dca9), closes #6140

3.4.8 (2020-08-19)

Note: Version bump only for package @loopback/openapi-v3

3.4.7 (2020-08-05)

Note: Version bump only for package @loopback/openapi-v3

3.4.6 (2020-07-20)

Bug Fixes

  • repository-json-schema: added type ‘object’ to model json schema (5c5f9ef), closes #3804

3.4.5 (2020-06-30)

Note: Version bump only for package @loopback/openapi-v3

3.4.4 (2020-06-23)

Bug Fixes

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

3.4.3 (2020-06-11)

Note: Version bump only for package @loopback/openapi-v3

3.4.2 (2020-05-28)

Note: Version bump only for package @loopback/openapi-v3

3.4.1 (2020-05-20)

Note: Version bump only for package @loopback/openapi-v3

3.4.0 (2020-05-19)

Features

  • openapi-v3: relax [@api](https://github.com/api) to make paths optional with {} as the default (ef3c415)

3.3.1 (2020-05-07)

Note: Version bump only for package @loopback/openapi-v3

3.3.0 (2020-04-29)

Features

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

3.2.1 (2020-04-23)

Note: Version bump only for package @loopback/openapi-v3

3.2.0 (2020-04-22)

Features

  • rest: ensure OpenAPI spec components are merged (2efa27b)
  • update package.json and .travis.yml for builds (cb2b8e6)
  • rest: add openapi schema consolidation (6a039ed)

3.1.3 (2020-04-11)

Note: Version bump only for package @loopback/openapi-v3

3.1.2 (2020-04-08)

Note: Version bump only for package @loopback/openapi-v3

3.1.1 (2020-03-24)

Note: Version bump only for package @loopback/openapi-v3

3.1.0 (2020-03-17)

Features

  • openapi-v3: add sugar decorators for file requestBody/response (e8c8f38)
  • enable authStrategy to provide OASEnhancer (df7dd2b)

3.0.0 (2020-03-05)

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.13.0 (2020-02-05)

Features

1.12.0 (2020-01-27)

Features

  • support x-ts-type in anyOf/allOf/oneOf/not (28fcc54)
  • openapi-v3: add support for anyOf and oneOf on the jsonToSchemaObject utility (72ba132), closes #3524
  • repository-json-schema: add title to filter schemas (6105883)

1.11.0 (2020-01-07)

Features

  • openapi spec contributor extension point (9fee3f3)

1.10.3 (2019-12-09)

Note: Version bump only for package @loopback/openapi-v3

1.10.2 (2019-11-25)

Note: Version bump only for package @loopback/openapi-v3

1.10.1 (2019-11-12)

Bug Fixes

  • openapi-v3: remove examples from schema (c819f92)

1.10.0 (2019-10-24)

Bug Fixes

  • allow json schema with circular refs to be converted to OpenAPI schema (cd5ca92)
  • openapi-v3: preserve additionalProperties: false (bc7691b)

Features

  • openapi-v3: copy first example from examples to schema (0c7843a)

1.9.10 (2019-10-07)

Note: Version bump only for package @loopback/openapi-v3

1.9.9 (2019-09-28)

Note: Version bump only for package @loopback/openapi-v3

1.9.8 (2019-09-27)

Note: Version bump only for package @loopback/openapi-v3

1.9.7 (2019-09-17)

Note: Version bump only for package @loopback/openapi-v3

1.9.6 (2019-09-06)

Note: Version bump only for package @loopback/openapi-v3

1.9.5 (2019-09-03)

Note: Version bump only for package @loopback/openapi-v3

1.9.4 (2019-08-19)

Note: Version bump only for package @loopback/openapi-v3

1.9.3 (2019-08-15)

Note: Version bump only for package @loopback/openapi-v3

1.9.2 (2019-08-15)

Note: Version bump only for package @loopback/openapi-v3

1.9.1 (2019-07-31)

Bug Fixes

  • enforce JsonSchemaOptions type when building model schema (9bbc932)

1.9.0 (2019-07-26)

Features

  • openapi-v3: allow optional spec for [@param](https://github.com/param).* shortcut decorators (4f155a4)

1.8.0 (2019-07-17)

Features

  • repository-json-schema: add an option to exclude properties from schema (53ac940)

1.7.0 (2019-06-28)

Features

  • openapi-v3: remove dependency on openapi-v3-types (4c2096c)

1.6.4 (2019-06-21)

Note: Version bump only for package @loopback/openapi-v3

1.6.3 (2019-06-20)

Note: Version bump only for package @loopback/openapi-v3

1.6.2 (2019-06-17)

Note: Version bump only for package @loopback/openapi-v3

1.6.1 (2019-06-06)

Note: Version bump only for package @loopback/openapi-v3

1.6.0 (2019-06-03)

Features

  • replace tslint with eslint (44185a7)

1.5.1 (2019-05-31)

Note: Version bump only for package @loopback/openapi-v3

1.5.0 (2019-05-30)

Features

  • helpers for building JSON/OpenAPI schema referencing shared definitions (bf07ff9)

1.4.0 (2019-05-23)

Features

  • openapi-v3: allow controller to reference models via openapispec (d57f272)

1.3.11 (2019-05-14)

Note: Version bump only for package @loopback/openapi-v3

1.3.10 (2019-05-10)

Note: Version bump only for package @loopback/openapi-v3

1.3.9 (2019-05-09)

Note: Version bump only for package @loopback/openapi-v3

1.3.8 (2019-05-06)

Note: Version bump only for package @loopback/openapi-v3

1.3.7 (2019-04-26)

Note: Version bump only for package @loopback/openapi-v3

1.3.6 (2019-04-20)

Note: Version bump only for package @loopback/openapi-v3

1.3.5 (2019-04-11)

Note: Version bump only for package @loopback/openapi-v3

1.3.4 (2019-04-09)

Note: Version bump only for package @loopback/openapi-v3

1.3.3 (2019-04-05)

Note: Version bump only for package @loopback/openapi-v3

1.3.2 (2019-03-22)

Note: Version bump only for package @loopback/openapi-v3

1.3.1 (2019-03-22)

Note: Version bump only for package @loopback/openapi-v3

1.3.0 (2019-03-12)

Features

  • openapi-v3: add operationId based on controller/method names (89f905b)

1.2.3 (2019-03-01)

Note: Version bump only for package @loopback/openapi-v3

1.2.2 (2019-02-25)

Note: Version bump only for package @loopback/openapi-v3

1.2.1 (2019-02-08)

Bug Fixes

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

1.2.0 (2019-01-28)

Features

  • repository-json-schema: enumerate fields (15ca819)

1.1.7 (2019-01-15)

Note: Version bump only for package @loopback/openapi-v3

1.1.6 (2019-01-14)

Bug Fixes

  • rework tslint comments disabling “no-unused-variable” rule (a18a3d7)

1.1.5 (2018-12-20)

Note: Version bump only for package @loopback/openapi-v3

1.1.4 (2018-12-13)

Note: Version bump only for package @loopback/openapi-v3

1.1.3 (2018-11-26)

Note: Version bump only for package @loopback/openapi-v3

1.1.2 (2018-11-17)

Bug Fixes

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

1.1.1 (2018-11-14)

Note: Version bump only for package @loopback/openapi-v3

1.1.0 (2018-11-08)

Bug Fixes

  • openapi-v3: generate schemas for x-ts-type (07f0d6c)

Features

  • rest: add support for form request body (2d9e0a8)

1.0.1 (2018-10-17)

Note: Version bump only for package @loopback/openapi-v3

0.15.6 (2018-10-08)

Note: Version bump only for package @loopback/openapi-v3

0.15.5 (2018-10-06)

Note: Version bump only for package @loopback/openapi-v3

0.15.4 (2018-10-05)

Note: Version bump only for package @loopback/openapi-v3

0.15.3 (2018-10-03)

Note: Version bump only for package @loopback/openapi-v3

0.15.2 (2018-09-28)

Note: Version bump only for package @loopback/openapi-v3

0.15.1 (2018-09-27)

Note: Version bump only for package @loopback/openapi-v3

0.15.0 (2018-09-25)

Features

  • builders for Filter and Where schemas (ca8d96e)
  • support built-in JavaScript/Node schema types (d65a17f)

0.14.4 (2018-09-21)

Note: Version bump only for package @loopback/openapi-v3

0.14.3 (2018-09-19)

Note: Version bump only for package @loopback/openapi-v3

0.14.2 (2018-09-14)

Note: Version bump only for package @loopback/openapi-v3

0.14.1 (2018-09-14)

Note: Version bump only for package @loopback/openapi-v3

0.14.0 (2018-09-14)

Features

  • openapi-v3: add support for openapi responses (0ecaecd)

0.13.2 (2018-09-12)

Note: Version bump only for package @loopback/openapi-v3

0.13.1 (2018-09-10)

Note: Version bump only for package @loopback/openapi-v3

0.13.0 (2018-09-08)

Features

  • coerce object arguments from query strings (d095693)

0.12.6 (2018-08-25)

Note: Version bump only for package @loopback/openapi-v3

0.12.5 (2018-08-24)

Bug Fixes

  • openapi-v3: set required to true for path parameters (2b13247)

0.12.4 (2018-08-15)

Note: Version bump only for package @loopback/openapi-v3

0.12.3 (2018-08-08)

Note: Version bump only for package @loopback/openapi-v3

0.12.2 (2018-07-21)

Note: Version bump only for package @loopback/openapi-v3

0.12.1 (2018-07-20)

Note: Version bump only for package @loopback/openapi-v3

0.12.0 (2018-07-20)

Note: Version bump only for package @loopback/openapi-v3

0.11.3 (2018-07-13)

Note: Version bump only for package @loopback/openapi-v3

0.11.2 (2018-07-11)

Note: Version bump only for package @loopback/openapi-v3

0.11.1 (2018-07-10)

Note: Version bump only for package @loopback/openapi-v3

0.11.0 (2018-07-09)

Bug Fixes

  • generate schema for requestBody only if not present (caf66c2)

Features

0.10.12 (2018-06-28)

Note: Version bump only for package @loopback/openapi-v3

0.10.11 (2018-06-27)

Note: Version bump only for package @loopback/openapi-v3

0.10.10 (2018-06-20)

Note: Version bump only for package @loopback/openapi-v3

0.10.9 (2018-06-11)

Note: Version bump only for package @loopback/openapi-v3

0.10.8 (2018-06-09)

Note: Version bump only for package @loopback/openapi-v3

0.10.7 (2018-06-09)

Note: Version bump only for package @loopback/openapi-v3

0.10.6 (2018-06-08)

Bug Fixes

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

0.10.5 (2018-05-28)

Note: Version bump only for package @loopback/openapi-v3

0.10.4 (2018-05-20)

Note: Version bump only for package @loopback/openapi-v3

0.10.3 (2018-05-14)

Bug Fixes

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

0.10.2 (2018-05-14)

Note: Version bump only for package @loopback/openapi-v3

0.10.1 (2018-05-08)

Note: Version bump only for package @loopback/openapi-v3

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-26)

Note: Version bump only for package @loopback/openapi-v3

0.8.0 (2018-04-25)

Features

  • upgrade to openapi3-ts@0.11.0 (1ed79c9)

0.7.0 (2018-04-16)

Note: Version bump only for package @loopback/openapi-v3

0.6.0 (2018-04-12)

Features

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

0.5.5 (2018-04-11)

Note: Version bump only for package @loopback/openapi-v3

0.5.4 (2018-04-11)

Bug Fixes

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

0.5.3 (2018-04-06)

Note: Version bump only for package @loopback/openapi-v3

0.5.2 (2018-04-04)

Note: Version bump only for package @loopback/openapi-v3

0.5.1 (2018-04-02)

Note: Version bump only for package @loopback/openapi-v3

0.5.0 (2018-03-29)

Bug Fixes

  • metadata: refine clone of decoration spec (544052e)

BREAKING CHANGES

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

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

0.4.1 (2018-03-23)

Note: Version bump only for package @loopback/openapi-v3

0.4.0 (2018-03-21)

Note: Version bump only for package @loopback/openapi-v3

0.3.3 (2018-03-14)

Note: Version bump only for package @loopback/openapi-v3

0.3.2 (2018-03-13)

Note: Version bump only for package @loopback/openapi-v3

0.3.1 (2018-03-08)

Note: Version bump only for package @loopback/openapi-v3

0.3.0 (2018-03-06)

Bug Fixes

Features

  • upgrade from swagger 2 to openapi 3 (71e5af1)

0.2.0 (2018-03-01)

Note: Version bump only for package @loopback/openapi-v3

0.1.1 (2018-03-01)

Features