Skip to content

Releases: livedcode/MinimalCQRS

Command Validation Pipeline Enhancements

03 Jan 06:39

Choose a tag to compare

🚀 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

23 Nov 02:28

Choose a tag to compare

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