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.
- Add helper methods to parse enums from strings.
- Add
IEnumerable<T>
extension methods to remove LINQ dependency from generated code.
- Kiota's
Date
andTime
types are interchangeable with the systemDateOnly
andTimeOnly
types through implicit conversion operators.
- Fix MultipartBody serialization
- Fix time formatting for other cultures.
- Removes LINQ usages from product code.
- Removes GetAwaiter() call in KiotaSerializer.GetStringFromStream and makes it fully synchronous.
Adds asynchronous deserialization support and marks synchronous as obsolete. #223
- Added asynchronous deserialization methods (to KiotaJsonSerializer.Deserialization and KiotaSerializer.Deserialization).
- Added IAsyncParseNodeFactory interface to provide asynchronous version of GetRootParseNode: GetRootParseNodeAsync.
- Added ParseNodeFactoryRegistry.GetRootParseNodeAsync method.
- Added ParseNodeProxyFactory.GetRootParseNodeAsync method
- Adds async overloads for serialization helpers
- Marked synchronous deserialization methods as obsolete.
- Marked IParseNodeFactory.GetRootParseNode as obsolete.
- Refactored ParseNodeFactoryRegistry.GetFactory to support both asynchronous (IAsyncParseNodeFactory) and synchronous (IParseNodeFactory) factories.
- Bumps Std.UriTemplate to version 0.0.57
- Have set the license expression on the nuget package rather than bundling in a file (#219)
- Have made System.Diagnostics.DiagnosticSource only be included on Net Standard's TFM & net 5 (#218)
MultipartBody
now supports an optionalfileName
parameter to specify the file name of the part. (#212)
- Added support for untyped nodes. (#175)
- Upgrade
Std.UriTemplate
NuGet package to version 0.54. - Add a unit test for emoji in URI template parameters.
- Updated IParseNode enum methods
DynamicallyAccessedMembersAttribute
toPublicFields
. - Fixed AOT compiler warnings from ILC.
- Added
net6.0
andnet8.0
as target frameworks.
- Added
DynamicallyAccessedMembers
annotation toRequestInformation.Configure
. - Fixes
IsTrimmable
property on the project.
- Updated
DynamicallyAccessedMembers
annotations for theWriteCollectionOfEnumValues
method.
- Fixed AOT trimming warnings the URI template parameters resolution. microsoft/kiota#4065.
- Improve AllowedHost validator to throw an error if
https://
orhttp://
prefix is present in a allowed host value.(#165)
- Fixes missing query parameters when the parameter values are empty strings.(#172)
- Fixed Method not found error due to conflicting dependencies by updating Std.UriTemplate dependency.
- Fixed unicode characters decoding in URI (std-uritemplate/std-uritemplate#114).
- Fixed an issue where arrays of non-string types passed into the query parameter were not being converted to strings leading to Invalid cast exceptions. microsoft/kiota#3354
- Added support for dotnet 8.
- Fixed an issue where path and query parameters of enum type would not be expanded properly. microsoft/kiota#3693
- Added methods in request information to reduce the amount of code being generated.
- Fixes sanitization of Date and Time values in query and path parameters
- Added helper methods to facilitate serialization and deserialization of models. microsoft/kiota#3406
- Added dotnet trimming support.
- Added a method to set the request body content type in request information on binary payloads.
- Uses headers try add when setting the content type.
- Added a TryAdd method on the RequestHeaders Dictionary
- Removed the code that changed the first character of the query parameter name to lower case
- Added sanitization of guid values in query parameters
- Switched from
Tavis.UriTemplates
toStd.UriTemplate
for URI template parsing.
- Fixed a bug where excess duplicate subscriptions would be created on the same property in the backing store causing performance issues in some scenarios. Related to microsoftgraph/msgraph-sdk-dotnet#1994
- Added support for multipart form data request body serialization.
- Fixed a bug that caused the uri parameters not to be applied when the Uri template had a different casing than the parameter name that was used to set it.
- Added an interface to mark composed type wrappers and facilitate serialization.
- Use concurrent dictionary for In memory backing store registry to avoid race conditions.
- Fixed a bug that would allow multiple "Content-Type", "Content-Length", and "Content-Location" header values.
- Fixes a bug in the InMemoryBackingStore that would not leave out properties in nested IBackedModel properties.
- Adds the Response Headers to the ApiException class
- Added a base request builder and a request configuration class to reduce the amount of code being generated.
- Update minimum version of
System.Diagnostics.DiagnosticSource
to6.0.0
.
- GA release
- Added a status code field to the API exception class.
- Relaxed nullability tolerance when merging objects for composed types.
- Use concurrent dictionary for serialization registry to avoid race conditions.
- Adds support for nullable reference types
- Adds a method to convert abstract requests to native requests in the request adapter interface.
- Release candidate 2
- Prevents sending requests with empty query parameter values
- Release candidate 1
- Added support for multi-valued request headers
- Bumps Tavis.UriTemplates to strongly name binary version
- Fixes a bug in the InMemoryBackingstore that would not detect changes in nested collections of complex types that had backing stores
- Fixed a bug where request bodies that are collections of single items would not serialize properly
- Adds an API key authentication provider.
- Changes the ResponeHandler parameter in IRequestAdapter to be a RequestOption
- Fixes a bug in the InMemoryBackingstore that would not detect changes in nested complex types and collections
- Added tracing support for request information content type.
- Added support for composed types serialization.
- DateTime instances added to the url paths to default to ISO 8601
- Adds explicit error message if the url template expects URI when accessing the URI from RequestInformation
- Fixes a bug where the backing store would fail to be set in clients running .Net framework.
- Breaking: added an additional parameter to authentication methods to carry contextual information.
- Adds a method to support scalar request bodies
- Adds support for api surface revamp for query parameters
- Breaking: Changes target runtime to netstandard2.0
- Adds the ability to get the query parameter name from attribute.
- Breaking: simplifies the field deserializers.
- Added support for vendor specific serialization in registries
- Initial Nuget release