Posted on December 17, 2019

Spine 1.3.0

Base

This PR brings several API improvements to the library.

Notable changes:

  • A KnownMessage interface is introduced. It marks the messages that are generated with Spine Model Compiler and can provide their typeUrl() (#495).
  • The deprecated FieldPaths utility is now removed (#495).
  • A lot of third-party dependencies are updated to the newer version (#496).
  • The conversion routines in TypeConverter will now support the number-based EnumValue instances (#501).

Core Java

This release includes several API improvements for the library, as well as some new features.

Notable changes:

  • The new high-level client API is introduced (#1186).
  • Rejection classes can now be properly subscribed to (#1193)
  • Several multi-threading tweaks are applied to improve the delivery process (#1200).
  • The AggregateHistoryCorrupted event is added. It signals to the user that the aggregate state has become invalid and the aggregate cannot handle any more incoming signals (#1199).
  • It’s now allowed to subscribe to the same rejection type multiple times with the different causes (#1205).
  • The subscription topic is now additionally validated on the client to fail fast on invalid topic creation (#1197).
  • The spine.core.Version can now be specified in the ordering filters for queries and subscriptions (#1198).
  • The BlackBoxBoundedContext-based tests now have a DiagnosticLog which logs all received diagnostic events with a meaningful message (#1209).
  • The CannotDispatchDuplicateEvent and CannotDispatchDuplicateCommand now provide the type of the duplicate signal (#1209).
  • A lot of third-party dependencies are updated to the newer version (#1195).

Web

A public release of the Spine Web library.

In this release, the client API got a revamp to simplify calls and provide all the features that the Java client provides. See #125, #127.


Bootstrap, JDBC Storage, Google Cloud Java, Time libraries’ artifacts were published as compatible with the Spine framework in version 1.3.0.