* ABI splitting is now enabled only when needed (i.e., when building an APK) through an environment variable (APK_BUILD). By default, ABI splitting remains disabled.
* Refactored the workflow to align with this change.
* Updated the README to document this change, ensuring that everyone is aware of this feature.
* The CI pipeline was failing due to the deprecated version of `upload-artifact` (v3).
* Upgrading to version 4 resolves the deprecation error and ensures compatibility with the latest features and improvements.
* Before the name was `kiwix-3.13.0.apk` for the release APK(with app id org.kiwix.kiwixmobile app id) we were uploading on the website. But now, we are uploading the standalone APK on the website(with org.kiwix.kiwixmobile.standalone app id) it is a breaking change, and users are not aware of it. So we are changing the APK name so that users can understand this change.
* Renamed the nightly APK since there also we are uploading the standalone APK.
* The date is extracted from the specified git revision and set in the `KIWIX_ANDROID_RELEASE_DATE` environment variable, and the version code is generated for that date.
* This feature has been added to the Release section in the README file.
* Now, our `dummy_bundle.yml` will generate both the app bundle and APKs, so if we need the APK for a specified date, we can easily retrieve it.
* Added comments in both workflows to understand the flow of the workflows.
* We have created a dummy_bundle.yml file that will trigger on the dummy_bundle tag and generate the app bundle, which can be uploaded to the Play Store or used in other scenarios.
* Since the emulator works well with 3GB of RAM and a 1024MB SD card on CI for running test cases for custom apps, it is better to use this configuration for the app's test cases as well.
* Upgraded the `uiautomator` version to `2.3.0`.
* Upgraded the `appcompat` version to `1.7.0`.
* Upgraded the coroutines version to `1.8.1`.
* Upgraded the `androidx.test:runner` version to `1.6.1`.
* Upgraded the `androidx.test:core` version to `1.6.1`.
* Upgraded the `androidx.test:orchestrator` version to `1.5.0`.
* Upgraded the `io.mockk:mockk` version to `1.13.12`.
* Upgraded the `org.junit.jupiter:junit-jupiter` version to `5.11.0`.
* Upgraded the `org.assertj:assertj-core` version to `3.26.3`.
* Upgraded the `androidx.annotation:annotation` version to `1.6.0`.
* Improved the SearchStateTest.
* Fixed some deprecated code which is deprecated in new dependencies.
* Updated the README file to show that now our project requires the JAVA 17 instead of JAVA 11.
* Updated the pre-commit failed message to properly show the error information.
* Created a new package name for the website and nightly APK so that the playStore does not recognize it and do not show updates for these apks.
* Refactored the release CI to upload the app with this new appId.
* Implemented a method to automatically generate a unique version code by calculating the number of days from the reference date (July 17, 2024) to the current date and adding this value to the base version code (231101) from the last release.
* Added a workflow that automatically generates the bundle and uploads it to internal testing every Monday at 12:00. This workflow will also trigger under the `internal_testing` tag.
* Since we are implementing this, it is necessary to directly release the bundle to internal testing instead of placing it in draft (to eliminate manual steps), so we have refactored our code accordingly.
* Uploading nightly APK with a released signature so that APK can update, if a user downloads the new version of nightly like our released APK.
* Modified the nightly CI for this change.
* Updated the `README.md` file for this new change.
* Removed the API level 24 from CI and added the API level 25 since now our minimum SDK version is 25.
* Renamed CompatV24 file since we have upgraded the minimum SDK version so this fileName was irrelevant.