Skip to content

v1.0.2 - Dual-Format Backup Engine, Shamsi Calendar Range & Brand Launcher Icons

Choose a tag to compare

@github-actions github-actions released this 22 Aug 00:43
· 13 commits to main since this release

🚀 My Tasks v1.0.2 — Dual-Format Backup Engine, Shamsi Calendar Range, Brand Launcher Icons & Quality Fixes

Welcome to version 1.0.2 of My Tasks! This release delivers full backward-compatible backup/restore support, expands Shamsi calendar date ranges, introduces sleek brand launcher icons, and enhances overall data integrity.


✨ What's New & Improvements

💾 Dual-Format Backup & Restore Engine

  • Universal Backward Compatibility: The JSON import engine now seamlessly handles both clean standard JSON formats (categories, tasks, subtasks) as well as legacy ProGuard-obfuscated backup files (a, b, c).
  • ProGuard Serialization Rules: Added -keep rules and @Keep/@Json annotations on all Room entities and backup models to ensure future backups always export in human-readable standard JSON.
  • Expanded File Picker MIME Support: Enhanced the backup file picker to accept */* MIME types, ensuring seamless .json file selection across all Android file managers (Samsung, Xiaomi, AOSP).
  • Automatic Reminder Rescheduling: Importing a backup automatically re-registers pending AlarmManager reminders for active future tasks.

🎨 Brand New App Launcher Icon

  • Matching Brand Identity: Updated the application launcher icon across all density buckets (Adaptive Vector with parallax gradient as well as Mipmap mdpi through xxxhdpi) to match the Glassmorphism brand logo.

🗓️ Shamsi Calendar Range Fix

  • Expanded Year Range (1400–1420): Resolved a critical limitation where current years (1403/1404) were unavailable in the Shamsi date picker dialog. Users can now select any year between 1400 and 1420 with accurate leap-year handling.

⚡ Data Integrity & Ergonomics

  • Cascaded Subtask Cleanup: Deleting a category now systematically purges all associated subtasks (deleteSubtasksByCategoryId), preventing orphan records in the Room database.
  • Quick Subtask Addition via Keyboard: Enabled ImeAction.Done on the subtask input field so pressing Enter on the software keyboard immediately commits the subtask.
  • Scroll State Retention (rememberSaveable): The collapsed/expanded state of task sublists is now preserved across fast LazyColumn scrolling.

🧹 Codebase Cleanup & Performance

  • Dead Code Stripping: Removed unused Google Vertex AI libraries and legacy models, reducing APK size and streamlining the compilation pipeline.

📦 Direct Downloads

Asset Target Architecture Min Android Version Build Pipeline Status
MyTasks-v1.0.2.apk Universal (ARMv7, ARM64, x86, x86_64) Android 7.0+ (API 24+) ✅ Passed GitHub Actions CI/CD