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
required
option now works foroneof
fields (#240);repeated
fields now may be included inFieldMasks
(#250);- removed
ValidatingBuilder
s for standard types (#252); - removed
modelCompiler. generateBuildersFromClasspath
(#252); ValidatingBuilder
s generation attempts are dropped and warnings are not logged any more (#268).- generated field annotation lookup bug is fixed (#269);
ValidatingBuilder
s 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
Sharding
and 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);
BoundedContextBuilder
now facades the context components building (such asIntegrationBus
) (#929);PmSubject
class is added in order to allow testing process managers using Truth (#939);Entity
hierarchy is flattened and cleaned up (#940);- the version of Gradle is updated to
5.1.1
which affects the users of Spine Gradle plugins (#932).