Posted on March 08, 2020
This release includes numerous API updates and performance improvements.
The most noticeable are listed below.
Time.currentTime()now returns the time with microsecond precision. The values are emulated, increasing for each consequent call (#504, #512).
(constraint_for)is now supported by the Spine compiler (#505).
- Support for the new Column API has been added to the Spine compiler (#508).
- Logging API has been extended (#513).
For more details please navigate to the list of the closed pull requests and their descriptions.
This major update of the library brings a number of new features and performance improvements.
- Projections now support an automated run-time catch-up (#1221).
- The client API was made less error-prone by enforcing the strong typing for the columns and properties of Entities and Events. The list of the model fields is generated as Java code by the Spine compiler at build-time (#1229, #1246).
- A data migration API is now available for
Projections. It automates the process of updating the existing data upon the changes in the domain model (#1241).
- The logging records made from within the Entity handlers now print the full signature of the called method (#1242).
- It is now possible to specify an actor when composing a test scenario with
CommandBusis no longer responsible for validating the first field of the transmitted
Commands; instead, this is a job of the
Repositoryfor the target
The API of
InboxMessage has been changed so that any of the existing
incompatible (#1239). Please make sure to deliver the messages
from all of your production
Inboxes prior to updating to the new version.
Also, a number of minor improvements and issues were addressed. Please see the list of closed pull requests for more details.
Bootstrap, Web, JDBC Storage, Google Cloud Java, Time, Money libraries’ artifacts were published as compatible with the Spine framework in version 1.5.0.