EventFlow 0.50.3124
Prefix ReservedSee the version list below for details.
dotnet add package EventFlow --version 0.50.3124
NuGet\Install-Package EventFlow -Version 0.50.3124
<PackageReference Include="EventFlow" Version="0.50.3124" />
paket add EventFlow --version 0.50.3124
#r "nuget: EventFlow, 0.50.3124"
// Install EventFlow as a Cake Addin #addin nuget:?package=EventFlow&version=0.50.3124 // Install EventFlow as a Cake Tool #tool nuget:?package=EventFlow&version=0.50.3124
Async/await first CQRS+ES and DDD framework for .NET - http://geteventflow.net/
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.6 is compatible. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net451 is compatible. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.1
- Newtonsoft.Json (>= 10.0.3)
-
.NETStandard 1.6
- NETStandard.Library (>= 1.6.1)
- Newtonsoft.Json (>= 10.0.3)
NuGet packages (19)
Showing the top 5 NuGet packages that depend on EventFlow:
Package | Downloads |
---|---|
EventFlow.AspNetCore
# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/eventflow EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://docs.geteventflow.net/GettingStarted.html), the [do’s and don’ts](https://docs.geteventflow.net/DosAndDonts.html) and the [FAQ](https://docs.geteventflow.net/FAQ.html). ### Features * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue |
|
EventFlow.Sql
# EventFlow ![EventFlow logo](https://raw.githubusercontent.com/eventflow/EventFlow/develop-v1/icon-128.png) ``` $ dotnet add package EventFlow ``` EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://geteventflow.net/getting-started/), the [do’s and don’ts](https://geteventflow.net/additional/dos-and-donts/) and the [FAQ](https://geteventflow.net/additional/faq/). Alternatively, join our [Discord](https://discord.gg/QfgNPs5WxR) server to engage with the community. Its hopefully getting a reboot to kickstart the upcoming release of v1. ## Features * **Easy to use**: Designed with sensible defaults and implementations that make it easy to create an example application * **Highly configurable and extendable**: EventFlow uses interfaces for every part of its core, making it easy to replace or extend existing features with custom implementation * **No use of threads or background workers** * **MIT licensed** Easy to understand and use license for enterprise ## Versions Development of version 1.0 has started and is mainly braking changes regarding changes related to replacing EventFlow types with that of Microsoft extension abstractions, mainly `IServiceProvider` and `ILogger<>`. The following list key characteristics of each version as well as its related branches (not properly configured yet). * `1.x` Represents the next iteration of EventFlow that aligns EventFlow with the standard packages for .NET. Releases here will only support .NET Standard, .NET Core and .NET versions 6+ going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and have the documentation updated in the same pull-requests as any code changes. The compiled version of the documentation is available at https://geteventflow.net/. ### NuGet package status - 🟢 ported - 💚 newly added to 1.0 - 🟠 not yet ported to 1.0 - 💀 for packages that are removed as part of 1.0 (see the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) for details) Projects - 🟢 `EventFlow` - 🟠 `EventFlow.AspNetCore` - 💀 `EventFlow.Autofac` - 💀 `EventFlow.DependencyInjection` - 🟠 `EventFlow.Elasticsearch` - 🟠 `EventFlow.EntityFramework` - 🟠 `EventFlow.EventStores.EventStore` - 🟢 `EventFlow.Hangfire` - 🟢 `EventFlow.MongoDB` - 🟢 `EventFlow.MsSql` - 💀 `EventFlow.Owin` - 🟢 `EventFlow.PostgreSql` - 💚 `EventFlow.Redis` - 🟠 `EventFlow.RabbitMQ` - 🟢 `EventFlow.Sql` - 🟠 `EventFlow.SQLite` - 🟢 `EventFlow.TestHelpers` ### Branches - `develop-v1`: Development branch, pull requests should be done here - `release-v1`: Release branch, merge commits are done to this branch from `develop-v1` to create releases. Typically each commit represents a release * `0.x` (legacy) The current stable version of EventFlow and has been the version of EventFlow for almost six years. 0.x versions have .NET Framework support and limited support to the Microsoft extension packages through extra NuGet packages. Feature and bug fix releases will still be done while there's interest in the community. ### Branches - `develop-v0`: Development branch, pull requests should be done here - `release-v0`: Release branch, merge commits are done to this branch from `develop-v0` to create releases. Typically each commit represents a release ### Documentation Version 0.x documentation is (although a bit outdated) is live at https://docs.geteventflow.net/. |
|
EventFlow.DependencyInjection
# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/eventflow EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://docs.geteventflow.net/GettingStarted.html), the [do’s and don’ts](https://docs.geteventflow.net/DosAndDonts.html) and the [FAQ](https://docs.geteventflow.net/FAQ.html). ### Features * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue |
|
EventFlow.Elasticsearch
# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/eventflow EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://docs.geteventflow.net/GettingStarted.html), the [do’s and don’ts](https://docs.geteventflow.net/DosAndDonts.html) and the [FAQ](https://docs.geteventflow.net/FAQ.html). ### Features * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue |
|
EventFlow.MongoDB
# EventFlow ![EventFlow logo](https://raw.githubusercontent.com/eventflow/EventFlow/develop-v1/icon-128.png) ``` $ dotnet add package EventFlow ``` EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://geteventflow.net/getting-started/), the [do’s and don’ts](https://geteventflow.net/additional/dos-and-donts/) and the [FAQ](https://geteventflow.net/additional/faq/). Alternatively, join our [Discord](https://discord.gg/QfgNPs5WxR) server to engage with the community. Its hopefully getting a reboot to kickstart the upcoming release of v1. ## Features * **Easy to use**: Designed with sensible defaults and implementations that make it easy to create an example application * **Highly configurable and extendable**: EventFlow uses interfaces for every part of its core, making it easy to replace or extend existing features with custom implementation * **No use of threads or background workers** * **MIT licensed** Easy to understand and use license for enterprise ## Versions Development of version 1.0 has started and is mainly braking changes regarding changes related to replacing EventFlow types with that of Microsoft extension abstractions, mainly `IServiceProvider` and `ILogger<>`. The following list key characteristics of each version as well as its related branches (not properly configured yet). * `1.x` Represents the next iteration of EventFlow that aligns EventFlow with the standard packages for .NET. Releases here will only support .NET Standard, .NET Core and .NET versions 6+ going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and have the documentation updated in the same pull-requests as any code changes. The compiled version of the documentation is available at https://geteventflow.net/. ### NuGet package status - 🟢 ported - 💚 newly added to 1.0 - 🟠 not yet ported to 1.0 - 💀 for packages that are removed as part of 1.0 (see the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) for details) Projects - 🟢 `EventFlow` - 🟠 `EventFlow.AspNetCore` - 💀 `EventFlow.Autofac` - 💀 `EventFlow.DependencyInjection` - 🟠 `EventFlow.Elasticsearch` - 🟠 `EventFlow.EntityFramework` - 🟠 `EventFlow.EventStores.EventStore` - 🟢 `EventFlow.Hangfire` - 🟢 `EventFlow.MongoDB` - 🟢 `EventFlow.MsSql` - 💀 `EventFlow.Owin` - 🟢 `EventFlow.PostgreSql` - 💚 `EventFlow.Redis` - 🟠 `EventFlow.RabbitMQ` - 🟢 `EventFlow.Sql` - 🟠 `EventFlow.SQLite` - 🟢 `EventFlow.TestHelpers` ### Branches - `develop-v1`: Development branch, pull requests should be done here - `release-v1`: Release branch, merge commits are done to this branch from `develop-v1` to create releases. Typically each commit represents a release * `0.x` (legacy) The current stable version of EventFlow and has been the version of EventFlow for almost six years. 0.x versions have .NET Framework support and limited support to the Microsoft extension packages through extra NuGet packages. Feature and bug fix releases will still be done while there's interest in the community. ### Branches - `develop-v0`: Development branch, pull requests should be done here - `release-v0`: Release branch, merge commits are done to this branch from `develop-v0` to create releases. Typically each commit represents a release ### Documentation Version 0.x documentation is (although a bit outdated) is live at https://docs.geteventflow.net/. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on EventFlow:
Repository | Stars |
---|---|
twzhangyang/RestAirline
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
|
|
OKTAYKIR/EventFlow.Example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
|
Version | Downloads | Last updated |
---|---|---|
1.0.5007 | 337 | 11/16/2024 |
1.0.5004-alpha | 1,686 | 5/23/2024 |
1.0.5003-alpha | 13,189 | 6/21/2023 |
1.0.5002-alpha | 4,574 | 11/11/2022 |
1.0.5001-alpha | 2,305 | 3/15/2022 |
1.0.4748-alpha | 16,118 | 9/9/2021 |
1.0.4617-alpha | 1,718 | 6/11/2021 |
0.84.4 | 429 | 11/16/2024 |
0.83.4713 | 1,086,182 | 9/7/2021 |
0.82.4684 | 8,044 | 8/30/2021 |
0.82.4659 | 37,090 | 6/17/2021 |
0.81.4483 | 172,060 | 12/14/2020 |
0.80.4377 | 51,818 | 10/1/2020 |
0.79.4216 | 122,662 | 5/13/2020 |
0.78.4205 | 5,843 | 5/11/2020 |
0.77.4077 | 93,759 | 12/10/2019 |
0.76.4014 | 33,937 | 10/19/2019 |
0.75.3970 | 12,419 | 9/12/2019 |
0.74.3948 | 24,051 | 7/1/2019 |
0.73.3933 | 9,515 | 6/11/2019 |
0.72.3914 | 11,670 | 5/28/2019 |
0.71.3834 | 14,909 | 4/17/2019 |
0.70.3824 | 6,899 | 4/11/2019 |
0.69.3772 | 17,196 | 2/12/2019 |
0.68.3728 | 46,043 | 12/3/2018 |
0.67.3697 | 12,887 | 10/14/2018 |
0.66.3673 | 8,645 | 9/28/2018 |
0.65.3664 | 10,655 | 9/22/2018 |
0.64.3598 | 10,277 | 8/27/2018 |
0.63.3581 | 9,177 | 8/7/2018 |
0.62.3569 | 35,225 | 7/5/2018 |
0.61.3524 | 6,501 | 6/26/2018 |
0.60.3490 | 5,390 | 6/18/2018 |
0.59.3396 | 6,118 | 5/23/2018 |
0.58.3377 | 5,148 | 5/13/2018 |
0.57.3359 | 5,867 | 4/30/2018 |
0.56.3328 | 4,584 | 4/24/2018 |
0.55.3323 | 4,737 | 4/24/2018 |
0.54.3261 | 6,127 | 2/25/2018 |
0.53.3204 | 4,647 | 1/25/2018 |
0.52.3178 | 5,358 | 11/2/2017 |
0.51.3155 | 4,219 | 10/25/2017 |
0.50.3124 | 4,305 | 10/21/2017 |
0.49.3031 | 6,843 | 9/7/2017 |
0.48.2937 | 5,445 | 7/11/2017 |
0.47.2894 | 4,924 | 6/28/2017 |
0.46.2886 | 7,846 | 5/29/2017 |
0.45.2877 | 4,374 | 5/28/2017 |
0.44.2832 | 4,206 | 5/12/2017 |
0.43.2806 | 2,355 | 5/5/2017 |
0.42.2755 | 5,048 | 5/2/2017 |
0.41.2727 | 4,929 | 4/27/2017 |
0.40.2590 | 8,135 | 3/30/2017 |
0.39.2553 | 5,183 | 1/16/2017 |
0.38.2454 | 5,043 | 12/2/2016 |
0.37.2424 | 5,246 | 11/8/2016 |
0.36.2315 | 6,215 | 10/18/2016 |
0.35.2247 | 5,121 | 9/6/2016 |
0.34.2221 | 4,894 | 8/23/2016 |
0.33.2190 | 4,652 | 8/16/2016 |
0.32.2163 | 4,812 | 7/4/2016 |
0.31.2106 | 4,635 | 6/30/2016 |
0.30.2019 | 4,979 | 6/16/2016 |
0.29.1973 | 6,395 | 4/19/2016 |
0.28.1852 | 4,702 | 4/5/2016 |
0.27.1765 | 8,032 | 2/25/2016 |
0.26.1714 | 4,680 | 2/20/2016 |
0.25.1695 | 3,987 | 2/15/2016 |
0.24.1563 | 4,362 | 1/25/2016 |
0.23.1470 | 5,010 | 12/5/2015 |
0.22.1393 | 4,888 | 11/19/2015 |
0.21.1312 | 4,142 | 10/26/2015 |
0.20.1274 | 3,945 | 10/22/2015 |
0.19.1225 | 3,855 | 10/19/2015 |
0.18.1181 | 4,214 | 10/7/2015 |
0.17.1134 | 4,092 | 9/28/2015 |
0.16.1120 | 3,991 | 9/27/2015 |
0.15.1057 | 4,072 | 9/24/2015 |
0.14.1051 | 4,033 | 9/23/2015 |
0.13.962 | 4,008 | 9/13/2015 |
0.12.891 | 3,794 | 9/4/2015 |
0.11.751 | 3,754 | 8/24/2015 |
0.10.642 | 3,539 | 8/17/2015 |
0.9.580 | 3,611 | 7/20/2015 |
0.8.560 | 3,425 | 5/29/2015 |
0.7.481 | 3,414 | 5/22/2015 |
0.6.456 | 3,249 | 5/18/2015 |
0.5.390 | 3,427 | 5/8/2015 |
0.4.353 | 3,297 | 5/5/2015 |
0.3.292 | 3,868 | 4/30/2015 |
New: While EventFlow tries to limit the about of painful API changes, the
introduction of execution/command results are considered a necessary step
towards as better API.
Commands and command handlers have been updated to support execution
results. Execution results is meant to be an alternative to throwing domain
exceptions to do application flow. In short, before you were required to
throw an exception if you wanted to abort execution and "return" a failure
message.
The introduction of execution results changes this, as it allows
returning a failed result that is passed all the way back to the command
publisher. Execution results are generic and can thus contain e.g. any
validation results that a UI might need. The `ICommandBus.PublishAsync`
signature has changed to reflect this.
from
```csharp
Task<ISourceId> PublishAsync<TAggregate, TIdentity, TSourceIdentity>(
ICommand<TAggregate, TIdentity, TSourceIdentity> command)
where TAggregate : IAggregateRoot<TIdentity>
where TIdentity : IIdentity
where TSourceIdentity : ISourceId
```
to
```csharp
Task<TExecutionResult> PublishAsync<TAggregate, TIdentity, TExecutionResult>(
ICommand<TAggregate, TIdentity, TExecutionResult> command,
CancellationToken cancellationToken)
where TAggregate : IAggregateRoot<TIdentity>
where TIdentity : IIdentity
where TExecutionResult : IExecutionResult
```
Command handler signature has changed from
```csharp
Task ExecuteAsync(
TAggregate aggregate,
TCommand command,
CancellationToken cancellationToken);
```
to
```csharp
Task<TExecutionResult> ExecuteCommandAsync(
TAggregate aggregate,
TCommand command,
CancellationToken cancellationToken)
```
Migrating to the new structure should be seamless if your current code base
inherits its command handlers from the provided `CommandHandler<,,>` base
class.
Breaking: Source IDs on commands have been reworked to "make room" for
execution results on commands. The generic parameter from `ICommand<,,>`
and `ICommandHandler<,,,>` has been removed in favor of the new execution
results. `ICommand.SourceId` is now of type `ISourceId` instead of using
the generic type and the `ICommandBus.PublishAsync` no longer returns
`Task<ISourceId>`
To get code that behaves similar to the previous version, simply take the
`ISourceId` from the command, i.e., instead of this
```csharp
var sourceId = await commandBus.PublishAsync(command);
```
write this
```csharp
await commandBus.PublishAsync(command);
var sourceId = command.SourceId;
```
(`CancellationToken` and `.ConfigureAwait(false)` omitted fromt he above)
Breaking: Upgraded NuGet dependency on `RabbitMQ.Client` from `>= 4.1.3`
to `>= 5.0.1`