Libraries
ALL my main libraries have been updated to support following KMP targets (if possible):
jvmandroidiosmacoswasm
Libraries#
Here are the minimum versions that do work with each other without problems.
UTILITIES
| Library | Minimum Version | Latest Version | Info |
|---|---|---|---|
| CacheFileProvider | 1.0.0 | ||
| FeedbackManager | 3.0.0 | - depends on CacheFileProvider |
Libraries
| Library | Minimum Version | Latest Version | Info |
|---|---|---|---|
| KotBilling | 2.0.0 | ||
| KotPreferences | 2.0.0 | ||
| Lumberjack | 9.0.0 | - extension-feedback artifact depends on FeedbackManager |
Compose
| Library | Minimum Version | Latest Version | Info |
|---|---|---|---|
| ComposeColors | 1.0.0 | ||
| ComposeDebugDrawer | 2.0.0 | - plugin-kotpreferences artifact depends on KotPreferences- plugin-lumberjack artifact depends on Lumberjack | |
| ComposeChangelog | 3.0.0 | - statesaver-kotpreferences artifact depends on KotPreferences | |
| ComposeThemer | 1.0.0 | ||
| ComposeDialogs | 3.0.0 | - dialog-billing artifact depends on KotBilling | |
| ComposePreferences | 2.0.0 | - depends on ComposeDialogs- kotpreferences artifact depends on KotPreferences |
Note
Above mentioned versions are the minimum versions that are compatible with each other. From there on I try to make new versions binary compatible - so any newer versions will work with each other without problems.
Experimental#
Why do some libraries use experimental functions?
Mostly I do use androidx.compose.ui.backhandler.BackHandler and the the kotlinx.datetime.Clock class. Both are currently still marked as experimental. I need both to support all the platforms so I do use those...
Unofficial Libraries#
Unofficial Libraries
| Library | Minimum Version | Latest Version | Info |
|---|---|---|---|
| kmp-parcelize | ALL | used internally in my libraries - it offers kmp compatible parcelize annotations that do map to the android parcelize ones on android and to "empty implementations" on other platforms | |
| kmp-library | ALL | just a utility for the gradle setups | |
| kmp-democomposables | - | just used for library demos, they are not meant for any other public use | |
| Toolbox | - | this is for my personal use - it offers A LOT like a whole base app for a kmp project that renders on all platforms differently, a table class, many reusable UI elements and more... |
