diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 8ad8c86..f760127 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index b7a73cf..458f527 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,5 +8,5 @@ buildscript {
allprojects {
group = "com.rickclephas.kmp"
- version = "1.0.0"
+ version = "1.0.0-kotlin-2.3.0-Beta2"
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index ffe28da..226ae4a 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,14 +1,14 @@
[versions]
-kotlin = "2.2.21"
+kotlin = "2.3.0-Beta2"
kotlinx-coroutines = "1.10.1"
-android = "8.2.0"
+android = "8.2.2"
androidx-lifecycle = "2.8.7"
-atomicfu = "0.27.0"
+atomicfu = "0.29.0"
# Sample versions
androidx-compose = "2023.10.01"
androidx-fragment = "1.6.2"
-nativecoroutines = "1.0.0-ALPHA-48"
+nativecoroutines = "1.0.0-ALPHA-48-kotlin-2.3.0-Beta2"
[libraries]
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
@@ -35,7 +35,7 @@ atomicfu = { id = "org.jetbrains.kotlinx.atomicfu", version.ref = "atomicfu" }
# Sample plugins
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
-jetbrains-compose = { id = "org.jetbrains.compose", version = "1.6.11" }
+jetbrains-compose = { id = "org.jetbrains.compose", version = "1.8.1" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
android-application = { id = "com.android.application", version.ref = "android" }
nativecoroutines = { id = "com.rickclephas.kmp.nativecoroutines", version.ref = "nativecoroutines" }
diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock
index 9e778f5..5d82af3 100644
--- a/kotlin-js-store/yarn.lock
+++ b/kotlin-js-store/yarn.lock
@@ -718,7 +718,7 @@ engine.io@~6.6.0:
engine.io-parser "~5.2.1"
ws "~8.17.1"
-enhanced-resolve@^5.17.2:
+enhanced-resolve@^5.17.3:
version "5.18.3"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44"
integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==
@@ -1187,10 +1187,9 @@ karma-webpack@5.0.1:
minimatch "^9.0.3"
webpack-merge "^4.1.5"
-karma@6.4.4:
+"karma@github:Kotlin/karma#6.4.5":
version "6.4.4"
- resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492"
- integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==
+ resolved "https://codeload.github.com/Kotlin/karma/tar.gz/239a8fc984584f0d96b1dd750e7a5e2c79da93a6"
dependencies:
"@colors/colors" "1.5.0"
body-parser "^1.19.0"
@@ -1222,10 +1221,10 @@ kind-of@^6.0.2:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-kotlin-web-helpers@2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.1.0.tgz#6cd4b0f0dc3baea163929c8638155b8d19c55a74"
- integrity sha512-NAJhiNB84tnvJ5EQx7iER3GWw7rsTZkX9HVHZpe7E3dDBD/dhTzqgSwNU3MfQjniy2rB04bP24WM9Z32ntUWRg==
+kotlin-web-helpers@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-3.0.0.tgz#3ed6b48f694f74bb60a737a9d7e2c0e3b29abdb9"
+ integrity sha512-kdQO4AJQkUPvpLh9aglkXDRyN+CfXO7pKq+GESEnxooBFkQpytLrqZis3ABvmFN1cGw/ZQ/K38u5sRGW+NfBnw==
dependencies:
format-util "^1.0.5"
@@ -1335,10 +1334,10 @@ mkdirp@^0.5.5:
dependencies:
minimist "^1.2.6"
-mocha@11.7.1:
- version "11.7.1"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.1.tgz#91948fecd624fb4bd154ed260b7e1ad3910d7c7a"
- integrity sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A==
+mocha@11.7.2:
+ version "11.7.2"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.2.tgz#3c0079fe5cc2f8ea86d99124debcc42bb1ab22b5"
+ integrity sha512-lkqVJPmqqG/w5jmmFtiRvtA2jkDyNVUcefFJKb2uyX4dekk8Okgqop3cgbFiaIvj8uCRJVTP5x9dfxGyXm2jvQ==
dependencies:
browser-stdout "^1.3.1"
chokidar "^4.0.1"
@@ -1949,10 +1948,10 @@ webpack-sources@^3.3.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723"
integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
-webpack@5.100.2:
- version "5.100.2"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.100.2.tgz#e2341facf9f7de1d702147c91bcb65b693adf9e8"
- integrity sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==
+webpack@5.101.3:
+ version "5.101.3"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.101.3.tgz#3633b2375bb29ea4b06ffb1902734d977bc44346"
+ integrity sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==
dependencies:
"@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.8"
@@ -1964,7 +1963,7 @@ webpack@5.100.2:
acorn-import-phases "^1.0.3"
browserslist "^4.24.0"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.17.2"
+ enhanced-resolve "^5.17.3"
es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
diff --git a/sample/iosApp/KMPObservableViewModelSample.xcodeproj/project.pbxproj b/sample/iosApp/KMPObservableViewModelSample.xcodeproj/project.pbxproj
index a94448b..03a3f08 100644
--- a/sample/iosApp/KMPObservableViewModelSample.xcodeproj/project.pbxproj
+++ b/sample/iosApp/KMPObservableViewModelSample.xcodeproj/project.pbxproj
@@ -51,6 +51,7 @@
1D44EF8E292C066C00465C43 /* KMPObservableViewModelSampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KMPObservableViewModelSampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
1D44EF92292C066C00465C43 /* KMPObservableViewModelSampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPObservableViewModelSampleUITests.swift; sourceTree = ""; };
1D44EF94292C066C00465C43 /* KMPObservableViewModelSampleUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPObservableViewModelSampleUITestsLaunchTests.swift; sourceTree = ""; };
+ 1D60525F2EBF979B008B7573 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; };
1DC34F692EAE33550063597A /* RootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootView.swift; sourceTree = ""; };
1DCF89A82933928600A4C54A /* KMP-ObservableViewModel */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = "KMP-ObservableViewModel"; path = ../..; sourceTree = ""; };
1DDAF21F2935470A0049C114 /* KMPObservableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPObservableViewModel.swift; sourceTree = ""; };
@@ -110,6 +111,7 @@
1D44EF76292C066B00465C43 /* KMPObservableViewModelSample */ = {
isa = PBXGroup;
children = (
+ 1D60525F2EBF979B008B7573 /* Info.plist */,
1D44EF7B292C066C00465C43 /* Assets.xcassets */,
1DDE18842E114DE500227AE6 /* ChangeCounter.swift */,
1DF227AF2C2856BC00D8B3A7 /* ContentViewCompose.swift */,
@@ -488,6 +490,7 @@
ENABLE_PREVIEWS = YES;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = KMPObservableViewModelSample/Info.plist;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -522,6 +525,7 @@
ENABLE_PREVIEWS = YES;
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)";
GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = KMPObservableViewModelSample/Info.plist;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
diff --git a/sample/iosApp/KMPObservableViewModelSample/Info.plist b/sample/iosApp/KMPObservableViewModelSample/Info.plist
new file mode 100644
index 0000000..11845e1
--- /dev/null
+++ b/sample/iosApp/KMPObservableViewModelSample/Info.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ CADisableMinimumFrameDurationOnPhone
+
+
+