Occurrent 0.17.1 is released. Changes are:

  • Fixed issue in Subscription DSL when using “subscribe” functions with a single event type different from the “base event type”, i.e. this didn’t work in previous version in Java:
    // GameEvent is the "base event type"
    Subscriptions<GameEvent> subscriptions = new Subscriptions<>(..);
      
    // GameStarted has GameEvent as parent, the following didn't compile in version 0.17.0 
    subscriptions.subscribe("mysubscription", GameStarted.class, gameStarted -> System.out.println("gameStarted: " + gameStarted));
    
  • Using slf4j-api and not logback-classic in several modules that accidentally brought logback in as a compile time dependency.
  • Upgraded slf4j-api from 2.0.5 to 2.0.12
  • In the spring-boot-starter-mongodb module, it’s now possible to enable/disable the event store or subscriptions from the application.yaml file. For example, you can disable the event store like this:

    occurrent:
      event-store:
        enabled: false # Disable the creation of an event store Spring bean
    

    and the subscriptions like this:

    occurrent:
      subscription:
        enabled: false # Disable the creation of beans related to subscriptions
    

    This is useful if you have an application where you only need the event store or only need the subscriptions.

  • Added queryForList Kotlin extension function to EventStoreQueries and DomainEventQueries. It works in a similar way as queryForSequence, but returns a List instead of a Kotlin Sequence.
  • Fixed an issue with CatchupSubscriptionModel in which it threw an IllegalArgumentException when storing the position of stored events when using Atlas free tier.