Skip to content

Latest commit

 

History

History
509 lines (270 loc) · 29.1 KB

CHANGELOG.md

File metadata and controls

509 lines (270 loc) · 29.1 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

5.0.0-beta.6 (2022-04-11)

Bug Fixes

  • correct isRequired guard + use named parameters (25df534)
  • handle property x-nullable (8873d16)
  • use en locale for sorting compare fn (6f3962c)

5.0.0-beta.5 (2021-02-02)

5.0.0-beta.4 (2020-12-30)

5.0.0-beta.3 (2020-12-29)

5.0.0-beta.2 (2020-12-29)

5.0.0-beta.1 (2020-12-29)

Features

  • api-client: parameters of operation prioritized over path default params (26b6b4a)

5.0.0-beta.0 (2020-12-22)

⚠ BREAKING CHANGES

  • api-client: generator now ignores bodies for requests that should not send any body, only PUT, PATCH and POST should contain body and it is handled as optional
  • generator: if you import DefaultHttpOptions, HttpOptions or APIClientModuleConfig you need to adjust your imports to file ./types at the top of your "output" path

Features

  • api-client: body request based on the request type and the parameter (d0309b0)
  • api-client: method params property docs comments (7a1eddf)
  • api-client: methods params extracted to separate property in api client interface (53f3015), closes #91
  • api-client: observe support for HttpResponse and HttpEvent (cdf2c6d)
  • generator: descriptions generated as single/multi line docs comments (96a512d), closes #88
  • generator: https protocol preferred if mentioned in schemes (c7f7d6f)
  • generator: method parameters args object optional if all of the params are optional (9b77d74), closes #69
  • generator: operation summary in descriptions (b573759), closes #112
  • generator: option to skip guards (f4cc59f), closes #105
  • generator: type interfaces for API client moved to one separate file (f08ffb6)
  • generator: united file header (86fd135), closes #108
  • guard: check for null at enum guards (14320d5)
  • guard: typeof object check for dictionaries of any (4bf917a)
  • models: basic object properties as dictionary with key string and value of any (7233c2d)
  • models: description comments as docs comments before each property (8c81f6c)
  • models: interface properties holding dictionaries and array combinations (e3a33b6)
  • models: property name non unicode chars escaped (4dd4089)

Bug Fixes

  • api-client: form data not set if undefined (cd541a0)
  • generator: default response used if no success code specified (bc316f6)
  • generator: service interface imported directly from interface file instead of export index (d768fed)
  • guard: dictionaries as interface properties (58b9126)
  • guards: any type results in empty guard (83917a9), closes #98
  • guards: any used as type of array/object iteration items (ef7be58)

4.7.1 (2020-10-19)

Bug Fixes

  • cli: rethrow errors in catch to see full trace stack in console (943f7d2)
  • enums: x-enumNames specified integers and description with new lines (6a98b82)

4.7.0 (2020-07-03)

Features

  • angular 10 module with providers compatibility (7f69cc8)

4.6.4 (2020-07-03)

Bug Fixes

  • parser: reference model name contains build-in type (4593fae)

4.6.3 (2020-06-24)

Bug Fixes

  • parser: filtering already existing parent definitions to overcome recursion (e292567)

4.6.2 (2020-01-24)

Bug Fixes

  • generator: object instad of { [key: string]: any } (0c29141)
  • guards: array nested in additionalProperties (4f23f92)
  • guards: method response basic type guards used instead of custom function for primitive types (96ce207)
  • models: object instead of any in case of nested properties (e8b7667)
  • service: object instead of any in case of nested properties in method parameter (4443ac3)
  • service: object instead of any in case of nested properties in response (277ee3f)

4.6.1 (2020-01-23)

Bug Fixes

  • generator: toCamelCase method removes duplicate words (abe073d)
  • guards: array item typed as unknown for the guard iteration (da654f7)
  • guards: circular dependency (ecd1080)
  • guards: escaped property names accessed via brackets (1dbfe3a)
  • guards: guarded service response type as explicit any (785f022)
  • guards: nested array types (89da76c)
  • guards: object array types (30113fe)
  • guards: objects with index signature as additional properties (a6ef06c)
  • guards: union type string or enum with one value only (ec040c4)

4.6.0 (2020-01-16)

Bug Fixes

  • guard: circular dependencies (eae41be)
  • guards: object guard comparing typeof 'object' (ffc8560)

Features

  • method-params: union types determined for enum like union strings and numbers (324a95a)
  • models: union types for properties of enum like union strings and numbers (0023555)

4.5.1 (2019-11-14)

Bug Fixes

  • type-guards: guards name definition and usage inconsistency (5e00535)

4.5.0 (2019-11-04)

Features

  • generator: type guards for each data model (8cbdbbe)

4.4.0 (2019-08-28)

Bug Fixes

  • cli: option for tags now automatically uses "all" if tags are generated and no tag is provided (e2cef2f)

Features

  • models: additional properties supported (535386c), closes #81
  • models: embedded allOf properties supported (a42aa4f), closes #80

4.3.0 (2019-06-28)

Bug Fixes

  • api-client: support for blob response type (d14ef9d), closes #77
  • methods: recognizing return type if TS primitive or complex type (8ee08e2)

Build System

Features

  • api-client: generating response for "lowest" of HTML success codes (72a7b14)
  • api-client: void return type for methods with empty schema (f1977eb)
  • enums: custom enum key names via custom x-enumNames property (9cf1c8f)
  • form-data: send form parameters as multi part form data (c18c296), closes #78

Tests

  • jest instead of jasmine (0836c0b)
  • angular-project: jest instead of jasmine and karma (2de02e7)
  • angular-project: removed jasmine and karma deps (784b181)
  • angular-project: updated deps (c4e8b97)

4.2.0 (2019-01-11)

Features

  • models: properties are optional as default, required stated explicitly (04111d9)

4.1.1 (2019-01-11)

4.1.0 (2019-01-11)

Bug Fixes

  • api-client: method parameters description and required flag (8e02cc1)
  • enum: substitution of disallowed characters in key string (7214f2b), closes #74
  • generator: Expose error from spec validation (ebb74c7)
  • license: redundant lt/gt characters removed (3b5f8d9)

Features

  • model: objects generated as key value maps (b775b44)

4.0.1 (2018-09-01)

Bug Fixes

  • models: recursive model definitions filter (c80631f)

4.0.0 (2018-08-31)

Features

  • models: model export index sorted and filtered for duplicates (ca325d3)
  • tags: clients generated to folder services when tag option used (e7d3a08)

BREAKING CHANGES

  • tags: models import path had changed as services now share the models folder

3.6.2 (2018-08-22)

Bug Fixes

  • tags: definition type name filter (48b4fff)

3.6.1 (2018-08-22)

Bug Fixes

  • post install dependencies (b511914)

3.6.0 (2018-08-22)

Bug Fixes

  • api-client: empty string as valid domain URL (c99265e)
  • api-client: tag services names and module injection tokens (6624de2)
  • parser: type prefixing fixed for nullables (7aee02b)

Features

  • git: generated files added separately instead of whole path (1a00bbd)
  • main: warning logged on legacy model discovery (ad66cf7)
  • parser: x-nullable response flag supported (d73924c)

3.5.0 (2018-07-12)

Bug Fixes

  • generator: validate swagger file before parse (cafa99f), closes #58

Features

  • api-client: interface generated for service mocking purposes (f10c9b3)
  • autocommit: implemented (a9d5fd0)
  • api-client: option to generate separate clients based on the path tags (20addd1)

3.4.1 (2018-06-22)

Bug Fixes

  • generator: swagger file validate against spec and schema (59c3c1b), closes #58

3.4.0 (2018-06-20)

Features

  • api-client: global parameters for paths (3cf7219)

3.3.0 (2018-06-11)

Bug Fixes

  • enums: numeric enums values (ce511c8)

Features

  • api-client: API method descriptions (e7e767f), closes #29
  • api-client: API method parameter descriptions (320fabc), closes #29
  • models, enums: description for models and enums (ae7262d), closes #29

3.2.2 (2018-06-08)

Bug Fixes

  • models: extended interface name CamelCase instead of camelCase (f6e39ad)

3.2.1 (2018-06-08)

Bug Fixes

  • models: extending interface name corrected to camelCase (b02dc2f)

3.2.0 (2018-06-07)

Bug Fixes

  • models: escape keys with non-word characters and ones starting with a number (1757135), closes #54

Features

  • models: extend interface with model in allOf property definition (0d7b83c), closes #53

3.2.0 (2018-06-01)

Bug Fixes

  • api-client: http options without headers and params constructing (AOT compatible) (eca03c3), closes #47
  • api-client: possibly undefined http options params and headers (539ba46)
  • models: model no longer stripped from the name of file if explicitly named that way (dfdf90d), closes #49

3.1.0 (2018-05-07)

Features

  • api-client: rxjs 6 compatible import for Observable (431d61f)

3.0.3 (2018-04-06)

Bug Fixes

  • api-client: array method parameters and headers appended (34ded75), closes #36
  • api-client: basic types regex checks word boundaries (f588fed), closes #44
  • api-client: File, Blob, Date and Object types are not imported from models (37e358b), closes #27
  • api-client: form parameter used as body in request (ce9f124), closes #40
  • api-client: models are not imported if there are none (42cf4c0), closes #31
  • parser: empty or native types parameters won't be generated into models (ff55939)
  • parser: interface properties were skipped during generation (3e694ad)

Features

  • api-client: create output dir even if path does not exists (8ff9be8), closes #34
  • api-client: method names with underscore converted to camelCase (b09a679), closes #37
  • api-client: method parameters nested to args object (efaca5b), closes #8
  • api-client: optional param skipped if not in args (135db91)
  • api-client: reference parameters are dereferenced (0a0de44)
  • api-client: referenced method parameters generated and used (0e26c53)
  • api-client: support for head, options and patch http methods (bd240f5)
  • api-client: support for optional method parameters (9d0cedc), closes #8
  • api-client: when no operation id, method names generated from path and method type (4afcdbc)
  • enums: numeric enums, using keys from description (45bb096), closes #28
  • parser: interface property type improvements, including nested array types (c70d2a3), closes #35

3.0.0 (2018-03-15)

Bug Fixes

  • api-client: array method parameters and headers appended (34ded75), closes #36
  • api-client: File, Blob, Date and Object types are not imported from models (37e358b), closes #27
  • api-client: form parameter used as body in request (ce9f124), closes #40
  • api-client: models are not imported if there are none (42cf4c0), closes #31
  • parser: empty or native types parameters won't be generated into models (ff55939)
  • parser: interface properties were skipped during generation (3e694ad)

Features

  • api-client: create output dir even if path does not exists (8ff9be8), closes #34
  • api-client: method names with underscore converted to camelCase (b09a679), closes #37
  • api-client: method parameters nested to args object (efaca5b), closes #8
  • api-client: optional param skipped if not in args (135db91)
  • api-client: reference parameters are dereferenced (0a0de44)
  • api-client: referenced method parameters generated and used (0e26c53)
  • api-client: support for head, options and patch http methods (bd240f5)
  • api-client: support for optional method parameters (9d0cedc), closes #8
  • api-client: when no operation id, method names generated from path and method type (4afcdbc)
  • enums: numeric enums, using keys from description (45bb096), closes #28
  • parser: interface property type improvements, including nested array types (c70d2a3), closes #35

3.0.0-alpha.1 (2018-02-26)

Bug Fixes

3.0.0-alpha.0 (2018-02-26)

Features

  • module: API client exported as module (7eaf673), closes #23

BREAKING CHANGES

  • module:
    • renamed to APIClient
    • domain and configuration are now provided using .forRoot method
    APIClientModule.forRoot({
      domain: 'https://api.url',
    }),
    
    • cli command renamed to api-client-generator

2.1.0 (2018-02-25)

Bug Fixes

  • models: enum property names same as values (7a0b171), closes #18

Features

  • api-client: models imported as module (3492d8f), closes #22
  • domain: relative path instead of localhost (e19fffe)