Posted on January 16, 2019
Spine 1.0.0-pre3
Base
This pre-release brings several fixes and API improvements to the base library.
Fixes
requiredoption now works foroneoffields (#240);repeatedfields now may be included inFieldMasks(#250);- removed
ValidatingBuilders for standard types (#252); - removed
modelCompiler. generateBuildersFromClasspath(#252); ValidatingBuilders generation attempts are dropped and warnings are not logged any more (#268).- generated field annotation lookup bug is fixed (#269);
ValidatingBuilders for nested types are now generated (#272);- constraint validation error messages are now more readable (#279);
API improvements
(is)and(every_is)options now allow implementing existing Java interfaces (#248);- introduced
(set_once)field option, which does not allow to change the value of a field after it was once set (#257, #275); - numeric and boolean Protobuf types do not support
(required); a message is logged on the option misuse; (#266); - generated identifier types now support factory methods for convenience (#267);
- generated code is now marked with Java annotation types which can be specified (#280);
- selected generated methods and classes now can be marked as
@Internal(#284, #287).
Core Java
This pre-release brings many internal changes, simplifications, and development infrastructure refactoring.
Framework API Changes
- the
Shardingand all the connected concepts are deleted (#929); - the Model Verifier plugin now runs the command handler signature checks and fails/logs warnings on signature mismatches (#930);
BoundedContextBuildernow facades the context components building (such asIntegrationBus) (#929);PmSubjectclass is added in order to allow testing process managers using Truth (#939);Entityhierarchy is flattened and cleaned up (#940);- the version of Gradle is updated to
5.1.1which affects the users of Spine Gradle plugins (#932).