Skip to content

Releases: tomczyn/ellipse

Update Kotlin 1.8, Compose 1.4

01 May 11:48
Compare
Choose a tag to compare

Update Kotlin 1.7, Compose 1.2

11 Aug 06:45
9e5fdb0
Compare
Choose a tag to compare

Updated dependencies in the app, most notably Kotlin 1.7 and Compose 1.2.1

Replace Nothing with Unit in processor state

26 Apr 12:48
16cf18c
Compare
Choose a tag to compare

Coroutines 1.6 changed internal implementation of StateFlow and now it's impossible to implement StateFlow with Nothing type. Workaround is to use Unit type instead of Nothing to represent no meaningful state in processor.

Migration

Replace Nothing with Unit

val processor: Processor<MyEvent, Nothing, MyEffect> = processor(
    prepare = { ... },
    onEvent = { ... }
)
val processor: Processor<MyEvent, Unit, MyEffect> = processor(
    prepare = { ... },
    onEvent = { ... }
)

Kotlin 1.6 support

19 Apr 14:00
9094113
Compare
Choose a tag to compare
Kotlin 1.6 support (#8)

* Versions bump, kotlin 1.6

* Migrated tests to new Coroutines 1.6 API

* Tweaked compose extension for collectAsState

* Migrated internal processor tests to new coroutines test API

* .gitignore changes

* Fixed detekt

* Added better test support for intermediate states with UnconfinedTestDispatcher

* Updated detekt config

* Refactor

* Added more complex prepare testing scenario

* Added more complex samples with testing strategies

* Added more test explanation

* Fixed hilt

Allow to send multiple events

11 Feb 15:15
192b5a5
Compare
Choose a tag to compare

Changed processor.sendEvent(event) to allow for vararg input processor.sendEvent(event1, event2, ...)

Add EllipseContext for easier EffectsCollector management

11 Dec 14:04
95673a4
Compare
Choose a tag to compare

Migration:

  • Replace sendEffect(...) with effects.send(...)

Thanks to this change you can now do cleaner functions extraction from the onEvent lambda, e.g.

val processor: Processor<...> = processor(
    ...
    onEvent = {
      foo(effects)
    }
)

private fun foo(effects: EffectsCollector<...>) { ... }

Add Effect cache when no subscribers

23 Nov 21:00
10a7b1c
Compare
Choose a tag to compare
Merge pull request #2 from mtomczynski/feature/effect_cache

Add cache for effects when there're no subscribers

Initial release

28 Sep 11:50
Compare
Choose a tag to compare

Breaking changes from alpha:

  • Replaced StateProcessor, StateEffectProcessor and EffectProcessor with single interface Processor. To migrate put Nothing in generic type if you don't need some values from the the API
  • Changed argument name in processorTest method for processor, from given to processor. given right now is for additional setup in the test

Alpha 9.4

10 Sep 11:25
Compare
Choose a tag to compare
Alpha 9.4 Pre-release
Pre-release
0.09.4

Moved compose definition to build.gradle for each module

Alpha 9.3

10 Sep 11:19
Compare
Choose a tag to compare
Alpha 9.3 Pre-release
Pre-release
0.09.3

Downgraded kotlin version to 1.5.21