martins-vds / github-goodies

MIT License
0 stars 4 forks source link

Bump MediatR from 8.1.0 to 10.0.0 #97

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps MediatR from 8.1.0 to 10.0.0.

Release notes

Sourced from MediatR's releases.

10.0.0

This release adds support for IAsyncEnumerable<T>. A new request type, IStreamRequest<T> represents a request to create a stream, with a new handler type IStreamRequestHandler<TRequest, TResponse> to handle. An example:

public class StreamPing : IStreamRequest<Pong>
{
    public string? Message { get; init; }
}

public class PingStreamHandler : IStreamRequestHandler<StreamPing, Pong> { public async IAsyncEnumerable<Pong> Handle(StreamPing request, [EnumeratorCancellation] CancellationToken cancellationToken) { yield return await Task.Run(() => new Pong { Message = request.Message + " Pang" }, cancellationToken); } }

Where the work inside of the handler would likely be calling some other streaming API, such as gRPC, EF Core streaming support, Dapper streaming etc.

There are also separate behaviors, with IStreamPipelineBehavior that are separate from the normal IPipelineBehavior.

With the addition of IAsyncEnumerable, this release now targets netstandard2.1 exclusively.

There are some breaking API changes, called out in the 10.0 migration guide.

9.0.0

This release contains a small, but breaking change. In order to provide a simpler interface, the IMediator interface is now split into two interfaces, a sender and publisher:

public interface ISender
{
    Task<TResponse> Send<TResponse>(IRequest<TResponse> request, CancellationToken cancellationToken = default);
Task&lt;object?&gt; Send(object request, CancellationToken cancellationToken = default);

}

public interface IPublisher { Task Publish(object notification, CancellationToken cancellationToken = default);

Task Publish&lt;TNotification&gt;(TNotification notification, CancellationToken cancellationToken = default)
    where TNotification : INotification;

}

public interface IMediator : ISender, IPublisher { }

... (truncated)

Commits
  • dad92f3 Fixing release workflow
  • 682ee41 Updating readme to include contracts package
  • 290f80a Merge pull request #687 from jbogard/reference-contracts-package
  • bcb1aa7 Referencing contracts package
  • b152d92 Merge pull request #686 from jbogard/contracts-assembly
  • b2b0222 Creating a contracts package
  • a533cf2 Adding contracts assembly
  • 802e4a4 Merge pull request #685 from jbogard/separate-stream-request
  • c9e248f Separating stream requests into their own interface; adding generic constraints
  • 8492e9e Merge pull request #684 from jbogard/csharp10
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 years ago

Superseded by #99.