Skip to content

Releases: kontent-ai/delivery-sdk-net

14.0.1

13 Nov 23:30
2e1fe13
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/14.0.1

14.0.0

06 Oct 09:14
Compare
Choose a tag to compare

New features

  • Support for distributed caching via the IDistributedCache interface - #196
    • there is a new implementation of IDeliveryCacheManager called DistributedCacheManager which implements the IDistributedCache interface using BSON serialization
    • it's possible to register the cache using Kentico.Kontent.Delivery.Caching.Extensions.ServiceCollectionExtensions.AddDeliveryClientCache() by changing DeliveryCacheOptions.CacheType from Memory to Distributed. by default, it registers the MemoryDistributedCache. if you want to use a different implementation (e.g. redis, you need to register its instance before calling AddDeliveryClientCache()
    • Documentation
  • IContentLinkUrlResolver is now async (as well as several other interfaces - see the breaking changes below) - #213
  • DebuggerDisplay attributes for models - #211
  • Enabled low level access to the ApiResponse - #217
  • Faking responses made simpler by only returning interfaces - #216 & #61
  • Added support for new types of filters #229 #232

Bugfixes

  • Automatic formatting of the image transformation API - #224
  • Memory leak when registering named clients - #223
  • Hashcode of a cached type is now part of the cache key - #236

Breaking changes & upgrade advice

  • all models have their interfaces extracted to Kentico.Kontent.Delivery.Abstractions and the SDK returns only the respective interfaces
    • for Asset we have IAsset, for ContentType there is an IContentType, etc.
  • DeliveryCacheManager was renamed to MemoryCacheManager
  • IPropertyValueConverter.GetPropertyValue was made async and strongly-typed. Instead of JToken, you receive ContentElementValue<T> with Name, Codename, Type, and Value properties where Value is of type T and T is the type of your property (DateTime, string, int, Asset....).
  • methods in IContentLinkUrlResolver, IModelProvider, IInlineContentItemsProcessor are now async. their input parameters remain the same but their return type changed to Task<T> instead of the original T and they all have Async suffix
  • some models are now more specific (contain e.g. Guid instead of string where it was appropriate) - apply Guid.Parse() or Guid.ToString() to keep your code compatible or adopt Guids in your code as well
  • places which returned ContentElement now return IContentElement. plus, based on the type of the element, they can return a type castable to IMultipleChoiceElement or ITaxonomyElement to allow strongly typed access to members specific to these types
  • the IDeliveryClient now contains only async methods that operate upon strongly-typed models. all JSON-based methods were removed. if someone wishes to access the raw JSON, all Delivery*Response objects contain an object called ApiResponse of the IApiResponse type. this property contains low-level data like string Content, string RequestUrl, or string ContinuationToken.
    • some overloads were preserved as extension methods but are not required when implementing the IDeliveryClient interface
  • IInlineImage's properties were renamed from AltText and Src to Description and Url respectively
  • All code from the Kentico.Kontent.Delivery.ImageTransformation namespace was extracted to a separate NuGet package Kentico.Kontent.ImageTransformation
  • removed the - AddDeliveryClient(this IServiceCollection services, string name, Func<IDeliveryClientBuilder, IDeliveryClient> buildDeliveryClient) extension method - please use any other overload (they should provide enough flexibility for all scenarios)
  • AngleSharp reference was upgraded to the latest stable version - 0.14.0. If you explicitly reference an older version in your projects, please follow the migration guide and upgrade to 0.14.0 too.

Model generator

Use model generator v6.0.0

NuGets

https://www.nuget.org/packages/Kentico.Kontent.Delivery/14.0.0
https://www.nuget.org/packages/Kentico.Kontent.Delivery.Rx/14.0.0
https://www.nuget.org/packages/Kentico.Kontent.Delivery.Caching/14.0.0
https://www.nuget.org/packages/Kentico.Kontent.Delivery.Abstractions/14.0.0
https://www.nuget.org/packages/Kentico.Kontent.ImageTransformation/14.0.0

13.0.2

11 Aug 19:56
Compare
Choose a tag to compare

Fixes:

  • #223 - predictable memory usage (related to IOptionsMonitor)

https://www.nuget.org/packages/Kentico.Kontent.Delivery/13.0.2

13.0.1

31 Mar 16:22
512e960
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/13.0.1

New features:

Breaking changes:

  • WithHttpClient(new HttpClient()) became WithDeliveryHttpClient(new DeliveryHttpClient(new HttpClient())) (see the docs)
  • interfaces and models have been moved to the abstraction library Kentico.Kontent.Delivery.Abstractions -> add this namespace to your codefiles (or use the Code Generator v5, link below)

Related releases:

12.3.0

14 Nov 07:52
e34cfdf
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/12.3.0

  • GetItemsAsync response can include the total item count matching the search criteria. Use IncludeTotalCountParameter to use this feature. This can be used to build paging navigation.

12.2.0

06 Nov 09:04
5daf90d
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/12.2.0

  • Fixed some issue when used from Client-side Blazor
  • Added Width and Height properties to Asset model

12.1.0

10 Oct 09:55
899bc85
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/12.1.0

  • Items feed exposes the current continuation token. Use the ContinuationToken property of the DeliveryItemsFeedResponse.
  • Items feed is easier to mock and test. Use the IDeliveryItemsFeed interface to create your own.

12.0.0

08 Oct 10:57
f4bcf86
Compare
Choose a tag to compare

https://www.nuget.org/packages/Kentico.Kontent.Delivery/12.0.0

New features

  • Response models provide information whether content is stale. Use the HasStaleContent property to determine content status.
  • Items can be enumerated in a streaming fashion. Use the GetItemsFeed method to create a feed. Use the HasMoreResults property and the FetchNextBatchAsync method to enumerate the feed.

Breaking changes

  • GetTaxonomyAsync, GetTypeAsync and GetContentElementAsync methods return response models instead of taxonomy group, content type or content type element models. Use Taxonomy, Type or Element properties to get response content. There is also an implicit conversion from response models to their content.
  • Improved retry policy. Apart from error responses it also handles connection issues and it no longer depends on Polly. Use the WithDefaultRetryPolicyOptions method to customize settings of the default retry policy. Create a custom retry policy by implementing IRetryPolicy and IRetryPolicyProvider interfaces.
  • Updated client options.
    • Use the UseProductionApi method instead of the UseProductionApi property.
    • Use the WaitForLoadingNewContent method instead of the WaitForLoadingNewContent property.
    • Use the UseProductionApi method with a secure access key parameter instead of the UseSecuredProductionApi method when secure access to the Delivery API is enabled.
    • Use UseSecureAccess and SecureAccessApiKey properties instead of UseSecuredProductionApi and SecuredProductionApiKey properties to configure client when secure access is enabled.

11.0.3

24 Sep 10:34
b8ae694
Compare
Choose a tag to compare

11.0.2

24 Sep 08:42
6bde1f9
Compare
Choose a tag to compare

Update Nuget icon.