Skip to content

Releases: square/workflow

v0.22.4

16 Jan 00:54
Compare
Choose a tag to compare
v0.22.4 Pre-release
Pre-release

Kotlin

  • Allow empty snapshots to be passed into launchWorkflowIn (#881)

Swift

  • Flag out WorkflowTesting APIs when in Release mode (#872)

v0.22.3

11 Jan 03:44
Compare
Choose a tag to compare
v0.22.3 Pre-release
Pre-release

Kotlin

  • Adds ContainerHints to ShowRenderingTag. (#868)
  • Add an empty ViewRegistry factory function. (#870)

Swift

  • Kotlin-only release, no changes.

v0.22.2

08 Jan 02:03
Compare
Choose a tag to compare
v0.22.2 Pre-release
Pre-release

Kotlin

  • Breaking: WorkflowAction.invoke is now action. (#862)
  • Fixes StatelessWorkflow.action. (#861)

Swift

  • Kotlin-only release, no changes.

v0.22.1

20 Dec 20:44
2392348
Compare
Choose a tag to compare
v0.22.1 Pre-release
Pre-release

Kotlin

  • Make WorkflowAction covariant on OutputT again. (#837)
  • Undo making RenderContext a sink, give it a sink property instead. (#839)

Swift

  • Kotlin-only release, no changes.

v0.22.0

19 Dec 00:21
Compare
Choose a tag to compare
v0.22.0 Pre-release
Pre-release

Kotlin

Breaking changes:

  • Safer BackStackScreen construction. (#809)
  • Pass ContainerHints via setContentWorkflow. (#808)
  • ViewRegistry is now a ContainerHint. (#770)
  • Remove deprecated testRender API. (#743)

Non-breaking API changes:

  • Make lifecyclOrNull public. (#747)
  • Give Worker.doesSameWorkAs a default implementation that just compares by concrete type. (#746)
  • Replace WorkflowAction.Mutator API with more ergonomic .Updater (#812, #813)
  • Give RenderTester.render function argument a default no-op value. (#828)
  • Add overload to RenderTester.expectWorker for simple worker comparisons. (#828)
  • Make RenderContext itself a Sink. (#835)
  • Convert ViewRegistry to an interface. (#832)

Other changes:

  • Add variance to StatelessWorkflow type parameters. (#790)
  • Make event sinks queued and reusable instead of throw after going stale. (#742)
  • Optimize re-rendering child workflows. (#800)

Swift

  • Add macOS support (#750)
  • Add ContainerView to enable SwiftUI integration. (#691)

v0.21.3

19 Nov 02:08
b54ba81
Compare
Choose a tag to compare
v0.21.3 Pre-release
Pre-release

Kotlin

  • Fix RenderTester not allowing output-less expectations to be specified after one with output. (#756)
  • Fix RenderTester not checking worker keys. (#755)

Swift

  • Kotlin-only release, no changes.

v0.21.2

07 Nov 23:12
7d62986
Compare
Choose a tag to compare
v0.21.2 Pre-release
Pre-release

Kotlin

  • Restore testFromState. (#716)
  • New render testing API for kotlin. (#687)

Swift

  • Kotlin-only release, no changes.

v0.21.1

30 Oct 23:21
Compare
Choose a tag to compare
v0.21.1 Pre-release
Pre-release

Kotlin

  • Publish internal-testing-utils artifact that is required by two of the other modules. (#708)
  • Add missing kdoc for TraceLogger (#705)

Swift

  • Kotlin-only release, no changes.

v0.21.0

30 Oct 00:57
1e5903c
Compare
Choose a tag to compare
v0.21.0 Pre-release
Pre-release

Kotlin

Core API changes:

  • Add StatefulWorkflow.workflowAction. (#576)
  • Remove runningWorkerUntilFinished. (#589)
  • Remove key from TypedWorker and helpers that use it. (#606, #619)
  • Never pass an empty snapshot to initialState. (#556)
  • Change the return type of Worker.finished from T to Nothing. (#637)
  • Add an RxWorker class so Workers can be implemented without using experimental Flow APIs. (#650)
  • Make RxWorker and Flowable.asWorker use Publisher instead of Flowable. (#654)
  • Make it simpler to provide debugging names for workflow actions. (#696)

Runtime changes:

  • launchWorkflowIn block now takes a WorkflowSession instead of individual parameters. (#612)
  • Introduce WorkflowDiagnosticListener to support various debugging and logging tools. (#628, #634)
  • Implement chrome trace file generation. (#617)

Testing changes:

  • Introduce WorkerSink for writing integration tests that involve worker outputs. (#588)
  • Fix a race in WorkerTester. (#638)
  • Make testing infra run double render passes to suss out side effect code in render methods. (#678)
  • Make it possible to pass just the snapshot for the root workflow into the test methods. (#681)
  • Throw workflow exceptions from test/testFromStart instead of leaking to uncaught exception handler. (#686)

Android changes:

  • Eliminate HandlesBack, introduce View.backPressedHandler. (#614)
  • Introduce WorkflowViewStub. (#657)
  • Adds getRendering, getShowRendering View extensions. (#666)
  • Eliminate WorkflowRunner.onSaveInstanceState. (#679)
  • Compile time assurance that BackStackScreen is not empty. (#688)
  • Introduce ContainerHints for passing view-only hints around LayoutRunners. (#693)

Version changes:

  • Upgrade Kotlin to 1.3.50. (#560)
  • Upgrade coroutines to 1.3.1 stable. (#561, #590)
  • Upgrade a bunch of other dependencies, see the commit history for details.

Other changes:

  • Eliminate ExperimentalWorkflowUi. (#565)
  • Rename Worker<T> to Worker<OutputT>. (#570)
  • Fix "java" being printed instead of class name in Rx2 Reactors. (#607)
  • Fix a worker crash introduced by onReceiveOrClosed. (#630)
  • Make onEvent, makeActionSink, and makeEventSink include what action was lost to when they receive more than one event. (#673)

Swift

  • Update ReactiveSwift to 6.0.0. (#574 – thanks @lechristian!)
    • This also moves everything over to the standard library’s Result with Never (rather than
      NoError). As of this change, consumers must use Swift 5.
  • Apply child workflow output as an action in RenderTester. (#595)
  • Add WorkflowUI to Package.swift. (#690)

v0.20.0

22 Aug 01:31
4f91869
Compare
Choose a tag to compare
v0.20.0 Pre-release
Pre-release

Kotlin

  • Rename onWorkerOutput to runningWorker (and friends). (#546)
  • Add Kotlin Sink, makeActionSink, makeEventSink. (#537)
  • Rename LifecycleWorker.onCancelled to onStopped. (#550)
  • Create a Worker.transform operator. (#533)
  • Remove all non-test dependencies on Kotlin Reflect. (#551)
  • Rename InputT -> PropsT (#549)
  • Update a bunch of dependency versions.

Swift

  • Plumb file and line to convenience render tester method (#516)