Skip to content

Latest commit

 

History

History
655 lines (425 loc) · 54.7 KB

File metadata and controls

655 lines (425 loc) · 54.7 KB

Changelog

3.1.0 (2025-12-17)

Features

  • Add type: "null" downcasting when in oneOf and anyOf for OpenAPI v3 (782cf8d)

3.0.3 (2025-12-16)

Bug Fixes

  • load JSON documents that are preceded by multiple whitespace (6461bac)
  • non-seekable json streams would fail to load as a document (2436d73)
  • reading streams in an asp.net context would cause async exceptions (f9e5248)

3.0.2 (2025-12-08)

Bug Fixes

  • additional properties serialization should not emit a schema in v2 (946cba9)
  • additional properties serialization should not emit booleans in v3.1+ (946cba9)

3.0.1 (2025-11-17)

Bug Fixes

  • empty strings should be quoted in yaml (8d215f9)
  • empty strings should be quoted in yaml (0ca10db)

3.0.0 (2025-11-11)

⚠ BREAKING CHANGES

  • adds support for OpenAPI 3.2.0

Note: Please refer to the upgrade guide for a detailed description of the breaking changes.

Note: ASP.net users should remain on version 1.X for ASP.net < 10, and version 2.X for ASP.net 10, this new major version will be implemented in a future version of ASP.net, more information

Features

  • adds support for OpenAPI 3.2.0 (765a8dd)

2.3.12 (2025-12-15)

Bug Fixes

  • load JSON documents that are preceded by multiple whitespace (640e59a)
  • non-seekable json streams would fail to load as a document (76b0159)
  • non-seekable json streams would fail to load as a document (2436d73)
  • reading streams in an asp.net context would cause async exceptions (f9e5248)

2.3.11 (2025-12-08)

Bug Fixes

  • additional properties serialization should not emit a schema in v2 (946cba9)
  • additional properties serialization should not emit a schema in v2 fix: additional properties serialization should not emit booleans in v3.1+ (275dd9d)
  • additional properties serialization should not emit booleans in v3.1+ (946cba9)

2.3.10 (2025-11-17)

  • empty strings should be quoted in yaml (e919b33)
  • empty strings should be quoted in yaml (0ca10db)

2.3.9 (2025-11-06)

Bug Fixes

  • a bug where null sentinel value would appear in YAML documents (0e864c7)
  • a bug where null sentinel value would appear in YAML documents (15618e1)

2.3.8 (2025-10-27)

Bug Fixes

  • an issue where numeric property names would be missing quotes in yaml conversion (da43c98)
  • an issue where numeric property names would be missing quotes in yaml conversion (234504c)
  • quote property names in yaml that match boolean values (39a9f41)
  • yaml blocks and line returns (b053848)
  • yaml multi-line literals maintain their lines (558a1ce)

2.3.7 (2025-10-24)

Bug Fixes

  • adds a null value sentinel to enable roundtrip serializations of JsonNode typed properties (337c6eb)
  • adds a null value sentinel to enable roundtrip serializations of JsonNode typed properties (63b2b98)
  • fixes a bug where yaml null values would end up as a string "null" during roundtrip serialization (6e62de2)
  • fixes a bug where yaml null values would end up as a string "null" during roundtrip serialization (994184b)
  • YamlConverter adding extra quotes to string values when converting from JSON to YAML (ccfebc8)

Performance Improvements

  • do not duplicate nodes when indexing (dbbbf13)
  • only initialize map node nodes on demand (bdb5264)
  • reduce allocations in mapnode (f58aad2)
  • removes the lazy initialization since the node is always enumerated (1c96521)
  • switches to lazy instantiation (d3c758b)
  • use deep equals for comparison to reduce allocations (6ce3214)

2.3.6 (2025-10-20)

Bug Fixes

  • a bug where empty collections would not be serialized for default values (4c4d257)

2.3.5 (2025-10-14)

Bug Fixes

  • use settings for terse output in serialization extension methods (246039b)
  • use settings for terse output in serialization extension methods (8b91278)

2.3.4 (2025-10-06)

Bug Fixes

  • Improve server creation and URL handling logic to maintain port (3e6ee80)
  • missing deserialization for header content property in 3.1 and 3.0 (717f154)
  • missing deserialization for header content property in 3.1 and 3.0 (0fdfae1)

2.3.3 (2025-10-02)

Bug Fixes

  • typo in allowReserved property name for deserialization (1633453)
  • typo in allowReserved property name for deserialization (f7e34be)

2.3.2 (2025-09-19)

Bug Fixes

  • Fix URL processing in InternalLoad method would not detect the filename/scheme properly in some scenarios (d93689c)
  • OpenApiEncoding explode property serialization defaults with form style (ae03eab)

2.3.1 (2025-09-08)

Bug Fixes

  • file access for "file" URI scheme with special characters (6dded81)

2.3.0 (2025-08-29)

Features

  • adds the detected format as part of the diagnostic (#2482) (59d7c81)
  • adds the detected format to the diagnostics (59d7c81)

2.2.0 (2025-08-25)

Features

  • add Validation Rule for path operations to not have a request body (d101fc3)

Bug Fixes

  • missing examples when one example is with an empty array. (cb1c496)

2.1.0 (2025-08-20)

Features

  • adds a default validation rule for unresolved references (90b3966)

Bug Fixes

  • Improve OpenApiWalker performance (a007c03)
  • Validate schema property is not null (3326022)

2.0.1 (2025-08-18)

Bug Fixes

  • add missing disposable for stream (9318c00)
  • add missing disposable for stream (0c1ccbd)

2.0.0 (2025-07-10)

Features

  • General availability of version 2 with support for OpenAPI 3.1!!! 🎉🎉🎉 (a02d74c)
  • General availability of version 2 with support for OpenAPI 3.1!!! 🎉🎉🎉 (97824e5)

Bug Fixes

  • inconsistent visibility of properties in current keys class (cb9772f)
  • removes extraneous default value constant (bf8d0b6)
  • removes extraneous default value constant (b6eb46e)
  • removes loop methods from parsing context as its available in loop detector instead (de3531b)
  • removes loop methods from parsing context as its available in loop detector instead (18a8cbe)
  • removes public mermaid types that were not usuable (ef7ae33)
  • removes public mermaid types that were not usuable (a26096c)
  • removes redundant marker interface (5a055f9)
  • removes redundant marker interface (74a9f08)
  • switches to a getter for API consistency (7975082)
  • switches to a getter for API consistency (0091f1c)
  • unconsistent visibility of properties in current keys class (d0c20ab)
  • visibility of extension methods (1e9112a)
  • visibility of extension methods (50c8e34)

2.0.0-preview.31 (2025-07-02)

Bug Fixes

  • bumps openapi.net.odata to fix two critical bugs in hidi (00c3018)
  • bumps openapi.net.odata to fix two critical bugs in hidi (cf41355)

2.0.0-preview.30 (2025-07-02)

Bug Fixes

  • migration of hidi to the latest version of system.commandline (a5f8721)
  • throw on circular reference (e14258d)
  • throw on circular reference (caea292)
  • upgrades openapi.odata to avoid hidi failing to load (0bea5ed)
  • upgrades openapi.odata to avoid hidi failing to load (6735397)
  • validation to accept lowercase status code ranges (4xx, 5xx) in OpenAPI responses (09f661f)

2.0.0-preview.29 (2025-06-18)

Bug Fixes

  • avoid stack overflow on cyclical references (06cc025)

2.0.0-preview.28 (2025-06-16)

Bug Fixes

  • sub-schema references are invalid (92db49b)
  • sub-schema references are invalid (75d1d2b)

2.0.0-preview.27 (2025-06-13)

Bug Fixes

  • implementation drift between the different version services (1ed02e3)
  • implementation drift between the different version services (2514526)
  • relative uri in json schema references would not parse appropriately or provide feedback to the user (940945d)
  • relative uri in json schema references would not parse appropriately or provide feedback to the user (e0bceaa)
  • warn instead of error out when $schema is present in the document (388d6f7)
  • warn instead of error out when $schema is present in the document (7c7b053)

2.0.0-preview.26 (2025-06-12)

Bug Fixes

  • a bug where relative relative and sub-component JSON references would not resolve properly (b7bc6be)
  • a bug where relative relative and sub-component JSON references would not resolve properly (c53165c)
  • recursive relative reference resolution (873acd4)
  • recursive relative reference resolution (f296505)
  • upgrades sharp yaml to avodi signing issues on netfx (5dc7e81)
  • upgrades sharp yaml to avodi signing issues on netfx (4db5c1a)

2.0.0-preview.25 (2025-06-10)

Bug Fixes

2.0.0-preview.24 (2025-06-09)

Bug Fixes

  • callback reference annotations parsing (86892b3)
  • example reference annotation parsing (8bf012b)
  • link reference annotations parsing (2a62c5a)
  • loading of header reference description (9248560)
  • makes reference serialization object generic (f0802e5)
  • parameter reference annoation parsing (b1578f3)
  • path item reference annoations parsing (d31ed4c)
  • removes description field from references that do not support it (03659f7)
  • request body reference annotations parsing (d9a78dc)
  • response reference annotations parsing (e455f52)
  • security scheme reference annoations parsing (ccc3733)

2.0.0-preview.23 (2025-06-03)

Features

  • upgrades OData lib in Hidi to preview15 (540240a)
  • upgrades OData lib to preview15 (b300265)

2.0.0-preview.22 (2025-06-02)

Features

  • Add writer settings to enable collection sorting using a comparer (d7eaf47)

Bug Fixes

  • rename class; add logic for sorting IEnumerable collections (58cb4ac)

2.0.0-preview.21 (2025-05-21)

Bug Fixes

  • do not throw when operation tag is missing matching global tag (fe133f2)
  • do not throw when operation tag is missing matching global tag (2c5aa40)

2.0.0-preview.20 (2025-05-20)

Bug Fixes

  • nullable and type ordering should be maintain to ease up migration work (6c82aa6)
  • nullable should not be inserted as an attempt to normalize the document (6c82aa6)
  • refactor to avoid adding duplicate entries (41fd508)
  • refactor to avoid adding duplicate entries (#2359) (9791eb6)
  • tree node has the wrong structure because of trailing slashes (2ffb273)
  • tree node has the wrong structure because of trailing slashes (4439340)
  • wrong link to json schema spec in schema doc comments (d9b0c90)
  • wrong link to json schema spec in schema doc comments (9a73ec6)

2.0.0-preview.19 (2025-05-16)

Bug Fixes

  • base url should be read from the settings when available (f5d6e81)
  • base url should be read from the settings when available (b17b7d8)
  • discriminator mapping references don't get a document when created from DOM (767d3fb)
  • discriminator mapping references don't get a document when created from DOM (fdfe002)

2.0.0-preview.18 (2025-05-13)

Features

  • upgrades openapi.net.odata and apimanifest to the latest version (80844a6)
  • upgrades openapi.net.odata and apimanifest to the latest version (938a2e0)

Bug Fixes

  • avoid calling virtual members in constructor (5835057)
  • Fix typo in error message (#2345) (3f8b2b9)
  • handle deserializing and writing empty security requirements #1426 (#2323) (962e0e4)
  • normalized override implementation for parameter types serialization in v2 (5930916)

2.0.0-preview.17 (2025-04-16)

Features

  • discriminator mappings now use schema references (b4877f6)
  • openapiformat enum cleanup (#2326) (19ffd13)
  • Remove default collection initialization for perf reasons (#2284) (3604382)

Bug Fixes

  • Empty tag causes error generating Kiota client #2283 (#2286) (521d636)
  • hidi fails to parse yaml files when fixing references (a5c4d61)
  • hidi fails to parse yaml files when fixing references (c5b69fe)
  • Improve handling of OpenAPI tag references (#2325) (bf9954a)
  • read (Exclusive)Maximum and (Exclusive)Minimum values as strings and write their raw values during serialization (#2309) (ac66756)
  • relative references in subdirectory documents are not loading #1674 (#2243) (4bcbd51)
  • renames annotations schema property to metadata to match #2241 (28e4a75)
  • renames annotations schema property to metadata to match #2241 (33fc7cb)
  • set format to binary for file uploads (#2305) (47f10d3)

2.0.0-preview.16 (2025-03-20)

Bug Fixes

  • always serialize security schemes in components (3aac661)
  • always serialize security schemes in components (a765acf)

2.0.0-preview.15 (2025-03-18)

Bug Fixes

  • Include hidi in solution (7f4bec8)
  • remove duplicate unused property (f62e039)
  • revert change to exclude hidi in solution (c3afe4e)

2.0.0-preview.14 (2025-03-18)

Bug Fixes

  • exclude hidi from release due to package source mapping conflict (72daa54)

2.0.0-preview.13 (2025-03-14)

Features

  • adds OpenApiDocument.SerializeAs() so simplify serialization scenarios (371a574)
  • enable null reference type support (#2146) (96574ec)
  • enables references as components (eeffba9)
  • use http method object instead of enum (8baff28)

Bug Fixes

  • a bug where references would not serialize summary or descriptions in 3.1 (ca7ccdd)
  • handling for reference IDs with http prefix (3385a0e)

2.0.0-preview.12 (2025-03-07)

Bug Fixes

  • fixes serialization of openApidocs with operation tags with settings to inline references (8eecae6)
  • fixes serialization of openApidocs with operation tags with settings to inline references. (f67fe64)

2.0.0-preview.11 (2025-03-03)

Bug Fixes

  • rename OpenApiDocument.SecurityRequirements as Security (d8553d6)

Miscellaneous Chores

  • release 2.0.0-preview.11 (f425b8e)

2.0.0-preview10 (2025-02-27)

Features

  • deduplicates tags at the document level (93c468e)
  • tags references are now deduplicated as well (763c0c1)

Bug Fixes

  • add logic for serializing date time objects (23395c5)
  • adds missing cancellation parameter to async method (243a111)
  • avoid creating new http clients to load additional documents of the workspace (0f23798)
  • deduplicates exclusive min/max properties in the object model (08414a1)
  • deduplicates exclusive min/max properties in the object model (0d5b471)
  • moves the http client for the reader to settings so it can be passed by client application (9b910f3)
  • OpenAPIDocument JsonSchemaDialect property is now a URI (45977b5)
  • openapischema schema property is now a Uri (452a6b9)
  • primitive parsing for strings as DateTimes is too greedy (4ee1d8b)
  • removes static readers registry (fe7a2fd)
  • use a single http client in hidi (9386fae)

2.0.0-preview9 (2025-02-21)

Features

  • add support for dependentRequired (75d7a66)

Bug Fixes

  • an issue where deprecation extension parsing would fail (5db8757)
  • an issue where deprecation extension parsing would fail (b59864c)
  • refactor ToIdentifier() to normalize flaggable enums (#2156) (b80e934)

2.0.0-preview8 (2025-02-17)

Bug Fixes

  • a bug where external reference loading for local files would not work on linux (df99a00)
  • add meaningful exception message during validation (4a6547d)
  • add meaningful exception message during validation (74d20ed)
  • adds a cancellation token argument to external document loading (a5ffab1)
  • parsing failure on nodes set to null (20aacc1)
  • parsing failure on nodes set to null (4245de9)

2.0.0-preview7 (2025-02-06)

Bug Fixes

  • do not write null for types on parameters in v2 (f889937)
  • do not write null for types on parameters in v2 (4aef7b7)

2.0.0-preview6 (2025-02-05)

Features

  • adds a net8 target to benefit from all the conditional compilation (a201aa2)
  • adds components registration method for schemas (10e548a)
  • adds deconstructor to read result (79336f6)
  • adds deconstructor to read result (d8c1593)
  • adds to identifier mapping to non nullable enum (bd9622e)
  • bumps target OAS version to 3.1.1 (9e8d8a4)
  • configure AOT for trimming compatibility (b4f9c3e)
  • makes document optional (754f763)
  • makes the reference interface covariant (7405f3c)
  • splits described and summarized interfaces (2a10cd9)

Bug Fixes

  • 3.0 serialization when type is set to null (920a51a)
  • a bug where 3.0 downcast of type null would not work (6b636d5)
  • a bug where 3.0 downcast of type null would not work (ac05342)
  • a flaky behaviour for format property serialization (3ea1fa9)
  • a flaky behaviour for format property serialization (52981d4)
  • additional 3.1.0 constants after merge and v2 release (9e8d8a4)
  • adds generic shallow copy method to avoid inadvertent conversions of references to schemas (e4c14a4)
  • adds missing culture argument to date serialization (45329e4)
  • adds missing null prop operator to proxy properties (8361069)
  • adds missing null propagation operators for callback and header references (0cb4ccb)
  • adds support for all component types (8a73b54)
  • aligns callback parameter name with interface (68b25cc)
  • aligns missing properties for override (e3325b9)
  • aligns parameter name with interface definition for example (d7e1f91)
  • aligns reference copy constructors (ce93aa7)
  • aligns to null propagation operator (8d57b81)
  • allow registration of component references (14750dc)
  • an empty security requirement should not result in an object during serialization (1c6fd8e)
  • build passes (ea68427)
  • callback reference proxy implementation (028d60b)
  • callback reference proxy implementation (2cbb0fa)
  • components schema copy (88daad5)
  • conditional version for extension causes invalid json (4030c1f)
  • conditional version for extension causes invalid json (0ce92cc)
  • date time and date time offset shifting zones (a6a44a7)
  • default settings in case of null value (ab2ddf0)
  • do not allow null argument for example copy constructor (aa80b19)
  • do not copy host document as it negatively impact performance (1043e4e)
  • do not copy host document as it negatively impact performance (a46e857)
  • do not emit a type array in 3.1 when unnecessary (3b3d0e6)
  • draft security scheme reference proxy design pattern (1bd2624)
  • empty security requirements are actually valid. to negate the document ones (42bd396)
  • enum description number values (ff7b4a9)
  • enum description number values (e29e24c)
  • enum parsing when encountering unknown values should not default to first member (d4e155b)
  • enum parsing when encountering unknown values should not default to first member (9d07ebb)
  • extensions collection initialization (4f28b65)
  • extraneous null prop removal (1006879)
  • failing unit test after merge (a4ac872)
  • failing unit tests for security scheme references in security requirements (d2e4111)
  • fixes inlining override when they should not happen (704943c)
  • fixes invalid OAI document for unit tests (837f000)
  • inconsistant API surface usage (47ad76b)
  • last reference to copy constructor (d87375d)
  • makes reference fields immutable (fda05d4)
  • makes reference of holder immutable (a182f44)
  • makes target field read only (89881fd)
  • missing defensive programming in copy constructors (227d99d)
  • missing doc comment for annotations (41759a1)
  • missing null prop operator on parameter reference (019eb99)
  • missing property rename (2443fa0)
  • multiple performance fixes for type serialization (bd9622e)
  • multiple performance fixes for type serialization feat: adds to identifier mapping to non nullable enum (5fef51c)
  • multiple unit test failures (2f171a3)
  • null flag comparison (081e251)
  • null propagation for most failed reference lookup (7994691)
  • null reference check (a5023d6)
  • Open API header proxy design pattern implementation (77e0ad1)
  • open API link reference proxy design pattern implementation (6a96462)
  • open API link reference proxy design pattern implementation (376e54d)
  • open api response reference should not clone objects (4243873)
  • open api schema reference proxy design pattern implementation (e57d049)
  • open api schema reference proxy design pattern implementation (aebefb7)
  • parameter reference proxy design pattern implementation (ed6ffa1)
  • parameter reference proxy design pattern implementation (eeb79a4)
  • passes missing host document references to all layers (d7c4621)
  • passes missing host document references to all layers (ff1406c)
  • path item reference implementation (56f291b)
  • path item reference implementation (c725267)
  • potential NRT (9db6e2d)
  • potential NRT for net8 build (f517deb)
  • proxy design pattern implementation for OpenAPiExample (cc28ff2)
  • proxy design pattern implementation for request body (425335e)
  • references callback writer (88ad997)
  • removes all obsolete APIs (e861c08)
  • removes extraneuous null prop op in copy constructor (227d99d)
  • removes nullable property that shouldn't be part of dom (4d9c17b)
  • removes redundant assignment (8d70195)
  • removes unnecessary null prop in copy constructor (aa993b1)
  • removes unused parameters (de9d979)
  • removes unused parameters (9cd7aae)
  • removes useless condition for null check (4a50c77)
  • removes useless virtual definitions in components (af3038a)
  • removes virtual modifier in MediaType (4dfc9b8)
  • request body references are converted to v2 properly (b84ea19)
  • response reference proxy design pattern implementation (8103c20)
  • response reference proxy design pattern implementation (5b4003b)
  • restores default constructor for ISerializable implementation (778184f)
  • returns reference instead of null (45e40fa)
  • sets hidi version to a preview (975b1bf)
  • sets hidi version to a preview (8999336)
  • shallow copy for callback (4ea87ef)
  • shallow copy for example (9bc3044)
  • shallow copy for parameter link path item and request body (9af6f30)
  • side effects in tag references (717deb0)
  • side effects in tag references (878593b)
  • single copy and maintain for references (30ee6ed)
  • specifies encoding for net fx (95dafe6)
  • specifies encoding for net fx (cd13481)
  • support non-standard MIME type in response header (50ddca2)
  • switches header to shallow copy (2a42c36)
  • tag reference proxy design pattern implementation (46e08d4)
  • tag, response, and security scheme shallow copy (7ac149c)
  • updates public api file (b727581)
  • updates public API surface with net8 target (1a1e013)
  • uses backing fields instead of schema copy (6f4e7a2)
  • uses the json node clone API to avoid unecessary allocs (818414d)
  • v2 references for properties do not work as expected (aa90edf)
  • v2 references for properties do not work as expected (ec9c01b)
  • v2 request body content null propagation (6d064c4)
  • v2 request body content null propagation (8b4833c)
  • visibility of serialize internal methods (dc8a757)

Performance Improvements

  • avoid round trip serialization (a6a44a7)

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.