0.24.0
github-actions
released this
09 Jun 16:39
·
48 commits
to refs/heads/master
since this release
Changes
- Support of Kotlin 1.9.20+ #477, #510, #531, #532, #535, #555, #557, #562, #576, #590, #594, #606, #612, #613, #618, #621, #628, #639 , #646, #650, #703
- Support of Compose Multiplatform 1.6.0+ #530, #685
- Gradle Configuration-Cache support #311, #607
- Adaptation for new Android Gradle Plugin Layout V2 (fix for broken android sourceSets) #642 , #655
- Adaptation of plugin for Kotlin 2.0 changes #564, #595
- Gradle plugin was reworked and simplified #474
- Support of custom resources directory (additional contains support of tasks result, thanks @Burtan) [Readme] #641 , #667
- Support of SourceSet resources #204, #357
- Support of Dark/Light themed images (thanks, @lammertw) [Readme] #543, #672 , #676 , #680 , #728
- Support of WatchOs target (thanks, @FabioCornelli) #648
- Removed: Usage of moko.parcelize (check how to update for workaround) #678
- Fixed: Usage of colorResources on iOS when resource was changed #681
- Fixed: getAssetByFilePath for files without extension (thanks, @luca992) #550
- Added
registerFont
in FontResource for Apple (thanks, @darronschall) #598 - Improve performance of first time usage resources on Apple targets #708
- Added simply usage of plurals with
pluralStringResource
for Compose (@darronschall) #679 - Reworked strings and plurals processing in gradle plugin #462, #673 , #689 , #697 , #698 , #710 , #723
- Removed unused compose desktop dependency #718
- Fix custom baseName for apple frameworks in CopyResources tasks #709
- Fix assets path on Windows #700
- Fix js tests on CI #669
- Described in readme about Xcode sandbox usage #643
- Added control of actool minimal deployment version #619
- Show error in gradle log if iOS Assets can't compile #610
values()
function is available for all resources in shared code #545- Added recomposition of
stringResource
when locale changed in Compose #533 - Optimized
painerResource
for iOS #526 - MR will not be generated if no resources in module #418
- Fixed code completion in XCode with static framework and cocoapods #387
- Now files and assets resources names contains extension in name (to support same name with different extensions) #350
- Missed translations will use
base
locale #118
Breaking changes
- Minimal: Kotlin 1.9.20+
- Minimal: Compose Multiplatform: 1.6.0+
- Resources moved from
src/<sourceSet>/resources/MR
tosrc/<sourceSet>/moko-resources
FontResource
s not generates additional object for FontFamily. ,MR.fonts.Arial.regular
=>MR.fonts.arial-regular
Parcelable
was removed (because K2 not support different actuals for expect interface)- Assets and files now contain extension in property name
- Disable warning notification about static framework moved from plugin configuration to gradle.properties [Readme]
How to update
For migration from 0.23.0 to 0.24.0 you need do this steps:
- Remove all workaround for compatibility 0.23.0 with kotlin 1.9.x+
- Remove gradle config
resourcesSourceSet
- now expect object will be generated in lower source set in hierarchy - Change all
multiplatformResources
values set from = to set likeresourcesPackage = "org.example.library"
toresourcesPackage.set("org.example.library")
- Move resources from
commonMain/resources/MR
tocommonMain/moko-resources
(inner structure of catalog was saved) - Update plugin settings, please check Readme
- Assets and Files changes:
Property generation was changed from:
MR.assets.same_file
to
MR.assets.same_file_ext
(now include file extension).
Now property save catalog hierarchy if your file is in:
commonMain/moko-resources/files/sameFolder/file.txt
in MR will generated:
MR.files.sameFolder.file_txt
In your code need update on usage of new style property
If you use other MOKO library where has moko-resources version less 0.24.0 (or other libs with MOKO), that workaround help you. If you has exception on iOS target like:
...
error: KLIB resolver: Could not find "dev.icerock.moko:parcelize" in ...
...
You need add this in your project:
dependencies {
iosMainImplementation("dev.icerock.moko:parcelize:0.9.0")
}
That dependency can be removed after all libs will be updated on 0.24.0+.
Thanks
@ExNDY @Pschsch @illarionov @lammertw @FabioCornelli @darronschall @luca992 @martinbonnin @Burtan @shtolik @Syer10