Polly 6.1.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.
Showing the top 20 packages that depend on Polly.
Packages | Downloads |
---|---|
TestContainers
Package Description
|
54 |
TestContainers
Package Description
|
49 |
TestContainers
Package Description
|
33 |
TestContainers
Package Description
|
32 |
TestContainers
Package Description
|
26 |
TestContainers
Package Description
|
20 |
TestContainers
Package Description
|
16 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
13 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
11 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
10 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
9 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
5 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
4 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
3 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
2 |
Marten
.NET Transactional Document DB and Event Store on PostgreSQL
|
1 |
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
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
Version | Downloads | Last updated |
---|---|---|
8.5.0 | 5 | 11/18/2024 |
8.4.2 | 2 | 10/12/2024 |
8.4.1 | 5 | 06/29/2024 |
8.4.0 | 18 | 05/21/2024 |
8.3.1 | 10 | 03/08/2024 |
8.3.0 | 8 | 02/18/2024 |
8.2.1 | 2 | 01/11/2024 |
8.2.0 | 4 | 12/28/2023 |
8.1.0 | 2 | 02/18/2024 |
8.0.0 | 2 | 12/28/2023 |
8.0.0-beta.2 | 4 | 12/28/2023 |
8.0.0-beta.1 | 26 | 09/28/2023 |
8.0.0-alpha.9 | 3 | 12/28/2023 |
8.0.0-alpha.8 | 2 | 12/28/2023 |
8.0.0-alpha.7 | 11 | 10/31/2023 |
8.0.0-alpha.6 | 3 | 12/28/2023 |
8.0.0-alpha.5 | 3 | 12/25/2023 |
8.0.0-alpha.4 | 5 | 12/28/2023 |
8.0.0-alpha.3 | 5 | 12/28/2023 |
8.0.0-alpha.2 | 3 | 01/13/2024 |
8.0.0-alpha.1 | 5 | 12/28/2023 |
7.2.4 | 9 | 11/08/2023 |
7.2.3 | 3 | 02/18/2024 |
7.2.2 | 3 | 02/18/2024 |
7.2.1 | 3 | 02/18/2024 |
7.2.0 | 3 | 02/18/2024 |
7.1.1 | 1 | 02/18/2024 |
7.1.0 | 3 | 02/18/2024 |
7.0.3 | 1 | 02/18/2024 |
7.0.2 | 2 | 02/18/2024 |
7.0.1 | 3 | 12/05/2023 |
6.1.2 | 2 | 02/18/2024 |
6.1.1 | 4 | 12/05/2023 |
6.1.0 | 2 | 12/07/2023 |
6.0.1 | 1 | 02/18/2024 |
6.0.0-v6alpha0001 | 3 | 08/29/2023 |
5.9.0 | 14 | 11/02/2023 |
5.8.0 | 1 | 02/18/2024 |
5.7.0 | 22 | 11/01/2023 |
5.6.1 | 2 | 02/18/2024 |
5.6.0 | 3 | 12/10/2023 |
5.5.0 | 13 | 11/01/2023 |
5.4.0 | 1 | 02/18/2024 |
5.3.1 | 3 | 02/18/2024 |
5.3.0 | 1 | 02/18/2024 |
5.2.0 | 3 | 02/18/2024 |
5.1.1-v5-x-cachealpha0001 | 2 | 08/30/2023 |
5.1.0 | 5 | 02/18/2024 |
5.0.6 | 6 | 02/17/2024 |
5.0.5 | 1 | 02/18/2024 |
5.0.3 | 3 | 02/18/2024 |
5.0.2-v5-0-alpha0001 | 3 | 08/25/2023 |
5.0.1-v5-0-alpha0001 | 5 | 08/27/2023 |
4.5.0-beta-netstandar-0001 | 3 | 08/30/2023 |
4.3.0 | 4 | 02/18/2024 |
4.2.4 | 4 | 02/18/2024 |
4.2.3 | 2 | 02/18/2024 |
4.2.2 | 13 | 11/13/2023 |
4.2.1 | 2 | 02/18/2024 |
4.2.0 | 1 | 02/18/2024 |
4.1.2 | 3 | 02/18/2024 |
4.1.1 | 3 | 02/18/2024 |
4.1.0 | 2 | 12/07/2023 |
4.0.0 | 5 | 02/18/2024 |
3.0.0 | 3 | 12/07/2023 |
2.2.7 | 4 | 02/18/2024 |
2.2.6 | 3 | 12/17/2023 |
2.2.5 | 4 | 01/18/2024 |
2.2.4 | 5 | 02/18/2024 |
2.2.3 | 2 | 02/18/2024 |
2.2.2 | 8 | 10/31/2023 |
2.2.1 | 2 | 02/18/2024 |
2.2.0 | 4 | 02/18/2024 |
2.1.0 | 2 | 02/18/2024 |
2.0.0 | 4 | 02/18/2024 |
1.1.0 | 9 | 11/01/2023 |
1.0.0 | 1 | 02/18/2024 |