Skip to content

0.4.0

Latest
Compare
Choose a tag to compare
@arkivanov arkivanov released this 13 Oct 19:11
· 14 commits to master since this release
f2d9178
  • Added Router.bringToFront extension function (#208)
  • Expose BackPressedHandler from ComponentContext, 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 to router sub-package (#253)
  • Added lifecycle argument to ComponentContext.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 exposes backPressedHandler property, the backPressedDispatcher 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 has ERROR level, all previously deprecated code with ERROR 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 by ComponentContext, its router(...): Router method is now an extension function (pull-request #251)
  • The Navigator interface is removed, the Router interface is now responsible for navigation
  • The Router and its surroundings are moved from com.arkivanov.decompose to com.arkivanov.decompose.router package (pull-request: #253)
  • Added lifecycle argument to ComponentContext.childContext extension function, with default value being null (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.