Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR does the release of a library version
1.6.0
.This release brings numerous API improvements, as well as fixes and infrastructure updates to the framework.
API changes
Execution environment
EnvironmentType
design tweaks #542, RegisterEnvironmentType
s using their classes #545].The
Environment
now exposes API to register user-defined environment types.This can be done by extending the
EnvironmentType
class:Then, the environment can be registered to give the user ability to check if it's active at any given moment of time:
The Spine framework provides two environments out of the box:
Production
andTests
.io.spine.testing
package is added to the list of known testing libraries. When it occurs in the class path, the environment will always be resolved toTests
[Addio.spine.testing
to the list of known testing libraries #544].Protobuf Model definition
(min)
,(max)
and(range)
constraints will now be verified to be the whole numbers when applied to a whole number field (int32
, etc.) [Verify number validation options #560].(is)
and(every_is)
options will now be applied simultaneously instead of(is)
taking priority over(every_is)
[Allow(is)
&(every_is)
simultaneously #531].(is_required)
validation option is added foroneof
group fields [Requiredoneof
#523].spine.ui.Language
enumeration is now defined and contains language codes defined by ISO 639-1 [DefineLanguage
members #522].Other
JSON parser will now ignore unknown fields, allowing easier data migrations between old/new Protobuf schemas [#518].
Fixes
protoc
plugin location process is simplified. This enables creation of composite builds for Spine-based projects [Simplify protoc plugin location #559].Time
is tweaked to provide identical behaviour on all platforms under Java 8 and Java 9+ [Truncate time to milliseconds #554].javax.annotations-api
dependency is added to the project so the Spineprotoc
plugin can be run safely with Java 11 [Addjavax.annotations-api
#546].Infrastructure