kiota

OpenAPI based HTTP Client code generator

MIT License

Downloads
7.8M
Stars
2.3K
Committers
106

Bot releases are visible (Hide)

kiota - v1.1.2

Published by baywet over 1 year ago

Changed

  • Fixed Mac-OS releases
kiota - v1.1.1

Published by baywet over 1 year ago

Changed

  • Fixed a bug where kiota installation would fail because of zip structure change
kiota - v1.1.0

Published by baywet over 1 year ago

Added

  • Added Visual Studio Code preview extension. #2333
  • Added support for searching in forks for API descriptions in GitHub. #2429
  • Added the ability to filter on operations. #2431

Changed

  • Fixed a bug where UUID type is not correctly passed to deserialization method due to snake casing of primitive type names.
  • Fixed a bug where unescaped query parameters are not correctly matched to the original name due to python convention of snake casing parameter names.
  • Fixed a bug where date types annotations and guid's were not correctly translated in Python
  • Fixed the extension of downloaded files when using the default path. #2316
  • Fixed a bug where lookup of reference ids failed for AllOf more than one level up.
  • Fixed a bug where a CLI client would not set the content types for requests. (Shell)
  • Fixed linting errors by re-ordering methods and properties in Python.
  • Fixed a bug where requests with bodies would fail in Ruby. #2473
  • Changed python import mechanism to facilitate code completion. #2380
  • Fixed a bug where discriminator methods were missing possible types in Python #2381
  • Fixed a bug where boolean or number enums would be mapped to enums instead of primitive types. #2367
  • Fixed a bug where CSharp inherited constructor name was incorrect. #2351
  • Fixed a bug where java refiner would emit method's parameters types without normalizing the name.
  • Fixed a bug where java refiner would emit incorrect returning types and error mappings without normalizing the name.
  • Changed the name of the static query parameter factory method from addQueryParameters to createQueryParameters in PHP
  • Fixed a bug where java writer would emit incorrect serialization values for escaped enums
  • Fixed a bug where java writer would emit incorrect type names in case of compound types
  • Fixed a bug where go refiner would emit incorrect code when inlining error parents
  • Fixed a bug where inline type names would not be sanitized. #2368
  • Fixed a bug in PHP where the base URL path parameter key didn't match the URI template.
  • Changed invalid schema behavior, invalid properties are now ignored with a warning instead of failed. #2089
  • Fixed a bug where java refiner would not normalize inherited class names and interface types.
  • Fixed a bug where search based commands would not match exact matches when additional results are available.
  • Fixed a bug where imported classes and enums would not be disambiguated when they have the same name in dotnet.
  • Fixed a bug where escaping enum names resulted in a loss of the original enum name. #2488
  • Fixed a bug where properties names are not correctly normalized in Go.
kiota - v1.0.1

Published by github-actions[bot] over 1 year ago

  • Fixed a bug where double would not be mapped properly.
kiota - v1.0.0

Published by github-actions[bot] over 1 year ago

  • 📢📢📢 Kiota is Generally Available with C# as a first stable language and more to follow soon! 🚀🚀🚀

Changed

  • Fixed a bug where byte and binary types would be wrongly mapped. #2357
  • Fixed a bug where go refiner would fail with a null reference.
  • Fixes a bug where request builders would be incorrectly generated due to inconsistent suffix generation
  • Fixed a bug where PHP model getAdditionalData() would not return nullable types.
  • Fixed bug in request options PHPDoc type.
  • Fixed a bug where java refiner would emit enums without normalizing the name.
  • Fixed bug in request configuration class constructor PHPDoc.
  • Fixed a bug where ruby refiner would emit enums without normalizing the name.

Added

  • Added constructors and query parameter factory methods to request configuration classes and constructors to query parameter classes in PHP.
  • Added support for relative server URL. #2278
  • Added restoration of the kiota-lock when the generation fails with clean output. #2292
kiota - v0.11.1

Published by github-actions[bot] over 1 year ago

Changed

  • Fixed a bug where search would fail because of a parsing issue. #2290
  • Fixed a bug where Ruby namespaces would fail to load with Rails.
  • Fixed a bug where errors/exceptions could override native exception type symbols in Python. #2257
  • Fixed a bug where descriptions with a path segment matching an HTTP verb would fail to generate. #2231

Added

  • Added support for multi-valued headers in Python. #2051
  • Added getResponseStatusCode to PHP exceptions reserved names provider. #2243
kiota - v0.11.0

Published by github-actions[bot] over 1 year ago

Changed

  • Fixed bug in indexer methods for PHP Generation.
  • Fixed a bug where errors/exceptions could override native exception type symbols for PHP Generation. #2258
  • Fixed a bug where most of the Java fields have been prefixed with an underscore.
  • Mangle properties and/or accessors names per language to have more idiomatic APIs.
  • Using fully qualified identifier for java.util.function.Consumer to avoid conflicts in Java.
  • Removed response handler parameter from PHP request executor methods. 1856
  • Fixed minor typo in adding Accept header for PHP.
  • Fixed a bug with null reference types and composed types in CSharp.
  • Fixed a bug with null reference types scalar values in CSharp.
  • Fixed a bug where reserved names replacement wouldn't check whether the name was already in use (all languages).
  • Fixed a bug where default OpenAPI.net validation rules could not be disabled.
  • Fixed a race condition in namespace disambiguation for CSharp.
  • Fixed a bug where errors/exceptions could override native exception type symbols. #2190
  • Removed the ResponseHandler parameter in RequestAdapter to be a RequestOption in Python #1857
  • Updated the client constructor to set the baseUrl path parameter from RequestAdapter's baseUrl(PHP) #2129
  • The Lock file uses a project version coming from a Source Generator instead of the one looked up with reflection. #2147
  • Fixed a bug in ruby where file names or paths could be too long to be packaged.
  • Fixed a bug where models descriptions would be undeterministic. #2130
  • Fixed a bug in dotnet where default values for Enum properties with special characters would not match the model. #2091
  • Sets the base url to make use of request information easier in CSharp/Java/TypeScript/Go/Ruby. #2061
  • Renamed CreateXXXRequestInformation methods to ToXXXRequestInformation for a better auto-completion experience. #2071
  • Renamed Go request adapter methods to remove the async suffix. #2084
  • Fixed a bug where CLI query/header/path parameters would not be deduplicated. #2059
  • Removed unused generated import for PHP Generation.
  • Fixed a bug where long namespaces would make Ruby packaging fail.
  • Fixed a bug where classes with namespace names are generated outside namespace in Python. #2188
  • Changed signature of escaped reserved names from {x}escaped to {x} in line with Python style guides.
  • Add null checks in generated Shell language code.
  • Fixed a bug where Go indexers would fail to pass the index parameter.
  • Fixed a bug where path segments with parameters could be missing words. #2209
  • Fixed a bug where refiners could generate duplicate properties.
  • Fixed a bug where Go collections would try to use variadic parameters where not supported.
  • Removed the need to provide a RequestAdapter in Shell command builders.

Added

  • Updated the client constructor to set the base_url in path parameters from RequestAdapter's base_url(Python) #2128
  • Added support for Raw Url in Request Builders for PHP Generation. 2205
  • Added support for external documentation links on request execution methods (PHP Generation). 2038
  • Added support for nullable reference types in dotnet for projects running Netstandard 2.1/Net 6.0 and above 2073
  • Added support for multi-value headers to CLI generation. (Shell)
  • Added support for overriding some of the generation settings in the OpenAPI description. #2197
  • Added support for multi-value headers for PHP Generation. #2052
  • Added support for Composed types (De)Serialization for PHP Generation. #1814
  • Added support for backing store in Go. 466
  • Added support for inherited error types by inlining the parents. 2194
  • Added support for documentation links in CLI's help commands.
kiota - v0.10.0

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixed container support for MacOS M1. #1888
  • Fixed a bug where a missing baseURL would make search fail. #2095
  • Fixed a bug in Ruby where the request adapter URL would be overwritten by the client defaults. #1647
  • Replaced concurrent-ruby by Fibers in Ruby libraries to implement proper asynchronous execution of requests.
  • Replaced response_handler parameter by a request option in Ruby. #1860
  • Fixed a bug where conversion of intersection types to wrappers would fail.
  • Fixed raw url initialization in Ruby.
  • Fixed a bug where subsequent indexers would fail to convert properly for languages not supporting indexers. #1666
  • Fixed a bug where the ISO duration import would be incorrect in Ruby.
  • Fixed a bug where default middleware options would not be assigned in Ruby.
  • Fixed a bug where request options would not be mapped properly in Ruby.
  • Fixed a bug where the main module would be missing in Ruby and TypeScript.
  • Fixed a bug where class names could conflict with module names in Ruby.
  • Fixed a bug where modules listing would be not be deterministic in Ruby and TypeScript.
  • Moved Ruby libraries to their own repositories.
  • Fixed a regression where errors would be missing their parent types.
  • Fixed a regression where indexers replacement would fail.

Added

  • Added support for auto-registration of serializers in Ruby. #478
  • Added support for middleware infrastructure in Ruby. #1650
  • Added support for query parameters names aliasing in Ruby. #1664
  • Added support for vendor specific serialization in Ruby. #1661
  • Added support for default properties values in Ruby. #1725
  • Added support for discriminated types deserialization (inheritance) in Ruby. #1652
  • Added support for error mapping in Ruby. #1653
  • Added support for multi-valued request headers in Ruby. #2054
  • Added support for composed types generation in Ruby.
  • Added missing get child node method in Ruby for deserialization.
  • Added declaration of module classes in Ruby.
kiota - v0.9.0

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixed a generation issue in TypeScript where static methods imports could collide.
  • Fixed a generation issue in Go with the accept headers definition.
  • Fixed a generation issue in Go and TypeScript with UUID properties.
  • Fixed issue with wrong imports for PHP. #2049
  • Fix issue where discriminator types were never getting imported for PHP. #2049
  • Fix issue where class aliasing was never working as expected for PHP. #2049
  • Fixed colliding imports for factory methods in TypeScript. #2009
  • Switched to lazy loading module imports in Python. #2007
  • Caters for type names being used from System namespace in CSharp generation #2021
  • Fixed wrong send request method name for collections in Python. #2057
  • Implemented request builders with no parameters as properties in Python. #2024

Added

  • Added description validation rules to help users get the best client experience. #2019
  • Added support for external documentation links on request execution methods. #2036
  • Added support for multi-valued headers in CSharp, TypeScript, Go, and Java. #2032
kiota - v0.8.3

Published by github-actions[bot] almost 2 years ago

Changed

  • Unblocks nuget release by removing file triggering credscan.
kiota - v0.8.2

Published by github-actions[bot] almost 2 years ago

Changed

  • Unblocks nuget release by removing file triggering credscan.
kiota - v0.8.1

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixes publishing workflow missing workload restore commands.
kiota - v0.8.0

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixed a bug where readonly properties would fail to deserialize for TypeScript.
  • Fixed a bug where array buffers nullability would wrongly be defined for TypeScript.
  • Fixed a bug where parameter comments would appear in summary tag comments in dotnet. #1945
  • Fixed a bug in PHP generation where request bodies would not serialize single elements properly. #1937
  • Fixed a bug where request information would always be set from scalar. #1965
  • Fixed a bug where path parameters would be missing if no operation was present at the segment the parameter is defined. #1940
  • Fixed a bug where nested classes with long names caused compilation errors for java generated libraries. #1949
  • Removed use of anonymous classes in java generated libraries to reduce the number of java classes created at compilation time. #1980
  • Fixed a bug where generation would result in wrong indentation in some classes for Python [#1996]((https://github.com/microsoft/kiota/issues/1996).
  • Fixed a bug where error class modules were hardcoded for Python [#1999]((https://github.com/microsoft/kiota/issues/1999)
  • Fixed a bug where generation would sometimes result in wrong original names for query parameters in Python [#2000]((https://github.com/microsoft/kiota/issues/2000).
  • Fixed a bug where Java would fail to compile for endpoints that return collections.

Added

  • Added support for GitHub based API search.#1866
  • Added login/logout commands to access API descriptions in private GitHub repositories. #1983
  • Added support for scalar request bodies Python #1571
  • Sets property defaults in constructor and removes duplicate properties defined in base types from model serialization and deserialization methods in Python. #1726
  • Added support for scalar request bodies in PHP #1937
  • Added accept header for all schematized requests Python. #1617
  • Added optional backing store support for PHP. #1976
  • Fixed a bug where OdataErrors had wrong inherited class name in Python.
  • Fixed a bug where empty path parameters dictionary would throw an error in request builders in Python.
kiota - v0.7.1

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixes publishing workflow which fails because of the web application.
kiota - v0.7.0

Published by github-actions[bot] almost 2 years ago

Changed

  • Fixed a bug where collections request bodies would not serialize single elements properly. #1927
  • Removed response handler parameter from Java executor methods.
  • Changed the generated PHP deserializer code to use fn instead of function. #1880
  • Fixes compile errors due to type ambiguity in generated models in dotnet. #1881
  • Changes the ResponseHandler parameter in IRequestAdapter to be a RequestOption in dotnet #1858
  • File extensions are now stripped from property/namespace/class names. #1892
  • Missing host/server is now considered a warning instead of a critical error. #1896
  • Fixed a bug where info and show commands would crash in case of invalid description URL. #1894
  • Show command now reads descriptions directly from APIs.guru instead of their origin. #1897
  • Fixed a classnames having the same name as extensions would cause generation to fail. #1892
  • Fixed an issue where CSharp defensive programing would use string.IsNullOrEmpty for collections parameters.

Added

  • Added an API key authentication provider for dotnet, TypeScript, Go and Java. #1902
  • Added compatibility all the way down to android API level 26 for Java.
  • Added support for enum and collection of enum return types for Java.
  • Added support for types with more than 500 discriminator entries in Java.
  • Added a confirmation message once the generation is successful. #1898
  • Added colour scheme for all console messages to improve readability. #1895
kiota - v0.6.0

Published by github-actions[bot] about 2 years ago

Changed

  • BREAKING: the generation command is now a sub command: kiota generate ... instead of kiota ....
  • BREAKING: docker image renamed from mcr.microsoft.com/kiota/generator to mcr.microsoft.com/openapi/kiota.
  • Fixed a bug where OData primitive types would result in composed types.
  • Fixed a concurrency issue with imports management.
  • Fixed a bug where Java request options type could conflict with generated types.
  • Fixed a bug where CSharp serialization/deserialization names for properties would always be lowercased. #1830
  • Fixed a regression where the incorrect schema would be selected in an AllOf collection to generate incorrect type inheritance.
  • Fixed a bug where discriminator information could contain non-derived types. #1833
  • Fixes a bug where mapping value would be missing from factories. #1833
  • Update go serializers and deserializers to use abstractions utils

Added

  • Added a search command to find APIs.
  • Added a download command to download API descriptions.
  • Added a show command to display the API paths as a tree.
  • Added an info command to show languages maturity and dependencies.
  • Added hints to help people use and discover the commands.
  • Added arguments to filter path items during generation (include-path/exclude-path).
  • Added the ability to cancel the refinement process.
  • Added Java 8 generation support.
  • Added tracing support for Go. #618
kiota - v0.5.1

Published by github-actions[bot] about 2 years ago

Changed

  • Fixed a regression where parse node parameter type for factories would be incorrect in Go, Ruby, Swift, Java and TypeScript.

Added

  • Exempts read only properties from being serialized and sent to the service. #1828
kiota - v0.5.0

Published by github-actions[bot] about 2 years ago

Changed

  • Fixed a bug where Go clients would panic in case of nil response value.
  • Fixed a bug to properly add request headers to Nethttp requests in Ruby.
  • Fixed a bug to properly reject invalid URLs in Ruby.
  • Fixed an issue with require statements being generated instead of require relative in Ruby.
  • Updated AdditionDataHolder with the correct namespace. (Ruby)
  • Removed/fixed passing in the current instance to fields deserializers in Ruby. #1663
  • Fix issue with duplicate variable declaration in command handlers (Shell)
  • Update namespace qualification algorithm (helps in resolving when a type name appears in multiple namespaces) to use case insensitive string comparison (CSharp).
  • Fix an issue where namespace reserved name replacement would not include replacing import names in the declared areas in CSharp. #1799
  • Removed Python abstractions, http, authentication and serialization packages
  • Fixed an issue with generating the incorrect serialized type name and require statement for get/post methods (Ruby).
  • Remove all overloads for GO request executors
  • Adds a context object in all GO requests
  • Remove all overloads for GO request executors and Adds a context object in all GO requests GO#176
  • Fixed a bug where the Hashing method for type names differentiation could lock the process.
  • Fixed a bug where CSharp declaration writer would add usings for inner classes.
  • Fixed a bug with inline schema class naming.
  • Fixed a bug where symbols starting with a number would be invalid.
  • Fixed a bug where classes could end up with duplicated methods.
  • Fixed a bug where Go writer would try to import multiple times the same symbol.
  • Fixed a bug where the core generator engine would fail to recognize meaningful schemas.
  • Fixed a bug where Go and Java inner class imports would be missing.
  • Fixed a bug where Go and Java collection bodies would not generate properly.
  • Aligns request options types in Java with other collections type.
  • Fixed a bug where Java would skip duplicated imports instead of deduplicating them.
  • Fixed a bug where Java would not convert date types for query parameters.
  • Fixed a bug where Java doc comments could contain invalid characters.
  • Fixed a bug where function parameters would be reodered incorrectly in dotnet#1822

Added

  • Added support for range (2XX) responses. #1699
  • Added none output formatter to CLI commons. (Shell)
  • Added 'Accept' field of http request header in Ruby. #1660
  • Added support for text serialization in Python. #1406
  • Added support for composed types (union, intersection) in CSharp, Java and Go. #1411
  • Added support for implicit discriminator mapping.
  • Added support for default values of enum properties in CSharp, Java and Go.
kiota - v0.4.0

Published by github-actions[bot] about 2 years ago

Changed

  • Fixed a bug where collections types would generate invalid return types in CSharp.
  • Fixed a bug where a nullable entry in anyOf schemas would create unnecessary composed types.
  • Removed duplicate properties defined in base types from model serialization and deserialization methods and initialise property defaults in constructor. #1737
  • Fixed a bug where the generated code had incorrect casing within a method (Ruby). #1672
  • Fixed an issue where duplicate 'require' statements are generated for inner classes in the middle of the file (Ruby). #1649
  • Split parsable interface and additional property/data interface in Ruby. #1654
  • Changed format of datetimes in Go to be converted to ISO 8601 by default when place in path parameters(Go)
  • Reduce code verbosity on Go Getters and Setters. [G0#26][https://github.com/microsoftgraph/msgraph-sdk-go-core/issues/26]

Added

  • Updated test suite and tooling for python abstractions and core packages. #1761
  • Added support for no-content responses in python abstractions and http packages. #1630
  • Added support for vendor-specific content types in python. #1631
  • Simplified field deserializers for json in Python. #1632
  • Adds python code generation support. #1200
  • Added native type support for Duration, Time Only, and Date Only in Ruby. #1644
  • Added a --additional-data argument to generate the AdditionalData properties #1772
kiota - v0.3.0

Published by github-actions[bot] over 2 years ago

Changed

  • Fixed a bug where query parameter types would not consider the format. #1721
  • Fixed a bug where discriminator mappings across namespaces could create circular dependencies in Go. #1712
  • Fixed a bug where Go binary downloads would try to parse a structured object.
  • Aligned mime types model generation behaviour for request bodies on response content. #134
  • Fixed an issue where some critical errors would not return a failed exit code. #1605
  • Moved nested request configuration classes into separate files within the namespace for PHP. #1620
  • Fixed an issue where duplicate 'require' statements are generated for inner classes in the middle of the file (Ruby). #1649
  • Fixed wrong parameter type for Request config for request executors(PHP). #1629
  • Increased indentation for errorMappings in the request executor (PHP). #1629
  • Fixed bugs in PHP discriminator factory methods, Guzzle request adapter send methods, stream and plain text response handling. #1634
  • Removed abstractions, authentication, http and serialization packages for PHP. #1637
  • Fixed a bug where generated discriminator methods would reference types in other namespaces without proper resolution. #1670
  • Fixed a bug where additional data and backing store properties would be duplicated. #1671
  • Fixed a bug where serialized properties would not match the json property name when using the backing store. (CSharp).
  • Corrected PHPDoc types for headers and request options properties in request configuration classes. #1711
  • Fixed a bug where properties defined at multiple inherited models would collide. #1717

Added

  • Added a more explicit error message for invalid schemas. #1718
  • Added a parameter to specify why mime types to evaluate for models. #134
  • Added an explicit error message for external references in the schema. #1580
  • Added accept header for all schematized requests. #1607
  • Added support for paging. #1569
  • Added support for vendor specific content types(PHP) #1464
  • Added support for accept request header (PHP) #1616
  • Added Getting Started steps for PHP. #1642