diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 9afe32d..c71d2ee 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -15,12 +15,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- - name: Setup .NET9
- uses: actions/setup-dotnet@v4
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: 9.x
+ dotnet-version: 10.x
- name: Restore dependencies
run: dotnet restore
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index 2b348e2..db4af05 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -11,12 +11,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- - name: Setup .NET9
- uses: actions/setup-dotnet@v4
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v5
with:
- dotnet-version: 9.x
+ dotnet-version: 10.x
- name: Restore dependencies
run: dotnet restore
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ffe66a8..b37b01d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-Nothing yet.
+### Added
+
+- `EventBus.GetHandlersAsync` method.
+- `EventBus` unit tests.
+
+### Changed
+
+- Improved `EventBus` implementation.
+
+### Fixed
+
+- GitHub Actions.
+- LICENSE Year.
+- NuGet upgrades.
## [10.0.0] - 2025-11-29
diff --git a/LICENSE b/LICENSE
index 0487f9b..70fdfae 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Logitar
+Copyright (c) 2025 Logitar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/demo/Logitar.EventSourcing.Demo/Logitar.EventSourcing.Demo.csproj b/demo/Logitar.EventSourcing.Demo/Logitar.EventSourcing.Demo.csproj
index bb30054..82456d0 100644
--- a/demo/Logitar.EventSourcing.Demo/Logitar.EventSourcing.Demo.csproj
+++ b/demo/Logitar.EventSourcing.Demo/Logitar.EventSourcing.Demo.csproj
@@ -24,7 +24,7 @@
-
+
all
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/LICENSE b/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/LICENSE
index 0487f9b..70fdfae 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/LICENSE
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Logitar
+Copyright (c) 2025 Logitar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL.csproj b/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL.csproj
index e4fbbc4..d31cef6 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL.csproj
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL/Logitar.EventSourcing.EntityFrameworkCore.PostgreSQL.csproj
@@ -9,7 +9,7 @@
Francis Pion
Logitar.NET
Provides an implementation of a relational event store to be used with the Event Sourcing architecture pattern, Entity Framework Core and PostgreSQL.
- © 2024 Logitar All Rights Reserved.
+ © 2025 Logitar All Rights Reserved.
logitar.png
README.md
git
@@ -39,7 +39,7 @@
-
+
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/LICENSE b/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/LICENSE
index 0487f9b..70fdfae 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/LICENSE
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Logitar
+Copyright (c) 2025 Logitar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/Logitar.EventSourcing.EntityFrameworkCore.Relational.csproj b/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/Logitar.EventSourcing.EntityFrameworkCore.Relational.csproj
index 8678140..53a6328 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/Logitar.EventSourcing.EntityFrameworkCore.Relational.csproj
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.Relational/Logitar.EventSourcing.EntityFrameworkCore.Relational.csproj
@@ -9,7 +9,7 @@
Francis Pion
Logitar.NET
Provides an abstraction of a relational event store to be used with the Event Sourcing architecture pattern and Entity Framework Core.
- © 2024 Logitar All Rights Reserved.
+ © 2025 Logitar All Rights Reserved.
logitar.png
README.md
git
@@ -39,7 +39,7 @@
-
+
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/LICENSE b/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/LICENSE
index 0487f9b..70fdfae 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/LICENSE
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Logitar
+Copyright (c) 2025 Logitar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/Logitar.EventSourcing.EntityFrameworkCore.SqlServer.csproj b/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/Logitar.EventSourcing.EntityFrameworkCore.SqlServer.csproj
index a096f0a..cf0836a 100644
--- a/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/Logitar.EventSourcing.EntityFrameworkCore.SqlServer.csproj
+++ b/lib/Logitar.EventSourcing.EntityFrameworkCore.SqlServer/Logitar.EventSourcing.EntityFrameworkCore.SqlServer.csproj
@@ -9,7 +9,7 @@
Francis Pion
Logitar.NET
Provides an implementation of a relational event store to be used with the Event Sourcing architecture pattern, Entity Framework Core and Microsoft SQL Server.
- © 2024 Logitar All Rights Reserved.
+ © 2025 Logitar All Rights Reserved.
logitar.png
README.md
git
@@ -39,7 +39,7 @@
-
+
diff --git a/lib/Logitar.EventSourcing.Infrastructure/EventBus.cs b/lib/Logitar.EventSourcing.Infrastructure/EventBus.cs
index f54fa6c..26b6d46 100644
--- a/lib/Logitar.EventSourcing.Infrastructure/EventBus.cs
+++ b/lib/Logitar.EventSourcing.Infrastructure/EventBus.cs
@@ -1,5 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
-using System.Reflection;
namespace Logitar.EventSourcing.Infrastructure;
@@ -8,10 +7,15 @@ namespace Logitar.EventSourcing.Infrastructure;
///
public class EventBus : IEventBus
{
+ ///
+ /// The name of the handler method.
+ ///
+ protected const string HandlerName = nameof(IEventHandler<>.HandleAsync);
+
///
/// Gets the service provider.
///
- protected IServiceProvider ServiceProvider { get; }
+ protected virtual IServiceProvider ServiceProvider { get; }
///
/// Initializes a new instance of the class.
@@ -30,22 +34,40 @@ public EventBus(IServiceProvider serviceProvider)
/// The asynchronous operation.
public async Task PublishAsync(IEvent @event, CancellationToken cancellationToken)
{
- IEnumerable