Skip to content

Releases: Abc-Arbitrage/Zebus

v3.15.0

20 Dec 16:33
Compare
Choose a tag to compare
  • Update Zebus.Testing:
    • Bump NUnit to v4.3.0
    • Target net8.0 instead of net6.0
    • No longer target netstandard2.0

v3.14.1

30 Nov 16:57
Compare
Choose a tag to compare
  • Bump Zebus.Contracts version

v3.14.0

30 Nov 16:06
Compare
Choose a tag to compare
  • Support auto-subscription to routable messages
  • Make the hostname of the inbound endpoint configurable
  • Skip scanning of the System.Data.SqlClient assembly

v3.13.3

28 Sep 09:14
Compare
Choose a tag to compare
  • Improve dead peer detector behavior when the peer repository is not responding
  • Show BindingKey contents when serialized to JSON

v3.13.2

04 Oct 23:20
Compare
Choose a tag to compare
  • Add storage times to persistence storage report
  • Rename IReporter interface to IPersistenceReporter

v3.13.1

28 Sep 01:02
29044ad
Compare
Choose a tag to compare
  • Add message report details per message type in Persistence
  • Clean-up IReporter interface

v3.13.0

16 Sep 09:15
Compare
Choose a tag to compare
  • Use ReadOnlyMemory<byte> instead of Stream for TransportMessage content (breaking change)
  • Log message ID on deserialization error

v3.12.0

06 Sep 14:27
Compare
Choose a tag to compare
  • Support custom startup subscriptions on message handlers

SubscriptionModeAttribute can now be configured with the type of a custom IStartupSubscriber. The startup subscriber will be used to create the startup subscriptions for the target message handler.

Complete example:

[SubscriptionMode(typeof(StartupSubscriber))]
public class CustomSubscriptionHandler : IMessageHandler<RoutableEvent>
{
    public void Handle(RoutableEvent message)
    {
    }

    public class StartupSubscriber : IStartupSubscriber
    {
        private readonly IBus _bus;

        public StartupSubscriber(IBus bus)
        {
            _bus = bus;
        }

        public IEnumerable<BindingKey> GetStartupSubscriptionBindingKeys(Type messageType)
        {
            if (messageType != typeof(RoutableEvent))
                throw new NotSupportedException();

            yield return new BindingKey(_bus.PeerId.ToString());
        }
    }
}

v3.11.0

06 Sep 14:20
Compare
Choose a tag to compare
  • Support collections for routing members (breaking change)

Subscriptions can now match collection members using the following syntax:

var subscription = Subscription.Matching<TestCommand>(x => x.IdArray.Contains(123));

Note that Contains is the only supported operator for collections.

v3.10.1

06 Sep 14:14
Compare
Choose a tag to compare
  • Downgrade CompareNETObjects to 4.71.0 because of a breaking change