3.0.0-alpha09
Pre-release- Improved component context API for easier custom component contexts (#670)
- Monitor window focused state in desktop
LifecycleController
(#672, see #671) - Updated Kotlin to
1.9.23
, Compose to1.6.1
and other dependencies (#676)
The improved ComponentContext API
This release brings experimental changes to the ComponentContext API. Please share your feedback or any issues you encounter. The idea is to make it easier to create and manage custom component contexts.
The change shouldn't break any source compatibility. However, if you have type parameters (generics) explicitly specified for functions childStack
, childSlot
, childPages
or children
, you will need to change your code in the following way. The rest should be compatible and require no changes in the code.
- val stack: Value<ChildStack<*, Child>> = childStack<Config, Child>(...)
+ val stack: Value<ChildStack<*, Child>> = childStack<_, Config, Child>(...)
If you have a custom component context
Since this version (experimentally) you can now remove custom navigation extensions like AppComponentContext.appChildStack
, AppComponentContext.childAppContext
, etc. You will also need to update your custom component context definitions. Please see the updated docs.
Changes in LifecycleController
for desktop (JVM)
The LifecycleController
function now accepts an optional WindowInfo
argument. If supplied, the Lifecycle
will pause/resume when the window's focus state changes.
Versions and dependencies
Kotlin: 1.9.23
Essenty: 2.0.0-alpha07
kotlinx-serialization: 1.6.2
JetBrains Compose: 1.6.1