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

fix(deps): update fmodelversion to v3.6.0 #124

Merged
merged 1 commit into from
Dec 15, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 15, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.fraktalio.fmodel:application-arrow 3.5.1 -> 3.6.0 age adoption passing confidence
com.fraktalio.fmodel:application-vanilla 3.5.1 -> 3.6.0 age adoption passing confidence
com.fraktalio.fmodel:domain 3.5.1 -> 3.6.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

fraktalio/fmodel (com.fraktalio.fmodel:application-arrow)

v3.6.0

Version 3.6.0 is a reactive and a multiplatform version of fmodel libraries optimized for Event sourcing, CQRS, and Domain Modeling.

Maven coordinates
 <dependency>
    <groupId>com.fraktalio.fmodel</groupId>
    <artifactId>domain</artifactId>
    <version>3.6.0</version>
 </dependency>

 <dependency>
    <groupId>com.fraktalio.fmodel</groupId>
    <artifactId>application-vanilla</artifactId>
    <version>3.6.0</version>
 </dependency>
 
 <dependency>
    <groupId>com.fraktalio.fmodel</groupId>
    <artifactId>application-arrow</artifactId>
    <version>3.6.0</version>
 </dependency>

In this release, we have introduced a new component on the application layer EphemeralView:

A view that is built "on the fly" and not maintained/materialized.
Potential use cases include:

  • Lightweight aggregation for ad-hoc analysis
  • Development and prototyping read models
  • Building strongly consistent read models
  • Supporting the "read your own rights" guarantee

The main algorithm is as follows:

suspend fun <S, E, Q, EV> EV.handle(query: Q): S where EV : ViewStateComputation<S, E>, EV : EphemeralViewRepository<E, Q> =
    query.fetchEvents().fold(initialState) { s, e -> evolve(s, e) }

Events of type E are fetched based on a query Q, which are then used to build the respective view IView<S, E>. The result of that computation S is returned to the caller.

Thank you @​DomenicDev for your contribution! You show that we can extend fmodel to better fit our specific requirements, by composing domain components in a different way. EphemeralView is a common use case, so we include it in the library. Looking forward to what is next? :)

The full release notes:

What's Changed
New Contributors

Full Changelog: fraktalio/fmodel@v3.5.1...v3.6.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/fmodelversion branch from f373649 to da6bc9c Compare December 15, 2024 17:49
@renovate renovate bot force-pushed the renovate/fmodelversion branch from da6bc9c to b8ac17c Compare December 15, 2024 17:59
@idugalic idugalic merged commit 8700362 into main Dec 15, 2024
1 check passed
@renovate renovate bot deleted the renovate/fmodelversion branch December 15, 2024 18:02
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.

1 participant