Decompose
                                
                                 Decompose copied to clipboard
                                
                                    Decompose copied to clipboard
                            
                            
                            
                        Remove extensions-compose-jetpack module
Since one of the recent releases of JetBrains (MPP) Compose, a library that depends on JetBrains Compose can be used in an Android project that depends on Jetpack Compose. This makes the extensions-compose-jetpack module useless, the extensions-compose-jetbrains module can be used instead. Further, extensions-compose-jetbrains module can be renamed to just extensions-compose.
This task should be done only after JetBrains Compose versions are aligned with Jetpack Compose. Currently stable versions of JetBrains Compose are based on Jetpack Compose 1.1.0 alpha/beta versions.
It seems that the major and minor versions are now aligned, and any difference in patch versions should not break anything. Perhaps we can remove extensions-compose-jetpack module now, and rename extensions-compose-jetbrains module to extensions-compose.
The only concert left is the release cycles. It seems that JetBrains Compose is being released a couple of weeks after Jetpack Compose. Waiting for a JetBrains Compose release may be inconvenient. Let's wait for Jetpack Compose 1.2.0 and see how it goes.
Sure, there were discussions about release cycles for JetBrains and Jetpack Compose. Do you know what the current plan states at? I'm not following the topic, unfortunately, I'd be glad to know.
@moffpage It is already possible to have a library that depends on JetBrains Compose, and use such a library in a project with Jetpack Compose. This should work.
Also, according to the latest information I have, both Jetpack and JetBrains Compose's versions are now aligned. E.g. for Jetpack Compose 1.1.x we have JetBrains Compose 1.1.y, and for Jetpack Compose 1.2.x we will have JetBrains Compose 1.2.y. The patch version (the third component of the version) should not bother, as the binary compatibility should be maintained.
The only concern for now is that JetBrains Compose is released with weeks delay after Jetpack Compose. If we remove the extensions-compose-jetpack module now and Jetpack Compose e.g. 1.2.0 will be released, we might need to wait some time for JetBrains Compose 1.2.y before we could release a new version of Decompose.
I want to wait for Jetpack Compose 1.2.x and see how it goes. Probably we can remove the extensions-compose-jetpack module after that.
Yeah, let's see how it goes!
Jetpack Compose 1.2.0 was more than a week ago, and there is still no stable release of JetBrains Compose (the latest version at the moment is 1.2.0-alpha01-dev753). It looks like extensions-compose-jetpack module should stay for now.
Maybe it should be renamed to extensions-compose-multiplatform?
Yep, either extensions-compose-multiplatform or just extensions-compose for simplicity. Once extensions-compose-jetpack is removed.
Postponed, maybe in a future v3.0.
I think it's time to reconsider this.
I think it's not bad working with the Multiplatform releases only, even if it takes a few weeks for the major releases to be in sync again with Jetpack Compose.
Technically, besides the package naming and a few annotations there are only minor differences in the tests that can be ignored if we keep the multiplatform implementation as base.
I personally prefer renaming the extension to extensions-compose, for simplicity like you said.
Thanks for the input @malliaridis!
Starting with Decompose v3, the extensions-compose-jetpack module is removed, the extensions-compose-jetbrains module is renamed to extensions-compose, all code is moved from com.arkivanov.decompose.extensions.compose.jetbrains package to com.arkivanov.decompose.extensions.compose. Will be out with the next v3 release.