- Added
Router.bringToFront
extension function (#208) - Expose
BackPressedHandler
fromComponentContext
,ComponentContext.backPressedDispatcher
is now deprecated (#212) - Avoid saving configurations in
Children
functions (#213) - Minor API fixes in
extensions-android
module (#216) - Update documentation about
extensions-android
module (#218) - Added
RouterState
constructor overload (#220) - Clean-up deprecated code (#241)
- Check configuration uniqueness in
Router
(#244) - Enabled Apple silicon targets (#246)
- Removed
RouterFactory
interface (#251) - Removed
Navigator
interface (#252) - Moved
Router
torouter
sub-package (#253) - Added
lifecycle
argument toComponentContext.childContext
extension function (#254) - Updated Kotlin to 1.5.30, Jetpack and JetBrains Compose to 1.0.3 and 1.0.0-alpha4-build348 (#234)
- Fixed a memory leak in
MergedLifecycle
(#238) - Add documentation for navigation, extension functions, and hierarchy (#219 by @plusmobileapps)
- Additional documentation updates (#215, #218, #222 by @moffpage, #233 by @Morfly)
Breaking changes
This release brings various API changes:
ComponentContext
now exposesbackPressedHandler
property, thebackPressedDispatcher
property is deprecated (motivation: #205, pull-request: #212)- There were minor API fixes in
extensions-android
module (pull-request: #216), please check the updated documentation (pull-request: #218) - All previously deprecated code with
WARNING
level now hasERROR
level, all previously deprecated code withERROR
level is removed (pull-request #241) - The
Router
now checks that all configurations are unique (as per the documentation), and throws an error if this is not the case (pull-request #244) - The
RouterFactory
interface is removed and is no longer extended byComponentContext
, itsrouter(...): Router
method is now an extension function (pull-request #251) - The
Navigator
interface is removed, theRouter
interface is now responsible for navigation - The
Router
and its surroundings are moved fromcom.arkivanov.decompose
tocom.arkivanov.decompose.router
package (pull-request: #253) - Added
lifecycle
argument toComponentContext.childContext
extension function, with default value beingnull
(motivation: #227, pull-request: #254)
The documentation is updated to reflect all the changes.
Migration
You can use the attached script in the "Assets" section of this release, which updates imports in Kotlin files recursively, due to Router
moved to the router
sub-package.