Release Notes

All the enhancements and features which have been introduced to our major and minor release are documented here. This covers improvements to Axon Framework, Axon Server and the Axon Framework Extensions, since all three follow the same release cadence. For bug fixes per project, we refer to this page.

Release 4.2

  • Axon Framework applications can now use tags to support a level of 'location awareness' between Axon clients and Axon Server instances.

    This feature is further described here.

  • Axon Server already supported several contexts, but Axon Framework application could no specify to which context message should be dispatched.

    The Axon Server Connector has been expanded with a TargetContextResolver to allow just this.

  • A new implementation of the StreamablbeMessageSource has been implemented: the MultiStreamableMessageSource.

    This implementation allow pairing several "streamable" message sources into a single source.

    This can in turn be used to for example read events from several distinct contexts for a single Tracking Event Processor.

  • Handler Execution Exception now allow application specific information to be sent back over the wire in case of a distributed set up.

  • The TrackingToken interface now provides an estimate of it's relative position in the event stream through the position() method.

  • Optional return types can now be used for Query Handling methods.

For a full list of all features, enhancements and bugs, check out the issue tracker.

Release 4.1

  • The TrackingEventProcessor now has an API to split and merge TrackingTokens during runtime of an application.

    Axon Server has additions to the UI to split and merge a given Tracking Event Processor's tokens.

  • Next to Dropwizard metrics the framework now also supports Micrometer metrics.

    The MessageMonitor interface is used to allow integration with Micrometer.

    Lastly, we are incredibly thankful that this has been introduced as a community contribution.

  • Primitive types are now supported as @QueryHandler return types.

  • In a similar fashion as the CommandGateway and QueryGateway we have introduced the EventGateway.

    As with the command and query version, the EventGateway provides a simpler API when it comes to dispatching Events on the EventBus.

We refer to this page for a full list of all the changes.

Release 4.0

  • The package structure of Axon Framework has changed drastically with the aim to provide users the option to pick and choose.

    For example, if only the messaging components of framework are required, one can directly depend on the axon-messaging package.

  • In part with the package restructure, all components which leverage another framework to provide something extra have been given their own repository.

    These repositories are called the Axon Framework Extensions.

  • The configuration of Event Processor has been replaced and greatly fine tuned with the addition of the EventProcessingConfigurer.

  • Some new defaults have been introduced in release 4.0, like a bias towards expecting a connection with Axon Server.

    Another important chance is the switch from defaulting to Tracking Processors instead of Subscribing Processors.

  • The notion of a CommandResultMessage has been introduced as a dedicated message towards the result of command handling.

  • To simplify configuration and more easily overcome deprecation,

    the Builder pattern has been implemented for all infrastructure components.

For more details, check the list of issues here.