* Introduces Android User Initiated Data Transfer (UIDT), triggered when task priority is set to 0 (max priority) on Android 14+, provided a notification is also configured. Explanation of Android execution options:
* **WorkManager (default and preferred for most tasks)**: Used for most tasks. Subject to a 9-minute execution limit in the background. If the task is not finished within 9 minutes, it will be terminated (unless `allowPause` is true, in which case it will pause and resume).
* **Foreground Service**: Triggered via `Config.runInForeground`. Displays a persistent notification and is not subject to the 9-minute limit on many Android versions. Requires `FOREGROUND_SERVICE_DATA_SYNC` permission on Android 14+.
* **User Initiated Data Transfer (UIDT)**: Triggered by setting `priority: 0` on Android 14+. This is a specialized JobScheduler mode that does *not* have the 9-minute limit and is designed for large, user-aware data transfers. It requires a notification to be shown.
* **Note**: Using UIDT requires adding the `RUN_USER_INITIATED_JOBS` permission to your `AndroidManifest.xml`, as well as a service declaration for `.UIDTJobService`. See the README for details.
* [Android] Fixes `HoldingQueue` logic to correctly include UIDT jobs and prevent race conditions
* [Android] Properly captures WorkManager cancellations to ensure task status is updated to failed
* [Android] Improvements for Android 14+ compatibility and Android 15 timeout logging
* [Android] Updated minimum Kotlin compiler version to 2.1.0
* [iOS] Updates to openFile and privacy manifest for iOS 16/17 compatibility
* Replaces sync with async IO in `LocalStorePersistentStorage` to prevent UI stutter
* [General] Documentation refactor: broken down README into separate files in `doc/` directory