Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.6.0 #565

Merged
merged 2 commits into from
Sep 9, 2020
Merged

Release 1.6.0 #565

merged 2 commits into from
Sep 9, 2020

Conversation

dmitrykuzmin
Copy link
Contributor

@dmitrykuzmin dmitrykuzmin commented Sep 8, 2020

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

  1. Custom environments support is introduced [Custom environment types #539, EnvironmentType design tweaks #542, Register EnvironmentTypes using their classes #545].


The Environment now exposes API to register user-defined environment types.
This can be done by extending the EnvironmentType class:

public final class AwsLambda extends EnvironmentType {

    @Override
    public boolean enabled() {
        // ...
    }
}

Then, the environment can be registered to give the user ability to check if it's active at any given moment of time:

Environment.instance()
           .register(new AwsLambda());

// ...

if (Environment.instance().is(AwsLambda.class)) {
    this.sender = new AwsEmailSender();
}


The Spine framework provides two environments out of the box: Production and Tests.


  1. The 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 to Tests [Add io.spine.testing to the list of known testing libraries #544].


Protobuf Model definition

  1. (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].
  2. (is) and (every_is) options will now be applied simultaneously instead of (is) taking priority over (every_is) [Allow (is) & (every_is) simultaneously #531].
  3. New tools are added for working with regex-es in Protobuf [Smarter regex modifiers #520].
  4. An (is_required) validation option is added for oneof group fields [Required oneof #523].
  5. The spine.ui.Language enumeration is now defined and contains language codes defined by ISO 639-1 [Define Language members #522].

Other

JSON parser will now ignore unknown fields, allowing easier data migrations between old/new Protobuf schemas [#518].

Fixes

  1. The Spine protoc plugin location process is simplified. This enables creation of composite builds for Spine-based projects [Simplify protoc plugin location #559].
  2. Time is tweaked to provide identical behaviour on all platforms under Java 8 and Java 9+ [Truncate time to milliseconds #554].
  3. The proper import resolution is implemented for the Dart client [Resolve Dart Protobuf imports #524].
  4. javax.annotations-api dependency is added to the project so the Spine protoc plugin can be run safely with Java 11 [Add javax.annotations-api  #546].

Infrastructure

  1. Stricter Gradle task ordering is introduced to eliminate randomness in build execution and improve the process reliability [Gradle task ordering #562].
  2. The project build scripts are migrated to Kotlin [Kotlin Gradle scripts. Part 1 of 2 #532, Kotlin Gradle scripts. Part 2 of 2 #534].

@dmitrykuzmin dmitrykuzmin self-assigned this Sep 8, 2020
@codecov
Copy link

codecov bot commented Sep 8, 2020

Codecov Report

Merging #565 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #565      +/-   ##
============================================
- Coverage     74.00%   73.99%   -0.01%     
+ Complexity     2981     2980       -1     
============================================
  Files           506      506              
  Lines         12021    12021              
  Branches        674      674              
============================================
- Hits           8896     8895       -1     
  Misses         2895     2895              
- Partials        230      231       +1     

@dmitrykuzmin
Copy link
Contributor Author

@armiol PTAL.

@dmitrykuzmin dmitrykuzmin merged commit d382587 into master Sep 9, 2020
@dmitrykuzmin dmitrykuzmin deleted the release-1.6.0 branch September 9, 2020 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants