mayuanyang/Mediator.Net
A simple mediator for .Net for sending command, publishing event and request response with pipelines supported
18 Releases
Latest: 1mo ago
5.0.0Latest
💥 Breaking changes
- `IMediator` now inherits `IAsyncDisposable` — any code implementing `IMediator` directly must add `DisposeAsync()`. Consumers of `IMediator` are unaffected.
🐛 Bug fixes
- `MediatorBuilder.RegisterHandlers(Assembly)` now correctly picks up `IStreamCommandHandler<,>` implementors (previously silently skipped, causing `NoHandlerFoundException` at runtime)
- Fixed broken return value in `RequestPipe.ConnectToHandler` `IAsyncEnumerable` branch (`Task.FromResult(r)` → `r`)
- `PipeHelper.GetResultFromTask` now throws `InvalidOperationException` with a descriptive message instead of bare `Exception`
📦 Improvements
- `Mediator` implements `IAsyncDisposable` with async-path fallback via `DisposeAsync()`
- Removed unnecessary reflection in `ReceiveContext.PublishAsync` — `publishPipe.Connect()` is now called directly through the interface
- `[EnumeratorCancellation]` added to `ConnectStream` async-iterator methods so cancellation tokens are correctly forwarded to consumers
- `Count()` LINQ extension replaced with `.Count` property (O(1)) at 4 sites in `CommandReceivePipe` and `RequestPipe`
- `ReceiveContext.MetaData` uses `??=` operator
- Internal class `GlobalRececivePipeConfigurator` renamed to `GlobalReceivePipeConfigurator` (typo fix)
- Full Changelog: https://github.com/mayuanyang/Mediator.Net/compare/4.9.0...5.0.0
4.9.0
4.8.0
4.7.0
4.6.1
4.6.0
4.5.0
4.4.0
This is a house keeping release, with Github Actions and GitVersion
4.3.0
4.2.0
4.1.0
4.0.0
Command can now return
3.0.0
1.1.23
Bug fix - Make RequestPipe non blocking to avoid dead lock
1.1.7
Low down the minimum version of Autofac to 4.0.0 and 4.3.0 for StructureMap
Upgrade to VS20171.1.3
General bug fix and enhancement1.0.65
Bug fix Fix dependency scope not being used in PublishPipe and GlobalReceivePipe One event with multi handlers will be await one by one Enhancement Serilog middleware can now take callback to decide "ShouldExecute"
Bug fix for global pipe not hookup with middleware when integrated with IoC container1.0.59
This release fix the issue that middleware is not fired for global pipe when integrated with IoC container
