Polly 7.0.0

Prefix Reserved
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, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Polly --version 7.0.0
                    
NuGet\Install-Package Polly -Version 7.0.0
                    
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.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Polly" Version="7.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Polly" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Polly --version 7.0.0
                    
#r "nuget: Polly, 7.0.0"
                    
#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.
#addin nuget:?package=Polly&version=7.0.0
                    
Install Polly as a Cake Addin
#tool nuget:?package=Polly&version=7.0.0
                    
Install Polly as a Cake Tool

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.

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.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.1 is compatible.  netstandard1.2 was computed.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 was computed.  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 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.9K)

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/dotnet/tree/c22dcd0c7a78d095a94d20e59ec0271b9924c82c

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 (247)

Showing the top 20 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
kgrzybek/modular-monolith-with-ddd
Full Modular Monolith application with Domain-Driven Design approach.
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Radarr/Radarr
Movie organizer/manager for usenet and torrent users.
JosefNemec/Playnite
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
restsharp/RestSharp
Simple REST and HTTP API Client for .NET
dotnet/yarp
A toolkit for developing high-performance HTTP reverse proxy applications.
Tyrrrz/DiscordChatExporter
Exports Discord chat logs to a file
ThreeMammals/Ocelot
.NET API Gateway
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
elsa-workflows/elsa-core
A .NET workflows library
LykosAI/StabilityMatrix
Multi-Platform Package Manager for Stable Diffusion
Azure/azure-sdk-for-net
This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
danielgerlag/workflow-core
Lightweight workflow engine for .NET Standard
kurrent-io/KurrentDB
EventStoreDB, the event-native database. Designed for Event Sourcing, Event-Driven, and Microservices architectures
anjoy8/Blog.Core
💖 ASP.NET Core 8.0 全家桶教程,前后端分离后端接口,vue教程姊妹篇,官方文档:
Prowlarr/Prowlarr
Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps, supporting management of both Torrent Trackers and Usenet Indexers.
dotnetcore/Util
Util是一个.Net平台下的应用框架,旨在提升中小团队的开发能力,由工具类、分层架构基类、Ui组件,配套代码生成模板,权限等组成。
Version Downloads Last updated
8.5.2 11,200,853 2/4/2025
8.5.1 5,697,869 1/13/2025
8.5.0 12,695,228 11/12/2024
8.4.2 13,844,939 9/26/2024
8.4.1 20,103,326 6/28/2024
8.4.0 12,996,203 5/10/2024
8.3.1 16,987,716 3/6/2024
8.3.0 12,646,845 2/5/2024
8.2.1 7,664,030 1/5/2024
8.2.0 14,433,650 11/14/2023
8.1.0 7,037,500 10/31/2023
8.0.0 10,912,097 9/28/2023
8.0.0-beta.2 94,810 9/8/2023
8.0.0-beta.1 12,203 8/31/2023
8.0.0-alpha.9 4,029 8/30/2023
8.0.0-alpha.8 45,555 8/8/2023
8.0.0-alpha.7 14,784 7/26/2023
8.0.0-alpha.6 58,562 7/14/2023
8.0.0-alpha.5 29,843 7/3/2023
8.0.0-alpha.4 4,124 6/26/2023
8.0.0-alpha.3 977 6/23/2023
8.0.0-alpha.2 7,529 6/21/2023
8.0.0-alpha.1 7,110 6/15/2023
7.2.4 81,872,656 6/14/2023
7.2.3 177,179,014 1/17/2022
7.2.2 125,592,264 4/11/2021
7.2.1 84,531,166 5/2/2020
7.2.0 47,448,716 11/27/2019
7.1.1 22,765,765 9/2/2019
7.1.0 120,572,136 3/13/2019
7.0.3 2,039,463 2/21/2019
7.0.2 1,038,975 2/11/2019
7.0.1 1,647,154 2/9/2019
6.1.2 13,518,818 11/27/2018
6.1.1 1,095,867 11/12/2018
6.1.0 10,023,528 7/15/2018
6.0.1 25,956,136 5/6/2018
6.0.0-v6alpha0001 11,315 5/3/2018
5.9.0 6,446,217 4/9/2018
5.8.0 5,156,429 1/31/2018
5.7.0 1,065,104 1/6/2018
5.6.1 1,649,029 11/29/2017
5.6.0 106,480 11/27/2017
5.5.0 1,244,071 11/3/2017
5.4.0 157,051 11/1/2017
5.3.1 4,906,946 8/6/2017
5.3.0 263,135 7/27/2017
5.2.0 648,028 6/28/2017
5.1.1-v5-x-cachealpha0001 57,328 6/2/2017
5.1.0 1,086,929 5/4/2017
5.0.6 1,101,908 2/11/2017
5.0.5 527,325 2/4/2017
5.0.3 1,012,553 1/6/2017
5.0.2-v5-0-alpha0001 19,957 11/22/2016
5.0.1-v5-0-alpha0001 21,075 10/25/2016
4.5.0-beta-netstandar-0001 30,936 9/6/2016
4.3.0 2,404,262 6/30/2016
4.2.4 57,733 6/17/2016
4.2.3 46,120 6/7/2016
4.2.2 20,466 6/2/2016
4.2.1 151,911 5/26/2016
4.2.0 225,449 4/14/2016
4.1.2 285,929 3/17/2016
4.1.1 38,853 3/11/2016
4.1.0 9,950 3/10/2016
4.0.0 94,190 2/18/2016
3.0.0 90,949 1/11/2016
2.2.7 70,094 1/1/2016
2.2.6 10,224 12/30/2015
2.2.5 18,188 12/28/2015
2.2.4 63,461 12/3/2015
2.2.3 229,863 8/9/2015
2.2.2 141,702 6/2/2015
2.2.1 97,428 2/15/2015
2.2.0 48,005 1/25/2015
2.1.0 30,891 11/28/2014
2.0.0 39,755 3/13/2014
1.1.0 13,031 6/16/2013
1.0.0 238,793 5/5/2013

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.