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.8.0 #1435

Merged
merged 3 commits into from
Dec 15, 2021
Merged

Release 1.8.0 #1435

merged 3 commits into from
Dec 15, 2021

Conversation

yevhenii-nadtochii
Copy link
Contributor

@yevhenii-nadtochii yevhenii-nadtochii commented Dec 15, 2021

This changeset sets the version to 1.8.0 and updates the corresponding license report files.


This release brings numerous fixes, updates to API and performance improvements.

Breaking Changes

API Changes

  • Made BlackBoxContext implement Closeable (as addition of [1.x] Enable IntegrationBroker dispatch events regardless of registration order of subscribing and publishing BCs #1402).

  • BlackBoxContext API has been extended to provide an instance of Client linked to the context under the test.

    It makes possible to use Client in tests, for example:

    BlackBoxContext context = BlackBoxContext.from(...);
    ClientRequest clientRequest = context.client().asGuest();
    
    assertThat(clientRequest.select(ProjectView.class).run())
            .hasSize(0);
    clientRequest.command(createProject()).postAndForget();
    assertThat(clientRequest.select(ProjectView.class).run())
            .hasSize(1);

    Please note, that provided Client would inherit TenantId from BlackBoxContext, but would NOT inherit UserId and ZoneId.

    Check [1.x] Make BlackBoxContext provide a Client linked to the context under the test #1407 for details.

  • Made API calls for the conditional settings of ServerEnvironment "lazy".

    Previously, ServerEnvironment provided two kinds of API calls for the conditional settings:

     ServerEnvironment.when(Staging.class)
                      // This call is handy when `myStorageFactory` is already available.
                      .use(myStorageFactory)
    
     ServerEnvironment.when(PreProduction.class)
                      // And this one looks lazy, so that it is only executed when and _if_ requested.
                      .use((env) -> createMySqlStorage())

    However, in fact, there was no "lazy" behavior, which caused numerous workarounds to actually postpone the initialization of environment-specific settings until they start to make sense.

    This release addresses the issue by making the behavior truly "lazy" (see [1.x] Lazy ServerEnvironment.when(..).use(..) #1421).

Fixes

Performance

@codecov
Copy link

codecov bot commented Dec 15, 2021

Codecov Report

Merging #1435 (2860646) into 1.x-dev (d3181ca) will decrease coverage by 0.01%.
The diff coverage is n/a.

❗ Current head 2860646 differs from pull request most recent head 2fab163. Consider uploading reports for the commit 2fab163 to get more accurate results

@@              Coverage Diff              @@
##             1.x-dev    #1435      +/-   ##
=============================================
- Coverage      91.02%   91.00%   -0.02%     
+ Complexity      4815     4814       -1     
=============================================
  Files            616      616              
  Lines          15302    15302              
  Branches         864      864              
=============================================
- Hits           13928    13926       -2     
- Misses          1103     1104       +1     
- Partials         271      272       +1     

@armiol armiol merged commit 3727246 into 1.x-dev Dec 15, 2021
@armiol armiol deleted the release-1.8.0 branch December 15, 2021 17:55
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.

None yet

2 participants