Skip to content

Latest commit

 

History

History
1870 lines (1396 loc) · 99.3 KB

File metadata and controls

1870 lines (1396 loc) · 99.3 KB

Changelog

2489

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)

Fixes

  • 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 up to clarify that it is also includes above the selected target bond level as well.

Feat

Support New Feat

  • 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.

    image
  • 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.

2463

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)

Breaking Changes

  • 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.

    image

    It also reacts if you type in a wrong command right after you type

    image

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.

Features

  • 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.

    image
  • 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

    image image
  • 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.

    image
  • 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.

Fixes

  • EN have now updated its UI to the accomodate the Alignment and Attribute.

    • image

Misc

  • 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.

2304

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])

Fixes

  • 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.

Feat

  • 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 sell button to determine that we are on the repeat fp summon screen.

2292

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)

Fixes

  • Improved the checking of storage path.

Feat

  • Updated the Battle Launcher colors for better visibility.
  • Display the app build count in the launcher for easier tracking of versions.

Breaking Changes

  • 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

2288

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)

Feat

  • 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

Fixes

  • Fixed the repeat screen to enable to repeat quest again after the UI update.

2278

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)

Fixes

  • Update the rank up template image for JP server as it appears to have been updated.

2273

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)

Fixes

  • Added a blank English strings resource file to fix localization issues for some devices.

Feat

Lottery

  • Added Gesture choice when rolling for lottery in JP Server. You can now choose between Multi-click, Long Press or Mixed gestures 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

2267

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)

Fixes

  • 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.

2263

2025-12-04

  • revert: remove caching with Cutout preference and use direct calls again. (#917) (@ArthurKun21)

Fixes

  • Caching cutout preference caused problems for some devices, reverted back to direct calls again.

2262

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 Count preference (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)

Fixes

  • 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.

Feat

  • 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 Count preference 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

Updated CE Template Images

Important

After the installation of the APK, you have to go to Settings -> Storage -> Extract Default Support images

2253

2025-11-28

  • fix(LevelCE): adjust widescreen layout and guard against locked CEs (#887) (@ArthurKun21)

Fixes

  • 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.

2252

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)

Feat

  • 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

    image

    Launcher

    image

    EN Dialog

    image

    JP New Dialog

2249

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)

Feat

  • Added a favorite icon for configs marked as favorite

    image

    In the Library

    image

    In the Battle Launcher

Fixes

  • Stop on Bond Level Up was 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.

2245

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])

Breaking Changes

  • Removed Screen Recording feature to simplify the codebase and reduce maintenance overhead.

Feat

  • 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.

2208

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)

Feat

  • Enabled parallel reading of the command cards. If anyone wants to bring back the one at a time go to Fine-Tune -> Optimizations -> Set Parallel Command Card Check to 1

    image
  • Switched from OCR based to template image matching for reading critical stars.

  • Added new option to sort configs mark with favorite to the top

    image
  • 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 up is now enabled by default. To turned it off go to Settings -> Battle -> toggle Stop on bond level up

    image
  • Added new servant template images

  • When on Tips screen, we have added delay on there to remove wasted image matching process.

Fixes

  • 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.

2186

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])

Fixes

  • 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

2178

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

Fixes

  • 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

Features

  • 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 sorting

    Library

    Battle Launcher sorting

    Battle Launcher

  • Added Relative time to the Library

    image

    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

    image

    You can click the Return back to library if you don't want to update.

Chore

  • Updated the app's architecture to make it easier to swap when protobuf migration happens in the future.

2163

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)

Fixes

  • 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.

2152

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)

Fixes

  • Stepper not updating correctly, reverted back to old behavior

Feat

Support Servant

  • 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

Support CEs

2148

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)

Compare changes

Fixes

  • 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.

Feat

  • Updated to show all of the apple counts in battle launcher

  • Updated to add more buttons for easier updating of apple count

    image

2146

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)

Compare changes

Fixes

  • Stepper is going to take in the boundary on initialization to ensure that it wouldn't go out of bounds such as -1 in teapots/runs/ etc

  • Updated the Skill Maker to use the full width in order to display the text more clearly

    image
  • Make the saving of image patterns multi-thread friendly

Feat

  • 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

    image

    In order to change to raid Click the Settings Icon above in order to display the settings dialog

    image

Possible breaking changes

  • 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.

2138

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)

Compare changes

Fixes

Teapots

  • 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.

Mighty Chain

2133

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)

Compare changes

Fixes

  • Update the location to close the skill window during cooldown @erectorOps

Support Image Maker

  • 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.

    image

Features

Overlays

  • Overlays are now Full screen dialog

    image
  • Play Button and overlay launchers will follow the system theme

    image

Mighty Chain

  • Experimental new feature: Mighty Chain by @Vylantze

    image

2126

2025-08-20

  • chore: fix lint errors (#714) (@ArthurKun21)
  • fix(Tesseract): move TessBaseAPI inside the thread dispatcher (#715) (@ArthurKun21)

Compare changes

Fixes

  • Move the initialization of tesseract to its designated thread.

2124

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])

Compare changes

Updates

  • 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.

2120

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)

Compare changes

Fixes

  • 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.

Feature

Use OCR on Apple Count

  • 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.

    image

    This is found on settings -> Battle -> Use OCR on Apple Count.

    In case you didn't knew, Enabling Over Recharge AP would use the max apples available when refilling apples instead of normally only using 1 at a time.

    image

2116

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)

Compare changes

  • Perform some minor UI tweaks here and there
  • Updated and perform some cleanup on codebase

Fixes

Grand Servant Tag

  • Added clarification that the Grand Servant Tag currently only works on Grand Duels

    image
  • Updated the text of the last option to further clarify what it means.

    image

Level Servant Script

  • 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.

Skill Maker

  • 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.

    image
  • Added various servant icons to help you decide the button to choose. Also you can't click on that servant icons.

    image
  • 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.

2106

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)

Compare changes

Fixes:

Teapots Fix

  • It is now back to just normal turn on or off

    HD-Player_pxRSu8YtaQ

  • 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 me to 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.

Grand Servants Fix

  • We have updated the detection regions for both normal as well as support image maker.

  • Removed the warning for Above lvl 100 with the new updated detection region as it seems fairly consistent at Grand Duels

    image

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.

2100

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)

Compare changes

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.

2098

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)

Compare changes

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

2095

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)

Compare changes

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.

2092

2025-08-06

  • feat: Migrated from Timber to Square Logcat (#673) (@ArthurKun21)
  • revert: Mihon's crash handling activity with log dumping functionality (#674) (@ArthurKun21)

Compare changes

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.

2090

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)

Compare changes

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.

image

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
image image

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
image image

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

2085

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])

Compare changes

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.

image

Finally figured out what was wrong with my code and it is no longer ugly again.

image

2079

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

image

Compare changes

2075

2025-08-01

  • fix: return the image pattern used for NA's servant level (#659) (@ArthurKun21)

Compare changes

2074

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)

Compare changes

Updated the Support Text Information

Updated the UI to also display the full information including Grand Servant Configuration

Battle Configuration Screen

image

Battle Launcher

image

Auto Send Friend Request is now per battle config

It has now been migrated from per server configuration into per battle configuration

Battle Configuration Screen

image

Battle Launcher

image

2061

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)

Compare changes

Default Run configuration

image

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"

Auto Level Servant for JP

It has now been optimized to use the newly added auto fill embers

Level Servant Script

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.

Auto Level CE for JP

It has now been optimized to use the newly added auto fill CEs

Level CE Script

2055

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)

Compare changes

2053

2025-07-29

  • fix: update the CN repeat button location (#631) (@ArthurKun21)

Compare changes

2052

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.

image image

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"

image

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"

image

Compare changes

2030

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])

Compare changes

2021

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)

Compare changes

2014

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)

Compare changes

2005

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)

Compare changes

1994

2025-05-28

  • chore: Update logging for scripts module (#568) (@ArthurKun21)
  • fix: handle app freezing when stopping certain scripts (#569) (@ArthurKun21)

Compare changes

1992

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)

Compare changes

1987

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)

Compare changes

1978

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)

Compare changes

1972

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)

Compare changes

1966

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)

Compare changes

1952

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)

Compare changes

1948

2025-05-05

  • fix: manage Tesseract state on closing (#517) (@ArthurKun21)
  • fix: ensure proper copying of Tesseract data files (#519) (@ArthurKun21)

Compare changes

1946

2025-05-05

  • fix: Incorrectly closed resources, preventing the play button from reappearing (#516) (@ArthurKun21)

Compare changes

1945

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)

Compare changes

1942

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)

Compare changes

1934

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.

Compare changes

1930

2025-04-28

  • fix: False Lotto Detection(EN/JP server) (#495) (@ArthurKun21)

Compare changes

1929

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)

Compare changes

1921

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)

Compare changes

1910

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])

Compare changes

1897

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)

Compare changes

1882

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)

Compare changes

1854

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)

Compare changes

1842

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)

Compare changes

1826

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)

Compare changes

1821

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)

Compare changes

1817

2025-01-30

  • fix(MediaProjectionRecording): Update the deprecated Media Recording (#362) (@ArthurKun21)

Compare changes

1816

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)

Compare changes

1811

2025-01-29

  • fix(AutoBattle): New JP Repeat Button Location (#358) (@ArthurKun21)

Compare changes

1810

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])

Compare changes

1807

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])

Compare changes

2025-01-11

  • Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to 1.8.0 (@dependabot[bot])

Compare changes

2025-01-08

  • refactor(Service): replace Service references with application context (#348) (@ArthurKun21)
  • fix(Notification): Notification priority causes it to disappear when used often. (#349) (@ArthurKun21)

Compare changes

2025-01-08

  • fix(Support): NP Level Detection for wide screens (#347) (@ArthurKun21)

Compare changes

2025-01-07

  • feat(Support): NP Level Detection (#346) (@ArthurKun21)

Compare changes

2025-01-07

  • feat(AutoBattle): Stop on Bond Level up (#345) (@ArthurKun21)

Compare changes

2025-01-03

  • feat(AutoFriendGacha): Support for 100x FP (#342) (@ArthurKun21)

Compare changes

2024-12-31

  • fix(Battle Launcher): Negative Apple Count (#341) (@ArthurKun21)

Compare changes

2024-12-26

  • chore(gradle): Update Gradle wrapper to version 8.12 (#337) (@ArthurKun21)
  • fix(Library): Unable to perform config export (#339) (@ArthurKun21)

Compare changes

2024-12-26

  • refactor(Notifications): Updated codebase for notification channels (#335) (@ArthurKun21)
  • refactor(storage): Migrate from DocumentFile to UniFile (#336) (@ArthurKun21)

Compare changes

2024-12-25

  • feat(Support Image Extractor): Moved the Extraction to Work Manager (#334) (@ArthurKun21)

Compare changes

2024-12-23

  • 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])

Compare changes

2024-12-21

  • Fix JP Lottery Present Box Full (#324) (@ArthurKun21)
  • feat(AutoLottery): Jp lottery long press improvement (#325) (@ArthurKun21)

Compare changes

2024-12-18

  • Fix Toggle Service (#321) (@ArthurKun21)
  • Fix Library Select (#322) (@ArthurKun21)
  • Update Library Search icons (#323) (@ArthurKun21)

Compare changes

2024-12-17

  • Support for JP Long Press lottery (#320) (@ArthurKun21)

Compare changes

2024-12-14

  • 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)

Compare changes

2024-12-13

  • Fix race condition on creating/destroying service (#315) (@ArthurKun21)

Compare changes

2024-12-13

  • Refactor strings (#311) (@ArthurKun21)
  • Fix Compile and min SDK (#313) (@ArthurKun21)
  • Fix library config preparation (#314) (@ArthurKun21)

Compare changes

2024-12-09

  • Fix Empty Library Crash (#310) (@ArthurKun21)

Compare changes

2024-12-09

  • Update Battle launcher UI (#309) (@ArthurKun21)

Compare changes

2024-12-09

  • Fix battle launcher sort (#307) (@ArthurKun21)
  • Fix Library Sort (#308) (@ArthurKun21)

Compare changes