Releases: App-vNext/Polly
Releases · App-vNext/Polly
8.1.0
Highlights
- 🐛 Fix issues that prevented the new Polly assemblies from the v8 release from being used in AoT scenarios - thanks to @davidfowl for reporting this issue (#1732)
- 🧰 Added new API to make
ResilienceContextPool
settable via DI from @cmeyertons (#1693) - 📖 Lots of great documentation updates from @peter-csala and @IEvangelist
What's Changed
- Only show stable versions in README by @martincostello in #1649
- Update samples to stable release by @martincostello in #1647
- v8 Release - commit and validate public API by @martintmk in #1632
- Fix documentation comment for CB's MinimumThroughput by @peter-csala in #1654
- Bump SonarAnalyzer.CSharp from 9.10.0.77988 to 9.11.0.78383 by @dependabot in #1658
- Bump github/codeql-action from 2.21.8 to 2.21.9 by @dependabot in #1661
- Bump martincostello/update-dotnet-sdk from 2.5.0 to 3.0.0 by @dependabot in #1659
- Bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in #1660
- Docs tweaks by @martincostello in #1655
- Add Github repo link to the docs navbar by @adamnova in #1666
- Add markdownlint by @martincostello in #1664
- [Docs] Mocking of
ResiliencePipelineProvider
by @martintmk in #1662 - Enable search for docs by @martincostello in #1669
- [Docs] Add notes to use Polly.RateLimiting package by @peter-csala in #1672
- Docs: Include info about numerical type used in metrics in telemetry.md by @agehrke in #1673
- [Docs] Add event names to telemetry by @martintmk in #1674
- [Docs] Expand fault handling docs by @martintmk in #1675
- Bump BenchmarkDotNet from 0.13.8 to 0.13.9 by @dependabot in #1680
- Bump docfx from 2.70.4 to 2.71.0 by @dependabot in #1679
- Add spell checker by @martincostello in #1667
- [Docs] Improve telemetry docs by @martintmk in #1681
- [Docs] Improve registry docs by @martintmk in #1684
- [Docs] Fix link to ResiliencePipelineBuilder by @martintmk in #1685
- Update .NET SDK to 7.0.402 by @polly-updater-bot in #1686
- Bump ReportGenerator from 5.1.25 to 5.1.26 by @dependabot in #1689
- Bump ossf/scorecard-action from 2.2.0 to 2.3.0 by @dependabot in #1692
- Bump github/codeql-action from 2.21.9 to 2.22.2 by @dependabot in #1691
- Bump SonarAnalyzer.CSharp from 9.11.0.78383 to 9.12.0.78982 by @dependabot in #1690
- Group xunit updates by @martincostello in #1695
- Bump the xunit group with 2 updates by @dependabot in #1696
- Use GitHub Issue template forms by @martincostello in #1676
- [Docs] Fallback after retries by @martintmk in #1698
- [Docs] Add sequence diagrams to timeout strategy by @peter-csala in #1699
- Turn off var preferences by @cmeyertons in #1700
- [Docs] Use docfx to dynamically render mermaid diagrams by @peter-csala in #1701
- #1687 - Make ResilienceContextPool settable via DI by @cmeyertons in #1693
- Update to cancel downstream operation in TimeoutStrategy.Pessimistic by @lor1mp in #1697
- [Docs] Add sequence diagrams to fallback, retry, and rate limiter by @peter-csala in #1702
- [Docs] Add diagrams to circuit breaker by @peter-csala in #1704
- [Docs] Remove theme overwrites from mermaid diagrams by @peter-csala in #1705
- Add link to retries blog by @martincostello in #1707
- Attempt to fix code-ql issues by @martintmk in #1708
- [Docs] Add sequence diagrams to hedging by @peter-csala in #1706
- Bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #1709
- Bump github/codeql-action from 2.22.2 to 2.22.3 by @dependabot in #1710
- Bump the xunit group with 1 update by @dependabot in #1711
- [Docs] Improvements by @martintmk in #1712
- [Docs] Add diagrams to resilience pipeline by @peter-csala in #1714
- [Docs] Add diagram to action generator hedging by @peter-csala in #1713
- Simmy v8 feedback by @vany0114 in #1682
- Bump ossf/scorecard-action from 2.3.0 to 2.3.1 by @dependabot in #1719
- Bump github/codeql-action from 2.22.3 to 2.22.4 by @dependabot in #1720
- [Docs] Update snippets' readme by @peter-csala in #1721
- [Docs] Update DocFx by @martintmk in #1722
- [Docs] Add docs for metering enrichment by @martintmk in #1724
- [Docs] Fix the API generation by @martintmk in #1725
- [Docs] Add sequence diagram to resilience context by @peter-csala in #1726
- Update .NET SDK to 7.0.403 by @polly-updater-bot in #1729
- [Docs] Fix hedging documentation about unhappy paths by @peter-csala in #1730
- [Docs] Minor fixes on pipeline registry by @peter-csala in #1733
- .NET 8 preparation by @martincostello in #1734
- Update NuGet tools by @martincostello in #1739
- Bump docfx by @martincostello in #1746
- Resolve IL2091 warnings by @martincostello in #1744
- Add component benchmark by @martincostello in #1743
- [Docs] Make quick start samples consistent by @peter-csala in #1735
- Prevent concurrent page builds by @martincostello in #1747
- Fix test by @martincostello in #1748
- Restore 100% mutations by @martincostello in #1750
- [Docs] Fix the policywrap sample by @peter-csala in #1728
- [Docs] Hedging context by @martintmk in #1749
- Run mutation tests on Windows instead of Linux by @martincostello in #1752
- Speed-up page builds by @martincostello in #1753
- Hedging strategy also deep-copies context for primary execution by @martintmk in #1754
- [Docs] Add diagram about hedging's context and callbacks by @peter-csala in #1751
- Prepare for 8.1.0 release by @martincostello in #1757
- Resolve AOT compilation issues by @martincostello in #1737
- Fix package signing verification by @martincostello in #1761
New Contributors
- @agehrke made their first contribution in #1673
- @cmeyertons made their first contribution in #1700
- @lor1mp made their first contribution in #1697
Full Changelog: 8.0.0...8.1.0
8.0.0
What's Changed
- BenchmarkDotNet 0.13.2 by @SimonCropp in #972
- Update branch guidance by @martincostello in #976
- Merge v724-or-v730 to default branch by @martincostello in #979
- update to Moq 4.18.3 by @SimonCropp in #974
- Microsoft.NET.Test.Sdk 17.4 by @SimonCropp in #973
- Fix bracket in documentation by @tomaszek92 in #983
- Changed the branch name to main by @joelhulen in #987
- Updated the branch to main by @joelhulen in #988
- Updated the changelog link to the main branch by @joelhulen in #989
- Fixed paths and links by @joelhulen in #990
- Added blog post on circuit breakers in asp.net 6 by @rocklan in #986
- #944- Added to readme explaining waitand/retryforever is not actually… by @james-2001 in #992
- Remove AppVeyor build by @martincostello in #993
- Upload code coverage to codecov.io by @martincostello in #995
- Build on Linux and macOS by @martincostello in #996
- update to SDK 7.0.101 by @SimonCropp in #984
- remove redundant Microsoft.CSharp by @SimonCropp in #998
- remove some trailing whitespace by @SimonCropp in #997
- Microsoft.Extensions.Caching.Memory 7.0.0 by @SimonCropp in #999
- remove redundant langversion by @SimonCropp in #1000
- enable nullable in benchmarks by @SimonCropp in #1001
- Add some missing asserts by @SimonCropp in #1002
- remove some redundant async state machines by @SimonCropp in #985
- Enable nullable in tests by @SimonCropp in #1003
- Add dependabot updates by @martincostello in #1004
- Add GitHub Actions workflow to update the .NET SDK by @martincostello in #1005
- remove some redundant parens by @SimonCropp in #1008
- Move to implicit usings by @SimonCropp in #1006
- move tests from net472 to 481 by @SimonCropp in #1011
- also benchmark on net7 by @SimonCropp in #1009
- also run tests on net7 by @SimonCropp in #1010
- enable some nullables by @SimonCropp in #1012
- more nullables by @SimonCropp in #1013
- Use dotnet add instead of Install-Package by @martincostello in #1016
- Update .NET SDK to 7.0.102 by @github-actions in #1017
- Bump FluentAssertions from 6.8.0 to 6.9.0 by @dependabot in #1018
- use default literal by @SimonCropp in #1020
- use some compound assignments by @SimonCropp in #1022
- consistent expression bodied member usage by @SimonCropp in #1021
- try get nullable by @SimonCropp in #1015
- propagate null for error delegates by @SimonCropp in #1023
- Bump BenchmarkDotNet from 0.13.3 to 0.13.4 by @dependabot in #1029
- Bump ReportGenerator from 5.1.13 to 5.1.14 by @dependabot in #1030
- Bump ReportGenerator from 5.1.14 to 5.1.15 by @dependabot in #1032
- Bump ReportGenerator from 5.1.15 to 5.1.16 by @dependabot in #1033
- Update .NET SDK to 7.0.200 by @github-actions in #1036
- Update .NET SDK by @martincostello in #1037
- Bump ReportGenerator from 5.1.16 to 5.1.17 by @dependabot in #1039
- Bump FluentAssertions from 6.9.0 to 6.10.0 by @dependabot in #1038
- Bump BenchmarkDotNet from 0.13.4 to 0.13.5 by @dependabot in #1042
- Bump Microsoft.NET.Test.Sdk from 17.4.1 to 17.5.0 by @dependabot in #1043
- Update .NET SDK to 7.0.201 by @github-actions in #1045
- Updated blog link by @joelhulen in #1046
- Bump ReportGenerator from 5.1.17 to 5.1.18 by @dependabot in #1047
- v8 announcement on main readme by @joelhulen in #1049
- Bump ReportGenerator from 5.1.18 to 5.1.19 by @dependabot in #1051
- Add coverage summaries in Actions by @martincostello in #1052
- Introduce Polly.Core by @martintmk in #1053
- Introduce mutation testing by @martintmk in #1031
- Update .NET SDK to 7.0.202 by @github-actions in #1055
- Introduce IResilienceStrategy and core primitives for V8 by @martintmk in #1056
- Bump to v8 by @martincostello in #1057
- Introduce ResilienceStrategyBuilder by @martintmk in #1058
- Make IResilienceStrategy abstract class by @martintmk in #1059
- Add README.md for Polly.Core by @martintmk in #1060
- Introduce Polly.Core.Benchmark by @martintmk in #1061
- Introduce ResilienceProperties by @martintmk in #1062
- Drop DelegatingResilienceStrategy by @martintmk in #1063
- Introduce ResilienceTelemetryFactory by @martintmk in #1073
- Adopt Central Package Management by @martincostello in #1074
- Polly now references Polly.Core by @martintmk in #1075
- Fix coverage upload by @martincostello in #1076
- Introduce TimeProvider by @martintmk in #1077
- Always attempt to upload mutation report by @martintmk in #1078
- Ignore some dependabot updates by @martincostello in #1082
- Move the LegacyFolder outside of Polly.Core by @martintmk in #1083
- Introduce Timeout Strategy by @martintmk in #1079
- Introduce ResilienceStrategyRegistry by @martintmk in #1085
- Introduce base class for predicates by @martintmk in #1094
- Introduce Polly.Extensions project by @martintmk in #1088
- Introduce OutcomeGenerator by @martintmk in #1095
- Introduce OutcomeEvent by @martintmk in #1096
- Update README.md by @kmgallahan in #1099
- Introduce RetryResilienceStrategy by @martintmk in #1101
- Introduce RateLimiterResilienceStrategy by @martintmk in #1103
- Cleanup rate limiter extensions by @martintmk in #1107
- Fix sample code for
Timeout
overload by @prodehghan in #1109 - Add more benchmarks for V8 by @martintmk in #1106
- Update LICENSE file by @martincostello in #1105
- Introduce ObjectPool and use it for ResilienceContext pooling by @martintmk in #1111
- Add OSSF Scorecard by @martincostello in #1104
- Update .NET SDK to 7.0.203 by @github-actions in #1114
- Fix unstable tests by @martintmk in #1115
- Pooling of CancellationTokenSources by @martintmk in #1116
- Drop ResilienceStrategyBuilderOptions by @martintmk in #1117
- Bump github/codeql-action from 2.2.11 to 2.2.12 by @dependabot in #1120
- Bump actions/checkout from 3.5.0 to 3.5.2 by @dependabot in #1118
- Bump codecov/codecov-action from 3.1.1 to 3.1.2 by @dependabot in #1119
- Minor API cleanup by @martintmk in #1124
- Drop ResilienceTelemetryFactory by @martintmk in #1123
- Cleanup of callback API by @martintmk in #1125
- Add Async suff...
8.0.0-beta.2
What's Changed
- Updates for beta.1 by @martincostello in #1531
- Drop unused internal property by @martintmk in #1532
- Update .NET tools by @martincostello in #1533
- Cleanup the Polly.Core README.md by @martintmk in #1539
- Drop table of contents in README.md by @martintmk in #1541
- Add actionlint by @martincostello in #1542
- Cleanup samples by @martintmk in #1544
- Move code from markdown to snippets by @martintmk in #1540
- Trim the main README.md by @martintmk in #1550
- Use proactive term instead of non-reactive by @martintmk in #1552
- Add the v8 README.md by @martintmk in #1548
- Use token to clone repository by @martincostello in #1554
- [Docs] Add docs for individual resilience strategies by @martintmk in #1553
- [Docs] Fix v8 link by @martintmk in #1557
- Fix Name and InstanceName not being set for reloadable pipelines by @martintmk in #1555
- [Docs] Telemetry page by @martintmk in #1556
- Fix the link to v8 docs (second attempt) by @martintmk in #1559
- Improve the samples by @martintmk in #1562
- [Docs] Hedging and rate limiter strategy docs by @martintmk in #1560
- [Docs] Dependency injection by @martintmk in #1564
- [Docs] Improve landing page to the docs by @martintmk in #1566
- Drop the build target for net7.0 by @martintmk in #1572
- Drop redundant System.Diagnostics.DiagnosticSource package reference by @martintmk in #1573
- Improve the docs and behavior around infinite retries by @martintmk in #1574
- [Docs] Resilience pipeline registry by @martintmk in #1575
- [Docs] Consolidate headings by @martintmk in #1576
- Delay pipeline disposal when still in use by @martintmk in #1579
Full Changelog: 8.0.0-beta.1...8.0.0-beta.2
8.0.0-beta.1
What's Changed
- Updates for alpha.9 by @martincostello in #1526
- Finalize the API review by @martintmk in #1528
- Disposing pipeline should not dispose external inner pipeline by @martintmk in #1529
- Clean duplications around disposing the pipelines by @martintmk in #1530
Full Changelog: 8.0.0-alpha.9...8.0.0-beta.1
8.0.0-alpha.9
What's Changed
- Updates for alpha.8 by @martincostello in #1465
- Fix unstable build by @martintmk in #1466
- Improve samples by @martintmk in #1467
- Specify DebuggerDisplay for ReactiveResilienceStrategyBridge by @martintmk in #1468
- Drop the
Extensions
fromPolly.Extensions
namespace by @martintmk in #1469 - Remove Moq by @martincostello in #1472
- Add new metering tests to cover uncovered lines by @martintmk in #1474
- Default names for individual resilience strategies by @martintmk in #1475
- Introduce
NonReactiveResilienceStrategy
by @martintmk in #1476 - Drop
TelemetryResilienceStrategy
by @martintmk in #1482 - API Review feedback (1) by @martintmk in #1484
- Rename ResilienceStrategy to ResiliencePipeline by @martintmk in #1483
- API Review Feedback (2) by @martintmk in #1485
- Introduce TelemetryListener by @martintmk in #1486
- Improve documentation by @martintmk in #1487
- Fix metering tests by @martintmk in #1488
- Hide validation APIs by @martintmk in #1490
- Logging improvements by @martintmk in #1489
- Hide/drop some unused APIs by @martintmk in #1491
- Cleanup internals by @martintmk in #1492
- ResilienceContextPool improvements by @martintmk in #1493
- Hide IsSynchronous property by @martintmk in #1494
- Drop unused ResiliencePipelineRegistry APIs by @martintmk in #1495
ResiliencePipelineRegistry
is now disposable by @martintmk in #1496- Move pipeline-related internals into
Pipeline
folder by @martintmk in #1497 - Update benchmarks by @martintmk in #1503
- Minor ResiliencePipelineRegistry cleanup of internals by @martintmk in #1505
- API Review Feedback by @martintmk in #1506
- Minor API cleanup by @martintmk in #1508
- Clenaup rate limiter API by @martintmk in #1509
- Cleanup ResiliencePipelineRegistry internals by @martintmk in #1510
- Allow to dispose linked resources on pipeline disposal by @martintmk in #1511
- Simplify and enhance the pipeline reloads by @martintmk in #1512
- Drop
OutcomeArguments
struct by @martintmk in #1513 - API Review Feedback by @martintmk in #1520
- Got rid of some warnings in the Polly project by @IgorIgorevich94 in #1514
- API Review Feedback by @martintmk in #1521
- Cleanup Outcome internals and drop unused hedging and fallbacks APIs by @martintmk in #1523
- Improve debugging experience for
ResilienceProperties
by @martintmk in #1524 - Protect against retry delay overflows by @martintmk in #1522
- Fix DelayAsync extension by @martintmk in #1525
New Contributors
- @IgorIgorevich94 made their first contribution in #1514
Full Changelog: 8.0.0-alpha.8...8.0.0-alpha.9
8.0.0-alpha.8
What's Changed
- Updates for 8.0.0-alpha.7 by @martincostello in #1433
- Improve logging messages by @martintmk in #1436
- Rename
BuilderName
toName
by @martintmk in #1437 - Do not record null tags to meter by @martintmk in #1438
- Fix telemetry test failures by @martintmk in #1439
- Simplify OutcomeResilienceStrategy by @martintmk in #1440
- Drop simple circuit breaker by @martintmk in #1444
- Allow jitter for all backoff types by @martintmk in #1445
- Rename
Attempt
toAttemptNumber
by @martintmk in #1447 - Hide
CircuitBreakerStateProvider.LastHandledOutcome
by @martintmk in #1446 - Rename
ResilienceStrategyBuilder
toCompositeStrategyBuilder
by @martintmk in #1448 - Added
readonly
modifier to private fields which are never changed by @Lehonti in #1451 - Reduced nesting levels through block-scoped
using
s and the inversion of anif
block. by @Lehonti in #1453 - Simplify file names by @martintmk in #1455
- Improve
MultipleStrategiesBenchmark
by @martintmk in #1457 - Elaborate about synchronous vs asynchronous executions by @martintmk in #1456
- Fix some typos in XML docs by @martintmk in #1458
- Make
ReactiveResilienceStrategy
public by @martintmk in #1460 - Make the
ReactiveResilienceStrategy
type-safe by @martintmk in #1462 - Use
StrategyHelper
for safe executions and drop redundant methods by @martintmk in #1463 - Drop unnecessary allocation in circuit breaker by @martintmk in #1464
New Contributors
Full Changelog: 8.0.0-alpha.7...8.0.0-alpha.8
8.0.0-alpha.7
What's Changed
- Introduce ResilienceStrategyBuilder.Validator by @martintmk in #1412
- Update docs. by @martintmk in #1413
- Annotate the library with trimming attributes by @martintmk in #1414
- Update trimming justifications by @martincostello in #1415
- Fix condition by @martincostello in #1416
- API Review Feedback (1) by @martintmk in #1420
- Introduce ResilienceContextPool (ApiReview) by @martintmk in #1421
- Convert records to classes by @martintmk in #1422
- Rename ExecuteCoreAsync to ExecuteCore by @martintmk in #1424
- Benchmark for strategy creation by @martintmk in #1426
- Fix README.md example syntax errors by @Sensational-Code in #1427
- Improve usability of ResilienceStrategy by @martintmk in #1428
- Cleanup OutcomeResilienceStrategy by @martintmk in #1430
- Drop the ResilienceStrategyBuilder.IsGenericBuilder property by @martintmk in #1431
- Allow isolate CircuitBreakerManualControl using constructor by @martintmk in #1432
New Contributors
- @Sensational-Code made their first contribution in #1427
Full Changelog: 8.0.0-alpha.6...8.0.0-alpha.7
8.0.0-alpha.6
What's Changed
- Update docs by @martincostello in #1382
- Add support for
PartitionedRateLimiter
by @martintmk in #1383 - Fix debugger proxies by @martintmk in #1384
- Allow adding generic strategies to generic builder by @martintmk in #1386
- Add new issue that demonstrates how to use PartitionedRateLimiter by @martintmk in #1385
- Introduce
TelemetryOptions.OnTelemetryEvent
by @martintmk in #1387 ResilienceStrategyRegistry
API improvements by @martintmk in #1388- Bump github/codeql-action from 2.20.1 to 2.20.3 by @dependabot in #1389
- Simplify condition by @martincostello in #1391
- Introduce
ResilienceStrategyBuilder.InstanceName
and use it in telemetry by @martintmk in #1392 - Introduce
Polly.Testing
package by @martintmk in #1394 - Kill mutant by @martintmk in #1395
- Fix unstable test by @martintmk in #1396
- Rename AddResilienceStrategy to AddResilienceStrategyRegistry by @martintmk in #1397
- Update README.md for Polly.Extensions with telemetry info by @martintmk in #1401
- Kill mutant by @martintmk in #1407
- Assertion failed when running tests in Visual Studio by @martintmk in #1408
- Include PublicApiAnalyzers by @martintmk in #1400
- Kill mutant by @martintmk in #1409
- Demonstrate how to create dynamic strategies with complex keys by @martintmk in #1366
Full Changelog: 8.0.0-alpha.5...8.0.0-alpha.6
8.0.0-alpha.5
What's Changed
- Skip mutation tests for tagged builds by @martincostello in #1354
- Update CHANGELOG by @martincostello in #1353
- Drop TimeProvider.Delay by @martintmk in #1355
- Fix race conditions in tests by @martintmk in #1358
- Simplify the logging by @martintmk in #1359
- Prepare for .NET 8 by @martincostello in #1360
- Introduce ResilienceEventSeverity by @martintmk in #1361
- Upload coverage reports by @martincostello in #1363
- Update .NET SDK to 7.0.305 by @github-actions in #1364
- Kill mutant by @martintmk in #1368
- Accelerate build in VS by @martintmk in #1369
- Bump ossf/scorecard-action from 2.1.3 to 2.2.0 by @dependabot in #1372
- Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 by @dependabot in #1371
- Simplify handling of reloads by @martintmk in #1374
- Allow reusing CircuitBreakerManualControl across multiple CBs by @martintmk in #1375
- PR and issue automation by @martincostello in #1370
- Bump dependabot/fetch-metadata from 1.5.1 to 1.6.0 by @dependabot in #1376
- Exclude some labels from stale by @martincostello in #1378
- Debugger proxies for resilience strategies by @martintmk in #1379
- Introduce
ResilienceContext.OperationKey
by @martintmk in #1380
Full Changelog: 8.0.0-alpha.4...8.0.0-alpha.5
8.0.0-alpha.4
What's Changed
- Rename FakeTimeProvider by @martincostello in #1349
- Adopt FakeTimeProvider by @martincostello in #1350
- Drop custom validation attributes by @martintmk in #1351
- Drop TimeProvider.CancelAfter by @martintmk in #1352
Full Changelog: 8.0.0-alpha.3...8.0.0-alpha.4