Skip to content

Latest commit

 

History

History
137 lines (72 loc) · 5.1 KB

CHANGELOG.md

File metadata and controls

137 lines (72 loc) · 5.1 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.4.0 - 2022-06-13

Changed

  • --avoid-type-null is now deprecated, and acts as an alias for --use-nullable-for-merge-patch. This flag now generates complete OpenAPI 3.0-compatible MergePatch types using a clever hack based on nullable: true and oneOf:. It also now sets the file version number to openapi: 3.0.0 when used, because 3.1 does not support nullable: true.

0.3.0 - 2022-06-13

Added

  • Stable release. See CHANGELOG.md for details of fixes and features since 0.2.1.

Changed

  • See the "Changed" section in v0.2.2-beta.4. This should only affect people using discriminator and oneOf interfaces.

0.3.0-rc.3 - 2022-06-10

Fixed

  • Include the discriminator in Put types, as originally planned (#31).

0.3.0-rc.2 - 2022-06-09

Fixed

  • Fix bug where we generated spurious type: ~ entries for certain schema types using oneOf (#30).

0.3.0-rc.1 - 2022-06-08

Added

  • Binaries for Linux and Mac systems (#27).
  • Allow including definitions from external files using $includeFiles (#24). See examples/include_files/ for an example of how this works. Start from base.yml.

Changed

  • See the "Changed" section in v0.2.2-beta.4. This should only affect people using discriminator and oneOf interfaces.

Fixed

  • Improved error messages in many cases (#28).

0.2.2-beta.5 - 2022-06-03

Fixed

  • Published release is made from the public main branch.

0.2.2-beta.4 - 2022-06-03 [YANKED]

Fixed

  • Copy the description of an interface to all the variants we generate (#23). This will allow removing the allOf workaround that has been used with Readme.com.
  • Emit type: "object" for interfaces using oneOf (#13).

Changed

  • BREAKING: Completely overhaul how we handle oneOf interfaces and discriminators (#18). This work is ongoing and not yet fully documented, but you can find a working example in examples/oneof_example.yml. This will require changing existing YAML files to use the new, TypeScript-like style. However, this feature is still incomplete. For ongoing discussion, see (#26).

0.2.2-beta.3 - 2022-04-22

Added

  • Added support for title in interfaces.

Fixed

  • Pass through description in interfaces.
  • Do not output discriminator: null if no discriminator is present.

Fixed

  • Pass through

0.2.2-beta.2 - 2022-04-16

Added

  • Experimental: Add title and description to the oneOf schemas introduced for MergePatch types. The goal here is to make auto-generated documentation prettier.

0.2.2-beta.1 - 2022-04-15

Added

0.2.1 - 2022-04-12

Added

  • Allow a description field as an optional sibling to$interface and $ref. This will be included in the generated $ref field.

0.2.0 - 2021-10-02

Added

  • If --avoid-type-null is passed, generate MergePatch types that with the schema type: object. This allows basic compatibility with OpenAPI 3.0, but it skips all merge patch validation.
  • When run on OpenAPI 3.0 files, act as if --avoid-type-null were set.

Changed

  • BREAKING: Don't generate schemas that would only match the empty object. For example, if an object has no mutable fields, don't generate the MergePatch or Put variants.

0.1.3 - 2021-10-02

More fixes for 0.1.1. It looks like we need more regression tests for the corner cases.

Fixed

  • Fixed bug introduced in 0.1.1 that broke $ref and $interface in MergePatch types.

0.1.2 - 2021-10-02

Fixed

  • Fixed bug introduced in 0.1.1 that prevented using $ref and $interface in with array schemas.
  • Cleaned up some error messages.

0.1.1 - 2021-10-01

Added

  • Added support for components.responses.
  • Slightly improved error messages for interfaces and schemas.

0.1.0 - 2021-09-23

Added

  • Initial implementation of interface generation.