2026-04-13
- Update metro to v0.12.0 (ArthurKun21/FGA-Preview#1172) (@renovate[bot])
- Update gradle/actions action to v6 (ArthurKun21/FGA-Preview#1171) (@renovate[bot])
- Update dependency androidx.work:work-runtime to v2.11.2 (ArthurKun21/FGA-Preview#1173) (@renovate[bot])
- Update dependency androidx.browser:browser to v1.10.0 (ArthurKun21/FGA-Preview#1174) (@renovate[bot])
- fix: coil and compose resources not working in windows desktop (ArthurKun21/FGA-Preview#1175) (@ArthurKun21)
- feat(desktop): create jvm equivalent for work manager (ArthurKun21/FGA-Preview#1177) (@ArthurKun21)
- Update compose.multiplatform.material3 to v1.11.0-alpha05 (ArthurKun21/FGA-Preview#1178) (@renovate[bot])
- Update metro to v0.12.1 (ArthurKun21/FGA-Preview#1180) (@renovate[bot])
- fix(battle): update TW to the new face card region (ArthurKun21/FGA-Preview#1182) (@ArthurKun21)
- fix(support): infinite support loop when no scrollbar (ArthurKun21/FGA-Preview#1183) (@ArthurKun21)
- feat(battle): preload support images for preferred support on script start (ArthurKun21/fga-preview#1184) (@ArthurKun21)
- Update dependency com.github.ArthurKun21:compose-overlay-window to v1.5.5 (ArthurKun21/FGA-Preview#1185) (@renovate[bot])
- feat(support): add CE slot matching for Grand Servants (ArthurKun21/fga-preview#1186) (@ArthurKun21)
- feat(db): Switch to AndroidX bundled sqlite driver (ArthurKun21/FGA-Preview#1187) (@ArthurKun21)
- Update dependency io.ktor:ktor-client-java to v3.4.2 (ArthurKun21/FGA-Preview#1179) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.7.1 (ArthurKun21/FGA-Preview#1188) (@renovate[bot])
- Update metro to v0.13.0 (ArthurKun21/FGA-Preview#1189) (@renovate[bot])
- Update metro to v0.13.1 (ArthurKun21/FGA-Preview#1191) (@renovate[bot])
- Update metro to v0.13.2 (ArthurKun21/FGA-Preview#1192) (@renovate[bot])
- Update generic.datastore to v2.0.0-alpha08 (ArthurKun21/FGA-Preview#1193) (@renovate[bot])
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0 (ArthurKun21/FGA-Preview#1196) (@renovate[bot])
- fix(ui): some dialog have transparent background (ArthurKun21/FGA-Preview#1197) (@ArthurKun21)
- chore(gradle): add support for GitHub packages (ArthurKun21/fga-preview#1198) (@ArthurKun21)
- fix(ui): replace SearchBar with TopAppBar with TextField for better keyboard handling (ArthurKun21/FGA-Preview#1199) (@ArthurKun21)
- fix: update bond level up stop summary to clarify it also stops when above target level is reached (ArthurKun21/FGA-Preview#1200) (@ArthurKun21)
- fix(javacv): dll loading issue on windows by using jdk 25 (ArthurKun21/fga-preview#1201) (@ArthurKun21)
- Fix the infinite support screen refresh
- Fix the face card for TW, now all servers uses the new servant face card region.
- Fix the textfield UI for Support Gallery, Library and Material selection screen where the keyboard won't open for Android even though the textfield is focused.
- Fix the dialog UI for Support Gallery and Preferred Support where the background is transparent instead of solid color.
- Update the text for
stop on bond level upto clarify that it is also includes above the selected target bond level as well.
-
Added new configuration for grand servants to enable choosing if the user wants to match both CE Slot 1 and 3 or just either one of them. Selecting "Either" should match the current behavior of the main repository.
-
Added preloading of supports at the start of battle script. This should help with the user to know if there's any problem with the support images much earlier rather than waiting until the support screen to show up and then finding out that the images are not loading.
2026-03-23
- feat(ui): Improve Home Screen UI (ArthurKun21/FGA-Preview#983) (@ArthurKun21)
- feat: create local database for Support (ArthurKun21/FGA-Preview#981) (@ArthurKun21)
- Update metro to v0.9.4 (ArthurKun21/FGA-Preview#987) (@renovate[bot])
- chore: rename Images to Template (ArthurKun21/FGA-Preview#991) (@ArthurKun21)
- Update dependency androidx.paging:paging-compose to v3.3.6 (ArthurKun21/FGA-Preview#990) (@renovate[bot])
- chore(deps): migrate to compose multiplatform deps except material3 (ArthurKun21/FGA-Preview#994) (@ArthurKun21)
- chore: migrate JVM models module into KMP shared library (ArthurKun21/FGA-Preview#997) (@ArthurKun21)
- chore: move app string resources to shared module's compose resources (ArthurKun21/FGA-Preview#1002) (@ArthurKun21)
- Update compose.multiplatform to v1.10.0 (ArthurKun21/FGA-Preview#1000) (@renovate[bot])
- chore(gradle): Update Gradle Build and documentation (ArthurKun21/FGA-Preview#1005) (@ArthurKun21)
- chore: update renovate configuration for Jetbrains libraries (@ArthurKun21)
- feat: add multiplatform libimaging module and convert libocr to KMP (ArthurKun21/FGA-Preview#1006) (@ArthurKun21)
- fix(di): resolve compiler warning when binding internal class to public interface (ArthurKun21/FGA-Preview#1011) (@ArthurKun21)
- Update androidx.compose.material3 to v1.5.0-alpha12 (ArthurKun21/FGA-Preview#1009) (@renovate[bot])
- Update androidx.compose.material3.adaptive to v1.3.0-alpha06 (ArthurKun21/FGA-Preview#1010) (@renovate[bot])
- chore: separate libautomata from data module dependency (ArthurKun21/FGA-Preview#1014) (@ArthurKun21)
- docs: Update documentation (@ArthurKun21)
- chore(deps): update to agp 9.0 (ArthurKun21/FGA-Preview#1016) (@ArthurKun21)
- chore: add core library desugaring (ArthurKun21/FGA-Preview#1017) (@ArthurKun21)
- chore(metro): optimized dependency injection bindings (ArthurKun21/FGA-Preview#1019) (@ArthurKun21)
- Update Gradle to v9.3.0 (ArthurKun21/FGA-Preview#1018) (@renovate[bot])
- feat(ui): integrate local support DB into Preferred Support screen (ArthurKun21/FGA-Preview#1020) (@ArthurKun21)
- feat: switch to uuid7 (ArthurKun21/FGA-Preview#1021) (@ArthurKun21)
- feat(battle): introduce modular battle command parser (with tests and docs) (ArthurKun21/FGA-Preview#1022) (@ArthurKun21)
- fix: use ComposeString for unified localization of strings in scripts module (ArthurKun21/FGA-Preview#1023) (@ArthurKun21)
- feat(logging): store logcat entries in database for script runs (ArthurKun21/FGA-Preview#1025) (@ArthurKun21)
- Update metro to v0.10.0 (ArthurKun21/FGA-Preview#1024) (@renovate[bot])
- feat: update Custom FGA colors to use light and dark colors (ArthurKun21/FGA-Preview#1026) (@ArthurKun21)
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 (ArthurKun21/FGA-Preview#1027) (@renovate[bot])
- chore(ui): replace duplicate SegmentedListItem implementations with shared component (ArthurKun21/FGA-Preview#1029) (@ArthurKun21)
- Update dependency org.opencv:opencv to v4.13.0 (ArthurKun21/FGA-Preview#1030) (@renovate[bot])
- feat(ui): Update Battle Config Screen (ArthurKun21/FGA-Preview#1032) (@ArthurKun21)
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.2.0 (ArthurKun21/FGA-Preview#1031) (@renovate[bot])
- docs: Update Documentation (@ArthurKun21)
- Update metro to v0.10.1 (ArthurKun21/FGA-Preview#1034) (@renovate[bot])
- chore(ui): consolidate NavDisplay for consistent experience (ArthurKun21/FGA-Preview#1036) (@ArthurKun21)
- fix: unit tests not running after agp 9 upgrade (ArthurKun21/FGA-Preview#1038) (@ArthurKun21)
- Update mockk to v1.14.9 (ArthurKun21/FGA-Preview#1037) (@renovate[bot])
- feat(scripts): Set up retryable actions (ArthurKun21/FGA-Preview#1035) (@ArthurKun21)
- chore: move notifications and toasts into libautomata (ArthurKun21/FGA-Preview#1039) (@ArthurKun21)
- feat: convert libAutomata to KMP (ArthurKun21/FGA-Preview#1040) (@ArthurKun21)
- chore: extract the Preference Keys into an internal object (ArthurKun21/FGA-Preview#1043) (@ArthurKun21)
- chore: remove alpha maven repositories for compose multiplatform (@ArthurKun21)
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.2.1 (ArthurKun21/FGA-Preview#1041) (@renovate[bot])
- Update dependency androidx.work:work-runtime to v2.11.1 (ArthurKun21/FGA-Preview#1044) (@renovate[bot])
- Update metro to v0.10.2 (ArthurKun21/FGA-Preview#1045) (@renovate[bot])
- Update activity to v1.12.3 (ArthurKun21/FGA-Preview#1048) (@renovate[bot])
- Update dependency com.github.ArthurKun21:compose-overlay-window to v1.5.3 (ArthurKun21/FGA-Preview#1049) (@renovate[bot])
- Update dependency androidx.paging:paging-compose to v3.4.0 (ArthurKun21/FGA-Preview#1051) (@renovate[bot])
- Update Gradle to v9.3.1 (ArthurKun21/FGA-Preview#1052) (@renovate[bot])
- Update lifecycle.multiplatform to v2.10.0-alpha08 (ArthurKun21/FGA-Preview#1054) (@renovate[bot])
- Update kotlin to v2.3.10 (ArthurKun21/FGA-Preview#1055) (@renovate[bot])
- Update dependency com.microsoft.onnxruntime:onnxruntime-android to v1.24.1 (ArthurKun21/FGA-Preview#1056) (@renovate[bot])
- Update metro to v0.10.3 (#1057) (@renovate[bot])
- chore: enable explicit APIs (ArthurKun21/FGA-Preview#1058) (@ArthurKun21)
- Update compose.multiplatform to v1.10.1 (ArthurKun21/FGA-Preview#1059) (@renovate[bot])
- Update activity to v1.12.4 (ArthurKun21/FGA-Preview#1063) (@renovate[bot])
- Update dependency androidx.paging:paging-compose to v3.4.1 (ArthurKun21/FGA-Preview#1064) (@renovate[bot])
- Update androidx.compose.material3 to v1.5.0-alpha14 (ArthurKun21/FGA-Preview#1046) (@renovate[bot])
- Update androidx.compose.material3.adaptive to v1.3.0-alpha08 (ArthurKun21/FGA-Preview#1047) (@renovate[bot])
- Update dependency com.android.tools.build:gradle to v9.0.1 (ArthurKun21/FGA-Preview#1065) (@renovate[bot])
- Update metro to v0.10.4 (ArthurKun21/FGA-Preview#1066) (@renovate[bot])
- feat: add jvm to localdb module (ArthurKun21/FGA-Preview#1067) (@ArthurKun21)
- fix(di): aggregation scopes should be abstract classes, not annotations (ArthurKun21/FGA-Preview#1069) (@ArthurKun21)
- chore: update handling of work manager (ArthurKun21/FGA-Preview#1070) (@ArthurKun21)
- feat: remove Material icons deps and update icons (ArthurKun21/FGA-Preview#1071) (@ArthurKun21)
- feat: add jvm source to libimaging and libocr (ArthurKun21/fga-preview#1072) (@ArthurKun21)
- feat: create initial jvm source for libautomata (ArthurKun21/fga-preview#1073) (@ArthurKun21)
- feat: Split APKs (ArthurKun21/FGA-Preview#1075) (@ArthurKun21)
- docs: Update Agents.md and other agents related docs (ArthurKun21/FGA-Preview#1077) (@ArthurKun21)
- feat: KMP Multiplatform permissions (ArthurKun21/FGA-Preview#1076) (@ArthurKun21)
- feat: move settings screen to main tabs (ArthurKun21/FGA-Preview#1078) (@ArthurKun21)
- feat!: remove onboarding screen (ArthurKun21/FGA-Preview#1079) (@ArthurKun21)
- feat: added the permissions check on Home Screen (ArthurKun21/FGA-Preview#1080) (@ArthurKun21)
- feat: move Fine-Tune back to Settings Screen (ArthurKun21/FGA-Preview#1081) (@ArthurKun21)
- Update onnxruntime to v1.24.2 (ArthurKun21/FGA-Preview#1082) (@renovate[bot])
- Update dependency org.junit.jupiter:junit-jupiter-engine to v6.0.3 (ArthurKun21/FGA-Preview#1068) (@renovate[bot])
- feat: partial migration of data module to kmp (ArthurKun21/FGA-Preview#1083) (@ArthurKun21)
- chore: enable explicit API on data module (ArthurKun21/FGA-Preview#1084) (@ArthurKun21)
- feat: migrate App Preferences to KMP (ArthurKun21/FGA-Preview#1085) (@ArthurKun21)
- feat(ui): add marker to permission items for better accessibility (ArthurKun21/FGA-Preview#1086) (@ArthurKun21)
- feat: migrate storage to kmp (ArthurKun21/fga-preview#1088) (@ArthurKun21)
- feat: update Image Loader into KMP (ArthurKun21/fga-preview#1090) (@ArthurKun21)
- chore(gradle): simplify build settings (ArthurKun21/FGA-Preview#1091) (@ArthurKun21)
- feat: update the di wiring on data module (ArthurKun21/FGA-Preview#1092) (@ArthurKun21)
- Update dependency org.bytedeco:opencv-platform to v4.13.0-1.5.13 (ArthurKun21/FGA-Preview#1089) (@renovate[bot])
- feat: Update di wiring on libautomata (ArthurKun21/FGA-Preview#1093) (@ArthurKun21)
- feat: move UI components to compose App module (ArthurKun21/fga-preview#1094) (@ArthurKun21)
- Update coil to v3.4.0 (ArthurKun21/FGA-Preview#1097) (@renovate[bot])
- Update dependency io.github.vinceglb:filekit-core to v0.13.0 (ArthurKun21/FGA-Preview#1098) (@renovate[bot])
- feat: migrate Scripts module to kmp (ArthurKun21/fga-preview#1100) (@ArthurKun21)
- Update metro to v0.11.0 (ArthurKun21/fga-preview#1099) (@renovate[bot])
- fix(metro): Parameter names must match the constructor exactly (ArthurKun21/fga-preview#1101) (@ArthurKun21)
- chore(gradle): migrate from buildSrc to build-logic (ArthurKun21/FGA-Preview#1102) (@ArthurKun21)
- feat: further preparation of composeApp module (ArthurKun21/fga-preview#1103) (@ArthurKun21)
- Update metro to v0.11.1 (ArthurKun21/fga-preview#1104) (@renovate[bot])
- feat: move fine tune screen to composeApp (ArthurKun21/FGA-Preview#1105) (@ArthurKun21)
- feat: migrate command card screen to compose app (ArthurKun21/fga-preview#1106) (@ArthurKun21)
- feat: migrate material screen to compose App (ArthurKun21/FGA-Preview#1107) (@ArthurKun21)
- feat: migrate Support Image Maker screen to compose App (ArthurKun21/fga-preview#1108) (@ArthurKun21)
- Update actions/upload-artifact action to v7 (ArthurKun21/FGA-Preview#1109) (@renovate[bot])
- feat: add Media Projection re-request when the token is invalidated (ArthurKun21/FGA-Preview#1110) (@ArthurKun21)
- feat: add Accessibility Service validator and re-request (ArthurKun21/FGA-Preview#1111) (@ArthurKun21)
- fix: missing string resources config in script module (ArthurKun21/FGA-Preview#1112) (@ArthurKun21)
- feat(support): raise error for missing support images (ArthurKun21/FGA-Preview#1113) (@ArthurKun21)
- feat(storage): use internal storage as default (ArthurKun21/fga-preview#1114) (@ArthurKun21)
- Update compose.multiplatform.adaptive to v1.3.0-alpha05 (ArthurKun21/FGA-Preview#1115) (@renovate[bot])
- Update compose.multiplatform.material3 to v1.11.0-alpha03 (ArthurKun21/FGA-Preview#1116) (@renovate[bot])
- feat: migrate skill maker screen to composeApp (ArthurKun21/FGA-Preview#1117) (@ArthurKun21)
- feat: migrate Support Gallery screen to compose App (ArthurKun21/FGA-Preview#1118) (@ArthurKun21)
- feat: migrate Preferred Support Screen to compose App (ArthurKun21/FGA-Preview#1119) (@ArthurKun21)
- feat(di): partial migration of metro di configs to compose app (ArthurKun21/FGA-Preview#1120) (@ArthurKun21)
- feat(gradle): migrate build constants to compose app (ArthurKun21/FGA-Preview#1121) (@ArthurKun21)
- feat(skill maker): add flora (ArthurKun21/fga-preview#1122) (@ArthurKun21)
- Update metro to v0.11.2 (ArthurKun21/FGA-Preview#1123) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.7.0 (ArthurKun21/FGA-Preview#1124) (@renovate[bot])
- feat(support): add more support template images (ArthurKun21/FGA-Preview#1125) (@ArthurKun21)
- feat: migrate exit launchers to compose app (ArthurKun21/FGA-Preview#1131) (@ArthurKun21)
- Update spotless to v8.3.0 (ArthurKun21/FGA-Preview#1126) (@renovate[bot])
- Update dependency io.ktor:ktor-client-java to v3.4.1 (ArthurKun21/FGA-Preview#1127) (@renovate[bot])
- Update agp to v9.1.0 (ArthurKun21/FGA-Preview#1128) (@renovate[bot])
- Update Gradle to v9.4.0 (ArthurKun21/FGA-Preview#1129) (@renovate[bot])
- Update compose.multiplatform to v1.10.2 (ArthurKun21/FGA-Preview#1130) (@renovate[bot])
- Update onnxruntime to v1.24.3 (ArthurKun21/FGA-Preview#1132) (@renovate[bot])
- feat: update some toast usages with snackbar (ArthurKun21/FGA-Preview#1133) (@ArthurKun21)
- feat: use FileKit for import and export (ArthurKun21/FGA-Preview#1134) (@ArthurKun21)
- feat: migrate Battle Config Screen to composeApp (ArthurKun21/FGA-Preview#1135) (@ArthurKun21)
- feat: create abstraction for background services in compose app (ArthurKun21/FGA-Preview#1136) (@ArthurKun21)
- feat: migrate Library screen to compose app (ArthurKun21/FGA-Preview#1137) (@ArthurKun21)
- feat: migrate home screen to compose app (ArthurKun21/FGA-Preview#1138) (@ArthurKun21)
- feat: migrate settings screen to compose app (ArthurKun21/FGA-Preview#1141) (@ArthurKun21)
- Update dependency androidx.paging:paging-compose to v3.4.2 (ArthurKun21/FGA-Preview#1139) (@renovate[bot])
- ci: Update PR branch workflow (ArthurKun21/fga-preview#1144) (@ArthurKun21)
- Update activity to v1.13.0 (ArthurKun21/FGA-Preview#1140) (@renovate[bot])
- Update dependency androidx.core:core-ktx to v1.18.0 (ArthurKun21/FGA-Preview#1142) (@renovate[bot])
- Update okio to v3.17.0 (ArthurKun21/FGA-Preview#1143) (@renovate[bot])
- Update compose.multiplatform.material3 to v1.11.0-alpha04 (ArthurKun21/FGA-Preview#1146) (@renovate[bot])
- Update lifecycle.multiplatform to v2.10.0-beta01 (ArthurKun21/FGA-Preview#1147) (@renovate[bot])
- Update compose.multiplatform.adaptive to v1.3.0-alpha06 (ArthurKun21/fga-preview#1145) (@renovate[bot])
- chore(gradle): replace deprecated build settings (ArthurKun21/fga-preview#1148) (@ArthurKun21)
- feat(desktop): initial desktop app setup (ArthurKun21/fga-preview#1149) (@ArthurKun21)
- fix(navigation): simplify adaptive navigation layout (ArthurKun21/FGA-Preview#1151) (@ArthurKun21)
- feat: migrate app module from java to kotlin source (ArthurKun21/FGA-Preview#1153) (@ArthurKun21)
- Update sqldelight to v2.3.1 (ArthurKun21/FGA-Preview#1152) (@renovate[bot])
- Update kotlin to v2.3.20 (ArthurKun21/FGA-Preview#1154) (@renovate[bot])
- Update metro to v0.11.3 (ArthurKun21/FGA-Preview#1155) (@renovate[bot])
- Update sqldelight to v2.3.2 (ArthurKun21/FGA-Preview#1156) (@renovate[bot])
- feat(skill-maker): update UI for the bottom bar items to be adaptive (ArthurKun21/FGA-Preview#1157) (@ArthurKun21)
- feat(skill-maker): replace tooltip move controls with inline buttons in history UI (ArthurKun21/FGA-Preview#1158) (@ArthurKun21)
- Update metro to v0.11.4 (ArthurKun21/FGA-Preview#1159) (@renovate[bot])
- Update spotless to v8.4.0 (ArthurKun21/FGA-Preview#1163) (@renovate[bot])
- Update compose.multiplatform to v1.10.3 (ArthurKun21/FGA-Preview#1164) (@renovate[bot])
- Update Gradle to v9.4.1 (ArthurKun21/FGA-Preview#1165) (@renovate[bot])
- Update dependency com.ibm.icu:icu4j to v78.3 (ArthurKun21/FGA-Preview#1160) (@renovate[bot])
- Update lifecycle.multiplatform to v2.10.0 (ArthurKun21/FGA-Preview#1166) (@renovate[bot])
- feat(ui): added images to the refill resources (ArthurKun21/FGA-Preview#1167) (@ArthurKun21)
- fix(battle): update EN to the new face card region (ArthurKun21/FGA-Preview#1168) (@ArthurKun21)
- revert(logging): roll back database logging pending future update (ArthurKun21/FGA-Preview#1169) (@ArthurKun21)
- feat(launcher): added more Battle Settings (ArthurKun21/FGA-Preview#1170) (@ArthurKun21)
-
Update the Battle Script Command Parser. You can now add whitespaces, tabs and new lines for better readability. All of this are going to be ignored when parsing the commands.
It also reacts if you type in a wrong command right after you type
Important
Any existing battle scripts edited after this version will no longer be compatible with older versions of the app. If you want to use it, you gotta update to remove the whitespaces, tabs and new lines.
-
Update Home Screen UI. Added server clock and a simple gallery list detail view of the current supports. Links in Home Screen are now displayed to users.
-
Added the Support Gallery Screen, it was mostly for viewing support template images in the support directory. This function can also be viewed as well on Preferred Support Screen.
-
On app startup, there would be once in a whole app lifecycle where it will scan of the support images in the support directory in order to ensure that the paths are up to date.
-
Added Images next to Support Template Images
-
On Preferred Support Screen, you can now see support's template images. This will help you when you forgot the name but remember the image like me.
-
Battle Config got some design update as well. Notes, like edit skill command, are now happening on a separate screen for better User experience.
-
The summary in Battle Launcher for the current battle config have now been updated to show all of the current settings in the battle config. It used to be few info only because I got tired to code it in.
-
Storage now defaults to internal Storage unless changed by user. This gives a workaround to issues with certain devices
-
When the support images cannot be found. Will now throw an error, this should help when there's problems with storage permissions or if the support images are not properly extracted or not found in the storage.
-
Added Servant Templates Images
-
Added CE Templates Images
-
Added Flora option in Skill Maker
-
Updated the Skill Maker UI to actually inline the movement button instead of having it on tooltip. This should make it easier to move the commands.
-
APKs are now split into different architectures to reduce the APK size with a universal APK option for users who want to have all architectures in one APK. This should help with the installation of the app as well as reduce the storage used by the app.
-
Battle Launcher have now been updated to include more common settings.
-
Battle Launcher now uses the refill resources images for better visuals
-
Added re-request of Media Projection(for screenshot) and Accessibility Service when they're lost. This problem was observed on some devices particularly on Samsung devices when the screen was turned off.
- Some optimization for running scripts. This is due to updating some of the inner workings of the dependency injection which ties in the program together.
Note
We are preparing for v2 of the Supports in the future. This will enable to download the latest support images with support for Translations. But this is going to take a lot of time so we just released the database with the current support template images.
2026-01-08
- chore(deps): update compose bom to stable and split material3 deps (ArthurKun21/FGA-Preview#958) (@ArthurKun21)
- Update metro to v0.9.2 (ArthurKun21/FGA-Preview#949) (@renovate[bot])
- chore: move ScriptAreaTransforms to libAutomata module (ArthurKun21/FGA-Preview#959) (@ArthurKun21)
- Update metro to v0.9.3 (ArthurKun21/FGA-Preview#968) (@renovate[bot])
- fix(battle): Update the Quest Reward template image for NA (ArthurKun21/FGA-Preview#971) (@ArthurKun21)
- fix(battle): Update skill confirmation template image for TW (@reconman)
- feat: add Reliquary of Departed Souls to the materials (ArthurKun21/FGA-Preview#972) (@ArthurKun21)
- docs: Update documentation for various guides and markdowns (ArthurKun21/FGA-Preview#973) (@ArthurKun21)
- chore: update metro di configuration (ArthurKun21/FGA-Preview#974) (@ArthurKun21)
- fix(FriendPoint): repeat summon for 100x summons (ArthurKun21/FGA-Preview#970) (@ArthurKun21)
- Update dependency com.github.ArthurKun21:compose-overlay-window to v1.5.2 (ArthurKun21/FGA-Preview#978) (@renovate[bot])
- Update dependency org.junit:junit-bom to v6.0.2 (ArthurKun21/FGA-Preview#982) (@renovate[bot])
- Updated the Quest Reward template image for NA server as it appears to have been updated.
- Updated the skill confirmation template image for TW server
- Fixed the repeat FP summon logic due to missing template image for 100x summon.
- Added Reliquary of Departed Souls to the materials list. I actually forgot about this.
- Added fallback method for FP summon when 100x summmon isn't detected. It uses the
sellbutton to determine that we are on the repeat fp summon screen.
2025-12-21
- fix: improve validation of storage path (ArthurKun21/FGA-Preview#954) (@ArthurKun21)
- feat(ui): update BattleLauncher colors and enhance visibility of Apple selector (ArthurKun21/FGA-Preview#955) (@ArthurKun21)
- feat(battle): remove NP level switch to always show NP Level detection (ArthurKun21/FGA-Preview#956) (@ArthurKun21)
- feat(ui): display app build count in the launcher (ArthurKun21/FGA-Preview#957) (@ArthurKun21)
- Improved the checking of storage path.
- Updated the Battle Launcher colors for better visibility.
- Display the app build count in the launcher for easier tracking of versions.
- Removed the NP level switch to always enable NP level detection. If you no longer want to use NP level detection change it to
Lvl 1
2025-12-19
- Update mockk to v1.14.7 (ArthurKun21/FGA-Preview#925) (@renovate[bot])
- Update metro to v0.9.0 (ArthurKun21/FGA-Preview#915) (@renovate[bot])
- Update kotlin to v2.3.0 (ArthurKun21/FGA-Preview#942) (@renovate[bot])
- feat(ui): Update Battle Launcher to use state holder (ArthurKun21/FGA-Preview#946) (@ArthurKun21)
- Update activity to v1.12.2 (ArthurKun21/FGA-Preview#945) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.6.0 (ArthurKun21/FGA-Preview#947) (@renovate[bot])
- feat(battle): Update Party Selection to 15 for all servers (ArthurKun21/FGA-Preview#950) (@ArthurKun21)
- feat(FriendPoint): Switch all servers to 100x FP summon (ArthurKun21/FGA-Preview#951) (@ArthurKun21)
- feat(Lottery): Enable Long Press to all servers for faster rolling (ArthurKun21/FGA-Preview#952) (@ArthurKun21)
- fix(battle): update repeat screen to use new UI (ArthurKun21/FGA-Preview#953) (@ArthurKun21)
- Minor UI update to Battle Launcher and added some text hints
- Updated Party Selection to 15 for all servers
- Switched all servers to 100x FP summon
- Enabled Long Press to all servers for faster rolling
- Fixed the repeat screen to enable to repeat quest again after the UI update.
2025-12-15
- Update actions/cache action to v5 (#933) (@renovate[bot])
- Update actions/upload-artifact action to v6 (#935) (@renovate[bot])
- fix(imaging): header mat not closed (ArthurKun21/FGA-Preview#937) (@ArthurKun21)
- feat(ui): add Grand Archer and Grand Caster icons (ArthurKun21/FGA-Preview#938) (@ArthurKun21)
- fix(Battle): update the rank up image template for JP (ArthurKun21/FGA-Preview#940) (@ArthurKun21)
- Update the rank up template image for JP server as it appears to have been updated.
2025-12-12
- docs: improve guides and update prompt instructions (#920) (@ArthurKun21)
- feat(ui): add docs link button and reorganize home screen (ArthurKun21/FGA-Preview#924) (@ArthurKun21)
- fix: add English strings resource file (ArthurKun21/FGA-Preview#930) (@ArthurKun21)
- Update dependency com.android.tools.build:gradle to v8.13.2 (#931) (@renovate[bot])
- refactor: perform some code maintainance on Script Runner UI (ArthurKun21/FGA-Preview#932) (@ArthurKun21)
- feat(Lottery): Added Gesture choice when rolling lottery for JP (ArthurKun21/FGA-Preview#934) (@ArthurKun21)
- Added a blank English strings resource file to fix localization issues for some devices.
- Added Gesture choice when rolling for lottery in JP Server. You can now choose between
Multi-click,Long PressorMixedgestures when rolling for lottery in JP server.- Multi-click is recommended from box 1 to box 10
- Long Press is recommended from box 11 and onwards
- Mixed alternates between Multi-click and Long Press to give more flexibility when rolling for lottery.
- Reduced the default long press for lottery duration from 20s to 10s
- Added the long press for lottery into the Fine-Tune settings
2025-12-04
- Update activity to v1.12.1 (#912) (@renovate[bot])
- Update dependency androidx.compose.material3.adaptive:adaptive-navigation3 to v1.3.0-alpha05 (#913) (@renovate[bot])
- fix(imaging): update betterfgo keys on asset lookup map (ArthurKun21/FGA-Preview#918) (@ArthurKun21)
- fix(skill-maker): crash on number of cards before NP validation (ArthurKun21/FGA-Preview#919) (@ArthurKun21)
- Updated the asset lookup map to include the betterfgo keys. I forgot to add this resulting in problems with bfgo.
- Fixed the validation logic for number of cards before NP selection in Skill Maker.
2025-12-04
- revert: remove caching with Cutout preference and use direct calls again. (#917) (@ArthurKun21)
- Caching cutout preference caused problems for some devices, reverted back to direct calls again.
2025-12-03
- feat(OCR): migrate from Tesseract to PaddleOCR (#889) (@ArthurKun21)
- fix: include proguard-rules for onnxruntime in release build (#893) (@ArthurKun21)
- feat(di): migrate from dagger-hilt to metro (ArthurKun21/FGA-Preview#901) (@ArthurKun21)
- fix(Launcher): Increased max Apple count to 9,999 (ArthurKun21/FGA-Preview#905) (@ArthurKun21)
- fix(configs): correct numeric type conversion during JSON import to avoid errors (ArthurKun21/FGA-Preview#906) (@ArthurKun21)
- feat!: remove
Use OCR on Apple Countpreference (ArthurKun21/FGA-Preview#907) (@ArthurKun21) - feat(skill-maker): moved Order Change to main screen (ArthurKun21/FGA-Preview#908) (@ArthurKun21)
- feat(battle): add delay for subtitles before turn start for EN server (ArthurKun21/FGA-Preview#909) (@ArthurKun21)
- feat(support): Update support template images (ArthurKun21/FGA-Preview#910) (@ArthurKun21)
- Apple count could go over 999, we are now fixing this by increasing the max apple count to 9,999.
- Apple count would be fixed in between 0 and 9,999.
- Import Battle configs results in some information to be lost(NP Level, Default Runs, etc) due to incorrect numeric type conversion. Fixed the conversion logic to properly parse the numbers.
- We have now successfully migrated from the old Tesseract to modern PaddleOCR for our OCR operations. This now should result in more accurate readings.
- As a result of the OCR migration, NP Level Detection for EN and JP server is now a bit more reliable.
- Remove the
Use OCR on Apple Countpreference as it is no longer needed with the new OCR engine. - Moved Order Change to the main Skill Maker screen for easier access
- Added delay(1.2 seconds) for subtitles before turn start for EN server.
Added Servant Templates Images
Added CE Templates Images
Updated Servant Template Images
- Chloe Avenger
- Castoria
- Douman
- Koyanskaya of Dark
- Koyanskaya of Light
- Lady Avalon
- Nero Bride
- Oberon
- Skadi Ruler
- Tamamo
Updated CE Template Images
Important
After the installation of the APK, you have to go to Settings -> Storage -> Extract Default Support images
2025-11-28
- fix(LevelCE): adjust widescreen layout and guard against locked CEs (#887) (@ArthurKun21)
- Widescreen layout at CE menu screen have been updated causing errors when trying to level CEs. Updated the layout to match the new widescreen layout.
- The updated logic for fodder CEs causes crash when there's a locked CE. Fixed the logic to guard against locked CEs.
2025-11-27
- fix(screenshot): useSameSnapIn color mode caching (#873) (@ArthurKun21)
- feat(LevelCE): Add the CE Type Filter (#876) (@ArthurKun21)
- feat(FP): add the CE Type filter settings to FPLauncher (#878) (@ArthurKun21)
-
Added CE Type Filter in Level CE script, also added this to the FP Launcher for better CE filtering when creating Craft Essence EXP bomb
Launcher
EN Dialog
JP New Dialog
2025-11-24
- feat(navigation): migrate to navigation3 (#866) (@ArthurKun21)
- feat(ui): add marker for favorite configs (#867) (@ArthurKun21)
- revert(imaging): restore pre-allocated Mats with some optimizations (#868) (@ArthurKun21)
- fix(AutoBattle): Stop on Bond Level Up not working due to exception not being re-throw (#872) (@ArthurKun21)
Stop on Bond Level Upwas not working due to exception not being re-thrown after being caught.- Restored pre-allocated Mats to ease up the memory allocation on some devices.
2025-11-22
- chore: move assets from app module to data module (#806) (@ArthurKun21)
- feat(imaging): build asset lookup map on initialization (#804) (@ArthurKun21)
- Update okio to v3.16.2 (#787) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.5.0 (#805) (@renovate[bot])
- feat(fine-tune): enable configuration of the wait duration at Tips screen (#807) (@ArthurKun21)
- docs: add code review prompt (#808) (@ArthurKun21)
- feat(battle): centralized state management into BattleState and update implementation (#817) (@ArthurKun21)
- chore(scripts): restrict script class/object visibility to internal (#820) (@ArthurKun21)
- Update dependency com.google.devtools.ksp:symbol-processing-gradle-plugin to v2.3.0 (#823) (@renovate[bot])
- Update dependency androidx.compose:compose-bom-alpha to v2025.10.01 (#824) (@renovate[bot])
- Update dependency androidx.work:work-runtime to v2.11.0 (#825) (@renovate[bot])
- Update kotlin to v2.2.21 (#826) (@renovate[bot])
- Update actions/upload-artifact action to v5 (#827) (@renovate[bot])
- Update Gradle to v9.2.0 (#839) (@renovate[bot])
- Update dependency org.junit:junit-bom to v6.0.1 (#842) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.5.1 (#844) (@renovate[bot])
- Update dependency com.google.devtools.ksp:symbol-processing-gradle-plugin to v2.3.2 (#845) (@renovate[bot])
- Update dependency com.cheonjaeung.compose.grid:grid to v2.5.2 (#846) (@renovate[bot])
- Update dependency androidx.navigation:navigation-compose to v2.9.6 (#847) (@renovate[bot])
- Update dependency androidx.compose:compose-bom-alpha to v2025.11.00 (#848) (@renovate[bot])
- Update dependency androidx.core:core-splashscreen to v1.2.0 (#849) (@renovate[bot])
- Update dependency com.android.tools.build:gradle to v8.13.1 (#850) (@renovate[bot])
- Update dependency com.pinterest.ktlint:ktlint-cli to v1.8.0 (#851) (@renovate[bot])
- Update okio to v3.16.3 (#852) (@renovate[bot])
- chore(accessibility): code improvements for better maintainability (#815) (@ArthurKun21)
- feat!: Remove screen recording feature (#854) (@ArthurKun21)
- feat(mediaprojection): update to full screen request for Android 15 and above (#856) (@ArthurKun21)
- Update Gradle to v9.2.1 (#855) (@renovate[bot])
- Update okio to v3.16.4 (#857) (@renovate[bot])
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8.1.0 (#858) (@renovate[bot])
- Update dependency androidx.compose:compose-bom-alpha to v2025.11.01 (#859) (@renovate[bot])
- Update activity to v1.12.0 (#860) (@renovate[bot])
- Update lifecycle to v2.10.0 (#861) (@renovate[bot])
- Update actions/checkout action to v6 (#862) (@renovate[bot])
- Update dependency androidx.datastore:datastore-preferences to v1.2.0 (#863) (@renovate[bot])
- Update dependency com.google.devtools.ksp:symbol-processing-gradle-plugin to v2.3.3 (#864) (@renovate[bot])
- Update dependency com.github.ArthurKun21:compose-overlay-window to v1.5.1 (#865) (@renovate[bot])
- Removed Screen Recording feature to simplify the codebase and reduce maintenance overhead.
- Updated the MediaProjection request to use full screen for Android 15 and above. This should help reduce issues when you click the app only option that causes problems.
- Minor optimization on loading of image assets.
2025-10-15
- refactor(imaging): move saving of Opencv image to data module (#778) (@ArthurKun21)
- fix(imaging): Improve Coroutine Dispatcher usage on loading images (#779) (@ArthurKun21)
- feat(tesseract): extract tesseract models once per whole app lifecycle (#780) (@ArthurKun21)
- refactor(tesseract): move handling of bitmap cleanup (#782) (@ArthurKun21)
- feat(card): read command cards in parallel using coroutines (#783) (@ArthurKun21)
- feat(battle): add delay when on tips screen (#784) (@ArthurKun21)
- docs: update git commit message templates (@ArthurKun21)
- Update dependency com.google.devtools.ksp:symbol-processing-gradle-plugin to v2.2.20-2.0.4 (#785) (@renovate[bot])
- feat(card): improve critical star percentage detection (#786) (@ArthurKun21)
- Update dependency androidx.compose:compose-bom-alpha to v2025.10.00 (#767) (@renovate[bot])
- Update dependency org.junit:junit-bom to v6 (#773) (@renovate[bot])
- Update dependency io.mockk:mockk to v1.14.6 (#775) (@renovate[bot])
- docs: Update readme (#789) (@ArthurKun21)
- fix(preference): cache some preferences with StateFlow (#788) (@ArthurKun21)
- feat(ui): Sort favorite configs to the top of the list (#792) (@ArthurKun21)
- fix(cards): use the correct coroutines for concurrency isolation (#791) (@ArthurKun21)
- feat(support): faster support refresh (#790) (@ArthurKun21)
- chore(storage): centralized storage related code to data module (#797) (@ArthurKun21)
- feat(battle): set stop on bond level up enabled by default (#800) (@ArthurKun21)
- feat: add grand assassin icon (#801) (@ArthurKun21)
- feat(support): add new servant template images for Grand Assassin (#802) (@ArthurKun21)
- fix(storage): add default extension when loading CE/friend config without one (#803) (@ArthurKun21)
-
Enabled parallel reading of the command cards. If anyone wants to bring back the one at a time go to
Fine-Tune->Optimizations-> SetParallel Command Card Checkto 1
-
Switched from OCR based to template image matching for reading critical stars.
-
Added new option to sort configs mark with favorite to the top
-
Faster Support refresh, switched from time based waiting to actively checking if the refresh button is now active. It has a fallback with refresh timeout.
-
Stop on bond level upis now enabled by default. To turned it off go toSettings->Battle-> toggleStop on bond level up
-
Added new servant template images
-
When on
Tipsscreen, we have added delay on there to remove wasted image matching process.
- used the correct coroutines for optimized image loading with opencv
- Unable to load CE/Friend support if there's no ".png" extension on the config file.
2025-10-01
- Update dependency com.github.ben-manes.versions to v0.53.0 (#766) (@renovate[bot])
- Update dependency androidx.navigation:navigation-compose to v2.9.5 (#768) (@renovate[bot])
- Update dependency androidx.work:work-runtime to v2.10.5 (#769) (@renovate[bot])
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v8 (#770) (@renovate[bot])
- Update hilt to v2.57.2 (#771) (@renovate[bot])
- fix(imaging): mat resources not being freed (#774) (@ArthurKun21)
- fix: cached the cutoff region on every script start (#777) (@ArthurKun21)
- Update gradle/actions action to v5 (#776) (@renovate[bot])
- Update codebase and aggressively close opencv mat resources in order to decrease resources used in long run
- Updated cutout region from being calculated every time to only once per script run, now it will only reset on script end
2025-09-23
- Update lifecycle to v2.9.4 (#755) (@renovate[bot])
- Update Gradle to v9.1.0 (#756) (@renovate[bot])
- chore: add translation prompt for multiple languages (@ArthurKun21)
- feat: update UI with Material3 Expressive and prepare for protobuf migration (#754) (@ArthurKun21)
- feat(support): update default max refresh to 25 (@ArthurKun21)
- feat: Streamline configuration sorting (#757) (@ArthurKun21)
- chore: update translation prompt with clearer examples and instructions (@ArthurKun21)
- feat: add Grand Rider icon (#758) (@ArthurKun21)
- feat(ui): add random servant illustrations to some backgrounds for fun (#759) (@ArthurKun21)
- feat(tesseract): implement retry mechanism for language model initialization (#760) (@ArthurKun21)
- refactor(tesseract): remove direct reference to DroidCvPattern (#761) (@ArthurKun21)
- feat(tesseract): use Coroutine newSingleThreadContext instead of Executors (#762) (@ArthurKun21)
- fix(script): don't include the pause time in the elapsed time for scripts (#763) (@ArthurKun21)
- feat(ui): add option for relative time at library screen (#764) (@ArthurKun21)
- fix(Battle): temp fix for average time per run not being calculated properly (#765) (@ArthurKun21)
Note
This is mostly UI update
- Language picker doesn't update the app's language. Made a mistake with the setup of this last preference datastore migration.
- In AutoBattle, pausing the script will now not count the pause time into the script's runtime. Going to update all other parts of the code in the future.
- Add a retry mechanism when loading the language model for tesseract
-
Use Material3Expressive and various UI screen update
-
Use dynamic colors for Android 12 and above
-
Update now to make the play button to use the app's theme
-
Update the sorting configuration to make it easier to see the sorting.
Library
Battle Launcher
-
Added Relative time to the Library
You can change it from Settings -> Appearance ->
Relative Timestamps -
Default support refresh is now 25 from 5
-
Show a popup when you have preferred support selection but has empty preferred servant/CE
You can click the
Return back to libraryif you don't want to update.
- Updated the app's architecture to make it easier to swap when protobuf migration happens in the future.
2025-09-13
- Update kotlin (#742) (@renovate[bot])
- Update dependency androidx.navigation:navigation-compose to v2.9.4 (#743) (@renovate[bot])
- Update dependency androidx.work:work-runtime to v2.10.4 (#744) (@renovate[bot])
- Update activity to v1.11.0 (#745) (@renovate[bot])
- Update dependency androidx.compose:compose-bom to v2025.09.00 (#746) (@renovate[bot])
- Update dependency androidx.hilt:hilt-navigation-compose to v1.3.0 (#747) (@renovate[bot])
- Update hilt.work to v1.3.0 (#748) (@renovate[bot])
- Update dependency com.google.devtools.ksp:symbol-processing-gradle-plugin to v2.2.20-2.0.3 (#750) (@renovate[bot])
- fix(Onboarding): Crash when invalid storage location (#751) (@ArthurKun21)
- feat(lifecycle): Switch from DisposableEffect to LifecycleEventEffect and repeatOnLifecycle (#752) (@ArthurKun21)
- fix: configs are not being deleted properly (#753) (@ArthurKun21)
- When using the app for the first time, it won't launch because the storage path hasn't been set yet. This creates a circular problem, as you need to set up the storage path before the app can launch.
- Forgot to delete the config file itself and its reference as I was only deleting the in-app memory of it, resulting in the config file not being deleted at all.
2025-09-10
- fix: Stepper not updating correctly (#739) (@ArthurKun21)
- feat(support): Added New Support Templates Images (#740) (@ArthurKun21)
- fix(Support): Updated Nemo to Noah (@ArthurKun21)
- feat(Support): Added Support Template image for CEs (#741) (@ArthurKun21)
- Stepper not updating correctly, reverted back to old behavior
- Added the following servant templates for Grand Rider
- Constantine XI
- Medb
- Noah
- Summer Kriemhild
- Taigong Wang
- Updated the following servant templates for Grand Rider
- Reines
- Added the following ce template images
- Blessed Bride
- Chaldea Morning
- First Day of Filming
- Fondant au Chocolat
- Foreign God
- From NFF with Love
- Great Detective Foumes
- Inverted Rain of Mud
- Needle of Sincerity
- Ocean Flier
- Report Check
- Secret Mission
- Standing beneath the Azure Sky
- To the Beyond, Bereft the Snowy Blossom
- Traces of Christmases Past
- Wings of Manuscript
- Updated the following ce template images
- Aerial Drive
- Bella Lisa
- Black Grail
- Blessed Bride
- Chaldea Lunchtime
- Chaldea Teatime
- GudaGuda Poster Girl
- Kaleidoscope
2025-09-07
- Update dependency sh.calvin.reorderable:reorderable to v3 (#712) (@renovate[bot])
- fix(Preference): Unable to update due to datastore can only be initiated once (#737) (@ArthurKun21)
- Cannot select an apple, update apple count or any server related preference if you have switched from one game server(EN) to another (JP) and vice versa.
- Selected Apple's Count not being decreased if you used it.
-
Updated to show all of the apple counts in battle launcher
-
Updated to add more buttons for easier updating of apple count
2025-09-05
- fix: Stepper should use IntRange boundary in current value (#728) (@ArthurKun21)
- fix(Skill Maker): Update Text related UI (#730) (@ArthurKun21)
- Update dependency com.android.tools.build:gradle to v8.12.2 (#729) (@renovate[bot])
- Update dependency com.android.tools.build:gradle to v8.13.0 (#733) (@renovate[bot])
- feat(preferences): migrate from SharedPreferences to Preference DataStore (#723) (@ArthurKun21)
- refactor: move Images to data module (#734) (@ArthurKun21)
- fix(AutoBattle): use concurrent hash map on ServantTracker (#735) (@ArthurKun21)
- feat(skill maker): add raid options (#736) (@ArthurKun21)
-
Stepper is going to take in the boundary on initialization to ensure that it wouldn't go out of bounds such as
-1in teapots/runs/ etc -
Updated the Skill Maker to use the full width in order to display the text more clearly
-
Make the saving of image patterns multi-thread friendly
-
In anticipation of the upcoming raid, added experimental raid options. Be warn that the locations are based from past data and might cause wrong click
In order to change to
raidClick theSettingsIcon above in order to display the settings dialog
- We have migrated from shared preferences to Preference Datastore, while everything is working fine so far be sure to Backup your configs in case that there was a problem.
Important
Be sure to backup your configs before updating to this release. Just incase that there was a problem with the migration. I already used it and so far found no problem but it is still better to backup just incase.
2025-08-28
- Update dependency androidx.compose:compose-bom to v2025.08.01 (#724) (@renovate[bot])
- Update lifecycle to v2.9.3 (#725) (@renovate[bot])
- chore: use default material3 typography (#726) (@ArthurKun21)
- fix: Updated Mighty chain logic (@Vylantze)
- fix(Teapots): Update the detection region for wide screen (#727) (@ArthurKun21)
- We didn't notice that the wide and ultra wide detection region are off resulting in mis-click and the quest getting stuck. We have now updated it.
-
@Vylantze have updated the logic behind Mighty Chain
https://redirect.github.com/Fate-Grand-Automata/FGA/pull/2087
2025-08-25
- Update actions/setup-java action to v5 (#718) (@renovate[bot])
- Update dependency com.github.ArthurKun21:compose-overlay-window to v1.5.0 (#719) (@renovate[bot])
- Update hilt to v2.57.1 (#716) (@renovate[bot])
- fix: Skill window not closing during cooldown (#720) (@erectorOps)
- refactor(overlay): Update overlay UI and state management (#717) (@ArthurKun21)
- feat(overlay): Add keyboard support for Support Image Maker (#722) (@ArthurKun21)
- feat: basic Mighty chain implementation (@Vylantze)
- Update the location to close the skill window during cooldown @erectorOps
-
Added keyboard support when using mobile devices. Now it will show up.
-
Fixed the Close Icon button to empty the string instead of reseting to default string
-
Minor UI update with Support Image Maker, now uses full screen dialog.
2025-08-20
- chore: fix lint errors (#714) (@ArthurKun21)
- fix(Tesseract): move TessBaseAPI inside the thread dispatcher (#715) (@ArthurKun21)
- Move the initialization of tesseract to its designated thread.
2025-08-19
- feat(support): add Summer Tiamat template image (#710) (@ArthurKun21)
- chore: update compile sdk to android 16 (#713) (@ArthurKun21)
- Update dependency com.android.tools.build:gradle to v8.12.1 (#711) (@renovate[bot])
- Update dependency androidx.core:core-ktx to v1.17.0 (#693) (@renovate[bot])
- Added Summer Tiamat to servant template images
Important
After the installation of the APK, you have to go to Settings -> Storage -> Extract Default Support images
- Increase the SDK to API Level 36(Android 16). Let me know if there are some problems.
2025-08-17
- chore(deps): downgrade tesseract from multi-core to single core (#706) (@ArthurKun21)
- fix(Tesseract): update tesseract initialization from singleton to service scoped (#707) (@ArthurKun21)
- feat: Add Toggle for using OCR on Apple count (#708) (@ArthurKun21)
- refactor(Tesseract): optimize regex initialization and improve error handling (#709) (@ArthurKun21)
- Not optimized initialization of Tesseract caused some devices to crash.
- We were using too much threads for Tesseract. Moved the Tesseract back with others to the service scoped threads.
- Added some excpetion handling for Tesseract and optimized the initilization of regex for reused.
-
Crash on Apple Refill screen is due to Tesseract crashing. We have now added a new option to skip the usage of OCR for more accurate reading of apples used.
This is found on
settings->Battle->Use OCR on Apple Count.In case you didn't knew, Enabling
Over Recharge APwould use the max apples available when refilling apples instead of normally only using 1 at a time.
2025-08-15
- Update dependency androidx.compose:compose-bom to v2025.08.00 (#692) (@renovate[bot])
- fix(Grand): Add clarification about Grand Servant Tags (#694) (@ArthurKun21)
- feat: decouple Gestures from direct Accessibility Service dependency (#695) (@ArthurKun21)
- feat: update TapperService state handling and lifecycle cleanup (#697) (@ArthurKun21)
- Update kotlin monorepo to v2.2.10 (#696) (@renovate[bot])
- fix(LevelServant): JP - Added handler for the temporary servant dialog (#701) (@ArthurKun21)
- feat(Grand): added the grand extra icon (#702) (@ArthurKun21)
- feat(Skill Maker): Added Summer Shiki (#703) (@ArthurKun21)
- feat(Skill Maker): Update UI with Servant Icons (#704) (@ArthurKun21)
- fix: correct preferred UI logic for showing Grand Servant Icons (#705) (@ArthurKun21)
- Perform some minor UI tweaks here and there
- Updated and perform some cleanup on codebase
-
Added clarification that the Grand Servant Tag currently only works on Grand Duels
-
Updated the text of the last option to further clarify what it means.
- Fixed the "execute" button not being handled for welfare servants
- Also tested that the trial welfare servant will correctly stop the script once it reached its max level. We weren't sure due to the UI change.
-
Added Button hints for Shiki. But if you ever don't want to upgrade yet you can use Dante's options in the mean time.
-
Added various servant icons to help you decide the button to choose. Also you can't click on that servant icons.
-
Fixed the buttons hint are only occupying the current space, we have now made it so it can go beyond the screen. Sorry about that.
2025-08-12
- refactor: update GameServer from sealed class to enum (#686) (@ArthurKun21)
- fix: update teapots logic (#687) (@ArthurKun21)
- fix: run Tesseract operations on a dedicated thread (#688) (@ArthurKun21)
- Update actions/checkout action to v5 (#689) (@renovate[bot])
- fix(Grand): Update the detection regions for Grand Servant Supports (#690) (@ArthurKun21)
- fix(Grand): Update detection regions for Support Image Maker (#691) (@ArthurKun21)
Fixes:
-
It is now back to just normal turn on or off
-
It will now always check the teapots section at party and repeat screen, if it needs to turn on or off depending if you check ✅ the usage
-
If you are on the last run and you still have remaining teapots in the configuration, it will now attempt to turn it off regardless. This should help you
and meto not accidentally use Teapots on non-high bond quests. -
The above condition doesn't apply to Ordeal Call Free Quest if you ran out of Storm Pods, as we have no way of turning it off once the quests ends.
-
We have updated the detection regions for both normal as well as support image maker.
-
Removed the warning for
Above lvl 100with the new updated detection region as it seems fairly consistent at Grand Duels
Experiment:
- We have introduced a dedicated thread to Tesseract(OCR) to check if it will improve the NP level detection. As well as we have updated its detection region. Let me know if it somehow improved.
2025-08-10
- refactor: update SupportBounds as value class (#684) (@ArthurKun21)
- fix: add support for Support Image Maker for Grand Servants in support screen (#685) (@ArthurKun21)
Fixes:
- Added support for getting support images from grand servants. You can now get the CE and Friend as support images aside from the already supported Servant
Note
Be aware that only the slot 1 for CEs of Grand Servant is supported for the new implementation.
2025-08-10
- feat: replace volatile variables with atomic types (#680) (@ArthurKun21)
- feat: migrate highlight functionality to AndroidExecutor interface (#681) (@ArthurKun21)
- fix: resolve sequence consumption issues in image match highlighting (#683) (@ArthurKun21)
Fixes:
- Accidentally flip the hiding condition for the play button resulting in play button still showing on vertical mode.
- Improve the image matching operations by removing the redundant operation cause by kotlin sequence and "also" operator
2025-08-09
- fix(levelCE): JP - always enable auto fill state even if skip filter is ON (#675) (@ArthurKun21)
- feat!: removal of root screenshot feature (#676) (@ArthurKun21)
- fix(Grand): corrected search region calculation for friend search (#679) (@ArthurKun21)
Fixes:
- disabling the skip filter for JP will cause an infinite loop on CE leveling, now it will always auto ON the auto fill
- Made a mistake when translating my jupyter notebook for experiment to the app code that cause incorrect detection area for searching friends with grand servants. We have now fixed it
Breaking:
- We are now removing the root screenshot feature for future improvement of codebase.
2025-08-06
- feat: Migrated from Timber to Square Logcat (#673) (@ArthurKun21)
- revert: Mihon's crash handling activity with log dumping functionality (#674) (@ArthurKun21)
Saw some reports with crashing and going to disable this for a while.
For context, this runs in the background using kotlin thread. And this might be a problem when paired with the kotlin coroutines, which where automation scripts run with, both fighting for the same resources causing a crash.
2025-08-06
- feat: add default and reset buttons to battle launcher (#667) (@ArthurKun21)
- fix(Grand): Update Grand Servant NP Level Region detection (#669) (@ArthurKun21)
- fix(Grand): is Max Ascended now adjusted for Grand Servants (#670) (@ArthurKun21)
- fix(Grand): add force check if Grand Servant should only be picked. (#671) (@ArthurKun21)
- feat(Support): Added new support servant template images (#672) (@ArthurKun21)
Return back the Reset All to its old functionality and introduce a new button Default in which will now inherit the returning of values to their default value.
Fix the is Max ascended for the Grand Servants. This is causing issues the last few grand duels if you turn it on due to the fact that it wasn't adjusted for the Grand Servants.
Notice that the Max ascended star is a lot lower on the Grand Servant than Normal Servant.
We have now taken into account both situations.
| Grand Servant | Normal Servant |
|---|---|
![]() |
![]() |
We have made a mistake in the previous logic for the Grand Servants selection. Before even if you set it up to select Grand Servants there's a chance to select a normal version of it.
| Grand Servant | Normal Servant |
|---|---|
![]() |
![]() |
We have now updated the logic that if you set it up to find Grand Servant it would check for Grand Servant Settings
Such Settings are any of the following:
- You have selected to find if there's Bond CE/NP Charge on Slot 2
- You have setup to find a CE on Slot 3
- You are searching for either Grand Servant Tag(Fixed lvl 100 or Lvl 100 and above)
The following are now added to Default Support Servants to help to the upcoming Extra 1 Grand Duel and beyond
- Mash
- Jalter
- Arcueid
- Kagetora (Ruler)
- Ciel
- BB Dubai
- U-Olga Marie
Important
After the installation of the APK, you have to go to Settings -> Storage -> Extract Default Support images
2025-08-04
- feat: add Mihon's crash handling activity with log dumping functionality (#663) (@ArthurKun21)
- chore: Update project structure for App module (#664) (@ArthurKun21)
- fix: add lower bounds to play button to prevent negative coordinates (#665) (@ArthurKun21)
- Update dependency org.junit:junit-bom to v5.13.4 (#655) (@renovate[bot])
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.2.1 (#656) (@renovate[bot])
- Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.1 (#657) (@renovate[bot])
App was crashing when starting the script service. This is a side-effect code to fix the initialization of play button. Due to bug in the code it causes to have negative left location causing the crash. We have now added a lower bound in order to prevent that.
We have copied code from Mihon's codebase in order to display some crashing issues.
Finally figured out what was wrong with my code and it is no longer ugly again.
2025-08-03
- ci: remove unused github action workflows (@ArthurKun21)
- chore(deps): Update dependency com.cheonjaeung.compose.grid:grid to v2.4.0 (#660) (@renovate[bot])
- chore: Update project structure for Scripts module (#661) (@ArthurKun21)
- feat(LevelServant): implement JP's extra embers/qp refund mechanism handler (#662) (@ArthurKun21)
JP have now implemented a refund window that show the extra Embers/QP. This makes the script quit due to sharing the same window with out of ember/qp. We have now implemented a handler to hopefully handle this
2025-08-01
- fix: return the image pattern used for NA's servant level (#659) (@ArthurKun21)
2025-08-01
- chore: refactor battle launcher code to reused the same config (#641) (@ArthurKun21)
- feat: moved the auto send friend request from per server preference to per battle config (#642) (@ArthurKun21)
- fix: overlay play button initialization failure (#627) (@ArthurKun21)
- feat: consider out of commands as also off script exception (#643) (@ArthurKun21)
- feat: save command spell region upon detection (#644) (@ArthurKun21)
- chore(deps): bump gradle from 8.14.3 to 9.0.0 (#646) (@ArthurKun21)
- chore: Configure Renovate (#647) (@renovate[bot])
- chore(deps): update dependency androidx.navigation:navigation-compose to v2.9.3 (#648) (@renovate[bot])
- chore(deps): update dependency androidx.work:work-runtime to v2.10.3 (#649) (@renovate[bot])
- chore: disable semantic commits in Renovate configuration (@ArthurKun21)
- chore(deps): bump agp from 8.11.1 to 8.12.0 (@ArthurKun21)
- Update hilt to v2.57 (#654) (@renovate[bot])
- feat: add support for missing Grand Servants' text information (#645) (@ArthurKun21)
Updated the UI to also display the full information including Grand Servant Configuration
It has now been migrated from per server configuration into per battle configuration
2025-07-30
- feat: Implement Default Run Configuration per battle config (#634) (@ArthurKun21)
- chore(deps): bump okio from 3.15.0 to 3.16.0 (#636) (@dependabot[bot])
- feat(LevelServant): Add support for JP's new UI update and auto fill embers (#637) (@ArthurKun21)
- feat(LevelCE): Add support for JP's new UI update and auto fill CEs (#638) (@ArthurKun21)
- fix(AutoFriendGacha): remove settings in launcher with respect to auto fill CEs (#639) (@ArthurKun21)
- fix: forgot to remove some launcher settings (#640) (@ArthurKun21)
The initial value of per item in the configuration will always be "1" but by resetting in the battle launcher it would then reset to whatever default value you inputted.
Whenever you completed your inputted number of runs, it would also reset to whatever default you have inputted instead of "1"
It has now been optimized to use the newly added auto fill embers
Warning
Haven't tested with the temporary servants such as welfares at the time of creating this feature. As such may fail, please be advised.
It has now been optimized to use the newly added auto fill CEs
2025-07-29
- revert: update project dependencies to remove gradle's type-safe accessors (#632) (@ArthurKun21)
- fix: add support for CN's 15 party slot (#633) (@ArthurKun21)
2025-07-29
- fix: update the CN repeat button location (#631) (@ArthurKun21)
2025-07-28
- ci: Update the PR Build workflow condition (@ArthurKun21)
- feat: add optional toggle to always stopping accessibility service (#612) (@ArthurKun21)
- chore: remove unused KnownException references from exit handling (#613) (@ArthurKun21)
- fix: update parameter annotations to use @param syntax (#614) (@ArthurKun21)
- feat: moved Fine Tune to Home Screen (#615) (@ArthurKun21)
- chore(deps): bump coil from 3.2.0 to 3.3.0 (#622) (@dependabot[bot])
- fix: simplify Settings screen navigation (#621) (@ArthurKun21)
- fix: add library tabs to the settings (#620) (@ArthurKun21)
- chore(deps): bump agp from 8.11.0 to 8.11.1 (@ArthurKun21)
- chore(deps): bump gradle wrapper from 8.14.1 to 8.14.3 (@ArthurKun21)
- chore(deps): bump lifecycle from 2.9.0 to 2.9.2 (@ArthurKun21)
- chore(deps): bump appcompat from 1.7.0 to 1.7.1 (@ArthurKun21)
- chore(deps): bump workmanager from 2.10.1 to 2.10.2 (@ArthurKun21)
- chore(deps): bump compose_bom from 2025.05.01 to 2025.07.00 (@ArthurKun21)
- chore(deps): bump navigation_compose from 2.9.0 to 2.9.2 (@ArthurKun21)
- chore(deps): bump mockk from 1.14.4 to 1.14.5 (@ArthurKun21)
- chore(deps): bump junit_bom from 5.13.2 to 5.13.3 (@ArthurKun21)
- chore(deps): bump spotless from 7.0.4 to 7.1.0 (@ArthurKun21)
- refactor: migrate skill maker activity to compose (#625) (@ArthurKun21)
- feat: set always return to menu as the default (#626) (@ArthurKun21)
- fix: correct proguard rules for model and enum classes (#628) (@ArthurKun21)
- chore: refactor project to make some functions reusable (#630) (@ArthurKun21)
Library tabs will now display all of the servers tabs. If you want to disable some of the server tabs go to settings -> library -> library tabs and disable the ones you don't want to see.
There's now a new setting to disable auto stop of accessibility service when the script was stopped.
Go to settings -> advanced -> "Auto stop accessibility service on script service stop"
Battle script will now automatically return to menu when the script ends instead of staying on the repeat screen.
To disable it, on the battle launcher
Click Settings(Gear) -> disable "return to main screen"
2025-07-20
- feat: migrate Run Configuration to per Battle Config (#606) (@ArthurKun21)
- ci: update github actions to reenable PR builds (@ArthurKun21)
- ci: update dependabot pr request limit (@ArthurKun21)
- ci: fix the PR Build workflow (@ArthurKun21)
- chore: update gradle.properties for improved configuration settings (@ArthurKun21)
- fix: optimized storage read-write with okio (#607) (@ArthurKun21)
- chore(deps): bump com.github.ArthurKun21:compose-overlay-window from 1.1.0 to 1.1.1 (#609) (@dependabot[bot])
- feat: Hide SQ from resources by default (#610) (@ArthurKun21)
- chore(deps): bump org.jetbrains.kotlinx:kotlinx-datetime from 0.7.0 to 0.7.1 (#592) (@dependabot[bot])
2025-07-17
- refactor: migrate from prefs to data module (#598) (@ArthurKun21)
- feat: add image resources for Grand Lancer and Grand Berserker (#600) (@ArthurKun21)
- feat(support): add Bhima, Melusine, and Scathach support servant images (#601) (@ArthurKun21)
- fix: Preferred Support not refreshing after support image extraction (#602) (@ArthurKun21)
- fix(Support Image Maker): image cache invalidation to display the right support image (#603) (@ArthurKun21)
- feat(Support Image Maker): added hints to enable non-emulator to use the script (#604) (@ArthurKun21)
- fix(Battle): adjust apple refill timing for Grand Duels and Ordeal Call FQ (#605) (@ArthurKun21)
2025-07-15
- chore(deps): bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.3 to 7.0.4 (#567) (@dependabot[bot])
- chore(deps): bump io.mockk:mockk from 1.14.2 to 1.14.4 (#584) (@dependabot[bot])
- chore(deps): bump kotlin from 2.1.21 to 2.2.0 (#585) (@dependabot[bot])
- chore(deps): bump com.google.devtools.ksp:symbol-processing-gradle-plugin from 2.1.21-2.0.2 to 2.2.0-2.0.2 (#587) (@dependabot[bot])
- chore(deps): bump org.junit:junit-bom from 5.13.1 to 5.13.2 (#586) (@dependabot[bot])
- chore(deps): bump agp from 8.10.1 to 8.11.0 (#590) (@ArthurKun21)
- chore(deps): bump org.jetbrains.kotlinx:kotlinx-datetime from 0.6.2 to 0.7.0 (#591) (@ArthurKun21)
- chore(deps): bump org.opencv:opencv from 4.11.0 to 4.12.0 (#595) (@dependabot[bot])
- fix(Tesseract): Extraction and verification of tesseract data (#596) (@ArthurKun21)
2025-06-20
- chore(deps): bump org.junit:junit-bom from 5.12.2 to 5.13.0 (#571) (@dependabot[bot])
- refactor: move enums and classes to models module (#574) (@ArthurKun21)
- refactor: moved components to libautomata (#576) (@ArthurKun21)
- chore: split screenshot and recording into separate classes (#577) (@ArthurKun21)
- chore(deps): bump compose-bom from 2025.05.00 to 2025.05.01 (@ArthurKun21)
- chore(deps): bump agp from 8.10.0 to 8.10.1 (@ArthurKun21)
- chore(deps): bump org.junit:junit-bom from 5.13.0 to 5.13.1 (#579) (@dependabot[bot])
- chore(deps): bump sh.calvin.reorderable:reorderable from 2.4.3 to 2.5.1 (#580) (@dependabot[bot])
- chore(deps): bump com.google.devtools.ksp:symbol-processing-gradle-plugin from 2.1.21-2.0.1 to 2.1.21-2.0.2 (#581) (@dependabot[bot])
- chore(deps): bump cz.adaptech.tesseract4android:tesseract4android-openmp from 4.8.0 to 4.9.0 (#582) (@dependabot[bot])
- feat(support): added Zerktoria and Lilith template images (#583) (@ArthurKun21)
2025-05-28
- chore: Update logging for scripts module (#568) (@ArthurKun21)
- fix: handle app freezing when stopping certain scripts (#569) (@ArthurKun21)
2025-05-28
- fix(gradle): Create task to make git and configuration-cache compatible (#562) (@ArthurKun21)
- chore(gradle): Update Accessibility task to use ExecOperations (#564) (@ArthurKun21)
- chore(deps): bump gradle wrapper from 8.14 to 8.14.1 (#565) (@ArthurKun21)
- chore: convert modules to android library (#563) (@ArthurKun21)
- fix(support): Grand Servant Bond CE Selector (#566) (@ArthurKun21)
2025-05-26
- feat: add step buttons for adjusting max gold ember total count (@ArthurKun21)
- feat: Update Preferred Support UI (#554) (@ArthurKun21)
- feat(support): Split Slot 1 and 3 CE selection for grand servant (#555) (@ArthurKun21)
- feat(support): Grand Servant CE Slot 2 selection (#556) (@ArthurKun21)
- fix(support): wrong region clipping leads to unable to find 3 Grand Servant CE (#557) (@ArthurKun21)
- feat(support): Grand Servant NP Level detection (#558) (@ArthurKun21)
- fix: add weight in the party and server dialog (#559) (@ArthurKun21)
- feat: remove requirement to set GrandServant type before seeing slot 2 and 3 CE (#560) (@ArthurKun21)
- feat(support): handle new support popup (#561) (@ArthurKun21)
2025-05-24
- fix: update game server check for Grand Servant CE logic (@ArthurKun21)
- chore: streamline Permissions (#549) (@ArthurKun21)
- chore: streamline theme and language preferences (#550) (@ArthurKun21)
- feat(support): implement search friend in new grand servant UI (#551) (@ArthurKun21)
- fix: race condition on floating window (#552) (@ArthurKun21)
- fix: Ordeal Call and Teapots for EN (#553) (@ArthurKun21)
2025-05-23
- chore: simplify workflow scripts (#541) (@ArthurKun21)
- feat: introduce buildSrc for project management (#542) (@ArthurKun21)
- fix: hilt misconfiguration on buildSrc (#544) (@ArthurKun21)
- chore: add matchingFallbacks for alpha build (@ArthurKun21)
- feat(support): Implement searching for Grand Servants (#547) (@ArthurKun21)
- feat(support): implement temporary ce selection when using grand servant (#548) (@ArthurKun21)
2025-05-19
- chore(deps): bump kotlin from 2.1.20 to 2.1.21 (@dependabot[bot])
- chore(deps): bump com.google.devtools.ksp from 2.1.20-2.0.1 to 2.1.21-2.0.1 (@dependabot[bot])
- chore(deps): bump coil from 3.1.0 to 3.2.0 (@dependabot[bot])
- fix: face card detection, only JP and CN have updated ver (#528) (@ArthurKun21)
- chore(deps): bump agp from 8.9.2 to 8.10.0 (@ArthurKun21)
- chore(deps): bump compose_bom from 2025.04.01 to 2025.05.00 (@ArthurKun21)
- chore(deps): bump navigation_compose from 2.8.9 to 2.9.0 (@ArthurKun21)
- chore(deps): bump lifecycle from 2.8.7 to 2.9.0 (@ArthurKun21)
- chore(deps): bump workmanager from 2.10.0 to 2.10.1 (@ArthurKun21)
- feat: switch to tesseract openmp for better performance (#532) (@ArthurKun21)
- feat: Update to use collectAsStateWithLifecycle (#536) (@ArthurKun21)
- feat: Update Dialogs UI (#537) (@ArthurKun21)
- feat: Use Compose Overlay Window for Play Button (#539) (@ArthurKun21)
- feat: Update App icons and introduce monochrome icon (#540) (@ArthurKun21)
2025-05-11
- feat: added angra to skill maker (#520) (@ArthurKun21)
- feat: Update Onboarding screen (#521) (@ArthurKun21)
- fix: onboarding not setting to be completed on finished (#522) (@ArthurKun21)
- feat(AutoLevelServant): Start script at Grail menu to return to Servant menu (#523) (@ArthurKun21)
2025-05-05
- fix: manage Tesseract state on closing (#517) (@ArthurKun21)
- fix: ensure proper copying of Tesseract data files (#519) (@ArthurKun21)
2025-05-05
- fix: Incorrectly closed resources, preventing the play button from reappearing (#516) (@ArthurKun21)
2025-05-05
- chore(deps): bump agp from 8.9.1 to 8.9.2 (#513) (@ArthurKun21)
- fix: android 14+ crash (#514) (@ArthurKun21)
- fix: android 14+ workmanager notification permission error (#515) (@ArthurKun21)
2025-05-04
- fix: update Face Card Details Region for non-EN regions (#503) (@ArthurKun21)
- chore(deps): bump io.mockk:mockk from 1.14.0 to 1.14.2 (@dependabot[bot])
- fix: update teapots usage to neutral when resetting (#505) (@ArthurKun21)
- chore: clean up .gitignore files by removing redundant build entries (@ArthurKun21)
- chore(deps): bump com.google.devtools.ksp from 2.1.20-2.0.0 to 2.1.20-2.0.1 (@dependabot[bot])
- chore: update skill confirmation template image (CN) (@ArthurKun21)
- chore(deps): bump gradle/actions/wrapper-validation from v3 to v4 (#511) (@ArthurKun21)
- feat: added OC4 mats (#510) (@ArthurKun21)
2025-04-29
- chore(deps): bump com.google.accompanist:accompanist-permissions from 0.37.2 to 0.37.3 (@dependabot[bot])
- feat(AutoGiftBox): added silver embers count (#498) (@ArthurKun21)
- chore: update AutoLottery to GiftBox template image (#501) (@ArthurKun21)
- fix: Prevent OC teapots from being incorrectly enabled in subsequent runs (#502) (@ArthurKun21)
- Added explanation: If you have storm pods and used them with teapots. When you ran out of storm pods, you would return back to menu and the next time you have did runs the teapots are turned on but the Teapots mode in the app is on neutral, meaning it won't alter the state of the teapots. Meaning you might accidentally use teapots even if you don't want to. This change will make the Teapots mode to turned off, meaning it will check and if it was turned on it would turned it off, to prevent accidental usage.
2025-04-28
- fix: False Lotto Detection(EN/JP server) (#495) (@ArthurKun21)
2025-04-28
- fix: temporary increase delay on opening master skill menu (#489) (@ArthurKun21)
- chore(deps): bump hilt from 2.56.1 to 2.56.2 (@dependabot[bot])
- chore(deps): bump compose_bom from 2025.04.00 to 2025.04.01 (@ArthurKun21)
- chore(deps): bump gradle wrapper from 8.13 to 8.14 (#492) (@ArthurKun21)
- fix: relocate help rearrange cards URL to the correct section (#493) (@ArthurKun21)
- chore(deps): update dependabot schedule from weekly to daily (@ArthurKun21)
- chore: Improve GitHub related items (#494) (@ArthurKun21)
- feat: optimize concurrency with coroutine migration (#485) (@ArthurKun21)
2025-04-15
- feat: start at support after the repeat quest (#472) (@ArthurKun21)
- chore(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.8.0 to 1.8.1 (@dependabot[bot])
- refactor: update gradle build configuration and dependencies (#473) (@ArthurKun21)
- refactor: update composition state management (#475) (@ArthurKun21)
- chore: upgrade Java in gradle from 11 to 17 (#476) (@ArthurKun21)
- chore: remove ndkVersion from build.gradle.kts (#477) (@ArthurKun21)
- chore(deps): bump io.mockk:mockk from 1.13.17 to 1.14.0 (@dependabot[bot])
- chore(deps): bump org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.10.1 to 1.10.2 (@dependabot[bot])
- chore(deps): bump org.junit:junit-bom from 5.12.1 to 5.12.2 (@dependabot[bot])
- chore(deps): bump com.google.devtools.ksp from 2.1.20-1.0.32 to 2.1.20-2.0.0 (@dependabot[bot])
- fix: initial 100 FP Gacha (#482) (@ArthurKun21)
2025-04-02
- feat: use ai generated translations (#457) (@ArthurKun21)
- fix: reserved character causing build error (#458) (@ArthurKun21)
- feat: Replace local images with link urls (#459) (@ArthurKun21)
- feat: implement image loading optimization with LruCache (#460) (@ArthurKun21)
- chore: Update Gradle config (#461) (@ArthurKun21)
- feat: implement asynchronous file logging (#462) (@ArthurKun21)
- chore: refactor code to split the notification and logging for scripts (#463) (@ArthurKun21)
- chore: cleanup unnecessary script (#464) (@ArthurKun21)
- chore: reduce accessibility service permissions (#465) (@ArthurKun21)
- chore: added safety checks for accessiblity service (#466) (@ArthurKun21)
- chore(deps): bump ksp from 2.1.20-1.0.31 to 2.1.20-1.0.32 (@dependabot[bot])
- chore(deps): bump hilt from 2.56 to 2.56.1 (@dependabot[bot])
- chore(deps): bump androidx.compose:compose-bom from 2025.03.00 to 2025.03.01 (@dependabot[bot])
2025-03-29
- chore: refactor class names and functions (#446) (@ArthurKun21)
- chore(deps): bump kotlin from 2.1.10 to 2.1.20 (@dependabot[bot])
- chore(deps): bump ksp from 2.1.10-1.0.31 to 2.1.20-1.0.31 (@dependabot[bot])
- chore(deps): bump com.android.tools.build:gradle from 8.9.0 to 8.9.1 (@dependabot[bot])
- chore(deps): bump hilt from 2.55 to 2.56 (@dependabot[bot])
- chore(deps): bump gradle from 8.12 to 8.13 (@ArthurKun21)
- chore: update .gitignore to ignore all files in .idea except icon.png (@ArthurKun21)
- feat: update to use SpecialSkill.Transform and deprecate Transform (#447) (@ArthurKun21)
- chore: convert actions from stateflow to sharedflow (#448) (@ArthurKun21)
- fix: update proguard rules (#449) (@ArthurKun21)
- chore: convert parameter to duration (#451) (@ArthurKun21)
- fix: unreleased Mat instances (#453) (@ArthurKun21)
- feat: always disable AccessibilityService when stopping Script Service (#454) (@ArthurKun21)
- feat!: temp disable daily reset handler (#455) (@ArthurKun21)
- fix(NA): Broken skill confirm check (#456) (@ArthurKun21)
2025-03-24
- feat(manifest): add internet and network state permissions (@ArthurKun21)
- feat: Backup and Restore Settings (#420) (@ArthurKun21)
- chore(deps): bump activity from 1.10.0 to 1.10.1 (@dependabot[bot])
- chore(deps): bump ksp from 2.1.10-1.0.30 to 2.1.10-1.0.31 (@dependabot[bot])
- chore(deps): bump com.android.tools.build:gradle from 8.8.1 to 8.8.2 (@dependabot[bot])
- chore(deps): bump org.junit:junit-bom from 5.11.4 to 5.12.0 (@dependabot[bot])
- chore(deps): bump io.mockk:mockk from 1.13.16 to 1.13.17 (@dependabot[bot])
- fix: Start Service race conditon (#421) (@ArthurKun21)
- feat: Update the default detail screen to Battle for Expanded Settings Screen (#422) (@ArthurKun21)
- feat(Skill Maker): Update Support for Dante Alighieri (#423) (@ArthurKun21)
- feat(ui): Update Skill Maker ui (#424) (@ArthurKun21)
- fix: misc code fix (#425) (@ArthurKun21)
- fix: data class state incorrectly updated (@ArthurKun21)
- chore(deps): bump androidx.navigation:navigation-compose from 2.8.7 to 2.8.8 (@dependabot[bot])
- chore(deps): bump com.android.tools.build:gradle from 8.8.2 to 8.9.0 (@dependabot[bot])
- chore(deps): bump androidx.navigation:navigation-compose from 2.8.8 to 2.8.9 (@dependabot[bot])
- chore(deps): bump org.junit:junit-bom from 5.12.0 to 5.12.1 (@dependabot[bot])
- chore(deps): bump androidx.compose:compose-bom from 2025.02.00 to 2025.03.00 (@dependabot[bot])
- fix: compose update changes (#431) (@ArthurKun21)
- feat!: Drop Android 7 Support (#432) (@ArthurKun21)
- feat: Update Level Servant Launcher UI (#433) (@ArthurKun21)
- feat: Update Level CE and FP Launcher UI (#434) (@ArthurKun21)
- chore: refactor Script Exception handling (#435) (@ArthurKun21)
- feat: imperfect handle of daily reset (#436) (@ArthurKun21)
- fix(Teapots): Reset to null after setting it to false (#437) (@ArthurKun21)
- fix: update string resource used to prevent missing args crash (#438) (@ArthurKun21)
- refactor: replace local VerticalDivider import with material3 version (#439) (@ArthurKun21)
- fix: add support for Set type in JSON serialization for Battle Configs (#440) (@ArthurKun21)
2025-02-20
- chore: remove Gson from Project and replace with kotlin serialization (#387) (@ArthurKun21)
- chore(deps): bump ksp from 2.1.10-1.0.29 to 2.1.10-1.0.30 (@dependabot[bot])
- chore(deps): bump androidx.navigation:navigation-compose from 2.8.6 to 2.8.7 (@dependabot[bot])
- chore(deps): bump com.android.tools.build:gradle from 8.8.0 to 8.8.1 (@dependabot[bot])
- chore(deps): bump androidx.compose:compose-bom from 2025.01.00 to 2025.02.00 (@dependabot[bot])
- feat: Update Library Screen (#406) (@ArthurKun21)
- chore: refactor battle config components (#407) (@ArthurKun21)
- feat: Update Material Screen UI logic (#408) (@ArthurKun21)
- chore: update .gitignore to include runConfigurations.xml (@ArthurKun21)
- feat: added background to home and library (#409) (@ArthurKun21)
- feat: Update settings screen UI (#410) (@ArthurKun21)
- fix: Color and Component issue caused by last update (#411) (@ArthurKun21)
2025-02-17
- fix(Command Spell): Detection in ultra-wide devices (#333) (@ArthurKun21)
- feat!: Remove Spam configuration (#371) (@ArthurKun21)
- fix: replaced the clickable text in onboarding (#372) (@ArthurKun21)
- feat: Update the Command Card Screen (#373) (@ArthurKun21)
- fix: invalid image format (@ArthurKun21)
- fix: Various inconsistencies with the Command Card Screen (#374) (@ArthurKun21)
- feat: Update Fine Tune Screen UI (#376) (@ArthurKun21)
- chore(deps): bump org.jetbrains.kotlinx:kotlinx-datetime from 0.6.1 to 0.6.2 (@dependabot[bot])
- chore(deps): bump coil from 3.0.4 to 3.1.0 (@dependabot[bot])
- chore(deps): bump androidx.navigation:navigation-compose from 2.8.5 to 2.8.6 (@dependabot[bot])
- chore: refactor AutoSkillCommand (#381) (@ArthurKun21)
- feat: allow skipping onboarding items in debug mode (#382) (@ArthurKun21)
- feat Update dialogs UI (#383) (@ArthurKun21)
- feat: Update Command Card Screen UI (#384) (@ArthurKun21)
- feat: Update Support Class Picker UI (#385) (@ArthurKun21)
- fix: navigation backstack error on multiple click event (#386) (@ArthurKun21)
2025-01-31
- fix: Update the deprecated Display metrics (#364) (@ArthurKun21)
- feat(Teapots): New Teapots UI in JP (#368) (@ArthurKun21)
- feat(Support Screen): Minor QoL Improvements (#369) (@ArthurKun21)
- fix: locale positioning warning (#370) (@ArthurKun21)
- fix(Teapots): reduce timeout for popup existence check from 5 seconds to 2 seconds (@ArthurKun21)
2025-01-31
- chore: Update Home Screen Top Bar UI (#363) (@ArthurKun21)
- chore: Further Update Home Screen UI (#365) (@ArthurKun21)
- chore: Update App Colors (#366) (@ArthurKun21)
- chore: Code Cleanup (#367) (@ArthurKun21)
2025-01-30
- fix(MediaProjectionRecording): Update the deprecated Media Recording (#362) (@ArthurKun21)
2025-01-30
- refactor(DroidCvPattern): improve logging format for match results (#359) (@ArthurKun21)
- Bump com.github.ben-manes.versions from 0.51.0 to 0.52.0 (#357) (@dependabot[bot])
- Bump kotlin from 2.1.0 to 2.1.10 (#356) (@dependabot[bot])
- Bump ksp from 2.1.0-1.0.29 to 2.1.10-1.0.29 (@ArthurKun21)
- fix(DroidCvPattern): Crash due to region out of bounds (#361) (@ArthurKun21)
2025-01-29
- fix(AutoBattle): New JP Repeat Button Location (#358) (@ArthurKun21)
2025-01-26
- Bump activity from 1.9.3 to 1.10.0 (@dependabot[bot])
- Bump androidx.compose:compose-bom from 2024.12.01 to 2025.01.00 (@dependabot[bot])
- Bump org.opencv:opencv from 4.10.0-kleidicv to 4.11.0 (@dependabot[bot])
2025-01-15
- Bump com.android.tools.build:gradle from 8.7.3 to 8.8.0 (@dependabot[bot])
- Bump io.mockk:mockk from 1.13.14 to 1.13.16 (@dependabot[bot])
- Bump hilt from 2.54 to 2.55 (@dependabot[bot])
- Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to 1.8.0 (@dependabot[bot])
- refactor(Service): replace Service references with application context (#348) (@ArthurKun21)
- fix(Notification): Notification priority causes it to disappear when used often. (#349) (@ArthurKun21)
- fix(Support): NP Level Detection for wide screens (#347) (@ArthurKun21)
- feat(Support): NP Level Detection (#346) (@ArthurKun21)
- feat(AutoBattle): Stop on Bond Level up (#345) (@ArthurKun21)
- feat(AutoFriendGacha): Support for 100x FP (#342) (@ArthurKun21)
- fix(Battle Launcher): Negative Apple Count (#341) (@ArthurKun21)
- chore(gradle): Update Gradle wrapper to version 8.12 (#337) (@ArthurKun21)
- fix(Library): Unable to perform config export (#339) (@ArthurKun21)
- refactor(Notifications): Updated codebase for notification channels (#335) (@ArthurKun21)
- refactor(storage): Migrate from DocumentFile to UniFile (#336) (@ArthurKun21)
- feat(Support Image Extractor): Moved the Extraction to Work Manager (#334) (@ArthurKun21)
- Update dependabot.yml (@ArthurKun21)
- Bump org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.9.0 to 1.10.1 (@dependabot[bot])
- Bump org.junit:junit-bom from 5.11.3 to 5.11.4 (@dependabot[bot])
- Bump cz.adaptech.tesseract4android:tesseract4android from 4.7.0 to 4.8.0 (@dependabot[bot])
- Bump io.mockk:mockk from 1.13.13 to 1.13.14 (@dependabot[bot])
- Bump hilt from 2.53 to 2.54 (@dependabot[bot])
- Bump androidx.navigation:navigation-compose from 2.8.4 to 2.8.5 (@dependabot[bot])
- Bump androidx.compose:compose-bom from 2024.11.00 to 2024.12.01 (@dependabot[bot])
- Fix JP Lottery Present Box Full (#324) (@ArthurKun21)
- feat(AutoLottery): Jp lottery long press improvement (#325) (@ArthurKun21)
- Fix Toggle Service (#321) (@ArthurKun21)
- Fix Library Select (#322) (@ArthurKun21)
- Update Library Search icons (#323) (@ArthurKun21)
- Support for JP Long Press lottery (#320) (@ArthurKun21)
- Fix linter error (#316) (@ArthurKun21)
- Library Predefined Server Sort (#317) (@ArthurKun21)
- Fix Library search toggle (#318) (@ArthurKun21)
- Fix sort settings not being saved (#319) (@ArthurKun21)
- Fix race condition on creating/destroying service (#315) (@ArthurKun21)
- Refactor strings (#311) (@ArthurKun21)
- Fix Compile and min SDK (#313) (@ArthurKun21)
- Fix library config preparation (#314) (@ArthurKun21)
- Fix Empty Library Crash (#310) (@ArthurKun21)
- Update Battle launcher UI (#309) (@ArthurKun21)
- Fix battle launcher sort (#307) (@ArthurKun21)
- Fix Library Sort (#308) (@ArthurKun21)












