Skip to content

Release/v5.0.0#10

Merged
NinjaRocks merged 8 commits intomasterfrom
release/v5.0.0
Mar 15, 2026
Merged

Release/v5.0.0#10
NinjaRocks merged 8 commits intomasterfrom
release/v5.0.0

Conversation

@NinjaRocks
Copy link
Member

Release Notes - v5.0.0

New Architecture

Aggregate → Interceptor → Middleware → Dispatcher → Queue ← Listener → Resolver → Handler 

New Features

1. ISubscribes

Aggregates can handle their own events:

public class OrderAggregate : Aggregate, ISubscribes<OrderPlaced> { public Task HandleAsync(OrderPlaced @event) => ...; public void PlaceOrder(decimal amount) => Raise(new OrderPlaced()); }

2. AggregateFactory

Multiple methods to create proxied aggregates:

// Default constructor var order = await factory.CreateAsync<OrderAggregate>(); // With constructor arguments var order = await factory.CreateAsync<OrderAggregate>(logger); // From service provider (auto-resolves deps) var order = await factory.CreateFromServiceProviderAsync<OrderAggregate>(); // Wrap existing instance var order = await factory.CreateFromInstanceAsync(existingOrder);

3. Event Middleware (IEventMiddleware)

Pipeline hooks: OnDispatchingAsync, OnDispatchedAsync, OnHandlingAsync, OnHandledAsync

4. Event Queue (IEventQueue)

In-flight non-persistent queue with subscription support

5. Event Listener (IEventListener)

Processes queued events asynchronously

@NinjaRocks NinjaRocks merged commit 0a4e731 into master Mar 15, 2026
5 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants