Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .docfx/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@
"Savvyio.Extensions.DependencyInjection.EFCore.Domain/**.csproj",
"Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/**.csproj",
"Savvyio.Extensions.DependencyInjection.NATS/**.csproj",
"Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/**.csproj",
"Savvyio.Extensions.DependencyInjection.QueueStorage/**.csproj",
"Savvyio.Extensions.DependencyInjection.RabbitMQ/**.csproj",
"Savvyio.Extensions.DependencyInjection.SimpleQueueService/**.csproj",
"Savvyio.Extensions.DependencyInjection.Text.Json/**.csproj",
"Savvyio.Extensions.Dispatchers/**.csproj",
"Savvyio.Extensions.EFCore/**.csproj",
"Savvyio.Extensions.EFCore.Domain/**.csproj",
Expand Down
234 changes: 234 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
---
description: 'Writing Unit Tests in Savvyio'
applyTo: '**/*.cs'
---

# Writing Unit Tests in Savvyio

This document provides instructions for writing unit tests in the Savvyio codebase. Please follow these guidelines to ensure consistency and maintainability.

---

## 1. Base Class

**Always inherit from the `Test` base class** for all unit test classes.
This ensures consistent setup, teardown, and output handling across all tests.

```csharp
using Codebelt.Extensions.Xunit;
using Xunit;
using Xunit.Abstractions;

namespace Your.Namespace
{
public class YourTestClass : Test
{
public YourTestClass(ITestOutputHelper output) : base(output)
{
}

// Your tests here
}
}
```

---

## 2. Test Method Attributes

- Use `[Fact]` for standard unit tests.
- Use `[Theory]` with `[InlineData]` or other data sources for parameterized tests.

---

## 3. Naming Conventions

- **Test classes**: End with `Test` (e.g., `CommandDispatcherTest`).
- **Test methods**: Use descriptive names that state the expected behavior (e.g., `ShouldReturnTrue_WhenConditionIsMet`).

---

## 4. Assertions

- Use `Assert` methods from xUnit for all assertions.
- Prefer explicit and expressive assertions (e.g., `Assert.Equal`, `Assert.NotNull`, `Assert.Contains`).

---

## 5. File and Namespace Organization

- Place test files in the appropriate test project and folder structure.
- Use namespaces that mirror the source code structure.
- The unit tests for the Savvyio.Foo assembly live in the Savvyio.Foo.Tests assembly.
- The functional tests for the Savvyio.Foo assembly live in the Savvyio.Foo.FunctionalTests assembly.
- Test class names end with Test and live in the same namespace as the class being tested, e.g., the unit tests for the Boo class that resides in the Savvyio.Foo assembly would be named BooTest and placed in the Savvyio.Foo namespace in the Savvyio.Foo.Tests assembly.
- Modify the associated .csproj file to override the root namespace, e.g., <RootNamespace>Savvyio.Foo</RootNamespace>.

---

## 6. Example Test

```csharp
using Codebelt.Extensions.Xunit;
using Xunit;
using Xunit.Abstractions;

namespace Savvyio.Commands
{
/// <summary>
/// Tests for the <see cref="DefaultCommand"/> class.
/// </summary>
public class CommandTest : Test
{
public CommandTest(ITestOutputHelper output) : base(output)
{
}

[Fact]
public void DefaultCommand_Ensure_Initialization_Defaults()
{
var sut = new DefaultCommand();

Assert.IsAssignableFrom<Command>(sut);
Assert.IsAssignableFrom<ICommand>(sut);
Assert.IsAssignableFrom<Request>(sut);
Assert.IsAssignableFrom<IRequest>(sut);
Assert.IsAssignableFrom<IMetadata>(sut);
Assert.Contains(sut.Metadata, pair => pair.Key == MetadataDictionary.CorrelationId);
}
}
}
```

---

## 7. Additional Guidelines

- Keep tests focused and isolated.
- Do not rely on external systems except for xUnit itself and Codebelt.Extensions.Xunit (and derived from this).
- Ensure tests are deterministic and repeatable.

---

For further examples, refer to existing test files such as
[`test/Savvyio.Commands.Tests/CommandDispatcherTest.cs`](test/Savvyio.Commands.Tests/CommandDispatcherTest.cs)
and
[`test/Savvyio.Commands.Tests/CommandTest.cs`](test/Savvyio.Commands.Tests/CommandTest.cs).

---
description: 'Writing XML documentation in Savvyio'
applyTo: '**/*.cs'
---

# Writing XML documentation in Savvyio

This document provides instructions for writing XML documentation.

---

## 1. Documentation Style

- Use the same documentation style as found throughout the codebase.
- Add XML doc comments to public and protected classes and methods where appropriate.
- Example:

```csharp
using Cuemon.Extensions.DependencyInjection;
using Cuemon.Extensions.Text.Json.Formatters;
using Microsoft.Extensions.DependencyInjection;
using System;
using Cuemon;
using Savvyio.Extensions.Text.Json;

namespace Savvyio.Extensions.DependencyInjection.Text.Json
{
/// <summary>
/// Extension methods for the <see cref="IServiceCollection"/> interface.
/// </summary>
public static class ServiceCollectionExtensions
{
/// <summary>
/// Adds an <see cref="JsonMarshaller" /> implementation to the specified <see cref="IServiceCollection" />.
/// </summary>
/// <param name="services">The <see cref="IServiceCollection"/> to extend.</param>
/// <param name="jsonSetup">The <see cref="JsonFormatterOptions" /> which may be configured. Default is optimized for messaging.</param>
/// <param name="serviceSetup">The <see cref="ServiceOptions" /> which may be configured. Default is <see cref="ServiceLifetime.Singleton"/>.</param>
/// <returns>A reference to <paramref name="services"/> so that additional calls can be chained.</returns>
/// <remarks>The implementation will be type forwarded accordingly.</remarks>
/// <exception cref="ArgumentNullException">
/// <paramref name="services"/> cannot be null.
/// </exception>
public static IServiceCollection AddJsonMarshaller(this IServiceCollection services, Action<JsonFormatterOptions> jsonSetup = null, Action<ServiceOptions> serviceSetup = null)
{
Validator.ThrowIfNull(services);
return services
.AddMarshaller<JsonMarshaller>(serviceSetup)
.AddConfiguredOptions(jsonSetup ?? (o => o.Settings.WriteIndented = false));
}
}
}


using System;
using Cuemon;
using Cuemon.Configuration;

namespace Savvyio.Extensions.NATS
{
/// <summary>
/// Configuration options that is related to NATS.
/// </summary>
/// <seealso cref="IValidatableParameterObject" />
public class NatsMessageOptions : IValidatableParameterObject
{
/// <summary>
/// Initializes a new instance of the <see cref="NatsMessageOptions"/> class with default values.
/// </summary>
/// <remarks>
/// The following table shows the initial property values for an instance of <see cref="NatsMessageOptions"/>.
/// <list type="table">
/// <listheader>
/// <term>Property</term>
/// <description>Initial Value</description>
/// </listheader>
/// <item>
/// <term><see cref="NatsUrl"/></term>
/// <description><c>new Uri("nats://127.0.0.1:4222")</c></description>
/// </item>
/// <item>
/// <term><see cref="Subject"/></term>
/// <description><c>null</c></description>
/// </item>
/// </list>
/// </remarks>
public NatsMessageOptions()
{
NatsUrl = new Uri("nats://127.0.0.1:4222");
}

/// <summary>
/// Gets or sets the URI of the NATS server.
/// </summary>
public Uri NatsUrl { get; set; }

/// <summary>
/// Gets or sets the subject to publish or subscribe to in NATS.
/// </summary>
public string Subject { get; set; }

/// <summary>
/// Validates the current options and throws an exception if the state is invalid.
/// </summary>
/// <exception cref="InvalidOperationException">
/// <see cref="Subject"/> is null or whitespace - or -
/// <see cref="NatsUrl"/> is null.
/// </exception>
public virtual void ValidateOptions()
{
Validator.ThrowIfInvalidState(NatsUrl == null);
Validator.ThrowIfInvalidState(string.IsNullOrWhiteSpace(Subject));
}
}
}

```
34 changes: 34 additions & 0 deletions .nuget/Savvyio.App/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
Version: 4.3.0
Availability: .NET 9 and .NET 8

# References
- Savvyio
- Savvyio.Commands
- Savvyio.Commands.Messaging
- Savvyio.Domain
- Savvyio.Domain.EventSourcing
- Savvyio.EventDriven
- Savvyio.EventDriven.Messaging
- Savvyio.Extensions.Dapper
- Savvyio.Extensions.DependencyInjection
- Savvyio.Extensions.DependencyInjection.Dapper
- Savvyio.Extensions.DependencyInjection.Domain
- Savvyio.Extensions.DependencyInjection.EFCore
- Savvyio.Extensions.DependencyInjection.EFCore.Domain
- Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing
- Savvyio.Extensions.DependencyInjection.NATS
- Savvyio.Extensions.DependencyInjection.QueueStorage
- Savvyio.Extensions.DependencyInjection.RabbitMQ
- Savvyio.Extensions.DependencyInjection.SimpleQueueService
- Savvyio.Extensions.Dispatchers
- Savvyio.Extensions.EFCore
- Savvyio.Extensions.EFCore.Domain
- Savvyio.Extensions.EFCore.Domain.EventSourcing
- Savvyio.Extensions.NATS
- Savvyio.Extensions.QueueStorage
- Savvyio.Extensions.RabbitMQ
- Savvyio.Extensions.SimpleQueueService
- Savvyio.Extensions.Text.Json
- Savvyio.Messaging
- Savvyio.Queries

Version: 4.2.0
Availability: .NET 9 and .NET 8

Expand Down
2 changes: 2 additions & 0 deletions .nuget/Savvyio.App/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ It is, by heart, free, flexible and built to extend and boost your agile codebel
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain/) 📦
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/) 📦
* [Savvyio.Extensions.DependencyInjection.NATS](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.NATS/) 📦
* [Savvyio.Extensions.DependencyInjection.Newtonsoft.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/) 📦
* [Savvyio.Extensions.DependencyInjection.QueueStorage](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.QueueStorage/) 📦
* [Savvyio.Extensions.DependencyInjection.RabbitMQ](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.RabbitMQ/) 📦
* [Savvyio.Extensions.DependencyInjection.SimpleQueueService](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.SimpleQueueService/) 📦
* [Savvyio.Extensions.DependencyInjection.Text.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Text.Json/) 📦
Comment on lines +33 to +37
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Add DI JSON package links — LGTM

Links for the two new DI JSON extensions are correctly added and aligned with the 4.3.0 scope.

Run to confirm repo-wide discoverability (DocFX and App project reference):


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "DocFX includes:"
rg -n '"Savvyio\.Extensions\.DependencyInjection\.(Newtonsoft\.Json|Text\.Json)"' .docfx/docfx.json || true

echo "Savvyio.App.csproj reference to Text.Json DI extension:"
fd -H -t f Savvyio.App.csproj | xargs -I{} rg -n 'ProjectReference.+Savvyio\.Extensions\.DependencyInjection\.Text\.Json' {} || true

echo "README contains both DI JSON links once:"
rg -n 'Savvyio\.Extensions\.DependencyInjection\.(Newtonsoft\.Json|Text\.Json)' .nuget/Savvyio.App/README.md

Length of output: 1063


Include both DI JSON extensions in docs and project references

  • .docfx/docfx.json: add entries for Savvyio.Extensions.DependencyInjection.Newtonsoft.Json (and verify Text.Json) so the new packages are discoverable.
  • Savvyio.App.csproj: add a <ProjectReference Include="..\Savvyio.Extensions.DependencyInjection.Newtonsoft.Json\Savvyio.Extensions.DependencyInjection.Newtonsoft.Json.csproj" /> for the Newtonsoft.Json DI extension.
🧰 Tools
🪛 LanguageTool

[grammar] ~33-~33: There might be a mistake here.
Context: ...DependencyInjection.Newtonsoft.Json/) 📦 * [Savvyio.Extensions.DependencyInjection.Q...

(QB_NEW_EN)


[grammar] ~37-~37: There might be a mistake here.
Context: ...sions.DependencyInjection.Text.Json/) 📦 * [Savvyio.Extensions.Dispatchers](https://...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In .nuget/Savvyio.App/README.md lines 33 to 37 the README lists DI JSON
extension packages but the repository and docs are missing references to the
Newtonsoft.Json DI extension; update .docfx/docfx.json to add an entry for
Savvyio.Extensions.DependencyInjection.Newtonsoft.Json (and verify the existing
Text.Json entry is correct) so the package appears in generated docs, and update
Savvyio.App.csproj to include a ProjectReference to
..\Savvyio.Extensions.DependencyInjection.Newtonsoft.Json\Savvyio.Extensions.DependencyInjection.Newtonsoft.Json.csproj
so the Newtonsoft.Json DI extension is referenced by the solution.

* [Savvyio.Extensions.Dispatchers](https://www.nuget.org/packages/Savvyio.Extensions.Dispatchers/) 📦
* [Savvyio.Extensions.EFCore](https://www.nuget.org/packages/Savvyio.Extensions.EFCore/) 📦
* [Savvyio.Extensions.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.EFCore.Domain/) 📦
Expand Down
9 changes: 9 additions & 0 deletions .nuget/Savvyio.Commands.Messaging/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
Version: 4.3.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.2.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.1.1
Availability: .NET 9 and .NET 8

Expand Down
2 changes: 2 additions & 0 deletions .nuget/Savvyio.Commands.Messaging/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ It is, by heart, free, flexible and built to extend and boost your agile codebel
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain/) 📦
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/) 📦
* [Savvyio.Extensions.DependencyInjection.NATS](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.NATS/) 📦
* [Savvyio.Extensions.DependencyInjection.Newtonsoft.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/) 📦
* [Savvyio.Extensions.DependencyInjection.QueueStorage](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.QueueStorage/) 📦
* [Savvyio.Extensions.DependencyInjection.RabbitMQ](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.RabbitMQ/) 📦
* [Savvyio.Extensions.DependencyInjection.SimpleQueueService](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.SimpleQueueService/) 📦
* [Savvyio.Extensions.DependencyInjection.Text.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Text.Json/) 📦
* [Savvyio.Extensions.Dispatchers](https://www.nuget.org/packages/Savvyio.Extensions.Dispatchers/) 📦
* [Savvyio.Extensions.EFCore](https://www.nuget.org/packages/Savvyio.Extensions.EFCore/) 📦
* [Savvyio.Extensions.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.EFCore.Domain/) 📦
Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Commands/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 4.3.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.2.0
Availability: .NET 9 and .NET 8

Expand Down
2 changes: 2 additions & 0 deletions .nuget/Savvyio.Commands/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ It is, by heart, free, flexible and built to extend and boost your agile codebel
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain/) 📦
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/) 📦
* [Savvyio.Extensions.DependencyInjection.NATS](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.NATS/) 📦
* [Savvyio.Extensions.DependencyInjection.Newtonsoft.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/) 📦
* [Savvyio.Extensions.DependencyInjection.QueueStorage](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.QueueStorage/) 📦
* [Savvyio.Extensions.DependencyInjection.RabbitMQ](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.RabbitMQ/) 📦
* [Savvyio.Extensions.DependencyInjection.SimpleQueueService](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.SimpleQueueService/) 📦
* [Savvyio.Extensions.DependencyInjection.Text.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Text.Json/) 📦
Comment on lines +33 to +37
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

❓ Verification inconclusive

Verify NuGet package availability

Quickly confirm both new package IDs resolve on NuGet.


🏁 Script executed:

#!/bin/bash
set -euo pipefail
pkgs=(
  "Savvyio.Extensions.DependencyInjection.Newtonsoft.Json"
  "Savvyio.Extensions.DependencyInjection.Text.Json"
)
for p in "${pkgs[@]}"; do
  code=$(curl -s -o /dev/null -w '%{http_code}' "https://api.nuget.org/v3/registration5-gz-semver2/${p}/index.json")
  if [[ "$code" == "200" ]]; then
    echo "OK: ${p} exists on NuGet."
  else
    echo "MISS: ${p} not found (HTTP ${code}). Check link/name." >&2
  fi
done

Length of output: 966


Fix missing NuGet packages
Both Savvyio.Extensions.DependencyInjection.Newtonsoft.Json and Savvyio.Extensions.DependencyInjection.Text.Json return HTTP 404 on NuGet. Ensure those packages are published (or correct the IDs/links) before merging.

🧰 Tools
🪛 LanguageTool

[grammar] ~33-~33: There might be a mistake here.
Context: ...DependencyInjection.Newtonsoft.Json/) 📦 * [Savvyio.Extensions.DependencyInjection.Q...

(QB_NEW_EN)


[grammar] ~37-~37: There might be a mistake here.
Context: ...sions.DependencyInjection.Text.Json/) 📦 * [Savvyio.Extensions.Dispatchers](https://...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In .nuget/Savvyio.Commands/README.md around lines 33 to 37 the README lists
Savvyio.Extensions.DependencyInjection.Newtonsoft.Json and
Savvyio.Extensions.DependencyInjection.Text.Json but both package links return
404; verify the correct NuGet package IDs on nuget.org and either publish the
missing packages or update the README links to the correct IDs (or remove the
entries if they are not intended to be published), then confirm the links
resolve before merging.

* [Savvyio.Extensions.Dispatchers](https://www.nuget.org/packages/Savvyio.Extensions.Dispatchers/) 📦
* [Savvyio.Extensions.EFCore](https://www.nuget.org/packages/Savvyio.Extensions.EFCore/) 📦
* [Savvyio.Extensions.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.EFCore.Domain/) 📦
Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Core/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 4.3.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.2.0
Availability: .NET 9 and .NET 8

Expand Down
2 changes: 2 additions & 0 deletions .nuget/Savvyio.Core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ It is, by heart, free, flexible and built to extend and boost your agile codebel
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain/) 📦
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/) 📦
* [Savvyio.Extensions.DependencyInjection.NATS](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.NATS/) 📦
* [Savvyio.Extensions.DependencyInjection.Newtonsoft.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/) 📦
* [Savvyio.Extensions.DependencyInjection.QueueStorage](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.QueueStorage/) 📦
* [Savvyio.Extensions.DependencyInjection.RabbitMQ](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.RabbitMQ/) 📦
* [Savvyio.Extensions.DependencyInjection.SimpleQueueService](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.SimpleQueueService/) 📦
* [Savvyio.Extensions.DependencyInjection.Text.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Text.Json/) 📦
* [Savvyio.Extensions.Dispatchers](https://www.nuget.org/packages/Savvyio.Extensions.Dispatchers/) 📦
* [Savvyio.Extensions.EFCore](https://www.nuget.org/packages/Savvyio.Extensions.EFCore/) 📦
* [Savvyio.Extensions.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.EFCore.Domain/) 📦
Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Domain.EventSourcing/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 4.3.0
Availability: .NET 9 and .NET 8

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 4.2.0
Availability: .NET 9 and .NET 8

Expand Down
2 changes: 2 additions & 0 deletions .nuget/Savvyio.Domain.EventSourcing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ It is, by heart, free, flexible and built to extend and boost your agile codebel
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain/) 📦
* [Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing/) 📦
* [Savvyio.Extensions.DependencyInjection.NATS](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.NATS/) 📦
* [Savvyio.Extensions.DependencyInjection.Newtonsoft.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Newtonsoft.Json/) 📦
* [Savvyio.Extensions.DependencyInjection.QueueStorage](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.QueueStorage/) 📦
* [Savvyio.Extensions.DependencyInjection.RabbitMQ](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.RabbitMQ/) 📦
* [Savvyio.Extensions.DependencyInjection.SimpleQueueService](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.SimpleQueueService/) 📦
* [Savvyio.Extensions.DependencyInjection.Text.Json](https://www.nuget.org/packages/Savvyio.Extensions.DependencyInjection.Text.Json/) 📦
* [Savvyio.Extensions.Dispatchers](https://www.nuget.org/packages/Savvyio.Extensions.Dispatchers/) 📦
* [Savvyio.Extensions.EFCore](https://www.nuget.org/packages/Savvyio.Extensions.EFCore/) 📦
* [Savvyio.Extensions.EFCore.Domain](https://www.nuget.org/packages/Savvyio.Extensions.EFCore.Domain/) 📦
Expand Down
Loading
Loading