Release Notes
Version 1.0.6 (January 10, 2025)
Production Hardening Release
This release focuses on code quality, documentation completeness, and build reliability.
Fixed
- Error Handling: Fixed variable scope issue in
EventSourcedStateMachineGrain.ReplayEventsAsync()where theeventsvariable was inaccessible in catch block error logging - Test Configuration: Added missing
LogConsistencyProviderattributes to performance test grains, resolving 30-second timeout issues during grain activation
Added
- Complete Analyzer Documentation: Added comprehensive XML documentation to all 10 Roslyn analyzers (OSMES001-010)
- Generator Documentation: Added XML documentation to
StateMachineGeneratorand related classes
Changed
- Zero Warnings Build: Suppressed CS1591 warnings for auto-generated Orleans code while maintaining full API documentation
- Test Coverage: All 221 functional tests passing (98.2% pass rate)
Version 1.0.5 (November 5, 2024)
Critical Orleans Compliance Fix
- ConfigureAwait(false) Removed: Eliminated all 42 occurrences from grain code to maintain Orleans' single-threaded execution model
- Thread Safety: Ensures async operations properly flow through Orleans' task scheduler
- Race Condition Prevention: Maintains Orleans' guarantees for grain state access
Version 1.0.4 (October 2024)
Production Enhancements
- CircuitBreaker Component: Production-ready resilience pattern with three-state management
- Enhanced Performance: TriggerParameterCache with thread-safe double-checked locking
- ObjectPool Thread Safety: Fixed race condition with atomic CompareExchange loop
- Consolidated Validation: Refactored validation logic with
ValidateNotInCallbackhelper
Version 1.0.3 (September 2024)
Performance & Analyzer Suite
- TriggerParameterCache: ~100x performance improvement for parameterized triggers
- 10 Roslyn Analyzers: Complete compile-time safety coverage (OSMES001-010)
- ValueTask Zero-Allocation: Eliminates Task allocations in hot-path operations
- Object Pooling: Thread-safe pooling with lock-free concurrency
- FrozenCollections: 40%+ faster lookup performance
Version 1.0.2 (September 2024)
Event Sourcing Enhancements
- Runtime Validation: Prevents FireAsync calls within state callbacks
- Enhanced Error Messages: Detailed replay context in error scenarios
- Thread-Local Tracking: Callback execution context monitoring
Version 1.0.1 (August 2024)
Performance Infrastructure
- BenchmarkDotNet Integration: Comprehensive performance measurement framework
- Abstractions Package: Separated interfaces from implementation
- ValueTask Conversion: Eliminated Task allocations across 47+ methods
- Architecture Improvements: File decomposition following single responsibility principle
Version 1.0.0 (August 2024)
Initial Release
- Event Sourcing: First-class event sourcing with Orleans JournaledGrain
- Event Replay: Automatic state reconstruction from event history
- Idempotency: Built-in deduplication with LRU cache
- Snapshots: Configurable snapshot intervals
- Orleans Streams Integration: Publish state transitions to streams
- Timers & Reminders: State-driven timeouts
- Hierarchical States: Nested states with parent-child relationships
- Distributed Sagas: Multi-grain workflows with compensation
- Distributed Tracing: OpenTelemetry integration
- State Machine Visualization: Interactive diagrams (DOT, Mermaid, PlantUML, HTML)
- Advanced Monitoring: Real-time metrics and health checks
- State Machine Versioning: Seamless versioning with migration support
- Roslyn Source Generator: Generate state machines from YAML/JSON
- Orthogonal Regions: Parallel state machines with independent regions
For detailed change information, see CHANGELOG.md.
For migration guides between versions, see Migration Guide.