Skip to content

Releases: square/workflow

v0.19.0

29 Jul 23:44
Compare
Choose a tag to compare
v0.19.0 Pre-release
Pre-release

Swift

  • Update to build with Swift 5.
  • Allow sinks to be reused across render passes if a sink of the same action type is declared. (#443)
  • Support updating the root workflow input on a WorkflowHost. (#351)
  • Add support for RenderTester to expect child workflows and outputs. (#442)

Kotlin

  • WorkflowRunner now delivers single result instead of output stream (#468)
  • Use single object for noAction instead of creating it on every call (#473)
  • Upgrade AGP to 3.5.0-rc01. (#484)
  • Use Java 8 (#492)

v0.18.0

18 Jul 22:39
Compare
Choose a tag to compare
v0.18.0 Pre-release
Pre-release

Kotlin

Core API changes:

  • Added builder functions for creating stateful workflows. (#441)
  • Introduce Kotlin Flows:
    • Convert the Worker API to use Flow instead of using its own Emitter type. (#435)
    • Convert InputT streams from channels to Flows. (#433)
  • Add Completable.asWorker() operator. (#423)
  • Rename WorkflowAction.noop() to noAction(). (#420)
  • Change RenderContext.onEvent return type to be a raw function type. (#387)
  • Moves Named.key up to Compatible.compatibilityKey. (#429)

Runtime changes:

  • Replace WorkflowHost with the launchWorkflowIn function. (#447)
  • Delete flatMapWorkflow. (#377)
  • Allow specifying a different CoroutineDispatcher in the WorkflowRunner. (#379)

Version changes:

  • Bump Kotlin to latest version (1.3.41), along with Dokka and detekt. (#451)
  • Migrate to AndroidX. (#59, #469 - thanks @charbgr!)
  • Bump AGP to latest beta version (3.5.0-beta05). (#427)
  • Update coroutines dependency to 1.3.0-M2. (#409)

Other changes:

  • Don't throw from runningWorker when the worker finishes. (#456)
  • Less hacky lifecycle search in ModalContainer. (#448)
  • Fix Worker backpressure (too much buffering). (#446)
  • Set up a teardown hook for dialogs. (#432)
  • Artifact name changes (#419)
    • Add -jvm suffixes to all modules that could be MPP one day.
    • Add the -core suffix to the artifact for workflow-ui-core.
  • Remove (incorrect) manual implementation of ensureActive. (#378)
  • Fix WorkflowPool to work with ConflatedBroadcastChannel. (#475)

Swift

  • Rename AnyWorkflowAction.identity to noAction (#444)

v0.17.3

12 Jun 23:55
Compare
Choose a tag to compare
v0.17.3 Pre-release
Pre-release

Kotlin

  • Breaking change: BackStackScreen includes the entire backstack. (#403)
  • Fixes BackStackContainer config change. (#406)
  • Fix snapshots of a non-flat tree being taken too late. (#408)

Swift

  • Kotlin-only release, no changes.

v0.17.2

06 Jun 20:55
Compare
Choose a tag to compare
v0.17.2 Pre-release
Pre-release

Kotlin

  • Breaking change: LayoutRunner replaces Coordinator, no more Scene support in ViewBinding. (#383)
  • Allows WorkflowLayout to work from any stream of renderings. (#395)

Swift

  • Kotlin-only release, no changes.

v0.17.1

30 May 23:44
Compare
Choose a tag to compare
v0.17.1 Pre-release
Pre-release

Kotlin

  • Allow specifying a different CoroutineDispatcher in the WorkflowRunner. (#379)

Swift

  • Kotlin-only release, no changes.

v0.17.0

29 May 20:24
Compare
Choose a tag to compare
v0.17.0 Pre-release
Pre-release

2019-5-29

Kotlin

  • Add a Worker.createSideEffect helper for Nothing-type workers. (#366)
  • Add a Worker.timer function to create simple delay workers. (#368)
  • testRender can now test arbitrary event handlers and automatically calculate initial state. (#372)
  • Allow specifying the CoroutineDispatcher used by WorkflowRunnerViewModel. (#375)

Swift

  • Actions update the Rendering synchronously. (#362, #348)

v0.16.1

25 May 00:42
Compare
Choose a tag to compare
v0.16.1 Pre-release
Pre-release

Kotlin

  • Make RenderTester not require specific Mock* workflows/workers. (#369)
  • Breaking change: Public WorkflowLayout, tidier WorkflowRunner, bye WorkflowActivityRunner. (#367)

Swift

  • Kotlin-only release, no changes.

v0.16.0

22 May 21:26
Compare
Choose a tag to compare
v0.16.0 Pre-release
Pre-release

Kotlin

  • Breaking change: remove the CoroutineScope parameter to initialState, remove onTeardown. (#289)
  • Breaking change: made LifecycleWorker methods non-suspending. (#328)
  • Removed must nullability restrictions from parameter types. (#334, #352)
  • Marked workflow-ui-core and workflow-ui-android APIs as experimental. (#345)
  • Breaking change: removed deprecated Screen classes. (#347)
  • Add experimental support for input from Flow streams. (#280)
  • Introduce alternative testing infrastructure to test single render passes. (#349)
  • Add Emitter.emitAll extension to consume RxJava streams from within custom workers. (#354)
  • Breaking change: simpler / richer WorkflowActivityRunner API. PickledWorkflow no longer public. (#355, #358)
  • Breaking change: make the RenderContext parameter to Workflow.stateless the receiver instead. (#357)
  • Introduces WorkflowFragment. (#344, #358)

Swift

  • Add Action and Render testing helpers. (#330)

v0.15.0

26 Apr 19:50
Compare
Choose a tag to compare
v0.15.0 Pre-release
Pre-release

Kotlin

  • Introduce Workers as the new and only way to subscribe to external stream and future types. (#289, #321, #322, #323, #324)
  • Rename WorkflowContext to RenderContext. (#309)
  • Fix for stale workflow output handlers being invoked in later render passes. (#314)
  • WorkflowTester improvements:
    • Give WorkflowTester a sendInput method to update the root workflow-under-test's input. (#315)
    • Remove WorkflowTester.with* methods. (#318)
    • Make WorkflowTester the receiver of the lambdas to Workflow.test* methods. (#318)

Swift

  • Rename compose to render and update docs. (#301)

v0.14.1

18 Apr 20:23
7cb3ed3
Compare
Choose a tag to compare
v0.14.1 Pre-release
Pre-release

Kotlin

  • Fix for WorkflowHost.Factory not using baseContext. (#306)

Swift

  • Kotlin-only release, no changes.