Releases: livedcode/MinimalCQRS
Command Validation Pipeline Enhancements
🚀 What’s New
This release introduces robust command validation behavior to ensure correctness, safety, and predictable execution within the MinimalCQRS dispatcher.
✨ Highlights
Pre-handler validation enforcement
All command validators are executed before any handler is invoked.
If validation fails, handlers are guaranteed not to run.
Multiple validator support
Supports multiple validators per command.
All validators are executed, even if earlier ones fail.
Aggregated validation errors
Validation failures are collected and returned together.
Consumers receive a single CommandValidationException containing all error messages.
Deterministic execution flow
Validation → Handler execution order is now explicit and enforced.
Prevents partial or inconsistent command handling.
🧪 Testing
Added unit tests to verify:
All validators are executed
Validation errors are aggregated
Handlers are not invoked on validation failure
🔄 Backward Compatibility
No breaking API changes.
Existing commands and handlers continue to work without modification.
Projects without validators are unaffected.
📦 Recommended Usage
This version is recommended for all consumers who require:
Strong input validation
Predictable command execution
Clear validation error reporting
MinimalCQRS v1.0.0 — Initial Release
MinimalCQRS v1.0.0 – Initial Release
🚀 Overview
This is the first stable release of MinimalCQRS, a lightweight, dependency-free CQRS library for .NET 8 / 9 / 10.
MinimalCQRS allows developers to use:
- Commands (with and without return values)
- Queries
- A minimal reflection-safe Dispatcher
- Clean Vertical Slice examples (Minimal API)
- Console demonstrations
- Full unit tests
Author: livedcode
License: MIT
✨ Features
🔵 Core Library
- ICommand (no return)
- ICommand (return value)
- IQuery
- Command & Query Handlers
- Reflection-safe Dispatcher:
- SendAsync(ICommand)
- SendAsync(ICommand)
- QueryAsync(IQuery)
🟢 Multi-Target Frameworks
- net8.0
- net9.0
- net10.0
🖥️ Included Sample Projects
Console Sample
- Demonstrates commands & queries
- DI setup
- Command with ID return
Minimal API Sample (Vertical Slice)
Endpoints:
- POST /logs → command without return
- POST /users → command returning ID
- GET /users/{id} → query
🧪 Unit Tests
Includes tests for:
- Commands with return
- Commands with no return
- Queries
- Dispatcher dispatch logic
📁 Project Structure
See README.md for complete project structure.
📦 NuGet Info (after publish)
dotnet add package MinimalCQRS
❤️ Credits
Developed by livedcode