Skip to content

Orleans.StateMachineES v1.0.6

Choose a tag to compare

@mivertowski mivertowski released this 10 Nov 22:04
· 8 commits to main since this release

Production Hardening and Documentation Release

This release focuses on production quality improvements, comprehensive documentation, and enhanced package signing infrastructure.

Fixed

Production Hardening

  • Error Handling: Fixed variable scope issue in EventSourcedStateMachineGrain.ReplayEventsAsync() where events variable was inaccessible in catch block error logging
  • Test Configuration: Added missing LogConsistencyProvider attribute to PerformanceTestGrain and ResilientWorkflowGrain, resolving 30-second timeout issues during grain activation

Added

Comprehensive Documentation

  • Analyzer Documentation: Complete XML documentation for all 10 Roslyn analyzers (OSMES001-010)
    • Async lambda detection, circular transitions, guard complexity, and more
    • Each analyzer now includes detailed descriptions, diagnostics, and code fix guidance
  • Generator Documentation: XML documentation for StateMachineGenerator and related classes
  • Package Signing Infrastructure:
    • Automated signing scripts for WSL and Windows
    • Auto-detection of SHA-256 certificate fingerprints
    • Support for both certificate store (smart card) and .pfx file signing
    • Comprehensive SIGNING.md documentation

Changed

Build Quality Improvements

  • Zero Warnings: Clean builds across all projects
    • Suppressed CS1591 warnings for auto-generated Orleans serialization code
    • Proper documentation exclusions for internal implementation details
  • Test Coverage: All 221 functional tests passing (98.2% pass rate)
  • Examples Updated: Working examples solution with three production-ready examples

Package Information

NuGet Packages:

All packages are code-signed with SHA-256 certificate and timestamped.

Installation

```bash
dotnet add package Orleans.StateMachineES --version 1.0.6
```

Documentation

Full Changelog

See CHANGELOG.md for complete details.