NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #23 most downloaded on NuGet
Polly is a .NET resilience and transient-fault-handling 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.
Last release 24 days ago
14 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
127 years old
80 releases · first in 1900
Add EnableReloadsWithMonitor() accepting custom IOptionsMonitor by @arashzjahangiri in #3140
EnableReloadsWithMonitor() accepting custom IOptionsMonitor by @arashzjahangiri in #3140FaultGenerator when no fault is generated by @dualfroz in #3220SOURCE_DATE_EPOCH by @martincostello in #3115NUGET_API_KEY by @martincostello in #3116PipelineExecutedArguments by @JiuYue0820 in #3201Full Changelog: 8.7.0...8.8.0
One column per quarter.
EnableReloadsWithMonitor() accepting custom IOptionsMonitor by @arashzjahangiri in https://github.com/App-vNext/Polly/pull/3140FaultGenerator when no fault is generated by @dualfroz in https://github.com/App-vNext/Polly/pull/3220Update deprecated action input by @martincostello in #3035
Full Changelog: 8.6.6...8.7.0
Fix ScheduledTaskExecutor deadlock when TrySetResult runs continuations inline by @crnhrv in #2953
Full Changelog: 8.6.5...8.6.6
Extend NuGet package validation by @martincostello in #2762
TimeoutRejectedException by @martincostello in #2827Full Changelog: 8.6.4...8.6.5
TimeoutRejectedException by @martincostello in https://github.com/App-vNext/Polly/pull/2827Fix after-release and update CHANGELOG by @martincostello in #2714
Full Changelog: 8.6.3...8.6.4
Add release notes configuration by @martincostello in #2678
Full Changelog: 8.6.2...8.6.3
Performance tweaks by @martincostello in #2667
Full Changelog: 8.6.1...8.6.2
Fix integer overflow in BulkheadSemaphoreFactory by @ahusseini in #2638
BulkheadSemaphoreFactory by @ahusseini in #2638Full Changelog: 8.6.0...8.6.1
BulkheadSemaphoreFactory by @ahusseini in https://github.com/App-vNext/Polly/pull/2638Bump Stryker by @martincostello in #2476
AttemptNumber to HedgingPredicateArguments by @peter-csala in #2603OnRetryArguments comments by @lchaoer in #2627Full Changelog: 8.5.2...8.6.0
AttemptNumber to HedgingPredicateArguments by @peter-csala in https://github.com/App-vNext/Polly/pull/2603OnRetryArguments comments by @lchaoer in https://github.com/App-vNext/Polly/pull/2627Fix build badges by @martincostello in #2445
Full Changelog: 8.5.1...8.5.2
Synchronize access to System.ComponentModel.DataAnnotations.Validator by @kmcclellan in #2428
System.ComponentModel.DataAnnotations.Validator by @kmcclellan in #2428Full Changelog: 8.5.0...8.5.1
Clean the Polly.Utils.ObjectPool class by @gabidabet in https://github.com/App-vNext/Polly/pull/2312
RetryAfter to BrokenCircuitException. by @DL444 in https://github.com/App-vNext/Polly/pull/2324[DebuggerDisableUserUnhandledExceptions] by @martincostello in https://github.com/App-vNext/Polly/pull/2003Update sponsors by @martincostello in https://github.com/App-vNext/Polly/pull/2169
Fix milestone closure by @martincostello in https://github.com/App-vNext/Polly/pull/2106
Remove async void usage by @martincostello in https://github.com/App-vNext/Polly/pull/2013
Add example for chaos engineering by @martintmk in https://github.com/App-vNext/Polly/pull/1956
Polly.Specs by @gintsk in https://github.com/App-vNext/Polly/pull/1974Update CHANGELOG for 8.2.1 by @martincostello in https://github.com/App-vNext/Polly/pull/1882
FaultGenerator and OutcomeGenerator<T> by @martintmk in https://github.com/App-vNext/Polly/pull/1911Bump version to 8.2.1 by @martincostello in https://github.com/App-vNext/Polly/pull/1798
Prepare for 8.2.0 release by @martincostello in https://github.com/App-vNext/Polly/pull/1758
ConfigureTelemetry by @martintmk in https://github.com/App-vNext/Polly/pull/1787Only show stable versions in README by @martincostello in https://github.com/App-vNext/Polly/pull/1649
ResiliencePipelineProvider by @martintmk in https://github.com/App-vNext/Polly/pull/1662Updates for beta.2 by @martincostello in https://github.com/App-vNext/Polly/pull/1580
RetryStrategyOptions.MaxDelay property by @martintmk in https://github.com/App-vNext/Polly/pull/1620OnHedging event by @martintmk in https://github.com/App-vNext/Polly/pull/1625MaxDelay property by @martintmk in https://github.com/App-vNext/Polly/pull/1631AddHedging_IntegrationTest test by @martintmk in https://github.com/App-vNext/Polly/pull/1644Fixed an incorrect exception argument - Thanks to @FoxTes
Add RateLimit policy - Thanks to @reisenberger
Recursively search all AggregateException inner exceptions for predicate matches when using HandleInner() (#818) - Thanks to @sideproject
AggregateException inner exceptions for predicate matches when using HandleInner() (#818) - Thanks to @sideprojecttimeoutStrategy parameter was not being used by the TimeoutAsync(Func<TimeSpan>, TimeoutStrategy, Func<Context, TimeSpan, Task, Task>) method - Thanks to @martincostelloUpgrade SourceLink to RTM v1 (fixes building from source for latest .NET Core 3.1.x)
Add test target for netcoreapp3.0.
Remove deprecated cake add-in from build
Add SourceLink debugger support.
Bug fix for AdvancedCircuitBreakerAsync<TResult> (issue affecting v7.0.1-2 only)
Bug fix for PolicyRegistry (issue affecting v7.0.1 only)
Clarify separation of sync and async policies (breaking change)
Nothing published for this version
Nothing published for this version
Bug Fix: Async continuation control for async executions (issue 540, affected only v6.1.1)
Bug Fix: Context.PolicyKey behaviour in PolicyWrap (issue 510)
Bug Fix: Context.PolicyKey behaviour in PolicyWrap (issue 463)
Version 6 RTM, for integration to ASP.NET Core 2.1 IHttpClientFactory
Nothing published for this version
Per Semver, indicates deprecation of overloads and properties intended to be removed or renamed in Polly v6.
Add a new onBreak overload that provides the prior state on a transition to an open state
Add ability to calculate cache Ttl based on item to cache
Extend PolicyWrap syntax with interfaces
Add ability to handle inner exceptions natively: .HandleInner<TEx>()
Bug fix: non-generic CachePolicy with PolicyWrap
Add CachePolicy: cache-aside pattern, with interfaces for pluggable cache providers and serializers.
Make ISyncPolicy<TResult> public
Fix ExecuteAndCapture() usage with PolicyWrap
Add PolicyRegistry for storing and retrieving policies.
Nothing published for this version
Allow different parts of a policy execution to exchange data via a mutable Context travelling with each execution.
Nothing published for this version
Update NETStandard.Library dependency to latest 1.6.1 for .NetStandard1.0 target. Resolves compatibility for some Xamarin targets.
Bug fix: Prevent request stampede during half-open state of CircuitBreaker and AdvancedCircuitBreaker. Enforce only one new trial call per break durat
LastException property return null rather than a fake exception.Minor breaking change: Where a user delegate does not observe cancellation, Polly will now honour the delegate's outcome rather than throw for the uno…
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added ability for policies to handle returned results. Optimised circuit-breaker hot path. Fixed circuit-breaker threshold bug. Thanks to @reisenberge
Added overloads to WaitAndRetry and WaitAndRetryAsync methods that accept an onRetry delegate which includes the attempt count. Thanks to @SteveCote
Updated the Polly.Net40Async NuGet package to enable async via the SUPPORTSASYNC constant. Cleaned up the build scripts in order to ensure unnecessary
Your coding agent can read these notes before it upgrades. Set up the MCP server →