Releases: Cratis/Screenplay.CritterStack
Release list
Release v0.23.1
Summary
Adopts the released Generation bounded-source APIs without changing recovered facts, diagnostics, source ranges, or canonical generated output.
Changed
- Upgrade all four Generation dependencies to the verified
0.15.0release. (Cratis/Screenplay.Generation#18) - Migrate Marten document and Wolverine event-stream readers to shared authored enumeration, exact method signatures, and receiver binding. (Cratis/Screenplay.Generation#18)
Added
- Characterize generated-source exclusion, receiver boundaries, payload admission, saga filtering, and authored unresolved-write ordering. (Cratis/Screenplay.Generation#18)
Release v0.23.0
Summary
Use Generation\u2019s released source-placement contract for project-aware recovery while preserving existing compilation/no-context output.
Added
- Add optional feature-root placement policy and deterministic strict/compatibility provenance. (#57)
Changed
- Resolve placement and cross-project subjects through Generation 0.13.2 with atomic fail-closed behavior. (#57)
Release v0.22.0
Summary
Expands the independently authored Marten and Wolverine compatibility adapter while keeping ambiguous runtime behavior fail-closed and generated Screenplay output reviewable.
Added
- Recover batched handlers, storage-action persistence, bound document reads, compound stages, projection publications, wire settings, listeners, and convention-alteration evidence.
- Add focused positive and negative specifications plus a maintainer case study for extending source adapters safely.
Changed
- Classify diagnostic outcomes explicitly as unknown, conflicting, or unsupported.
- Validate candidate packages against the 0.21.0 API baseline and run every retained canonical fixture twice for deterministic output.
Fixed
- Keep overloaded Wolverine handler subjects signature-stable and collision-free.
Release v0.21.0
Summary
Add bounded, fail-closed Wolverine saga source characterization without adding Saga syntax to Screenplay. Framework lifecycle and runtime-only correlation remain report-only provenance; portable workflows continue to use commands, events, process/todo views, reactions, identities, and specifications.
Added
- Discover exact current and legacy authored saga state, legal lifecycle roles, messages, correlation evidence, and lifecycle provenance. (#50)
- Add framework-neutral signature-stable method identity shared by Marten document operations and Wolverine handler evidence. (#44)
- Add generated-source, overload, constructor, nested payload, direct delivery, event-stream, query, and ambiguity characterization. (#50)
Changed
Release v0.20.0
Summary
Adopt Screenplay Generation 0.9 source contexts so canonical and adapter evidence has stable project-qualified identity independently from its displayed source path, without changing generated Screenplay bytes.
Added
- Add explicit repository/workspace source policy and project-relative stable identities to the canonical host. (#29)
- Add bounded compatibility evidence for referenced authored declarations, generated-source exclusion, safe roots, relocation, and deterministic ordering. (#29)
- Pin all seven canonical output hashes and verify relocation stability. (#29)
Changed
Release v0.19.0
Summary
Current and legacy Wolverine dynamic-consistency boundaries are now retained from exact authored source without turning tags, boundary state, responses, or query metadata into persisted events or one invented stream topology.
Added
- Admit exact current
DcbModeland legacyBoundaryModelworkflows with correlated sync, Task, or ValueTaskEventTagQuerycompanions. (#4) - Retain ordered tag/event conditions and direct request source members as aggregate boundary reads. (#4)
- Retain safe declarative state returns, explicit boundary appends, and persistence-wrapper payloads while preserving ordinary tuple siblings. (#4)
- Report unlowerable DCB boundaries and unresolved bounded queries as
WOLVERINE0014andWOLVERINE0015. (#4) - Add pinned current-package DCB canonical coverage and Generation 0.8.0 lockstep dependencies. (#4)
Fixed
- Reject unrelated, missing, generated, mismatched, or no-request companion methods instead of borrowing another workflow's query evidence. (#4)
- Keep tag types, state, query objects, wrappers, responses, side effects, and boundary ordinary returns out of persisted events. (#4)
- Avoid synthetic reducers, read models, projections, stream appends, starts, or reads-to-historical-event topology. (#4)
Release v0.18.0
Summary
Exact authored Marten logical tenancy declarations are now visible as located loss evidence without inventing effective runtime tenancy, tenant data, or database topology.
Added
- Retain current and legacy
Single/Conjoinedevent tenancy declarations asMARTEN0013. (#3) - Retain exact per-document fluent tenancy, tenancy attributes, and global policy declarations without expanding their effects. (#3)
- Add pinned canonical tenancy evidence while preserving generated source and artifact counts. (#3)
Fixed
Release v0.17.0
Summary
Wolverine event writes are now attributed to the exact current or legacy stream parameter that receives them instead of flattening multi-stream workflows onto a first aggregate.
Added
- Retain independent same-model and different-model stream bindings, identities, reads, and appends. (#4)
- Discover exact receiver-bound
AppendOneand safe directAppendManypayloads while reporting unresolved opaque writes asWOLVERINE0013. (#4) - Retain commandless HTTP, metadata-only loaded streams, current and legacy stream APIs, and deterministic conventional-version ambiguity. (#4)
- Exclude authored saga-state return slots before event, response, and cascade classification without inventing saga workflow facts. (#4)
- Add pinned canonical two-stream evidence and relationship-count assertions. (#4)
Fixed
- Prevent first-stream event and identity leakage across multiple targets. (#4)
- Prevent generated source and unrelated same-named identity/stream APIs from originating semantics. (#4)
- Preserve ordinary HTTP responses, cascades, side effects, messages, and unmarked-stream boundaries separately from persisted events. (#4)
Release v0.16.0
Summary
Exact authored Marten event aliases, naming rules, schema versions, and upcast registrations are now visible as located loss evidence without changing domain event identity or inventing migration behavior.
Added
- Retain exact current Marten alias, naming-style, suffix, and schema-version declarations as
MARTEN0011. (#3) - Retain typed, raw JSON, and recognized class-upcaster registrations as
MARTEN0012. (#3) - Cover reduced and static extension syntax, current CLR/System.Text.Json/Json.NET upcaster bases, constants, and authored source locations. (#3)
- Add pinned canonical alias/upcast evidence while preserving the generated Screenplay hash and sole domain event. (#3)
Fixed
Release v0.15.0
Summary
The Critter Stack generator now composes independent Vogen and Marten/Wolverine adapters through one neutral generation pipeline while preserving adapter provenance and existing facade compatibility.
Added
- Compose Vogen concepts by default only when exact authored Vogen evidence exists. (#25)
- Add external adapter-list composition with one shared resolver/lowerer/printer/verifier pipeline. (#25)
- Add a pinned Vogen 8.0.7 canonical fixture covering concepts, validation, nullable usage, loss diagnostics, and usage-driven identity. (#25)