Paramore.Fences.Testing
9.0.0
Prefix Reserved
dotnet add package Paramore.Fences.Testing --version 9.0.0
NuGet\Install-Package Paramore.Fences.Testing -Version 9.0.0
<PackageReference Include="Paramore.Fences.Testing" Version="9.0.0" />
<PackageVersion Include="Paramore.Fences.Testing" Version="9.0.0" />
<PackageReference Include="Paramore.Fences.Testing" />
paket add Paramore.Fences.Testing --version 9.0.0
#r "nuget: Paramore.Fences.Testing, 9.0.0"
#:package Paramore.Fences.Testing@9.0.0
#addin nuget:?package=Paramore.Fences.Testing&version=9.0.0
#tool nuget:?package=Paramore.Fences.Testing&version=9.0.0
Fences
Fences is a .NET resilience and transient-fault-handling library that allows developers to express strategies such as Retry, Circuit Breaker, Timeout, Rate-limiting, Hedging and Fallback in a fluent and thread-safe manner.
Fences is a community fork of Polly, maintained by Brighter Command. It is not affiliated with, endorsed by, or supported by App vNext or the Polly maintainers.

Why Fences exists
Polly's source is BSD 3-Clause licensed, and it stays open source. That licence lets anyone redistribute it, in source or binary form, provided the copyright notice and disclaimer are retained. Building and publishing our own binaries from that source is squarely within the grant.
The Open Source Maintainers Fee (OSMF) is App vNext's policy for the binaries they publish: a commercial consumer of those binaries may owe a fee above a revenue threshold. It governs their distribution, not the licence on the source, and it does not reach binaries built by anyone else.
That freedom is the OSMF's own argument. The case made for charging for binaries is that it stays within open source precisely because the source remains open and anyone is free to build and publish binaries of their own. It is one door, and it opens both ways: the principle that makes the fee compatible with open source is the same one that makes Fences legitimate.
Fences is the binary somebody else builds. We compile from the BSD 3-Clause source, publish under our own branding, and we do not apply the OSMF. Fences binaries are free, for everyone - no revenue threshold, no fee.
We track the Polly API today and expect to keep doing so. But Fences is under Brighter Command's stewardship now, so a future major version may diverge from Polly and stop being API-compatible. We will say so plainly when it does.
None of this is a criticism of App vNext, who have maintained Polly for years and are entitled to be paid for their work. Publishing our own binaries is exactly what the licence they chose allows.
Migrating from Polly
Fences 9.0 is forked from Polly 8.7.0 and the API is unchanged apart from one renamed type. For most projects the move is a package reference and a namespace: Polly.Core becomes Paramore.Fences.Core, and using Polly; becomes using Paramore.Fences;.
The telemetry names changed too, and that is the one part a find-and-replace over your own source will not fix. See the migration guide for the full mapping.
Release notes
- The repository's changelog describes changes by release. Entries for 8.7.0 and below are Polly's history, retained as the record of the code Fences is built on.
Documentation and samples
Documentation and samples for using Fences can be found in the repository's README and documentation.
| Product | Versions 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 is compatible. 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | 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 | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Paramore.Fences.Core (>= 9.0.0)
-
net8.0
- Paramore.Fences.Core (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 9.0.0 | 35 | 8/29/2026 |
| 9.0.0-alpha001 | 43 | 8/25/2026 |
See https://github.com/BrighterCommand/Fences/blob/main/CHANGELOG.md for details