Savvyio.Commands 4.0.0-rc.1

This is a prerelease version of Savvyio.Commands.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Savvyio.Commands --version 4.0.0-rc.1                
NuGet\Install-Package Savvyio.Commands -Version 4.0.0-rc.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Savvyio.Commands" Version="4.0.0-rc.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Savvyio.Commands --version 4.0.0-rc.1                
#r "nuget: Savvyio.Commands, 4.0.0-rc.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Savvyio.Commands as a Cake Addin
#addin nuget:?package=Savvyio.Commands&version=4.0.0-rc.1&prerelease

// Install Savvyio.Commands as a Cake Tool
#tool nuget:?package=Savvyio.Commands&version=4.0.0-rc.1&prerelease                

Savvyio.Commands

Provides the fundamental classes to work with the Command part of the CQRS pattern (Command and Query Responsibility Segregation).

About

An open-source project (MIT license) that provides a SOLID and clean .NET class library for writing DDD, CQRS and Event Sourcing applications.

Savvy I/O Flow

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on Savvyio.Commands:

Package Downloads
Savvyio.Extensions.Dispatchers

Extend the Savvy I/O core assemblies with Mediator support to provide a uniform way of working with DDD, CQRS and Event driven architecture.

Savvyio.App

Provides a complete and convenient set of API additions for building a DDD, CQRS and Event Sourcing enabled .NET application using Microsoft Dependency Injection, Microsoft Entity Framework Core, Dapper, AWS SNS/SQS and Azure Queue Storage/Azure Event Grid.

Savvyio.Extensions.SimpleQueueService

Extend the Savvy I/O core assemblies with support for Amazon Simple Queue Service (AWS SQS) paired with Amazon Simple Notification Service (AWS SNS).

Savvyio.Commands.Messaging

Provides ways to scale out Commands using distributed subsystems.

Savvyio.Extensions.QueueStorage

Extend the Savvy I/O core assemblies with support for Azure Queue Storage paired with Azure Event Grid.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.0 112 11/13/2024
4.0.0-rc.1 43 11/12/2024
4.0.0-preview.2 51 10/6/2024
4.0.0-preview.1 55 9/6/2024
3.0.0 278 9/1/2024
3.0.0-preview.3 87 8/13/2024
3.0.0-preview.2 41 8/4/2024
3.0.0-preview.1 38 7/31/2024
2.2.0 204 4/10/2024
2.1.0 221 3/5/2024
2.1.0-preview.17 69 3/3/2024
2.1.0-preview.14 65 3/2/2024
2.1.0-preview.12 63 2/28/2024
2.1.0-preview 185 2/26/2024
2.0.0 219 2/11/2024
2.0.0-preview.16 65 2/5/2024
2.0.0-preview.13 111 1/7/2024
2.0.0-preview.6 87 1/3/2024
2.0.0-preview 188 1/2/2024
1.2.0-preview 268 11/23/2023
1.1.0 725 12/6/2022
1.0.0 648 11/9/2022
0.8.0-rc 259 6/1/2022
0.7.0-rc 293 5/11/2022

Version: 4.0.0
Availability: .NET 9 and .NET 8
 
# ALM
- REMOVED Support for TFM .NET 6 (LTS)
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
Version: 3.0.0
Availability: .NET 8 and .NET 6
 
# Breaking Changes
- MOVED CommandExtensions class from the Savvyio.Commands.Messaging namespace to its own assembly (Savvyio.Commands.Messaging)
- MOVED InMemoryCommandQueue record from the Savvyio.Commands.Messaging namespace to its own assembly (Savvyio.Commands.Messaging)
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
Version: 2.1.0
Availability: .NET 8, .NET 7 and .NET 6
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
# Improvements
- REMOVED MessageExtensions class in the Savvyio.Commands.Messaging.Cryptography namespace to favor the new generic equivalent in the Savvyio.Messaging.Cryptography namespace
 
Version: 2.0.0
Availability: .NET 8, .NET 7 and .NET 6
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
# New Features
- ADDED MessageExtensions class in the Savvyio.Commands.Messaging.Cryptography namespace that consist of extension methods for the IMessage{T} interface: Sign{T}
- ADDED MemoryCommandQueue class in the Savvyio.Commands.Messaging namespace that provides an in-memory implementation of the IPointToPointChannel{TRequest} interface useful for unit testing and the likes thereof  <----
 
# Breaking Changes
- RENAMED EncloseToMessage{T} extension method on the CommandExtensions class in the Savvyio.Commands.Messaging namespace to ToMessage{T}
- CHANGED ToMessage{T} extension method on the CommandExtensions class in the Savvyio.Commands.Messaging namespace to include a string that describes the type of command
- RENAMED MemoryCommandQueue class in the Savvyio.Commands.Messaging namespace to InMemoryCommandQueue (consistency with Microsoft naming convention)
- MOVED ICommand interface in the Savvyio.Commands namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ICommandDispatcher interface in the Savvyio.Commands namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ICommandHandler interface in the Savvyio.Commands namespace to the namespace equivalent in the Savvyio.Core assembly
 
Version: 1.1.0
Availability: .NET 7.0, .NET 6.0
 
# New Features
- ADDED CommandExtensions class in the Savvyio.Commands.Messaging namespace that consist of extension methods for the ICommand interface: EncloseToMessage{T}
- ADDED MemoryCommandQueue class in the Savvyio.Commands.Messaging namespace that provides an in-memory implementation of the IPointToPointChannel{TRequest} interface useful for unit testing and the likes thereof
 
# Improvements
- CHANGED Command record in the Savvyio.Commands namespace to include a default/fallback correlation identifier
 
Version: 1.0.0
Availability: .NET 7.0, .NET 6.0
 
# New Features
- ADDED Command record in the Savvyio.Commands namespace that provides a default implementation of the ICommand interface
- ADDED CommandDispatcher class in the Savvyio.Commands namespace that provides a default implementation of the ICommandDispatcher interface
- ADDED CommandHandler class in the Savvyio.Commands namespace that defines a generic and consistent way of handling Command objects that implements the ICommand interface
- ADDED ICommand interface in the Savvyio.Commands namespace that defines a marker interface that specifies an intention to do something (e.g. change the state)
- ADDED ICommandDispatcher interface in the Savvyio.Commands namespace that defines a Command dispatcher that uses Fire-and-Forget/In-Only MEP
- ADDED ICommandHandler interface in the Savvyio.Commands namespace that defines a handler responsible for objects that implements the ICommand interface
- ADDED SavvyioOptionsExtensions class in the Savvyio.Commands namespace that consist of extension methods for the SavvyioOptions class: AddCommandHandler, AddCommandDispatcher