Releases: Respawnsive/Apizr
Releases · Respawnsive/Apizr
Apizr-v6.0.0-preview.6
Changes:
- [New/Breaking][BaseAddress] Now we can set base address with the brand new
BaseAddress
attribure instead of the now removedWebApi
,CrudEntity
orMappedCrudEntity
useless ones, and only if you need to set it at design time - [New/Breaking][AutoRegister] Now we can tell Apizr to auto register apis with the brand new
AutoRegister
attribure instead of the now removedWebApi
,CrudEntity
orMappedCrudEntity
useless ones - [New/Breaking][MappedWith] Now we can tell Apizr to map data while using MediatR/Optional thanks to the yet known
MappedWith
attribure instead of the now removedCrudEntity
orMappedCrudEntity
useless ones - [Optims] Deep manager and builders refactoring to improve performances
Apizr-v6.0.0-preview5
All
- [New][Configuration] Now we can configure Apizr thanks to
IConfiguration
from Microsoft.Extensions (e.g. from appsetings.json) - [New][Polly] Now we can set resilience pipelines to apply fluently to the request thanks to the brand new WithResiliencePipelineKeys fluent option
- [New][Polly] Now we can scope resilience pipelines executions to specific http method groups thanks to the brand new
WithResiliencePipelineKeys's ApizrRequestMethod[]
optional parameter - [New][Polly] Now we can scope resilience pipelines executions to specific http method groups thanks to all brand new scoped
{RequestMethod}ResiliencePipeline
attributes likeGetResiliencePipeline
- [New][Cache] Now we can set caching options to apply fluently to the request thanks to the brand new
WithCaching
fluent option - [Fix][Attributes] Now Apizr finally can get attributes decorating parent api interfaces or crud classes
- [Fix][Polly] Now Apizr wraps correctly resilience strategies, including typed result ones
- [Fix][Manager] ApizrManager has been optimized and refactored to improve performances
Apizr.Integrations.FileTransfer
- [Fix] Now file data is no more logged by default while uploading or downloading
Apizr-v6.0.0-preview.4
All
- [New][HttpTracer/Headers] Now we can redact any header sensitive values from logs at design time by surrounding header values with a
*
star symbol rigth into theHeaders
attribute
Apizr
- [New][Cache] Now CacheKey attribute allows composite cache key generation from multiple decorated parameters
- [Fix][Cache] Now parameters decorated with CacheKey attribute are included no matter of position or index
Apizr-v6.0.0-preview.3
Apizr
- [Breaking][DelegatingHandler] Now we can register DelegatingHandlers thanks to WithDelegatingHandler fluent option instead of the AddDelegatingHandler deleted one for consistency.
- [New][DelegatingHandler] Now we can adjust the duplicate strategy while registering a DelegatingHandler
- [New][HttpMessageHandler] Now we can register an HttpMessageHandler thanks to WithHttpMessageHandler fluent option
- [Fix][Cache] Parameter based cache keys are now allways computed to integrate value changes (skiping cachekey methodset) #20
Apizr.Extensions.Microsoft.DependencyInjection
- [Breaking][DelegatingHandler] Now we can register DelegatingHandlers thanks to WithDelegatingHandler fluent option instead of the AddDelegatingHandler deleted one for consistency.
- [New][DelegatingHandler] Now we can adjust the duplicate strategy while registering a DelegatingHandler
- [New][HttpMessageHandler] Now we can register an HttpMessageHandler thanks to WithHttpMessageHandler fluent option
Apizr.Extensions.Microsoft.Caching
- [New] WithDistributedCacheHandler & WithInMemoryCacheHandler fluent shortcut options are now both available for single api registration too (no more limited to Registry)
- [Fix] Cache handlers now relies on content serializer to get xml serialization work too
- [Fix] Distributed cache handler serialization is now null protected to get it work without throwing exceptions #19
Apizr-v6.0.0-preview.2
- [New][HttpTracer] Now we can filter out unwanted http message parts with the brand new IgnoreMessageParts fluent option
- [New][HttpTracer] Now we can pick RequestAllButBody, HeadersOnly or AllButBody http message parts when configuring logging options fluently or using attribute
- [New][HttpTracer/Headers] Now we can redact any header sensitive values from logs thanks to
WithLoggedHeadersRedactionNames
orWithLoggedHeadersRedactionRule
fluent options - [New][Headers] Now we can choose to refresh a header value at request time or not, depending on the brand new WithHeaders's ApizrLifetimeScope optional parameter
- [New][Headers] Now we can choose to set headers values right the way to the request or store it for further key-only header attribute match use, depending on the brand new WithHeaders's ApizrRegistrationMode optional parameter
- [New][Headers] Now we can set headers values thanks to an expression tree
- [Breaking][Headers] Now WithHeaders options take an enumerable parameter instead of a parameter array so that we could provide some more optional parameters
Apizr-v6.0.0-preview.1
All
- [New][Target] Now targeting multiple frameworks based on Refit targets:
netstandard2.0;netstandard2.1;net462;net6.0;net7.0;net8.0
- [New][Exceptions] Now we can handle
IApizrResponse
safe response (based on Refit'sIApiResponse
) instead of catching exceptions - [New][Attributes] Now we can provide types to attributes thanks to generic arguments instead of using typeof() as constructor parameters
- [New/Breaking][Polly] Now supporting only the brand new Polly v8+ Resilience Strategies/Pipelines/Registry instead of former Polly v7- Policies
- [Breaking][Removed] Previsoulsy deprecated extensions methods for backward compatibility have been removed as they were not suitable anymore
Apizr.Integrations.MediatR
- [New][Exceptions] Now we can send safe request returning an
IApizrResponse
response to handle (based on Refit'sIApiResponse
) instead of catching exceptions
Apizr.Tools.NSwag
- [Update][Polly] Templates have been updated to use the new Polly v8+ Resilience Strategies/Pipelines/Registry instead of former Polly v7- Policies
Apizr-v5.4.0
All
- [Unified][Cancellation] Now cancelling a request on Android trows an OperationCanceledException instead of a WebException/SocketClosedException
- [Unified][Cancellation] Now cancelling a request on iOS trows an OperationCanceledException instead of a TimeoutException/TaskCanceledException
- [New][Timeout] Now we can set a request timeout (each request try) and/or an operation timeout (overall request tries) thanks to both dedicated attributes or fluent options
- [Unified][Timeout] Now a request that times out on client side throws a TimeoutRejectedException provided by Polly instead of a TimeoutException
- [Fix][Headers] Now the headers feature fully support composite configuration
- [Fix][Context] Now the context feature fully support composite configuration
Apizr-v5.3.0
All
- [New][Timeout] Now we can set a request timeout thanks to both dedicated attributes or fluent option
- [New][Headers] Now we can set global headers without passing any options request parameter (HttpClient's DefaultRequestHeaders)
- [New][Auth] Now we can access to a dedicated logger instance while inheriting from AuthenticationHadlerBase
- [Fix][Cancellation] Now we really can cancel a request by providing a token trough the options
- [Fix][Log] CRUD's log attributes now target Class only
Apizr
- [Breaking][HttpClient] Now we can configure the HttpClient instead of providing one (same as extended experience) with the brand new ConfigureHttpClient fluent option
Apizr.Extensions.Microsoft.DependencyInjection
- [Fix][HttpClient] Now HttpClientBuilder really apply composite configurations
Apizr.Integrations.FileTransfer.MediatR
- [Fix] Now default upload command returns HttpResponseMessage
Apizr.Integrations.FileTransfer.Optional
- [Fix] Now default upload optional command returns Option<HttpResponseMessage, ApizrException>
Apizr-v5.2.0
Apizr.Integrations.FileTransfer
- [New] Now Upload api uses the "file" alias
- [New] Now we can create transfer managers with shortcuts
Apizr.Extensions.Microsoft.FileTransfer
- [New] Now we can get transfer managers with shortcuts
Apizr.Integrations.FileTransfer.MediatR
- [New] Now we can send requests with shortcuts
Apizr.Integrations.FileTransfer.Optional
- [New] Now we can send optional requests with shortcuts
Apizr-v5.1.0
All
- [Bump] NuGet reference packages updated
Apizr
- [New][Polly] Now providing a PolicyRegistry is not mandatory anymore so that Polly could be turned off by default