Polly 7.0.0

Polly is a .NET Standard 1.1 and .NET Standard 2.0 library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation and Fallback in a fluent and thread-safe manner.

There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated or shouldn't be used anymore.
Install-Package Polly -Version 7.0.0
dotnet add package Polly --version 7.0.0
<PackageReference Include="Polly" Version="7.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Polly --version 7.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

7.0.0
    ---------------------
    - Clarify separation of sync and async policies (breaking change)
    - Enable extensibility by custom policies hosted external to Polly
    - Enable collection initialization syntax for PolicyRegistry
    - Enable cache policies to cache default(TResult) (breaking change)
    - Restore Exception binary serialization for .Net Standard 2.0

    6.1.2
    ---------------------
    - Bug Fix: Async continuation control for async executions (issue 540, affected only v6.1.1)

    6.1.1
    ---------------------
    - Bug Fix: Context.PolicyKey behaviour in PolicyWrap (issue 510)

    6.1.0
    ---------------------
    - Bug Fix: Context.PolicyKey behaviour in PolicyWrap
    - Bug Fix: CachePolicy behaviour with non-nullable types
    - Enhancement: WaitAnd/RetryForever overloads where onRetry takes the retry number as a parameter
    - Enhancement: Overloads where onTimeout takes thrown exception as a parameter

    6.0.1
    ---------------------
    - Version 6 RTM, for integration to ASPNET Core 2.1 IHttpClientFactory

    6.0.0-v6alpha
    ---------------------
    - Publish as strong-named package only (discontinue non-strong-named versions)
    - Add .NetStandard 2.0 tfm
    - Provide .NET4.5 support via .NetStandard 1.1 tfm
    - Discontinue .NET4.0 support
    - Remove methods marked as deprecated in v5.9.0

    5.9.0
    ---------------------
    - Allow Timeout.InfiniteTimeSpan (no timeout) for TimeoutPolicy.
    - Add .AsPolicy<TResult> and .AsAsyncPolicy<TResult> methods for converting non-generic policies to generic policies.
    - Per Semver, indicates deprecation of overloads and properties intended to be removed or renamed in Polly v6.

    5.8.0
    ---------------------
    - Add a new onBreak overload that provides the prior state on a transition to an open state
    - Bug fix: RelativeTtl in CachePolicy now always returns a ttl relative to time item is cached
           
    5.7.0
    ---------------------
    - Minor cache fixes
    - Add ability to calculate cache Ttl based on item to cache
    - Allow user-created custom policies

    5.6.1
    ---------------------
    - Extend PolicyWrap syntax with interfaces

    5.6.0
    ---------------------
    - Add ability to handle inner exceptions natively: .HandleInner<TEx>()
    - Allow WaitAndRetry policies to calculate wait based on the handled fault
    - Add the ability to access the policies within an IPolicyWrap
    - Allow PolicyWrap to take interfaces as parameters
    - Bug fix: set context keys for generic execute method with PolicyWrap
    - Bug fix: generic TResult method with non-generic fallback policy
    - Performance improvements

    5.5.0
    ---------------------
    - Bug fix: non-generic CachePolicy with PolicyWrap
    - Add Cache interfaces
    
    5.4.0
    ---------------------
    - Add CachePolicy: cache-aside pattern, with interfaces for pluggable cache providers and serializers.
    - Bug fix: Sync TimeoutPolicy in pessimistic mode no longer interposes AggregateException.
    - Provide public factory methods for PolicyResult, to support testing.
    - Fallback delegates can now take handled fault as input parameter.

    5.3.1
    ---------------------
    - Make ISyncPolicy<TResult> public
    - (Upgrade solution to msbuild15)

    5.3.0
    ---------------------
    - Fix ExecuteAndCapture() usage with PolicyWrap   
    - Allow Fallback delegates to take execution Context
    - Provide IReadOnlyPolicyRegistry interface

    5.2.0
    ---------------------
    - Add PolicyRegistry for storing and retrieving policies.
    - Add interfaces by policy type and execution type.
    - Change .NetStandard minimum support to NetStandard1.1.

    5.1.0
    ---------------------
    - Allow different parts of a policy execution to exchange data via a mutable Context travelling with each execution.

    5.0.6
    ---------------------
    - Update NETStandard.Library dependency to latest 1.6.1 for .NetStandard1.0 target.  Resolves compatibility for some Xamarin targets.

    5.0.5
    ---------------------
    - Bug fix: Prevent request stampede during half-open state of CircuitBreaker and AdvancedCircuitBreaker.  Enforce only one new trial call per break duration, during half-open state.
    - Bug fix: Prevent duplicate raising of the onBreak delegate, if executions started when a circuit was closed, return faults when a circuit has already opened.
    - Optimisation: Optimise hotpaths for Circuit-Breaker, Retry and Fallback policies.
    - Add NoOpPolicy: NoOpPolicy executes delegates without intervention; for eg stubbing out Polly in unit testing.

    5.0.4 pre
    ---------------------
    - (.NET40Async package changes only)

    5.0.3 RTM
    ---------------------
    - Refine implementation of cancellable synchronous WaitAndRetry
    - Minor breaking change: Where a user delegate does not observe cancellation, Polly will now honour the delegate's outcome rather than throw for the unobserved cancellation (issue 188).

    5.0.2 alpha
    ---------------------
    - .NETStandard1.0 target: Correctly state dependencies.
    - .NETStandard1.0 target: Fix SemVer stamping of Polly.dll.
    - PCL259 project and target: Remove, in favour of .NETStandard1.0 target.  PCL259 targets are still supported, via .NETStandard1.0 target.
    - Mark Polly.dll as CLSCompliant.
    
    5.0.1 alpha
    ---------------------
    - Add a .NETStandard1.0 target.

    5.0.0 alpha
    ---------------------
    A major release, adding significant new resilience policies:
    - Timeout policy: allows timing out any execution
    - Bulkhead isolation policy: limits the resources consumable by governed actions, such that a faulting channel cannot cause cascading failures.
    - Fallback policy: provides for a fallback execution or value, in case of overall failure
    - PolicyWrap: allows flexibly combining Policy instances of any type, to form an overall resilience strategy.

    Other changes include:
    - Add PolicyKeys and context to all policy executions, for logging and to support later introduction of policy events and metrics.
    - Add CancellationToken support to synchronous executions.
    - Add some missing ExecuteAndCapture/Async overloads.
    - Remove invalid ExecuteAsync overloads taking (but not making use of) a CancellationToken
    - Provide .NET4.0 support uniquely through Polly.NET40Async package
    - Retire ContextualPolicy (not part of documented API; support now in Policy base class)
    - Discontinue .NET3.5 support

    Earlier versions
    ----------------
    For versions prior to v5.0, please see the detailed ChangeLog on the Polly project site.

Showing the top 10 GitHub repositories that depend on Polly:

Repository Stars
dotnet-architecture/eShopOnContainers
Easy to get started sample reference microservice and container based application. Cross-platform on Linux and Windows Docker Containers, powered by .NET Core 2.2, Docker engine and optionally Azure, Kubernetes or Service Fabric. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
ThreeMammals/Ocelot
.NET core API Gateway
dotnetcore/surging
surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt、DNS协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,RPC集成采用的是netty框架,采用异步传输
JosefNemec/Playnite
Open source video game library manager with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Including game emulation support, providing one unified interface for your games.
tidusjar/Ombi
Want a Movie or TV Show on Plex or Emby? Use Ombi!
Azure/azure-sdk-for-net
.NET Libraries for Azure
BrighterCommand/Brighter
Command Dispatcher, Processor, and Distributed Task Queue
Wyamio/Wyam
A modular static content and static site generator.
Accelerider/Accelerider.Windows
A shell that runs Accelerider applications on the Windows platform.

Version History

Version Downloads Last updated
7.1.0 1,321,206 3/13/2019
7.0.3 276,885 2/21/2019
7.0.2 141,615 2/11/2019
7.0.1 21,643 2/9/2019
6.1.2 1,400,530 11/27/2018
6.1.1 322,385 11/12/2018
6.1.0 2,208,449 7/15/2018
6.0.1 2,959,976 5/6/2018
6.0.0-v6alpha0001 926 5/3/2018
5.9.0 883,452 4/9/2018
5.8.0 1,249,779 1/31/2018
5.7.0 307,537 1/6/2018
5.6.1 479,659 11/29/2017
5.6.0 58,989 11/27/2017
5.5.0 375,042 11/3/2017
5.4.0 40,446 11/1/2017
5.3.1 907,995 8/6/2017
5.3.0 114,507 7/27/2017
5.2.0 213,497 6/28/2017
5.1.1-v5-x-cachealpha0001 47,745 6/2/2017
5.1.0 408,662 5/4/2017
5.0.6 448,566 2/11/2017
5.0.5 217,317 2/4/2017
5.0.3 150,105 1/6/2017
5.0.2-v5-0-alpha0001 9,459 11/22/2016
5.0.1-v5-0-alpha0001 10,682 10/25/2016
4.5.0-beta-netstandar-0001 20,750 9/6/2016
4.3.0 1,089,352 6/30/2016
4.2.4 23,422 6/17/2016
4.2.3 18,405 6/7/2016
4.2.2 5,329 6/2/2016
4.2.1 66,740 5/26/2016
4.2.0 85,188 4/14/2016
4.1.2 236,364 3/17/2016
4.1.1 15,273 3/11/2016
4.1.0 1,418 3/10/2016
4.0.0 55,643 2/18/2016
3.0.0 42,942 1/11/2016
2.2.7 18,004 1/1/2016
2.2.6 1,842 12/30/2015
2.2.5 8,004 12/28/2015
2.2.4 30,300 12/3/2015
2.2.3 115,811 8/9/2015
2.2.2 41,656 6/2/2015
2.2.1 36,127 2/15/2015
2.2.0 15,125 1/25/2015
2.1.0 17,747 11/28/2014
2.0.0 16,146 3/13/2014
1.1.0 2,987 6/16/2013
1.0.0 1,884 5/5/2013
Show less