Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Versions.DECOMPOSE to v0.8.0 #22

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented May 28, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.arkivanov.decompose:extensions-compose-jetbrains 0.5.1 -> 0.8.0 age adoption passing confidence
com.arkivanov.decompose:decompose 0.5.1 -> 0.8.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

arkivanov/Decompose (com.arkivanov.decompose:extensions-compose-jetbrains)

v0.8.0

Compare Source

The new Child Stack

The Router and all its surroundings are now deprecated. There is new concept introduced - Child Stack. It is located in a separate package and doesn't conflict with Router. The main purpose of introducing Child Stack is to bring more flexibility and compile time safety. And also to allow the room for another kinds of routing in the future.

Please refer to the updated docs and #​134 for more information.

Migration tips
// Before

interface Root {
    val routerState: Value<RouterState<*, Child>>
}

class RootComponent(componentContext: ComponentContext): ComponentContext by componentContext {
    private val router = router<Config, Child>(..., childFactory = ::child)
    override val routerState = router.state

    private fun foo() {
        router.push()
        router.pop()
    }
}

@&#8203;Composable
fun RootContent(component: Root) {
    val routerState by component.routerState.observeAsState()
    Children(routerState = routerState, ...) {
        // ...
    }
}
// After

interface Root {
    val childStack: Value<ChildStack<*, Child>>
}

class RootComponent(componentContext: ComponentContext): ComponentContext by componentContext {
    private val navigation = StackNavigation<Config>()
    private val stack = childStack(source = navigation, ..., childFactory = ::child)
    override val childStack = stack

    private fun foo() {
        navigation.push()
        navigation.pop()
    }
}

@&#8203;Composable
fun RootContent(component: Root) {
    val stack by component.childStack.observeAsState()
    Children(stack = stack, ...) {
        // ...
    }
}
Breaking changes

There are no breaking changes in this release, it should be both binary and source compatible.

Versions and dependencies

Kotlin: 1.6.10
Essenty: 0.2.2

extensions-compose-jetpack

Jetpack Compose: 1.1.1
Jetpack Compose Compiler: 1.1.1

extensions-compose-jetbrains

JetBrains Compose: 1.1.0

v0.8.0-native-compose-02

Compare Source

This is the same release as 0.8.0, but with Compose for iOS support:

Versions and dependencies

Kotlin: 1.7.0
Essenty: 0.4.2
JetBrains Compose: 1.2.0-alpha01-dev745

v0.7.0

Compare Source

  • Added onComplete callback to Router.popWhile(...) function (#​104 by @​Tommyten)
  • Added onComplete callback to Router.push(...), Router. replaceCurrent(...) and Router. bringToFront(...) functions (#​128)
  • Added ensureNeverFrozen to MutableValue (#​116)
  • Interfaces DefaultWebHistoryController.Window and DefaultWebHistoryController.History are marked internal (#​127)
  • Fixed DefaultWebHistoryController not working on Chrome for iOS (#​127)

Versions and dependencies

Kotlin: 1.6.10
Essenty: 0.2.2

extensions-compose-jetpack

Jetpack Compose: 1.1.1
Jetpack Compose Compiler: 1.1.1

extensions-compose-jetbrains

JetBrains Compose: 1.1.0

v0.7.0-native-compose-02

Compare Source

  • Updated Kotlin to 1.7.0, Compose to 1.2.0-alpha01-dev741, Essenty to 0.4.2, AGP to 7.2.0, Gradle to 7.4.2 (#​141)

Versions and dependencies

Kotlin: 1.7.0
Essenty: 0.4.2
JetBrains Compose: 1.2.0-alpha01-dev745

v0.7.0-native-compose-01

Compare Source

This is the same release as 0.7.0, but with the following changes:

  • extensions-compose-jetbrains supports additional targets: iosX64, iosArm64, macosX64 and macosArm64 (iosSimulatorArm64 is not yet supported, because Compose doesn't support it)
  • extensions-compose-jetpack module is removed
Versions and dependencies

Kotlin: 1.6.21
Essenty: 0.2.2
JetBrains Compose: 1.2.0-alpha01-dev716

v0.6.0

Compare Source

Changes
  • Updated Compose animations API (different animations for different children, combining animators) (#​53, #​67)
  • Added onComplete callback to Router.navigate and Router.pop functions (#​66)
  • Disabled interactions while animating Compose children (#​58)
  • Tidied deprecated code (#​64)
Versions and dependencies

Kotlin: 1.6.10
Essenty: 0.2.2

extensions-compose-jetpack

Jetpack Compose: 1.1.1
Jetpack Compose Compiler: 1.1.1

extensions-compose-jetbrains

JetBrains Compose: 1.1.0

Breaking changes

The Compose animations API is significantly changed. The main idea is to allow different animations for different children. Also it is now possible to combine animators using the + operator. This is both source and binary incompatible change. Please refer to the updated documentation.

The Router.navigate function got a second argument - the onComplete callback. The old Router.navigate function with one argument is now an extension function, for convenience. The Router.pop extension function got the onComplete callback as well. It doesn't throw an exception anymore in case when the back stack is empty. Instead, the onComplete callback is called with a result. This is both source and binary incompatible change. Please refer to the updated documentation.

All deprecated code with Level.ERROR is removed. All deprecations with Level.WARNING are promoted to Level.ERROR.

v0.6.0-native-compose-01

Compare Source

  • Updated Compose to 1.2.0-alpha01-dev675 (#​86)
  • Updated Kotlin to 1.6.21 (#​89)
Versions and dependencies

Kotlin: 1.6.21
Essenty: 0.2.2

extensions-compose-jetbrains

JetBrains Compose: 1.2.0-alpha01-dev675

v0.6.0-native-compose

Compare Source

This is the same release as 0.6.0, but with the following changes:

  • extensions-compose-jetbrains supports additional targets: iosX64, iosArm64, macosX64 and macosArm64 (iosSimulatorArm64 is not yet supported, because Compose doesn't support it)
  • extensions-compose-jetpack module is removed

The sample was updated with Compose for iOS - sample/app-darwin-compose.

Versions and dependencies

Kotlin: 1.6.20
Essenty: 0.2.2

extensions-compose-jetbrains

JetBrains Compose: 0.0.0-on-rebase-12-apr-2022-dev668

v0.5.2

Compare Source

  • Updated JetBrains Compose to 1.1.0 (#​48)
  • Updated Jetpack Compose to 1.1.1 (#​49)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants