From 03b90e2afe88db714a0d14412a9130d9f2483a75 Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 09:50:26 +0100 Subject: [PATCH 1/8] Brew install --- INSTALL.md | 64 ++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index b7ff920..1e39ff3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -30,35 +30,7 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC ## macOS -### Option 1: Install via Homebrew (Recommended) - -Installing via [Homebrew](https://brew.sh/) automatically handles macOS quarantine flags and simplifies future updates: - -**Install:** -1. Add the tap: - ```shell - brew tap rukira/tap https://git.asarius.site/rukira/homebrew-tap.git - ``` - -2. Install WoW Backup: - ```shell - brew install --cask --no-quarantine wow-backup - ``` - -**Update:** - ```shell - brew update - brew upgrade --cask wow-backup - ``` - -**Uninstall:** - ```shell - brew uninstall --cask --zap wow-backup - ``` - ---- - -### Option 2: Manual DMG Download +### Option 1: Manual DMG Download 1. Download the `.dmg` file from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases/latest)**. 2. Double-click the `.dmg` file to mount the disk image. @@ -75,10 +47,36 @@ To launch the app: xattr -cr "/Applications/WoW Backup.app" ``` - **macOS System Settings:** - 1. Open **System Settings** → **Privacy & Security**. - 2. Scroll down to the **Security** section. - 3. Click **Open Anyway** next to the WoW Backup notice. - 4. Confirm and launch the app. + 1. Open **System Settings** → **Privacy & Security**. + 2. Scroll down to the **Security** section. + 3. Click **Open Anyway** next to the WoW Backup notice. + 4. Confirm and launch the app. + +--- + +### Option 2: Install via [Homebrew](https://brew.sh/) + +**Install:** +1. Add the tap: + ```shell + brew tap rukira/tap https://git.asarius.site/rukira/homebrew-tap.git + ``` + +2. Install WoW Backup: + ```shell + brew install --cask wow-backup + ``` + +**Update:** + ```shell + brew update + brew upgrade --cask wow-backup + ``` + +**Uninstall:** + ```shell + brew uninstall --cask --zap wow-backup + ``` --- From 3e2fcf87a86c412f315bbe57308b856f9b9f11a0 Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:18:43 +0100 Subject: [PATCH 2/8] chore: bump low-risk dependencies and gradle wrapper (batch 1) Co-authored-by: Junie --- gradle/libs.versions.toml | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c8a2a2a..bf88a91 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,12 +2,12 @@ androidx-lifecycle = "2.10.0-alpha08" composeMultiplatform = "1.11.0-alpha03" kotlin = "2.2.21" -kotlinx-coroutines = "1.10.2" +kotlinx-coroutines = "1.11.0" kotlinx-datetime = "0.6.2" -kotlinx-serialization = "1.10.0" +kotlinx-serialization = "1.11.0" cardiologist = "0.8.0" kotlin-logging = "7.0.3" -logback = "1.5.18" +logback = "1.5.38" materialKolor = "2.0.0" [libraries] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 19a6bde..c42672d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 5c1b8b3cc8a216f41a0cc1d479551f950af6092b Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:19:24 +0100 Subject: [PATCH 3/8] chore: bump composeMultiplatform and androidx-lifecycle to stable (batch 2) Co-authored-by: Junie --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bf88a91..8df48c6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -androidx-lifecycle = "2.10.0-alpha08" -composeMultiplatform = "1.11.0-alpha03" +androidx-lifecycle = "2.11.0" +composeMultiplatform = "1.11.1" kotlin = "2.2.21" kotlinx-coroutines = "1.11.0" kotlinx-datetime = "0.6.2" From ae845d422c4b226d14c85b99c369d2767ec6185d Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:19:46 +0100 Subject: [PATCH 4/8] chore: bump kotlin-logging to 8.0.4 (batch 3) Co-authored-by: Junie --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8df48c6..d75981a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ kotlinx-coroutines = "1.11.0" kotlinx-datetime = "0.6.2" kotlinx-serialization = "1.11.0" cardiologist = "0.8.0" -kotlin-logging = "7.0.3" +kotlin-logging = "8.0.4" logback = "1.5.38" materialKolor = "2.0.0" From d0887d88badeb7b7f38ef8d0f5ed07beb67e1ed6 Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:21:27 +0100 Subject: [PATCH 5/8] chore: bump materialKolor to 4.0.5 and update Theme parameter (batch 4) Co-authored-by: Junie --- .../src/jvmMain/kotlin/com/rukira/wowbackup/ui/theme/Theme.kt | 2 +- gradle/libs.versions.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/theme/Theme.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/theme/Theme.kt index 9b4c7e7..0f5fd4d 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/theme/Theme.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/theme/Theme.kt @@ -20,7 +20,7 @@ fun WoWBackupTheme( DynamicMaterialTheme( seedColor = accentColor.seedColor, - useDarkTheme = useDarkTheme, + isDark = useDarkTheme, content = content, ) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d75981a..96aca12 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ kotlinx-serialization = "1.11.0" cardiologist = "0.8.0" kotlin-logging = "8.0.4" logback = "1.5.38" -materialKolor = "2.0.0" +materialKolor = "4.0.5" [libraries] androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } From 616a7a9a95b475aa7f415f89ca089489cad87e4b Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:22:28 +0100 Subject: [PATCH 6/8] chore: bump kotlinx-datetime to 0.8.0 (batch 5) Co-authored-by: Junie --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 96aca12..3ff8e31 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ androidx-lifecycle = "2.11.0" composeMultiplatform = "1.11.1" kotlin = "2.2.21" kotlinx-coroutines = "1.11.0" -kotlinx-datetime = "0.6.2" +kotlinx-datetime = "0.8.0" kotlinx-serialization = "1.11.0" cardiologist = "0.8.0" kotlin-logging = "8.0.4" From 2eeebee36dd71b512e597a6c1c789d56bdc445cc Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:34:47 +0100 Subject: [PATCH 7/8] Fixing deprecated gradle task declaration --- composeApp/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 1a4b2e4..39a7408 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -42,7 +42,8 @@ val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNo val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin") -val generateBuildConfig by tasks.registering { +val generateBuildConfig = tasks.register("generateBuildConfig") { + description = "Generates BuildConfig.kt" val outputDir = generatedSrcDir val version = appVersion inputs.property("version", version) From d4fb6a25be33b62f60d811e6fea71ec9aa634fdf Mon Sep 17 00:00:00 2001 From: Rukira Date: Thu, 27 Aug 2026 10:43:40 +0100 Subject: [PATCH 8/8] Fixing Compose dependencies --- composeApp/build.gradle.kts | 12 ++++++------ gradle/libs.versions.toml | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 39a7408..c7891ab 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -12,12 +12,12 @@ kotlin { sourceSets { commonMain.dependencies { - implementation(compose.runtime) - implementation(compose.foundation) - implementation(compose.material3) - implementation(compose.ui) - implementation(compose.components.resources) - implementation(compose.components.uiToolingPreview) + implementation(libs.compose.runtime) + implementation(libs.compose.foundation) + implementation(libs.compose.material3) + implementation(libs.compose.ui) + implementation(libs.compose.components.resources) + implementation(libs.compose.components.uiToolingPreview) implementation(libs.androidx.lifecycle.viewmodelCompose) implementation(libs.androidx.lifecycle.runtimeCompose) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3ff8e31..b5a27d6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] androidx-lifecycle = "2.11.0" +composeMaterial3 = "1.9.0" composeMultiplatform = "1.11.1" kotlin = "2.2.21" kotlinx-coroutines = "1.11.0" @@ -13,6 +14,12 @@ materialKolor = "4.0.5" [libraries] androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" } +compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "composeMaterial3" } +compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" } +compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" } +compose-components-uiToolingPreview = { module = "org.jetbrains.compose.components:components-ui-tooling-preview", version.ref = "composeMultiplatform" } kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }