0.4.0
- Added
Router.bringToFrontextension function (#208) - Expose
BackPressedHandlerfromComponentContext,ComponentContext.backPressedDispatcheris now deprecated (#212) - Avoid saving configurations in
Childrenfunctions (#213) - Minor API fixes in
extensions-androidmodule (#216) - Update documentation about
extensions-androidmodule (#218) - Added
RouterStateconstructor overload (#220) - Clean-up deprecated code (#241)
- Check configuration uniqueness in
Router(#244) - Enabled Apple silicon targets (#246)
- Removed
RouterFactoryinterface (#251) - Removed
Navigatorinterface (#252) - Moved
Routertoroutersub-package (#253) - Added
lifecycleargument toComponentContext.childContextextension 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:
ComponentContextnow exposesbackPressedHandlerproperty, thebackPressedDispatcherproperty is deprecated (motivation: #205, pull-request: #212)- There were minor API fixes in
extensions-androidmodule (pull-request: #216), please check the updated documentation (pull-request: #218) - All previously deprecated code with
WARNINGlevel now hasERRORlevel, all previously deprecated code withERRORlevel is removed (pull-request #241) - The
Routernow checks that all configurations are unique (as per the documentation), and throws an error if this is not the case (pull-request #244) - The
RouterFactoryinterface is removed and is no longer extended byComponentContext, itsrouter(...): Routermethod is now an extension function (pull-request #251) - The
Navigatorinterface is removed, theRouterinterface is now responsible for navigation - The
Routerand its surroundings are moved fromcom.arkivanov.decomposetocom.arkivanov.decompose.routerpackage (pull-request: #253) - Added
lifecycleargument toComponentContext.childContextextension 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.