Releases: thomhurst/Kevlar
Releases · thomhurst/Kevlar
Release list
v1.0.0
Kevlar 1.0 establishes the stable Shield API.
What's Changed
Other changes
- test: expand resilience coverage by @thomhurst in #183
- refactor(api): make StrategyNode internal by @thomhurst in #246
- fix(http): retain shared buffer across attempts by @thomhurst in #249
- docs: expose partitioning guide by @thomhurst in #247
- build(packaging): ship symbol packages by @thomhurst in #251
- fix(api): disambiguate typed fallback values by @thomhurst in #250
- feat(properties): add typed key collection APIs by @thomhurst in #253
- feat(strategy): expose invocation semantics by @thomhurst in #254
- fix(engine): fault empty async throws by @thomhurst in #256
- test: harden resilience verification by @thomhurst in #184
- fix(tests): use renamed fallback API by @thomhurst in #257
- refactor(options): seal sibling types by @thomhurst in #259
- docs: align observability with runtime by @thomhurst in #252
- build: pin assembly identity policy by @thomhurst in #271
- fix(packaging): pin friend dependencies by @thomhurst in #272
- fix(handling): exclude fail-fast errors by @thomhurst in #268
- fix(tests): use FallbackTo in new tests by @thomhurst in #258
- docs: correct timeout handling examples by @thomhurst in #255
- fix(http): cap standard retry delays by @thomhurst in #262
- fix(breaker): ignore unhandled exceptions by @thomhurst in #263
- fix(timeout): classify wrapped cancellations by @thomhurst in #267
- refactor(backoff)!: unify kind +semver: major by @thomhurst in #269
- build(packaging): complete NuGet metadata by @thomhurst in #276
- fix(http): retry HttpClient timeouts by @thomhurst in #260
- refactor(naming)!: standardize queue limits by @thomhurst in #278
- perf(outcome): avoid Exception.Data lookups by @thomhurst in #270
- fix(build): ship native net8 assets by @thomhurst in #266
- ci(docs): validate site on pull requests by @thomhurst in #280
- refactor(events)!: clarify attempt counters by @thomhurst in #275
- build(deps): lower shipped floors by @thomhurst in #273
- refactor(naming)!: finish Hedge rename by @thomhurst in #279
- docs: add exception reference by @thomhurst in #265
- refactor(exceptions)!: unify rejection hierarchy by @thomhurst in #282
- fix(http): preserve non-replayable outcomes by @thomhurst in #264
- refactor(api): fold VoidShield into Shield by @thomhurst in #261
- feat(backoff)!: add configurable jitter modes by @thomhurst in #283
- ci(release): harden publish workflow by @thomhurst in #281
- feat(hedging)!: type action generators by @thomhurst in #285
- feat(builders): complete shield overload parity by @thomhurst in #286
- docs: expand Polly migration guide by @thomhurst in #288
- feat(di): add typed shield provider parity by @thomhurst in #292
- docs: add community support resources by @thomhurst in #284
- feat(hedging): add delay generators by @thomhurst in #295
- refactor(rate): distinguish adapter surface by @thomhurst in #291
- docs: improve getting started flow by @thomhurst in #287
- refactor(events): unify callback context by @thomhurst in #289
- fix(validation): distinguish option errors by @thomhurst in #298
- docs: structure changelog for 1.0 by @thomhurst in #274
- feat(handling): add contextual predicates by @thomhurst in #293
- docs(testing): restructure testing guide by @thomhurst in #300
- fix(http): harden standard shield options by @thomhurst in #302
- fix(circuit): harden state reporting by @thomhurst in #305
- feat: add outcome execution APIs by @thomhurst in #290
- docs: add samples and API reference by @thomhurst in #277
- refactor(hedge): align attempt counting by @thomhurst in #294
- perf(partition): avoid blocking async lookup by @thomhurst in #303
- feat(callbacks): isolate notification failures by @thomhurst in #310
- fix(di): harden shield reloads by @thomhurst in #312
- feat(telemetry): enrich strategy events by @thomhurst in #306
- feat(http): add per-request shield options by @thomhurst in #301
- feat(di): add dynamic registry reload by @thomhurst in #299
- perf(metrics): publish observable state gauges by @thomhurst in #309
- fix(sync): reject async strategy callbacks by @thomhurst in #307
- feat(logging): add structured strategy logs by @thomhurst in #313
- feat(analyzers): diagnose pooled context hazards by @thomhurst in #308
- fix(analyzers): track deferred state mutations by @thomhurst in #319
- chore(release): freeze 1.0 API baselines by @thomhurst in #320
- refactor(callbacks)!: one ValueTask hook per strategy event — drop the sync/async twins by @thomhurst in #352
- ci(release): publish packages before tag by @thomhurst in #356
- fix(release): derive publish package set by @thomhurst in #357
- docs: correct framework lists and retry cap by @thomhurst in #355
- feat(circuit-breaker): support monitor fan-out by @thomhurst in #358
- docs(analyzers): document tooling and opt-out by @thomhurst in #359
- refactor(exceptions)!: separate timeout failures by @thomhurst in #360
- fix(deps): restore .NET 8 package floors by @thomhurst in #361
- refactor(api)!: rename result value clauses by @thomhurst in #362
- docs: streamline getting-started path by @thomhurst in #363
- docs(release): consolidate 1.0 notes by @thomhurst in #366
- fix(retry): cap generated delays by default by @thomhurst in #368
- fix(packaging): pin coupled Kevlar packages by @thomhurst in #370
- fix(http): snapshot handler options by @thomhurst in #371
- fix(resilience): dispose superseded results by @thomhurst in #369
- docs: define stable support commitments by @thomhurst in #374
- refactor(http)!: nest standard hedge options by @thomhurst in #372
- fix(http): replay ordinary JSON content by @thomhurst in #367
- docs: correct Polly migration guide by @thomhurst in #376
- refactor(api)!: normalize pre-freeze surface by @thomhurst in #373
- docs: add practical resilience guides by @thomhurst in #378
- fix(metrics): aggregate partition gauges by @thomhurst in #377
- feat(execution): support parent contexts by @thomhurst in #380
- feat(metrics): add enrichment hooks by @thomhurst in #379
- feat(http): hedge request authority by default by @thomhurst in #381
- feat(timeout): report ignored cancellation by @thomhurst in #382
- refactor...
v0.10.0
What's Changed
- feat(api): compile-time void fallback safety by @thomhurst in #182
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- refactor(api): immutable handling-clause builders by @thomhurst in #181
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- refactor(api): API review cleanups — rename WhenResultDefault, builder aliasing fix, clause-visibility analyzer by @thomhurst in #180
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- chore(deps): update dependency tunit to 1.65.51 by @thomhurst in #178
- refactor(api): third round of pre-release API cleanups by @thomhurst in #179
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- +semver:minor - refactor(api): second round of pre-release API cleanups by @thomhurst in #177
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- refactor(api): pre-release API cleanups from review by @thomhurst in #176
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
- chore: Configure Renovate by @thomhurst in #143
- chore(deps): update dependency clsx to ^2.1.1 by @thomhurst in #144
- chore(deps): update docusaurus to ^3.10.2 by @thomhurst in #145
- chore(deps): update react by @thomhurst in #147
- chore(deps): update dependency typescript to ~5.9.3 by @thomhurst in #148
- chore(deps): update actions/checkout action to v7 by @thomhurst in #149
- chore(deps): update actions/deploy-pages action to v5 by @thomhurst in #150
- chore(deps): update actions/download-artifact action to v8 by @thomhurst in #151
- chore(deps): update actions/setup-dotnet action to v6 by @thomhurst in #152
- chore(deps): update dependency typescript to v7 by @thomhurst in #155
- chore(deps): update actions/upload-artifact action to v7 by @thomhurst in #154
- chore(deps): update actions/setup-node action to v7 by @thomhurst in #153
- docs(api): standardize named arguments by @thomhurst in #166
- feat(outcome): add Outcome.TryGetResult by @thomhurst in #168
- feat(analyzers): add KEV005 fallback check by @thomhurst in #170
- refactor(builders)!: enforce clause grammar by @thomhurst in #172
- feat(strategy): expose handling clauses by @thomhurst in #173
- refactor(retry)!: split typed retry options by @thomhurst in #171
- feat(composition)!: seal handling clauses by @thomhurst in #169
- feat(fallback)!: unify options configuration by @thomhurst in #174
- feat(shield): add WhenAnyError reset by @thomhurst in #167
- feat(options): add per-strategy handling overrides by @thomhurst in #175
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- fix(analyzer): honor KEV001 suppression by @thomhurst in #35
- fix(retry): stop after hook cancellation by @thomhurst in #36
- test(fallback): lock cancellation and scope by @thomhurst in #39
- fix(strategy): define continuation contract by @thomhurst in #38
- fix(timeout): define cancellation arbitration by @thomhurst in #42
- test: add deterministic race orchestration by @thomhurst in #41
- fix(rate-limit): reclaim cancelled reservations by @thomhurst in #40
- test(ci): enforce coverage and mutation gates by @thomhurst in #37
- test: cover execution overload contracts by @thomhurst in #49
- fix(hedging): suppress post-cancel launches by @thomhurst in #46
- fix(di): cache registry factory execution by @thomhurst in #52
- test(pack): verify shipped package contracts by @thomhurst in #43
- fix(hedging): preserve composition cancellation by @thomhurst in #54
- fix(context): harden pooled state contracts by @thomhurst in #51
- fix(composition): define wrap contracts by @thomhurst in #48
- fix(circuit-breaker): normalize shared timelines by @thomhurst in #53
- test(context): define ambient flow contracts by @thomhurst in #57
- fix(metrics): count every execution by @thomhurst in #58
- fix(http): enforce documented retry contracts by @thomhurst in #55
- test(model): add deterministic strategy invariants by @thomhurst in #60
- build: enable reproducible package metadata by @thomhurst in #63
- fix(metrics): follow OTel conventions by @thomhurst in #65
- fix(options): harden numeric boundaries by @thomhurst in #50
- test(perf): enforce allocation budgets by @thomhurst in #62
- test(stress): compare sustained pipelines by @thomhurst in #66
- fix(circuit-breaker): serialize transitions by @thomhurst in #61
- test(concurrency): harden limiter accounting by @thomhurst in #56
- test(docs): compile public snippets by @thomhurst in #69
- test(packaging): verify publish compatibility by @thomhurst in #64
- feat(execution): add outcome state overloads by @thomhurst in #82
- feat(di): support atomic config reload by @thomhurst in #91
- feat(retry): add async delay generation by @thomhurst in #92
- feat(timeout): add dynamic duration hooks by @thomhurst in #93
- feat(metrics): add live strategy telemetry by @thomhurst in #70
- feat(partitioning): add bounded shield providers by @thomhurst in #85
- feat(analyzers): diagnose pipeline hazards by @thomhurst in #84
- feat(fallback): add asynchronous notifications by @thomhurst in #95
- perf(execution): fast-path empty outcome calls by @thomhurst in #104
- feat(context): add caller-seeded execution context by @thomhurst in #83
- perf(concurrency): fast-path uncontended permits by @thomhurst in #105
- perf(circuit-breaker): fast-path synchronous outcomes by @thomhurst in #106
- feat(circuit-breaker): add dynamic break hooks by @thomhurst in #94
- feat(chaos): add controlled fault injection by @thomhurst in #103
- perf(partitioning): optimize warm cache locking by @thomhurst in #108
- feat(testing): add pipeline descriptors by @thomhurst in #101
- feat(http): add safe replay and endpoint routing by @thomhurst in #96
- feat(hedging): add per-attempt actions by @thomhurst in #102
- feat(testing): add telemetry recording helpers by @thomhurst in #110
- feat(testing): add resilience state probes by @thomhurst in #111
- feat(testing): add deterministic time helpers by @thomhurst in #112
- feat(grpc): add unary client resilience by @thomhurst in #71
- perf(context): optimize single-property execution by @thomhurst in #120
- perf(metrics): eliminate state tag allocations by @thomhurst in #119
- perf(strategies): fast-path sync completion by @thomhurst in #122
- perf(circuit): fast-path configured execution by @thomhurst in #121
- feat(limiters): add rejection hooks by @thomhurst in #130
- feat(http): configure standard shield by @thomhurst in #131
- feat(http): add standard hedging handler by @thomhurst in #136
- feat(rate-limit): add framework adapter by @thomhurst in #137
- feat(analyzers): detect ephemeral stateful shields by @thomhurst in #129
- test(benchmarks): align Polly comparisons by @thomhurst in #138
- feat(rate-limit): add partitioned limiter adapter by @thomhurst in #140
- feat(http): reload standard configuration by @thomhurst in #141
- docs: streamline README by @thomhurst in #142
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- perf(fallback): add synchronous fast path by @thomhurst in #7
- feat: retarget net8.0 to net10.0, adopt System.Threading.Lock via Polyfill by @thomhurst in #8
Full Changelog: v0.2.0...v0.2.1