Release digest: August 24 - 31, 2026 (Week 35)
Version movement
Section titled “Version movement”| Repository | Previous version | Current version |
|---|---|---|
| AI | First release | v0.1.1 |
| AI.Distribution | First release | v0.2.0 |
| Arc | v22.1.0 | v22.7.0 |
| Chronicle | v16.38.2 | v16.42.1 |
| Chronicle.TypeScript | v3.1.0 | v3.1.1 |
| cli | v2.17.0 | v2.19.1 |
| Components | v3.5.0 | v4.0.0 |
| Fundamentals | v7.18.1 | v7.18.2 |
| Prompter | v0.2.1 | v0.2.2 |
| Screenplay | v4.6.0 | v4.11.0 |
| Screenplay.CritterStack | v0.21.0 | v0.24.0 |
| Screenplay.Generation | v0.9.0 | v0.18.0 |
| Specifications | v4.0.0 | v4.0.1 |
| Stage | v3.9.1 | v3.10.1 |
| Synopsis | v1.1.1 | v1.1.2 |
- Chronicle (Release v16.42.1):
PatternDetection.PersistenceIntervalsetting controlling how often mined behavior patterns are persisted (default 5 seconds). - Components (Release v4.0.0): Add Components-owned typed parts, stable
data-cratis-partvalues, canonical state attributes, provider messages, strict public declarations, and standalone Common controls. (#173) - Components (Release v4.0.0): Add semantic Button
variant,tone, andshapeprops and value-firstChangeHandler<T>callbacks. - Components (Release v4.0.0): Add the stable nine-slot
stable-presentation/v1renderer profile for Button, IconButton, TextInput, TextArea, Checkbox, Radio, Switch, ProgressBar, and Surface. - Components (Release v4.0.0): Add
@cratis/components.mui,@cratis/components.primereact, and@cratis/components.primereact10as optional presentation adapters. (#191, #192) - Components (Release v4.0.0): Add
@cratis/components.conformance, a development-only verification harness for renderer adapter authors covering behavior, parts, state, SSR, and accessibility. Ordinary applications do not install it. - Components (Release v4.0.0): Add
@cratis/components.migrator, an optional development CLI for upgrading Components 3 source imports, Button appearance props, and value-first callbacks. It uses syntax-aware codemods internally and is not an application runtime dependency. - Components (Release v4.0.0): Add a Components ESLint configuration that prevents deprecated root imports and protects renderer-independent boundaries.
- Components (Release v4.0.0): Add a generated Components 3/4 compatibility manifest used by migration tooling and release validation.
- Components (Release v4.0.0): Add the explicit
@cratis/components/Chatsubpath with sidebar, topic, conversation, message-body, action, mention, emoji, and observable-query surfaces. - Components (Release v4.0.0): Add Canvas region auto-membership, optional Arc messenger notifications, Canvas controls, and Canvas minimap support.
- Components (Release v4.0.0): Add
ItemAddedToRegion,ItemRemovedFromRegion,NoteTextChanged, andChatMessageAddedmessaging contracts. - Components (Release v4.0.0): Add renderer coexistence, primitive adaptation, custom composition, licensing, migration, capability-profile, Chat, and Canvas messaging documentation.
- Arc (Release v22.7.0):
RuleFor(...).IgnoreConceptRules()on the concept-flavoredRuleForoverload, so a validator can suppress a cross-cuttingConceptValidator<T>for one of its own properties. - Screenplay (Release v4.11.0): Description-role source-map entries with exact non-zero source spans while preserving existing constructor/enum compatibility. (#138)
- Screenplay (Release v4.11.0):
UpdateSliceDescriptionworkspace operation with expected-current-value, stale-revision, unsupported-field, unknown-id and same-document ownership conflicts. (#138) - Screenplay (Release v4.11.0): Exact UTF-8/BOM-preserving patch preview/apply through
ScreenplayWorkspace.Propose, with no filesystem or raw arbitrary-text API. (#138) - Chronicle (Release v16.42.0):
GetUsualActionson the .NET client and thePatternsgRPC service — given a situation, what is usually done in it, ranked by confidence and at most one answer per action (#3872) - Chronicle (Release v16.42.0):
FacetName.IsAction,FacetSet.WithoutActions()andBehaviorPattern.AnswersFor— the split between the action a pattern names and the context it was taken in, which mining already relied on privately - Screenplay (Release v4.10.0):
ScreenplayWorkspaceaggregate with strict document/path admission, materialized identity catalogs, derived semantic compilation, and deterministic exact-byte revisions. (#137) - Screenplay (Release v4.10.0): Expected workspace/catalog revision transactions for whole-document add, replace, move, stable-key rename, and remove operations. (#137)
- Screenplay (Release v4.10.0): Pure write plans with exact before/after documents and typed stale, collision, compilation, and identity-migration conflicts. (#137)
- Screenplay (Release v4.10.0): Explicit semantic and event-contract retirement for deliberate declaration removal. (#137)
- Screenplay.CritterStack (Release v0.24.0): Atomic
MartenScreenplayAdapterwith stable identity, Generation capability descriptor, source-mapping admission, and Marten-only provenance. (#44) - Screenplay.CritterStack (Release v0.24.0): Shared Marten, Wolverine, and Wolverine–Marten API capability identities for the atomic migration. (#44)
- Screenplay.CritterStack (Release v0.24.0): Compatibility parity and Marten aggregation probe coverage. (#44)
- Stage (Release v3.10.0): Deterministic backend-only Cratis application scaffold with exact dependency and Chronicle image pins. (#71)
- Stage (Release v3.10.0):
CratisRenderingfacade owning target identity, scaffold profile creation, admission, and artifact planning. (#11) - Stage (Release v3.10.0): Standalone generated-application verification for Debug build/specs, Release build, hostile parent MSBuild files, and Docker health when available. (#71)
- Screenplay.Generation (Release v0.18.0): Canonical producer-scoped fact links on generation diagnostics, with fail-closed admission validation. (#24)
- Screenplay.Generation (Release v0.18.0): Ordered
FilesandImplementationFilescollections retaining every realization of one semantic artifact or validation rule. (#24) - Chronicle (Release v16.41.0): Behavior pattern mining across every event flowing through an event store, using a bounded streaming sketch so storage scales with distinct recurring behavior rather than event volume (#3857)
- Chronicle (Release v16.41.0):
IPatterns.GetPatternsAton the .NET client — a scope plus an optional moment defaulting to now, with the day and the part of the day derived using the same rule the engine bucketed events with when it mined them.GetPatternsremains underneath for a context that is not a moment. - Chronicle (Release v16.41.0):
ToTimeBucket()onDateTimeOffset, the engine’s own bucketing rule, so an application asking about a moment does not have to carry a second copy of it — a copy that would drift silently, returning nothing rather than failing - Chronicle (Release v16.41.0):
IPatterns.GetScopeson the .NET client and thePatternsgRPC service, listing the scopes that hold established patterns — what a browsing surface needs before it can offer one - Chronicle (Release v16.41.0): Behavior patterns in the Workbench: a pivot over everything established, across scope, command, initiator, day, time of day, aggregate, cause and specificity, with a confidence bar on each card
- Chronicle (Release v16.41.0): Pattern heatmap in the Workbench: a day-by-time-of-day grid shaded by activity on a perceptual color scale, with a panel naming what a scope usually does at a given moment
- Chronicle (Release v16.41.0): Backoffice sample generating half a year of backdated internal business activity — accounts payable, the ledger, procurement, HR and payroll — where everybody holds three or four different jobs at different points in the week, and one actor deliberately has no routine at all
- Screenplay (Release v4.9.0): Explicit
for <value>syntax for specification event sources and command destinations, with parser, printer, walker, grammar, and diagnostics coverage. (#167) - Screenplay (Release v4.9.0): Additive typed destination, occurrence-context, and event-context expression contracts reserved for ESM v2. (#167)
- Screenplay (Release v4.8.0): Portable source paths, immutable UTF-8 workspace documents, and deterministic workspace revisions. (#137)
- Screenplay (Release v4.8.0): Lossless source tokens with exact UTF-16 and UTF-8 spans, comments, trivia, and parser-faithful line boundaries. (#137)
- Screenplay (Release v4.7.0): Canonical RegisterProject single-file and folder source forms with pinned identities, ESM bytes, revision, and normalized specification outcomes. (#168)
- Screenplay (Release v4.7.0): Test-framework-free corpus API for deterministic cross-host conformance. (#168)
- Chronicle (Release v16.40.0):
ChronicleOptions.RegistrationRetry— registering a client’s artifacts is now retried with an exponential backoff instead of failing host startup when the Kernel is busy. Five attempts by default, 2s growing to 30s, all configurable (#3869) - Chronicle (Release v16.40.0): Failed partition attempts carry what kind of failure they were —
Handling,Timeout,DisconnectedorUnknown— surfaced through the client SDK and the Workbench API (#3869) - Arc (Release v22.6.0): Events appended by a command now carry a
Commandcausation naming that command. The chain already said how the work arrived — an HTTP request, a reactor — but not what was asked for, so an appended event could be traced back to a request path and no further. A command executed from another command stacks its link on the outer one’s, which is what makes “the command one level up” answerable. - Chronicle (Release v16.39.0): Behavior pattern detection in the kernel: contextual facets are read off each event, mined into recurring combinations with a bounded Lossy Counting sketch, and only combinations clearing the support and confidence thresholds are persisted. Storage scales with distinct recurring behavior rather than with event volume. (#3857)
- Chronicle (Release v16.39.0):
PatternsgRPC service withGetPatterns, which answers a partial context ranked by specificity and then confidence, andGetPatternsForScope, which lists everything a scope has established. (#3857) - Chronicle (Release v16.39.0):
IEventStore.Patternson the .NET client for asking what a scope usually does in a context, and for browsing everything it has established. Nothing clearing the confidence bar returns nothing rather than the best of a bad set. (#3857) - Chronicle (Release v16.39.0):
Cratis:Chronicle:PatternDetectionconfiguration for which facets participate, the largest combination size, the Lossy Counting error parameter, the support and confidence thresholds, and the daily decay factor. (#3857) - Chronicle (Release v16.39.0):
ICausationManager.BeginScope, which puts a causation on the chain and takes it off again when disposed.Addis append-only, which is right for a link describing how work arrived and wrong for one describing a bounded piece of work — two such pieces done one after the other would leave the second reading as caused by the first. (#3857) - Chronicle (Release v16.39.0): Documentation for behavior patterns and for the .NET pattern API.
- Screenplay.Generation (Release v0.17.0): Add source-neutral artifact, member, type-use, binding, and identifier-role facts with fixed-snapshot derivation lineage. (#19)
- Screenplay.Generation (Release v0.17.0): Add exact nested .NET type-use fact emission for independently composed adapters. (#19)
- AI (Release v0.1.1): Include version-pinned Pi usage instructions in
@cratis/ai-fundamentals. (#181) - AI (Release v0.1.0): Validate release intent through the shared pinned Cratis workflow. (#181)
- Screenplay.Generation (Release v0.16.0): Add source-neutral adapter descriptors, capabilities, structured probes, immutable run snapshots, and atomic contribution admission. (#23)
- Screenplay.Generation (Release v0.16.0): Add an exactly-once deterministic .NET adapter runner with modern and legacy registrations, source authority, version and capability enforcement, and isolated failures. (#23)
- Screenplay.Generation (Release v0.16.0): Add snapshot-aware generation with per-fact lowered, provenance-only, omitted, conflicted, or fail-closed dispositions. (#23)
- Arc (Release v22.4.0): Recover generated command success and appended-event expectations with exact predicate values. (Cratis/Screenplay.Generation#25)
- Arc (Release v22.4.0): Recover generated read-model scenarios, inherited properties, and application-proven event placement. (Cratis/Screenplay.Generation#25)
- Arc (Release v22.4.0): Recover Stage-generated query specifications as query/read-model artifacts,
Returns, StateView placement, and ordered argument/result values. (Cratis/Screenplay.Generation#25) - Screenplay.CritterStack (Release v0.23.1): Characterize generated-source exclusion, receiver boundaries, payload admission, saga filtering, and authored unresolved-write ordering. (Cratis/Screenplay.Generation#18)
- Components (Release v3.6.0): Topic-based
Chatcomponent family —ChatSidebar(PrimeReact Drawer opening next to the view),ChatTopicListandChatConversation— with topics and messages handed in as live arrays, aChatMessage/ChatTopicinterface contract the components are generic over, host-side topic auto-naming throughonRequestTopicNamewith a pending placeholder until the name arrives, host-resolved authors withrenderAvatar/renderAuthorNameoverrides, and extensible per-message action descriptors; exported as@cratis/components/Chat - Components (Release v3.6.0):
ChatSidebarForObservableQueries— the sidebar bound to two Cratis Arc observable queries for real-time topics and messages - Components (Release v3.6.0):
@-mention candidates from a host-suppliedresolveMentionCandidatesprovider (sync or async) on the composer and conversation, mentions reported on send, and mentions rendered distinctly in message bodies - Components (Release v3.6.0): Mention helpers
findMentionRanges,extractMentionsandmentionSegments, generic over anything with a name - Screenplay.Generation (Release v0.15.0): Add authoritative authored invocation and assignment enumeration, exact normalized method signatures, and typed bounded constant, type, payload, and collection extraction. (#18)
- Screenplay.Generation (Release v0.15.0): Add atomic fail-closed diagnostics with immutable snapshots, exact child locations, and comprehensive negative coverage. (#18)
- cli (Release v2.18.0): Add deterministic project-aware Screenplay generation for direct project closures, explicit target frameworks, trusted workspace boundaries, and source-structure options. (#111)
- Screenplay.CritterStack (Release v0.23.0): Add optional feature-root placement policy and deterministic strict/compatibility provenance. (#57)
- Arc (Release v22.3.0): Add project-aware Screenplay generator overloads without changing compatibility output.
- Screenplay.Generation (Release v0.13.0): Add fail-closed flat-source compatibility placement, exact alternate source ownership, and deterministic policy provenance. (#26)
- Arc (Release v22.2.0): Add an independent Arc specification-fact adapter with exact scenario, step, value, artifact, placement, and source evidence. (Cratis/Screenplay.Generation#25)
- Arc (Release v22.2.0): Add fail-closed atomic contribution for unsupported computed values, read-model assertions, and event predicates. (Cratis/Screenplay.Generation#25)
- Screenplay.Generation (Release v0.12.0): Public invocation, receiver-root, and overload-safe method identity APIs for .NET source adapters. (#18)
- Screenplay.Generation (Release v0.12.0): Canonical source-adapter guidance for authored-source authority, neutral facts, deterministic composition, and verification. (#18)
- Screenplay.Generation (Release v0.12.0): A versioned realization-report design that preserves semantic and technical provenance as separate future work. (#24)
- Screenplay.CritterStack (Release v0.22.0): Recover batched handlers, storage-action persistence, bound document reads, compound stages, projection publications, wire settings, listeners, and convention-alteration evidence.
- Screenplay.CritterStack (Release v0.22.0): Add focused positive and negative specifications plus a maintainer case study for extending source adapters safely.
- Screenplay.Generation (Release v0.11.0): Add reusable Roslyn helpers for collection elements, typed attribute arguments, and exact companion-method families.
- Screenplay.Generation (Release v0.11.0): Add declared concept nomination with neutral concept and primitive-representation facts.
- Screenplay.Generation (Release v0.10.0): Add framework-neutral scenario, ordered step, typed value, outcome, and target-artifact fact contracts. (#25)
- Screenplay.Generation (Release v0.10.0): Add fail-closed discriminator validation, deterministic resolution, atomic whole-scenario admission, exact placement attachment, and Screenplay lowering. (#25)
Changed
Section titled “Changed”- Components (Release v4.0.0): Make the package root setup-only; import components from explicit
@cratis/components/*subpaths. (#162) - Components (Release v4.0.0): Replace PrimeReact provider/theme/pass-through contracts with Components-owned configuration, tokens, typed parts, and semantic state. (#163, #170)
- Components (Release v4.0.0): Keep React Aria as an internal dependency behind Components-owned public contracts.
- Components (Release v4.0.0): Move
pixi.jsto an optional peer used only by Canvas and PivotViewer. - Components (Release v4.0.0): Rebuild ChatSidebar without PrimeReact dependencies or public PrimeReact contracts.
- Components (Release v4.0.0): Move the generic Pixi-free Chat Ki
- Screenplay (Release v4.11.0): Workspace documentation now demonstrates stable-identity slice-description patch preview/apply and its admitted limitations. (#138)
- cli (Release v2.19.0): Upgraded Stage Contracts and Rendering.Cratis to 3.10.0 and delegated application planning to
CratisRendering. (#124) - cli (Release v2.19.0): Removed CLI-owned Cratis versions and hand-authored scaffold files. (#124)
- cli (Release v2.19.0): Added parity and fail-closed specs proving facade-identical plans and zero artifacts for unsupported semantics. (Cratis/Screenplay#173)
- Stage (Release v3.10.1): Aligned Stage with the coherent Screenplay and CanonicalCorpus 4.10.0 package set. (Cratis/Screenplay#168)
- Stage (Release v3.10.1): Loaded RegisterProject source and identity catalogs through
RegisterProjectCorpus.LegacyV1and the real serializers. (Cratis/Screenplay#168) - Stage (Release v3.10.1): Proved both physical source forms produce identical artifact paths, bytes and hashes. (Cratis/Screenplay#173)
- Chronicle (Release v16.42.0):
GetPatternsAtanswers with commands rather than with the moment it was handed. It is built onGetUsualActionsnow, which is what its name and its documentation already promised. - Chronicle (Release v16.42.0):
GetPatternsis unchanged and stays the call for the opposite question — given a situation you can describe completely, including the command, which established patterns cover it. That is the check to make before flagging an action as unusual, and it is the only one of the two answerable from a keyed candidate lookup. - Screenplay (Release v4.10.0): Identity migration now distinguishes internal, explicit retirement from unexplained stale assignments without changing the existing public rename-only contract. (#137)
- Screenplay (Release v4.10.0): Folder documentation now shows revision-safe, destination-independent workspace proposals. (#137)
- Screenplay.CritterStack (Release v0.24.0): Adopted the Screenplay Generation 0.17 contract family in lockstep. (#44)
- Screenplay.CritterStack (Release v0.24.0): Marten document discovery can exclude Wolverine–Marten integration APIs without changing the existing compatibility adapter default. (#44)
- Stage (Release v3.10.0): Generated Debug applications now keep the host active beside inline specifications while containing the expected entry-point warning locally. (#71)
- Stage (Release v3.10.0): Profiles with changed identities, versions, inputs, bytes, or hashes are rejected before rendering. (#11)
- Stage (Release v3.10.0): Plans with unsupported reachable semantics now return blocking diagnostics and zero candidate artifacts. (#13)
- Screenplay.Generation (Release v0.18.0): Diagnostic disposition now follows typed fact links instead of parsing human-readable messages. (#24)
- Screenplay.Generation (Release v0.18.0): Definitions differing only by source or implementation file now resolve as one semantic variant while preserving a canonical compatibility file. (#24)
- Screenplay (Release v4.9.0): ESM v1 binding now blocks specification event-source assertions with
PLAY0268until their typed ESM v2 semantics are implemented. (#167) - Screenplay (Release v4.9.0): ESM v1 validation rejects populated v2-only context fields before canonical serialization. (#167)
- Chronicle (Release v16.40.0): When several methods on a reactor or reducer match the same event type, the public one now wins, then the one with the richest signature. A private helper extracted from a handler can no longer take that handler’s place (#3870)
- Chronicle (Release v16.40.0): A projection catches up through a single job step walking the sequence in global order, rather than one step per event source (#3869)
- Chronicle (Release v16.40.0): Catch-up and replay bring their job steps up after subscribing has returned, so registering a projection no longer waits for them (#3869)
- Chronicle (Release v16.40.0):
Observers.SubscriberTimeoutis now applied to subscriber calls — it previously had no effect at all. The default is raised from 5 to 30 seconds to match the bound the transport already imposes, so nothing changes for anyone who has not set it, and0now means waiting indefinitely rather than falling back to five seconds (#3869) - Chronicle (Release v16.40.0): A partition whose last attempt timed out no longer counts toward the observer quarantine thresholds, so a congested period cannot take an otherwise healthy observer out of service (#3869)
- Chronicle (Release v16.39.2):
Cratis.Arcupdated to 22.6.0. Events appended through an Arc command now carry the command that produced them, and a command executed from another command carries the one above it. - Chronicle (Release v16.39.2): Every
[Command]declares a public instanceHandle()rather than an internal one, which is the contract Arc documents and now enforces. - Arc (Release v22.6.0): Every dependency updated to its latest version, including
Cratis.Chronicle16.39.1 and theCratis.Fundamentals7.18.2 /Cratis.Metrics.Roslyn7.18.2 it requires. - Chronicle (Release v16.39.0): Pattern mining reads a causation that carries a
commandTypeproperty by that name rather than by its causation type, so commands are distinguishable from each other instead of sharing one value. - Arc (Release v22.5.0): Arc analyzers and generators now require the .NET SDK declared by
global.json(10.0.400or later in that SDK band) because they target Roslyn 5.9. - Arc (Release v22.5.0):
Cratis.CodeAnalysisis a dependency-only umbrella over the ARC and ARCCHR analyzer packages. - Arc (Release v22.5.0):
Cratis - Arc (Release v22.5.0):
Cratis.Arc - Arc (Release v22.5.0):
Cratis.Arc.Chronicle - Arc (Release v22.5.0):
Cratis.Arc.Chronicle.CodeAnalysis - Arc (Release v22.5.0):
Cratis.Arc.Chronicle.Testing - Arc (Release v22.5.0):
Cratis.Arc.Core - Arc (Release v22.5.0):
Cratis.Arc.Core.CodeAnalysis - Arc (Release v22.5.0):
Cratis.Arc.EntityFrameworkCore - Arc (Release v22.5.0):
Cratis.Arc.MongoDB - Arc (Release v22.5.0):
Cratis.Arc.OpenApi - Arc (Release v22.5.0):
Cratis.Arc.ProxyGenerator - Arc (Release v22.5.0):
Cratis.Arc.ProxyGenerator.Build - Arc (Release v22.5.0):
Cratis.Arc.ProxyGenerator.Specs.CommandResponseHandlerDependency - Arc (Release v22.5.0):
Cratis.Arc.ProxyGenerator.Specs.FakeCommandResponseHandlerDependency - Arc (Release v22.5.0):
Cratis.Arc.Screenplay - Arc (Release v22.5.0):
Cratis.Arc.Swagger - Arc (Release v22.5.0):
Cratis.Arc.Testing - Arc (Release v22.5.0):
Cratis.CodeAnalysis - Arc (Release v22.5.0):
Cratis.Testing - Arc (Release v22.5.0):
@cratis/arc - Arc (Release v22.5.0):
@cratis/arc.react - Arc (Release v22.5.0):
@cratis/arc.react.mvvm - Arc (Release v22.5.0):
@cratis/arc.vite - Arc (Release v22.5.0):
@cratis/eslint-plugin-arc - Chronicle (Release v16.38.5): Documented on
SetFromContextAttribute<TEvent>andChildrenFromAttribute<TEvent>that referencing an event type gives AutoMap access to its entire payload, even when the attribute itself never reads it. (#3843) - Chronicle (Release v16.38.5): Bumped
Cratis.Fundamentalsto a prerelease that hardens JSON deserialization of concept values to fail loudly instead of silently producingnullfor an unrecognized underlying value type, found while investigating #3847. - Screenplay.Generation (Release v0.17.0): Resolve exact member bindings by complete artifact key and fail closed on conflicting, malformed, or unrepresentable evidence while preserving existing aggregate and legacy adapter APIs. (#19)
- AI (Release v0.1.0): Publish normal
0.x.yFundamentals packages to npmlatestfrom labeled merges. (#181) - AI (Release v0.1.0): Keep exact source, checksum, lifecycle, provenance, and no-support controls without a recurring manual deployment gate. (#181)
- Screenplay.Generation (Release v0.16.0): Add a modern Vogen descriptor and structured probe while preserving legacy contribution bytes. (#23)
- Screenplay.Generation (Release v0.16.0): Document explicit adapter rosters, migration guidance, and the boundaries with derivation lineage and realization reports. (#23)
- Screenplay.Generation (Release v0.16.0): Verify the complete surface through candidate-only consumers and unchanged legacy binaries. (#23)
- Arc (Release v22.4.0): Adopt the verified Generation
0.15.0bounded-source evidence release. (Cratis/Screenplay.Generation#25) - Arc (Release v22.4.0): Reject computed, conditional, repeated, ambiguous, incomplete, lookalike, or unsupported scenario shapes atomically with no partial facts. (Cratis/Screenplay.Generation#25)
- Screenplay.CritterStack (Release v0.23.1): Upgrade all four Generation dependencies to the verified
0.15.0release. (Cratis/Screenplay.Generation#18) - Screenplay.CritterStack (Release v0.23.1): Migrate Marten document and Wolverine event-stream readers to shared authored enumeration, exact method signatures, and receiver binding. (Cratis/Screenplay.Generation#18)
- Components (Release v3.6.0): Every color in the chat kit — panel, bubbles, composer, mention suggestions, emoji and reaction pickers, typing indicator, failure line — now resolves through the
--cratis-*token seam, so the chat follows the host’s PrimeReact theme instead of a hardcoded dark palette - Screenplay.Generation (Release v0.15.0): Migrate Vogen validation-message discovery to shared authored invocation, signature, formal-argument, and bounded-value helpers while preserving fact, diagnostic, and generated-source bytes. (#18)
- Screenplay.Generation (Release v0.15.0): Document the complete .NET source evidence API and verify it through current and legacy package consumers. (#18)
- Screenplay.Generation (Release v0.14.0): Allow complete read-model and query specification scenarios to resolve and lower without a command step while preserving ordered phases and atomic rejection of multiple command steps. (#25)
- cli (Release v2.18.0): Preserve typed placement diagnostics and relocation-safe provenance while keeping generated document standard output isolated. (#111)
- cli (Release v2.17.1): Replace output-size multipliers with exact-version/workload guidance.
- cli (Release v2.17.1): Replace the all-observers replay pipeline with a bounded read-only identifier sample.
- cli (Release v2.17.1): Require exact target, authorization, current state, and recovery procedure before confirmation bypass.
- cli (Release v2.17.1): Describe replay/retry as state-changing reprocessing rather than generically “destructive.”
- cli (Release v2.17.1): Narrow output auto-detection and tool-context wording to current observable behavior rather than named-tool compatibility.
- cli (Release v2.17.1): Regenerate
CHRONICLE.mdthroughcratis init --refresh; do not hand-edit generated output. - cli (Release v2.17.1): Align the sentinel package-closure expectation with the current
0.10.1Generation package manifest. - cli (Release v2.17.1):
dotnet build Cli.slnx -c Release: 5 projects, 0 errors, 0 warnings. - cli (Release v2.17.1):
dotnet test Source/Cli.Specs/Cli.Specs.csproj -c Release: 890 tests passed, 0 warnings. - cli (Release v2.17.1): Regression specs deny the replay-all pipeline, unversioned multiplier, and generic safeguard wording while requiring bounded confirmation guidance.
- cli (Release v2.17.1): Generated
CHRONICLE.md, generator source, andllm-contextcontain no replay-all/xargs example or removed size multipliers. - Screenplay.CritterStack (Release v0.23.0): Resolve placement and cross-project subjects through Generation 0.13.2 with atomic fail-closed behavior. (#57)
- Arc (Release v22.3.0): Derive neutral Arc specification placement through Generation 0.12.0 with typed, atomic fail-closed behavior. (Cratis/Screenplay.Generation#26)
- Screenplay.Generation (Release v0.13.0): Validate candidate packages against the released 0.12.0 public API and exercise the new contract through current and legacy consumers. (#26)
- Arc (Release v22.2.0): Take Screenplay 4.6.0 and Screenplay.Generation 0.10.x, raising the Roslyn host floor to 5.9/.NET SDK 10.0.400. (Cratis/Screenplay.Generation#25)
- Screenplay.Generation (Release v0.12.0): Candidate packages now verify clean consumers, shared source placement, compatibility ancestry, and deterministic generation before publication. (#26)
- Screenplay.Generation (Release v0.12.0): Source-placement adoption and compatibility follow-up guidance now records the remaining Arc, Critter Stack, and CLI work. (#26)
- Screenplay.CritterStack (Release v0.22.0): Classify diagnostic outcomes explicitly as unknown, conflicting, or unsupported.
- Screenplay.CritterStack (Release v0.22.0): Validate candidate packages against the 0.21.0 API baseline and run every retained canonical fixture twice for deterministic output.
- Screenplay.Generation (Release v0.11.0): Use shared concept fact emission for Vogen declarations without changing recovered behavior.
- Screenplay.Generation (Release v0.11.0): Document and verify syntax-resilient adapter discovery and bounded convention-extension diagnostics.
- cli (Release v2.19.1): Prevent Screenplay generation from reporting CLI0017 when NuGet content files are compiled through
buildTransitivewhile package metadata marks thembuildAction=None. (#104) - Chronicle (Release v16.42.1): Bulk event ingestion no longer overwhelms pattern capture: observing only mines in memory, and the scopes an interval touched are persisted on a cadence — eliminating the subscriber timeouts, failed partitions, and retry-job storms high-rate appends previously caused.
- Chronicle (Release v16.42.1): Behavior patterns are isolated per event store and per namespace — the same scope name in two stores, or in two tenants’ namespaces, no longer counts into one sketch and contaminates both sides’ persisted patterns.
- Chronicle (Release v16.42.1): Established behavior patterns survive a server restart: a scope’s persisted patterns are restored into the miner before its first event after a restart is mined, instead of being wiped in favor of whatever happened to occur first.
- Chronicle (Release v16.42.1): A namespace added while the server is running is subscribed for pattern capture immediately, instead of only after the next restart or event type registration.
- Chronicle (Release v16.42.1): The Backoffice sample’s
generateis genuinely re-runnable: its history marker now lands on a well-known event source so the guarding uniqueness constraint actually turns a second run away. - Chronicle (Release v16.41.0): A constraint registered while its event sequence was already active was ignored for up to a second afterwards, so appends landing in that window bypassed it silently. The sequence now re-reads constraints on its first append after activation. This reaches any application that appends immediately after registering a constraint, not only the observer case it was found through. (#3868)
- Chronicle (Release v16.41.0): Pattern capture subscribed only at server startup, so an event store whose clients connected afterwards mined nothing at all until the next restart. Capture now also subscribes when event types are registered. (#3867)
- Chronicle (Release v16.41.0):
CHR0024reported a read-model mapping written as[property: SetFrom<T>]as having no mapping source. Both that spelling and the bare attribute on the parameter are honored at runtime; the analyzer read only the parameter. - Chronicle (Release v16.41.0): The Workbench pattern scope selector showed its placeholder instead of the selected scope, while the views below it were already showing that scope’s patterns.
- Chronicle (Release v16.40.0): Adding a projection to an event store with a large event log could take the application down. Registration awaited one job-step grain being created, prepared and started per event source, exceeded its response timeout, failed host startup, and the restart re-registered into the queue it was waiting on (#3869)
- Chronicle (Release v16.40.0): A reactor’s handler was silently never invoked when the reactor also had a private helper whose first parameter was the same event type. Nothing was thrown and nothing was logged; only the missing side effects showed it (#3870)
- Arc (Release v22.6.2):
useIdentitynow hands back the details it promises. The default details were substituted only when the identity was explicitly unset, so an identity that resolved while carrying no details —isSetis true — passednullthrough to callers, even though the declared return type saysdetailsis aTDetails. That is exactly why call sites dereference it unguarded, and onenullreaching one of them takes the whole page down: a signed-in user got a blank screen with aTypeErroron the first property read after their backend restarted. The default now stands in whenever there are no details to give, without displacing real ones. - Arc (Release v22.6.1): An observable query now removes documents that stop matching its filter. The change-stream
$matchnarrowed every operation type by the observed filter, but that filter is rendered againstfullDocument— the document after the change — so an update that moved a document out of the result set produced an event the pipeline discarded.HandleChangecompounded it by only ever callingAddon an update. The result was an observable that could only grow: an observer watching “orders still open” was told when each order opened and never when it closed, and the stale rows survived until the client reconnected. (#2617) - Arc (Release v22.6.1):
QueryContext.TotalItemsstays correct when a document moves across the observed filter, rather than counting only inserts and deletes. - Arc (Release v22.6.0): The
Chronicle Publishedautomation retried a version conflict for ten minutes and then reported it as a NuGet indexing timeout. A conflict is a decision the workflow cannot make — the new Chronicle wants a dependency newer than the version pinned here — so it now fails immediately with the conflicting pins instead of blaming NuGet. This is what made the 16.39.1 update fail. - Arc (Release v22.6.0): The same automation merged its update with
--squash, which collapses the branch’s commits into a new one and leaves the originals unreachable. It now merges with a real merge commit. - Chronicle (Release v16.39.1): An application installing Chronicle 16.39.0 alongside the current Arc packages failed on startup in
AddCratisArcCorewith aTypeLoadExceptionfor a missingget_Patterns.IEventStore.Patternsis now a default interface member, so an existing implementation of the interface keeps compiling and loading unchanged. An implementation that does not support behavior patterns throwsPatternsNotSupportedrather than answering with something that looks like an absence of behavior. - Arc (Release v22.5.0): Prevent duplicate Arc source-generator execution when applications reference
Cratis.Arc,Cratis, or combine those packages withCratis.CodeAnalysis. - Arc (Release v22.5.0): Preserve ARC and ARCCHR analyzer/code-fix delivery through the existing standalone analyzer package IDs.
- Arc (Release v22.5.0): Keep Workspaces and Composition dependencies in the IDE/tool host rather than application output.
- Arc (Release v22.5.0): Keep proxy generation working when project package identities differ from assembly names or include analyzer-only dependencies.
- Chronicle (Release v16.38.5): String-keyed (
ConceptAs<string>) read-model partition keys no longer raise “Unrecognized Guid format” and freeze the partition when the schema reports a Guid-shaped format that the actual key value does not match. (#3844) - Chronicle (Release v16.38.5): A
[Passive]read model’sGetInstanceByIdnow resolves tonullinstead of throwingProjectionDefinitionNotSetwhen its projection definition has not been registered yet (the first-ever query before any event of its kind has been observed). (#3846) - Chronicle (Release v16.38.5):
IProjectionsManager.Ensure()no longer queues behind unrelated work on its grain, preventing the silo’s own startup path from timing out and crashing the host during a rolling redeploy. (#3848) - Components (Release v3.6.0): Pressing Enter right after picking a mention now sends the message instead of re-picking the same suggestion
- Components (Release v3.6.0): Region auto-membership events - regions detect items entering and leaving them and publish ItemAddedToRegion/ItemRemovedFromRegion (plus NoteTextChanged and ChatMessageAdded) over the Arc messenger, opt-in and silent without an ArcContext. Merged as #189 and released together with this pull request.
- cli (Release v2.18.0): Prevent invalid source placement and workspace diagnostics from overwriting output or disclosing physical checkout paths. (#111)
- Screenplay.Generation (Release v0.13.2): Match referenced source ownership by exact assembly identity and source module. (#39)
- Screenplay.Generation (Release v0.13.1): Resolve source-declared types only through their exact owning project source module. (#39)
- Screenplay.CritterStack (Release v0.22.0): Keep overloaded Wolverine handler subjects signature-stable and collision-free.
- Screenplay.Generation (Release v0.10.1): Admit exact bare specification rejections that intentionally assert no code or presentation message. (#29)
Deprecated
Section titled “Deprecated”- No updates