Release v22.11.0
Summary
Cratis.Chronicle, Cratis.Chronicle.AspNetCore and Cratis.Chronicle.Testing are updated from 17.0.4 to 18.0.0, picking up 17.0.5, 17.1.0, 17.1.1 and 18.0.0.
Added
- Chronicle 17.1.0: Server view under System showing running server instances with live CPU/memory (Cratis/Chronicle#3982)
- Chronicle 17.1.0: Bulk select and delete for Jobs, and bulk select and ignore for Recommendations, in the Workbench (Cratis/Chronicle#3986)
- Chronicle 17.1.0:
ClearFailedPartitionsoperator command to recover a wedged observer without direct database access (Cratis/Chronicle#3997)
Changed
Cratis.Chronicle,Cratis.Chronicle.AspNetCoreandCratis.Chronicle.Testingare updated to18.0.0- Chronicle 17.0.5:
Cratis.FundamentalsandCratis.Metrics.Roslynmove to 7.19.1 (Cratis/Chronicle#3998) - Chronicle 17.1.0: Switching namespace in the Workbench now consistently refreshes the current view, including via URL navigation, browser back/forward, and deep links (Cratis/Chronicle#3981)
- Chronicle 17.1.0: Pattern heatmap and causation rendering now recognizes reactors, commands, and ASP.NET requests, and shows identity display names instead of raw subject IDs (Cratis/Chronicle#3979)
- Chronicle 17.1.0: "By Silo" renamed to "By Instance" in the Clients view (Cratis/Chronicle#3982)
- Chronicle 17.1.0:
RetryPartitionnow reports an honest outcome instead of silently succeeding when it did nothing (Cratis/Chronicle#3997) - Chronicle 17.1.0: Chronicle no longer eagerly creates a namespace's database before it has received any data (Cratis/Chronicle#3990)
- Chronicle 18.0.0: Breaking:
ContentonAppendRequest,EventToAppend,EventForEventSourceId, andReviseRequestchanges frommap<string, JsonNode>back to a plain JSON string, matching how event content is already represented everywhere else on the wire (AppendedEventResponse.Content,EventRevision.Content). Any client built directly against the raw gRPC contracts for these four messages must send/receiveContentas a string, not a nested map.
Fixed
- Chronicle 17.0.5: The .NET client no longer reads the static type-universe snapshot, so reactor context value providers, compliance metadata providers, reactor side-effect handlers and polymorphic
[DerivedType]children in assemblies discovered after its first touch are found instead of silently missed (Cratis/Chronicle#3998) - Chronicle 17.1.0: Navigation flakiness in the Workbench sidebar and routing (Cratis/Chronicle#3980)
- Chronicle 17.1.0: Projections list not scrolling (Cratis/Chronicle#3978)
- Chronicle 17.1.0: Selecting Seed Data under General no longer also highlights the namespace Seed Data (Cratis/Chronicle#3977)
- Chronicle 17.1.0: A silo's startup task no longer hard-crashes on a transient
SiloUnavailableExceptionfrom a sibling silo mid-restart (Cratis/Chronicle#3967) - Chronicle 17.1.0: PII-encrypted fields now decrypt correctly when previewing a projection in the Workbench, matching Read Models (Cratis/Chronicle#3983)
- Chronicle 17.1.0: Ignore no longer silently fails for Recommendations, and its icon no longer matches Perform's (Cratis/Chronicle#3986)
- Chronicle 17.1.0: A kernel restart no longer risks a startup-recovery storm that saturates the kernel (Cratis/Chronicle#3997)
- Chronicle 17.1.0: Observers can no longer become permanently wedged in a "preparing catch-up" state that neither the watchdog nor operator commands could recover (Cratis/Chronicle#3997)
- Chronicle 17.1.1: The Publish GitHub Actions workflow now completes successfully for the Kotlin client. (Cratis/Chronicle#3970)
- Chronicle 18.0.0: Event append was completely broken — every
Append,AppendMany,AppendManyForEventSources, andRevisecall failed with a serialization error (No serializer for type System.Text.Json.Nodes.JsonNode). (Cratis/Chronicle#4003)