Polly 7.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package Polly --version 7.0.3                
NuGet\Install-Package Polly -Version 7.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Polly" Version="7.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Polly --version 7.0.3                
#r "nuget: Polly, 7.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Polly as a Cake Addin
#addin nuget:?package=Polly&version=7.0.3

// Install Polly as a Cake Tool
#tool nuget:?package=Polly&version=7.0.3                

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 are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Polly:

Package Downloads
Microsoft.Extensions.Http.Polly

The HttpClient factory is a pattern for configuring and retrieving named HttpClients in a composable way. This package integrates IHttpClientFactory with the Polly library, to add transient-fault-handling and resiliency through fluent policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/e5f183b656a0e8bc087108130a5a9b54ae94494e

Polly.Extensions.Http

Polly.Extensions.Http is an extensions package containing opinionated convenience methods for configuring Polly policies to handle transient faults typical of calls through HttpClient.

GitHub repositories (237)

Showing the top 5 popular GitHub repositories that depend on Polly:

Repository Stars
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
Jackett/Jackett
API Support for your favorite torrent trackers
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
kgrzybek/modular-monolith-with-ddd
Full Modular Monolith application with Domain-Driven Design approach.
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Version Downloads Last updated
7.2.2 65 9/19/2022
7.2.1 0 3/6/2021
7.2.0 2 3/6/2021
7.1.1 5 3/6/2021
7.1.0 32,553 3/6/2021
7.0.3 0 3/6/2021
7.0.2 0 3/6/2021
7.0.1 0 3/6/2021
7.0.1-v710-0001 0 3/6/2021
7.0.0 0 3/6/2021
6.1.2 1 3/6/2021
6.1.1 0 3/6/2021
6.1.0 2 3/6/2021
6.0.1 46,947 3/6/2021
6.0.0-v6alpha0001 0 3/6/2021
5.9.0 0 3/6/2021
5.8.0 0 3/6/2021
5.7.0 0 3/6/2021
5.6.1 0 3/6/2021
5.6.0 0 3/6/2021
5.5.0 0 3/6/2021
5.4.0 0 3/6/2021
5.3.1 79 3/6/2021
5.3.0 7 3/6/2021
5.2.0 26 3/6/2021
5.1.1-v5-x-cachealpha0001 1 3/6/2021
5.1.0 25 3/6/2021
5.0.7 3 3/6/2021
5.0.6 18 3/6/2021
5.0.5 8 3/6/2021
5.0.3 6 3/6/2021
5.0.2-v5-0-alpha0001 0 3/6/2021
5.0.1-v5-0-alpha0001 2 3/6/2021
4.5.0-beta-netstandar-0001 2 3/6/2021
4.3.0 66 3/6/2021
4.2.4 3 3/6/2021
4.2.3 0 3/6/2021
4.2.2 0 3/6/2021
4.2.1 0 3/6/2021
4.2.0 7 3/6/2021
4.1.2 6 3/6/2021
4.1.1 0 3/6/2021
4.1.0 0 3/6/2021
4.0.0 4 3/6/2021
3.0.0 1 3/6/2021
2.2.7 0 3/6/2021
2.2.6 0 3/6/2021
2.2.5 0 3/6/2021
2.2.4 1,849 12/3/2015
2.2.3 20,543 8/9/2015
2.2.2 10,880 6/2/2015
2.2.1 14,631 2/15/2015
2.2.0 3,234 1/25/2015
2.1.0 6,641 11/28/2014
2.0.0 11,909 3/13/2014
1.1.0 1,712 6/16/2013
1.0.0 163 5/5/2013

7.0.3
    ---------------------
    - Bug fix for AdvancedCircuitBreakerAsync<TResult> (issue affecting v7.0.1-2 only)

    7.0.2
    ---------------------
    - Bug fix for PolicyRegistry (issue affecting v7.0.1 only)

    7.0.1
    ---------------------
    - 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.