Skip to content

Releases: respawn-app/FlowMVI

1.1.4: Compose 1.4, javadoc / sources publishing for android

04 Apr 07:51
1.1.4
73af01f
Compare
Choose a tag to compare

What's Changed

  • Docs, js support by @Nek-12 in #12
  • Android Javadocs / source sets + update dependencies by @Nek-12 in #14

Full Changelog: 1.1.3...1.1.4

1.1.3: Deps ugrade, Javadoc publishing

16 Mar 08:42
ca76341
Compare
Choose a tag to compare

What's Changed since 1.0:

  • 1.0.0-alpha01: Safe state update API. by @Nek-12 in #3
  • 1.0.0-alpha02 by @Nek-12 in #4
  • 1.0.0 alpha03: New ComposeScreen dsl by @Nek-12 in #5
  • 1.0.0-alpha04: Bring back return type of withState, lambda fixes by @Nek-12 in #6
  • 1.0.0-alpha04 (2) by @Nek-12 in #7
  • 1.0.0-alpha05 by @Nek-12 in #8
  • Add a Codacy badge to README.md by @codacy-badger in #9
  • Multiplatform compatibility + pro.respawn namespace by @Nek-12 in #10
  • 1.1.3: Deps upgrade by @Nek-12 in #11

Full Changelog: 0.2.6...1.1.3

1.0.0-alpha05: Configuration of ActionShareBehavior

10 Dec 13:27
fcbc8dd
Compare
Choose a tag to compare

Breaking changes:

  • ActionShareBehavior is now a sealed class, not an enum

1.0.0-alpha01: Safe state update and new API

23 Nov 19:37
5565b17
Compare
Choose a tag to compare

What's Changed

  • 1.0.0-alpha01: Safe state update API. by @Nek-12 in #3

There are a lot of changes in this release. It's currently experimental and the API may change further.
I've decided to implement a synchronous first-in-first-serve state update api, and because of that, all the APIs that exposed current state without properly handling the parallelism of updates were removed.

Breaking changes:

  • Removed currentState. Use withState() instead.
  • Added withState() function that obtains a current state, then runs the given block while suspending every other client from accessing the state until that block is finished. This is done because by obtaining state and then mutating it, you inherently introduce race conditions to your code, and now the management of that is being done out of the box by the library. Previously, you had to keep track of those yourself
  • State can now still be obtained and assigned as the state property, but these APIs are considered delicate and may be removed in the future if no use cases for them are found.
  • added new inline functions updateState and withState that work differently from the withState we were used to use. withState now operates on a state, but does not change it, and updateState updates the state with the return value of its block. Proper contracts were implemented for them.
  • There are now new inline functions for updateState and withState that work the same as the previous withState function - if state does not match given type, the block isn't executed and state is not updated.
  • reduce() now has no return value. This is because users of the library don't always need to update the state. Often an intent reduction results just in an action or other processing being done.
  • removed set(state) from the api
  • launchForState is now called launchRecovering and does not require a state return value. It's now exposed via store and it's reducer scope
  • Introduced new typealiases for lambdas of recover and reduce
  • The preferred way of creating and launching the store is lazyStore() (not launched) and launchedStore() (created and launched on first access)
  • MVIIntentScope no longer implements CoroutineScope but rather has a scope property
  • KMM migration plans are set in place. The library will get to the beta when the KMM migration is done for the core module.
  • Tests are now fully passing. Code coverage is on its way.
  • Store.launch() is now Store.start()
  • MVIIntentScope no longer implements MVIProvider to not let users abuse some functions like sending intents out of the reduce block anymore.
  • All deps were updated to latest stable versions, namely kotlin (1.7.21) and compose (1.3.1 with compiler 1.4.0-alpha02)

Full Changelog: 0.2.6...1.0.0-alpha01

0.2.6-alpha

07 Oct 08:57
dfa24fd
Compare
Choose a tag to compare
0.2.6-alpha Pre-release
Pre-release

What's Changed

Full Changelog: 0.2.5...0.2.6

v0.2.5-alpha

07 Jun 19:15
efeec99
Compare
Choose a tag to compare
v0.2.5-alpha Pre-release
Pre-release
Merge pull request #1 from Nek-12/ci

Configured CI