Polly 5.0.3

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Polly --version 5.0.3                
NuGet\Install-Package Polly -Version 5.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="5.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Polly --version 5.0.3                
#r "nuget: Polly, 5.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=5.0.3

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

Polly is a .NET 4.0 / 4.5 / .NET Standard 1.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.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.0 is compatible.  netstandard1.1 was computed.  netstandard1.2 was computed.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 was computed.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Windows Phone wp8 was computed.  wp81 was computed.  wpa81 was computed. 
Windows Store netcore was computed.  netcore45 was computed.  netcore451 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2.7K)

Showing the top 5 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/af22effae4069a5dfb9b0735859de48820104f5b

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.

Polly.Caching.Memory

Polly.Caching.Memory is a plug-in for the .NET OSS resilience library Polly, supporting Microsoft.Extensions.Caching.Memory.MemoryCache as a provider for Polly's CachePolicy.

SheshaMobile.Core

Common application functionality and features to be shared across the framework

Okta.Sdk

Official .NET SDK for the Okta API

GitHub repositories (235)

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
8.5.0 32,259 11/12/2024
8.4.2 3,475,400 9/26/2024
8.4.1 11,027,567 6/28/2024
8.4.0 8,460,586 5/10/2024
8.3.1 12,012,843 3/6/2024
8.3.0 8,116,543 2/5/2024
8.2.1 6,196,778 1/5/2024
8.2.0 11,094,550 11/14/2023
8.1.0 4,343,037 10/31/2023
8.0.0 9,194,574 9/28/2023
8.0.0-beta.2 64,664 9/8/2023
8.0.0-beta.1 11,113 8/31/2023
8.0.0-alpha.9 3,385 8/30/2023
8.0.0-alpha.8 40,564 8/8/2023
8.0.0-alpha.7 12,825 7/26/2023
8.0.0-alpha.6 54,394 7/14/2023
8.0.0-alpha.5 22,564 7/3/2023
8.0.0-alpha.4 3,915 6/26/2023
8.0.0-alpha.3 756 6/23/2023
8.0.0-alpha.2 6,829 6/21/2023
8.0.0-alpha.1 4,793 6/15/2023
7.2.4 49,580,750 6/14/2023
7.2.3 156,923,132 1/17/2022
7.2.2 113,985,110 4/11/2021
7.2.1 79,666,367 5/2/2020
7.2.0 44,291,192 11/27/2019
7.1.1 18,772,002 9/2/2019
7.1.0 102,374,150 3/13/2019
7.0.3 1,893,271 2/21/2019
7.0.2 1,000,308 2/11/2019
7.0.1 1,375,874 2/9/2019
6.1.2 12,485,790 11/27/2018
6.1.1 1,049,425 11/12/2018
6.1.0 9,765,034 7/15/2018
6.0.1 24,450,271 5/6/2018
6.0.0-v6alpha0001 10,649 5/3/2018
5.9.0 5,936,717 4/9/2018
5.8.0 4,987,932 1/31/2018
5.7.0 925,298 1/6/2018
5.6.1 1,613,575 11/29/2017
5.6.0 101,789 11/27/2017
5.5.0 1,201,054 11/3/2017
5.4.0 150,290 11/1/2017
5.3.1 4,403,323 8/6/2017
5.3.0 258,950 7/27/2017
5.2.0 611,367 6/28/2017
5.1.1-v5-x-cachealpha0001 56,561 6/2/2017
5.1.0 1,056,606 5/4/2017
5.0.6 1,058,254 2/11/2017
5.0.5 509,571 2/4/2017
5.0.3 951,459 1/6/2017
5.0.2-v5-0-alpha0001 19,384 11/22/2016
5.0.1-v5-0-alpha0001 20,616 10/25/2016
4.5.0-beta-netstandar-0001 30,470 9/6/2016
4.3.0 2,303,696 6/30/2016
4.2.4 55,812 6/17/2016
4.2.3 44,445 6/7/2016
4.2.2 19,729 6/2/2016
4.2.1 146,469 5/26/2016
4.2.0 217,375 4/14/2016
4.1.2 283,089 3/17/2016
4.1.1 37,382 3/11/2016
4.1.0 9,387 3/10/2016
4.0.0 91,321 2/18/2016
3.0.0 88,600 1/11/2016
2.2.7 69,449 1/1/2016
2.2.6 9,693 12/30/2015
2.2.5 17,632 12/28/2015
2.2.4 60,729 12/3/2015
2.2.3 225,310 8/9/2015
2.2.2 130,931 6/2/2015
2.2.1 90,372 2/15/2015
2.2.0 46,371 1/25/2015
2.1.0 30,336 11/28/2014
2.0.0 36,177 3/13/2014
1.1.0 11,813 6/16/2013
1.0.0 155,953 5/5/2013

v5.0 is a major release with significant new resilience policies: Timeout; Bulkhead Isolation; Fallback; and PolicyWrap.  See release notes back to v5.0.0 for full details.

    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

    4.3.0
    ---------------------
    - Added ability for policies to handle return results.  Optimised circuit-breaker hot path.  Fixed circuit-breaker threshold bug.  
    
    4.2.4
    ---------------------
    - Added overloads to WaitAndRetry and WaitAndRetryAsync methods that accept an onRetry delegate which includes the attempt count.
    
    4.2.3
    ---------------------
    - Cleaned up new Polly.Net40Async NuGet package, removing Polly.dll and unused framework folders.
    
    4.2.2
    ---------------------
    - Add new Polly.Net40Async project supporting async for .NET40 via Microsoft.Bcl.Async.  This is available as separate Nuget packages Polly.Net40Async and Polly.Net40Async-signed.

    4.2.1
    ---------------------
    - Allowed async onRetry delegates to async retry policies.

    4.2.0
    ---------------------
    - Added AdvancedCircuitBreaker - Thanks to @reisenberger and @kristianhald
    
    4.1.2
    ---------------------
    - Fixed an issue with the onReset delegate of the CircuitBreaker.
    
    4.1.1
    ---------------------
    - Add ExecuteAndCapture support with arbitrary context data - Thanks to @reisenberger
    
    4.1.0
    ---------------------
    - Add Wait and retry forever policy - Thanks to @nedstoyanov
    - Remove time-limit on CircuitBreaker state-change delegates - Thanks to @reisenberger
    
    4.0.0
    ---------------------
    - Add async support and circuit-breaker support for ContextualPolicy
    - Add manual control of circuit-breaker (reset and manual circuit isolation)
    - Add public reporting of circuit-breaker state, for health/performance monitoring
    - Add delegates on changes of circuit state - Thanks to @reisenberger
    
    3.0.0
    ---------------------
    - Add cancellation support for all async Policy execution - Thanks to @reisenberger
    
    2.2.7
    ---------------------
    - Fixes an issue where continueOnCapturedContext needed to be specified in two places (on action execution and Policy configuration), when wanting to flow async action execution on the captured context - Thanks to @reisenberger
    - Fixes excess line ending issues
    
    2.2.6
    ---------------------
    - Async sleep fix, plus added continueOnCapturedContext parameter on async methods to control whether continuation and retry will run on captured synchronization context - Thanks to @yevhen
    
    2.2.5
    ---------------------
    - Policies with a retry count of zero are now allowed
    
    2.2.4
    ---------------------
    - Add .NET Core support
    
    2.2.3
    ---------------------
    - Fix PCL implementation of `SystemClock.Reset`
    - Added ability to capture the results of executing a policy via `ExecuteAndCapture`
    
    2.2.2
    ---------------------
    - Added extra `NotOnCapturedContext` call to prevent potential deadlocks when blocking on asynchronous calls
    
    2.2.1
    ---------------------
    - Replaced non-blocking sleep implementation with a blocking one for PCL
    
    2.2.0
    ---------------------
    - Added Async Support (PCL)
    - PCL Profile updated from Profile78 ->  Profile 259
    - Added missing WaitAndRetryAsync overload
    
    2.1.0
    ---------------------
    - Added Async Support (.NET Framework 4.5 Only)
    
    2.0.0
    ---------------------
    - Added Portable Class Library
    - The "Polly" NuGet package is now no longer strongly named. The strongly named NuGet package is now "Polly-Signed"
    
    1.1.0
    ---------------------
    - Added additional overloads to Retry
    - Allow arbitrary data to be passed to policy execution