-
10.3.0-altcha.2
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 39sreleased this
2026-05-12 20:09:00 -04:00 | 0 commits to feat/altcha-check-pipeline since this releaseAdaptive PoW difficulty groundwork for the Altcha pipeline.
What's new
IAltchaDifficultyAdvisor(Svrnty.CQRS.Altcha.Abstractions) — new interface returning an optional per-request complexity (Task<uint?>) for the next challenge.null
defers to the upstream Altcha service's configured default, so consumers that don't opt in see no behavioural change.NullAltchaDifficultyAdvisor(Svrnty.CQRS.Altcha) — no-op fallback wired byAddSvrntyAltcha()viaTryAddSingleton, so applications can register their own advisor
without ordering constraints.AltchaGrpcChallengeProvidernow resolves the advisor and setsCreateChallengeRequest.Complexitywhen the advisor returns a value. The Altcha server clamps to its
configured min/max, so callers don't enforce bounds here.
Compatibility
No breaking changes to existing consumers — the no-op default keeps behaviour identical when no advisor is registered.
Consumed by
plan-b's
AltchaAdaptiveDifficultyAdvisor(repeat-offender count × CF threat-score lanes) bumps complexity exponentially for suspicious actors while keeping baseline cheap for legitimate users.Downloads
-
gRPC generator bug fixes
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 28sreleased this
2026-04-20 19:53:45 -04:00 | 0 commits to staging since this releasePre-release for validation against downstream consumers (api, accounting-api, report-api, route-api) before promoting to stable 10.2.1.
Fixes —
Svrnty.CQRS.Grpc.Generators-
CS8601 in proto→command list mappings. Generator was emitting
request.X?.ToList()forrepeatedproto fields. Proto3repeatedfields are non-nullRepeatedField<T>, so the?.producedList<T>?and triggered CS8601 when
assigned to a non-nullable command property. Dropped the?.in the 4 affected emission sites (kept?.Itemsfor value-type collection wrapper messages where the wrapper itself can be null). Consumers can drop
<NoWarn>$(NoWarn);CS8601</NoWarn>after upgrading. -
Locale-dependent
decimal.Parsein generated mappers. Generated proto→domain mappers parsed decimals withoutIFormatProvider, throwingFormatExceptionon systems with comma decimal separator (e.g., French locale) when receiving
values like"0.95". All 4 sites now passSystem.Globalization.CultureInfo.InvariantCulture.
No API changes. No breaking changes. Drop-in replacement for
10.2.0.Downloads
-
-
Move UseSvrntyCqrs to Svrnt.CQRS instead of MinimalApi
StableAll checks were successfulPublish NuGets / build (release) Successful in 34sreleased this
2026-03-12 06:46:27 -04:00 | 0 commits to main since this releaseDownloads
-
Move UseSvrntyCqrs outside of MinimalApi project
StableAll checks were successfulPublish NuGets / build (release) Successful in 32sreleased this
2026-03-12 05:56:35 -04:00 | 4 commits to main since this releaseDownloads
-
add support for generic
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 39sreleased this
2026-02-19 18:58:19 -05:00 | 8 commits to main since this releaseDownloads
-
Date filter
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 41sreleased this
2026-02-17 11:29:25 -05:00 | 9 commits to main since this releaseDownloads
-
add AND / OR support when filtering
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 34sreleased this
2026-02-02 17:55:05 -05:00 | 10 commits to main since this releaseDownloads
-
Now generate proto on first build
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 40sreleased this
2026-01-26 14:39:12 -05:00 | 11 commits to main since this releaseDownloads
-
Use existing generated proto file instead of overwwriting
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 39sreleased this
2026-01-22 12:13:41 -05:00 | 12 commits to main since this releaseDownloads
-
Sorry for the notifications Mathias
Pre-ReleaseAll checks were successfulPublish NuGets / build (release) Successful in 34sreleased this
2026-01-22 00:34:40 -05:00 | 15 commits to main since this releaseDownloads