All notable changes to Picea.Glauca will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning via Nerdbank.GitVersioning.
- AggregateRunner / ResolvingAggregateRunner:
IsTerminalnow delegates toTDecider.IsTerminal(_state)instead of using a dead_isTerminalfield that was never assigned. Terminal state detection is now correct.
- Documentation: Full Diataxis-structured docs — concepts, getting started, tutorials, how-to guides, API reference
- CHANGELOG.md: This file
- CONTRIBUTING.md: Contribution guidelines (trunk-based development)
- SECURITY.md: Security policy and vulnerability reporting
- README.md: Comprehensive rewrite with installation, quick start, projections, conflict resolution, sagas, KurrentDB adapter, OpenTelemetry, API reference, and ecosystem table
0.1.13 — 2026-03-13
- CI/CD: Fixed GitHub Actions CD pipeline —
setup-dotnet@v5withdotnet-quality: preview, PATH fix fornbgvtool,global.jsonSDK version constraint
- NuGet: First successful publication of both packages to nuget.org
0.1.0 — 2026-03-09
- AggregateRunner: Event-sourced aggregate runtime with persistence, optimistic concurrency, and lifecycle management
- ResolvingAggregateRunner: Aggregate runner with automatic conflict resolution (up to 3 retries)
- ConflictResolver: Domain-aware optimistic concurrency resolution interface
- SagaRunner: Event-sourced saga runtime with terminal state support
- Saga: Process manager interface modeled as a Mealy machine
- Projection: Read model builder via fold over event streams (full replay + incremental catch-up)
- EventStore: Async event persistence abstraction with optimistic concurrency control
- InMemoryEventStore: Thread-safe in-memory implementation for unit testing
- StoredEvent: Event envelope with sequence number, event, and timestamp
- ConcurrencyException: Thrown on optimistic concurrency version mismatch
- KurrentDBEventStore: Production adapter for KurrentDB with delegate-based serialization
- Diagnostics: OpenTelemetry-compatible
ActivitySourcetracing (Picea.Glauca,Picea.Glauca.Saga)