What's Changed
We're no longer pretending that this is beta software, and quite a bit has changed since v1.7.1.
If you've been using the betas, the interesting change since v1.13.0-beta2 is the introduction of stable eventHandler
:
- BREAKING Introduces
BaseRenderContext.remember
and stableeventHandlers
. by @rjrjr in #1267 - Adds
STABLE_EVENT_HANDLERS
to runtime config tools, CI by @rjrjr in #1270
Here's a sampling of what else has happened in the meantime:
- Introduces Screen, WithEnvironment : Screen. Deprecates ViewFactory by @rjrjr in #577
- Renames WithEnvironment to EnvironmentScreen. by @rjrjr in #587
- Introduces Overlay, and its first uses: BodyAndModalsScreen, AlertOverlay by @rjrjr in #588
- Introduces ScreenOverlay and ModalScreenOverlayDialogFactory by @rjrjr in #595
- Brings ViewStarter to the UI update. by @rjrjr in #620
- Simpler, safer ViewEnvironment and ViewRegistry management. by @rjrjr in #630
- Introduces ScreenViewFactoryFinder by @rjrjr in #625
- Undoes port of AlertContainerScreen to Screen by @rjrjr in #629
- Simpler, safer ViewEnvironment and ViewRegistry management. by @rjrjr in #631
- Overhaul of Compose support. by @rjrjr in #689
- Introduces OverlayDialogFactoryFinder by @rjrjr in #690
- rememberPreview... by @rjrjr in #692
- ScreenViewHolder replaces View.* extensions and DecorativeViewFactory by @rjrjr in #712
- Hello ModalScreenOverlay by @rjrjr in #726
- Fixes BackStackContainer view persistence by @rjrjr in #730
- Adds EnvironmentScreenLegacyViewFactory. by @rjrjr in #732
- More consistent use of Compatible.keyFor by @rjrjr in #734
- Introduces ViewEnvironmentKey.combine, makes ViewRegistry use it. by @rjrjr in #737
View.environmentOrNull
,View.screenOrNull
. by @rjrjr in #742- Pt. 1: Migrate :workflow-core and :workflow-runtime to kmp gradle plugin by @bnvinay92 in #793
- Convert :workflow-core to kmp by @bnvinay92 in #797
- Convert :workflow-runtime to KMM by @bnvinay92 in #799
- Introduces
ScreenViewFactory.forWrapper
by @rjrjr in #805 - More flexible modality. by @rjrjr in #808
- Makes
OverlayDialogFactory
more consistent withScreenViewFactory
. by @rjrjr in #809 - Simpler, better back button handling. by @rjrjr in #843
- Reuse RenderContext; unfreeze before rendering by @steve-the-edwards in #850
- Add KMP target for iosSimulatorArm64 by @bnvinay92 in #854
- Add js target by @hujim in #887
- Cache WorkflowIdentifier by @steve-the-edwards in #911
- Close dialogs even if the managing view is never attached. by @rjrjr in #941
- Add interceptor methods: onNextRendering, onSnapshotTree by @pyricau in #952
- Provide optional collectionContext for WorkflowLayout.take by @steve-the-edwards in #964
- Extracts
ScreenViewFactory.map
fromScreenViewFactory.forWrapper
by @rjrjr in #975 - Introduces
DialogCollator
by @rjrjr in #981 - Eliminates the useless
type
property fromViewEnvironmentKey
. by @rjrjr in #999 - Do not show
Dialog
s beforeActivity
content view is attached. by @rjrjr in #1003 - Add RuntimeConfig through to WorkflowSession in Interceptor by @steve-the-edwards in #1018
- Add CoroutineScope to initialState; SessionWorkflow to aid rollout by @steve-the-edwards in #1106
- Makes
BackStackScreen<*>
practical by @rjrjr in #1121 - BREAKING: Stop stomping
View.layoutParams
, new parameter forreplaceViewInParent
by @rjrjr in #1135 - Add testRender with CoroutineScope for SessionWorkflow by @steve-the-edwards in #1141
- Fix what bounds gets reported in layered dialog sessions by @ekeitho in #1155
- BREAKING: container > navigation by @rjrjr in #1154
- Document how WorkflowAction can delegate by @rjrjr in #1156
- BREAKING: 🔥 Delete all the deprecated things. by @rjrjr in #1119
- BREAKING: Replaces
ComposeScreenViewFactory
withScreenComposableFactory
by @rjrjr in #1146 - Makes
CoveredByModal
public. by @rjrjr in #1201 - Stop pretending everyone implements view state right. by @rjrjr in #1202
- BREAKING: Compose overhaul makes ViewEnvironment less in your face. by @rjrjr in #1207
- BREAKING: Renames
BackStackConfig.Other
toCanGoBack
by @rjrjr in #1214 - Return the
Job
fromWorkflowLayout.take
so it can be canceled. by @rjrjr in #1219 - Introduces
BackStackScreen.name
by @rjrjr in #1220 action {}
,eventHandler {}
with no debugging name is deprecated by @rjrjr in #1226- Introduces
SavedStateHandle.removeWorkflowState()
by @rjrjr in #1227 - Deprecates the name-optional flavor of
StatelessWorkflow.action
by @rjrjr in #1229 - Add public
debuggingName
toWorkflowAction
, use it in defaulttoString()
by @steve-the-edwards in #1232 - Ensure Correct SavedStateRegistryOwner Propagation in asComposableFactory by @ekeitho in #1233
- Refactor to ComposeLifecycleOwner for Better Lifecycle Synchronization by @ekeitho in #1234
- Remove Deprecated Worker, eventHandler, and action APIs by @steve-the-edwards in #1237
- Add WorkflowTracer Through some Runtime Internals by @steve-the-edwards in #1240
- Pipe Worker Output Action Names by @steve-the-edwards in #1241
- 1249: Cache Intercepted Workflow Instance by @steve-the-edwards in #1250
- 988: Cache RenderContext per instance by @steve-the-edwards in #1251
- Make Flow.collectToSink public. by @zach-klippenstein in #1261
- Fix Conflate Stale Rendering Logic for Short Circuit by @steve-the-edwards in #1263
- 1247: Partial Tree Rerendering by @steve-the-edwards in #1248
- BREAKING Introduces
BaseRenderContext.remember
and stableeventHandlers
. by @rjrjr in #1267 - Adds
STABLE_EVENT_HANDLERS
to runtime config tools, CI by @rjrjr in #1270
New Contributors
- @tyler-higashi made their first contribution in #820
- @sapuglha made their first contribution in #829
- @6879756e made their first contribution in #869
- @hujim made their first contribution in #887
- @tom-pratt made their first contribution in #906
- @EtherBit made their first contribution in #901
- @renovate made their first contribution in #921
- @pyricau made their first contribution in #952
- @RotBolt made their first contribution in #1032
- @crocsandcoffee made their first contribution in #996
- @sssurvey made their first contribution in #1086
- @ekeitho made their first contribution in #1155
- @jkwiz made their first contribution in #1224
Full Changelog: v1.7.1...v1.14.0