docs/community/libraries-and-contributions.md
TimedLockReadOnlyDictionary (until Polly v5.0.6)AsyncEx library for AsyncSemaphore (supports BulkheadAsync policy for .NET 4.0 only) (until Polly v5.9.0) | MIT licenseExceptionDispatchInfo implementation for .NET 4.0 (supports Timeout policy for .NET4.0 only) (until Polly v5.9.0) including also a contribution by @migueldeicaza | Licensed under and distributed under Creative Commons Attribution Share Alike license per StackExchange Terms of ServiceNotOnCapturedContext call to prevent potential deadlocks when blocking on asynchronous callsExecuteAndCaptureContextualPolicyContextualPolicy support for circuit-breakerExecuteAndCapture support with arbitrary context dataAdvancedCircuitBreakeronRetry delegates to async retry policiesPolly.Net40Async project/package supporting async for .NET 4.0 via Microsoft.Bcl.AsyncWaitAndRetry{Async} methods that accept an onRetry delegate which includes the attempt count.Policy<TResult>.ExecuteAndCapture{Async} overloads.TimeoutPolicy).PolicyWrap.PolicyKeys and context to all policy executions, as bedrock for policy events and metrics tracking executions.PCL259 target. PCL259 support is provided via .NET Standard 1.0 target, going forward.HalfOpen state and cases when breakDuration is shorter than typical call timeout. Thanks to @vgouw and @kharos for the reports and insightful thinking.LastException property.NoOpPolicy.PolicyRegistry for storing and retrieving policies.IReadOnlyPolicyRegistry interface.project.json and packages.configTimeoutPolicy with TimeoutStrategy.Pessimistic rethrows delegate exceptions without additional AggregateException.PolicyResult, to support testing.CachePolicy, with interfaces for pluggable cache providers and serializers.sleepDurationProvider, allowing WaitAndRetry to take account of systems which specify a duration to wait as part of a fault response; e.g. Azure CosmosDB may specify this in x-ms-retry-after-ms headers or in a property to an exception thrown by the Azure CosmosDB SDK.GetPolicies() extension methods to IPolicyWrap..HandleInner<TException>(...) syntax for handling inner exceptions natively.PolicyWrap configuration to configure policies via interfaces.onBreak overload that provides the prior state on a transition to an open state.RelativeTtl in CachePolicy now always returns a ttl relative to time item is cached.TimeoutPolicy to be configured with Timeout.InfiniteTimeSpan.IHttpClientFactory for ASP.NET Core 2.1.WaitAndRetry{Forever} overloads where onRetry takes the retry number as a parameter.onTimeout takes thrown exception as a parameter.PolicyRegistry.default(TResult).continueOnCaptureContext not being honored in async retry implementation (bug in v7.1.0 only).netcoreapp3.0 target; code clean-ups.IConcurrentPolicyRegistry methods on PolicyRegistry