Releases: square/workflow
Releases · square/workflow
v0.22.4
v0.22.3
v0.22.2
v0.22.1
v0.22.0
Kotlin
Breaking changes:
- Safer
BackStackScreen
construction. (#809) - Pass
ContainerHints
viasetContentWorkflow
. (#808) ViewRegistry
is now aContainerHint
. (#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
v0.21.3
v0.21.2
v0.21.1
v0.21.0
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
fromT
toNothing
. (#637) - Add an
RxWorker
class so Workers can be implemented without using experimental Flow APIs. (#650) - Make
RxWorker
andFlowable.asWorker
usePublisher
instead ofFlowable
. (#654) - Make it simpler to provide debugging names for workflow actions. (#696)
Runtime changes:
launchWorkflowIn
block now takes aWorkflowSession
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
, introduceView.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 aroundLayoutRunner
s. (#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>
toWorker<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
, andmakeEventSink
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
withNever
(rather than
NoError
). As of this change, consumers must use Swift 5.
- This also moves everything over to the standard library’s
- Apply child workflow output as an action in
RenderTester
. (#595) - Add
WorkflowUI
toPackage.swift
. (#690)
v0.20.0
Kotlin
- Rename
onWorkerOutput
torunningWorker
(and friends). (#546) - Add Kotlin
Sink
,makeActionSink
,makeEventSink
. (#537) - Rename
LifecycleWorker.onCancelled
toonStopped
. (#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)